/* =====================================================
   ROUTE TRACE - HEADER.CSS
   Color Scheme:
  --primary:#479422;
    --secondary:#2b764b;
 
====================================================== */

:root{
    --primary:#479422;
    --primary-hover:#3B7F1C;
    --primary-light:#EAF5E4;
    --primary-extra-light:#F6FBF3;

    --secondary:#2B764B;
    --secondary-hover:#225F3C;
    --secondary-light:#E7F3EC;

    --dark:#252C34;
    --dark-hover:#1C2229;

    --light:#F8FAF8;
    --white:#FFFFFF;
    --black:#000000;

    --text:#3F4741;
    --text-white:#FFFFFF;
    --heading:#252C34;

    --border:#D7E3D8;
}
*,
*::before,
*::after{
    box-sizing:border-box;
}

.et-header{
    position:relative;
    width:100%;
    z-index:999;
    font-family:inherit;
}

.container{
    max-width:1280px;
    margin:0 auto;
    padding:0 20px;
}

/* ==========================
   TOP HEADER
========================== */

.et-top-header{
    background:var(--primary);
    color:#fff;
    font-size:14px;
}

.et-top-header .container{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.et-top-left{
    display:flex;
    align-items:center;
    gap:35px;
    flex-wrap:wrap;
}

.top-item{
    display:flex;
    align-items:center;
    gap:12px;
}

.top-item i{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:16px;
}

.top-item .title{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#fff;
    line-height:1.2;
}

.top-item .subtitle{
    display:block;
    font-size:12px;
    color:rgba(255,255,255,.75);
}

.et-top-right{
    display:flex;
    align-items:center;
    gap:12px;
}

.et-top-right a{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.et-top-right a:hover{
    background:var(--secondary);
    transform:translateY(-2px);
}

/* ==========================
   MAIN HEADER
========================== */

.et-main-header{
    background:#fff;
    border-bottom:1px solid var(--border);
}

.et-main-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:90px;
    gap:30px;
}

.et-logo img{
    display:block;
    max-height:80px;
    width:auto;
}

.et-navigation{
    flex:1;
    display:flex;
    justify-content:center;
}

.et-menu{
    list-style:none;
    display:flex;
    align-items:center;
    gap:34px;
    margin:0;
    padding:0;
}

.et-menu li{
    position:relative;
}

.et-menu li a{
    text-decoration:none;
    color:var(--primary);
    font-size:16px;
    font-weight:600;
    transition:.3s;
}

.et-menu li a:hover,
.et-menu li.current-menu-item>a{
    color:var(--secondary);
}

/*.et-menu li::after{*/
/*    content:"";*/
/*    position:absolute;*/
/*    left:0;*/
/*    bottom:-6px;*/
/*    width:0;*/
/*    height:2px;*/
/*    background:var(--secondary);*/
/*    transition:.3s;*/
/*}*/

.et-menu > li::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:.3s;

}

.et-menu > li:hover::after{

    width:100%;

}

.et-menu li:hover::after{
    width:100%;
}

/* ==========================
   CTA BUTTON
========================== */

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:170px;
    height:50px;
    padding:0 28px;
    border-radius:10px;
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.btn-primary:hover{
    background:var(--secondary);
    transform:translateY(-2px);
    color:#fff;
}

/* ==========================
   MOBILE BUTTON
========================== */

/* ==========================
   MOBILE HAMBURGER BUTTON
========================== */

.mobile-toggle{

    width:52px;
    height:52px;

    background:var(--dark);

    border:none;

    border-radius:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    position:relative;

}

.mobile-toggle span,
.mobile-toggle span::before,
.mobile-toggle span::after{

    content:"";

    position:absolute;

    width:22px;

    height:2.5px;

    background:#fff;
    right:7px;

    border-radius:50px;

    transition:.35s;

}

.mobile-toggle span::before{

    transform:translateY(-7px);

}

.mobile-toggle span::after{

    transform:translateY(7px);

}

.mobile-toggle.active span{

    background:transparent;

}

.mobile-toggle.active span::before{

    transform:rotate(45deg);

}

.mobile-toggle.active span::after{

    transform:rotate(-45deg);

}

/* Desktop */

@media(min-width:992px){

    .mobile-toggle{

        display:none;

    }

}

/* Mobile */

@media(max-width:991px){

    .mobile-toggle{

        display:flex;

    }

}

/* ==========================
   TABLET
========================== */

@media(max-width:1100px){

.et-top-left{
    gap:20px;
}

.et-menu{
    gap:20px;
}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:991px){

.et-top-header{
    display:none;
}

.et-main-header .container{
    min-height:75px;
}

.et-navigation{
    display:none;
}

.et-header-btn{
    display:none;
}

.mobile-toggle{
    display:block;
}

.et-logo img{
    max-height:80px;
}

}

/* Customer Login */
.mobile-login{
/*     margin:25px 0 20px; */
}

