/*==================================================
    HEADER
==================================================*/

.site-header{
    position:relative;
    width:100%;
    background:#fff;
    z-index:9999;
    transition:all .35s ease;
    box-shadow:0 1px 10px rgba(0,0,0,.06);
}

.custom-container{
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    min-height:90px;
}

/*==================================================
    LOGO
==================================================*/

.site-branding{
    flex:0 0 auto;
    display:flex;
    align-items:center;
}

.site-logo img,
.custom-logo{
    display:block;
    max-height:65px;
    width:auto;
}

.site-title{
    text-decoration:none;
    font-size:28px;
    font-weight:700;
    color:#111;
}

/*==================================================
    NAVIGATION
==================================================*/

.main-navigation{
    flex:1;
    display:flex;
    justify-content:center;
    margin-left:50px;
}

.main-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;

    margin:0;
    padding:0;

    list-style:none;
}

.main-menu>li{
    position:relative;
}

.main-menu>li>a{

    display:flex;
    align-items:center;

    padding:34px 0;

    color:#1b1b1b;

    font-size:16px;

    font-weight:500;

    text-decoration:none;

    transition:.3s;
}

.main-menu>li>a:hover{
    color:#AA2D01;
}

.main-menu>li>a:focus-visible{

    outline:3px solid #AA2D01;

    outline-offset:5px;

    border-radius:4px;
}

/*==================================================
    DROPDOWN
==================================================*/

.main-menu .sub-menu{

    position:absolute;

    top:100%;

    left:0;

    min-width:260px;

    padding:12px 0;

    margin:0;

    list-style:none;

    background:#fff;

    border-radius:8px;

    box-shadow:0 18px 40px rgba(0,0,0,.12);

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:all .30s ease;

    z-index:99999;
}

/* Show Dropdown */

.main-menu>li:hover>.sub-menu,
.main-menu>li:focus-within>.sub-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);
}

.main-menu > li.submenu-open > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    display:block;
}
/*==================================================
    SUB MENU
==================================================*/

.main-menu .sub-menu li{

    position:relative;
}

.main-menu .sub-menu li a{

    display:block;

    padding:12px 22px;

    color:#333;

    font-size:15px;

    text-decoration:none;

    transition:.3s;
}

.main-menu .sub-menu li a:hover{

    background:#f6f6f6;

    color:#AA2D01;
}

.main-menu .sub-menu li a:focus-visible{

    background:#f3f3f3;

    outline:3px solid #AA2D01;

    outline-offset:-3px;
}

/*==================================================
    LEVEL 2 DROPDOWN
==================================================*/

.main-menu .sub-menu .sub-menu{

    left:100%;

    top:0;

    margin-left:2px;
}

/*==================================================
    CURRENT MENU
==================================================*/

.current-menu-item>a,
.current-menu-parent>a,
.current-menu-ancestor>a{

    color:#AA2D01;

    font-weight:600;
}

/*==================================================
    HEADER SOCIAL
==================================================*/

.header-social{

    display:flex;

    align-items:center;

    gap:14px;
}

/*==================================================
    MOBILE BUTTON
==================================================*/

.menu-toggle{

    display:none;

    border:none;

    background:none;

    padding:10px;

    cursor:pointer;
}

.menu-toggle span{

    display:block;

    width:28px;

    height:2px;

    background:#111;

    margin:6px 0;

    transition:.3s;
}

/*==================================================
    ACCESSIBILITY
==================================================*/

.main-menu,
.main-menu ul{
    list-style:none;
}

.main-menu a{

    text-decoration:none;
}

.main-menu a:focus{

    outline:none;
}

.main-menu a:focus-visible{

    outline:3px solid #AA2D01;

    outline-offset:4px;

    border-radius:4px;
}

/*==================================================
    STICKY HEADER
==================================================*/

.site-header.is-sticky{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    background:#fff;

    animation:headerFade .35s ease;

    box-shadow:0 5px 25px rgba(0,0,0,.08);
}

@keyframes headerFade{

    from{

        opacity:0;

        transform:translateY(-15px);
    }

    to{

        opacity:1;

        transform:translateY(0);
    }
}


/*==================================================
    TABLET & MOBILE
==================================================*/

@media (max-width: 991px){

    .custom-container{
        min-height:75px;
        position:relative;
    }

    .site-branding{
        z-index:1002;
    }

    .site-logo img,
    .custom-logo{
        max-height:55px;
    }

    /* Hamburger */

    .menu-toggle{
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        width:46px;
        height:46px;
        margin-left:auto;
        border:none;
        background:transparent;
        cursor:pointer;
        z-index:1002;
    }

    .menu-toggle span{
        width:26px;
        height:2px;
        margin:3px 0;
        background:#111;
        transition:.3s ease;
    }

    /* Hamburger Animation */

    .menu-toggle.active span:nth-child(1){
        transform:translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2){
        opacity:0;
    }

    .menu-toggle.active span:nth-child(3){
        transform:translateY(-8px) rotate(-45deg);
    }

    /* Navigation */

    .main-navigation{

        position:absolute;

        top:100%;

        left:0;

        width:100%;

        margin:0;

        background:#fff;

        box-shadow:0 15px 30px rgba(0,0,0,.08);

        display:none;

        z-index:999;
    }

    .main-navigation.menu-open{
        display:block;
    }

    .main-menu{

        flex-direction:column;

        align-items:stretch;

        gap:0;
    }

    .main-menu>li{

        width:100%;

        border-bottom:1px solid #ececec;
    }

    .main-menu>li>a{

        display:flex;

        justify-content:space-between;

        align-items:center;

        padding:16px 20px;
    }

    /* Dropdown */

    .main-menu .sub-menu{

        position:static;

        min-width:100%;

        opacity:1;

        visibility:visible;

        transform:none;

        display:none;

        padding:0;

        border-radius:0;

        box-shadow:none;

        background:#fafafa;
    }

    .main-menu .sub-menu li a{

        padding:14px 35px;

        border-top:1px solid #ececec;

        font-size:15px;
    }

    /* JS will add this class */

    .main-menu li.submenu-open > .sub-menu{

        display:block;
    }

    /* Level 2 */

    .main-menu .sub-menu .sub-menu{

        margin-left:0;
    }

    .main-menu .sub-menu .sub-menu a{

        padding-left:55px;
    }

    /* Hide desktop social */

    .header-social{

        display:none;
    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .custom-container{

        padding:0 15px;

        min-height:70px;
    }

    .site-logo img,
    .custom-logo{

        max-height:48px;
    }

    .main-menu>li>a{

        font-size:15px;

        padding:15px 18px;
    }

    .main-menu .sub-menu li a{

        font-size:14px;

        padding:13px 30px;
    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .custom-container{

        padding:0 12px;
    }

    .site-logo img,
    .custom-logo{

        max-height:42px;
    }

    .menu-toggle{

        width:42px;

        height:42px;
    }

    .menu-toggle span{

        width:24px;
    }

}