/* Fix for backdrop */
header .fl-row.header .fl-row-content{
    z-index: unset !important;
}

header .fl-row.header > .fl-row-content-wrap{
    transition: padding .3s ease-in-out;
    background-color: #fff;
}
header.fl-theme-builder-header-shrink .fl-row.header > .fl-row-content-wrap{
    padding-top: 14px;
    padding-bottom: 14px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
}

header .logo .fl-photo-content{
    max-width: 201px;
}
header .logo img{
    max-width: 100%;
    width: 201px;
    aspect-ratio: 1 / .33;
    object-fit: contain;
}

header ul.menu{
    position: unset !important;
    width: 100%;
}

header ul.menu li{
    border: 0 !important;
}

header ul.menu > .menu-item:not(.menu-btn){
    margin: 0 16px;
}
header ul.menu .menu-item.astm-search-menu{
    margin-left: 8px;
}

header ul.menu > .menu-item:first-child{
    margin-left: 0;
}
header ul.menu > .menu-item:last-child{
    margin-right: 0;
    background: var(--tt-wit);
}

header ul.menu .menu-item a:has(.spacing){
    transition: font-weight .3s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 400;
}

header ul.menu .menu-item a .spacing{
    height: 0;
    font-weight: 700;
    overflow: hidden;
    pointer-events: none;
}

header ul.menu > .menu-item > a,
header ul.menu > .menu-item > .fl-has-submenu-container a{
    padding: 0;
}

header ul.menu .menu-item a{
    font-family: "Montserrat-var";
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
    color: var(--tt-donker-blauw-100);
}

header ul.menu .menu-item.menu-btn{
    display: inline-block;
}
header ul.menu .menu-item.menu-btn > a{
    transition: background-color .3s ease-in-out;
    color: var(--tt-wit);
    background: var(--tt-verloop-hover);
    background-color: var(--tt-groen);
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 100px;
}

header ul.menu .menu-item.menu-btn > a:hover,
header ul.menu .menu-item.menu-btn > a:focus{
    background-color: var(--tt-blauw);
}

header ul.menu .menu-item.menu-arrow > a{
    display: flex;
    align-items: center;
    gap: 8px;
}
header ul.menu .menu-item.menu-arrow > a:after{
    content: "";
    transition: rotate .3s ease-in-out;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask: url('/wp-content/uploads/2025/05/arrow-top-right.svg') no-repeat center/contain;
    mask: url('/wp-content/uploads/2025/05/arrow-top-right.svg') no-repeat center/contain;
}
header ul.menu .menu-item.menu-arrow > a:hover::after,
header ul.menu .menu-item.menu-arrow > a:focus::after{
    rotate: 45deg;
}

header ul.menu .astm-search-menu > a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    aspect-ratio: 1;
    border: 2px solid var(--tt-groen);
    font-size: 0 !important;
    border-radius: 100px;
}
header ul.menu .astm-search-menu > a:before{
    content: "";
    display: inline-block !important;
    width: 18px;
    height: 18px;
    background-color: var(--tt-groen);
    -webkit-mask: url('/wp-content/uploads/2025/05/search-icon.svg') no-repeat center/contain;
    mask: url('/wp-content/uploads/2025/05/search-icon.svg') no-repeat center/contain;
}

header ul.menu > .astm-search-menu > a svg{
    display: none;
}


header .menu .menu-item .fl-has-submenu-container{
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}


.fl-page header ul.menu > li.menu-item > .fl-has-submenu-container a{
    padding-right: 0;
}
header .menu > .menu-item .fl-has-submenu-container .fl-menu-toggle{
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    transition: rotate .3s ease-in-out;
    color: var(--tt-donker-blauw-100);
    background-color: currentColor;
    width: 10px;
    height: 10px;
    mask: url('/wp-content/uploads/2025/05/arrow.svg') no-repeat center/contain;
    -webkit-mask: url('/wp-content/uploads/2025/05/arrow.svg') no-repeat center/contain;
    margin: 0;
}
header .menu > .menu-item > .fl-has-submenu-container .fl-menu-toggle:before{
    display: none;
}

