.banner {
  .container {
    height: 560px;
    max-width: 1440px;
  }

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

    .icon {
      top: 7px;
      width: 25px;
      height: 3px;
      background: $brand-primary;

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

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

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

    &.is-active .icon {
      // TODO
      background: $white;

      &::before,
      &::after {
        background: $white;
      }
    }
  }

  .brand {
    width: 109px;
    height: 17px;
    margin: 30px 0 0 17px;
    background-image: url('../images/logo.png'); // TODO
    background-size: 109px 17px;
  }

  .primary-navigation {
    height: 560px;
    margin: 0 0 0 -100%;
    padding: 0 17px;

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

    .sep {
      display: none;
    }

    &.is-visible {
      margin: 0;
      padding: 0 52px;
      z-index: 1;
      background: $brand-primary;

      a {
        display: block;
        width: 100%;
        border-bottom: solid 1px $white;

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

  .branding {
    height: 364px;

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

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

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

    .brand {
      width: 265px;
      height: 40px;
      margin-top: 40px;
      background-image: url('../images/logo@2x.png'); // TODO
      background-size: 265px 40px;
    }

    .primary-navigation {
      top: 40px;
      height: 40px;
      max-width: 1440px;
      margin: 0 auto;

      a {
        display: inline-block;
        font-size: em(18);
        color: $black;
        line-height: normal;

        &:hover,
        &:focus {
          color: $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: em(30);
        letter-spacing: 0.75px;
        line-height: (40/30);
      }
    }

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