.banner {
  background-position: bottom;
  background-size: cover;

  .container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 560px;
    width: 100%;
    max-width: 100%;
    max-width: 1440px;
  }

  .toggle {
    display: block;
    position: absolute;
    top: 30px;
    right: 17px;
    width: 25px;
    height: 20px;
    z-index: 99;
    text-indent: -9999em;

    &__icon {
      display: block;
      position: absolute;
      top: 7px;
      width: 25px;
      height: 3px;
      background: var(--primary, $brand-primary);

      &::before,
      &::after {
        width: 25px;
        height: 3px;
        content: '';
        background: var(--primary, $brand-primary);
      }

      &::before {
        position: absolute;
        top: -7px;
        right: 0;
      }

      &::after {
        position: absolute;
        top: 7px;
        right: 0;
      }
    }

    &--active {
      .toggle__icon {
        background: var(--primary-fg, $white);

        &::before,
        &::after {
          background: var(--primary-fg, $white);
        }
      }
    }
  }

  &__brand {
    display: block;
    align-self: flex-start;
    width: 6.5625rem;
    height: auto;
    margin: 30px 0 0 17px;

    svg,
    img {
      width: auto;
      max-width: 100%;
      height: auto;
    }
  }

  &__navigation {
    display: flex;
    position: absolute;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    top: 0;
    width: 100%;
    height: 560px;
    margin: 0 0 0 -100%;
    padding: 0 17px;
    background: transparent;

    a {
      display: none;
      font-family: $font-family-sans-serif;
      font-size: rem(24);
      line-height: (80/24);
      color: var(--primary-fg, $white);
      letter-spacing: 0;
    }

    .sep {
      display: none;
    }

    &--visible {
      margin: 0;
      padding: 0 52px;
      z-index: 1;
      background: var(--primary, $brand-primary);

      a {
        display: block;
        width: 100%;
        border-bottom: solid 1px var(--primary-fg, $white);

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

  &__branding {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 364px;
    text-align: center;

    p {
      font-family: $font-family-sans-serif;
    }
  }
}

.page:not(.home) .banner__branding {
  display: none;
}

@media #{$breakpoint-large} {
  .banner {
    .container {
      height: 880px;
      margin: 0 auto;
    }

    .toggle {
      display: none;
    }

    &__brand {
      align-self: center;
      width: 16.5625rem;
      height: auto;
      margin-top: 40px;
    }

    &__navigation {
      top: 40px;
      height: 40px;
      max-width: 1440px;
      margin: 0 auto;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;

      a {
        display: inline-block;
        font-size: rem(18);
        color: var(--header-text, $black);
        line-height: normal;

        &:hover,
        &:focus {
          color: var(--primary, $brand-primary);
        }
      }

      &--catalog {
        margin-right: auto;
      }

      &--contact {
        margin: 0 1em 0 auto;
      }

      &--sep {
        display: inline-block;
        margin: 0 0.5em;
      }
    }

    &__branding {
      height: 576px;

      p {
        font-size: rem(30);
        letter-spacing: 0.75px;
        line-height: (40/30);
      }
    }

    h1 {
      margin-bottom: rem(32);
      font-size: rem(72);
      line-height: (40/72);
      letter-spacing: rem(1.8);
    }
  }
}