/*
 * @import this file into any new sheet to gain access to all variables and mixins
 *
 * Do NOT put any compile-able CSS into files in this folder.
 * Doing so will result in duplicated CSS.
 */
/*
 * Mixins are primarily used so we can include styles in places where it's hard to adjust the markup (link in dataTables)
 */
/*
 * Notification State Color
 */
/*
 * Container Widths
 */
/*
 * Global styles for basic elements
 *
 * _utilities.scss is explicitly omitted here and included separately in global.scss
 */
/* Modified version of https://make.wordpress.org/accessibility/handbook/markup/the-css-class-screen-reader-text/ */
.screen-reader-text {
  position: absolute;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  display: block;
  clip: auto !important;
  clip-path: none;
  height: auto;
  width: auto;
  margin: 0;
  z-index: 100000;
}

/**
 * Adjustments to base non-typographic html elements
 */
html {
  scroll-padding: 3rem;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
/* HTML safety */
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

*,
:before,
:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

button {
  cursor: pointer;
  font-size: inherit;
  line-height: inherit;
}

mark {
  background-color: rgba(244, 188, 41, 0.25);
  padding: 0 0.15em;
  border-radius: 3px;
}

.mark--negative {
  background-color: rgba(222, 86, 86, 0.25);
}

.mark--positive {
  background-color: rgba(86, 221, 93, 0.25);
}

/* General Form Spacing */
.deform > * + * {
  margin-top: 1em;
}

.form--roomy > * + * {
  margin-top: 3em;
}

.field > * + * {
  margin-top: 0.25em;
}

.field--roomy > * + * {
  margin-top: 0.75em;
}

.field--roomy .form-control {
  margin-top: 1.5em;
}

.field__label {
  display: block;
  font-size: 1.125em;
}

label + .form-control {
  margin-top: 0.5em;
}

.field__label__required {
  color: rgb(172.3465346535, 33.6534653465, 33.6534653465);
}

.field__help {
  max-width: 45em;
  font-size: 0.875em;
  color: #5c5c62;
}
.field__help ul,
.field__help ol {
  padding-left: 1em;
  margin-bottom: 1em;
}
.field__help li + li {
  margin-top: 0.5em;
}
.field__help ::marker {
  color: inherit;
}

.field__help--error {
  font-weight: 700;
  color: rgb(172.3465346535, 33.6534653465, 33.6534653465);
}

.has-error {
  padding: 1em;
  background-color: #f8d8db;
  border: 1px solid #de5656;
}

/*====================================
=            Input Styles            =
====================================*/
/*
 * General Styles & Text-like inputs
 */
[type=text],
[type=tel],
[type=email],
[type=url],
[type=password],
[type=search],
select,
body .select2-container--default .select2-selection--multiple,
body .select2-container--default .select2-selection--single,
textarea {
  width: 100%;
  max-width: 45em;
  padding: 0.625em 0.875em;
  border: 1px solid #dcdcdc;
  font-family: inherit;
  font-size: inherit;
}
[type=text]:hover,
[type=tel]:hover,
[type=email]:hover,
[type=url]:hover,
[type=password]:hover,
[type=search]:hover,
select:hover,
body .select2-container--default .select2-selection--multiple:hover,
body .select2-container--default .select2-selection--single:hover,
textarea:hover {
  border-color: #5c5c62;
}
[type=text]:focus,
[type=tel]:focus,
[type=email]:focus,
[type=url]:focus,
[type=password]:focus,
[type=search]:focus,
select:focus,
body .select2-container--default .select2-selection--multiple:focus,
body .select2-container--default .select2-selection--single:focus,
textarea:focus {
  border-color: #0c8572;
}
.has-error [type=text],
.has-error [type=tel],
.has-error [type=email],
.has-error [type=url],
.has-error [type=password],
.has-error [type=search],
.has-error select,
.has-error body .select2-container--default .select2-selection--multiple,
.has-error body .select2-container--default .select2-selection--single,
.has-error textarea {
  border-color: #5c5c62;
}

.input--compact {
  padding: 0.3125em 0.5em;
}

/*
 * Select element & Select2 styles to match it
 *
 * Thank you https://www.filamentgroup.com/lab/select-css.html
 */
select {
  display: block;
  padding: 0.625em 2.25em 0.625em 0.875em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg' viewBox='-255 347 100 100'%3E%3Cpath fill='%2316ad9c' d='M-166.397 372.89L-205 421.11l-38.603-48.22z'/%3E%3C/svg%3E"), -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg' viewBox='-255 347 100 100'%3E%3Cpath fill='%2316ad9c' d='M-166.397 372.89L-205 421.11l-38.603-48.22z'/%3E%3C/svg%3E"), linear-gradient(#fff, #fff);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 1em auto, 100%;
}
select::ms-expand {
  display: none;
}

select.select--compact {
  padding: 0.3125em 1.75em 0.3125em 0.5em;
}

[multiple=true] {
  padding: 1em;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
  background: linear-gradient(#fff, #fff);
}

/*
 * Select2 Styles
 *
 * body selector is specificity tiebreaker
 */
select + .select2-container {
  margin-top: 0.25em;
}

.field--roomy select + .select2-container {
  margin-top: 0.75em;
}

body .select2-container--default .select2-selection--multiple,
body .select2-container--default .select2-selection--single {
  height: 2.75em;
  border-radius: 0 !important;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 2.75em;
  height: 2.75em;
  background: url("data:image/svg+xml;charset=US-ASCII,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg' viewBox='-255 347 100 100'%3E%3Cpath fill='%2316ad9c' d='M-166.397 372.89L-205 421.11l-38.603-48.22z'/%3E%3C/svg%3E") 1em no-repeat;
}
body .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

body .select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  line-height: 1.25;
}

body .select2-container--default .select2-search--dropdown .select2-search__field {
  bordre-color: #dcdcdc;
}
body .select2-container--default .select2-search--dropdown .select2-search__field:hover {
  border-color: #5c5c62;
}
body .select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border-color: #16ad9c;
}

