﻿@supports (display: grid) {
  .ds_page {
    display: grid;
    margin-bottom: 0;
    min-height: 100vh;
    grid-template: 'page-top' auto 'page-middle' 1fr 'page-bottom' auto; }
    .ds_page__top {
      grid-area: page-top; }
    .ds_page__middle {
      grid-area: page-middle; }
    .ds_page__bottom {
      grid-area: page-bottom; }

  .ds_site-footer {
    position: static; } }

/*------------------------------------*\
    SITE FOOTER
\*------------------------------------*/
.ds_site-footer {
  font-size: 0.875rem;
  line-height: 1.71429;
  background-color: #0065bd; }
  @media (min-width: 768px) {
    .ds_site-footer {
      font-size: 0.84211rem;
      line-height: 1.5; } }
  .ds_site-footer__content {
    padding-bottom: 32px;
    padding-top: 24px; }
  .ds_site-footer__site-items {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.71429;
    list-style-type: none; }
  .ds_site-footer__copyright-logo {
    display: block;
    margin-bottom: 8px;
    width: 32px;
    position: relative;
    transition-duration: 0s !important; }
    .ds_site-footer__copyright-logo:hover:not(:focus) {
      background: transparent;
      outline-color: transparent; }
    .ds_site-footer__copyright-logo::after {
      background-color: currentColor;
      bottom: -5px;
      content: '';
      height: 1px;
      left: 50%;
      opacity: 0;
      position: absolute;
      right: 50%;
      transition: left 0.2s, right 0.2s, opacity 0.2s; }
    .ds_site-footer__copyright-logo:hover::after {
      left: 0;
      opacity: 1;
      right: 0; }
    .ds_site-footer__copyright-logo img {
      height: auto;
      width: 100%; }
  .ds_site-footer__org {
    max-width: 160px;
    position: relative; }
  .ds_site-footer__org-logo {
    display: block;
    height: auto;
    width: 100%; }
  .ds_site-footer__org-link {
    display: block;
    position: relative;
    transition-duration: 0s !important; }
    .ds_site-footer__org-link:hover:not(:focus) {
      background: transparent;
      outline-color: transparent; }
    .ds_site-footer__org-link::after {
      background-color: currentColor;
      bottom: -5px;
      content: '';
      height: 1px;
      left: 50%;
      opacity: 0;
      position: absolute;
      right: 50%;
      transition: left 0.2s, right 0.2s, opacity 0.2s; }
    .ds_site-footer__org-link:hover::after {
      left: 0;
      opacity: 1;
      right: 0; }
  .ds_site-footer .ds_site-footer__org-link,
  .ds_site-footer .ds_site-footer__copyright-logo {
    color: currentColor !important; }

.ds_reversed .ds_site-footer__content {
  color: #ffffff; }

.ds_site-items__item {
  display: inline-block; }
  .ds_site-items__item:not(:last-child) {
    margin-right: 20px; }

@media (min-width: 768px) {
  .ds_site-footer {
    line-height: 24px; }
    .ds_site-footer__copyright {
      padding-left: 48px;
      position: relative; }
      .ds_site-footer__copyright-logo {
        position: absolute;
        left: 0;
        top: 2px; }
    .ds_site-footer__content {
      margin-right: -32px;
      overflow: hidden; }
      .ds_site-footer__content > * {
        margin-right: 32px; }
      @supports (display: grid) {
        .ds_site-footer__content {
          display: grid;
          grid-gap: 0 32px;
          margin-right: 0;
          overflow: hidden; }
          .ds_site-footer__content > * {
            margin-left: 0;
            margin-right: 0;
            width: auto !important; } }
    .ds_site-footer__copyright {
      float: left;
      width: calc(100% * 0.66667 - 32px); }
    .ds_site-footer__org {
      float: right;
      width: calc(100% * 0.25 - 32px); }

  @supports (display: grid) {
    .ds_site-footer__content {
      display: grid;
      grid-gap: 0 32px;
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: 'a a a a a a a a a a a a' 'b b b b b b b b . c c c'; }
    .ds_site-footer__site-items {
      grid-area: a; }
    .ds_site-footer__copyright {
      grid-area: b; }
    .ds_site-footer__org {
      grid-area: c;
      justify-self: right;
      width: 100% !important; } } }

.ds_reversed a,
.ds_reversed .ds_link {
  color: currentColor; }
  .ds_reversed a:focus,
  .ds_reversed .ds_link:focus {
    color: #333333; }
  .ds_reversed a:hover:not(:focus),
  .ds_reversed .ds_link:hover:not(:focus) {
    background-color: transparent;
    color: currentColor;
    outline-color: transparent; }

/*------------------------------------*\
    $BACK TO TOP
\*------------------------------------*/
.ds_back-to-top {
  display: none; }

@media only screen {
  .ds_back-to-top {
    bottom: 56px;
    display: block;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 100vh;
    z-index: 1; }
    .ds_back-to-top__button {
      display: block;
      position: relative;
      transition: background-color 0.2s, outline-color 0.2s;
      z-index: 1;
      outline: 0 !important;
      font-size: 0.875rem;
      line-height: 1.71429;
      background-color: rgba(255, 255, 255, 0.9);
      font-weight: 700;
      margin: 0;
      min-width: 120px;
      pointer-events: all;
      padding: 8px 32px 8px 16px;
      position: fixed;
      position: sticky;
      right: 8px;
      top: calc(100vh - 56px); }
      .ds_back-to-top__button:focus {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333;
        color: #333333; } }
      @media only screen and (forced-colors: active) and (prefers-contrast: more) {
        .ds_back-to-top__button:focus {
          outline-color: highlight !important;
          outline-style: solid !important;
          outline-width: 2px !important; } }
@media only screen {
      .ds_back-to-top__button:hover:not(:focus) {
        background-color: #d9effc; } }
    @media only screen and (min-width: 768px) {
      .ds_back-to-top__button {
        font-size: 0.84211rem;
        line-height: 1.5; } }
@media only screen {
    .ds_back-to-top__icon {
      position: absolute;
      right: 8px;
      top: 8px; } }
@media only screen and (min-width: 768px) {
  .ds_back-to-top__icon {
    top: 12px; } }

/*------------------------------------*\
    WRAPPERS
\*------------------------------------*/
.ds_wrapper {
  margin: 0 auto;
  padding: 0 16px;
  width: 100%; }
  .ds_wrapper--no-overflow {
    overflow: hidden; }

@media (min-width: 768px) {
  .ds_wrapper {
    width: 768px; } }
@media (min-width: 992px) {
  .ds_wrapper {
    width: 960px; } }
@media (min-width: 1200px) {
  .ds_wrapper {
    width: 1152px; } }
