.nav-container {
  position: relative;
}

/* ~~~~~~~~ HAMBURGER BUTTON ~~~~~~~~ */

.nav-hamburger {
  cursor: pointer;
}

.nav-hamburger-bar {
  height: 4px;
  width: 35px;
  background-color: var(--color-sinbad);
}

@media screen and (min-width: 992px) {
  .nav-hamburger {
    visibility: hidden;
    display: none;
  }
}

/* ~~~~~~~~ MOBILE & DESKTOP NAV STYLES ~~~~~~~~ */

.nav-bar {
  visibility: hidden;
  position: fixed;
  left: 100vw;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100% - 92px);
  background-color: var(--color-apple-green);
  transition: all 0.4s ease;
  z-index: 15;
}

.nav-bar.visible {
  left: 0;
}

.nav-bar-menu {
  height: calc(100% - 96px);
  overflow: auto;
}

.nav-desktop {
  display: none;
  visibility: hidden;
}

@media screen and (min-width: 992px) {
  .nav-bar {
    visibility: visible;
    position: initial;
    flex-direction: row;
    align-items: start;
    background: none;
  }

  .nav-bar-menu {
    height: auto;
    overflow: auto;
  }

  .nav-mobile {
    display: none;
    visibility: hidden;
  }
  .nav-desktop {
    display: flex;
    visibility: visible;
  }
}

.nav-expand-icon,
.nav-collapse-icon {
  height: 16px;
  width: 16px;
}

/* ~~~~ DEPTH 2 ~~~~ */

.depth-2.nav-children-container {
  background-color: white;
}

.depth-2 .nav-collapse-icon {
  display: none;
}

.depth-2.open .nav-expand-icon {
  display: none;
}

.depth-2.open .nav-collapse-icon {
  display: initial;
}

/* ~~~~ DEPTH 3 ~~~~ */

.depth-3.nav-menu-item {
  padding: var(--padding-size-4) var(--padding-size-4) var(--padding-size-2) 60px;
  color: var(--color-non-brand-dark-gray);
  font-size: var(--font-size-6);
}

.depth-3.nav-menu-item-label:not(.shop) {
  font-family: 'Roboto Condensed', 'Roboto';
  font-weight: 700;
  font-style: normal;
}

.nav-menu-item.shop {
  color: var(--color-blue-chill);
}

/* ~~~~ DEPTH 4 ~~~~ */

.depth-4.nav-menu-link {
  padding: 0 var(--padding-size-4) 0 60px;
}

/* ~~~~~~~~ MOBILE NAV ~~~~~~~~ */

.nav-mobile .nav-menu-item {
  cursor: pointer;
}

.nav-mobile .nav-children-container {
  visibility: hidden;
  overflow: hidden;
  pointer-events: none;
}

.nav-mobile .nav-children-container:not(.open) {
  max-height: 0 !important;
}

.nav-mobile .nav-menu-item-content {
  justify-content: space-between;
  padding: var(--padding-size-3) var(--padding-size-4) var(--padding-size-3) var(--padding-size-4);
}

.nav-mobile .nav-menu-item:not(.depth-3) {
  justify-content: space-between;
  font-size: var(--font-size-5);
}

.nav-mobile .nav-children-container {
  opacity: 0;
  transition: all 0.4s ease;
}

.nav-mobile .open.nav-children-container {
  visibility: initial;
  opacity: 1;
  pointer-events: auto;
}

/* ~~~~ DEPTH 1 ~~~~ */

.nav-mobile .depth-1.nav-menu-item {
  border-top: 1px solid var(--color-french-pass);
  background-color: var(--color-blue-stone);
  color: white;
}

.nav-mobile .depth-1.nav-menu-item .nav-menu-item-content > a {
  color: white;
}

