/* =====================================================
   ELEGANCO TECH - HEADER.CSS
   Color Scheme:
   Primary: #0A2983
   Secondary: #0352B3
   Light: #F0F5FA
====================================================== */

:root{
    --primary:#0A2983;
    --secondary:#0352B3;
    --light:#F0F5FA;
    --white:#ffffff;
    --text:#1f2937;
    --border:#dbe5f1;
}

*,
*::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:58px;
    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:#0A2983;

    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:48px;
}

}

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

@media(max-width:575px){

.container{
    padding:0 15px;
}

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

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

.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:100vh;

    background:#ffffff;

    box-shadow:-5px 0 20px rgba(0,0,0,.15);

    transition:.35s;

    z-index:999;

    overflow-y:auto;

    padding:30px;

}

.et-mobile-menu.active{

    right:0;

}

.et-mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

.close-menu{

    border:none;

    background:none;

    font-size:34px;

    color:#0A2983;

    cursor:pointer;

    float:right;

}

.mobile-logo{

    margin:40px 0;

    text-align:center;

}

.mobile-logo img{

    max-width:170px;

}

.mobile-menu{

    list-style:none;

    padding:0;

    margin:0;

}

.mobile-menu li{

    border-bottom:1px solid #e5e5e5;

}

.mobile-menu li a{

    display:block;

    padding:16px 0;

    color:#0A2983;

    text-decoration:none;

    font-size:18px;

    font-weight:600;

}

.mobile-menu li a:hover{

    color:#0352B3;

}

.mobile-social{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-top:40px;

}

.mobile-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#0A2983;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:.3s;

}

.mobile-social a:hover{

    background:#0352B3;

}

/*====================================================
=            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(10,41,131,.12);

    border:1px solid #edf2f8;

    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:#0A2983;

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:.25s;

}

/* Hover */

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

    background:#F0F5FA;

    color:#0352B3;

    padding-left:28px;

}

/* Divider */

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

    border-bottom:1px solid #EEF3F8;

}

/* Current */

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

    background:#EEF5FF;

    color:#0352B3;

}

/* 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:#f8fbff;

    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 #e7eef8;
}

/* Links */

.mobile-menu .sub-menu li a{

    padding:14px 20px 14px 35px;

    font-size:15px;

    color:#0A2983;

    font-weight:500;

    display:block;
}

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

    background:#EEF5FF;

    color:#0352B3;
}

}