/*------------------------------------*\
:    Variables
\*------------------------------------*/
/*------------------------------------*\
:    Mixins - Type
\*------------------------------------*/
/*------------------------------------*\
:    Mixins - Flexbox
\*------------------------------------*/
/*------------------------------------*\
:    Mixins - Animation
\*------------------------------------*/
/*------------------------------------*\
:    Mixins - Miscellaneous
\*------------------------------------*/
/*------------------------------------*\
:    Mixins - Media Queries
\*------------------------------------*/
/*------------------------------------*\
:    Layout - General
\*------------------------------------*/
/* line 8, ../scss/dev/07-layout.scss */
body {
  overflow-y: scroll;
  overflow-x: hidden; }
  /* line 12, ../scss/dev/07-layout.scss */
  body.has-loaded .l-main-content {
    opacity: 1;
    padding-bottom: 10rem; }
    @media (min-width: 0px) and (max-width: 800px) {
      /* line 12, ../scss/dev/07-layout.scss */
      body.has-loaded .l-main-content {
        margin-bottom: 100px; } }
    @media (min-width: 0px) and (max-width: 500px) {
      /* line 12, ../scss/dev/07-layout.scss */
      body.has-loaded .l-main-content {
        margin-bottom: 20px; } }
    /* line 23, ../scss/dev/07-layout.scss */
    body.has-loaded .l-main-content__share {
      margin-bottom: 0;
      padding-bottom: 0; }

/* line 31, ../scss/dev/07-layout.scss */
article img {
  max-width: 100%;
  height: auto; }

/* line 36, ../scss/dev/07-layout.scss */
.l-site-wrapper {
  min-height: 100%;
  margin: 0 auto -350px auto; }

/* line 41, ../scss/dev/07-layout.scss */
.l-site-container {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: auto; }

