/* =====================================================
   ================= TOP BAR =================
===================================================== */

.top-bar{
    background:#d10a21;
    color:#fff;
    padding:8px 0;
    font-size:13px;

    font-family:"Segoe UI", Arial, sans-serif;
    font-weight:500;

    -webkit-font-smoothing:antialiased;
}

.top-bar .container{
    max-width:1320px;
    margin:auto;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:10px;
    flex-wrap:wrap;
}

/* ================= Sections ================= */

.top-section{
    display:flex;
    align-items:center;
}

.top-left{
    flex:1;
    justify-content:flex-start;
}

.top-center{
    flex:2;
    justify-content:center;
    overflow:hidden;
}

.top-right{
    flex:1;
    justify-content:flex-end;
    gap:12px;
}

/* ================= Links ================= */

.top-bar a{
    color:#fff;
    text-decoration:none;
    transition:all .3s ease;
}

.top-bar a:hover{
    opacity:0.85;
}

/* ================= Text Clarity ================= */

.top-left a{
    font-weight:600;
    letter-spacing:0.3px;
}

.top-right span{
    font-weight:600;
    letter-spacing:0.5px;
}

/* =====================================================
   ================= Social Icons =================
===================================================== */

.social-icons1{
    display:flex;
    gap:10px;
    list-style:none;
    margin:0;
    padding:0;
}

.social-icons1 li a{

    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    background:rgba(255,255,255,0.15);

    color:#fff;
    font-size:14px;

    transition:all .35s ease;
}

.social-icons1 li a i{
    font-size:15px;
}

/* ===== Premium Hover Animation ===== */

.social-icons1 li a:hover{

    background:#fff;

    transform:translateY(-4px) scale(1.08);

    box-shadow:
    0 6px 18px rgba(0,0,0,0.25),
    0 0 12px rgba(255,255,255,0.5);
}

/* ================= Brand Colors ================= */

/* Facebook */
.social-icons1 li a:hover .fa-facebook-f{
    color:#1877F2;
}

/* X */
.social-icons1 li a:hover .fa-x-twitter{
    color:#000000;
}

/* Instagram */
.social-icons1 li a:hover .fa-instagram{
    color:#E4405F;
}

/* YouTube */
.social-icons1 li a:hover .fa-youtube{
    color:#FF0000;
}

/* =====================================================
   ================= Marquee =================
===================================================== */

.marquee-container{
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    position:relative;
}

.marquee-text{
    display:inline-block;
    padding-left:100%;
    animation:marquee-scroll 18s linear infinite;

    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.2px;

    text-shadow:0 1px 2px rgba(0,0,0,0.25);
}

.marquee-container:hover .marquee-text{
    animation-play-state:paused;
}

@keyframes marquee-scroll{
    0%{ transform:translateX(0); }
    100%{ transform:translateX(-100%); }
}

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

@media (max-width:992px){

    .top-bar .container{
        flex-direction:column;
        text-align:center;
        gap:6px;
    }

    .top-left,
    .top-center,
    .top-right{
        width:100%;
        justify-content:center;
    }

    .top-right{
        flex-direction:row;
    }

    .marquee-text{
        font-size:12px;
    }
}

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

@media (max-width:576px){

    .top-bar{
        font-size:12px;
        padding:6px 0;
    }

    .top-left{
        font-size:11px;
    }

    .marquee-text{
        font-size:11px;
        letter-spacing:.8px;
        font-weight:600;
    }

    .social-icons1 li a{
        width:26px;
        height:26px;
        font-size:12px;
    }

}

/* =====================================================
   ============ LARGE MONITOR (4K etc) =================
===================================================== */

@media (min-width:1600px){

    .top-bar{
        font-size:14px;
    }

    .top-bar .container{
        max-width:1500px;
    }

    .social-icons1 li a{
        width:34px;
        height:34px;
        font-size:15px;
    }
}

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

:root{
    --topbar-height:40px;
}

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

