.top-bar-wrapper {
  background-color: $color-white;

  .top-bar {
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;

    .a11y-wrapper {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding-left: 0.7rem;
    }

    // < XL
    @include media-breakpoint-down(xl) {
      .break {
        flex-basis: 100%;
      }

      .language-divider {
        display: none;
      }

      .a11y-wrapper {
        margin-left: auto;
        padding-left: 0;
      }
    }

    @include media-breakpoint-down(sm) {
      .break {
        flex-basis: initial;
      }
      .a11y-wrapper {
        margin-left: initial;
      }
    }

    // LEFT SIDE
    .a11y-buttons {
      display: flex;

      &__group {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        align-items: center;

        &:last-child {
          margin-left: 15px;
          @include media-breakpoint-down(md) {
            display: none;
          }
        }
      }

      &__item {
        margin-right: 3px;

        .btn {
          padding: 0;
          // px to prevent font-size scaling
          font-size: 16px;

          // font increase
          &--font {
            padding: 0 2px;
            background-color: transparent;
            position: relative;
            line-height: 1;
            overflow: visible;

            &-0 {
              padding-right: 6px;
            }
            &-1 {
              padding-right: 10px;
            }
            &-2 {
              padding-right: 16px;
            }
            &-3 {
              padding-right: 24px;
            }

            .plus {
              position: absolute;
              top: -3px;
              left: 12px;
              font-weight: bold;
            }
          }

          // high contrast
          &--hc {
            width: 25px;
            height: 25px;
            box-sizing: border-box;
            border: 1px solid $color-black;

            &-default {
              background-color: $color-white;
              border-color: inherit;
            }

            &-bw {
              background-color: $color-black;
              color: $color-white;
            }

            &-by {
              background-color: $color-black;
              color: $color-yellow;
            }

            &-yb {
              background-color: $color-yellow;
            }
          }
        }
      }
    }
    .language-divider {
      background-color: $color-text;
      height: 22px;
      width: 1px;
      margin: 0 10px 0 10px;
    }

    // RIGHT SIDE
    .user-related {
      display: flex;
      justify-content: space-between;
      align-items: center;

      &__auth {
        &-link {
          margin-left: 15px;

          &:first-child {
            margin-left: 0;
          }

          &.active {
            color: currentColor;
            font-weight: bold;
            text-decoration: none;

            &:hover {
              cursor: text;
            }
          }
        }

        &-logged {
          .user-related__auth-link {
            position: relative;
            top: 2px;
          }
        }
      }

      @include media-breakpoint-down(sm) {
        width: 100%;
        justify-content: flex-end;
        padding-top: 10px;
      }
    }
  }
}

.gov-top-bar-wrapper {
  background-color: $color-white;

  .top-bar {
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;

    .language-switcher {
      border-right: 1px solid $color-black;
      padding-right: 15px;
      margin-right: 15px;

      @include media-breakpoint-down(md) {
        border: 0;
        padding-right: 0;
        margin-left: 15px;
        margin-right: auto;
      }

      @include media-breakpoint-down(sm) {
        margin-left: auto;
        margin-right: 0;
      }
    }

    // LEFT SIDE
    .a11y-buttons {
      display: flex;

      &__group {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        align-items: center;

        &:last-child {
          margin-left: 15px;
        }
      }

      &__item {
        margin-right: 3px;

        .btn {
          padding: 0;
          // px to prevent font-size scaling
          font-size: 16px;

          // font increase
          &--font {
            padding: 0 2px;
            background-color: transparent;
            position: relative;
            line-height: 1;
            overflow: visible;

            &-0 {
              padding-right: 6px;
            }
            &-1 {
              padding-right: 10px;
            }
            &-2 {
              padding-right: 16px;
            }
            &-3 {
              padding-right: 24px;
            }

            .plus {
              position: absolute;
              top: -3px;
              left: 12px;
              font-weight: bold;
            }
          }

          // high contrast
          &--hc {
            width: 25px;
            height: 25px;
            box-sizing: border-box;
            border: 1px solid $color-black;

            &-default {
              background-color: $color-white;
              border-color: inherit;
            }

            &-bw {
              background-color: $color-black;
              color: $color-white;
            }

            &-by {
              background-color: $color-black;
              color: $color-yellow;
            }

            &-yb {
              background-color: $color-yellow;
            }
          }
        }
      }
    }

    // RIGHT SIDE
    .user-related {
      display: flex;
      justify-content: space-between;
      align-items: center;

      &__auth {
        .user-related__email-container {
          display: inline-block;
          position: relative;
          margin-left: 15px;
          border-right: 1px solid #d9d9d9;
          padding-right: 10px;
          &.black-white,
          &.black-yellow,
          &.yellow-black {
            color: currentColor;
            border-color: currentColor;
          }
          .user-related__email-icon-check {
            width: 25px;
            height: 20px;
            position: relative;
            bottom: 2px;
            fill: #212529;
          }
          .user-related__email-toggle {
            width: 20px;
            height: 15px;
            margin-left: 5px;
            fill: #0865c9;
          }
          .user-related__email-list {
            right: 0;
            position: absolute;
            border: 1px solid #d9d9d9;
            width: max-content;
            background-color: $color-white;
            z-index: 1000;
            &.yellow-black {
              border-color: black;
            }
            &.black-yellow {
              border-color: $color-yellow;
            }
            &-user,
            &-switch {
              border-top: 1px solid #d9d9d9;
              padding: 10px 10px 5px 10px;
              &.yellow-black {
                border-color: black;
              }
              &.black-yellow {
                border-color: $color-yellow;
              }
            }

            &-switch {
              font-weight: bold;
            }
          }
        }

        &-link {
          margin-left: 15px;

          &:first-child {
            margin-left: 0;
          }

          &.active {
            color: currentColor;
            font-weight: bold;
            text-decoration: none;

            &:hover {
              cursor: text;
            }
          }
        }

        &-logged {
          .user-related__auth-link {
            position: relative;
            top: 2px;
          }
        }
      }

      @include media-breakpoint-down(lg) {
        width: 100%;
        justify-content: flex-end;
        padding-top: 10px;
      }
    }
  }
}
