#mobile_menu .fl-html{
    display: flex;
}
.header_image img{
    z-index: 101;
    position: relative;
}
a.menu_toggle{
    margin-left: auto;
    z-index: 101;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}

a.menu_toggle .text{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    height: 1.5rem;
    overflow: hidden;
}

a.menu_toggle .text span{
    text-decoration: none;
    transition: transform 250ms ease-out;
}
a.menu_toggle:has(+ .mobile_mega_menu.active) .text span{
    transform: translateY(100%);
}

a.menu_toggle .hamburger{
    display: flex;
    flex-direction: column; gap: .35em; align-items: center; justify-content: center;
    width: fit-content; height: auto; aspect-ratio: 1;

    transition: gap 250ms ease-out;
}
a.menu_toggle .hamburger > span{
    --delay: 0ms;
    --delay-out: 50ms;
    display: block;
    background-color: var(--charcoal);
    height: 2px;
    width: 1.5em;
    transform-origin: center;
    transition: rotate 250ms ease-out var(--delay),
                scale 250ms ease-in-out var(--delay-out),
                transform 250ms ease-out var(--delay),
                translate 250ms ease-in-out var(--delay-out);
}
a.menu_toggle .hamburger > span:nth-child(3){
    transform: rotate(-180deg);
}
body:has(.mobile_mega_menu.active){
    overflow-y: hidden;
}
a.menu_toggle:has(+ .mobile_mega_menu.active) .hamburger{
    gap: 0;
}
a.menu_toggle:has(+ .mobile_mega_menu.active) .hamburger > span{
    --delay: 250ms;
    --delay-out: 0ms;
    rotate: -135deg;
}
a.menu_toggle:has(+ .mobile_mega_menu.active) .hamburger > span:nth-child(1){
    translate: 0 100%;
}
a.menu_toggle:has(+.mobile_mega_menu.active) .hamburger > span:nth-child(2){
    scale: 0 100%;
}
a.menu_toggle:has(+ .mobile_mega_menu.active) .hamburger > span:nth-child(3){
    transform: rotate(-90deg);
    translate: 0 -100%;
}
.mobile_mega_menu{
    width: 100vw; height: 100dvh;
    padding-top: 80px;
    position: fixed;
    inset: 0;
    z-index: 100;
    background-color: var(--off-white);
    
    transition: background-color 300ms ease-in-out;
}
.mobile_mega_menu,
.mobile_mega_menu .mobile_sub_menu{
    display: flex;
    flex-direction: column;
    gap: .5em;
    background-color: var(--off-white);
}
.mobile_mega_menu .mobile_sub_menu{
    position: absolute; z-index: 1;
    height: 100%; width: 100%;
    top: 0; left: 0; right: 0; bottom: 0;
    padding: 20px;
    overflow-y: auto;
}
.mobile_mega_menu nav.menu{
    position: relative;
    padding: 20px;
    /* margin-inline: 10px; */
    flex-grow: 1;
    
    display: flex;
    flex-direction: column;
    gap: .5em;
    
    overflow: clip;
    overflow-y: auto;
}

.mobile_mega_menu a{
    text-decoration: none;
    padding: .75rem 1.5rem;
    border-radius: .25rem;
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    background-color: var(--pure-white);
}

.mobile_mega_menu .cta a.post{
    color: var(--pure-white);
    display: grid;
    grid-template-columns: minmax(0,1fr);
    padding: 0; border-radius: 0;
    /* background-color: rgba(255,255,255,.15); */
    background-color: transparent;
    margin-top: .5rem;
    padding: .25rem;
    border-radius: .25rem;
}

.mobile_mega_menu .cta a.post .title{
    font-weight: var(--weight-bold);
}

.mobile_mega_menu .cta a.post .info{
    opacity: .75;
}

