:root { --banner-h: 40px; }                 /* your banner is 40px tall */


body{
  margin:0;
  padding-top: var(--header-offset, 120px); /* JS updates this value */
  transition: padding-top .25s ease;        /* smooth when banner shows/hides */
}

.header-wrapper{
  position: fixed; top:0; left:0; right:0; z-index:1100;
  transition: transform .25s ease;
}

/* top banner */
.top-banner{
  background:#1d99dd; color:#fff; text-align:center; font-weight:bold;
  height: var(--banner-h);
  line-height: var(--banner-h);
  overflow: hidden;
}

/* When banner is hidden, move the whole header up by its height */
body.banner-hidden .header-wrapper{
  transform: translateY(calc(-1 * var(--banner-h)));
}

.top-banner a {
  color: white;
  text-decoration: none;
}

.top-banner a:hover {
  text-decoration: underline;
}


.top-nav-mobile a {
  font-weight: 300;
}

/* Header top section */
.header-top {
 min-height:40px; 
  background-color: #f1efef;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 100px;
  font-size: 14px;
}

.header-top,
.navbar {
  transition: transform 0.3s ease-in-out;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10);

}

.logo {
  margin-left: 20px;
}

.logo img {
  height: 70px;
}

.top-links {
  display: flex;
  align-items: center;
  gap: 20px;
}

.top-links a {
  text-decoration: none;
  color: #57585a;
  font-size: 14px;
}

.top-links a:hover {
  color: #0077c8;
}

/* Main navbar */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px 50px;
  background-color: #ffffff;
}

.nav-links a {
  color: #57585a;
}

.nav-left {
  flex-shrink: 0;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 30px;
  font-family: 'poppins';
  font-size: 18px;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 20px;
  align-items: center;
  margin: 0;
  padding: 0;
}

.nav-links li {
  position: relative;
}

.nav-links > li > a {
  text-decoration: none;
  color: #57585a;
  font-size: 16px;
  font-weight: 400;
  padding: 8px 12px;
  border-bottom: 2px solid transparent;
  transition: color 0.3s, border-bottom 0.3s;
  font-family: 'poppins';
}

.nav-links > li > a:hover {
  color: #57585a;
  border-bottom: 2px solid transparent;
}

.nav-links .active > a {
  color: #0077c8;
  border-bottom: 2px solid #0077c8;
}

.nav-item.dropdown {
  position: relative;
}

.dropdown-wrapper {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%; /* align just under the nav link */
  left: -20px;
  transform: translateX(0); /* default alignment */
  display: none;
  background: #ffffff;
  min-width: 240px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  border-radius: 7px;
  padding: 10px 10px 10px 10px;
  z-index: 1000;
}


/* remove all the browser’s default button styles */
.dropdown-toggle {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: 'poppins';
  font-size: 16px;
  color: #57585a;
  text-decoration: none;
  cursor: pointer;
}

/* optionally re-add your hover/focus styles */
.dropdown-toggle:hover,
.dropdown-toggle:focus {
  /* e.g. underline, color change, or custom outline */
  text-decoration: none;
  outline: none; /* if you’re doing a custom focus style */
  /* box-shadow: 0 0 0 3px rgba(0,123,255,0.5); */
}


.dropdown-menu li {
  border-top: 1px solid #e1e1e1;
}

.dropdown-menu li:first-child {
  border-top: none;
}

.dropdown-menu li a {
  display: block;
  padding: 12px 24px 6px;
  color: #004f8f;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.3s;
}

.dropdown-menu li a:hover {
  color: #1d99dd;
}


/* Hover on the whole wrapper, not just the <a> */
.nav-item.dropdown:hover .dropdown-menu,
.nav-item.dropdown .dropdown-menu:hover {
  display: block;
}

/* Keyboard access: open on focus */
.nav-item.dropdown:focus-within .dropdown-menu {
  display: block;
}

.contact-button a {
  background-color: #1d99dd;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  padding: 12px 20px;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s;
}

.contact-button a:hover {
  background-color: #188ac8;
}


body.nav-open {
  overflow: hidden;
  height: 100vh;
  position: fixed;
  width: 100%;
}


@media (max-width: 1200px) {
  body {
    font-family: 'Inter';
      margin: 0;
  }

  .navbar {
    min-height:72px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background: white;
  }

  .hamburger {
    display: flex;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
  }

  .hamburger span {
    height: 3px;
    width: 25px;
    background: #0077c8;
  }

  .nav-right {
    display: none;
  }

  .header-top {
    display: none;
  }

  .mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    width: 300px;
    height: 100vh;
    background: #fff;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2); /* shadow on the left edge */
    z-index: 2000;
    padding: 20px;
    overflow-y: auto;
    box-sizing: border-box;
  }



  .mobile-nav.active {
    transform: translateX(0);
  }

  .mobile-nav .close-btn {
    font-size: 30px;
    cursor: pointer;
    background: none;
    border: none;
    float: left;
  }

  .mobile-nav ul {
    list-style: none;
    margin: 10px 0;
    padding-left: 5px;
  }

  .mobile-nav li {
    border-bottom: 1px solid #eee;
  }

  .mobile-nav a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    color: #57585a;
    font-weight: bold;
    font-family: 'Inter';
    text-decoration: none;
  }
  

  .expand-toggle {
    font-size: 26px;
    font-weight: 500;
    color: #1d99dd;
    margin-left: 10px; /* optional spacing between text and + */
  }

  .submenu {
    display: none;
    padding-left: 15px;
    background: white;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;

  }

  .submenu a {
    font-weight: normal;
    color: #0077c8;
  }
  
  .submenu li:last-child {
    border-bottom: none;
  }
  
  .top-links {
    display: none;
  }
  
  .mobile-button a {
    justify-content: center;
}


/*
@media (max-width: 768px) {
.hamburger {
display: flex;
}

.nav-right {
display: none;
flex-direction: column;
align-items: flex-start;
margin-top: 10px;
width: 100%;
background-color: #fff;
z-index: 999;
}

.nav-right.active {
display: flex;
}

.nav-links {
flex-direction: column;
gap: 0;
width: 100%;
}

.nav-links li {
width: 100%;
}

.nav-links a {
padding: 15px;
display: block;
border-bottom: 1px solid #eee;
}

.dropdown-menu {
display: none;
position: static;
padding: 0;
background-color: #f9f9f9;
width: 100%;
box-shadow: none;
}

.dropdown-menu li a {
padding-left: 30px;
}

.top-links {
display: none;
}
}



/* @media (max-width: 768px) {
.hamburger {
display: flex;
}

.nav-right {
display: none;
flex-direction: column;
align-items: flex-start;
margin-top: 10px;
width: 100%;
}

.nav-right.active {
display: flex;
}

.nav-links {
flex-direction: column;
gap: 0;
width: 100%;
}

.nav-links li {
width: 100%;
}

.nav-links a {
padding: 15px;
display: block;
border-bottom: 1px solid #eee;

}

.dropdown-menu {
position: static;
box-shadow: none;
border-radius: 0;
padding: 0;
}

.top-links {
display: none;
}
} */