body .select2-dropdown {
  border-color: #dcdcdc;
  border-radius: 0;
}

/**
 * Radios and Checkboxes
 */
ul.form-control {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  padding-top: 1px;
}
ul.form-control li {
  margin-top: 1em;
}

/* Using screen reader text styles to hide actual inputs */
[type=checkbox],
[type=radio] {
  position: absolute;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  word-wrap: normal !important;
}

[type=checkbox] + label,
[type=radio] + label,
.select-button__radio {
  display: inline-block;
  position: relative;
  padding-left: 2em;
  cursor: pointer;
}
[type=checkbox] + label:before,
[type=radio] + label:before,
.select-button__radio:before {
  position: absolute;
  top: 0.1875em;
  left: 0;
  display: block;
  content: "";
  width: 1.25em;
  height: 1.25em;
  border: 2px solid #dcdcdc;
  background: #fff;
}
.has-error [type=checkbox] + label:before,
.has-error [type=radio] + label:before,
.has-error .select-button__radio:before {
  border-color: #5c5c62;
}

[type=checkbox] + label:hover:before,
[type=radio] + label:hover:before,
.select-button:hover .select-button__radio:before {
  border-color: #5c5c62;
}

[type=checkbox]:focus + label:before,
[type=radio]:focus + label:before,
[type=radio]:focus + .select-button .select-button__radio:before {
  border-color: #16ad9c;
}