.mobile-login .login-btn{
    display:block;
    width:100%;
    text-align:center;
    background:#2B764B;
    color:#fff;
    text-decoration:none;
    padding:14px 20px;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.mobile-login .login-btn:hover{
    background:#0352b3;
    color:#fff;
}

/* App Store Buttons */
.mobile-app-buttons{
    display:flex;
   
    gap:12px;
    margin-top:25px;
}

.mobile-app-buttons a{
    display:block;
}

.mobile-app-buttons img{
    width:100%;
    max-width:220px;
    height:auto;
    display:block;
}

/* ==========================
   SMALL MOBILE
========================== */

@media(max-width:575px){

.container{
    padding:0 15px;
}

.et-main-header .container{
    min-height:68px;
}

.et-logo img{
    max-height:90px;
}

.mobile-toggle{
    width:44px;
    height:44px;
}

}
/* ==========================
OFF CANVAS MENU
========================== */

.et-mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.5);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:998;

}

.et-mobile-menu{
    position:fixed;
    top:0;
    right:-340px;
    width:320px;
    max-width:90%;

    height:100dvh;

    background:#fff;
    box-shadow:-5px 0 20px rgba(0,0,0,.15);
    transition:.35s;
    z-index:999;

    padding:30px;
    padding-bottom:calc(env(safe-area-inset-bottom) + 30px);

    display:flex;
    flex-direction:column;

    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
}

.et-mobile-menu.active{

    right:0;

}

.et-mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

.close-menu{
    position:sticky;
    top:0;
    align-self:flex-end;
    z-index:10;
    border:none;
    background:#fff;
    font-size:34px;
    color:var(--dark);
    cursor:pointer;
    padding-bottom:10px;
}

.mobile-logo{

    margin:40px 0;

    text-align:center;

}

.mobile-logo img{

    max-width:170px;

}

.mobile-menu{
    list-style:none;
    padding:0;
    margin:0;
    flex:1;
}
body.menu-open{
    overflow:hidden;
}
.mobile-menu li{

    border-bottom:1px solid #e5e5e5;

}

.mobile-menu li a{

    display:block;

    padding:16px 0;

    color:var(--dark);

    text-decoration:none;

    font-size:18px;

    font-weight:600;

}

.mobile-menu li a:hover{

    color:var(--secondary);

}

.mobile-social{

    display:flex;

    justify-content:center;

    gap:15px;
margin-top:30px;
    margin-bottom:40px;

}

.mobile-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--dark);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:.3s;

}

.mobile-social a:hover{

    background:var(--secondary);

}

/*====================================================
=            DESKTOP DROPDOWN MENU
====================================================*/

/* Parent */

.et-menu > li{

    position:relative;

}

/* Arrow */

.et-menu .menu-item-has-children > a::after{

    content:"\f078";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    font-size:11px;

    margin-left:8px;

    transition:.3s;

}

.et-menu .menu-item-has-children:hover > a::after{

    transform:rotate(180deg);

}

/* Dropdown */

.et-menu .sub-menu{

    position:absolute;

    top:calc(100% + 22px);

    left:0;

    min-width:270px;

    margin:0;

    padding:14px 0;

    list-style:none;

    background:#ffffff;

    border-radius:16px;

    box-shadow:0 18px 45px rgba(37,44,52,.12);

    border:1px solid var(--border);

    opacity:0;

    visibility:hidden;

    transform:translateY(12px);

    transition:all .3s ease;

    z-index:9999;

}

/* Show */

.et-menu li:hover > .sub-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

/* Items */

.et-menu .sub-menu li{

    display:block;

    width:100%;

}

.et-menu .sub-menu li::after{

    display:none;

}

/* Links */

.et-menu .sub-menu li a{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:14px 22px;

    color:var(--dark);

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:.25s;

}

/* Hover */

.et-menu .sub-menu li a:hover{

    background:var(--primary-light);

    color:var(--secondary);

    padding-left:28px;

}

/* Divider */

.et-menu .sub-menu li:not(:last-child){

    border-bottom:1px solid var(--border);

}

/* Current */

.et-menu .sub-menu .current-menu-item > a{

    background:var(--primary-light);

    color:var(--secondary);

}

/* Second Level */

.et-menu .sub-menu .sub-menu{

    top:0;

    left:100%;

    margin-left:12px;

}
/*====================================================
=            MOBILE DROPDOWN MENU
====================================================*/

@media(max-width:991px){

.mobile-menu .menu-item-has-children{
    position:relative;
}

.mobile-menu .menu-item-has-children > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:18px 0;
}

/* Arrow */

.mobile-menu .menu-item-has-children > a::after{
    content:"\f078";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:13px;
    transition:.3s;
}

/* Rotate */

.mobile-menu .menu-item-has-children.active > a::after{
    transform:rotate(180deg);
}

/* Submenu */

.mobile-menu .sub-menu{

    list-style:none;
    margin:0;
    padding:0;

    max-height:0;
    overflow:hidden;

    background:var(--primary-extra-light);

    transition:max-height .35s ease;
}

/* Open */

.mobile-menu .menu-item-has-children.active > .sub-menu{
    max-height:800px;
}

/* Items */

.mobile-menu .sub-menu li{
    border-bottom:1px solid var(--border);
}

/* Links */

.mobile-menu .sub-menu li a{

    padding:14px 20px 14px 35px;

    font-size:15px;

    color:var(--dark);

    font-weight:500;

    display:block;
}

.mobile-menu .sub-menu li a:hover{

    background:var(--primary-light);

    color:var(--secondary);
}

}