/* Menu Item Styles */

.navigation-primary a {
  color: #231f1f;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.082rem;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .navigation-primary {
    padding-bottom: 30px;
  }
}

/* Active Menu Item Styles */

.navigation-primary a,
.navigation-primary a.active-item {
  position: relative;
}

.navigation-primary .submenu.level-1 > li > a:after {
  opacity: 0;
  bottom: -3px;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
  pointer-events: none;
  transition: opacity 0.3s;
}

.navigation-primary .submenu.level-1 > li > a:hover:after {
  opacity: 0.4;
  transition: opacity 0s;
}

.navigation-primary .submenu.level-1 > li > a.active-item:after,
.navigation-primary .submenu.level-1 > li > a.active-branch:after {
  opacity: 1;
  transition: opacity 0s;
}

/* mobile fx */
@media (max-width: 767px) {
  .navigation-primary .submenu.level-1 > li > a:after {
    display: none;
  }

  .navigation-primary .submenu.level-1 > li > a:hover,
  .navigation-primary .submenu.level-1 > li > a.active-item,
  .navigation-primary .submenu.level-1 > li > a.active-branch {
    text-decoration: underline;
  }
}

/* Menu */

.submenu {
  float: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 767px) {
  .submenu {
    display: none;
  }

  input[type='checkbox']:checked ~ .submenu {
    display: block;
  }

  .submenu > .has-submenu {
    position: relative;
  }

  .submenu > li > a {
    display: block;
    width: 100%;
  }

  .submenu > .has-submenu > a {
    width: 80%;
  }
}

/* Top Level Menu */

.submenu.level-1 {
  display: inline-block;
}

.submenu.level-1 > li {
  display: inline-block;
  margin-right: 25px;
  position: relative;
}

.submenu.level-1 > li:last-child {
  margin-right: 0;
}

@media screen and (min-width: 961px) and (max-width: 1100px) {
  .submenu.level-1 > li {
    margin-right: 20px;
  }
}

@media (min-width: 768px) and (max-width: 960px) {
  .navigation-primary .submenu.level-1 a {
    letter-spacing: calc(0.041rem - ((960px - 100vw) / (192 / 0.1)));
  }
  .navigation-primary .submenu.level-1 > li {
    margin-right: calc(20px - ((960px - 100vw) / (192 / 20)));
  }
}

@media (max-width: 767px) {
  .submenu.level-1 {
    width: 100%;
  }

  .submenu.level-1 > li {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .submenu.level-1 > li > a {
    padding: 10px 30px;
  }
}

/* Child Menus */

.submenu.level-2 {
  border: 0;
  left: -30px;
  opacity: 0;
  position: absolute;
  top: 100%;
  width: 220px;
  z-index: 2;
  pointer-events: none;
}

.submenu.level-1 > li.has-submenu:hover .submenu.level-2,
.submenu.level-1 > li.has-submenu.focus .submenu.level-2 {
  left: -30px;
  opacity: 1;
  pointer-events: initial;
}

.submenu.level-1 > li.has-submenu:hover:last-child .submenu.level-2,
.submenu.level-1 > li.has-submenu.focus:last-child .submenu.level-2 {
  left: auto;
  right: 0;
}

.submenu.level-2 .menu-item {
  margin: 0;
}

.submenu.level-2 .menu-link {
  display: block;
  padding: 10px 20px;
  transition: background-color 0.3s;
}

.submenu.level-2 .menu-link:hover,
.submenu.level-2 .menu-link:focus {
  cursor: pointer;
  transition: background-color 0.3s;
}

/* desktop fx */
@media (min-width: 768px) {
  .submenu.level-2 {
    margin-top: 24px;
    transform: translate3d(0,-8px,0);
    transition: opacity 0.3s, transform 0.3s;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2));
  }

  .submenu.level-2:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: calc(24px + 8px);
    display: block;
  }

  .submenu.level-1 > li.has-submenu:hover .submenu.level-2,
  .submenu.level-1 > li.has-submenu.focus .submenu.level-2 {
    left: -30px;
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

@media (max-width: 767px) {
  .submenu.level-2 {
    border: none;
    opacity: 1;
    position: static;
    visibility: visible;
    width: 100%;
  }

  .submenu.level-2 .menu-link {
    padding: 10px 50px;
    transition: none;
  }

  .submenu.level-2 .menu-link:hover {
    background-color: inherit;
  }

  .submenu.level-2 .menu-link:hover,
  .submenu.level-2 .menu-link:focus {
    transition: none;
  }
}

.submenu.level-3 .menu-link {
  padding-left: 50px;
}

@media (max-width: 767px) {
  .submenu.level-3 .menu-link {
    padding: 10px 70px;
  }
}

/* Mobile Navigation Toggles */

.submenu-toggle,
#nav-toggle,
.header__navigation-toggle,
.menu-child-toggle-icon {
  display: none;
}

@media screen and (max-width: 767px) {
  .header__navigation-toggle,
  .menu-child-toggle-icon {
    cursor: pointer;
    display: block;
  }

  .header__navigation {
    opacity: 0;
    transition: opacity 0.3s;
    display: block;
    pointer-events: none;
  }

  #nav-toggle:checked ~ .header__navigation {
    display: block;
    filter: drop-shadow(0px 10px 10px rgba(0,0,0,0.1));
    opacity: 1;
    pointer-events: initial;
  }

  .header__mobile-menu-open-icon {
    display: block;
  }

  .header__mobile-menu-close-icon {
    display: none;
  }

  /* prettier-ignore */
  #nav-toggle:checked + .header__navigation-toggle .header__mobile-menu-open-icon {
    display: none;
  }

  /* prettier-ignore */
  #nav-toggle:checked + .header__navigation-toggle .header__mobile-menu-close-icon {
    display: block;
  }

  .menu-arrow {
    border: none;
    cursor: pointer;
    padding: 10px 30px;
    position: absolute;
    right: 0;
    top: 0;
    width: 20%;
  }

  input[type='checkbox']:checked ~ .menu-arrow svg {
    transform: rotate(180deg);
    transform-origin: 50% 50%;
    transition: transform 0.4s;
  }
}

/* HubSpot Editor Styles */

.hs-inline-edit .submenu.level-1 > li.has-submenu:hover .submenu.level-2,
.hs-inline-edit > li.has-submenu.focus .submenu.level-2 {
  visibility: hidden;
}
