/* ---------------------------------------------------------------------------------------------

	Theme Name: WorkDigital Foundation Child
	Version: 0.1
	Description: Child theme for WorkDigital Foundation theme
	Author: WorkDigital
	Author URI: https://workdigital.dk
    Template: wd-foundation

/* --------------------------------------------------------------------------------------------- */

/*h1, h2, h3, h4, h5, h6, p, .wp-block-buttons {
    max-width: 90vw;
    margin: 0 auto;
}*/

:root {
    --surface-color-faded: color-mix(in srgb, var(--surface-color) 75%, transparent);
    --logo-gold-gradient: linear-gradient(0deg, rgba(188,154,95,1) 0%, rgba(190,157,98,1) 11%, rgba(198,167,110,1) 21%, rgba(211,183,129,1) 30%, rgba(230,206,155,1) 40%, rgba(255,238,192,1) 50%, rgba(234,212,162,1) 55%, rgba(217,191,137,1) 61%, rgba(204,174,118,1) 67%, rgba(195,162,105,1) 74%, rgba(189,156,97,1) 83%, rgba(188,154,95,1) 100%);
    --logo-gold-gradient-90deg: linear-gradient(90deg, rgba(188,154,95,1) 0%, rgba(190,157,98,1) 11%, rgba(198,167,110,1) 21%, rgba(211,183,129,1) 30%, rgba(230,206,155,1) 40%, rgba(255,238,192,1) 50%, rgba(234,212,162,1) 55%, rgba(217,191,137,1) 61%, rgba(204,174,118,1) 67%, rgba(195,162,105,1) 74%, rgba(189,156,97,1) 83%, rgba(188,154,95,1) 100%);
}

:root:has(body.dark-mode) {
    --surface-color-faded: color-mix(in srgb, var(--surface-color) 75%, transparent);
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 3em;
}

strong {
    font-weight: 500;
}

ul, ol {
    margin-left: 2ch;
    margin-bottom: 0;
}

.has-dark-faded-background-color {
    background-color: color-mix(in srgb, var(--dark) 75%, transparent);
}

.wdf-width--wide-width {
    max-width: 90%;
}

body *:not(.post-inner) > .entry-content > *:first-child {
    margin-top: 0;
}

body .entry-content > *:last-child {
    margin-bottom: 0;
}

body.dark-mode :is(h1, h2, h3, h4, h5, h6, p, a, li).has-secondary-color-color {
    color: var(--text-color);
}

body.dark-mode a {
    color: var(--btn-color);
}

.entry-content :is(ul, p, h1, h2, h3, h4, h5, h6, blockquote, figure, .schema-faq) + :is(ul, p, h1, h2, h3, h4, h5, h6, blockquote, figure, .schema-faq) {
    margin-top: 22px;
}

.wp-block-yoast-faq-block, .schema-faq {
    max-width: unset !important;
}

.color-accent, .color-accent-hover:hover, .color-accent-hover:focus, :root .has-accent-color, .has-drop-cap:not(:focus)::first-letter, .wp-block-button.is-style-outline, a {
    color: var(--btn-color);
}

@media (max-width: 781px) {
    .wp-block-cover .wp-block-column:empty {
        display: none;
    }
}




/* KNAPPER */

p + .wp-block-buttons {
    margin-top: 20px;
}

.wp-block-button .wp-block-button__link, .btn, .wpcf7 input.wpcf7-submit {
	border-radius: 2px;
	font-weight: normal;
}

:is(.wp-block-button .wp-block-button__link, .btn, .wpcf7 input.wpcf7-submit):hover {
    background-color: var(--btn-color-hover);
}

:is(.wp-block-button .wp-block-button__link, .btn, .wpcf7 input.wpcf7-submit) .wd-icon svg {
    width: 20px;
    height: 20px;
}






/* HEADER / MENU */

body.small-header {
    --header-height: 75px;
}

header.wd-header * {
    transition: all .2s ease-in-out;
}

.main-header-inner, .header-topper-inner {
    width: var(--wide-width);
    margin: 0 auto;
	max-width: 90%;
}

.header-topper ul {
    gap: 20px;
	list-style-type: none;
}

.header-topper ul li {
    margin: 0;
}

.header-topper ul li a {
    text-decoration: none;
    display: flex;
    gap: 5px;
    align-items: center;
	color: inherit;
}