/* TODO: */
.fl-page header ul.menu > li.menu-item:not(.menu-btn):hover > a,
.fl-page header ul.menu > li.menu-item:not(.menu-btn):focus > a,
.fl-page header ul.menu > li.menu-item:not(.menu-btn):hover > .fl-has-submenu-container a,
.fl-page header ul.menu > li.menu-item:not(.menu-btn):focus > .fl-has-submenu-container a,
.fl-page header ul.menu > li.menu-item:not(.menu-btn).focus > a,
.fl-page header ul.menu > li.menu-item:not(.menu-btn).focus > .fl-has-submenu-container a{
    font-weight: 700;
}

/* .fl-page header ul.menu > li.menu-item:hover > .fl-has-submenu-container .fl-menu-toggle,
.fl-page header ul.menu > li.menu-item:focus > .fl-has-submenu-container .fl-menu-toggle{
    rotate: -45deg;
} */

header .menu > .menu-item > .sub-menu .menu-item a{
    font-size: 16px;
    line-height: 1.5;
    padding: 0;
}
header .menu-item.menu-heading > a,
header .menu-item.menu-heading > .fl-has-submenu > a{
    font-size: 16px;
    line-height: 1.25;
}

header .menu > .menu-item > .sub-menu a:hover,
header .menu > .menu-item > .sub-menu a:focus{
    text-decoration: underline !important;
}




header .menu > .menu-item > .sub-menu .menu-item.menu-heading > a,
header .menu > .menu-item > .sub-menu .menu-item.menu-heading > .fl-has-submenu-container > a{
    font-size: 16px;
    line-height: 1.25;
}


header button.hamburger.fl-menu-mobile-toggle{
    color: var(--tt-donker-blauw-100);
    padding: 0;
}


@media screen and (min-width: 1241px){
    header ul.menu > .menu-item.mega-menu > .sub-menu{
        max-width: calc(100vw - 160px);
        margin-left: 20px;
    }
}

@media screen and (max-width: 1240px) and (min-width: 768px){
    .header > .fl-row-content-wrap{
        padding-left: 20px;
        padding-right: 20px;
    }

    header ul.menu > .menu-item.mega-menu > .sub-menu{
        max-width: calc(100vw - 80px);
        margin-left: 20px;
    }
}

@media screen and (min-width: 1141px){
    header .logo-col{
        width: 241px !important;
    }
    header .menu-col{
        width: calc(100% - 241px) !important;
    }
}

@media screen and (max-width: 1140px){
    header .logo-col{
        width: 180px !important;
    }
    header .menu-col{
        width: calc(100% - 180px) !important;
    }

    header .menu > .menu-item:not(.menu-btn):not(.astm-search-menu){
        margin: 0 8px;
    }

    header ul.menu > .menu-item > a{
        font-size: 16px;
    }    
}


