.navbar-nav-mega {
  flex-direction: row;
  margin-right: -$navbar-nav-link-padding-x;
  margin-left: -$navbar-nav-link-padding-x;

  .container {
    display: block;
  }

  .nav-link {
    position: relative;

    @include hover-focus () {
      &::before {
        transform: scaleX(1);
        transform-origin: 0 0;
      }
    }

    &::before {
      position: absolute;
      top: calc(100% - #{$nav-link-padding-y});
      right: $navbar-nav-link-padding-x;
      left: $navbar-nav-link-padding-x;
      display: block;
      height: 2px;
      margin: 0;
      content: "";
      background-color: currentColor;
      border: none;
      transition: transform .2s ease-in-out;
      transform: scaleX(0);
      transform-origin: 100% 0;
      backface-visibility: hidden;
      will-change: transform;
    }

    &.panel-toggle {
      @include caret();
    }
  }

  .dropdown-item {
    padding-right: 0;
    padding-left: 0;
  }
}

.panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 1;
  display: none;
  width: 100%;
  height: calc(100vh + -100%);
  padding-top: $grid-gutter-width;
  padding-bottom: $grid-gutter-width;
  background-color: $white;

  &.show {
    display: block;
  }
}

.panel-headline {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.panel-close {
  flex: 0 0 auto;
  margin-left: $grid-gutter-width;
  background: none;
  border: none;
}

.panel-nav {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  padding-right: $grid-gutter-width / 2;
  padding-left: $grid-gutter-width / 2;
  margin-bottom: 0;
  list-style: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity .15s linear, visibility 0s .15s linear;

  &-level-1 {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    width: 33.33%;
    opacity: 1;
  }

  &-level-1,
  &.show {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
}

.panel-nav-item {
  display: flex;
  border-bottom: 1px solid $gray-300;

  &:last-child {
    border-bottom: none;
  }
}

.panel-nav-link {
  display: block;
  flex: 1 1 auto;
  padding-top: 8px;
  padding-bottom: 8px;
}

.panel-nav-toggle {
  flex: 0 0 auto;
  background: none;
  border: none;

  svg {
    display: block;
  }
}