.header-topper ul li a:hover {
    text-decoration: underline;
}

.header-topper ul li strong a {
    font-weight: 500;
}

.header-topper li.wp-block-navigation-item {
    margin: 0;
}

.header-topper li * {
    font-size: 15px;
}

.header-topper li .wd-icon {
    top: 0;
}

.header-topper li svg {
    height: 17px;
    width: auto;
}

.main-header-inner {
    padding: 0;
}

.main-header-inner > * {
    /*display: flex;
    justify-content: space-between;
    padding: 0;
    height: var(--header-height);
    width: var(--wide-width);
    max-width: 95vw;
	margin: 0 auto;*/
}

.main-header-logo-link img {
    max-height: var(--header-height);
    padding: 8px 0;
}

.main-header-menu {
	margin: 0;
}

.main-header li {
    margin: 0;
}

.main-header-menu ul {
    gap: 30px;
}

.main-header-menu .menu-item.btn {
    height: fit-content;
    align-self: center;
    justify-content: center;
    width: 200px;
    margin-left: 18px;
}

body.sometimes-burger .main-header-menu .menu-item.btn > a {
    padding: 10px 20px !important;
    height: fit-content;
    width: inherit;
    display: block;
}



body.sometimes-burger .main-header-menu > .menu-item.btn > a:before {
    display: none;
}

@media screen and (min-width: 600px) {
    .main-header-inner {
        padding: 0;
    }

	.header-topper-items {
        justify-content: flex-end;
    }
}

@media screen and (min-width: 1190px) and (hover: hover) {
    .header-topper-items {
        padding-right: 0;
    }

	.main-header .header-topper {
		display: none;
	}

	body.sometimes-burger .main-header-inner {
		padding: 0;
		max-height: unset;
	}

	body.sometimes-burger .main-header:not(.main-header--hide-icons-on-desktop) .sub-menu li > a {
        padding-left: 0;
    }

    .main-header-menu .menu-item.btn {
        height: fit-content;
        align-self: center;
        margin-left: 0;
        width: auto;
    }

    body.sometimes-burger .main-header-menu .menu-item.btn > a {
        padding: 10px 20px !important;
        height: fit-content;
    }

    body.sometimes-burger .main-header-menu > .menu-item > a:before {
        width: 80px;
        max-width: 100%;
        height: 3px;
        background-color: transparent;
        background: var(--logo-gold-gradient-90deg);
    }
}

/* Styling til header og tilhørende elementer */

.header-topper-inner, .main-header-inner {
    max-width: 90%;
    margin: 0 auto;
}

.main-header li > a {
	color: var(--text-color);
}

.main-header-menu li > a {
	gap: 8px;
}

.main-header-menu:not(:has(a:focus, a:active)) .menu-item.current_page_item > a {
    background-color: color-mix(in srgb, var(--header-bg-color), var(--dark) 3%);
}

header > .header-topper .header-topper-items:not(.mobile-header-topper-items) {
	display: none;
}

.main-header-menu li.menu-item.current-menu-ancestor > a::after {
	border-top: 6px solid var(--accent-color);
}

.main-header-menu > li.current-menu-item:not(.btn) > a {
    color: var(--text-color);
    font-weight: 500;
}

.main-header-menu ul.sub-menu li.current-menu-item > a {
	color: var(--accent-color);
}




