@media (max-width: 61.9375em) {
  html.nav--is-shown {
    height: 100%; } }

body {
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  @media (max-width: 61.9375em) {
    .nav--is-shown body {
      height: 100%;
      overflow: hidden;
      margin-left: -260px;
      margin-right: 260px; } }

.header {
  background-color: #fff;
  position: relative;
  z-index: 3000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  .header:after {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 0;
    height: 10px;
    z-index: -1;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
  @media (max-width: 61.9375em) {
    .header {
      margin-left: 0;
      margin-right: 0; }
      .nav--is-shown .header {
        margin-left: -260px;
        margin-right: 260px; } }

@media (max-width: 61.9375em) {
  .header__site-navigation {
    position: absolute;
    left: 100%; } }

.header__wrapper {
  position: relative;
  z-index: 10;
  background-color: #fff; }

.header__content {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  @media (max-width: 61.9375em) {
    .header__content {
      height: 60px; } }
  @media (min-width: 62em) {
    .header__content {
      padding-top: 15px;
      padding-bottom: 15px; } }
  @media (min-width: 62em) and (min-width: 48em) {
    .header__content {
      padding-top: 20px; } }
  @media (min-width: 62em) and (min-width: 62em) {
    .header__content {
      padding-top: 30px; } }
  @media (min-width: 62em) and (min-width: 48em) {
    .header__content {
      padding-bottom: 20px; } }
  @media (min-width: 62em) and (min-width: 62em) {
    .header__content {
      padding-bottom: 30px; } }
  @media (min-width: 62em) {
      .is--scrolled .header__content {
        padding-bottom: 0;
        padding-top: 0; } }

.header__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .header__navigation[aria-hidden="true"] {
    display: none;
    visibility: hidden;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    width: 0;
    overflow: hidden; }
  @media (min-width: 62em) {
    .header__navigation {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.header__logo {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin-left: 0;
  margin-right: 30px;
  width: 180px; }
  @media (min-width: 62em) {
    .header__logo {
      width: 160px;
      margin-right: 70px; } }
  .header__logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%; }
    .header__logo a img {
      width: 100%; }
  .header__logo .logo__image,
  .header__logo .logo__image--medium {
    display: none;
    visibility: hidden; }
  @media (min-width: 62em) {
    .header__logo .logo__image {
      display: block;
      visibility: visible; }
    .header__logo .logo__image--small {
      display: none;
      visibility: hidden; }
    .is--scrolled .header__logo .logo__image {
      display: none;
      visibility: hidden; }
    .is--scrolled .header__logo .logo__image--medium {
      display: block;
      visibility: visible; } }

.header__menu-utility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media (min-width: 62em) {
    .is--scrolled .header__menu-utility {
      display: none;
      visibility: hidden; } }

@media (min-width: 62em) {
  .header__menu-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.nav--mega-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0; }
  .nav--mega-wrapper[aria-hidden="true"] {
    display: none; }

.header__site-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

/*
.header__site-navigation {
  position: fixed;

  //
  // Mobile
  //
  @include bp(none large) {
    background-color: $gray-80;
    border-top: 1px solid $clr-border;
    width: 100%;
    top: rem(60px);
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
  }

  //
  // Desktop
  //
  @include bp(large) {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    flex-wrap: none;
    position: relative;
  }
}
*/
@media (min-width: 62em) {
  .mega-back {
    display: none;
    visibility: hidden; } }

.header__toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.nav-trigger {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px !important;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

label[for="nav-trigger"] {
  cursor: pointer;
  height: 1.66667rem;
  margin: 0;
  width: 1.66667rem;
  z-index: 2; }
  @media (min-width: 62em) {
    label[for="nav-trigger"] {
      display: none; } }

.nav-trigger__icon {
  fill: #004b87; }

.nav-trigger__icon--expand {
  opacity: 1;
  position: absolute;
  -webkit-transform: rotate(0) scale(1);
          transform: rotate(0) scale(1);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

.nav-trigger__icon--collapse {
  margin-left: em(2px);
  opacity: 0;
  position: absolute;
  -webkit-transform: rotate(-90deg) scale(0);
          transform: rotate(-90deg) scale(0);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

@media (max-width: 61.9375em) {
  .nav-trigger:checked ~ label .nav-trigger__icon--collapse {
    opacity: 1;
    -webkit-transform: rotate(0) scale(1);
            transform: rotate(0) scale(1); }
  .nav-trigger:checked ~ label .nav-trigger__icon--expand {
    opacity: 0;
    -webkit-transform: rotate(90deg) scale(0);
            transform: rotate(90deg) scale(0); } }

.nav--mobile-wrapper {
  border-left: 1px solid #d7d7d7;
  position: fixed;
  left: 100%;
  bottom: 0;
  top: 0;
  width: 260px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  .nav--is-shown .nav--mobile-wrapper {
    margin-left: -260px; }
  .nav--mobile-wrapper[aria-hidden="true"] {
    display: none;
    visibility: hidden; }
  .nav--mobile-wrapper.is--expanded .nav--mobile--primary {
    margin-left: -100%; }
  .nav--mobile-wrapper.is--expanded .nav--mobile--secondary {
    margin-left: -100%; }

.nav--mobile--primary {
  padding: 0 30px 30px 30px;
  width: 100%;
  -webkit-transition: all .15s linear;
  transition: all .15s linear; }
  .nav--mobile--primary .button--donate .field--type-link > a {
    font-size: 0.88889rem;
    display: block;
    padding: .75rem 1rem;
    text-align: center;
    width: 100%; }
    @media (min-width: 48em) {
      .nav--mobile--primary .button--donate .field--type-link > a {
        font-size: 1rem; } }
    @media (min-width: 62em) {
      .nav--mobile--primary .button--donate .field--type-link > a {
        font-size: 1rem; } }

.nav--mobile--secondary {
  width: 100%;
  position: absolute;
  left: 100%;
  top: 60px;
  -webkit-transition: all .15s linear;
  transition: all .15s linear;
  padding: 0 30px 30px 30px; }
  .nav--mobile--secondary .mega-back {
    background: none;
    color: #1484be;
    display: block;
    font-size: 0.77778rem;
    line-height: 2;
    padding: 0;
    position: relative;
    padding-left: 18px;
    margin-left: -18px; }
    .nav--mobile--secondary .mega-back:before {
      content: "";
      background: url("/themes/custom/cas/images/icons/arrow-prev.svg") 50% 50% no-repeat;
      background-size: 100% 100%;
      height: 16px;
      width: 10px;
      position: absolute;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }

.mobile--subnav {
  display: none;
  visibility: hidden; }
  .mobile--subnav.is--expanded {
    display: block;
    visibility: visible; }
  .mobile--subnav .menu--main {
    margin: 0; }
    .mobile--subnav .menu--main > li.menu__item--expanded {
      margin-top: 12px; }
    .mobile--subnav .menu--main > li > a {
      color: #1484be;
      display: block;
      font-size: 0.88889rem;
      line-height: 1.5;
      padding: 0.22222rem 0; }
    .mobile--subnav .menu--main > li.menu__item--expanded > a {
      color: #004b87;
      font-weight: 700; }

.nav--mobile-wrapper .search--wrapper {
  padding: 12px 16px;
  width: 100%; }

.nav--mobile-wrapper .search-form {
  position: relative;
  width: 100%; }
  .nav--mobile-wrapper .search-form .form-item {
    width: 100%; }
    .nav--mobile-wrapper .search-form .form-item input {
      box-sizing: border-box;
      height: 36px;
      padding: .25rem .5rem;
      width: 100%; }
  .nav--mobile-wrapper .search-form .search-form__button {
    background: none;
    background: url("/themes/custom/cas/images/icons/search.svg") 50% 50% no-repeat;
    background-size: 20px 20px;
    padding: 0;
    text-indent: 100%;
    overflow: hidden;
    height: 36px;
    width: 36px;
    position: absolute;
    right: 0;
    top: 0; }
