#site-header {
  z-index: 999;
  transition: background-color 0.2s ease;
}

@media screen and (min-width: 992px) {

  body.pink-custom-color #site-header:not(.alt):hover {
    background-color: var(--color-pink) !important;
  }

  body.gold-custom-color #site-header:not(.alt):hover {
    background-color: var(--color-gold) !important;
  }

  body.green-custom-color #site-header:not(.alt):hover {
    background-color: var(--color-green) !important;
  }

  body.orange-custom-color #site-header:not(.alt):hover {
    background-color: var(--color-coral) !important;
  }

}

@media screen and (max-width: 991px) {

  body.pink-custom-color #site-header:not(.alt) {
    background-color: var(--color-pink) !important;
  }

  body.gold-custom-color #site-header:not(.alt) {
    background-color: var(--color-gold) !important;
  }

  body.green-custom-color #site-header:not(.alt) {
    background-color: var(--color-green) !important;
  }

  body.orange-custom-color #site-header:not(.alt) {
    background-color: var(--color-coral) !important;
  }

  body.single-case-study #site-header:not(.alt) {
    background-color: var(--color-coral) !important;
  }

}

.fixed-color {
  position: fixed;
  top: 0;
  width: 100%;
  height: 0.5rem;
  z-index: 1000;
}

body.pink-custom-color .fixed-color {
  background-color: var(--color-pink);
}

body.gold-custom-color .fixed-color {
  background-color: var(--color-gold);
}

body.green-custom-color .fixed-color {
  background-color: var(--color-green);
}

#site-header.alt {
  transition: all 0.2s ease;
}

body.pink-custom-color #site-header.alt:hover {
  background-color: var(--color-pink);
}

#site-header * {
  text-decoration: none;
}

#site-header .site-logo svg {
  display: block;
  height: 4rem;
  width: auto;
}

body.single-program #site-header .site-logo svg *,
body.home #site-header .site-logo svg *,
body.single-case-study #site-header .site-logo svg * {
  fill: var(--color-off-white);
}

@media screen and (min-width: 992px) {

  body.single-program #site-header:hover .site-logo svg *,
  body.home #site-header:hover .site-logo svg *,
  body.single-case-study #site-header:hover .site-logo svg * {
    fill: var(--color-off-black);
  }

}

@media screen and (max-width: 991px) {

  body.single-program #site-header .site-logo svg *,
  body.home #site-header .site-logo svg *,
  body.single-case-study #site-header .site-logo svg * {
    fill: var(--color-off-black);
  }

}

body.single-program header *,
body.home header *,
body.single-case-study header * {
  color: var(--color-off-white);
}

@media screen and (min-width: 992px) {

  body.single-program header:hover *,
  body.home header:hover *,
  body.single-case-study header:hover * {
    color: var(--color-off-black);
  }

}

@media screen and (max-width: 991px) {

  body.single-program header *,
  body.home header *,
  body.single-case-study header * {
    color: var(--color-off-black);
  }

}

#site-header .menu-item {
  line-height: 1.2;
  white-space: nowrap;
}


/* Handling active menu states
#site-header .menu-item.current-menu-item {
  border-bottom: 2px solid var(--color-off-black)
}

#site-header.expanded .menu-item.current-menu-item {
  border-bottom: none;
} */

@media screen and (max-width: 991px) {
  #site-header .menu-item br {
    display: none;
  }
}

#site-header #primary-menu-list > .menu-item {
  padding: 1.3rem 0 1rem 0;
  margin-bottom: auto;
}

#site-header #primary-menu-list > .menu-item > a > span {
  font-family: var(--global--font-secondary);
}

@media screen and (max-width: 991px) {
  #site-header #primary-menu-list > .menu-item > a > span {
    font-family: var(--global--font-primary);
  }
}

#site-header #primary-menu-list > .menu-item > a > span,
#site-header #primary-menu-list > .menu-item > a > span * {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
  padding-bottom: 0.3rem;
}

#site-header #primary-menu-list > .menu-item.current-menu-item > a > span,
#site-header #primary-menu-list > .menu-item.current-menu-parent > a > span,
#site-header #primary-menu-list .sub-menu > .menu-item.current-menu-item > a > span  {
  border-bottom: 1px solid;
  width: fit-content;
}

#site-header ul.sub-menu {
  display: flex;
  flex-direction: column;
  display: none;
  opacity: 0;
  /* max-height: 0; */
  transition: all 1s ease;
  width: 0;
}

ul#primary-menu-list:hover ul.sub-menu {
  display: block;
  opacity: 1;
}

#site-header ul.sub-menu li:first-child {
  margin-top: 1rem;
}

#site-header ul.menu-wrapper li.menu-item-has-children ul.sub-menu li {
  margin-bottom: 1rem;
}

@media screen and (max-width: 991px) {
  #site-header ul.menu-wrapper li.menu-item-has-children ul.sub-menu li a span {
    font-size: 2rem;
  }
}

#site-header ul.sub-menu ul.sub-menu {
  padding-left: 2rem;
}

/* #site-header:hover ul,
#site-header:hover li:focus-within > ul,
#site-header:hover li ul:hover,
#site-header:hover li ul:focus {
  visibility: visible;
  opacity: 1;
} */

#site-header #menu-toggle {
  display: none;
}

#site-header #menu-toggle svg {
  height: 2rem;
  width: auto;
}

#site-header .sub-menu .menu-item a {
  transition: padding-left 0.2s ease;
}

#site-header .sub-menu .menu-item a:hover {
  padding-left: 1.5rem;
}

#site-header .sub-menu .menu-item a:hover::before {
  content: '';
  position: absolute;
  height: 1rem;
  width: 1rem;
  margin-top: 9px;
  margin-left: -1.5rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url('../icons/harness-arrow.svg')
}

@media screen and (max-width: 991px) {

  #site-header {
    max-height: 100vh;
    overflow: scroll;
  }

  #site-header ul.sub-menu {
    display: flex;
    flex-direction: column;
    visibility: visible;
    opacity: 1;
  }


  #site-header #primary-menu-list {
    display: none !important;
  }

  #site-header #primary-menu-list.active {
    display: block !important;
  }


  #site-header #menu-toggle  {
    display: flex;
  }

  #site-header:hover  ul,
  #site-header:hover li:focus-within > ul,
  #site-header:hover li ul:hover,
  #site-header:hover li ul:focus {
    visibility: visible;
    opacity: 1;
    max-height: 100%;
  }

}


ul#primary-menu-list.active {
  padding-top: 4rem;
}