.mobile_mega_menu .cta a.post .info{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.mobile_mega_menu .cta.contact .image{
    display: none !important;
}
.mobile_mega_menu a.menu-btn{
    background-color: var(--tech-green);
}

.mobile_mega_menu .menu-item.cta{
    margin-top: 1rem;
    padding: 1rem;
    border-radius: .5rem;
}
.mobile_mega_menu .menu-item.cta a{
    margin-top: 1.5rem;
}

.mobile_mega_menu .menu-item.cta .image{
}

.mobile_mega_menu :is(.mobile_sub_menu, .menu) > a::after{
    content: '';
    width: 1rem; height: 1rem;
    display: block;
    rotate: -45deg;
    background-color: currentColor;
    mask: url(/wp-content/uploads/2025/04/arrow.svg) no-repeat center / contain;
    -webkit-mask: url(/wp-content/uploads/2025/04/arrow.svg) no-repeat center / contain;
}
.mobile_mega_menu a:is(.menu-btn, .has_submenu)::after{
    rotate: 0deg;
}

.mobile_mega_menu .back_button{
    opacity: 0; pointer-events: none;
    display: flex; align-items: center;
    flex-direction: row-reverse;
    background-color: transparent;
    padding: 0 0;
    width: fit-content;
    transition: opacity 250ms ease-in-out 150ms;
}
.mobile_mega_menu .back_button::after{
    content: '';
    background-color: currentColor;
    width: .75em; height: .75em;
    transform: scaleX(-1);
    mask: url(/wp-content/uploads/2025/04/arrow.svg) no-repeat center / contain;
    -webkit-mask: url(/wp-content/uploads/2025/04/arrow.svg) no-repeat center / contain;
}
.mobile_mega_menu .searchbutton{
    padding: 0;
    background-color: transparent;
}
.mobile_mega_menu .searchbutton::after{
    content: '';
    background-color: currentColor;
    width: .75em; height: .75em;
    mask: url(/wp-content/uploads/2025/04/mag.svg) no-repeat center / contain;
    -webkit-mask: url(/wp-content/uploads/2025/04/mag.svg) no-repeat center / contain;
}

.mobile_mega_menu .menu_footer{
    margin: 10px 20px 20px 20px;
}
.mobile_mega_menu .regionbutton{
    background-color: transparent;
    width: 100%;
    border: 1px solid rgba(0, 58, 81, .5);
    border-radius: .25rem;
}
.mobile_mega_menu .regionbutton::after{
    content: '';
    background-color: currentColor;
    width: 1rem; height: 1rem;
    mask: url(/wp-content/uploads/2025/04/globe.svg) no-repeat center / contain;
    -webkit-mask: url(/wp-content/uploads/2025/04/globe.svg) no-repeat center / contain;
}

.mobile_mega_menu .heading{
    font-size: var(--body-l);
    font-weight: var(--weight-bold);
    padding-block: 1rem 0.25rem;
}
.mobile_mega_menu .heading:nth-child(1){
    padding-top: 0;
}
.mobile_mega_menu .menu_header {
    margin-inline: 20px;
    display: flex;
    justify-content: space-between;
}
.mobile_mega_menu .menu_header:has(+ .menu .mobile_sub_menu.active) .back_button{
    opacity: 1;
    pointer-events: all;
}
.mobile_mega_menu .menu_header .button{
    flex-grow: 1;
}
.mobile_mega_menu .menu_header .button_text{
    justify-content: center;
}
.mobile_mega_menu .menu_header input{
    background-color: var(--ag-white);
    border: 1px solid var(--ag-white-dark);
    color: var(--ag-deepblue);
    border-radius: 8px;
    padding: .75em 1em; font-size: 18px;
}
.mobile_mega_menu .menu_header input::placeholder{
    color: var(--ag-deepblue);
}
.mobile_mega_menu .menu_footer{
    display: flex; gap: 8px; align-items: center;
    /* padding: 0 10px 10px 10px; */
}
#mobile_menu .mobile_mega_menu .menu_footer .button_wrapper{
    flex-direction: column;
    align-items: flex-start;
}
#mobile_menu .mobile_mega_menu .menu_footer .button{
    width: fit-content;
    font-size: 14px;
    padding: .25em .5em;
    
    background-color: transparent;
    font-weight: 300;
}
#mobile_menu .mobile_mega_menu .menu_footer .button:hover{
    background-color: var(--ag-white);
}
#mobile_menu .mobile_mega_menu .menu_footer .button:hover .button_text{
    color: var(--ag-deepblue);
}
#mobile_menu .mobile_mega_menu .menu_footer .button_text::before{
    content: '';
    width: 1.25em; height: 1.25em;
    flex-shrink: 0;
    background-color: var(--ag-babyblue);
    mask: url(/wp-content/uploads/2024/12/phone.svg) no-repeat center / contain;
    -webkit-mask: url(/wp-content/uploads/2024/12/phone.svg) no-repeat center / contain;
}
.mobile_mega_menu .menu_footer .language_selector{
    margin-left: auto;
}
.mobile_mega_menu .menu_footer .language_selector a{
    background-color: var(--ag-grey-dark);
    text-decoration: none;
}