/*--------------------------------------------------------------
# Mixins
--------------------------------------------------------------*/
/*
define as many $color-stops as needed
*/
/*
Applies to both absolute and fixed mixins
sides are listed clockwise, like padding and margin shorthand
leaving values empty will follow the same shorthand rules as padding and margin
"auto" is still a value and must be set if you want an edge to be auto position.
z-index is not part of this mixin because it should always be defined case-by-case
*/
/*
Use this when you need a flex child to keep a specific
width while other child items are flexible
works well with percentages and specific em values
*/
/*
This should be applied directly to an input element.
It can be nested within other classes.
*/
.gnl-emergency-block {
  font-size: 1rem;
  margin: 0 auto 1.5em;
  max-width: 16em;
  background-color: #a52436; }
  .gnl-emergency-block * {
    color: white; }
  .gnl-emergency-block .gnl-emergency-block-inner {
    padding: 1em;
    display: block; }
  .gnl-emergency-block .gnl-emergency-content {
    text-align: center;
    margin: 0 auto 1.5em; }
    .gnl-emergency-block .gnl-emergency-content p {
      font-weight: 700;
      margin: 0; }
    .gnl-emergency-block .gnl-emergency-content h1, .gnl-emergency-block .gnl-emergency-content h2, .gnl-emergency-block .gnl-emergency-content h3, .gnl-emergency-block .gnl-emergency-content h4, .gnl-emergency-block .gnl-emergency-content h5, .gnl-emergency-block .gnl-emergency-content h6 {
      text-transform: uppercase;
      margin: 0; }
    .gnl-emergency-block .gnl-emergency-content h1, .gnl-emergency-block .gnl-emergency-content h2 {
      font-size: 2.5em; }
    .gnl-emergency-block .gnl-emergency-content h3 {
      font-size: 2em; }
    .gnl-emergency-block .gnl-emergency-content h4 {
      font-size: 1.5em; }
    .gnl-emergency-block .gnl-emergency-content h5 {
      font-size: 1.25em; }
    .gnl-emergency-block .gnl-emergency-content h6 {
      font-size: 1.15em; }
  .gnl-emergency-block .emergency-contacts {
    padding: 0 0.75em 0.75em;
    margin: 0 auto;
    list-style: none; }
    .gnl-emergency-block .emergency-contacts li {
      display: block;
      font-size: 0.75em;
      margin: 0 0 1.25em; }
      .gnl-emergency-block .emergency-contacts li:last-of-type {
        margin: 0; }
      .gnl-emergency-block .emergency-contacts li p {
        margin: 0 -0.25em; }
      .gnl-emergency-block .emergency-contacts li a, .gnl-emergency-block .emergency-contacts li span {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0.25em; }
      .gnl-emergency-block .emergency-contacts li a {
        font-weight: bold; }
        .gnl-emergency-block .emergency-contacts li a:hover, .gnl-emergency-block .emergency-contacts li a:focus {
          color: white;
          text-decoration: underline; }
  .gnl-emergency-block .gnl-emergency-non {
    border: 1px solid white;
    color: #a52436;
    border-color: #a52436;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
    position: relative;
    background: white; }
    .gnl-emergency-block .gnl-emergency-non * {
      color: inherit;
      border-color: inherit;
      -webkit-transition: all 300ms ease;
      transition: all 300ms ease; }
    .gnl-emergency-block .gnl-emergency-non a {
      background: white;
      text-decoration: none; }
      .gnl-emergency-block .gnl-emergency-non a:after {
        content: '';
        position: absolute;
        top: calc(50% - 0.325rem);
        right: 0.5rem;
        width: 0;
        height: 0;
        border-top: 0.5rem solid transparent;
        border-bottom: 0.5rem solid transparent;
        border-left: 0.5rem solid currentColor;
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
      .gnl-emergency-block .gnl-emergency-non a h2, .gnl-emergency-block .gnl-emergency-non a p {
        margin: 0;
        line-height: 1em; }
      .gnl-emergency-block .gnl-emergency-non a h2 {
        font-size: 2em; }
      .gnl-emergency-block .gnl-emergency-non a p {
        font-size: 0.875em;
        padding: 0.25em 0;
        border: 1px solid white;
        border-width: 0 0 1px;
        display: inline-block; }
      .gnl-emergency-block .gnl-emergency-non a:hover p, .gnl-emergency-block .gnl-emergency-non a:focus p {
        border-color: currentColor; }
  @media (min-width: 40em) {
    .gnl-emergency-block.wide {
      max-width: none;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .gnl-emergency-block.wide .gnl-emergency-block-inner {
        padding: 1.75em; }
      .gnl-emergency-block.wide .gnl-emergency-non {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 15em;
            -ms-flex: 0 0 15em;
                flex: 0 0 15em;
        max-width: 15em;
        width: 15em; }
        .gnl-emergency-block.wide .gnl-emergency-non a:after {
          content: none; }
      .gnl-emergency-block.wide .gnl-emergency-block-details {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 15em;
            -ms-flex: 1 1 15em;
                flex: 1 1 15em; }
      .gnl-emergency-block.wide .gnl-emergency-content {
        text-align: left; }
      .gnl-emergency-block.wide .emergency-contacts {
        padding: 0;
        margin: 0; } }
  @media (min-width: 50em) {
    .gnl-emergency-block.wide .gnl-emergency-block-details .gnl-emergency-block-inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .gnl-emergency-block.wide .gnl-emergency-content {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 15em;
          -ms-flex: 0 0 15em;
              flex: 0 0 15em;
      max-width: 15em;
      width: 15em;
      margin: 0; }
    .gnl-emergency-block.wide .gnl-emergency-contacts {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 15em;
          -ms-flex: 1 1 15em;
              flex: 1 1 15em; } }

.gnl-video-loop {
  max-width: 50rem; }
  .gnl-video-loop .gnl-loop-item {
    margin: 0 0 2rem; }
  .gnl-video-loop h3 {
    margin: 0 0 0.5rem; }
  .gnl-video-loop .gnl-video-wrap {
    padding-top: 56.25%;
    position: relative; }
    .gnl-video-loop .gnl-video-wrap iframe {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.gnl-quick-exit {
  font-size: 1rem;
  margin: -1em 0 1.5em;
  padding: 1em 0 0;
  line-height: 1.2;
  display: inline-block;
  background: white;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%; }
  .gnl-quick-exit a {
    display: block;
    padding: 1em 3.5em;
    background: #f5dce0;
    border: 1px solid #eab4bd;
    position: relative;
    color: #a52436;
    text-decoration: none; }
    .gnl-quick-exit a:before {
      content: '!';
      font-weight: 700;
      width: 1.25em;
      height: 1.25em;
      border-radius: 50%;
      background: #a52436;
      color: #f5dce0;
      display: block;
      position: absolute;
      top: calc(50% - 0.65em);
      left: 0.5em;
      text-align: center;
      line-height: 1.35em;
      font-size: 1.5em; }
    .gnl-quick-exit a:after {
      content: '';
      position: absolute;
      top: calc(50% - 0.5em);
      right: 0.5rem;
      width: 0;
      height: 0;
      border-top: 0.5rem solid transparent;
      border-bottom: 0.5rem solid transparent;
      border-left: 0.5rem solid #f5dce0;
      -webkit-transition: all 100ms ease;
      transition: all 100ms ease;
      -webkit-transform: translateX(-1em);
          -ms-transform: translateX(-1em);
              transform: translateX(-1em); }
    .gnl-quick-exit a:hover:after, .gnl-quick-exit a:focus:after {
      border-left-color: #a52436;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
  @media (min-width: 48em) {
    .gnl-quick-exit a {
      border-top-left-radius: 3em;
      border-bottom-left-radius: 3em; } }
  .gnl-quick-exit span,
  .gnl-quick-exit strong {
    display: inline-block;
    position: relative;
    z-index: 2; }

.media-group.content-group {
  margin: 0 0 1em; }
  .media-group.content-group .media-wrapper {
    margin: -1em -1em 1em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .media-group.content-group .media-wrapper .media-container {
      margin: 1em;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 calc(100% - 2em);
          -ms-flex: 0 0 calc(100% - 2em);
              flex: 0 0 calc(100% - 2em);
      max-width: calc(100% - 2em);
      width: calc(100% - 2em); }
      @media (min-width: 30rem) {
        .media-group.content-group .media-wrapper .media-container {
          -webkit-box-flex: 0;
          -webkit-flex: 0 0 calc(50% - 2em);
              -ms-flex: 0 0 calc(50% - 2em);
                  flex: 0 0 calc(50% - 2em);
          max-width: calc(50% - 2em);
          width: calc(50% - 2em); } }
      @media (min-width: 68.26667rem) {
        .media-group.content-group .media-wrapper .media-container {
          -webkit-box-flex: 0;
          -webkit-flex: 0 0 calc(33.33% - 2em);
              -ms-flex: 0 0 calc(33.33% - 2em);
                  flex: 0 0 calc(33.33% - 2em);
          max-width: calc(33.33% - 2em);
          width: calc(33.33% - 2em); } }
    .media-group.content-group .media-wrapper:not(.has-intro).media-wrapper-2 .media-container, .media-group.content-group .media-wrapper:not(.has-intro).media-wrapper-4 .media-container {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 calc(50% - 2em);
          -ms-flex: 0 0 calc(50% - 2em);
              flex: 0 0 calc(50% - 2em);
      max-width: calc(50% - 2em);
      width: calc(50% - 2em); }
  .media-group.content-group .media-container img {
    display: block;
    width: 100%;
    margin: 0; }
  .media-group.content-group .media-container a, .media-group.content-group .media-container .a {
    color: #005596;
    display: block; }
    .media-group.content-group .media-container a .overlay, .media-group.content-group .media-container .a .overlay {
      position: relative;
      overflow: hidden; }
      .media-group.content-group .media-container a .overlay:before, .media-group.content-group .media-container .a .overlay:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        background: black;
        display: block;
        opacity: 0.1;
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
      .media-group.content-group .media-container a .overlay .icon, .media-group.content-group .media-container .a .overlay .icon {
        display: block;
        width: 1em;
        height: 1em;
        position: absolute;
        top: calc(50% - 0.5em);
        right: calc(50% - 0.5em);
        bottom: auto;
        left: auto;
        font-size: 20vw;
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
        @media (min-width: 30rem) {
          .media-group.content-group .media-container a .overlay .icon, .media-group.content-group .media-container .a .overlay .icon {
            font-size: 12.5vw; } }
        @media (min-width: 68.26667rem) {
          .media-group.content-group .media-container a .overlay .icon, .media-group.content-group .media-container .a .overlay .icon {
            font-size: 7.5vw; } }
        @media (min-width: 1250px) {
          .media-group.content-group .media-container a .overlay .icon, .media-group.content-group .media-container .a .overlay .icon {
            font-size: 94px; } }
    .media-group.content-group .media-container a:hover .overlay:before, .media-group.content-group .media-container a:focus .overlay:before, .media-group.content-group .media-container .a:hover .overlay:before, .media-group.content-group .media-container .a:focus .overlay:before {
      opacity: 0; }
    .media-group.content-group .media-container a:hover .overlay:after, .media-group.content-group .media-container a:focus .overlay:after, .media-group.content-group .media-container .a:hover .overlay:after, .media-group.content-group .media-container .a:focus .overlay:after {
      opacity: 0.3;
      -webkit-transform: scale(5);
          -ms-transform: scale(5);
              transform: scale(5); }
  .media-group.content-group .media-container a .overlay .icon {
    opacity: 0.9; }
  .media-group.content-group .media-container a:hover .overlay .icon, .media-group.content-group .media-container a:focus .overlay .icon {
    -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
            transform: scale(1.5);
    opacity: 0.2; }
  .media-group.content-group .media-container p {
    margin: 0.25em 0 0; }
  .media-group.content-group .media-container.audio-container .a .overlay, .media-group.content-group .media-container.audio-container .a:hover .overlay, .media-group.content-group .media-container.audio-container .a:focus .overlay {
    padding-top: 56.25%;
    background: #d9d9d9; }
    .media-group.content-group .media-container.audio-container .a .overlay:before, .media-group.content-group .media-container.audio-container .a:hover .overlay:before, .media-group.content-group .media-container.audio-container .a:focus .overlay:before {
      content: none; }
  .media-group.content-group .button-wrap {
    text-align: right; }
  @media (min-width: 68.26667rem) {
    .media-group.content-group.has-intro {
      margin-left: -1em;
      margin-right: -1em;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .media-group.content-group.has-intro .content-section-intro,
      .media-group.content-group.has-intro .content-section-media {
        margin: 0 1em; }
      .media-group.content-group.has-intro .content-section-intro {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(33.33% - 2em);
            -ms-flex: 0 0 calc(33.33% - 2em);
                flex: 0 0 calc(33.33% - 2em);
        max-width: calc(33.33% - 2em);
        width: calc(33.33% - 2em); }
      .media-group.content-group.has-intro .content-section-media {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(66.66% - 2em);
            -ms-flex: 0 0 calc(66.66% - 2em);
                flex: 0 0 calc(66.66% - 2em);
        max-width: calc(66.66% - 2em);
        width: calc(66.66% - 2em); }
      .media-group.content-group.has-intro .media-container {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(50% - 2em);
            -ms-flex: 0 0 calc(50% - 2em);
                flex: 0 0 calc(50% - 2em);
        max-width: calc(50% - 2em);
        width: calc(50% - 2em); } }

@media (min-width: 68.26667rem) {
  body.home .media-group.content-group:not(.has-intro) .media-wrapper-4 .media-container {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(25% - 2em);
        -ms-flex: 0 0 calc(25% - 2em);
            flex: 0 0 calc(25% - 2em);
    max-width: calc(25% - 2em);
    width: calc(25% - 2em); }
    body.home .media-group.content-group:not(.has-intro) .media-wrapper-4 .media-container a .overlay .icon, body.home .media-group.content-group:not(.has-intro) .media-wrapper-4 .media-container .a .overlay .icon {
      font-size: 3em; } }

/*# sourceMappingURL=app.css.map */

.language-switcher {
  display: none; }