/*==========================================================
    FILE: header.css

    Global Website Header

==========================================================*/


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

.site-header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    padding:18px 0;

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    background:rgba(255,255,255,.88);

    border-bottom:1px solid rgba(230,236,242,.75);

    transition:

        background .3s ease,

        box-shadow .3s ease;

}



/*==========================================================
    CONTAINER
==========================================================*/

.header-container{

    width:min(1200px,92%);

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}



/*==========================================================
    LOGO
==========================================================*/

.site-logo{

    display:flex;

    align-items:center;

    gap:18px;

    text-decoration:none;

}



.site-logo img{

    width:58px;

    height:58px;

    object-fit:contain;

    transition:

        transform .3s ease;

}



.site-logo:hover img{

    transform:scale(1.08);

}



.logo-text{

    display:flex;

    flex-direction:column;

}



.logo-title{

    color:#18253A;

    font-size:1.2rem;

    font-weight:700;

    line-height:1.2;

}



.logo-subtitle{

    color:#6C788C;

    font-size:.85rem;

    line-height:1.35;

}



/*==========================================================
    NAVIGATION
==========================================================*/

.main-nav{

    display:flex;

    align-items:center;

    gap:18px;

}



/*==========================================================
    NAV LINKS
==========================================================*/

.main-nav a{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:

        12px
        22px;

    border-radius:999px;

    color:#18253A;

    font-size:.96rem;

    font-weight:600;

    text-decoration:none;

    transition:

        color .25s ease,

        background .25s ease,

        transform .25s ease;

}



.main-nav a:hover{

    color:#1E5EFF;

    background:#EEF4FF;

    transform:translateY(-2px);

}


/*==========================================================
    ACTIVE PAGE
==========================================================*/

.main-nav a.active{

    background:#1E5EFF;

    color:#FFFFFF;

    box-shadow:

        0 10px 25px rgba(30,94,255,.22);

}



.main-nav a.active:hover{

    background:#184ACC;

    color:#FFFFFF;

}



/*==========================================================
    FOCUS
==========================================================*/

.main-nav a:focus-visible,

.site-logo:focus-visible{

    outline:3px solid #1E5EFF;

    outline-offset:4px;

}



/*==========================================================
    RESPONSIVE
==========================================================*/

@media (max-width:1000px){

    .header-container{

        flex-direction:column;

        gap:24px;

    }

}



@media (max-width:768px){

    .site-header{

        padding:14px 0;

    }

    .header-container{

        width:94%;

    }

    .site-logo{

        flex-direction:column;

        gap:10px;

        text-align:center;

    }

    .main-nav{

        flex-wrap:wrap;

        justify-content:center;

        gap:12px;

    }

    .main-nav a{

        padding:

            10px
            18px;

        font-size:.92rem;

    }

}



@media (max-width:500px){

    .logo-title{

        font-size:1rem;

    }

    .logo-subtitle{

        display:none;

    }

    .main-nav{

        width:100%;

    }

    .main-nav a{

        flex:1;

        min-width:120px;

    }

}



/*==========================================================
    REDUCED MOTION
==========================================================*/

@media (prefers-reduced-motion:reduce){

    *{

        transition:none !important;

    }

}



/*==========================================================
    END OF FILE
==========================================================*/