/**
 * Default clearfix implementation.
 *
 * @usage
 *    .box {
 *      @include clearfix;
 *    }
 */
/**
 * Casts a string into a number.
 *
 * @param {string} $value
 *    Tje string to cast to a number.
 * @return {$number}
 *    The value as number.
 */
/**
 * Split a string into a list of strings.
 *
 * @param {string} $string
 *    Tje string to be split.
 * @param {string} $delimiter
 *    The boundary string.
 * @return {list} $result
 *    The result list.
 */
footer.footer {
  position: relative;
  margin-top: 2rem;
  z-index: 1;
}
footer.footer .footer-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 2rem 0 0;
}
@media (min-width: 767px) {
  footer.footer .footer-logo {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 4rem 0 2rem;
  }
}
footer.footer .sdc-menu--footer-first {
  padding: 2rem 0;
}
@media (min-width: 767px) {
  footer.footer .sdc-menu--footer-first {
    padding: 4rem 0 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
footer.footer .sdc-menu--footer-second {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
  padding: 3rem 0;
}
@media (min-width: 767px) {
  footer.footer .sdc-menu--footer-second {
    width: 100%;
  }
  footer.footer .sdc-menu--footer-second ul {
    border-right: solid 1px rgba(255, 255, 255, 0.2);
    padding-right: 2rem;
  }
}
footer.footer .sdc-menu--footer-social {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
  padding: 3rem 0;
}
@media (min-width: 767px) {
  footer.footer .sdc-menu--footer-social {
    padding-left: 2rem;
    margin-left: auto;
  }
}
footer.footer .region--fat-footer {
  position: relative;
  background-color: #05598C;
  color: #fff;
  overflow-x: hidden;
  padding-top: 30px;
}
@media (min-width: 767px) {
  footer.footer .region--fat-footer {
    padding-bottom: 6rem;
  }
}
footer.footer .region--fat-footer:before {
  border-radius: 50%;
  background-color: #fff;
  width: calc(100% + 120px);
  height: 60px;
  content: "";
  position: absolute;
  top: -30px;
  left: -60px;
  z-index: 2;
}
footer.footer .region--fat-footer .colorbar {
  z-index: 1;
}
footer.footer .region--fat-footer--top, footer.footer .region--fat-footer--bottom {
  position: relative;
  z-index: 3;
}
footer.footer .region--fat-footer--top .container {
  text-align: center;
}
@media (min-width: 767px) {
  footer.footer .region--fat-footer--top .container {
    display: grid;
    grid-template-columns: 3fr 13fr;
  }
}
@media (min-width: 767px) {
  footer.footer .region--fat-footer--bottom .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
footer.footer .region--footer-menu {
  background-color: #444;
}
footer.footer .sdc-menu--footer-meta {
  padding: 0.8rem 0 1rem 0;
}