/**
 * Theme Name: Custom Theme
 * Template:   twentytwentyfive
 * ...other header fields
 */

:where(.wp-site-blocks) > footer {
	margin-block-start: 0;
}

strong {
	font-weight: 500;
}

.overflow-hidden {
    overflow: hidden;
}

/* Remove Scrolling Main Menu */

header {
    overflow-x: clip;
}

/* Custom Mega Menu */

@media screen and (min-width: 992px){
	.wp-block-navigation .wp-block-navigation-item.has-mega-menu {
        position:static;
	}

    .wp-block-navigation li.has-mega-menu > .wp-block-navigation__submenu-container {
        width: 100%;
        position: absolute;
        left: 0px !important;
        right: 0px !important;
        padding: 40px 4% 120px;
    }

    .wp-block-navigation li.has-mega-menu > .wp-block-navigation__submenu-container {
    /*flexbox fallback for browsers that do not support CSS GRID layout*/
        display: flex;
        flex-wrap: wrap;
    /*CSS GRID layout*/ 
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(33.3333%, 1fr)); 
    }
}

@media screen and (min-width: 992px){
    .wp-block-navigation li.has-mega-menu > .wp-block-navigation__submenu-container { 
        grid-template-columns: repeat(auto-fit,minmax(33.3333%, 1fr)); 
    }
}

@media screen and (min-width: 992px){
    li.mega-menu-column {
        width: 100%;
        max-width: 100%;
        min-height: 1px;
        padding: 10px 25px;
        flex: 1 0 calc(50%);
        display: inline-block;
    }
    .wp-block-navigation__responsive-dialog {
        position: static;
    }

    .wp-block-navigation__responsive-container-content {
        position: static;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        position: static;
     }

    nav .wp-block-navigation, nav.wp-block-navigation {
        position: static;
    }

    .wp-block-group.mega-menu-container {
        position: relative;
    }

    ul.wp-block-navigation__submenu-container.has-mega-menu.wp-block-navigation-submenu::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: inherit;
        left: -100%;
        border-bottom: 1px solid rgba(0,0,0,.15);
    }

    ul.wp-block-navigation__submenu-container.has-mega-menu.wp-block-navigation-submenu::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: inherit;
        right: -100%;
        border-bottom: 1px solid rgba(0,0,0,.15);
    }

    .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
        border: none;
        border-bottom: 1px solid rgba(0,0,0,.15);
    }
}

@media screen and (min-width: 992px){
    .wp-block-navigation li.mega-menu-column {
        flex: 1 0 calc(25%);
    }
}

    /* Mega Menu Sub Menus Visibility / Position */
@media screen and (min-width: 992px){
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container.mega-menu-column {
        position: static;
        left: unset;
        top: unset;
		background-color: transparent;
    }

    .wp-block-navigation .mega-menu-column {
		background-color: transparent;
    }	

    .wp-block-navigation .wp-block-navigation-item.mega-menu-column {
        flex-direction: column;
    }

    .wp-block-navigation:not(.has-background) .mega-menu-column .wp-block-navigation__submenu-container {
        border: none;
        background-color: transparent;
    }

    .wp-block-navigation .has-child:not(.open-on-click) > .wp-block-navigation__submenu-container.mega-menu-column {
        height: auto;
        min-width: 200px;
        opacity: 1;
        visibility: visible;
        width: auto;
    }

     .wp-block-navigation .mega-menu-column .wp-block-navigation__submenu-icon {
        display: none;
    }

    .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item.mega-menu-column > .wp-block-navigation-item__content {
        flex-grow: 0;
    }

    :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.mega-menu-column a:not(.wp-element-button)),
    :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu.mega-menu-column a:not(.wp-element-button)), 
    :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu.mega-menu-column button.wp-block-navigation-item__content),
    :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
        min-width: 200px;
    }

	/* Mega Menu Font / Styles */

    .has-mega-menu li.mega-menu-column > a {
        font-size: var(--wp--preset--font-size--medium);
        font-weight: 400;
        padding: 20px 20px 5px;
    }

    .has-mega-menu li.mega-menu-column li a {
        font-size: var(--wp--preset--font-size--small);
        font-weight: 300;
    }
}

/*Image positioning */

