/*==========================================
    NORTHBRIDGE BANK LLC NAVBAR
    PART 1
==========================================*/

/*=============
RESET
==============*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

a{
    text-decoration:none;
}

button{
    border:none;
    background:none;
    cursor:pointer;
    font-family:inherit;
}

ul{
    list-style:none;
}

/*=============
VARIABLES
==============*/

:root{

    --primary:#0B3A63;
    --primary-light:#0F4C81;

    --white:#ffffff;

    --text:#1F2937;

    --border:#E5E7EB;

    --bg:#F8FAFC;

    --shadow:0 15px 40px rgba(0,0,0,.08);

    --radius:16px;

    --transition:.3s ease;

}

/*=============
NAVBAR
==============*/

.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:90px;

    background:var(--white);

    border-bottom:1px solid transparent;

    z-index:1000;

    transition:var(--transition);

}

.navbar.scrolled{

    border-color:var(--border);

    box-shadow:var(--shadow);

}

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

.nav-container{

    max-width:1400px;

    margin:auto;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 40px;

}

/*=============
BRAND
==============*/

.brand{

    color:inherit;

    flex-shrink:0;

}

.brand-text{

    display:flex;

    flex-direction:column;

}

.brand-text h1{

    font-size:30px;

    font-weight:700;

    color:var(--primary);

    line-height:1;

}

.brand-text span{

    margin-top:4px;

    font-size:11px;

    letter-spacing:5px;

    color:var(--primary-light);

    font-weight:600;

}

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

.nav-links{

    margin-left:auto;

    margin-right:50px;

}

.nav-links ul{

    display:flex;

    align-items:center;

    gap:40px;

}

/*=============
DROPDOWN
==============*/

.dropdown{

    position:relative;

}

.dropdown-toggle{

    height:90px;

    display:flex;

    align-items:center;

    gap:8px;

    font-size:15px;

    font-weight:600;

    color:var(--text);

    transition:.25s;

}

.dropdown-toggle:hover{

    color:var(--primary);

}

.dropdown-toggle i{

    font-size:12px;

    transition:.25s;

}

.dropdown:hover .dropdown-toggle i{

    transform:rotate(180deg);

}

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

.dropdown-menu{

    position:absolute;

    top:110%;

    left:50%;

    transform:translateX(-50%);

    width:320px;

    background:var(--white);

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

    border-radius:18px;

    box-shadow:var(--shadow);

    padding:15px;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.25s;

}

.dropdown:hover .dropdown-menu,
.dropdown.active .dropdown-menu{

    top:100%;

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

/*=============
MENU ITEMS
==============*/

.dropdown-menu a{

    display:flex;

    gap:15px;

    align-items:flex-start;

    padding:14px;

    border-radius:14px;

    color:var(--text);

    transition:.25s;

}

.dropdown-menu a:hover{

    background:#F4F7FB;

}

.dropdown-icon{

    width:46px;

    height:46px;

    border-radius:50%;

    background:#EDF4FB;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}

.dropdown-icon i{

    color:var(--primary);

    font-size:18px;

}

.dropdown-menu h4{

    font-size:15px;

    margin-bottom:4px;

    color:var(--primary);

}

.dropdown-menu p{

    font-size:13px;

    line-height:1.6;

    color:#6B7280;

}

/*=============
RIGHT SIDE
==============*/

.nav-actions{

    display:flex;

    align-items:center;

    gap:18px;

}

.login-btn{

    font-size:15px;

    font-weight:600;

    color:var(--text);

    transition:.25s;

}

.login-btn:hover{

    color:var(--primary);

}

.open-account-btn{

    padding:14px 26px;

    border:2px solid var(--primary);

    border-radius:999px;

    color:var(--primary);

    font-weight:600;

    transition:.25s;

}

.open-account-btn:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-2px);

}

/*=============
MENU BUTTON
==============*/

.menu-toggle{

    display:none;

    width:48px;

    height:48px;

    border-radius:12px;

    color:var(--primary);

    font-size:22px;

}

.menu-toggle:hover{

    background:#EEF4FB;

}

/*=============
HOVER BRIDGE
==============*/

.dropdown::after{

    content:"";

    position:absolute;

    left:0;

    top:100%;

    width:100%;

    height:20px;

}
/*==========================================
    NORTHBRIDGE BANK LLC NAVBAR
    PART 2
==========================================*/