/* line 48, ../scss/dev/07-layout.scss */
.l-content-container {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1400px;
  padding: 0 50px;
  margin: auto; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 48, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 40px; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 48, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 30px; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 48, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 20px; }
      /* line 65, ../scss/dev/07-layout.scss */
      .l-content-container__filterWrap {
        padding: 0; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 70, ../scss/dev/07-layout.scss */
    .l-content-container.mobile-full-width {
      padding: 0; } }
  /* line 75, ../scss/dev/07-layout.scss */
  .l-content-container__background {
    background-color: #ffffff; }
  /* line 82, ../scss/dev/07-layout.scss */
  .l-content-container--news {
    background-color: #D5E9E5;
    padding: 30px 50px;
    margin-bottom: 5rem;
    left: 50%;
    -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    max-width: 1920px;
    width: 100%;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 800px) {
      /* line 82, ../scss/dev/07-layout.scss */
      .l-content-container--news {
        margin-bottom: 3rem;
        padding: 20px;
        margin-bottom: 6rem; } }
  /* line 104, ../scss/dev/07-layout.scss */
  .l-content-container__header--wide {
    left: 50%;
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: 50rem;
    position: relative;
    background-size: cover;
    margin-bottom: 8rem; }
    /* line 112, ../scss/dev/07-layout.scss */
    .l-content-container__header--wide .img-caption {
      max-width: 80rem;
      position: absolute;
      bottom: -5.5rem;
      height: 5rem;
      text-align: right;
      vertical-align: top;
      right: 0;
      font-size: 15px;
      font-size: 1.5rem; }
      @media (min-width: 0px) and (max-width: 500px) {
        /* line 112, ../scss/dev/07-layout.scss */
        .l-content-container__header--wide .img-caption {
          bottom: -3rem;
          right: 5%; } }

/* line 131, ../scss/dev/07-layout.scss */
.l-content-container__header {
  background-color: #FFE7D3;
  left: 50%;
  -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
  padding-bottom: 2rem; }
  /* line 136, ../scss/dev/07-layout.scss */
  .l-content-container__header p {
    font-weight: 700; }
  /* line 139, ../scss/dev/07-layout.scss */
  .l-content-container__header .l-reading-plane {
    margin-right: 36rem; }

/* line 145, ../scss/dev/07-layout.scss */
.l-content-container-header {
  padding: 0; }

/* line 149, ../scss/dev/07-layout.scss */
.l-content-container-columns {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row; }

/* line 159, ../scss/dev/07-layout.scss */
.l-header-img-full {
  position: relative;
  width: 100%;
  height: 540px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  /* line 167, ../scss/dev/07-layout.scss */
  .l-header-img-full .img-caption {
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    bottom: 10px;
    right: 20px;
    color: #ffffff;
    text-shadow: 2px 2px 2px #000; }
  @media (min-width: 0px) and (max-width: 700px) {
    /* line 159, ../scss/dev/07-layout.scss */
    .l-header-img-full {
      height: 220px; }
      /* line 178, ../scss/dev/07-layout.scss */
      .l-header-img-full .l-content-container.header-inner {
        padding-top: 100px; } }

/* line 184, ../scss/dev/07-layout.scss */
.l-header-noimg-full {
  position: relative;
  width: 100%;
  height: 240px;
  background-color: #004f70; }

/* line 191, ../scss/dev/07-layout.scss */
.l-header-img-full .l-content-container.header-inner,
.l-header-noimg-full .l-content-container.header-inner {
  color: #ffffff;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  -ms-flex-pack: start;
      justify-content: flex-start; }
  /* line 199, ../scss/dev/07-layout.scss */
  .l-header-img-full .l-content-container.header-inner .header-inner__content,
  .l-header-noimg-full .l-content-container.header-inner .header-inner__content {
    z-index: 1; }
  /* line 203, ../scss/dev/07-layout.scss */
  .l-header-img-full .l-content-container.header-inner h1,
  .l-header-noimg-full .l-content-container.header-inner h1 {
    max-width: 65%;
    line-height: 1;
    margin: 0 0 50px; }
    @media (min-width: 0px) and (max-width: 1024px) {
      /* line 203, ../scss/dev/07-layout.scss */
      .l-header-img-full .l-content-container.header-inner h1,
      .l-header-noimg-full .l-content-container.header-inner h1 {
        font-size: 32px;
        font-size: 3.2rem; } }
    @media (min-width: 0px) and (max-width: 768px) {
      /* line 203, ../scss/dev/07-layout.scss */
      .l-header-img-full .l-content-container.header-inner h1,
      .l-header-noimg-full .l-content-container.header-inner h1 {
        font-size: 26px;
        font-size: 2.6rem;
        max-width: 85%; } }
    @media (min-width: 0px) and (max-width: 500px) {
      /* line 203, ../scss/dev/07-layout.scss */
      .l-header-img-full .l-content-container.header-inner h1,
      .l-header-noimg-full .l-content-container.header-inner h1 {
        font-size: 22px;
        font-size: 2.2rem;
        max-width: 100%; } }

/* line 225, ../scss/dev/07-layout.scss */
.l-body-wrapper {
  padding-top: 50px; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 225, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 40px; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 225, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 30px; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 225, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 20px; } }

/* line 238, ../scss/dev/07-layout.scss */
.l-main-content {
  opacity: 0;
  transition: opacity 0.3s ease-in-out; }

/* line 243, ../scss/dev/07-layout.scss */
.l-content-container-logos {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: center;
      align-items: center; }

/*------------------------------------*\
:    Layout - Main page columns
\*------------------------------------*/
/* line 258, ../scss/dev/07-layout.scss */
.l-content-column-left {
  width: 100%;
  margin: 0 auto;
  position: relative;
  max-width: 70%;
  padding: 5rem; }
  /* line 265, ../scss/dev/07-layout.scss */
  .l-content-column-left.left-spacing {
    margin: 0 auto 0 100px; }
  /* line 269, ../scss/dev/07-layout.scss */
  .l-content-column-left .img-caption {
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    bottom: 10px;
    right: 20px;
    color: #ffffff;
    text-shadow: 2px 2px 2px #000; }
  @media (min-width: 0px) and (max-width: 1280px) {
    /* line 279, ../scss/dev/07-layout.scss */
    .l-content-column-left.left-spacing {
      margin: 0 auto 0; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 258, ../scss/dev/07-layout.scss */
    .l-content-column-left {
      margin-top: 5rem;
      padding: 0 1rem 0 0;
      max-width: 90%; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 258, ../scss/dev/07-layout.scss */
    .l-content-column-left {
      margin: 0;
      padding: 1rem;
      max-width: 100%; } }

/* line 295, ../scss/dev/07-layout.scss */
.l-content-column-right {
  width: 100%;
  margin: 0; }
  /* line 299, ../scss/dev/07-layout.scss */
  .l-content-column-right.left-spacing {
    margin: 0 auto 0 100px; }

/* line 308, ../scss/dev/07-layout.scss */
.l-sidebar.top-spacing {
  padding-top: 50px; }
  @media (min-width: 0px) and (max-width: 700px) {
    /* line 308, ../scss/dev/07-layout.scss */
    .l-sidebar.top-spacing {
      padding-top: 15px; } }

@media (min-width: 0px) and (max-width: 1024px) {
  /* line 304, ../scss/dev/07-layout.scss */
  .l-sidebar {
    -ms-flex: 1;
        flex: 1; } }

/* line 321, ../scss/dev/07-layout.scss */
.l-pushbar-right {
  -ms-flex: 0 0 160px;
      flex: 0 0 160px;
  min-height: 100px; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 321, ../scss/dev/07-layout.scss */
    .l-pushbar-right {
      -ms-flex: 1;
          flex: 1; } }

/* line 331, ../scss/dev/07-layout.scss */
.l-reading-plane {
  padding: 50px 50px 0 50px; }
  @media (min-width: 0px) and (max-width: 1280px) {
    /* line 331, ../scss/dev/07-layout.scss */
    .l-reading-plane {
      padding: 50px 150px 0 35px; } }
  @media (min-width: 0px) and (max-width: 700px) {
    /* line 331, ../scss/dev/07-layout.scss */
    .l-reading-plane {
      padding: 12.5px 75px 0 0; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 331, ../scss/dev/07-layout.scss */
    .l-reading-plane {
      padding: 12.5px 0 0 0; } }
  /* line 347, ../scss/dev/07-layout.scss */
  .l-reading-plane.demos {
    padding: 50px 150px 0 0; }
    @media (min-width: 0px) and (max-width: 500px) {
      /* line 347, ../scss/dev/07-layout.scss */
      .l-reading-plane.demos {
        padding: 20px 0 0 0; } }

/* line 358, ../scss/dev/07-layout.scss */
.l-content-block {
  width: 100%;
  box-sizing: border-box;
  position: relative;
  margin-top: 50px;
  padding: 0 150px 0 35px; }
  @media (min-width: 0px) and (max-width: 1023px) {
    /* line 358, ../scss/dev/07-layout.scss */
    .l-content-block {
      padding: 0; } }

/*------------------------------------*\
:    Layout - Image Container
\*------------------------------------*/
/* line 375, ../scss/dev/07-layout.scss */
.h-img-container {
  background-size: cover;
  background-position: center center; }
  /* line 379, ../scss/dev/07-layout.scss */
  .h-img-container img,
  .h-img-container svg {
    display: block;
    width: 100%;
    height: auto; }

/*------------------------------------*\
:    Layout - Video Container
\*------------------------------------*/
/* line 391, ../scss/dev/07-layout.scss */
video,
object,
iframe {
  max-width: 100%; }

/* line 397, ../scss/dev/07-layout.scss */
.h-video-container,
.h-sound-container {
  position: relative;
  padding: 28.125% 0;
  height: 0;
  margin-bottom: 40px;
  background-size: cover;
  background-position: center center;
  transition: padding 0.5s ease-in-out; }
  /* line 406, ../scss/dev/07-layout.scss */
  .h-video-container:last-child,
  .h-sound-container:last-child {
    margin-bottom: 0; }
  /* line 409, ../scss/dev/07-layout.scss */
  .h-video-container iframe,
  .h-video-container video,
  .h-video-container object,
  .h-video-container img,
  .h-sound-container iframe,
  .h-sound-container video,
  .h-sound-container object,
  .h-sound-container img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*------------------------------------*\
:    Layout - Fade Filter
\*------------------------------------*/
/* line 426, ../scss/dev/07-layout.scss */
.c-fade-filter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, z-index 10ms 0.3s ease-in-out;
  pointer-events: none;
  z-index: 145; }
  /* line 439, ../scss/dev/07-layout.scss */
  .c-fade-filter.is-active {
    opacity: 1;
    transition: opacity 0.3s ease-in-out, z-index 10ms ease-in-out;
    pointer-events: auto; }

/* line 446, ../scss/dev/07-layout.scss */
.c-search-form {
  position: fixed;
  top: 40vh;
  left: 25vw;
  width: 50vw;
  visibility: hidden;
  box-sizing: border-box;
  -ms-transform: translateY(-50vw);
      transform: translateY(-50vw);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 170; }
  /* line 457, ../scss/dev/07-layout.scss */
  .c-search-form input {
    color: #111;
    border: none;
    padding: 0 1em 0.15em;
    background-color: #ffffff;
    width: 100%;
    line-height: 2em;
    height: auto;
    font-size: 3rem;
    box-sizing: border-box;
    box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
    border-radius: 3rem; }
    /* line 469, ../scss/dev/07-layout.scss */
    .c-search-form input:-ms-input-placeholder {
      color: #aaa; }
    .c-search-form input::placeholder {
      color: #aaa; }
    /* line 472, ../scss/dev/07-layout.scss */
    .c-search-form input:-webkit-autofill {
      box-shadow: inset 0 0 0px 9999px #ffffff;
      -webkit-box-shadow: inset 0 0 0px 9999px #ffffff; }
  /* line 477, ../scss/dev/07-layout.scss */
  .c-search-form.is-visible {
    visibility: visible;
    -ms-transform: translateY(0);
        transform: translateY(0); }
  @media (min-width: 0px) and (max-width: 767px) {
    /* line 446, ../scss/dev/07-layout.scss */
    .c-search-form {
      top: 40vh;
      left: 10vw; }
      /* line 484, ../scss/dev/07-layout.scss */
      .c-search-form.is-visible {
        width: calc(100% - 70px);
        max-width: 350px; }
      /* line 488, ../scss/dev/07-layout.scss */
      .c-search-form input {
        height: 50px;
        color: #111;
        background-color: #ffffff; }
        /* line 492, ../scss/dev/07-layout.scss */
        .c-search-form input:-ms-input-placeholder {
          color: #111; }
        .c-search-form input::placeholder {
          color: #111; } }

/*------------------------------------*\
:    Layout - Subnav
\*------------------------------------*/
/* line 508, ../scss/dev/07-layout.scss */
.l-subnav,
.l-main-content .l-subnav {
  display: block;
  max-width: 116.25px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box; }
  /* line 516, ../scss/dev/07-layout.scss */
  .l-subnav li,
  .l-main-content .l-subnav li {
    list-style-type: none;
    padding: 0;
    border-bottom: 1px dashed #555;
    margin: 0; }
    /* line 522, ../scss/dev/07-layout.scss */
    .l-subnav li::before,
    .l-main-content .l-subnav li::before {
      display: none; }
    /* line 527, ../scss/dev/07-layout.scss */
    .l-subnav li.parent a,
    .l-main-content .l-subnav li.parent a {
      color: #FF6600;
      font-size: 2.1rem;
      font-weight: 700;
      text-decoration: none; }
    /* line 535, ../scss/dev/07-layout.scss */
    .l-subnav li a,
    .l-main-content .l-subnav li a {
      display: block;
      padding: 9.5px 0;
      text-decoration: none;
      font-size: 0.9em; }
      /* line 541, ../scss/dev/07-layout.scss */
      .l-subnav li a.active, .l-subnav li a:hover,
      .l-main-content .l-subnav li a.active,
      .l-main-content .l-subnav li a:hover {
        color: #FF6600; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 508, ../scss/dev/07-layout.scss */
    .l-subnav,
    .l-main-content .l-subnav {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      max-width: 100%;
      padding: 0 150px 0 35px; }
      /* line 553, ../scss/dev/07-layout.scss */
      .l-subnav li,
      .l-main-content .l-subnav li {
        border-top: none;
        border-bottom: none;
        padding: 0 14px;
        margin: 2px 0;
        font-size: 1.4rem; }
        /* line 560, ../scss/dev/07-layout.scss */
        .l-subnav li a,
        .l-main-content .l-subnav li a {
          padding: 1px 0; } }
  @media (min-width: 0px) and (max-width: 1280px) {
    /* line 508, ../scss/dev/07-layout.scss */
    .l-subnav,
    .l-main-content .l-subnav {
      padding: 0 150px 0 150px; } }
  @media (min-width: 0px) and (max-width: 700px) {
    /* line 508, ../scss/dev/07-layout.scss */
    .l-subnav,
    .l-main-content .l-subnav {
      padding: 0; }
      /* line 573, ../scss/dev/07-layout.scss */
      .l-subnav li,
      .l-main-content .l-subnav li {
        margin: 6px 0; } }

/* line 579, ../scss/dev/07-layout.scss */
.wp-block-embed {
  margin: 0 0 1em; }
  /* line 582, ../scss/dev/07-layout.scss */
  .wp-block-embed.centered {
    text-align: center; }
    /* line 587, ../scss/dev/07-layout.scss */
    .wp-block-embed.centered.is-provider-twitter .wp-block-embed__wrapper twitter-widget {
      display: inline-block !important; }
    /* line 594, ../scss/dev/07-layout.scss */
    .wp-block-embed.centered.is-provider-instagram .video-container iframe {
      display: inline-block !important; }

/**
 * cannot use is-type-rich here because of instagram issues
 */
/* line 606, ../scss/dev/07-layout.scss */
.is-type-video .video-container,
.is-provider-soundcloud .video-container {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 0 56.25% 0;
  position: relative; }
  /* line 613, ../scss/dev/07-layout.scss */
  .is-type-video .video-container iframe,
  .is-provider-soundcloud .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* line 625, ../scss/dev/07-layout.scss */
.l-share-articles {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

/* line 631, ../scss/dev/07-layout.scss */
.l-filters-column {
  width: calc(100%/3 - 10px); }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 631, ../scss/dev/07-layout.scss */
    .l-filters-column {
      width: calc(100%/3 - 30px);
      margin-right: 5px; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 631, ../scss/dev/07-layout.scss */
    .l-filters-column {
      margin: 0; } }

/* line 643, ../scss/dev/07-layout.scss */
.l-share-column {
  width: calc(100%/3*2);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media (min-width: 0px) and (max-width: 1280px) {
    /* line 643, ../scss/dev/07-layout.scss */
    .l-share-column {
      margin-left: 0; } }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 643, ../scss/dev/07-layout.scss */
    .l-share-column {
      width: calc(100%/3*2 + 25px); } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 643, ../scss/dev/07-layout.scss */
    .l-share-column {
      width: 100%; } }

/*------------------------------------*\
:    Layout - Search results
\*------------------------------------*/
/* line 665, ../scss/dev/07-layout.scss */
.l-content-searchresults .searchinfo {
  margin: 2rem 0 5rem; }
  /* line 667, ../scss/dev/07-layout.scss */
  .l-content-searchresults .searchinfo h2 {
    font-size: 40px;
    font-size: 4rem;
    font-family: 'PT Serif', serif;
    color: #111;
    margin: 6rem 0 10rem 25%;
    padding-left: 5rem; }
    /* line 673, ../scss/dev/07-layout.scss */
    .l-content-searchresults .searchinfo h2 span {
      color: #FFDD00; }

/* line 678, ../scss/dev/07-layout.scss */
.l-content-searchresults .searchrow {
  border-bottom: solid 1px #111;
  margin-top: 2.5rem;
  padding-bottom: 2rem; }
  /* line 682, ../scss/dev/07-layout.scss */
  .l-content-searchresults .searchrow__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  /* line 686, ../scss/dev/07-layout.scss */
  .l-content-searchresults .searchrow__image {
    max-width: 25%;
    width: 100%;
    margin: auto;
    margin-right: 5rem; }
    /* line 691, ../scss/dev/07-layout.scss */
    .l-content-searchresults .searchrow__image img {
      width: 35rem;
      height: 100%;
      max-height: 20rem;
      -o-object-fit: cover;
         object-fit: cover; }
  /* line 698, ../scss/dev/07-layout.scss */
  .l-content-searchresults .searchrow__content {
    color: #111;
    max-width: 75%;
    width: 100%; }
    /* line 702, ../scss/dev/07-layout.scss */
    .l-content-searchresults .searchrow__content h2 {
      color: #222;
      margin: 1rem 0 .4rem; }
    /* line 707, ../scss/dev/07-layout.scss */
    .l-content-searchresults .searchrow__content .theme-label span {
      padding: .8rem 1rem;
      color: #111;
      background-color: #FFDD00;
      width: 100%; }