@use "../../objects/width-container" as *;
@use "../../vendor/govuk-frontend" as *;

/* ==========================================================================
   #PRIMARY NAVIGATION
   ========================================================================== */

.moj-primary-navigation {
  background-color: govuk-colour("black", $variant: "tint-95");
}

.moj-primary-navigation__container {
  font-size: 0; // Hide whitespace between elements
  text-align: justify; // Trick to remove the need for floats
  @include moj-width-container;

  &::after {
    content: "";
    display: inline-block;
    width: 100%;
  }
}

.moj-primary-navigation__nav {
  text-align: left;

  @include govuk-media-query($from: desktop) {
    display: inline-block;
    vertical-align: middle;
  }
}

.moj-primary-navigation__list {
  margin: 0;
  padding: 0;
  font-size: 0; // Removes white space when using inline-block on child element.
  list-style: none;
}

.moj-primary-navigation__item {
  display: inline-block;
  margin-top: 0;
  margin-right: govuk-spacing(4);
  @include govuk-font($size: 19);

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

.moj-primary-navigation__link {
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  font-weight: bold;
  @include govuk-link-common;
  @include govuk-link-style-default;

  &:link,
  &:visited,
  &:hover,
  &:active {
    text-decoration: none;
  }

  &:link,
  &:visited {
    color: govuk-functional-colour(link);
  }

  &:hover {
    color: govuk-functional-colour(link-hover);
  }

  &:focus {
    position: relative; // Ensure focus sits above everything else.
    z-index: 1;
    color: govuk-colour("black"); // Focus colour on yellow should really be black.
    box-shadow: none;
  }

  &:focus::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: govuk-colour("black");
  }

  &[aria-current] {
    position: relative;
    color: govuk-functional-colour(link);
    font-weight: bold;
    text-decoration: none;

    &::before {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 5px;
      background-color: govuk-functional-colour(link);
    }

    &:hover {
      color: govuk-functional-colour(link-hover);

      &::before {
        background-color: govuk-functional-colour(link-hover);
      }
    }

    &:focus {
      position: relative; // Ensure focus sits above everything else.
      border: none;
      color: govuk-colour("black"); // Focus colour on yellow should really be black.

      &::before {
        background-color: govuk-colour("black");
      }
    }
  }
}

.moj-primary-navigation__search {
  @include govuk-media-query($from: desktop) {
    display: inline-block;
    vertical-align: middle;
  }
}

/*# sourceMappingURL=_primary-navigation.scss.map */