/**
 * @file
 * Button that expands second level nav when clicked.
 */

[dir="ltr"] .primary-nav__button-toggle {   padding-left: 0
}

[dir="rtl"] .primary-nav__button-toggle {   padding-right: 0
}

[dir="ltr"] .primary-nav__button-toggle {   padding-right: 0
}

[dir="rtl"] .primary-nav__button-toggle {   padding-left: 0
}

.primary-nav__button-toggle {
  position: relative;
  overflow: hidden;
  width: 2rem;
  height: 2rem;
  margin-top: 0.5rem; /* Visually align button with menu link text. */
  padding-top: 0;
  padding-bottom: 0;   cursor: pointer;   text-indent: -55.5rem;   border: 0;   background: transparent;   -webkit-appearance: none
}

.primary-nav__button-toggle:focus {
    outline: auto 2px #5c9ec8;
    outline-offset: 2px;
  }

.primary-nav__button-toggle .icon--menu-toggle {
    position: absolute;
    /* stylelint-disable csstools/use-logical */
    top: 50%;
    left: 50%;
    /* stylelint-enable csstools/use-logical */
    width: 0.88889rem;     height: 0.88889rem;     transition: background-color 0.2s;     transform:       translate(         -50%,
        -50%       );     border-radius: 2px
  }

.primary-nav__button-toggle .icon--menu-toggle:before,
    .primary-nav__button-toggle .icon--menu-toggle:after {
      position: absolute;
      /* stylelint-disable csstools/use-logical */
      top: 50%;
      left: 50%;
      /* stylelint-enable csstools/use-logical */
      width: 1rem;
      height: 0;
      content: "";
      transform: translate(-50%, -50%);
      /* Intentionally not using CSS logical properties. */
      border-top: solid 3px #5c9ec8;
    }

.primary-nav__button-toggle .icon--menu-toggle:after {
      transition: opacity 0.2s;
      transform: translate(-50%, -50%) rotate(90deg);
    }

.primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
    opacity: 0;
  }

.primary-nav__button-toggle {

  /* aria-hidden attribute is removed by JS. Button is non-functional
     until JS is enabled.
  */
}

.primary-nav__button-toggle[aria-hidden="true"] {
    pointer-events: none;
  }

@media (min-width: 66.66667rem) {
    [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
      margin-right: -2rem
   }
    [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
      margin-left: -2rem
   }
    body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
      flex-shrink: 0;
      -ms-grid-row-align: stretch;
      align-self: stretch;
      width: 2.44444rem;
      height: auto;
      margin-top: 0
    }

      body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus {
        border: 0;         outline: 0
      }         body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus .icon--menu-toggle {
          border: solid 2px #0c7fc8;
        }

      body:not(.is-always-mobile-nav) .primary-nav__button-toggle:active {
        /* Necessary for Safari. */
        color: currentColor;
      }

      body:not(.is-always-mobile-nav) .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
        opacity: 0.8;
      }

      [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
        left: 0.16667rem
   }

      [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
        right: 0.16667rem
   }

      body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {         width: 1rem;         transform: translateY(-50%);         border-radius: 0.22222rem;         background-color: #fff
      }         body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:before {
          content: none;
        }

        body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:after {
          /* stylelint-disable csstools/use-logical */
          top: calc(50% - 2px);
          left: 0.16667rem;
          /* stylelint-enable csstools/use-logical */
          width: 0.44444rem;
          height: 0.44444rem;
          content: "";
          transform: translateY(-50%) rotate(45deg);
          opacity: 0.8;
          /* Intentionally not using CSS logical properties. */
          border-top: none;
          border-right: solid 2px currentColor;
          border-bottom: solid 2px currentColor;
          background: transparent;
        }
  }
