.hdr.wide-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;

}
.hdr.wide-menu nav ul li {
  position: static;
}

.hdr.wide-menu .mobile-toggle, .hdr.wide-menu nav .close-menu  {
  display: none;
}

.hero {
  /* position: relative;
  padding-top: 133px; */
}


.big-menu .menu-item-has-children .sub-menu-container {
  /* display: none; */
  display: flex;
  position: absolute;
  z-index: 15;
  width: 100%;
  max-height: 16.875rem;
  /* max-height: 25vh; */
  left: -999999px;
  top: auto;

  /* this is to avoid a dark band forming due to the overlapping dropdowns fading in */
  /* i don't know why this combo works */
  background-image: linear-gradient(to bottom, transparent 0%, transparent 31.4%, #020c1e 32%, #020c1e 100%);
  background-position-y: -42px;
  
  padding: 1.6875rem 0.6875rem 3rem;
  /* padding: 1.6875rem 0.6875rem; */
  opacity: 0;

  /* have to transition left, after the opacity is done. otherwise, it still recognizes hover */
  transition: opacity 330ms ease-in-out, left 3ms ease-in-out 330ms;
}
.hdr.sticking .big-menu .menu-item-has-children .sub-menu-container {
  background-image: linear-gradient(to bottom, transparent 0%, transparent 23.4%, #020c1e 24%, #020c1e 100%);
}


.big-menu .menu-item-has-children .sub-menu-container .menu-inner {
  display:flex;

  flex:1 0 100%;

  flex-flow:row nowrap;
  max-width:96%;
  margin:0 auto;
}

.big-menu .menu-item-has-children .sub-menu-container ul {
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 8px;
	column-gap:21px
}
.big-menu .menu-item-has-children .sub-menu-container ul.sub-menu ul.sub-menu {
  max-height: 75%;
}

.big-menu .nav-column {
  flex: 0 1 21.66%;
  width: auto;
}
.big-menu .nav-column .btext_npa {
  font-weight: 600;
}

.big-menu .menu-item-has-children .sub-menu-container .menu-inner > ul.sub-menu > li {
  height: 100%;
}

.big-menu .sub-menu > li a {
  margin-left:7px;
}

@media (hover: hover) {
  .big-menu .menu-item-has-children:hover .sub-menu-container {
    display: flex;
    opacity: 1;
    transition: opacity 330ms ease-in-out;
    left: 0px;
  }
  .hdr:has(.menu-item-has-children:hover) {
    background: #020c1e;
  }
}

.big-menu .sub-menu-container .menu-inner > ul.sub-menu > li.subhdr > a {color: var(--warm-color)}
.big-menu .sub-menu-container .menu-inner > ul.sub-menu > li > a {color: var(--sky-color)}
.big-menu .sub-menu-container .menu-inner > ul.sub-menu > li a::after {
  visibility: hidden;
}

.big-menu .menu-item-has-children > a {
  margin-bottom: 6px;
}

.mobile-toggle {display:none}

footer .menu {
  gap: 1rem;
}

footer .menu li.menu-item.link-section {
  width: auto;
  margin: 0;
}

footer .menu li.menu-item:not(.link-section) {
  margin: 0 0 4px 0;
  width: auto;
}
footer .menu li.menu-item:not(.link-section) a {
  line-height: 1.25;
}

@media screen and (max-width: 1023px){
  .hdr.wide-menu .mobile-toggle { 
    display: flex; 
    justify-content: flex-end;
  }
  .hdr.wide-menu .mobile-toggle svg { 
    display: block;
    width: 32px;
  }

  .hdr.wide-menu nav {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;

    display: flex;
    flex-flow: column nowrap;
    /* height: 100vh; */
    height: 100cqh;
    width: 85%;
    max-width: 300px;
    background: #020c1e;
    transform: translateX(150%);
    padding: 2rem 1rem;

    transition: transform 300ms ease-in-out;
  }

  .admin-bar .hdr.wide-menu nav {
    top: 26px;
  }

  .hdr.wide-menu nav ul li {
    width: 100%;
  }
  .hdr.wide-menu nav ul li a {
    margin-left: 0;
    width: 100%;
  }
  .hdr.wide-menu nav ul li a::after {
    display: none;
    width:0;
  }

  .hdr.wide-menu nav[open] {
    transform: translateX(0%);
    transition: transform 300ms ease-in-out;
  }
  .hdr.wide-menu nav .close-menu {
    display:block;
    position:absolute;
    right:14px;
    top:15px;
    font-size:51px;
	font-weight:300
  }

  .hdr.wide-menu nav ul.main-menu {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    flex: 1 1 0;
    width: 100%;
    height: 80%;
    padding-top:18%;
    overflow: auto;
    gap: 1.25rem;
  }
  .hdr.wide-menu nav .cta-btn {
    display: flex;
    flex-flow: row wrap;
    gap: 1rem;
    align-items: flex-start;
    justify-content: center;
    padding-bottom: 2rem;
  }


  .big-menu .menu-item-has-children .sub-menu-container {
    opacity: 1;
    max-height: 100%;
  }
  .big-menu .menu-item-has-children.expanded .sub-menu-container {
    position: static;
    padding-top: 1rem;
  }

  .big-menu .menu-item-has-children > a {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20" fill="white"><g><path d="M7 14.204a1 1 0 0 0 1.628.778l4.723-3.815a1.5 1.5 0 0 0 0-2.334L8.628 5.02A1 1 0 0 0 7 5.797v8.407z"></path></g></svg>');
    background-color: transparent;
    background-position: right center;
    background-repeat: no-repeat;
  }
  .big-menu .menu-item-has-children.expanded > a {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20" fill="white"><g ><path d="M5.797 7a1 1 0 0 0-.778 1.628l3.814 4.723a1.5 1.5 0 0 0 2.334 0l3.815-4.723A1 1 0 0 0 14.204 7H5.797z" ></path></g></svg>');
  }

  .big-menu .sub-menu-container .nav-column {
    display: none;
  }
  .big-menu .menu-item-has-children .sub-menu-container ul {
    margin: 0;
    width: 100%;
    flex-flow: column nowrap;
  }

  .big-menu .sub-menu-container .menu-inner > ul.sub-menu {
    display: flex;
    flex-flow: column nowrap;
    margin: 0;
    width: 100%;
  }
  .big-menu .menu-item-has-children .sub-menu-container .menu-inner {
    flex-flow: column nowrap;
    /* overflow: auto; */
  }
  .big-menu .menu-item-has-children .sub-menu-container ul.sub-menu .menu-item-has-children ul.sub-menu {
    position: absolute;    
    left: -99999px
  }
  .big-menu .menu-item-has-children .sub-menu-container ul.sub-menu .menu-item-has-children.expanded ul.sub-menu {
    position: static;
  }
}

@media screen and (min-width:77.5rem){
	.big-menu .menu-item-has-children .sub-menu-container .menu-inner{max-width:72.25rem}
	.big-menu .nav-column{flex:0 1 15.75rem}
}