[type=checkbox]:checked + label:before {
  border-color: #16ad9c;
  background-color: #16ad9c;
  color: #fff;
  font-family: "be-icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}

[type=radio] + label:before,
.select-button__radio:before {
  border-radius: 50%;
}

[type=radio]:checked + label:before,
[type=radio]:checked + .select-button .select-button__radio:before {
  border: 0.4375em solid #16ad9c;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  padding: 0;
  float: left;
}
legend + * {
  clear: left;
}

/**
 * Site Select "Button"
 */
body .select-button {
  display: block;
  width: 100%;
  max-width: 45em;
  padding: 1em;
  border: 1px solid #dcdcdc;
  -webkit-box-shadow: 0 8px 12px rgba(31, 39, 46, 0.08);
          box-shadow: 0 8px 12px rgba(31, 39, 46, 0.08);
}
@media (min-width: 48em) {
  body .select-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body .select-button:before, body .select-button:after {
  display: none !important;
}

.select-button__value {
  display: block;
}

.select-button__button {
  display: block;
  text-align: center;
  margin-top: 1em;
}
@media (min-width: 48em) {
  .select-button__button {
    margin-top: 0;
  }
}

[type=radio]:checked + .select-button {
  background-color: #0c8572;
  border-color: #0c8572;
  color: #fff;
}

[type=radio]:checked + .select-button .select-button__button {
  border-color: #0c8572;
}

label .select-button__button {
  padding: 0.5em 1em 0.5em 0.75em;
  border: 2px solid #16ad9c;
  background-color: #fff;
  color: #1f272e;
  white-space: nowrap;
}

div .select-button__button a {
  font-weight: normal;
}

/**
 * Additional Styles for Likerts
 */
@media (min-width: 48em) {
  .likert-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .likert-item {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .likert-item [type=checkbox] + label,
  .likert-item [type=radio] + label {
    padding-left: 0;
    padding-top: 1.5em;
  }
  .likert-item [type=checkbox] + label:before,
  .likert-item [type=radio] + label:before {
    top: 0;
    left: 50%;
    margin-left: -0.625em;
  }
}
/*====================================================================
=            Single-Field Presentational / Layout Classes            =
=====================================================================*/
/* Text-like Field Sizes */
.field--small input,
.field--small textarea,
[inputmode=decimal] {
  max-width: 8em;
}

.field--medium input,
.field--medium textarea,
[type=tel] {
  max-width: 20em;
}

.field--full input,
.field--full textarea {
  max-width: 100%;
}

/* Field Spacing */
.field--pull-up {
  margin-top: 0.25em;
}

.form--roomy .field--pull-up {
  margin-top: 1em;
}

/* Radio & Checkbox Layouts */
.field--items-multicol .form-control {
  margin-top: 1em;
  -webkit-column-gap: 3em;
     -moz-column-gap: 3em;
          column-gap: 3em;
}
.field--items-multicol .form-control li {
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
.field--items-multicol .form-control li:first-of-type {
  margin-top: 0;
}
@media (min-width: 32em) {
  .field--items-multicol .form-control {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
@media (min-width: 48em) {
  .field--items-multicol .form-control {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
}
@media (min-width: 71em) {
  .field--items-multicol .form-control {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }
}

@media (min-width: 48em) {
  .field--items-inline .form-control {
    margin-top: 0.5em;
  }
  .field--items-inline li {
    display: inline-block;
  }
  .field--items-inline li + li {
    margin-left: 3em;
  }
}
/*==================================================
=            Multi-Field Layout Classes            =
==================================================*/
@media (min-width: 48em) {
  .field--left-half,
  .field--right-half {
    width: 48%;
    float: left;
  }
  .field--left-half {
    clear: left;
    margin-right: 4%;
    margin-bottom: 1em;
    margin-top: 1em;
  }
  .form--roomy .field--left-half {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .field--right-half + * {
    clear: both;
  }
}
/*=======================================
=            TinyMCE                    =
=======================================*/
div.mce-tinymce {
  display: block !important;
  margin-top: 1em;
}

/*=======================================
=            jQuery UI Fixes            =
=======================================*/
/* Migrated from overrides.css */
.ui-menu-item-wrapper {
  /* Make autocomplete items fill width */
  display: block;
}

/*========================================
=            Base Type Styles            =
========================================*/
body {
  /* system font stack, see https://css-tricks.com/snippets/css/system-font-stack/ */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  line-height: 1.5;
  color: #1f272e;
}

/*================================
=            Headings            =
================================*/
h1,
.h1 {
  font-size: 2em;
  line-height: 1.25;
}
@media (min-width: 48em) {
  h1,
  .h1 {
    font-size: 2.5em;
    line-height: 1.5;
  }
}

body .notification + h1 {
  margin-top: 0.5em;
}

h2,
.h2 {
  font-size: 1.5em;
  line-height: 1.3333;
}
@media (min-width: 48em) {
  h2,
  .h2 {
    font-size: 2em;
    line-height: 1.25;
  }
}

h3,
.h3 {
  font-size: 1.25em;
  line-height: 1.4;
  font-weight: 300;
}
@media (min-width: 48em) {
  h3,
  .h3 {
    font-size: 1.5em;
    line-height: 1.5;
  }
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-size: 1em;
  font-weight: 300;
}

.heading--underlined {
  margin-top: 2em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #dcdcdc;
  border-color: rgba(31, 39, 46, 0.075);
}

/*=============================
=            Lists            =
=============================*/
ul li::marker {
  color: #16ad9c;
}

main li + li {
  margin-top: 0.25em;
}

/*=============================
=            Links            =
=============================*/
a {
  color: #0c8572;
}
a:hover, a:focus {
  text-decoration: none;
}
a:visited {
  color: #830c75;
}
a:active {
  color: #16ad9c;
}

/* Copied from be-icons-v1.2/stylesheet.css */
/* Modified only to fix relative path to fonts folder */
@font-face {
  font-family: "be-icons";
  src: url("../fonts/be-icons.ttf?cqrxk") format("truetype"), url("../fonts/be-icons.woff?cqrxk") format("woff"), url("../fonts/be-icons.svg?cqrxk#be-icons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "be-icons" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-search:before {
  content: "\f002";
}

.icon-user:before {
  content: "\f007";
}

.icon-check:before {
  content: "\f00c";
}

.icon-close:before {
  content: "\f00d";
}

.icon-remove:before {
  content: "\f00d";
}

.icon-gear:before {
  content: "\f013";
}

.icon-download:before {
  content: "\f019";
}

.icon-list:before {
  content: "\f022";
}

.icon-lock:before {
  content: "\f023";
}

.icon-flag:before {
  content: "\f024";
}

.icon-pencil:before {
  content: "\f040";
}

.icon-check-circle:before {
  content: "\f058";
}

.icon-question-circle:before {
  content: "\f059";
}

.icon-info-circle:before {
  content: "\f05a";
}

.icon-ban:before {
  content: "\f05e";
}

.icon-exclamation-circle:before {
  content: "\f06a";
}

.icon-exclamation-triangle:before {
  content: "\f071";
}

.icon-warning:before {
  content: "\f071";
}

.icon-calendar:before {
  content: "\f073";
}

.icon-upload:before {
  content: "\f093";
}

.icon-twitter:before {
  content: "\f099";
}

.icon-facebook:before {
  content: "\f09a";
}

.icon-globe:before {
  content: "\f0ac";
}

.icon-chain:before {
  content: "\f0c1";
}

.icon-link:before {
  content: "\f0c1";
}

.icon-menu:before {
  content: "\f0c9";
}

.icon-linkedin:before {
  content: "\f0e1";
}

.icon-comment:before {
  content: "\f0e5";
}

.icon-comments:before {
  content: "\f0e6";
}

.icon-sitemap:before {
  content: "\f0e8";
}

.icon-arrow-down:before {
  content: "\f107";
}

.icon-code-fork:before {
  content: "\f126";
}

.icon-building:before {
  content: "\f1ad";
}

.icon-history:before {
  content: "\f1da";
}

.icon-whatsapp:before {
  content: "\f232";
}

/**
 * Classes used to modify the icons from the icon font in _icon-font.scss
 */
/* Colors */
/* By default, icon inherits font color */
.icon--yellow:before {
  color: #f4bc29;
}

.icon--teal:before {
  color: #16ad9c;
}

.icon--red:before {
  color: #de5656;
}

.icon--white:before {
  color: #fff;
}

.icon--gray:before {
  color: #5c5c62;
}

.icon--black:before {
  color: #1f272e;
}

a .icon {
  display: inline-block;
  text-decoration: none;
}

.site-header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  z-index: 99;
}

.site-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 75%;
          flex: 0 1 75%;
  margin-top: 0.25em;
  margin-bottom: 0.125em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.site-title a {
  display: block;
}
@media (min-width: 32em) {
  .site-title {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.site-logo {
  max-width: 180px;
}

.menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Menu Display Logic */
.site-navigation__toggle {
  display: inline-block;
}

.site-navigation__menu {
  display: none;
}

.site-navigation__toggle[aria-expanded=true] + .site-navigation__menu {
  display: block;
}
@media (min-width: 32em) {
  .site-navigation__toggle[aria-expanded=true] + .site-navigation__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 48em) {
  .site-navigation__toggle {
    display: none;
  }
  .site-navigation__menu {
    display: block;
  }
}
/* Mobile Menu */
.site-navigation__toggle {
  position: relative;
  height: 3.5em;
  width: 3.5em;
  padding: 0;
  background-color: #fff;
  border: 0.25em solid #16ad9c;
  color: #16ad9c;
}
.site-navigation__toggle .icon {
  font-size: 1.5em;
}

.site-navigation__toggle[aria-expanded=true] {
  background-color: #16ad9c;
  color: #fff;
}
.site-navigation__toggle[aria-expanded=true] .icon:before {
  content: "\f00d";
}

/* Main Menu */
.site-navigation__menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 1em;
  background-color: #f9f9f9;
  border: solid #dcdcdc;
  border-width: 1px 0;
}
.site-navigation__menu li {
  padding: 1.5em;
  border-bottom: 1px solid #dcdcdc;
  text-align: center;
}
.site-navigation__menu a:not(.button) {
  display: block;
  text-align: center;
  color: #1f272e;
  text-decoration: none;
}
.site-navigation__menu a:not(.button):hover, .site-navigation__menu a:not(.button):focus {
  color: #0c8572;
}
@media (min-width: 32em) {
  .site-navigation__menu {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .site-navigation__menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1.5em;
    border-bottom: 0;
  }
  .site-navigation__menu li + li {
    margin-left: 1em;
  }
}
@media (min-width: 48em) {
  .site-navigation__menu {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding: 0;
    background-color: transparent;
    border: 0;
  }
  .site-navigation__menu li {
    padding: 0;
  }
  .site-navigation__menu li + li {
    margin-left: 2em;
  }
}

html,
body {
  padding: 0;
  margin: 0;
}

.site {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
}

.site-main {
  border-top: 1px solid #dcdcdc;
}

.page-top:before,
.page-top:after {
  display: table;
  content: "";
}

.container {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.5em;
}
@media (min-width: 32em) {
  .container {
    padding: 0 2.5em;
  }
}
@media (min-width: 48em) {
  .container {
    padding: 0 4em;
  }
}
@media (min-width: 71em) {
  .container {
    padding: 0;
  }
}

/* These apply visual padding to the container sections on the page only if they have children. Main restricts that to avoid header and footer changes */
main .container > :last-child {
  margin-bottom: 32px;
}
@media (min-width: 48em) {
  main .container > :last-child {
    margin-bottom: 56px;
  }
}

main .container > :first-child {
  margin-top: 32px;
}
@media (min-width: 48em) {
  main .container > :first-child {
    margin-top: 56px;
  }
}

/* main .container > :last-child {
	padding-bottom: 1.5em;

	@include mq-medium {
		padding-bottom: 2.5em;
	}
} */
.container__content {
  max-width: 45em;
}

.container__content--narrow {
  max-width: 34.5em;
}

main .container > * + *,
main .container__content > * + * {
  margin-top: 1.25em;
}

.site-footer {
  margin-top: 4em;
  background-color: #3a3d43;
  color: #fff;
}
@media (min-width: 48em) {
  .site-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.site-footer a,
.site-footer a:visited {
  color: #fff;
  text-decoration: none;
}
.site-footer a:hover, .site-footer a:focus,
.site-footer a:visited:hover,
.site-footer a:visited:focus {
  text-decoration: underline;
}
.site-footer .separator {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.site-footer__copyright {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.5em;
  background-color: #1f272e;
  font-weight: 700;
}
@media (min-width: 48em) {
  .site-footer__copyright {
    padding: 1.5em 3em;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.site-footer__navigation {
  -webkit-box-flex: 2;
      -ms-flex: 2 1 auto;
          flex: 2 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-navigation__menu {
  padding: 1.5em 0;
}
.footer-navigation__menu a {
  display: block;
  padding: 1em 1.5em;
  text-align: center;
}
@media (min-width: 32em) {
  .footer-navigation__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer-navigation__menu li + li {
    margin-left: 2.5em;
  }
}
@media (min-width: 48em) {
  .footer-navigation__menu a {
    padding: 0;
  }
}

.site-footer__social {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 1.5em;
}
@media (min-width: 48em) {
  .site-footer__social {
    padding: 1.5em 0;
  }
}

.social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 48em) {
  .social-icons {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

a.social-icons__icon,
a.social-icons__icon:visited {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.25em;
  height: 2.25em;
  border-radius: 100%;
  background-color: #f4bc29;
  border: 1px solid #f4bc29;
  color: #1f272e;
}
a.social-icons__icon:hover, a.social-icons__icon:focus,
a.social-icons__icon:visited:hover,
a.social-icons__icon:visited:focus {
  background-color: #1f272e;
  text-decoration: none;
}
a.social-icons__icon:hover .icon, a.social-icons__icon:focus .icon,
a.social-icons__icon:visited:hover .icon,
a.social-icons__icon:visited:focus .icon {
  color: #f4bc29;
}

/* Container for multiple buttons or button(s) with help text */
.buttons > * {
  margin-top: 1.25em;
  margin-right: 1.25em;
}
@media (min-width: 32em) {
  .buttons > * {
    margin-top: 0;
  }
}

@media (min-width: 32em) {
  .buttons--reverse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse wrap;
            flex-flow: row-reverse wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .buttons--reverse > * + * {
    margin-top: 0;
    margin-left: 0;
    margin-right: 1.25em;
  }
}
.buttons__help {
  display: inline-block;
  color: #5c5c62;
}

.button,
.button:visited {
  display: inline-block;
  min-width: 8em;
  padding: 0.6125em 1.5em;
  background-color: #0c8572;
  border: 1px solid #0c8572;
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.button.active, .button:hover, .button:focus,
.button:visited.active,
.button:visited:hover,
.button:visited:focus {
  outline: 0.125em solid #1f272e;
}
@supports (outline-offset: 0.25em) {
  .button.active, .button:hover, .button:focus,
  .button:visited.active,
  .button:visited:hover,
  .button:visited:focus {
    outline: 0.125em solid currentColor;
    outline-offset: -0.25em;
  }
}
@media (min-width: 32em) {
  .button,
  .button:visited {
    width: auto;
  }
}

.button .icon {
  margin-right: 0.5em;
}

.button--mini {
  padding: 0.25em 0.75em;
  font-weight: 400;
  min-width: auto;
}

.button--naked,
.button--naked:visited {
  background-color: transparent;
  border: 0;
  min-width: auto;
  padding: 0.5em;
  color: inherit;
}

.button--yellow,
.button--yellow:visited {
  background-color: #f4bc29;
  border-color: #f4bc29;
  color: #1f272e;
}

.button--gray {
  background-color: #5c5c62;
  border-color: #5c5c62;
}

.button--red {
  background-color: #de5656;
  border-color: #de5656;
}

#notification-drawer[aria-live] {
  position: fixed;
  left: 1.5rem;
  bottom: 1.5rem;
  -webkit-box-shadow: 1px 1px 1px rgba(31, 39, 46, 0.15);
          box-shadow: 1px 1px 1px rgba(31, 39, 46, 0.15);
  background-color: #fff;
  z-index: 1;
}

.notification {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  grid-gap: 0 1em;
  padding: 0.5em;
  background-color: #d1e0ff;
  color: #111;
}
.notification .notification__icon:before {
  content: "\f05a";
}
.notification .icon {
  font-size: 21px;
  margin-right: 0;
}
@media (min-width: 48em) {
  .notification {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.notification > * {
  margin: 0.5em 0.75em;
}
.notification a,
.notification a:visited {
  color: #16ad9c;
  font-weight: 700;
}

.notification--warning {
  background-color: #faf9ca;
}
.notification--warning .notification__icon:before {
  content: "\f06a";
}

.notification--danger {
  background-color: #f8d8db;
}
.notification--danger .notification__icon:before {
  content: "\f071";
}

.notification--success {
  background-color: #d2efd8;
}
.notification--success .notification__icon:before {
  content: "\f058";
}

.notification--small {
  font-size: 0.875rem;
}

/**
 * DANGER: Changing order is rarely a good idea for accessibility. In this case, because only one element is focusable and this doesn't drastically differ from source order, we should be ok here.
 */
.notification__icon {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.notification__message {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin: 0 auto 0 0;
  padding: 0.5em 0.75em;
}

.notification__dismiss {
  margin-left: auto;
  margin-right: 0;
  padding: 0.5em 0.75em;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 48em) {
  .notification__dismiss {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}

.phone-preview {
  position: relative;
  max-width: 330px;
  min-width: 250px;
  margin: 0 auto;
  background: #0066cc -webkit-gradient(linear, left top, left bottom, color-stop(10%, #0066cc), color-stop(10%, #fff));
  background: #0066cc linear-gradient(#0066cc 10%, #fff 10%);
  /*  The phone frame takes up an off-center portion of the image.
  	:before sets the aspect ratio of the phone itself
  	:after is adjusted by percentages to position the phone within the container

  	Image: 900 x 1290
  	Phone: 644 x 1192
  	Phone top-left corner offset: 78x, 98y

  	Math below is for clarity.
  */
}
@media (min-width: 48em) {
  .phone-preview {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    margin-right: auto;
  }
}
.phone-preview:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding-top: 185.0931677019%;
}
.phone-preview:after {
  position: absolute;
  display: block;
  content: "";
  width: 139.751552795%;
  height: 108.2214765101%;
  top: -8.2214765101%;
  left: -12.1118012422%;
  background: url("../img/phone-frame.png") top left/100% no-repeat;
}
.phone-preview img {
  display: block;
  position: absolute;
  top: 4%;
  left: 2%;
  width: 96%;
  height: 96%;
}
@media (min-width: 48em) {
  .phone-preview {
    margin-left: 3em;
  }
}
@media (min-width: 71em) {
  .phone-preview {
    margin-left: 6em;
  }
}

/**
 * Basic Table Styles
 *
 * Opted into with .table classe
 *
 * wrapped in :root to take precedence over dataTables styles
 */
:root {
  /* Table Head */
  /* Elements in Tables */
  /* Table Style Variations */
}
:root .table {
  width: 100%;
  margin-bottom: 1rem;
  border: 0 !important;
  border-collapse: collapse;
}
:root .table tr {
  border-bottom: 1px solid #dcdcdc;
}
:root .table th,
:root .table td {
  padding: 0.5rem 1rem;
  vertical-align: middle;
  border: 0;
}
:root .table th.no-horiz-padding,
:root .table td.no-horiz-padding {
  padding: 0.5rem 0;
}
:root .table thead th {
  text-align: left;
  vertical-align: bottom;
  white-space: nowrap;
}
:root th {
  text-align: left;
}
:root .table ul {
  list-style-type: none;
  padding-left: 0px;
}
:root .table .button {
  padding: 0.25em 0.75em;
  font-weight: 400;
  min-width: auto;
}
:root .table .truncated-value {
  display: block;
  max-width: 12em;
  min-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root .table--align-top td,
:root .table--align-top th {
  vertical-align: top;
}

/**
 * Response Tables Wrapper
 *
 * See: https://adrianroselli.com/2020/11/under-engineered-responsive-tables.html
 */
.responsive-table-wrapper[role=region][tabindex] {
  overflow: auto;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, white), to(rgba(255, 255, 255, 0))), -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(70%, white)) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background: linear-gradient(to right, white 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), white 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background-repeat: no-repeat;
  background-color: white;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
}
.responsive-table-wrapper[role=region][tabindex]:focus {
  outline: 0.1em solid rgba(0, 0, 0, 0.1);
}

.template_home .page-top,
.route_home .page-top {
  overflow-x: hidden;
}

main .container .home-top {
  padding-bottom: 0;
  margin-bottom: 0;
}
@media (min-width: 48em) {
  main .container .home-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.home-top .container__content {
  position: relative;
  z-index: 1;
  padding-bottom: 4em;
}

/*======================================
=            Layout Classes            =
======================================*/
.flow-inline > * + * {
  margin-left: 1.5em;
}

.flow-block > * + * {
  margin-top: 1.25em;
}

.flow-block--spacious {
  margin-top: 4em;
}

.margin-top-0 {
  margin-top: 0 !important;
}

/*==============================
=            Colors            =
==============================*/
.bg-light-gray {
  background: #f9f9f9;
}

/*=======================================
=            Text Formatting            =
=======================================*/
.detail {
  font-size: 0.875em;
  color: #5c5c62;
}
/*# sourceMappingURL=maps/global.css.map */
