
.site-header-nav {
  position: absolute;
  top:5px;
  left:30px;
  background: transparent;
  z-index: 1000;
}

.header-container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: flex-end;
  background: transparent;
}

a.site-title {
  color: #000;
  font-size: 1.5rem;
}

a.site-title:hover {
  color: #03497c;
}

/* ===== Root Level (Light Theme) ===== */
ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.nav-list {
  display: flex;
  flex-direction: row;
  border: none;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  background: #c0d8db;
  box-shadow: 0 2px 5px #a1a1ad;
  border-radius: 5px;
}

.nav-list>li.has-submenu {
  position: relative;
}

body.light-theme ul.submenu-level-1 {
  margin: 0;
  padding: 0;
  border: none;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  min-width: 280px;
  max-width: 280px;
  background: #c0d8db;
  border-radius: 5px;
}

body.light-theme .nav-list.root-level-1>li {
  padding: 5px 0px 10px 5px;
}

body.light-theme .nav-list.root-level-1>li>a,
body.light-theme .nav-list.root-level-1>li>button {
  color: #03497c;
  background: transparent;
  display: block;
  width: 100%;
  border: none;
  font-size: 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 300;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}

body.light-theme .nav-list.root-level-1>li>a:hover,
body.light-theme .nav-list.root-level-1>li>button:hover,
body.light-theme .nav-list.root-level-1>li>button:focus {
  color: #03497c;
  background: #99c3ff;
}

/* ===== Second Level : 1st subnav ===== */

body.light-theme ul.submenu-level-1 {
  background: #c0d8db;
  margin: 0px 0px 0px 0px;
  min-width: 300px;
}

body.light-theme ul.submenu-level-1 li {
  padding: 10px 0px 10px 10px;
  max-width: calc(300px - 34px);
}

body.light-theme ul.submenu-level-1 li a,
body.light-theme ul.submenu-level-1 li button {
  padding: 2px 0px 2px 2px;
  max-width: calc(300px - 14px);
  color: #03497c;
  background: transparent;
  display: block;
  width: 100%;
  border: none;
  font-size: 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 300;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}

body.light-theme .submenu-level-1 a:hover,
body.light-theme .submenu-level-1 button:hover,
body.light-theme .submenu-level-1 a:focus,
body.light-theme .submenu-level-1 button:focus {
  color: #03497c;
  background: #99c3ff;
}

/* ===== Third Level : 2nd subnav ===== */


body.light-theme ul.submenu-level-2 {
  background: #e1e9eb;
  padding: 5px 0px 10px 10px;
  max-width: calc(300px - 20px);
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  display: none;
}

body.light-theme ul.submenu-level-2 li {
  padding: 15px 0px 0px 0px;
}

body.light-theme .submenu-level-2 a,
body.light-theme .submenu-level-2 button {
  padding: 0px 5px 0px 5px;
  max-width: calc(300px - 10px);
  color: #03497c;
  display: block;
  width: 100%;
  border: none;
  font-size: 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 300;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}

body.light-theme .submenu-level-2 a:hover,
body.light-theme .submenu-level-2 button:hover,
body.light-theme .submenu-level-2 a:focus,
body.light-theme .submenu-level-2 button:focus {
  color: #03497c;
  background: #99c3ff;
}

/* ===== Global Theme Classes ===== */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  display: none;
}


#menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: none;
  width: 30px;
  height: 24px;
  position: relative;
  color: #fff;
}

.hamburger,
.hamburger::before,
.hamburger::after {
  content: '';
  display: block;
  width: 100%;
  height: 4px;
  background: #fff;
  border-radius: 2px;
  position: absolute;
  transition: all 0.3s ease;
}

.hamburger {
  top: 50%;
  transform: translateY(-50%);
}

.hamburger::before {
  top: -10px;
}

.hamburger::after {
  top: 10px;
}

#menu-toggle.open .hamburger {
  background: transparent;
}

#menu-toggle.open .hamburger::before {
  transform: rotate(45deg);
  top: 0;
}

#menu-toggle.open .hamburger::after {
  transform: rotate(-45deg);
  top: 0;
}

.toggle-icon {
  margin-left: 5px;
}

.has-submenu button[aria-expanded="true"]+.submenu {
  display: block;
}


/* Mobile CSS */
@media screen and (max-width: 9975px) {
  .header-container {
    flex-direction: column;
    align-items: flex-start;
  }

  #menu-toggle {
    display: block;
    margin: 1rem 0;
  }

  .nav-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 300px;
    min-width: 300px;
    margin-top: 0px;
    flex-direction: column;
    display: none;
  }

.nav-list {
  display: none;
}

.nav-list.open {
  display: flex;
}

  body.light-theme ul.submenu-level-1 {
    background: #c0d8db;
    margin: 0px 0px 0px -10px;
    min-width: 280px;
  }

  .submenu {
    position: static;
    box-shadow: none;
  }

  body.light-theme .nav-list.root-level-1>li {
    padding: 5px 0px 10px 5px;
    width: 295px;
  }


  /* Fix submenu stacking in mobile */
  .submenu-level-1,
  .submenu-level-2 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: none;
    width: 100%;
  }

  .submenu-level-1.open,
  .submenu-level-2.open {
    display: block;
  }

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

  .nav-list li a,
  .nav-list li button {
    width: 100%;
    display: block;
  }

  body.light-theme ul.submenu-level-1 {
    background: #c0d8db;
    margin: 0px 0px 0px 15px;
    max-width: 280px;

  }

  body.light-theme ul.submenu-level-2 {
    background: #e1e9eb;
    max-width: calc(300px - 45px);
  }

}

/* Desktop CSS */
@media screen and (min-width: 1176px) {
  .header-container {
    flex-direction: row;
  }

}

.nav-list li {
padding: 8px;
}