/*=============
OVERLAY
==============*/

.nav-overlay{

    position:fixed;

    inset:0;

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

    opacity:0;

    visibility:hidden;

    transition:.3s ease;

    z-index:999;

}

.nav-overlay.active{

    opacity:1;

    visibility:visible;

}


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

.mobile-nav{

    position:fixed;

    top:0;

    right:-100%;

    width:360px;

    max-width:100%;

    height:100vh;

    background:#fff;

    display:flex;

    flex-direction:column;

    transition:right .35s ease;

    z-index:1001;

    overflow-y:auto;

    box-shadow:-10px 0 35px rgba(0,0,0,.15);

}

.mobile-nav.active{

    right:0;

}


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

.mobile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 24px;

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

}

.close-menu{

    width:44px;

    height:44px;

    border-radius:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--primary);

    transition:.3s;

}

.close-menu:hover{

    background:#EEF4FB;

}


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

.mobile-links{

    padding:20px 24px;

}

.mobile-links details{

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

}

.mobile-links summary{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    cursor:pointer;

    list-style:none;

    font-weight:600;

    color:var(--text);

}

.mobile-links summary::-webkit-details-marker{

    display:none;

}

.mobile-links details[open] summary{

    color:var(--primary);

}

.mobile-links details[open] summary i{

    transform:rotate(45deg);

}

.mobile-links summary i{

    transition:.3s;

}


/*=============
SUB LINKS
==============*/

.mobile-links a{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 0 14px 18px;

    color:#6B7280;

    font-size:15px;

    transition:.25s;

}

.mobile-links a:hover{

    color:var(--primary);

}

.mobile-links a i{

    width:18px;

    text-align:center;

    color:var(--primary);

}


/*=============
BOTTOM BUTTONS
==============*/

.mobile-actions{

    margin-top:auto;

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:15px;

}

.mobile-login{

    display:flex;

    justify-content:center;

    align-items:center;

    height:52px;

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

    border-radius:999px;

    color:var(--text);

    font-weight:600;

    transition:.3s;

}

.mobile-login:hover{

    border-color:var(--primary);

    color:var(--primary);

}