@media screen and (min-width: 993px){
    /* backdrop */
    header:before{
        content: "";
        position: fixed;
        transition: opacity .3s ease-in-out;
        width: 100vw;
        height: 100vh;
        background-color: var(--tt-header-backdrop-bg-color);
        pointer-events: none;
        z-index: 10;
        opacity: 0;
    }

    header .logo-col{
        position: relative;
        z-index: 1;
        /* width: 241px !important; */
    }
    /* header .menu-col{
        width: calc(100% - 241px) !important;
    } */


    header ul.menu > .menu-item:not(.menu-btn) + .menu-item.menu-btn{
        margin-left: 8px;
    }

    header ul.menu > .menu-item.mega-menu > .sub-menu{
        justify-content: space-between;
        gap: 51px;
    }

    header ul.menu > .menu-item > .sub-menu{
        transition: opacity .3s ease-in-out;
        display: flex !important;
        visibility: visible !important;
        padding: 40px;
        pointer-events: none;
        border-radius: 16px;
        margin-top: 33px;
        left: 0;
    }
    header ul.menu > .menu-item > .sub-menu:before{
        content: "";
        position: absolute;
        width: 100%;
        height: 33px;
        top: 0;
        left: 0;
        translate: 0 -100%;
    }

    header ul.menu > .menu-item:hover > .sub-menu,
    header ul.menu > .menu-item:focus > .sub-menu,
    header ul.menu > .menu-item.focus > .sub-menu,
    header ul.menu > .menu-item:hover > .fl-has-submenu-container:before,
    header ul.menu > .menu-item:focus > .fl-has-submenu-container:before,
    header ul.menu > .menu-item.focus> .fl-has-submenu-container:before{
        opacity: 1;
        pointer-events: auto;
    }

    header:has(ul.menu > .menu-item.fl-has-submenu:hover):before,
    header:has(ul.menu > .menu-item.fl-has-submenu:focus-visible):before,
    header:has(ul.menu > .menu-item.fl-has-submenu.focus):before{
        opacity: 1;
    }

    /* Menu pointer */
    header .menu > .menu-item > .fl-has-submenu-container:before{
        content: "";
        position: absolute;
        pointer-events: none;
        transition: opacity .3s ease-in-out;
        -webkit-mask: url('/wp-content/uploads/2025/05/Polygon-2.svg') no-repeat center/contain;
        mask: url('/wp-content/uploads/2025/05/Polygon-2.svg') no-repeat center/contain;
        width: 29px;
        height: 21px;
        background-color: var(--tt-wit);
        left: 50%;
        bottom: 0;
        translate: -50% calc(100% + 13px);
        opacity: 0;
        z-index: 100;
    }


    header .menu > .menu-item > .sub-menu .menu-item a{
        font-weight: 500;
    }
    header .menu-item.menu-heading > a,
    header .menu-item.menu-heading > .fl-has-submenu > a{
        font-weight: 700;
    }

    header .menu > .menu-item > .sub-menu .menu-item.menu-heading > .fl-has-submenu-container{
        margin-bottom: 20px;
    }

    header .menu > .menu-item > .sub-menu .menu-item:not(:last-child):not(.menu-heading){
        margin-bottom: 16px;
    }
}


@media screen and (max-width: 992px){
    .header .logo-col{
        width: calc(100% - 100px) !important;
    }
    .header .menu-col{
        width: 100px !important;
    }

    .header #main_menu{
        width: 100%;
    }

    .header #main_menu ul.menu{
        text-align: left;
        padding: 20px 0;
    }
    .header #main_menu ul.menu .menu-item{
        margin: 0;
    }

    .header #main_menu ul.menu .menu-item:not(:last-child){
        margin-bottom: 12px;
    }

    .header #main_menu ul.menu .menu-item .sub-menu{
        padding: 16px 0 8px 0;
    }

    .header #main_menu ul.menu .menu-item:not(.astm-search-menu) > .fl-has-submenu-container > a,
    .header #main_menu ul.menu .menu-item:not(.astm-search-menu) > a{
        font-size: 16px;
        line-height: 1;
    }

    .header #main_menu ul.menu .menu-item:not(.astm-search-menu):not(.menu-btn) > .fl-has-submenu-container > a,
    .header #main_menu ul.menu .menu-item:not(.astm-search-menu):not(.menu-btn) > a{
        align-items: flex-start;
    }
}

@media screen and (max-width: 992px) and (min-width: 768px){
    #main_menu.fl-menu-mobile-clone > .fl-module-content{
        margin-inline: 20px;
    }
}


@media screen and (max-width: 767px){
    .fl-page .header > .fl-row-content-wrap{
        padding-left: 0;
        padding-right: 0;
    }

    #main_menu.fl-menu-mobile-clone > .fl-module-content{
        margin-left: 20px;
        margin-right: 20px;
    }
}