/* Navigation rules copied from the existing Hudson projects page. */
    /* Services dropdown mega menu */
    .menu-services {
      position: relative;
    }

    .services-mega {
      display: none;
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      transform: none;
      background: #ffffff;
      padding: 18px 20px;
      width: min(980px, calc(100vw - 24px));
      max-width: 980px;
      box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
      border-radius: 14px;
      border: 0;
      z-index: 1250;
      color: #0f1f3a;
      overflow: visible;
    }

    .services-mega::before {
      content: "";
      position: absolute;
      top: -14px;
      left: 0;
      right: 0;
      height: 18px;
      background: transparent;
    }

    @media (min-width: 992px) {
      .services-mega {
        width: 440px;
        max-width: 440px;
        padding: 14px 18px 20px 18px;
      }
    }

    .services-thumb {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      border-radius: 10px;
      background: #edf3fe;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.15s ease;
    }

    .services-item:hover .services-thumb {
      background: #d0e6fa;
    }

    .services-thumb i {
      font-size: 22px;
      color: #2f5ad6;
    }


    .services-mega ul {
      list-style: none;
      margin: 0;
      padding: 0;
      position: static !important;
      visibility: visible !important;
      opacity: 1 !important;
      height: auto !important;
      width: 100% !important;
      background: transparent !important;
      border: 0 !important;
    }

    .services-mega li {
      float: none !important;
      width: 100% !important;
      position: relative !important;
    }

    .services-mega-title {
      font-size: 15px;
      font-weight: 700;
      color: #0f1f3a;
      padding: 4px 14px 8px 14px;
    }

    .services-dropdown {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .services-mega li.services-item {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      gap: 16px;
      padding: 18px 24px;
      border-radius: 14px;
      background: #ffffff;
      transition: background 0.15s ease;
      text-align: left;
    }

    .services-caret {
      margin-left: auto;
      color: #8a94a7;
      font-weight: 700;
      font-size: 15px;
      line-height: 1;
      transition: color 0.15s ease;
    }

    .services-item:hover .services-caret {
      color: #2f5ad6;
    }

    @media (max-width: 991px) {
      .services-mobile-menu .services-caret {
        color: #ffffff !important;
        margin-left: auto;
      }

      header.header-mobile #mainmenu li>ul>li>span,
      header.header-mobile #mainmenu>li>ul>li>span,
      #mainmenu li>ul>li>span {
        background: url(../images/ui/arrow-down-light.webp) center no-repeat !important;
      }

      header.header-mobile #mainmenu>li>ul>li>span.active,
      header.header-mobile #mainmenu li>ul>li>span.active,
      #mainmenu li>ul>li>span.active {
        background: url(../images/ui/arrow-up-light.webp) center no-repeat !important;
      }
    }

    .services-mega li.services-item:hover {
      background: #edf3fe !important;
    }

    .services-text {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      text-align: left;
      justify-content: center;
      align-items: flex-start;
      width: 100%;
    }

    .services-title {
      font-size: 15px;
      font-weight: 600 !important;
      color: #0f1f3a !important;
      text-decoration: none !important;
      line-height: 1.2;
      padding: 0 !important;
      display: block !important;
      text-align: left !important;
    }

    .services-subtitle {
      font-size: 13px;
      color: #5b6d86;
      line-height: 1.15;
      margin: 0;
      display: block;
    }

    .menu-services:hover > .services-mega,
    .services-mega:hover {
      display: block;
    }

    @media (max-width: 991px) {
      .services-mega {
        display: none !important;
      }
    }

    .services-submenu {
      display: none;
      position: absolute;
      top: 0;
      left: calc(100% + 10px);
      width: 320px;
      border: 1px solid #e6edf5;
      border-radius: 12px;
      box-shadow: 0 16px 40px rgba(0,0,0,0.12);
      background: #ffffff;
      padding: 8px 0;
      z-index: 1400;
      text-align: left !important;
    }

    .services-submenu ul {
      display: block !important;
      list-style: none !important;
      padding: 0 !important;
      margin: 0 !important;
      text-align: left !important;
    }

    .services-submenu li {
      display: block !important;
      width: 100% !important;
      text-align: left !important;
    }

    .services-item.has-sub::after {
      content: "";
      position: absolute;
      top: 0;
      right: -12px;
      width: 12px;
      height: 100%;
      background: transparent;
    }

    .services-item.has-sub:hover > .services-submenu,
    .services-submenu:hover {
      display: block;
    }

    .services-submenu a {
      display: block !important;
      color: #1b3155 !important;
      font-weight: 600;
      text-decoration: none !important;
      white-space: normal;
      line-height: 1.25;
      padding: 10px 16px !important;
      text-align: left !important;
      width: 100% !important;
      box-sizing: border-box !important;
      transition: background 0.15s ease, color 0.15s ease;
    }

    .services-submenu a:hover {
      background: #e8ecf3 !important;
      color: #2563eb !important;
    }

    #mainmenu .services-mega a.services-title {
      text-align: left !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }

    #mainmenu .services-mega .services-submenu a {
      text-align: left !important;
      padding-top: 10px !important;
      padding-bottom: 10px !important;
    }

    @media (min-width: 992px) {
      .menu-services > ul.services-mobile-menu {
        display: none !important;
      }
    }

    /* Resources dropdown styles */
    .menu-resources {
      position: relative;
    }

    .resources-mega {
      display: none;
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      transform: none;
      background: #ffffff;
      padding: 0;
      width: min(700px, calc(100vw - 24px));
      max-width: 700px;
      box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
      border-radius: 14px;
      border: 0;
      z-index: 1250;
      color: #0f1f3a;
      overflow: visible;
    }

    .resources-mega::before {
      content: "";
      position: absolute;
      top: -14px;
      left: 0;
      right: 0;
      height: 18px;
      background: transparent;
    }

    .resources-mega-inner {
      display: flex;
      flex-direction: row;
    }

    .resources-links {
      flex: 1;
      padding: 14px 18px 20px 18px;
    }

    .resources-featured {
      width: 280px;
      background: linear-gradient(135deg, #f8fafc 0%, #edf3fe 100%);
      padding: 14px 20px 20px 20px;
      border-left: 1px solid #e6edf5;
      border-radius: 0 14px 14px 0;
    }

    .featured-label {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: #2563eb;
      margin-bottom: 14px;
    }

    .featured-card-link {
      display: block;
      text-decoration: none !important;
    }

    .featured-card-link:hover .featured-image {
      transform: scale(1.02);
    }

    .featured-image {
      width: 100%;
      height: 160px;
      object-fit: cover;
      border-radius: 10px;
      transition: transform 0.2s ease;
    }

    .featured-title {
      font-size: 15px !important;
      font-weight: 600 !important;
      color: #0f1f3a !important;
      margin: 14px 0 10px 0 !important;
      line-height: 1.35 !important;
      text-align: left !important;
    }

    .resources-featured .featured-readmore {
      font-size: 14px !important;
      font-weight: 600 !important;
      color: #2563eb !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 6px !important;
      text-align: left !important;
      text-decoration: none !important;
      border: none !important;
    }

    .resources-featured .featured-readmore i {
      font-size: 10px !important;
      color: #2563eb !important;
      transition: transform 0.2s ease;
    }

    .resources-featured .featured-card-link:hover .featured-readmore {
      color: #1d4ed8 !important;
    }

    .resources-featured .featured-card-link:hover .featured-readmore i {
      transform: translateX(3px);
      color: #1d4ed8 !important;
    }

    /* Featured Carousel Styles */
    .featured-carousel {
      position: relative;
      overflow: hidden;
    }

    .featured-slides {
      position: relative;
      min-height: 260px;
    }

    .featured-slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s ease, visibility 0.4s ease;
    }

    .featured-slide.active {
      position: relative;
      opacity: 1;
      visibility: visible;
    }

    .featured-dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 14px;
    }

    .featured-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #cbd5e1;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease;
    }

    .featured-dot:hover {
      background: #94a3b8;
      transform: scale(1.1);
    }

    .featured-dot.active {
      background: #2563eb;
    }

    .resources-mega-title {
      font-size: 15px;
      font-weight: 700;
      color: #0f1f3a;
      padding: 4px 14px 8px 14px;
    }

    .resources-dropdown {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .resources-mega ul {
      list-style: none;
      margin: 0;
      padding: 0;
      position: static !important;
      visibility: visible !important;
      opacity: 1 !important;
      height: auto !important;
      width: 100% !important;
      background: transparent !important;
      border: 0 !important;
    }

    .resources-mega li {
      float: none !important;
      width: 100% !important;
      position: relative !important;
    }

    .resources-mega li.resources-item {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      gap: 16px;
      padding: 18px 24px;
      border-radius: 14px;
      background: #ffffff;
      transition: background 0.15s ease;
      text-align: left;
    }

    .resources-mega li.resources-item:hover {
      background: #edf3fe !important;
    }

    .resources-mega li.resources-item a.resources-item-link {
      display: contents !important;
    }

    .resources-thumb {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      border-radius: 10px;
      background: #edf3fe;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.15s ease;
    }

    .resources-item:hover .resources-thumb {
      background: #d0e6fa;
    }

    .resources-thumb i {
      font-size: 22px;
      color: #2f5ad6;
    }

    .resources-text {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      text-align: left;
      justify-content: center;
      align-items: flex-start;
      width: 100%;
    }

    .resources-mega .resources-text .resources-title {
      font-size: 15px !important;
      font-weight: 600 !important;
      color: #0f1f3a !important;
      text-decoration: none !important;
      line-height: 1.2 !important;
      padding: 0 !important;
      display: block !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      border: none !important;
      margin: 0 !important;
    }

    .resources-mega .resources-text .resources-subtitle {
      font-size: 13px !important;
      color: #5b6d86 !important;
      line-height: 1.15 !important;
      margin: 0 !important;
      display: block !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      border: none !important;
      padding: 0 !important;
    }

    .menu-resources:hover > .resources-mega,
    .resources-mega:hover {
      display: block;
    }

    @media (max-width: 991px) {
      .resources-mega {
        display: none !important;
      }
    }

    @media (min-width: 992px) {
      .menu-resources > ul.resources-mobile-menu {
        display: none !important;
      }
    }

    /* Mobile Top Bar Styles */
    #mobile-topbar {
        display: none; /* Hidden by default (desktop) */
    }
    @media (max-width: 991px) {
        /* Extend topbar blue to very top of screen (iOS status bar area) */
        html {
            background: #234982;
        }
        body {
            padding-top: 30px;
        }
        /* Hide desktop topbar on mobile */
        #topbar {
            display: none !important;
        }
        #mobile-topbar {
            display: block;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: #234982;
            z-index: 99999;
            padding: 5px 16px;
        }
        .mobile-topbar-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .mobile-topbar-location {
            display: flex;
            align-items: center;
            gap: 5px;
            color: #fff;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
        }
        .mobile-topbar-reviews {
            display: flex;
            align-items: center;
            gap: 6px;
            color: #fff;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
        }
        .mobile-topbar-reviews:hover {
            color: #fff;
            text-decoration: none;
        }
        .mobile-topbar-stars {
            color: #ffc107;
            font-size: 11px;
            letter-spacing: 1px;
        }
        /* Add padding to header to push it below the mobile topbar */
        header,
        header.transparent,
        header.header-mobile {
            padding-top: 36px !important;
        }
    }