.mobile-open-account{

    display:flex;

    justify-content:center;

    align-items:center;

    height:54px;

    border-radius:999px;

    background:var(--primary);

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.mobile-open-account:hover{

    background:var(--primary-light);

}


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

@media(max-width:1024px){

    .nav-links{

        display:none;

    }

    .nav-actions{

        display:none;

    }

    .menu-toggle{

        display:flex;

        align-items:center;

        justify-content:center;

    }

}

@media(min-width:1025px){

    .mobile-nav{

        display:none;

    }

}

@media(max-width:768px){

    .navbar{

        height:80px;

    }

    .nav-container{

        padding:0 20px;

    }

    .brand-text h1{

        font-size:24px;

    }

    .brand-text span{

        font-size:10px;

        letter-spacing:4px;

    }

    .mobile-nav{

        width:100%;

    }

}

@media(max-width:480px){

    .mobile-header{

        padding:22px 18px;

    }

    .mobile-links{

        padding:18px;

    }

    .mobile-actions{

        padding:18px;

    }

}


/*=============
ANIMATIONS
==============*/

@keyframes fadeDown{

    from{

        opacity:0;

        transform:translateY(-10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.dropdown-menu{

    animation:fadeDown .25s ease;

}
.dropdown-menu{

    border-top:4px solid var(--primary);

}
.dropdown-menu a{

    position:relative;

    transition:.3s;

}

.dropdown-menu a:hover{

    background:#F3F8FD;

    transform:translateX(6px);

}

.dropdown-menu a{

    position:relative;

    transition:.3s;

}

.dropdown-menu a:hover{

    background:#F3F8FD;

    transform:translateX(6px);

}

.dropdown-icon{

    width:52px;

    height:52px;

    border-radius:50%;

    background:#EDF5FD;

}

.dropdown-menu a:hover .dropdown-icon{

    background:var(--primary);

}

.dropdown-menu a:hover .dropdown-icon i{

    color:#fff;

}

.open-account-btn{

    background:var(--primary);

    color:#fff;

    border:none;

    box-shadow:0 8px 25px rgba(11,58,99,.18);

}

.open-account-btn:hover{

    background:var(--primary-light);

    transform:translateY(-3px);

}

.login-btn{

    position:relative;

}

.login-btn::after{

    content:"";

    position:absolute;

    bottom:-6px;

    left:0;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

.login-btn:hover::after{

    width:100%;

}

.navbar.scrolled{

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

    backdrop-filter:blur(18px);

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

}

.mobile-header{

    background:var(--primary);

}

.mobile-header h1{

    color:#fff;

}

.mobile-header span{

    color:#BFD7F2;

}

.close-menu{

    color:#fff;

}

.nav-active{

    color:var(--primary);

}

.nav-active::after{

    width:100%;

}



/*=========================================
HOME NAV ITEM
=========================================*/

.nav-home{
    list-style: none;
}

.nav-home a{

    display: flex;
    align-items: center;
    gap: .55rem;

    padding: .9rem 1.15rem;

    text-decoration: none;

    color: #07204A;

    font-size: .96rem;
    font-weight: 600;

    border-radius: 999px;

    transition: all .3s ease;

}

.nav-home a i{

    color: #D4AF37;

    font-size: .9rem;

    transition: .3s ease;

}

.nav-home a:hover{

    background: rgba(212,175,55,.10);

    color: #07204A;

}

.nav-home a:hover i{

    transform: scale(1.15);

}

/*=========================================
ACTIVE HOME LINK
=========================================*/

.nav-home a.active{

    background: #07204A;

    color: #fff;

}

.nav-home a.active i{

    color: #D4AF37;

}

/*=========================================
MOBILE HOME LINK
=========================================*/

.mobile-home{

    display: flex;
    align-items: center;
    gap: 1rem;

    padding: 1rem 1.25rem;

    margin-bottom: 1rem;

    background: rgba(212,175,55,.08);

    border: 1px solid rgba(212,175,55,.18);

    border-radius: 14px;

    color: #07204A;

    text-decoration: none;

    font-weight: 600;

    transition: all .3s ease;

}

.mobile-home i{

    color: #D4AF37;

    font-size: 1rem;

}

.mobile-home:hover{

    background: #D4AF37;

    color: #07204A;

    transform: translateX(4px);

}

.mobile-home:hover i{

    color: #07204A;

}

.nav-home a{

    display: flex;
    align-items: center;
    gap: .45rem;

    padding: .8rem 0;

    background: transparent;

    border-radius: 0;

    color: #07204A;

    font-weight: 600;

}

.nav-home a:hover{

    background: transparent;

    color: #D4AF37;

}

.nav-home a i{

    color: inherit;

}


/*=========================================
NAV ACTIONS
=========================================*/

.nav-actions{

    display:flex;

    align-items:center;

    gap:16px;

}

.nav-actions a{

    text-decoration:none;

    font-weight:600;

    font-size:.95rem;

    transition:.3s ease;

}

/* Login */

.nav-actions a:first-child{

    color:var(--primary-color,#07204A);

    padding:12px 18px;

}

.nav-actions a:first-child:hover{

    color:#C8A75B;

}

/* Open Account */

.nav-actions a:last-child{

    background:#07204A;

    color:#fff;

    padding:13px 26px;

    border-radius:50px;

    border:1px solid #07204A;

    box-shadow:0 12px 30px rgba(7,32,74,.15);

}

.nav-actions a:last-child:hover{

    background:#C8A75B;

    border-color:#C8A75B;

    color:#07204A;

    transform:translateY(-2px);

    box-shadow:0 18px 35px rgba(200,167,91,.25);

}

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

.mobile-actions{

    margin-top:35px;

    display:flex;

    flex-direction:column;

    gap:14px;

}

.mobile-actions a{

    text-decoration:none;

    text-align:center;

    padding:15px 20px;

    border-radius:14px;

    font-weight:600;

    transition:.3s ease;

}

/* Login */

.mobile-actions a:first-child{

    border:1px solid #D7DCE5;

    color:#07204A;

    background:#fff;

}

.mobile-actions a:first-child:hover{

    border-color:#C8A75B;

    color:#C8A75B;

}

/* Open Account */

.mobile-actions a:last-child{

    background:#07204A;

    color:#fff;

    border:1px solid #07204A;

}

.mobile-actions a:last-child:hover{

    background:#C8A75B;

    border-color:#C8A75B;

    color:#07204A;

}

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

@media (max-width:992px){

    .nav-actions{

        display:none;

    }

}

@media (min-width:993px){

    .mobile-actions{

        display:none;

    }

}