body:has(div#materialer:target) .main-header-menu ul.sub-menu li.current-menu-item > a[href*="#materialer"], 
body:has(div#farver:target) .main-header-menu ul.sub-menu li.current-menu-item > a[href*="#farver"], 
body:has(div#integrerede-loesninger:target) .main-header-menu ul.sub-menu li.current-menu-item > a[href*="#integrerede-loesninger"] {
	color: var(--accent-color);
}


.main-header-menu ul.sub-menu li.current-menu-item > ul li :is(a[href*="#materialer"], a[href*="#farver"], a[href*="#integrerede-loesninger"]) {
    color: var(--text-color);
}

body:has(div#materialer:target) .main-header-menu ul.sub-menu li.current-menu-item > :not(a[href*="#materialer"]), 
body:has(div#farver:target) .main-header-menu ul.sub-menu li.current-menu-item > :not(a[href*="#farver"]), 
body:has(div#integrerede-loesninger:target) .main-header-menu ul.sub-menu li.current-menu-item > :not(a[href*="#integrerede-loesninger"]) {
    color: var(--text-color);
}





.current-menu-item > a {
	color: var(--accent-color);
}

.main-header--menu-open .main-header-nav {
	padding-bottom: 100px;
    z-index: 10;
}

.nav-drawer-header {
    padding: 20px 20px 40px;
}

.main-header-nav .header-topper {
    background-color: transparent;
    margin-top: 20px;
    color: var(--text-color);
}

.main-header-nav ul.header-topper-items {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.main-header-nav ul.header-topper-items.header-topper-items-some {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
	margin: 35px 0 40px;
}

.main-header-nav ul.header-topper-items.header-topper-items-some li svg {
    height: 30px;
}

.main-header-nav ul.header-topper-items.mobile-header-topper-items li a {
    background-color: var(--btn-color);
    padding: 10px 30px;
    font-size: var(--body-font-size);
	min-width: 200px;
    justify-content: center;
    color: var(--btn-text-color);
}

.main-header-nav ul.header-topper-items.mobile-header-topper-items {
    gap: 10px;
}

.main-header-nav ul.header-topper-items.mobile-header-topper-items li a:hover {
    background-color: var(--btn-color-hover);
    text-decoration: none;
}

@media screen and (max-width: 999px) {
    .header-topper {
        height: auto;
    }

	.header-topper-inner {
        padding: 0;
    }
}

@media screen and (min-width: 1190px) and (hover: hover) {

	.main-header-inner {
		--dropdown-menu-distance: 0;
	}

	.main-header-menu ul.sub-menu {
		border-radius: 0;
	}

	.main-header-menu ul.sub-menu li:first-child a,
	.main-header-menu ul.sub-menu li:last-child a {
		border-radius: 0;
	}

	.secondary-menu-items {
		display: none;
	}

	header > .header-topper .header-topper-items:not(.mobile-header-topper-items) {
		display: flex;
	}

	.header-topper-inner .wp-block-group__inner-container {
		display: flex;
		flex-direction: row;
		gap: 20px;
		justify-content: flex-end;
	}
}

/* MEGAMENU */

@media screen and (hover: none) {
	.megamenu-wrapper{
		display: none!important;
	}
}
@media screen and (max-width: 1190px) {
	.megamenu-wrapper{
		display: none!important;
	}
}

@media screen and (min-width: 1190px) and (hover: hover) {
	.megamenu-wrapper{
		position: absolute;
        top: var(--header-height);
        right: 0;
		background: var(--background-color);
		width: auto;
		box-shadow: var(--shadowlevel-1);
		padding: var(--gap);
		display: none;
	}

	.megamenu {
		display: grid;
		grid-template-columns: repeat(var(--num-columns), auto);
        gap: 42px;
	}

	.megamenu.megamenu--no-empty-headlines > li:not(.menu-item-has-children),
	.megamenu .expand-sub-menu {
		display: none;
	}

	.megamenu ul{
		list-style: none;
	}

	.megamenu .menu-item-has-children > .sub-menu {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 10px;
	}

	.megamenu ul, .megamenu li, .megamenu a,
	.main-header:not(.main-header--hide-icons-on-desktop) .megamenu li > a:not(:has(.wd-icon)) {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.main-header .megamenu li > a {
		text-decoration: none;
	}

	.main-header .megamenu li > a:hover {
		text-decoration: underline;
	}

	.megamenu .menu-item.current-menu-item > a {
		text-decoration: underline;
	}

	.main-header.main-header--with-megamenu .main-header-menu .sub-menu{
		display: none!important;
	}

	.main-header.main-header--with-megamenu:has(.main-header-menu .menu-item-has-children:hover) .megamenu-wrapper,
	.main-header.main-header--with-megamenu .megamenu-wrapper:hover{
		display: block;
	}
	
	nav.main-header-nav:has(.megamenu-wrapper) {
		position: static;
	}

	.main-header-inner:has(.megamenu-wrapper) {
		position: relative;
	}

	.megamenu .current_page_ancestor > a {
		color: var(--accent-color);
	}

	.megamenu .menu-item-has-children > a {
		font-weight: 500;
	}

	.megamenu .menu-item-has-children:hover {
		outline: 1px solid var(--accent-color-faded);
		outline-offset: 20px;
	}

	body.sometimes-burger .main-header:not(.main-header--hide-icons-on-desktop) .sub-menu .menu-item > a {
		padding: 0;
	}

}





/* FOLDUDMENU / POPOUT */

.foldudmenu-wrapper {
    display: block;
    position: fixed;
    right: -301px;
    top: calc(var(--header-height) + 80px);
    /*transform: translateY(-50%);*/
    z-index: 9;
    width: 300px;
    color: var(--text-color);
    transition: all 400ms ease-in-out;
	background: var(--surface-color);
    box-shadow: var(--shadowlevel-1);
    max-width: 80vw;
}

.foldudmenu-wrapper.foldudmenu-wrapper--open {
    transform: translateX(-301px);
    max-height: 65vh;
    margin-bottom: 40px;
}

.foldudmenu-wrapper.foldudmenu-wrapper--open {
    transform: translateX(-301px);
    max-height: 65vh;
    margin-bottom: 40px;
}

.foldudmenu {
    overflow-y: scroll;
    max-height: 65vh;
}

.foldudmenu * {
    transition: var(--standard-transition);
}

.foldudmenu::-webkit-scrollbar {
    width: 10px;
    scrollbar-width: thin;
    scrollbar-color: var(--text-color-faded);
}

.foldudmenu::-webkit-scrollbar-track {
    background: var(--surface-color);
}

.foldudmenu::-webkit-scrollbar-thumb {
    background-color: var(--text-color-faded);
    border-radius: 35px;
    border: none;
}

.foldudmenu-knap {
    background: transparent;
    position: absolute;
    left: -130px;
    cursor: pointer;
}

.foldudmenu-wrapper--open .foldudmenu-knap {
    width: 44px;
    height: 44px;
    left: -43px;
}

.foldudmenu-wrapper .foldudmenu-knap p {
    transition: var(--standard-transition);
    padding: 15px 10px 15px 15px;
    background: var(--logo-gold-gradient);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
    max-width: 130px;
    font-size: 15px;
    line-height: 19px;
    font-weight: 500;
    text-align: right;
    border-radius: 80px 0 0 10px;
    text-transform: uppercase;
    color: var(--dark);
}

.foldudmenu-wrapper.foldudmenu-wrapper--open .foldudmenu-knap p {
    opacity: 0;
    pointer-events: none;
}

.foldudmenu-knap .wd-icon {
    opacity: 0;
}

.foldudmenu-wrapper--open .foldudmenu-knap .wd-icon {
    justify-content: center;
    background: var(--surface-color);
    opacity: 1;
    width: 100%;
    height: 100%;
    border-radius: 40px 0 0 40px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-right: 0;
    border-top: 0;
}

.foldudmenu-knap svg {
    /*width: 63px;*/
    /*height: auto;*/
}

.foldudmenu-wrapper .wp-block-button .wp-block-button__link {
    font-size: 16px;
}

.foldudmenu .wp-block-group > .wp-block-group__inner-container {
    padding: 0 20px 20px;
}

.foldudmenu .wp-block-group.non-fold > .wp-block-group__inner-container {
    padding: 20px;
}

.foldudmenu .wp-block-group.no-padding-group > .wp-block-group__inner-container {
    padding-top: 0;
}

.foldudmenu-wrapper .wd-icon.big {
    margin-bottom: 30px;
}

.foldudmenu-wrapper .wd-icon.big svg {
    height: 45px;
    width: auto;
}

.foldudmenu-wrapper h2.wp-block-heading {
    font-size: var(--small-headline-font-size);
    line-height: var(--small-headline-line-height);
}

.foldudmenu-wrapper h3.wp-block-heading {
    padding: 15px;
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 0;
    cursor: pointer;
    border-top: 1px solid var(--text-color-hover);
    display: flex;
    align-items: baseline;
}

.foldudmenu-wrapper h3.wp-block-heading:hover {
    background-color: var(--surface-color-hover);
}

.foldudmenu-wrapper h3.wp-block-heading mark {
    border: 1px solid;
    border-radius: 100px;
    margin-right: 7px;
    width: 27px;
    height: 27px;
    display: flex;
    flex-shrink: 0;
    justify-items: center;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: normal;
    background-color: transparent !important;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
}

.foldudmenu-wrapper p {
    font-size: 16px;
    line-height: 20px;
}

.foldudmenu-wrapper hr { 
    border-top: 2px dotted;
    margin: 18px auto;
}

.foldudmenu-wrapper a {
    text-decoration: none;
    font-weight: 500;
}

.foldudmenu-wrapper a:not(.wp-block-button a):hover {
    text-decoration: underline;
}

.foldudmenu > .wp-block-group .wp-block-group__inner-container h3 {
    background-color: transparent;
}

.foldudmenu > .wp-block-group:not(.non-fold) {
    display: none;
}

.foldudmenu > .wp-block-group.wp-block-group--active{
    display: block;
}

.foldudmenu-wrapper .wp-block-buttons {
    margin: 20px;
}

.foldudmenu-wrapper .wp-block-button {
    width: 100%;
}

body:has(div#materialer:target) .megamenu .menu-item.current-menu-item > a[href*="#materialer"], 
body:has(div#farver:target) .megamenu .menu-item.current-menu-item > a[href*="#farver"], 
body:has(div#integrerede-loesninger:target) .megamenu .menu-item.current-menu-item > a[href*="#integrerede-loesninger"] {
    text-decoration: underline;
}

.megamenu .menu-item.current-menu-item.menu-item-has-children > ul li :is(a[href*="#materialer"], a[href*="#farver"], a[href*="#integrerede-loesninger"]) {
    text-decoration: none;
}

body:has(div#materialer:target) .megamenu .menu-item.current-menu-item > :not(a[href*="#materialer"]), 
body:has(div#farver:target) .megamenu .menu-item.current-menu-item > :not(a[href*="#farver"]), 
body:has(div#integrerede-loesninger:target) .megamenu .menu-item.current-menu-item > :not(a[href*="#integrerede-loesninger"]) {
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    .foldudmenu-knap {
        left: -149px;
        top: 80px;
    }

    .foldudmenu-wrapper--open .foldudmenu-knap {
        top: 0;
    }

    .foldudmenu-wrapper .foldudmenu-knap p {
        padding: 10px 15px;
        max-width: unset;
        font-size: 14px;
        line-height: 14px;
        border-radius: 0 0 15px 15px;
        rotate: 90deg;
    }

    .foldudmenu-wrapper h3.wp-block-heading {
        padding: 15px 20px;
        font-size: 18px;
        line-height: 20px;
    }
}




/* HERO SEKTION / TOP SEKTION */

.wp-block-cover.hero-section {
	padding: 0;
    align-items: flex-end;
}

.hero-section .hero-section-content > * {
    margin: 0 auto;
    width: 100%;
}

.hero-section-inner {
    justify-content: space-between;
}

.hero-section p.wdf-jura-font-family {
    font-size: 20px;
}

.hero-section .hero-section-content .hero-section-inner .wp-block-heading {
    margin-bottom: 0;
    max-width: 100%;
}

.hero-section h1.wp-block-heading.wdf-big-headline {
    font-size: var(--big-headline-font-size);
}

.hero-section .wp-block-buttons {
    flex-direction: column;
    width: fit-content;
}

.hero-section .wp-block-buttons>.wp-block-button {
    width: 100%;
}

@media screen and (min-width: 700px) {
	.hero-section-inner {
        max-width: 90%;
    }

	.hero-section p.wdf-jura-font-family {
		font-size: 24px;
	}

    .hero-section .wp-block-column:has(.wp-block-buttons) {
        display: flex;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 900px) {
	.hero-section-inner > * {
		max-width: 820px;
	}
}





/* CARDS */

.wd-cards-wrapper {
	--wd-card-border-radius: 0;
	--wd-card-shadowlevel: none;
	--wd-cards-aspect-ratio: 4 / 5;
}

.wd-cards {
	gap: var(--gap) 5%;
    max-width: 95vw;
    margin: 0 auto;
}

.wd-card {
	max-width: 400px;
}

.wd-card-content-wrapper {
    padding: 25px;
}

.wd-cards.card-text-on-img .wd-card {
    max-height: 450px;
    width: auto;
    aspect-ratio: var(--wd-cards-aspect-ratio);
}

.wd-cards.card-text-on-img .wd-card-content-wrapper .wd-card-title {
    order: 2;
	font-size: var(--medium-headline-font-size);
	word-break: break-word;
	color: var(--wd-card-text-color);
}

.wd-card .wd-card-content-wrapper .wd-card-content {
    margin-top: 0;
}

.inline-content-wrapper .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--small-gap);
	flex-wrap: wrap;
}

.inline-content-wrapper .wp-block-group__inner-container .wp-block-buttons {
    margin-top: 0;
}






/* USP */

.wd-usp-container {
    --usp-gap: 30px;
    gap: var(--usp-gap);
}

.wd-usp {
	position: relative;
	align-self: center;
}

/*.wd-usp:not(:first-child):before {
    content: '●';
    display: flex;
    position: absolute;
    left: calc(var(--usp-gap) / -2 - 5px);
    right: auto;
    top: auto;
    bottom: auto;
	height: 100%;
    align-items: center;
}*/


.wd-usp__title {
    font-size: var(--small-headline-font-size);
	font-weight: bold;
}






/* MEDARBEJDER */

.wd-cards.wd-cards--employees .wd-card .wd-card-image-wrapper .wd-card-image {
    filter: grayscale(1);
}

p.wd-card-job-title, p.wd-card-description {
    margin-top: 0 !important;
}

.wd-cards--employees .wd-card-content-wrapper .wd-card-title {
    font-weight: 500;
    line-height: 1.3;
}

p.wd-card-job-title {
    --light-faded: color-mix(in srgb, rgb(254, 254, 254) 50%, transparent);
    font-family: var(--jura-font-family-font-family);
    color: var(--light-faded);
}

.wd-cards--employees .wd-card-phone, .wd-cards--employees .wd-card-email {
    font-size: 14px;
}

:is(.wd-cards--employees .wd-card-phone, .wd-cards--employees .wd-card-email) .wd-icon svg {
    width: 20px;
}

.wd-cards--employees .wd-card-email.wd-card-email--evergreen:after {
    content: '@';
    font-size: 30px;
    /* font-family: var(--jura-font-family-font-family); */
    line-height: 19px;
    margin-left: -4px;
}

@media screen and (min-width: 1200px) {
    .wd-cards--employees .wd-card-email.wd-card-email--short {
        display: none;
    }
}

@media screen and (min-width: 1000px) and (max-width: 1199px) {
    .wd-cards--employees .wd-card-email.wd-card-email--short {
        display: flex;
    }

    .wd-card-email:not(.wd-card-email--short.wd-card-email--evergreen) {
        display: none;
    }
}

@media screen and (max-width: 999px) {
    .wd-cards--employees .wd-card-email.wd-card-email--short {
        display: none;
    }
}




/* KONTAKTFORMULAR */

.wp-block-contact-form-7-contact-form-selector {
    margin-top: 25px;
}

.wpcf7-form {
    border-radius: 0;
    box-shadow: none;
    overflow: unset;
    container-type: inline-size;
    container-name: kontaktformular;
}

.kontaktform-form-row {
    padding: 0;
    background-color: transparent;
}

.kontaktform-form-row p {
    margin-top: 0 !important;
}

.wpcf7 label input, .wpcf7 label textarea {
	border-radius: 0;
    border-color: var(--accent-color);
}

.wpcf7 label input:focus, .wpcf7 label textarea:focus {
    outline-color: var(--accent-color);   
}

.kontaktform-form-row p:has(input.wpcf7-file) {
    margin-bottom: -15px;
}

.wpcf7 label:has(input.wpcf7-file) .label-text {
    transform: translateY(0);
    background-color: var(--background-color);
    left: 0;
    padding: 0;
    border-bottom: none;
    cursor: pointer;
    position: relative;
}

.kontaktform-form-row p > label:has(input.wpcf7-file) {
    padding: 0;
    border-bottom: 1px solid var(--accent-color);
}

.wpcf7 label input.wpcf7-file {
    opacity: 0;
    padding: 0;
    background: none;
    border: none;
    position: relative;
    bottom: 20px;
}

.wpcf7 label:has(input.wpcf7-file) .label-text:before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 20px;
    background-color: var(--text-color);
    position: relative;
    top: 3px;
    margin-right: 10px;
    clip-path: polygon(100% 68.75%, 100% 68.75%, 99.86% 71.311%, 99.438% 73.795%, 98.737% 76.201%, 97.754% 78.53%, 96.49% 80.781%, 94.946% 82.955%, 93.121% 85.051%, 91.015% 87.07%, 88.629% 89.011%, 85.962% 90.875%, 85.962% 90.875%, 83.094% 92.609%, 80.108% 94.16%, 77.002% 95.529%, 73.777% 96.715%, 70.433% 97.719%, 66.969% 98.54%, 63.387% 99.179%, 59.685% 99.635%, 55.863% 99.909%, 51.923% 100%, 51.923% 100%, 47.983% 99.909%, 44.162% 99.635%, 40.46% 99.179%, 36.877% 98.54%, 33.413% 97.719%, 30.069% 96.715%, 26.844% 95.529%, 23.738% 94.16%, 20.752% 92.609%, 17.885% 90.875%, 17.885% 90.875%, 15.217% 89.011%, 12.831% 87.07%, 10.725% 85.051%, 8.9% 82.955%, 7.356% 80.781%, 6.092% 78.53%, 5.11% 76.201%, 4.408% 73.795%, 3.987% 71.311%, 3.846% 68.75%, 3.846% 22.5%, 3.846% 22.5%, 3.947% 20.653%, 4.25% 18.863%, 4.755% 17.128%, 5.462% 15.45%, 6.37% 13.828%, 7.481% 12.263%, 8.793% 10.753%, 10.308% 9.3%, 12.024% 7.903%, 13.942% 6.563%, 13.942% 6.563%, 16.005% 5.316%, 18.154% 4.2%, 20.389% 3.216%, 22.712% 2.363%, 25.12% 1.641%, 27.615% 1.05%, 30.197% 0.591%, 32.865% 0.263%, 35.62% 0.066%, 38.462% 0%, 38.462% 0%, 41.303% 0.066%, 44.058% 0.263%, 46.726% 0.591%, 49.308% 1.05%, 51.803% 1.641%, 54.212% 2.363%, 56.534% 3.216%, 58.769% 4.2%, 60.918% 5.316%, 62.981% 6.563%, 62.981% 6.563%, 64.899% 7.903%, 66.615% 9.3%, 68.13% 10.753%, 69.442% 12.263%, 70.553% 13.828%, 71.462% 15.45%, 72.168% 17.128%, 72.673% 18.863%, 72.976% 20.653%, 73.077% 22.5%, 73.077% 66.25%, 73.077% 66.25%, 73.015% 67.383%, 72.831% 68.48%, 72.523% 69.543%, 72.092% 70.57%, 71.538% 71.563%, 70.862% 72.52%, 70.062% 73.443%, 69.138% 74.33%, 68.092% 75.183%, 66.923% 76%, 66.923% 76%, 65.665% 76.76%, 64.354% 77.44%, 62.988% 78.04%, 61.569% 78.56%, 60.096% 79%, 58.569% 79.36%, 56.988% 79.64%, 55.354% 79.84%, 53.665% 79.96%, 51.923% 80%, 51.923% 80%, 50.181% 79.96%, 48.492% 79.84%, 46.858% 79.64%, 45.277% 79.36%, 43.75% 79%, 42.277% 78.56%, 40.858% 78.04%, 39.492% 77.44%, 38.181% 76.76%, 36.923% 76%, 36.923% 76%, 35.754% 75.183%, 34.708% 74.33%, 33.785% 73.443%, 32.985% 72.52%, 32.308% 71.563%, 31.754% 70.57%, 31.323% 69.543%, 31.015% 68.48%, 30.831% 67.383%, 30.769% 66.25%, 30.769% 20%, 46.154% 20%, 46.154% 66.25%, 46.154% 66.25%, 46.17% 66.569%, 46.219% 66.878%, 46.301% 67.174%, 46.415% 67.46%, 46.562% 67.734%, 46.742% 67.997%, 46.955% 68.249%, 47.2% 68.49%, 47.478% 68.719%, 47.788% 68.938%, 47.788% 68.938%, 48.124% 69.139%, 48.477% 69.32%, 48.847% 69.479%, 49.235% 69.618%, 49.639% 69.734%, 50.062% 69.83%, 50.501% 69.904%, 50.958% 69.958%, 51.432% 69.989%, 51.923% 70%, 51.923% 70%, 52.414% 69.989%, 52.888% 69.958%, 53.345% 69.904%, 53.785% 69.83%, 54.207% 69.734%, 54.612% 69.618%, 54.999% 69.479%, 55.369% 69.32%, 55.722% 69.139%, 56.058% 68.938%, 56.058% 68.938%, 56.368% 68.719%, 56.646% 68.49%, 56.891% 68.249%, 57.104% 67.997%, 57.284% 67.734%, 57.431% 67.46%, 57.545% 67.174%, 57.627% 66.878%, 57.676% 66.569%, 57.692% 66.25%, 57.692% 22.5%, 57.692% 22.5%, 57.601% 21.466%, 57.404% 20.465%, 57.101% 19.496%, 56.692% 18.56%, 56.178% 17.656%, 55.558% 16.785%, 54.832% 15.946%, 54% 15.14%, 53.062% 14.366%, 52.019% 13.625%, 52.019% 13.625%, 50.897% 12.936%, 49.723% 12.32%, 48.497% 11.776%, 47.219% 11.305%, 45.889% 10.906%, 44.508% 10.58%, 43.074% 10.326%, 41.588% 10.145%, 40.051% 10.036%, 38.462% 10%, 38.462% 10%, 36.871% 10.036%, 35.331% 10.145%, 33.84% 10.326%, 32.4% 10.58%, 31.01% 10.906%, 29.669% 11.305%, 28.379% 11.776%, 27.138% 12.32%, 25.948% 12.936%, 24.808% 13.625%, 24.808% 13.625%, 23.748% 14.366%, 22.8% 15.14%, 21.963% 15.946%, 21.238% 16.785%, 20.625% 17.656%, 20.123% 18.56%, 19.733% 19.496%, 19.454% 20.465%, 19.287% 21.466%, 19.231% 22.5%, 19.231% 68.75%, 19.231% 68.75%, 19.29% 70.498%, 19.546% 72.192%, 19.998% 73.833%, 20.646% 75.42%, 21.49% 76.953%, 22.531% 78.432%, 23.767% 79.858%, 25.2% 81.23%, 26.829% 82.548%, 28.654% 83.813%, 28.654% 83.813%, 30.617% 84.988%, 32.662% 86.04%, 34.787% 86.968%, 36.992% 87.773%, 39.279% 88.453%, 41.646% 89.01%, 44.094% 89.443%, 46.623% 89.753%, 49.233% 89.938%, 51.923% 90%, 51.923% 90%, 54.575% 89.938%, 57.146% 89.753%, 59.637% 89.443%, 62.046% 89.01%, 64.375% 88.453%, 66.623% 87.773%, 68.79% 86.968%, 70.877% 86.04%, 72.883% 84.988%, 74.808% 83.813%, 74.808% 83.813%, 76.602% 82.548%, 78.216% 81.23%, 79.648% 79.858%, 80.9% 78.432%, 81.971% 76.953%, 82.862% 75.42%, 83.571% 73.833%, 84.1% 72.192%, 84.448% 70.498%, 84.615% 68.75%, 84.615% 20%, 100% 20%, 100% 68.75%);
}

.wpcf7 .label-text .file-types {
    font-size: calc(var(--standard-text-font-size) - 4px);
    color: color-mix(in srgb, var(--text-color) 50%, transparent);
}

.has-surface-color-background-color :is(.wpcf7 label:has(input.wpcf7-file) .label-text, .wpcf7 label input, .wpcf7 label textarea) {
    background-color: var(--surface-color);
}

.has-surface-color-background-color :is(.wpcf7 label:has(input:not(:placeholder-shown)) .label-text, .wpcf7 label:has(textarea:not(:placeholder-shown)) .label-text, .wpcf7 label:focus-within .label-text) {
    background: linear-gradient(0deg, var(--surface-color) 13px, transparent);
}

@container kontaktformular (max-width: 700px) {
    .kontaktform-rows {
        grid-template-columns: 1fr;
    }
}








/* FOOTER */

.footer-columns {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--footer-gap);
}

footer.site-footer .footer-inner {
    width: var(--wide-width);
    padding: 140px 0;
}

.footer-column {
    padding-left: 40px;
    border-left: 1px solid var(--light);
	width: calc((100% -(3* var(--footer-gap))) / 4);
	min-width: 300px;
}

.footer-headline-wrapper {
    height: auto;
}

img.footer-logo {
    width: 250px;
}

ul li.footer-item a {
    color: inherit;
}

@media screen and (max-width: 600px) {
	.footer-column {
		min-width: unset;
		width: 100%;
	}
}