@media screen and (min-width: 992px){
	    .wp-block-navigation .wp-block-navigation__submenu-container.has-mega-menu li.mega-menu-column a.wp-block-navigation-item__content {
        display: block;
        }
	
    .has-mega-menu li.mega-menu-column a img {
        display: block;
        height: 200px;
        object-fit: cover;
        margin-right: 15px;
        /*vertical-align: middle;*/
		border-radius: 5px;
		margin-bottom: 10px;
        }

    .wp-block-navigation .wp-block-navigation-item {
        position: static;
        align-items: normal;
    }
    
    .wp-block-navigation .wp-block-navigation-item {
		position: static;
	}
	
	.wp-block-navigation li.mega-menu-column .wp-block-navigation-item .wp-block-navigation-item__content{
		padding: 5px 20px;
	}

}

/* Mobile Menu Styling */

nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 20px;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    height: 30px;
    width: 30px;
}

@media (max-width: 1099px) {

    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
        padding: 0;
    }

    header nav > .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container .wp-block-navigation-item a.wp-block-navigation-item__content {
        padding: 8px 0;
        font-size: var(--wp--preset--font-size--small);
    }
    
    header nav > .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content {
        font-weight: 500;
        font-size: var(--wp--preset--font-size--large);
        font-family: var(--wp--preset--font-family--source-serif-pro);
    }

    header nav > .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container .wp-block-navigation-item.simple-text > a.wp-block-navigation-item__content {
        font-weight: 500;
        font-size: var(--wp--preset--font-size--small);
    }

    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        gap: 0;
    }

    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
        height: 1.8em;
        width: 1.5em;
    }
}

/* Mobile Submenu Collapse */

/* Hide submenus by default */
@media (max-width: 1099px) {
    header ul.wp-block-navigation > .has-child .has-child > .wp-block-navigation__submenu-container {
        display: none;
    }

    header ul.wp-block-navigation .has-child.active > .wp-block-navigation__submenu-container {
        display: block;
    }

    header .wp-block-navigation .wp-block-navigation-item__content {
        width: 100%;
    }

    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation > .has-child .simple-text.has-child > .wp-block-navigation__submenu-icon {
        flex-grow: 1;
        text-align: end;
        display: inline-block;
    }

    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.wp-block-navigation-submenu,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
        align-items:var(--navigation-layout-justification-setting,initial);
        display:flex;
        flex-direction:row;
        flex-wrap: wrap;
        width: 100%;
    }

    header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        flex-grow: 1;
    }
  
    header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        width: 100%;
    }
}

  /* Style the parent items to indicate they are clickable */
  li.has-child.open-on-hover-click {
    cursor: pointer;
  }

/* Contact form */

 .wpcf7 .wpcf7-text,
 .wpcf7 .wpcf7-textarea {
    width: 100%;
    border: 1px solid var(--wp--preset--color--accent-4);
    border-radius: 3px;
    background-color: transparent;
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--manrope);
    font-size: var(--wp--preset--font-size--medium);
    font-style: normal;
    font-weight: 300;
    letter-spacing: -0.1px;
    line-height: 1.5;
}

.wpcf7 .wpcf7-captchar {
    border: 1px solid var(--wp--preset--color--accent-4);
    border-radius: 3px;
    background-color: transparent;
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--manrope);
    font-size: var(--wp--preset--font-size--medium);
    font-style: normal;
    font-weight: 300;
    letter-spacing: -0.1px;
    line-height: 1.5;

}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
}

.wpcf7 .wpcf7-list-item {
    margin: 0;
}

.wpcf7 .wpcf7-checkbox {
    width: 22px;
    height: 22px;

}

.wpcf7-form p:first-of-type {
    margin-top: 0;
}

.wpcf7-form p:not(:last-of-type) {
    margin-bottom: 30px;
}

.overflow-hidden {
	overflow: hidden;
}

/* Link Pfeil */

.link-arrow > a::after {
    content: '\f178';
    font: var(--fa-font-solid);
    font-size: .9em;
    -webkit-font-smoothing: antialiased;
    padding-left: .4em;
    transition: 0.3s ease-in-out;
}

.link-arrow > a:hover::after {
    padding-left: .7em;
}


.link-arrow > a {
    text-decoration: none;
}



/* Hover Shadow */

.hover-shadow {
    transition: 0.5s ease-in-out;
    overflow: hidden;
    z-index: 0;
}

.hover-shadow:hover {
    box-shadow: 0px 10px 20px -10px rgba(0, 0, 0, 0.3);
}