/*------------------------------------*\
:    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; }
  /* line 11, ../scss/dev/07-layout.scss */
  body.has-loaded .l-main-content {
    opacity: 1;
    margin-bottom: 200px; }

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

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

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

/* line 34, ../scss/dev/07-layout.scss */
.l-content-container {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px;
  padding: 0 50px;
  margin: auto; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 34, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 40px; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 34, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 30px; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 34, ../scss/dev/07-layout.scss */
    .l-content-container {
      padding: 0 20px; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 52, ../scss/dev/07-layout.scss */
    .l-content-container.mobile-full-width {
      padding: 0; } }

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

/* line 63, ../scss/dev/07-layout.scss */
.l-content-container-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 63, ../scss/dev/07-layout.scss */
    .l-content-container-columns {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

/* line 73, ../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 81, ../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 73, ../scss/dev/07-layout.scss */
    .l-header-img-full {
      height: 220px; }
      /* line 92, ../scss/dev/07-layout.scss */
      .l-header-img-full .l-content-container.header-inner {
        padding-top: 100px; } }

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

/* line 105, ../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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  /* line 113, ../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 117, ../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 117, ../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 117, ../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 117, ../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 139, ../scss/dev/07-layout.scss */
.l-body-wrapper {
  padding-top: 50px; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 139, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 40px; } }
  @media (min-width: 0px) and (max-width: 800px) {
    /* line 139, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 30px; } }
  @media (min-width: 0px) and (max-width: 500px) {
    /* line 139, ../scss/dev/07-layout.scss */
    .l-body-wrapper {
      padding-top: 20px; } }

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

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

/*------------------------------------*\
:    Layout - Main page columns
\*------------------------------------*/
/* line 172, ../scss/dev/07-layout.scss */
.l-content-column-left {
  width: 100%;
  margin: 0 auto;
  position: relative; }
  /* line 177, ../scss/dev/07-layout.scss */
  .l-content-column-left.left-spacing {
    margin: 0 auto 0 100px; }
  /* line 181, ../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 191, ../scss/dev/07-layout.scss */
    .l-content-column-left.left-spacing {
      margin: 0 auto 0; } }

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

/* line 206, ../scss/dev/07-layout.scss */
.l-sidebar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 155px;
          flex: 0 0 155px; }
  /* line 210, ../scss/dev/07-layout.scss */
  .l-sidebar.top-spacing {
    padding-top: 50px; }
    @media (min-width: 0px) and (max-width: 700px) {
      /* line 210, ../scss/dev/07-layout.scss */
      .l-sidebar.top-spacing {
        padding-top: 15px; } }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 206, ../scss/dev/07-layout.scss */
    .l-sidebar {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }

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

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

/* line 260, ../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 260, ../scss/dev/07-layout.scss */
    .l-content-block {
      padding: 0; } }

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

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

/* line 299, ../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;
  -webkit-transition: padding 0.5s ease-in-out;
          transition: padding 0.5s ease-in-out; }
  /* line 308, ../scss/dev/07-layout.scss */
  .h-video-container:last-child,
  .h-sound-container:last-child {
    margin-bottom: 0; }
  /* line 311, ../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 328, ../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;
  -webkit-transition: opacity 0.3s ease-in-out, z-index 10ms 0.3s ease-in-out;
          transition: opacity 0.3s ease-in-out, z-index 10ms 0.3s ease-in-out;
  pointer-events: none;
  z-index: 145; }
  /* line 341, ../scss/dev/07-layout.scss */
  .c-fade-filter.is-active {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in-out, z-index 10ms ease-in-out;
            transition: opacity 0.3s ease-in-out, z-index 10ms ease-in-out;
    pointer-events: auto; }

/* line 348, ../scss/dev/07-layout.scss */
.c-search-form {
  position: fixed;
  top: 40vh;
  left: 25vw;
  width: 50vw;
  visibility: hidden;
  box-sizing: border-box;
  -webkit-transform: translateY(-50vw);
      -ms-transform: translateY(-50vw);
          transform: translateY(-50vw);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
          transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 170; }
  /* line 359, ../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); }
    /* line 370, ../scss/dev/07-layout.scss */
    .c-search-form input::-webkit-input-placeholder {
      color: #aaa; }
    .c-search-form input:-ms-input-placeholder {
      color: #aaa; }
    .c-search-form input::placeholder {
      color: #aaa; }
    /* line 373, ../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 378, ../scss/dev/07-layout.scss */
  .c-search-form.is-visible {
    visibility: visible;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  @media (min-width: 0px) and (max-width: 767px) {
    /* line 348, ../scss/dev/07-layout.scss */
    .c-search-form {
      top: -5px;
      right: -5px; }
      /* line 385, ../scss/dev/07-layout.scss */
      .c-search-form.is-visible {
        width: calc(100% - 70px);
        max-width: 350px; }
      /* line 389, ../scss/dev/07-layout.scss */
      .c-search-form input {
        height: 50px;
        color: #111;
        background-color: #ffffff; }
        /* line 393, ../scss/dev/07-layout.scss */
        .c-search-form input::-webkit-input-placeholder {
          color: #111; }
        .c-search-form input:-ms-input-placeholder {
          color: #111; }
        .c-search-form input::placeholder {
          color: #111; } }

/*------------------------------------*\
:    Layout - Subnav
\*------------------------------------*/
/* line 404, ../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 412, ../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 418, ../scss/dev/07-layout.scss */
    .l-subnav li::before,
    .l-main-content .l-subnav li::before {
      display: none; }
    /* line 423, ../scss/dev/07-layout.scss */
    .l-subnav li.parent a,
    .l-main-content .l-subnav li.parent a {
      color: #fa4515;
      font-size: 2.1rem;
      font-weight: 700;
      text-decoration: none; }
    /* line 431, ../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 437, ../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: #fa4515; }
  @media (min-width: 0px) and (max-width: 1024px) {
    /* line 404, ../scss/dev/07-layout.scss */
    .l-subnav,
    .l-main-content .l-subnav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      max-width: 100%;
      padding: 0 150px 0 35px; }
      /* line 449, ../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 456, ../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 404, ../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 404, ../scss/dev/07-layout.scss */
    .l-subnav,
    .l-main-content .l-subnav {
      padding: 0; }
      /* line 469, ../scss/dev/07-layout.scss */
      .l-subnav li,
      .l-main-content .l-subnav li {
        margin: 6px 0; } }

/* line 475, ../scss/dev/07-layout.scss */
.wp-block-embed {
  margin: 0 0 1em; }
  /* line 478, ../scss/dev/07-layout.scss */
  .wp-block-embed.centered {
    text-align: center; }
    /* line 483, ../scss/dev/07-layout.scss */
    .wp-block-embed.centered.is-provider-twitter .wp-block-embed__wrapper twitter-widget {
      display: inline-block !important; }
    /* line 490, ../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 502, ../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 509, ../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%; }