/****************************
 * Common
****************************/
.ifs-menu {
    --menu-item-size:var(--ifs-size-14);
    --menu-color:var(--ifs-color-white);
    --menu-color-hover:var(--ifs-color-turquoise-2);
    --menu-line:rgba(255, 255, 255, .2);
}

.ifs-menu-col {min-height:var(--ifs-main-menu-height);}
@media only screen and (min-width:1181px) {
    html:not(:has(.ifs-menu-row.top > *)) {
        --ifs-top-menu-height:0px;
        --ifs-header-height:75px;
    }
    html:not(:has(.ifs-menu-row.top > *)) .ifs-menu-row.top {border:none;}
}
@media only screen and (min-width:1800px) {
    html:not(:has(.ifs-menu-row.top > *)) {
        --ifs-header-height:clamp(75px, 4.5vw, 500px);
        --ifs-logo-height:calc(var(--ifs-header-height) * 60 / 75);
    }
}
@media only screen and (min-width:1181px) and (max-height:720px) {
    .ifs-menu {
        --menu-item-size:2.55vh;
    }
}

/****************************
 * Logo
****************************/
.ifs-menu-logo {
    height:var(--ifs-logo-height);
    img {
        width:auto;
    }
}


/****************************
 * Hamburger button
****************************/
.ifs-hamburger-button {background:none;}
.ifs-hamburger-button__inner {width:20px; height:14px;}

/* Lines */
.ifs-hamburger-button__inner i {height:2px;}
.ifs-hamburger-button__inner i:nth-child(2) {width:60%}

/* Open */
html.menu-open .ifs-hamburger-button__inner i:nth-child(1) {transform:rotate(45deg); top:6px;}
html.menu-open .ifs-hamburger-button__inner i:nth-child(3) {transform:rotate(-45deg); bottom:6px;}
html.menu-open .ifs-hamburger-button__inner i:nth-child(2) {width:0; left:50%;}


/****************************
 * Menu Sticky
****************************/
/* wrapper */
.ifs-menu-row.main .ifs-menu-row-inner {min-height:var(--ifs-header-height);}

/* Scroll middle down: hide menu */
html:not(.accordion-moving) body.menu-sticky.scroll-middle.scroll-down:not(.scroll-bottom) [data-menu*="sticky"],
html:not(.accordion-moving) body.hide-menu:not(.scroll-top) [data-menu*="sticky"] {
    opacity:0; transform:translateY(-100%);
}
/* Scroll middle up: show menu */
body.scroll-middle .ifs-menu {
    transform:translateY(calc(var(--ifs-header-height) * -1));
    background:var(--ifs-color-dark-green);
}
html.menu-open .menu-open,
body.scroll-bottom .ifs-menu,
body.scroll-up .ifs-menu {
    transform:translateY(0);
}
html.menu-open .ifs-menu {background:var(--ifs-color-dark-green);}


/****************************
 * Responsive
****************************/
@media only screen and (max-width:1180px) {
    .ifs-menu-row.top {display:none;}
    .ifs-menu-row.main {
        align-items:center; justify-content:space-between; padding:0 var(--ifs-gap-container);
        border-bottom:1px solid var(--menu-line);
    }
    .ifs-menu-col.right {gap:var(--ifs-gap-container);}
}