.nav {
  display: flex;
  justify-content: space-between;

  @include media-breakpoint-down(lg) {
    display: none;

    &.opened {
      display: block;
      width: 100%;
      max-height: calc(100vh - 30rem);
      overflow: auto;
      padding-bottom: 1rem;

      background: $primary;
      box-shadow: 0 2px 5px rgba(0, 0, 0, .1);

      position: absolute;
      top: 100%;
      left: 0;
      z-index: 100;
    }
  }
}

.nav__list {
  display: flex;
  list-style: none;
  position: relative;

  font-size: 1.5rem;
  color: $white;

  @include media-breakpoint-down(lg) {
    flex-direction: column;
    padding-top: 1rem;
  }
}

.nav__item {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  margin-right: 2.4rem;
  position: relative;

  &.has-subnav {
    position: relative;
  }

  &:last-child {
    margin-right: 0;
  }

  &--flag {
    margin-right: 6px;
  }

  &--indent {
    margin-right: 5rem;
  }

  @include media-breakpoint-down(lg) {
    display: block;
    margin-right: 0;
    padding: 0 2rem;
    position: relative;
  }
}

.nav__link {
  display: flex;
  align-items: center;

  color: inherit;
  text-decoration: none;

  transition: color .2s linear;

  &:hover {
    text-decoration: underline;
  }

  &.active {
    font-weight: 700;
  }

  .flags {
    height:20px;
    width:20px;
  }

  @include media-breakpoint-down(lg) {
    display: block;
    width: 100%;
    padding: 1rem 0;
  }
}

.nav__icon {
  margin-right: 0.8rem;
}

.nav__subnav-toggle {
  display: none;

  background: none;
  border: none;

  &:focus {
    outline: none;
  }

  @include media-breakpoint-down(lg) {
    display: block;

    position: absolute;
    top: 1.15rem;
    right: 1.5rem;

    &.active {
      transform: rotate(180deg);
    }
  }
}