/* HEADER CSS */

/* Basic reset and layout */
        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            padding: 0
            overflow-x: hidden;
        }

        /* Create space for fixed header */
        .main {
            margin-top: 80px;
            transition: margin-top 0.3s ease;
        }

        .wc_statusbar:not([style*="display: none"]) ~ .header ~ .main {
            margin-top: 0px;
        }

        .wc_statusbar.collapsed ~ .header ~ .main {
            margin-top: 80px;
        }

        /* STATUSBAR STYLES */
        
        
        .wc_statusbar {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            z-index: 1001 !important;
            transition: transform 0.3s ease !important;
        }

        .wc_statusbar.collapsed {
            transform: translateY(-100%);
        }
        
        .navbar-inverse {background-color: #2a4b6a; border-color: #2a4b6a;}
        

        /* HEADER STYLES */
        .header {
            position: fixed !important;
            top: 40px;
            left: 0;
            right: 0;
            height: 80px;
            background: rgba(255, 255, 255, 0.65);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
            z-index: 1000;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            padding: 0 20px;
        }

        body:not(:has(.wc_statusbar)) .header {
            top: 0;
        }

        .wc_statusbar[style*="display: none"] ~ .header {
            top: 0;
        }

        .header.scrolled {
            top: 0;
            height: 60px;
            background: rgba(255, 255, 255, 1);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .header.admin-hidden {
            top: 0;
        }

        /* LOGO */
        .site-logo {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            margin-right: 20px;
        }

        .site-logo img {
            height: 50px;
            width: auto;
            transition: height 0.3s ease;
        }

        .header.scrolled .site-logo img {
            height: 40px;
        }

        /* DESKTOP NAVIGATION */
        .nav-container {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .main-nav {
            width: 100%;
            display: flex;
            justify-content: center;
            position: relative;
        }

        .main-nav ul.sm {
            display: flex !important;
            align-items: center !important;
            gap: 30px !important;
            margin: 0 !important;
            padding: 0 !important;
            list-style: none !important;
        }

        .main-nav ul.sm > li {
            position: relative;
        }

        .main-nav ul.sm > li > a {
            color: #41000C !important;
            font-size: 20px !important;
            font-weight: 500 !important;
            text-decoration: none !important;
            padding: 10px 0 !important;
            transition: color 0.3s ease !important;
            white-space: nowrap !important;
            display: block !important;
        }

        .main-nav ul.sm > li > a:hover {
            color: #41000C !important;
        }

        /* DESKTOP SUBMENU ARROWS */
        .main-nav ul.sm > li:has(ul) > a {
            position: relative !important;
            padding-right: 15px !important;
        }

        .main-nav ul.sm > li:has(ul) > a::after {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            width: 6px;
            height: 6px;
            border-right: 2px solid currentColor;
            border-bottom: 2px solid currentColor;
            transform: translateY(-50%) rotate(45deg);
            transition: transform 0.3s ease;
        }

        .main-nav ul.sm > li:hover:has(ul) > a::after {
            transform: translateY(-50%) rotate(225deg);
        }

        /* DESKTOP SUBMENUS */
        .main-nav ul.sm ul {
            position: absolute !important;
            top: 100% !important;
            left: 0 !important;
            background: #fff !important;
            min-width: 250px !important;
            border-radius: 8px !important;
            box-shadow: 0 12px 35px rgba(0,0,0,0.15) !important;
            padding: 16px 0 !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(-10px) !important;
            transition: all 0.3s ease !important;
            z-index: 1000 !important;
            border-top: 3px solid #41000C !important;
            list-style: none !important;
            margin: 0 !important;
        }

        .main-nav ul.sm li:hover > ul {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
        }

        .main-nav ul.sm ul li a {
            padding: 12px 20px !important;
            color: #666 !important;
            font-weight: 400 !important;
            font-size: 16px !important;
            display: block !important;
            text-decoration: none !important;
            transition: all 0.2s ease !important;
            border-bottom: 1px solid #f0f0f0 !important;
        }

        .main-nav ul.sm ul li:last-child a {
            border-bottom: none !important;
        }

        .main-nav ul.sm ul li a:hover {
            color: #41000C !important;
            background: #f8f9fa !important;
            padding-left: 24px !important;
        }
        
        .sm-buz a .sub-arrow {display: none !important;}
        
        .sm-buz a, .sm-buz a:hover, .sm-buz a:focus, .sm-buz a:active {font-family: 'georgiaregular' !important;}

        /* CTA BUTTON */
        .cta-button {
            flex-shrink: 0;
            margin-left: 20px;
        }

        .cta-button a {
            background: #007cba;
            color: white !important;
            padding: 12px 24px;
            border-radius: 25px;
            text-decoration: none !important;
            font-weight: 600;
            transition: all 0.3s ease;
            display: inline-block;
        }

        .cta-button a:hover {
            background: #005a8b;
            transform: translateY(-2px);
        }

        /* MOBILE MENU TRIGGER */
        .mobile-menu-trigger {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            z-index: 1002;
        }

        .hamburger {
            width: 25px;
            height: 20px;
            position: relative;
        }

        .hamburger span {
            display: block;
            height: 3px;
            width: 100%;
            background: #333;
            margin-bottom: 4px;
            transition: all 0.3s ease;
        }

        .hamburger span:last-child {
            margin-bottom: 0;
        }

        /* Hamburger animation */
        .mobile-menu.open ~ .mobile-menu-trigger .hamburger span:nth-child(1) {
            transform: rotate(45deg) translate(6px, 6px);
        }

        .mobile-menu.open ~ .mobile-menu-trigger .hamburger span:nth-child(2) {
            opacity: 0;
        }

        .mobile-menu.open ~ .mobile-menu-trigger .hamburger span:nth-child(3) {
            transform: rotate(-45deg) translate(6px, -6px);
        }

        /* OFF-CANVAS MOBILE MENU */
        .mobile-menu {
            position: fixed;
            top: 0;
            left: -280px;
            width: 280px;
            height: 100vh;
            background: white;
            z-index: 1002;
            padding: 20px;
            overflow-y: auto;
            transition: left 0.3s ease;
            box-shadow: 2px 0 10px rgba(0,0,0,0.1);
        }

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

        /* Mobile menu overlay */
        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.5);
            z-index: 1001;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }

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

        /* MOBILE MENU STYLING */
        .mobile-menu ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .mobile-menu > ul > li {
            border-bottom: 1px solid #eee;
        }

        .mobile-menu li a {
            display: block;
            padding: 15px 0;
            color: #333;
            text-decoration: none;
            font-size: 16px;
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .mobile-menu li a:hover {
            color: #007cba;
        }

        /* Mobile submenu styling */
        .mobile-menu .submenu {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            background: #f8f9fa;
            margin: 0 -20px;
            padding: 0 20px;
        }

        .mobile-menu .submenu.open {
            max-height: 500px;
        }

        .mobile-menu .submenu li {
            border-bottom: 1px solid #e0e0e0;
        }

        .mobile-menu .submenu li:last-child {
            border-bottom: none;
        }

        .mobile-menu .submenu li a {
            padding: 10px 0 10px 20px;
            font-size: 14px;
            color: #666;
            font-weight: 400;
        }

        .mobile-menu .has-submenu > a {
            position: relative;
            padding-right: 30px;
        }

        .mobile-menu .has-submenu > a::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #666;
    transition: transform 0.3s ease;
}

.mobile-menu .has-submenu.open > a::after {
    transform: translateY(-50%) rotate(90deg);
}    

        /* Mobile CTA */
        .mobile-cta {
            margin-top: 30px;
            padding: 15px 20px;
            background: #007cba;
            color: white;
            text-align: center;
            border-radius: 25px;
            text-decoration: none;
            font-weight: 600;
            display: block;
            transition: background 0.3s ease;
        }

        .mobile-cta:hover {
            background: #005a8b;
            color: white;
            text-decoration: none;
        }

        /* MOBILE STYLES */
        @media (max-width: 768px) {
            .wc_statusbar {
                display: none !important;
            }

            .main {
                margin-top: 70px !important;
            }

            .header {
                top: 0 !important;
                height: 70px;
                background: rgba(255, 255, 255, 1);
                padding: 0 15px;
                justify-content: space-between;
            }

            .site-logo img {
                height: 35px;
            }

            .header.scrolled .site-logo img {
                height: 28px;
            }

            .nav-container,
            .cta-button {
                display: none;
            }

            .mobile-menu-trigger {
                display: block;
            }
        }

        /* Hide ColdFusion hamburger */
        .nav-container .main-menu-btn {
            display: none !important;
        }
        
        #main-menu-state {display:none !important;}

        /* Override SmartMenus arrows */
        .main-nav .sm ul a.has-submenu::after,
        .main-nav .sm ul a.has-submenu::before {
            display: none !important;
        }       