.page__menu__wrapper {
  margin: 0 -1rem;
  padding-top: 3rem;
  position: relative;
}

.page__menu__wrapper.page__menu__wrapper--closed {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s;
}

.page__menu__wrapper.page__menu__wrapper--open {
  max-height: 999px;
  overflow: auto;
  transition: max-height .3s;
}

.page__menu__wrapper .page__menu__toggle {
  border: none;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: auto;
}

.page__menu {
  clear: both;
}

.page__menu__wrapper > ul::before,
.page__menu__wrapper > ul::after {
  content: ' ';
  display: table;
}

.page__menu__wrapper > ul::after {
  clear: both;
}

.page__menu__wrapper li {
  display: block;
}

.page__menu__wrapper a {
  display: inline-block;
  text-decoration: none;
  padding: .5rem 1rem;
  width: 100%;
}

.page__menu__wrapper li li a {
  padding-left: 2rem;
}

.page__menu__wrapper li li li a {
  padding-left: 3rem;
}

.page__menu__wrapper li li li li a {
  padding-left: 4rem;
}

/*
At this width the menu will toggle
*/
@media screen and (min-width: 990px) {
  .page__menu__wrapper .page__menu__toggle {
    display: none;
  }

  .page__menu__wrapper.page__menu__wrapper--open,
  .page__menu__wrapper.page__menu__wrapper--closed,
  .page__menu__wrapper {
    max-height: none;
    overflow: visible;
    padding-top: 0;
  }

  .page__menu__wrapper > ul {
    margin-right: 2.5rem;
    padding: 0 .75rem;
    text-align: right;
  }

  .page__menu__wrapper > ul * {
    text-align: left;
  }

  .page__menu__wrapper > ul > li {
    display: inline-block;
    position: relative;
  }

  .page__menu__wrapper ul.sub-menu {
    opacity: 0;
    width: 200px;
    position: absolute;
    transition: opacity .3s 0s, visibility 0s .3s;
    visibility: hidden;
    z-index: 100;
  }

  .page__menu__wrapper li:hover ul.sub-menu {
    opacity: 1;
    transition-delay: 0s, 0s;
    visibility: visible;
  }

  .page__menu__wrapper ul.sub-menu li {
    background: transparent;
  }

  .page__menu__wrapper > ul > li > a {
    border-bottom: none;
  }

  .page__menu__wrapper a {
    padding: .5rem .25rem;
  }

  .page__menu__wrapper a br {
    content: ' ';
  }

  .page__menu__wrapper a br:after {
    content: ' ';
  }

  .page__menu__wrapper li li a {
    padding-left: .5rem;
  }

  .page__menu__wrapper li li li a {
    padding-left: 1.5rem;
  }

  .page__menu__wrapper li li li li a {
    padding-left: 2.5rem;
  }
}