.site-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #CFCFD5;
  height: 60px; }
  @media (min-width: 48em) {
    .site-header {
      display: inline-block;
      width: calc(100% + 24px); } }
  @media (min-width: 1600px) {
    .site-header {
      width: 100%; } }

@media (min-width: 48em) {
  .site-header__nav,
  .site-header__utility-menu,
  .site-header__branding {
    display: inline-block; } }

.site-header__branding {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 50; }
  @media (min-width: 48em) {
    .site-header__branding {
      width: 185px;
      height: 60px; } }

.site-header__nav {
  margin-top: 1px;
  -ms-flex-order: -1;
  order: -1;
  z-index: 55;
  /* sass-lint:disable no-vendor-prefixes */
  /* sass-lint:enable no-vendor-prefixes */ }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .site-header__nav {
      z-index: 50; } }
  .site-header__nav .nav__nav-secondary--empty .nav__nav-primary {
    margin-top: 60px; }
    @media (min-width: 48em) {
      .site-header__nav .nav__nav-secondary--empty .nav__nav-primary {
        margin-top: 0; } }
  .site-header__nav .nav__nav-primary {
    -ms-flex-order: 1;
    order: 1; }
    .site-header__nav .nav__nav-primary .contextual-region {
      position: static; }
  @media (min-width: 48em) {
    .site-header__nav {
      position: absolute;
      left: 0;
      right: 0;
      z-index: 40; }
      .site-header__nav .navigation-main__menu {
        position: static; }
      .site-header__nav .navigation-main {
        width: initial; } }
  @media (min-width: 64em) {
    .site-header__nav .navigation-main {
      margin-left: 14px; } }

.site-header__utility-menu {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 50; }
  @media (min-width: 48em) {
    .site-header__utility-menu {
      width: 180px; } }
  @media (min-width: 1600px) {
    .site-header__utility-menu {
      right: -12px; } }

.button-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  height: auto;
  border: 0;
  border-radius: 0;
  color: #141414;
  box-shadow: none;
  padding: 1em; }
  .button-reset:hover, .button-reset:focus {
    background-color: transparent; }

.nav__open .button-text,
.nav__close .button-text {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  pointer-events: none; }

.nav__open {
  border-right: 1px solid #CFCFD5;
  border-left: 1px solid #CFCFD5;
  padding: 0.5em;
  color: #141414;
  height: 60px;
  width: 60px; }
  .nav__open .icon--hamburger {
    height: 14px;
    width: 18px; }
  @media (min-width: 48em) {
    .nav__open {
      display: none; } }

.nav__close {
  position: absolute;
  right: 0;
  z-index: 10;
  border-left: 1px solid #CFCFD5;
  padding: 0.5em;
  height: 60px;
  width: 60px;
  background-color: #FFFFFF; }
  .nav__close:hover {
    background-color: #FFFFFF; }
  .nav__close .icon--x {
    height: 12px;
    width: 12px;
    stroke: #CFCFD5; }
  @media (min-width: 48em) {
    .nav__close {
      display: none; } }

.nav__drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 90vw;
  height: 100%;
  visibility: hidden;
  overflow-y: scroll;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  transform: translateX(-100vw);
  transition: transform 300ms ease, z-index 300ms ease;
  background-color: #FFFFFF;
  border-right: 1px solid #CFCFD5; }
  .nav__drawer .nav__nav-secondary {
    -ms-flex-order: 0;
    order: 0;
    min-width: 35px; }
  .nav__drawer.nav__drawer--active {
    transform: translateX(0);
    visibility: visible;
    z-index: 50; }
  @media (min-width: 48em) {
    .nav__drawer .nav-drawer__mobile-only {
      display: none; } }
  @media (min-width: 48em) {
    .nav__drawer {
      background-color: transparent;
      position: static;
      height: auto;
      transform: translateX(0);
      transition: none;
      width: auto;
      border-right: 0;
      visibility: visible;
      overflow: visible;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      padding: 0 185px; }
      .nav__drawer .nav__nav-secondary {
        -ms-flex-order: 1;
        order: 1; } }

.toolbar-fixed .nav__drawer--active {
  margin-top: 40px; }