.nav-mobile .open.nav-menu-item .depth-1.nav-menu-item-content {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.nav-mobile .open .depth-1.double-arrows {
  margin-right: 13px;
  transform: rotate(180deg);
}

.nav-mobile .depth-1.nav-children-container {
  background-color: var(--color-apple-green);
}

/* ~~~~ DEPTH 2 ~~~~ */

.nav-mobile .depth-2.nav-menu-item {
  padding: var(--padding-size-3) var(--padding-size-4) var(--padding-size-3) 60px;
  border-bottom: 1px solid var(--color-french-pass);
  color: var(--color-blue-stone);
}

.nav-mobile .depth-2.nav-children-container {
  border-bottom: 1px solid var(--color-french-pass);
  transition: all 0.4s ease, opacity 0s 1s;
}

.nav-mobile .depth-2.open.nav-children-container {
  transition: all 0.4s ease;
}

/* ~~~~ DEPTH 3 ~~~~ */

.nav-mobile .depth-3.nav-menu-wrapper li.depth-3:last-child {
  padding-bottom: 33px;
}

/* ~~~~ DEPTH 4 ~~~~ */


.nav-mobile .shop a,
.nav-mobile .depth-4 a {
  color: var(--color-blue-stone);
}

.nav-mobile .shop a svg,
.nav-mobile .depth-4 a svg {
  fill: var(--color-blue-stone) !important;
}

/* ~~~~~~~~ DESKTOP NAV ~~~~~~~~ */

.nav-desktop {
  height: 49px;
}

.nav-desktop .nav-menu-item {
  font-size: var(--font-size-6);
}

.nav-desktop .nav-menu-item a {
  font-size: 14px;
  color: var(--color-blue-stone);
}

.nav-desktop .nav-menu-item-content {
  cursor: pointer;
}

.nav-desktop .nav-menu-item .external-link__icon svg,
.nav-desktop .depth-2.nav-menu-item .double-chevron {
  fill: var(--color-blue-stone) !important;
}

.nav-desktop .depth-2.nav-menu-item.open .double-chevron {
  fill: white;
}

/* ~~~~ DEPTH 1 ~~~~ */

.nav-desktop .depth-1.nav-menu-item {
  display: flex;
  flex-direction: column;
  height: 35px;
  border: none;
  border-radius: 22px;
  background: transparent;
  color: #fff;
/*   transition: all .2s; */
}

.nav-desktop .depth-1.nav-menu-item .nav-menu-item-content > a {
  text-decoration: none;
  font-size: 16px;
  color: #fff;
}

.nav-desktop .depth-1.nav-menu-item:not(.open) {
  margin-top: 5px;
}

.nav-desktop .depth-1.nav-menu-item.open {
  height: 49px;
  border-radius: 5px 5px 0 0;
  color: var(--color-blue-stone);
  background-color: #fff !important;
}

.nav-desktop .depth-1.nav-menu-item-content {
  padding: 7px 21px;
  /* border: 1px dotted transparent; */
}

.nav-desktop .open .depth-1.nav-menu-item-content {
  height: auto;
  padding: 12px 21px 16px 21px;
}

/* .nav-desktop .depth-1.nav-menu-item-content:focus {
  border: 1px dotted var(--color-blue-chill);
} */

.nav-desktop .depth-1.nav-menu-item-label {
  position: relative;
  margin-right: 5px;
  line-height: 21px;
}

.nav-desktop .depth-1.double-arrows {
  height: 10px;
}

.nav-desktop .depth-1.double-arrows .arrow::before {
  top: 4px;
  height: 2px;
  width: 7px;
  transform: rotate(45deg);
}

.nav-desktop .depth-1.double-arrows .arrow::after {
  top: 2px;
  right: -4px;
  height: 2px;
  width: 7px;
  transform: rotate(-45deg);
}

.nav-desktop .open .depth-1.double-arrows {
  margin-right: 0;
}

.nav-desktop .depth-1.nav-children-container {
  visibility: hidden;
  position: fixed;
  overflow: hidden;
  box-shadow: 0px 6px 10px rgba(0, 0, 0, .15);
  clip-path: inset(0 -15px -15px -15px);
/*   transition: all 0.4s ease 0s; */
}

.nav-desktop .depth-1.simple-menu.nav-children-container:not(.open) {
  height: 0 !important;
}

.nav-desktop .depth-1.mega-menu.nav-children-container {
  right: 0;
  left: 0;
  display: flex;
  justify-content: flex-start;
  height: 0;
  max-width: 1006px;
  border-radius: 3px;
  margin-left: auto;
  margin-right: auto;
}

.nav-desktop .depth-1.open .depth-1.open.simple-menu.nav-children-container {
  visibility: initial;
}

.nav-desktop .depth-1.open .depth-1.open.mega-menu.nav-children-container {
  visibility: initial;
  height: 500px;
}

/* ~~~~ DEPTH 2 ~~~~ */

.nav-desktop .mega-menu .depth-2.nav-menu-list {
  position: relative;
  max-width: 362px;
  padding: 34px 18px;
  background-color: var(--color-apple-green);
}

.nav-desktop .simple-menu .depth-2.nav-menu-list {
  background-color: white;
  padding: 25px 35px;
}


.nav-desktop .depth-2.double-arrows .arrow {
  width: 10px;
}

.nav-desktop .depth-2.double-arrows .arrow::before,
.nav-desktop .depth-2.double-arrows .arrow::after {
  height: 2px;
  width: 9px;
}

.nav-desktop .depth-2.double-arrows .arrow::before {
  top: 11px
}

.nav-desktop .depth-2.double-arrows .arrow::after {
  top: 4px
}

.nav-desktop .mega-menu .depth-2.nav-menu-item {
  border-radius: 22px;
  margin-bottom: 7px;
}

.nav-desktop .mega-menu .depth-2.nav-menu-item.open {
  background-color: var(--color-blue-stone) !important;
  color: #fff;
}

.nav-desktop .mega-menu .depth-2.nav-menu-item-content {
  width: 100%;
  padding: 6px 23px 8px 23px;
}

.nav-desktop .mega-menu .depth-2.nav-menu-item-label {
  margin-right: 10px;
  line-height: 21px;
}

.nav-desktop .depth-2 .nav-children-container {
  position: absolute;
  top: 0;
  left: 100%;
  display: flex;
  width: calc(1006px - 361px); /* width = (width of megamenu container) - (width of left-side bar) */
}

.nav-desktop .depth-2.nav-menu-item:not(.open) .nav-children-container {
  display: none;
}

.nav-desktop .depth-1.open .depth-2.nav-menu-item.open .nav-children-container {
  visibility: visible;
  min-height: 500px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

/* ~~~~ DEPTH 3 ~~~~ */

.nav-desktop .depth-3.nav-menu-list {
  display: flex;
  flex-direction: column;
/*   flex-wrap: wrap; */
  flex: 1;
}

.nav-desktop .depth-3.nav-menu-list.right-column {
  flex: .65;
  border-left: 1px dotted var(--color-french-pass);
  margin: 31px 0px 31px 0px;
}

.nav-desktop .depth-3.nav-menu-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0;
  margin: 11px 35px 0 35px;
}

.nav-desktop .depth-3.nav-menu-item:first-child {
  margin-top: 31px;
}

.nav-desktop .depth-3.nav-menu-item:last-child {
  margin-bottom: 31px;
}

.nav-desktop .depth-3.right-column .nav-menu-item:not(.shop) {
  margin-top: 0;
}

.nav-desktop .nav-menu-item.shop {
  padding: 14px 0px 0px 20px;
  border-top: 1px dotted var(--color-french-pass);
  margin-top: 20px;
}

.nav-desktop .depth-3.nav-menu-link-container {
  padding: 0;
}

/* ~~~~ DEPTH 4 ~~~~ */

.nav-desktop .depth-4.nav-menu-link {
  padding: 0;
  margin-bottom: 9px;
  line-height: 1.3;
}

.nav-desktop .depth-4.nav-menu-link:last-child {
  margin-bottom: 5px;
}

/* ~~~~~~~~ SEARCH BAR ~~~~~~~~ */

.nav-search {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  height: 96px;
  width: 100%;
  padding: 22px 19px;
  background-color: var(--color-sinbad);
}

.nav-search__label {
  position: absolute;
  top: 13px;
  right: 18px;
  margin: 0;
}

.nav-search__input {
  height: 46px;
  width: 100%;
  outline: 0;
}

.nav-search__wrapper {
  position: relative;
  width: 100%;
}

.nav-search__icon {
  width: 20px;
}

.nav-search__icon * {
  fill: var(--color-blue-stone);
}

.nav-search__close-button,
.nav-search__show-button {
  display: none;
  padding: 0;
  margin: 0;
  border: none;
}

.nav-search__show-button {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--color-french-pass);
}

.nav-search__close-button {
  position: absolute;
  top: 15px;
  right: 18px;
  background: none;
}

.nav-search__close-button * {
  height: 18px;
  width: 18px;
  fill: var(--color-blue-chill);
}

@media (min-width: 992px) {
  .nav-search {
    position: initial;
    height: auto;
    width: auto;
    padding: 0;
    margin-top: 5px;
    margin-left: 10px;
    visibility: visible;
    background: none;
  }

  .nav-search__label {
    display: none;
  }

  .nav-search__show-button {
    position: relative;
    display: initial;
    cursor: pointer;
  }

  .nav-search__close-button {
    display: initial;
  }

  .nav-search__wrapper {
    position: absolute;
    right: 0;
    width: 100%;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: all .2s .1s ease;
  }

  .nav-search__wrapper.open {
    max-width: 100%;
    opacity: 1;
  }

  .nav-search__label {
    display: none !important;
  }

  .nav-search__icon {
    position: absolute;
    top: 9px;
    right: 9px;
    width: 14px;
  }
}
