@use "00-base/configure" as *;

.ma__main-nav {

  @include ma-container;

  @media ($bp-header-toggle-max) {
    padding-left: 0;
    padding-right: 0;
  }

  &__items {

    @include ma-reset-list;

    @media ($bp-header-toggle-min) {
      display: table;
      margin-left: -12px;
      width: calc(100% + 24px);

      .flexbox & {
        display: flex;
        justify-content: space-between;
      }
    }

    @media ($bp-large-min) {
      margin-left: -20px;
      width: calc(100% + 40px);
    }
  }

  &__item {
    position: relative;
    transition: background-color .4s;

    @media ($bp-header-toggle-max) {
      font-size: $fonts-smaller;
    }

    @media ($bp-header-toggle-min) {
      display: table-cell;
      text-align: center;

      .flexbox & {
        display: inline-block;
        flex-shrink: 1;
        flex-grow: 0;
        flex-basis: auto;
      }

      &.is-active {

        @include ma-border-decorative;

        &:after {
          width: 100%;
        }
      }

      &.is-open:after {
        display: none;
      }

      &.is-open-react:after {
        display: none;
      }
    }
  }

  &__top-link {

    @include ma-button-reset;
    display: block;
    font-size: $fonts-small;
    font-weight: $fonts-bold;
    letter-spacing: $letter-spacing-large;
    line-height: 1.45;
    padding: 10px 0;
    padding-right: 15px;
    text-transform: uppercase;
    transition: all 0.4s ease;
    width: 100%;

    @media ($bp-header-toggle-max) {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left;
    }

    @media ($bp-header-toggle-min) {
      display: inline-block;
      font-size: $fonts-large;
      padding: 14px 12px;
      vertical-align: middle;
    }

    @media ($bp-large-min) {
      padding-left: 20px;
      padding-right: 20px;
    }

    .has-subnav & {
      // chevron

      @include ma-chevron;

      &:after {
        cursor: pointer;
        margin-left: 6px;
        border-right-color: var(--mf-c-primary-alt);
        border-bottom-color: var(--mf-c-primary-alt);

        @media ($bp-header-toggle-max) {
          position: absolute;
            right: 20px;
            top: 15px;
        }

        @media ($bp-header-toggle-min) {
          transform: translateY(-45%) rotate(45deg);
        }

        @media ($bp-header-toggle-min) and ($bp-x-large-max) {
          display: none;
        }
      }
    }

    .is-open, .is-open-react & {

      &:after {

        @media ($bp-header-toggle-min) {
          transform: translateY(-45%) rotate(-135deg);
        }
      }
    }

    &.cv-alternate-style {
      background-color: var(--mf-c-highlight);

      &:hover {
        background-color: var(--mf-c-highlight-lightest);
      }
    }
  }

  &__subitems {
    position: fixed;
      top: 0;
    text-align: left;
    width: 300px;
    z-index: $z-overlay;

    @media ($bp-header-toggle-max) {
      margin-top: $header-mobile-controls-height;
      height: calc(100vh - #{$header-mobile-controls-height});
      overflow-y: auto;
      padding-left: 20px;
      right: -300px;
      transition: visibility .5s ease, right .5s ease;

      .translated-rtl &,
      .translated-ltr & {
        height: calc(100vh - #{$header-mobile-controls-height * 2});
        top: 40px;
      }

      .show-menu & {
        right: 0;
      }

      &.is-closed, &.is-closed-react {
        right: -300px;
        display: none !important;
      }
    }

    @media ($bp-header-toggle-min) {
      min-width: 340px;
      position: absolute;
        top: 100%;
        left: 0;
      width: 100%;

      &.is-closed {

        @include ma-visually-hidden;
        display: none !important;
      }

      &.is-closed-react {
       display: none !important;
      }

      .ma__main-nav__item:last-child & {
        left: inherit;
        right: 0;
      }
    }

  }

  &__container {

    @include ma-reset-list;
  }

  &__subitem {
    border-bottom: 1px solid;

    &--main {

      @media ($bp-header-toggle-max) {
        display: none;
      }
    }

    &--main {
      border-bottom: none;
    }
  }

  &__link {

    @include ma-button-reset;
    width: 100%;
    text-align: left;
    display: block;
    font-size: $fonts-medium;
    line-height: 1.33;
    padding: 10px 20px;

    & > svg,
    & > span {
      display: inline-block;
      vertical-align: middle;
    }
  }

  &__subitem--main &__link {
    font-size: $fonts-small;
    letter-spacing: $letter-spacing-medium;
    text-transform: uppercase;
  }

  a {
    color: var(--mf-c-revolution-gray);
  }
}

//theme

.ma__main-nav {

  &__item {

    &:hover,
    &.is-open,
    &.has-focus {
      background-color: var(--mf-c-bg);
      box-shadow: $box-shadow;
    }

    &.is-active {

      @include ma-border-decorative($c-primary-alt);
    }
  }

  &__subitems {
    background-color: var(--mf-c-bg-section);

    @media ($bp-header-toggle-min) {
      background-color: var(--mf-c-bg);
      box-shadow: 0 0.25em 0.5rem var(--mf-c-box-shadow-black);
    }
  }

  &__container {

    @media ($bp-header-toggle-max) {
      background-color: var(--mf-c-bg);
    }
  }

  &__subitem {
    border-bottom-color: var(--mf-c-bd-divider);
  }

  &__link {
    color: var(--mf-c-font-base);
    font-weight: $fonts-normal;

    &:hover,
    &:focus {
      background-color: var(--mf-c-bg-subtle);
    }
  }

  &__subitem--main &__link {
    background-color: var(--mf-c-bg-subtle);
    color: var(--mf-c-font-link);
    font-weight: $fonts-bold;

    &:hover {
      background-color: var(--mf-c-gray-light);
    }

    & > svg {
      fill: var(--mf-c-link);
      height: 20px;
      width: 20px;
      margin-right: 0.1rem;
    }
  }
}