.main-nav{
    width:100%;
    padding:14px 5%;
    background:transparent;
    backdrop-filter:blur(12px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    z-index:9999;
    transition:all .3s ease-in-out;
}

/* Sticky Navbar */

.main-nav.sticky{
    position:fixed;
    top:var(--topbar-height);
    left:0;
    width:100%;
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(16px);
    box-shadow:0 6px 25px rgba(0,0,0,0.08);
    padding:10px 5%;
}

body.nav-fixed{
    padding-top:90px;
}

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

.nav-logo{
    display:flex;
    align-items:center;
    max-width:260px;
}

.nav-logo img{
    width:100%;
    height:auto;
    max-height:70px;
    object-fit:contain;
    transition:all .3s ease;
}

.main-nav.sticky .nav-logo img{
    max-height:55px;
}

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

.nav-menu .menu-list{
    display:flex;
    align-items:center;
    gap:2rem;
}

.menu-list li{
    list-style:none;
    position:relative;
}

.menu-list a{
    text-decoration:none;
    color:#CE0F2C;
    font-size:17px;
    font-weight:700;
    white-space:nowrap;
    position:relative;
    transition:.3s;
}

.menu-list a:hover{
    color:#060606;
}

/* Hover underline animation */

.menu-list a::before{
    content:"";
    position:absolute;
    bottom:-6px;
    left:0;
    width:0;
    height:2px;
    background:#CE0F2C;
    transition:.3s;
}

.menu-list a:hover::before{
    width:100%;
}

/* =====================================================
   ACTIVE MENU ITEM
===================================================== */

.menu-list .current-menu-item > a,
.menu-list .current_page_item > a,
.menu-list .current-menu-parent > a,
.menu-list .current-menu-ancestor > a{

    color:#060606;
    font-weight:800;
}

.menu-list .current-menu-item > a::before,
.menu-list .current_page_item > a::before,
.menu-list .current-menu-parent > a::before,
.menu-list .current-menu-ancestor > a::before{

    width:100%;
}

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

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

/* Dropdown arrow */

.menu-item-has-children > a{
    display:flex;
    align-items:center;
    gap:6px;
}

.menu-item-has-children > a::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:12px;

    transition:transform .3s ease;
}

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

/* Submenu */

.sub-menu{
    position:absolute;
    top:110%;
    left:0;
    background:#fff;
    min-width:230px;
    border-radius:10px;
    padding:10px 0;
    box-shadow:0 12px 35px rgba(0,0,0,0.12);
    display:none;
    flex-direction:column;
    animation:dropdownFade .25s ease;
}

.menu-item-has-children:hover > .sub-menu{
    display:flex;
}

.sub-menu li a{
    padding:10px 22px;
    display:block;
    font-size:15px;
    color:#CE0F2C !important;
    transition:.25s;
}

.sub-menu li a:hover{
    background:#fff4e5;
    color:#060606 !important;
}

/* Nested submenu */

.sub-menu .sub-menu{
    left:100%;
    top:0;
}

/* Nested arrow */

.sub-menu .menu-item-has-children > a::after{
    content:"\f105";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    right:15px;
}

/* =====================================================
   PHONE BUTTON
===================================================== */

.phone-btn{
    background:#CE0F2C;
    color:#fff;
    padding:10px 22px;
    border-radius:30px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:.3s;
    box-shadow:0 6px 18px rgba(206,15,44,0.4);
}

@media(hover:hover){
    .phone-btn:hover{
        background:#000000;
        color:#fff;
        transform:translateY(-3px);
    }
}

/* =====================================================
   HAMBURGER MENU
===================================================== */

.hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    z-index:10001;
}

.hamburger span{
    width:28px;
    height:3px;
    background:#CE0F2C;
    border-radius:4px;
    transition:all .35s ease;
}

.hamburger:hover span{
    background:#060606;
}

.hamburger.active span:nth-child(1){
    transform:translateY(9px) rotate(45deg);
}

.hamburger.active span:nth-child(2){
    opacity:0;
}

.hamburger.active span:nth-child(3){
    transform:translateY(-9px) rotate(-45deg);
}

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

@media (max-width:1200px){

.nav-logo{
    max-width:220px;
}

.nav-logo img{
    max-height:65px;
}

.menu-list a{
    font-size:15px;
}

}

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

@media (max-width:992px){

:root{
    --topbar-height:60px;
}

.phone-btn{
    display:none;
}

.hamburger{
    display:flex;
}

.nav-logo{
    max-width:200px;
}

.nav-logo img{
    max-height:55px;
}

/* Mobile menu */

.nav-menu{
    position:fixed;
    top:0;
    left:-100%;
    width:80%;
    max-width:320px;
    height:100vh;
    background:#fff;
    padding:100px 30px 40px;
    box-shadow:-6px 0 25px rgba(0,0,0,0.15);
    transition:.4s ease;
    overflow-y:auto;
    z-index:10000;
}

.nav-menu.open{
    left:0;
}

.menu-list{
    flex-direction:column;
    align-items:flex-start;

    gap:20px;
    width:100%;
}

.menu-list a{
    font-size:16px;
    width:100%;
}

/* Mobile submenu */

.sub-menu{
    position:static;
    background:#f5f5f5;
    margin-top:8px;
    padding-left:15px;
    border-left:3px solid #CE0F2C;
    border-radius:6px;
    box-shadow:none;
    display:none;
    width:100%;
}

.menu-item-has-children.open > .sub-menu{
    display:block;
}

.sub-menu .sub-menu{
    padding-left:15px;
}

}

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

@keyframes dropdownFade{

from{
    opacity:0;
    transform:translateY(8px);
}

to{
    opacity:1;
    transform:translateY(0);
}

}

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

.menu-overlay{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9998;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}

body.menu-open{
    overflow:hidden;
}

