:host(.menu--language) {
  align-items: center;
  display: flex;
  flex-flow: row;
  position: absolute;
  right: 16px;
  top: 0;

  @include breakpoint($narrow) {
    right: 28px;
  }
}

:host(.menu--language:not([is-mobile])) {
  @include breakpoint($narrow) {
    height: 100%;
    position: relative;
    right: auto;
    top: auto;
  }
}

:host(.menu--language__is-open) {
  &::after {
    @include breakpoint($wide) {
      content: ' ';
      height: 4px;
      background-color: var(--grayscale-black);
      display: block;
      width: 100%;
      position: absolute;
      bottom: 0;
    }
  }
}

.menu--language__toggle {
  @include font-size(14px, 24px);
  align-items: center;
  background: var(--grayscale-white);
  border: 0 none;
  color: var(--brand-main-nearly-black);
  display: flex;
  flex-flow: row;
  font-family: var(--main-font-family);
  font-weight: 600;
  letter-spacing: -0.4px;
  margin: 0 -4px;
  padding: 0;
  text-transform: uppercase;

  @include breakpoint($extrawide) {
    @include font-size(12px, 12px);
    font-weight: 400;
    letter-spacing: -0.6px;
  }

  @include breakpoint($xlarge) {
    @include font-size(14px, 24px);
    letter-spacing: -0.5px;
  }

  &:focus {
    outline: solid 2px var(--additional-yellow);
    outline-offset: 2px;
  }

  &:hover {
    color: var(--brand-main);
    cursor: pointer;
    span {
      color: var(--brand-main);
    }
    svg {
      fill: var(--brand-main);
    }
  }

  &.is-open {
    .menu--language__toggle__caret {
      transform: rotate(180deg);
    }
  }

  > * {
    padding: 0 4px;
  }
  span {
    padding: 0;
  }
}

.menu--language__dropdown {
  display: none;
  visibility: hidden;

  &.is-open {
    background-color: var(--grayscale-white);
    border-radius: 0 0 5px 5px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-flow: column;
    justify-items: center;
    left: -15px;
    margin: 0;
    padding: 15px;
    position: absolute;
    text-transform: uppercase;
    visibility: visible;
    width: max-content;
    z-index: 100;

    @include breakpoint($wide) {
      left: -20px;
      min-width: 160px;
      padding: 6px 8px;
    }
    @include breakpoint($xlarge) {
      padding: 8px;
    }

    a {
      @include font-size(16px, 20px);
      margin-left: 0;
    }
  }
}

.menu--language__globe-icon svg {
  @include breakpoint($wide) {
    height: 16px;
    width: 16px;
  }
  @include breakpoint($extrawide) {
    height: 12px;
    width: 12px;
  }
  @include breakpoint($xlarge) {
    height: 16px;
    width: 16px;
  }
}