/**
 * DBS Slate Main Stylesheet
 * DBS>Interactive
 *
 * This stylesheet will be loaded on pages that aren't the front page or blog.
 */
/**
 * Global Mixins
 * DBS>Interactive
 */
/**
 * Helpful mixin for font size scaling.
 *
 * Decimal values should not be used here!
 * The results will not be what you'd expect.
 *
 * @usage
 * 		@include font-scale(-1) - smaller
 * 		@include font-scale(0) = 1em (.8em in mobile)
 * 		@include font-scale(1) - larger
 * 			etc...
 */
/**
 * Fixes clear bug in certain situations
 *
 * @group layout
 * @link http://fuseinteractive.ca/blog/understanding-humble-clearfix#.VJ853sAEo Understanding the humble clearfix
 * @example scss - Usage
 *   @extend clearFix; // That's It!
 */
.clearfix:before, .clearfix:after {
  content: "";
  display: table; }

.clearfix:after {
  clear: both; }

/**
 * An easy way to truncate text with an ellipsis. Requires the element to be block or inline-block.
 *
 * @group Typography
 * @link http://web-design-weekly.com/2013/05/12/handy-sass-mixins/ Handy Sass Mixins
 * @example scss - Usage
 *   .text-truncate {
 *	  @extend text-truncate;
 *   }
 */
/**
 * Hide On Breakpoint
 *
 * @param {Variable} $bp - Breakpoint variable, ie $largeScreen
 * @param {String} $determinate ('min') - Whether it is max-width or min-width based
 * @group General
 * @link https://github.com/GumbyFramework/Gumby/blob/master/sass/functions/_visibility.scss Gumby Framework
 * @example scss - Basic Usage
 *   .class{
 *	  @include hideOn($largeScreen);
 *   }
 *
 * @example scss - Reversed Determinate
 *   @include hideOn($baby, 'max');
 */
/**
 * Show On Breakpoint
 *
 * @param {Variable} $bp - Breakpoint variable, ie $largeScreen
 * @param {String} $determinate ('min') - Whether it is max-width or min-width based
 * @group General
 * @link https://github.com/GumbyFramework/Gumby/blob/master/sass/functions/_visibility.scss Gumby Framework
 * @example scss - Basic Usage
 *   .class{
 *	  @include showOn($largeScreen);
 *   }
 *
 * @example scss - Reversed Determinate
 *   @include showOn($baby, 'max');
 */
/**
 * Size mixin - Sets width and height.
 *
 * When only one argument is specified, both the height and width are set to the same value.
 *
 * @param width - required
 * @param height
 */
/**
 * REFLEX ISH GRID
 */
/**
 * Exponent function
 *
 * NOTE: This does NOT work for decimal values
 *
 *   @see: https://css-tricks.com/snippets/sass/power-function/
 */
/**
 * Object Fit
 *
 * If a browser supports object-fit it will use it with the params
 * given. Otherwise it will fall back on a more basic image centering method.
 *
 * @param size - required (cover, contain, auto, etc.)
 * @param position - required (center, left, right, top, bottom right, etc.)
 */
/**
 * Aspect Ratio
 *
 * Used to create a padding box that an image/video can be placed in.
 *
 * Example @include aspect-ratio(16, 9);
 */
/**
 * Slate Layout Mixins
 * DBS>Interactive
 */
/**
 * Default responsive padding mixin for layout content
 */
/**
 * Default responsive margin mixin for layout content
 */
/**
 * Used for mimicking the vertical space provided by the default-margin mixin, but
 * with padding for colored background layouts.
 */
/**
 * Mixin to keep space (either margin or padding) between cells consistent
 *
 * It takes 2 arguments:
 * 		@param $space_property = { 'margin'|'padding' }
 * 		@param $reverse = { true|false }
 */
/**
 * Responsive layout mixin to constrain a width to containSize.
 */
/**
 * Theme Variables - colors, font sizes, breakpoint etc.
 * All the variables will goes here based on project tech specification
 * DBS>Interactive
 */
/**
 * Fonts
 */
/**
 * Type style definitions
 */
.brand-strip {
  background-color: #e5e5e5;
  content-visibility: auto;
  margin-bottom: 0;
  margin-top: 0;
  padding-bottom: 3rem;
  padding-top: 3rem; }
  .brand-strip__heading, .brand-strip__subheading {
    max-width: 47rem;
    text-align: center; }
    .brand-strip__heading p, .brand-strip__subheading p {
      font-size: 1.125rem; }
      @media screen and (min-width: 48em) {
        .brand-strip__heading p, .brand-strip__subheading p {
          font-size: 1.25rem; } }
  .brand-strip__heading {
    margin: 0 auto 3rem; }
  .brand-strip__subheading {
    margin: 3rem auto 0; }
  .brand-strip__strip {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
    @media screen and (max-width: 61.999em) {
      .brand-strip__strip {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
  .brand-strip__image {
    padding: 1rem; }
    .brand-strip__image img {
      filter: grayscale(1);
      max-height: 50px;
      width: auto; }
    @media screen and (min-width: 48em) {
      .brand-strip__image img {
        max-height: 75px; } }
    @media screen and (min-width: 62em) {
      .brand-strip__image img {
        max-height: 100px; } }

.calculator .contain {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

.calculator__sidebar--heading {
  padding: 6rem 1.5rem 1.5rem; }

.calculator__sidebar--body {
  border: 1px solid #D8D8D8;
  border-top: 0;
  padding: 1.5rem; }

.calculator__main {
  margin-bottom: 3rem; }

.calculator__heading {
  margin-bottom: 2rem; }
  .calculator__heading p {
    max-width: 32rem; }

.calculator__field {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  width: 100%; }
  .calculator__field--wrapper {
    position: relative;
    width: calc(100% - 2rem); }
  .calculator__field input[type="number"] {
    border-radius: 10px;
    padding-top: 1rem; }
    .calculator__field input[type="number"]:focus + label,
    .calculator__field input[type="number"]:not(:placeholder-shown) + label {
      font-size: .55rem;
      top: .5rem; }
    .calculator__field input[type="number"]:-ms-input-placeholder {
      color: transparent; }
    .calculator__field input[type="number"]::placeholder {
      color: transparent; }
  .calculator__field label {
    font-size: .9rem;
    font-weight: 500;
    pointer-events: none;
    position: absolute;
    top: 1.1rem;
    left: .66rem;
    transition: top .2s; }
  .calculator__field.checkbox {
    margin: -.5rem 0; }
    .calculator__field.checkbox input[type=checkbox] {
      appearance: none;
      border: 1px solid #dadada;
      border-radius: 4px;
      height: 1.5rem;
      margin-right: 1rem !important;
      width: 1.5rem; }
      .calculator__field.checkbox input[type=checkbox]:checked {
        background-image: url("/icons/check.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 1rem; }
    .calculator__field.checkbox label {
      position: static; }
    .calculator__field.checkbox .calculator__field--wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center; }
  .calculator__field.currency input[type="number"] {
    padding-left: 1.5rem; }
    .calculator__field.currency input[type="number"]:focus ~ .currency-symbol,
    .calculator__field.currency input[type="number"]:not(:placeholder-shown) ~ .currency-symbol {
      display: inline; }
  .calculator__field.currency .currency-symbol {
    position: absolute;
    left: .7rem;
    top: 54%;
    transform: translateY(-50%);
    pointer-events: none;
    display: none; }
  .calculator__field.full-width {
    -ms-grid-column: span 2;
    grid-column: span 2; }

.calculator__icon {
  margin-right: .75rem;
  position: relative;
  height: 2.5rem;
  width: 2rem; }
  .calculator__icon img {
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; }
    @supports (object-fit: contain) {
      .calculator__icon img {
        height: 100%;
        object-fit: contain;
        object-position: center; } }

.calculator__results {
  margin-left: 2.75rem;
  margin-top: 1.5rem;
  position: relative; }
  .calculator__results--cost {
    background-color: black;
    padding: .75rem; }
    .calculator__results--cost.payout {
      background-color: #297628; }
      .calculator__results--cost.payout .your-cost {
        display: none; }
      .calculator__results--cost.payout .your-payout {
        display: inline !important; }
  .calculator__results--error {
    background: #2E0101;
    color: white;
    height: 100%;
    opacity: 0;
    padding: .75rem;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    transition: .25s opacity;
    width: 100%; }
    .calculator__results--error.active {
      opacity: 1; }

.calculator .thumbs img.thumbs-down {
  display: none; }

.calculator .thumbs.thumbs-up img.thumbs-down {
  display: none; }

.calculator .thumbs.thumbs-up img.thumbs-up {
  display: block; }

.calculator .thumbs.thumbs-down img.thumbs-down {
  display: block; }

.calculator .thumbs.thumbs-down img.thumbs-up {
  display: none; }

@media screen and (min-width: 48em) {
  .calculator .contain {
    -ms-flex-direction: row;
    flex-direction: row; }
  .calculator__sidebar {
    padding-right: 4.5rem;
    width: 40%; }
  .calculator__main {
    margin-bottom: 0;
    width: 60%; }
  .calculator__container {
    display: -ms-grid;
    display: grid;
    gap: 1rem;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr); }
  .calculator__results--cost {
    margin-right: 1.5rem;
    width: 35%; } }

@media (min-width: 48em) and (max-width: 61.999em) {
  .calculator .calculator__sidebar {
    padding-right: 2.5rem; } }

@media screen and (max-width: 47.99em) {
  .calculator__container .calculator__field {
    margin-bottom: 1em; } }

.cards-with-image.bg-dark.layout {
  padding-bottom: 0; }

.cards-with-image.bg-light .cards-with-image__card {
  background-color: #fff;
  border: 1px solid #BF040433;
  text-align: start; }
  .cards-with-image.bg-light .cards-with-image__card h3 {
    color: #000; }
  .cards-with-image.bg-light .cards-with-image__card p {
    color: #707070; }

.cards-with-image.bg-light .cards-with-image__cards {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.cards-with-image.bg-light .cards-with-image__heading h2 {
  color: #000; }

.cards-with-image.bg-light.layout {
  padding-bottom: 3rem !important;
  padding-top: 3rem !important; }

.cards-with-image__card {
  background-color: #1c1818;
  padding: 1.5rem;
  position: relative;
  text-align: center; }
  .cards-with-image__card p {
    color: #ABABAB;
    letter-spacing: 0.44px; }
  .cards-with-image__card--icon {
    margin-bottom: 0.5rem; }
  .cards-with-image__card:not(:last-of-type)::after {
    content: '';
    height: 1.5rem;
    position: absolute;
    width: 1.5rem; }

.cards-with-image__cards {
  display: -ms-flexbox;
  display: flex;
  gap: 3rem; }

.cards-with-image__cards, .cards-with-image__heading {
  margin-bottom: 2rem; }

.cards-with-image__image img {
  display: block;
  margin: 0 auto; }

@media screen and (min-width: 48em) {
  .cards-with-image__card:not(:last-of-type)::after {
    background: no-repeat url("/icons/yellow-arrow-right.svg");
    top: 50%;
    right: -3rem;
    transform: translate(0, -50%); }
  .cards-with-image__cards {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .cards-with-image__cards, .cards-with-image__heading {
    margin-bottom: 3rem; }
  .cards-with-image.cards-count-1 .cards-with-image__card {
    width: calc(100% / 1 - 3rem); }
  .cards-with-image.cards-count-2 .cards-with-image__card {
    width: calc(100% / 2 - 3rem); }
  .cards-with-image.cards-count-3 .cards-with-image__card {
    width: calc(100% / 3 - 3rem); }
  .cards-with-image.cards-count-4 .cards-with-image__card {
    width: calc(100% / 4 - 3rem); }
  .cards-with-image.cards-count-5 .cards-with-image__card {
    width: calc(100% / 5 - 3rem); }
  .cards-with-image.cards-count-6 .cards-with-image__card {
    width: calc(100% / 6 - 3rem); }
  .cards-with-image.cards-count-7 .cards-with-image__card {
    width: calc(100% / 7 - 3rem); }
  .cards-with-image.cards-count-8 .cards-with-image__card {
    width: calc(100% / 8 - 3rem); }
  .cards-with-image.cards-count-9 .cards-with-image__card {
    width: calc(100% / 9 - 3rem); }
  .cards-with-image.cards-count-10 .cards-with-image__card {
    width: calc(100% / 10 - 3rem); }
  .cards-with-image.bg-light .cards-with-image__card {
    width: calc(33.33% - 2rem) !important; }
    .cards-with-image.bg-light .cards-with-image__card::after {
      content: none; }
  .cards-with-image.bg-light.layout {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important; } }

@media screen and (max-width: 47.999em) {
  .cards-with-image__card:not(:last-of-type)::after {
    background: no-repeat url("/icons/yellow-arrow-down.svg");
    top: unset;
    right: unset;
    bottom: -2.25rem;
    left: 50%;
    transform: translate(-50%, 0); }
  .cards-with-image__cards {
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 3rem;
    padding: 0 1.5rem; } }

/**
 * Color Palette Layout
 * DBS>Interactive
 */
.color-palette__swatches {
  gap: 1.5rem; }

.color-palette__swatch {
  border-radius: 1rem;
  height: calc(50vw - 2.25rem);
  width: calc(50% - 0.75rem); }

@media screen and (min-width: 62em) {
  .color-palette .contain.three-up .color-palette__swatch {
    height: calc(33vw - 6rem);
    max-height: 19rem;
    width: calc(33.33% - 1.5rem); }
  .color-palette .contain.four-up .color-palette__swatch {
    height: calc(25vw - 2.25rem);
    max-height: 14rem;
    width: calc(25% - 1.5rem); }
  .color-palette .contain.five-up .color-palette__swatch {
    height: calc(20vw - 2.1rem);
    max-height: 11rem;
    width: calc(20% - 1.5rem); } }

.contact-cta__wrapper {
  padding: 1.5rem;
  position: relative; }

@media screen and (min-width: 48em) {
  .contact-cta__wrapper {
    padding: 3rem; } }

@media screen and (min-width: 62em) {
  .contact-cta__wrapper {
    padding: 4.5rem;
    padding-right: 9rem; }
  .contact-cta__main {
    padding-right: 3rem; }
    .contact-cta__main h3 {
      margin-bottom: 0;
      max-width: 34rem; }
  .contact-cta .button.ghost {
    font-size: 1.125rem;
    padding: 1rem 3rem; } }

/**
 *	Styles for the sidebar layout
 *
 *	This stylesheet properties only for layout-content_with_sidebar
 *		blog page has it's own stylesheet for sidebar
 *	[-If you want to make it global you can do it so-]
 */
.content-with-sidebar .contain {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media screen and (min-width: 75em) {
    .content-with-sidebar .contain {
      -ms-flex-direction: row;
      flex-direction: row; } }

@media screen and (min-width: 75em) {
  .content-with-sidebar .content {
    width: 70%; } }

.content-with-sidebar .content > .layout:first-child {
  margin-top: 0rem; }

.content-with-sidebar .content .layout:last-child {
  margin-bottom: 0; }

.content-with-sidebar .content .layout .contain, .content-with-sidebar .content .layout.contain {
  padding-left: 0;
  padding-right: 0; }

.content-with-sidebar .content .half-and-half__left.bg-img {
  margin-left: 0;
  width: 50%; }

.content-with-sidebar .content .half-and-half__right.bg-img {
  margin-right: 0;
  width: 50%; }

@media screen and (min-width: 75em) {
  .content-with-sidebar .sidebar {
    padding-right: 3rem;
    width: 30%; } }

.content-with-sidebar.sidebar-right .sidebar {
  -ms-flex-order: 99;
  order: 99;
  padding-right: 0;
  padding-left: 3rem; }

/**
 * Flex Blocks Layout
 * DBS>Interactive
 */
.flex-blocks .cell {
  padding-top: 1em;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .flex-blocks .cell {
      width: 50%; } }
  @media screen and (min-width: 62em) {
    .flex-blocks .cell {
      width: 33.33%; } }

/**
 * Full Width Flex Layout
 * DBS>Interactive
 *
 * This layout takes up the full width of the browser and may have a background image.
 */
/**
 * Page Header Flex Layout
 * DBS>Interactive
 */
.page-header {
  padding-bottom: 3rem;
  padding-top: 3rem;
  margin-top: 0 !important;
  position: relative; }
  @media screen and (min-width: 48em) {
    .page-header {
      padding-bottom: 4.5rem;
      padding-top: 4.5rem; } }
  .page-header__content {
    position: relative;
    z-index: 2; }
    .page-header__content h1:last-child {
      margin-bottom: 0; }
  .page-header__image {
    text-align: center; }
  .page-header.home-logged-in #sign-up {
    display: none; }
  .page-header:not(.home-logged-in) #sign-up {
    display: inline-block; }
  @media screen and (min-width: 48em) {
    .page-header.bg-dark.layout {
      padding-bottom: 0;
      padding-top: 6rem; }
    .page-header.bg-img > .contain {
      padding-top: 0;
      padding-bottom: 0; }
    .page-header__bg-image {
      height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      z-index: 1; }
      .page-header__bg-image img {
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%; }
        @supports (object-fit: contain) {
          .page-header__bg-image img {
            height: 100%;
            object-fit: contain;
            object-position: center; } }
    .page-header__content {
      padding-right: 3rem; }
    .page-header__content, .page-header__image {
      -ms-flex-preferred-size: calc(50% - 3rem);
      flex-basis: calc(50% - 3rem); }
    .page-header__wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: justify;
      justify-content: space-between;
      position: relative;
      z-index: 1; } }
  @media screen and (max-width: 47.999em) {
    .page-header__bg-image {
      display: none; }
    .page-header__content {
      margin-bottom: 3rem; }
    .page-header.bg-dark {
      padding-bottom: 0; }
    .page-header.bg-img > .contain {
      padding-bottom: 0;
      padding-top: 1rem; }
    .page-header .eyebrow {
      content-visibility: hidden;
      display: none; } }

.banner {
  padding: .75rem 1.5rem;
  text-align: center; }

/**
 * Slider ACF Layout Styles
 * DBS>Interactive
 */
.slider__cell {
  width: 100%; }

.slider__element {
  box-shadow: none !important; }

.slider .flickity-viewport {
  transition: height 0.25s; }

.slider .flickity-page-dots {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  bottom: 0; }

.slider button.dot {
  border-radius: 100%;
  width: .75em;
  height: .75em;
  padding: 0;
  margin: 0em .75em;
  opacity: 1;
  background: transparent;
  transform: scale(1);
  border: 0.1em solid #ffffff; }
  .slider button.dot:focus, .slider button.dot:hover, .slider button.dot.is-selected {
    background-color: #000000;
    border-color: #ffffff;
    transform: scale(1.5);
    transition: transform .25s linear; }

@media screen and (min-width: 48em) {
  .slider__cell {
    margin: 0 0.75rem;
    width: calc(50% - 1.5rem); } }

.testimonials .flickity-button {
  background: none;
  height: 1.5rem;
  width: 1.5rem;
  top: unset;
  left: unset !important;
  bottom: 3rem; }
  .testimonials .flickity-button svg {
    display: none; }
  .testimonials .flickity-button.previous {
    background: center/contain no-repeat url("/icons/circled-arrow-left.svg");
    right: 6rem; }
  .testimonials .flickity-button.next {
    background: center/contain no-repeat url("/icons/circled-arrow-right.svg");
    right: 3rem !important; }

.testimonials.bg-dark {
  background: linear-gradient(to bottom, #2E0101, #000); }

.testimonials__heading h1, .testimonials__heading h2, .testimonials__heading h3, .testimonials__heading h4, .testimonials__heading h5, .testimonials__heading h6, .testimonials__heading .h1, .testimonials__heading .h2, .testimonials__heading .h3, .testimonials__heading .h4, .testimonials__heading .h5, .testimonials__heading .h6 {
  color: #dadada; }

.testimonials__heading p {
  color: #ABABAB; }

.testimonials__heading, .testimonials__slider {
  position: relative; }
  .testimonials__heading img, .testimonials__slider img {
    display: block; }

.testimonials__slides {
  box-shadow: none !important; }

.testimonials__wrapper {
  width: 100%; }

.testimonials__author {
  border-top: 1px solid #D9D9D9;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.5rem;
  padding-top: 1.5rem; }
  .testimonials__author-photo img {
    border-radius: 50%;
    max-height: 3.75rem;
    max-width: 3.75rem; }

.testimonials__slides {
  position: relative; }
  .testimonials__slides::before {
    background: url("/icons/quotes-left-gray.svg") no-repeat center;
    background-size: contain;
    content: '';
    height: 13rem;
    position: absolute;
    top: -7rem;
    left: -7rem;
    width: 20rem; }

.testimonials .flickity-button.previous {
  left: 0; }

.testimonials .flickity-button.next {
  right: 0; }

@media screen and (min-width: 48em) {
  .testimonials.bg-dark.layout {
    padding-bottom: 6rem;
    padding-top: 9rem; }
  .testimonials__author-photo {
    margin-right: 1.5rem; }
  .testimonials__body:before {
    height: 1.5rem;
    width: 1.5rem; }
  .testimonials__heading, .testimonials__slides {
    padding: 3rem;
    width: 50%; }
  .testimonials.two-thirds-left .testimonials__heading {
    width: calc(60% - 3rem); }
  .testimonials.two-thirds-left .testimonials__slides {
    width: calc(40% - 3rem); }
  .testimonials.two-thirds-right .testimonials__heading {
    width: calc(40% - 3rem); }
  .testimonials.two-thirds-right .testimonials__slides {
    width: calc(60% - 3rem); } }

@media screen and (min-width: 62em) {
  .testimonials__heading, .testimonials__slides {
    width: calc(50% - 3rem); } }

@media screen and (max-width: 47.999em) {
  .testimonials__heading {
    margin-bottom: 3rem; }
  .testimonials__author {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column; }
    .testimonials__author-name {
      text-align: center; }
      .testimonials__author-name .role {
        font-size: .875rem; }
    .testimonials__author-photo {
      margin-bottom: 0.75rem; }
  .testimonials__slides {
    padding-bottom: 3rem; }
  .testimonials .flickity-button {
    bottom: 0;
    transform: translate(50%, 0); }
    .testimonials .flickity-button.previous {
      right: calc(50% + 1.5rem); }
    .testimonials .flickity-button.next {
      right: calc(50% - 1.5rem) !important; } }

.team-members__heading {
  margin-bottom: 3rem; }

.team-members__item {
  margin: 0 1.5rem 1.5rem;
  width: calc(50% - 3rem); }

.team-members__image {
  border-radius: 50%;
  height: 0;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding-bottom: 100%;
  position: relative; }
  .team-members__image img {
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; }
    @supports (object-fit: contain) {
      .team-members__image img {
        height: 100%;
        object-fit: cover;
        object-position: center; } }

.team-members__wrapper {
  margin: 0 -1.5rem -1.5rem; }

@media screen and (min-width: 62em) {
  .team-members__item {
    margin: 0 1.5rem 1.5rem;
    width: calc(25% - 3rem); } }

.timeline__card {
  background-color: #ffffff;
  position: relative;
  text-align: center; }
  .timeline__card p {
    color: #2D2C2F;
    letter-spacing: 0.44px; }
  .timeline__card .heading {
    margin-bottom: 0.75rem; }
  .timeline__card--icon {
    margin-bottom: 3rem;
    position: relative; }
    .timeline__card--icon::before {
      background-color: #BF0404;
      border-radius: 50%;
      color: #ffffff;
      font-size: 1.25rem;
      height: 2rem;
      position: absolute;
      bottom: -2.25rem;
      left: 50%;
      transform: translate(-50%, 0);
      width: 2rem;
      z-index: 2; }
  .timeline__card:nth-child(1) .timeline__card--icon::before {
    content: "1"; }
  .timeline__card:nth-child(2) .timeline__card--icon::before {
    content: "2"; }
  .timeline__card:nth-child(3) .timeline__card--icon::before {
    content: "3"; }
  .timeline__card:nth-child(4) .timeline__card--icon::before {
    content: "4"; }
  .timeline__card:nth-child(5) .timeline__card--icon::before {
    content: "5"; }
  .timeline__card:nth-child(6) .timeline__card--icon::before {
    content: "6"; }
  .timeline__card:nth-child(7) .timeline__card--icon::before {
    content: "7"; }
  .timeline__card:nth-child(8) .timeline__card--icon::before {
    content: "8"; }
  .timeline__card:nth-child(9) .timeline__card--icon::before {
    content: "9"; }
  .timeline__card:nth-child(10) .timeline__card--icon::before {
    content: "10"; }

.timeline__cards {
  display: -ms-flexbox;
  display: flex;
  gap: 3rem; }

.timeline__heading {
  margin-bottom: 3rem; }

@media screen and (min-width: 48em) {
  .timeline__card:not(:last-of-type) .timeline__card--icon::after {
    background-color: #BF0404;
    content: '';
    height: 1px;
    position: absolute;
    bottom: calc(-2.25rem + 1rem);
    left: 50%;
    width: calc(100% + 3rem);
    z-index: 1; }
  .timeline__cards {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .timeline__cards, .timeline__heading {
    margin-bottom: 3rem; }
  .timeline.cards-count-1 .timeline__card {
    width: calc(100% / 1 - 1.5rem); }
  .timeline.cards-count-2 .timeline__card {
    width: calc(100% / 2 - 1.5rem); }
  .timeline.cards-count-3 .timeline__card {
    width: calc(100% / 3 - 1.5rem); }
  .timeline.cards-count-4 .timeline__card {
    width: calc(100% / 4 - 1.5rem); }
  .timeline.cards-count-5 .timeline__card {
    width: calc(100% / 5 - 1.5rem); }
  .timeline.cards-count-6 .timeline__card {
    width: calc(100% / 6 - 1.5rem); }
  .timeline.cards-count-7 .timeline__card {
    width: calc(100% / 7 - 1.5rem); }
  .timeline.cards-count-8 .timeline__card {
    width: calc(100% / 8 - 1.5rem); }
  .timeline.cards-count-9 .timeline__card {
    width: calc(100% / 9 - 1.5rem); }
  .timeline.cards-count-10 .timeline__card {
    width: calc(100% / 10 - 1.5rem); } }

@media screen and (max-width: 47.999em) {
  .timeline__card {
    padding: 0.75rem 2.25rem; }
  .timeline__cards {
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 3rem;
    padding: 0 1.5rem; } }

/**
 * Three Columns Flex Layout
 * DBS>Interactive
 */
.three-columns .column {
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 61.999em) {
    .three-columns .column {
      display: -ms-flexbox;
      display: flex; }
      .three-columns .column > * {
        width: 50%; } }
  @media screen and (min-width: 62em) {
    .three-columns .column {
      width: 33.33333%; } }

@media screen and (max-width: 47.999em) {
  .three-columns .column .cell {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 62em) {
  .three-columns {
    /**
		 * This little bit of hackery makes the edge of background images and
		 * background colors line up with the container content when a contain
		 * class is on the half and half layout, but not when the
		 * 'contain-full-width' reset class is used.
		 */ }
    .three-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:first-of-type, .three-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:last-of-type {
      width: calc(33.3333% - 1.5rem); }
    .three-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:first-of-type {
      margin-left: 1.5rem; }
    .three-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:last-of-type {
      margin-right: 1.5rem; }
    .three-columns .columns {
      margin: 0 -1.5rem; } }

/**
 * Two Columns Flex Layout
 * DBS Interactive
 */
.two-columns__left, .two-columns__right {
  position: relative; }
  .two-columns__left img, .two-columns__right img {
    display: block; }

.two-columns.bg-dark {
  background: linear-gradient(to bottom, #2E0101, #000); }

@media screen and (max-width: 47.999em) {
  .two-columns__left {
    margin-bottom: 3rem; }
  .two-columns.bg-dark-angled .two-columns__left img,
  .two-columns.bg-dark-angled .two-columns__right img {
    margin: 0 auto; } }

@media screen and (min-width: 48em) {
  .two-columns__left, .two-columns__right {
    width: calc(50% - 3rem); }
    .two-columns__left.contain-img img, .two-columns__right.contain-img img {
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%; }
      @supports (object-fit: contain) {
        .two-columns__left.contain-img img, .two-columns__right.contain-img img {
          height: 100%;
          object-fit: contain;
          object-position: center; } }
    .two-columns__left.cover img, .two-columns__right.cover img {
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%; }
      @supports (object-fit: contain) {
        .two-columns__left.cover img, .two-columns__right.cover img {
          height: 100%;
          object-fit: cover;
          object-position: center; } }
  .two-columns.two-thirds-left .two-columns__left {
    width: calc(60% - 3rem); }
  .two-columns.two-thirds-left .two-columns__right {
    width: calc(40% - 3rem); }
  .two-columns.two-thirds-right .two-columns__left {
    width: calc(40% - 3rem); }
  .two-columns.two-thirds-right .two-columns__right {
    width: calc(60% - 3rem); } }

/**
 * Collapsible Layout
 * DBS>Interactive
 */
.collapsible {
  margin: 3rem auto; }
  @media screen and (min-width: 48em) {
    .collapsible {
      margin: 4.5rem auto; } }
  .collapsible .collapsible-row {
    overflow: hidden;
    border-top: 1px solid #ffffff; }
    .collapsible .collapsible-row:first-of-type {
      border: none; }
    .collapsible .collapsible-row__header {
      font-size: 1em;
      background: #f0f0f0;
      border: none;
      color: #2D2C2F;
      cursor: pointer;
      display: block;
      margin-bottom: 0;
      padding: 1rem 4rem 1rem 2rem;
      position: relative;
      text-align: left;
      transition: .3s;
      width: 100%; }
      @media (min-width: 48em) {
        .collapsible .collapsible-row__header {
          font-size: 1.25em; } }
      .collapsible .collapsible-row__header:hover, .collapsible .collapsible-row__header:focus {
        background: #e5e5e5; }
      .collapsible .collapsible-row__header:before, .collapsible .collapsible-row__header:after {
        background-color: #2D2C2F;
        border-radius: 10%;
        content: '';
        display: block;
        height: 1.5rem;
        position: absolute;
        top: 50%;
        right: 2rem;
        transition: transform .35s;
        transform: translate(-100%, -50%);
        width: .18rem; }
      .collapsible .collapsible-row__header:before {
        transform: translate(-100%, -50%) rotate(90deg); }
      .collapsible .expanded .collapsible-row__header {
        background: #e5e5e5; }
        .collapsible .expanded .collapsible-row__header:after {
          transform: translate(-100%, -50%) rotate(90deg); }
    .collapsible .collapsible-row__content {
      padding: 2rem; }
      @media screen and (min-width: 48em) {
        .collapsible .collapsible-row__content {
          padding: 2rem 2rem 3rem; } }
    .collapsible .collapsible-row__content--wrapper {
      overflow: hidden;
      transition: max-height .4s ease-in-out, visibility 0s linear .5s; }
      .collapsible .collapsible-row__content--wrapper.loaded {
        max-height: 0; }
      .collapsible .expanded .collapsible-row__content--wrapper {
        max-height: 15em;
        transition: max-height .4s ease-in-out, visibility 0s linear; }
  .collapsible.bg-dark .collapsible-row, .collapsible.bg-dark-gradient .collapsible-row {
    border-top-color: #d5d5d5; }
    .collapsible.bg-dark .collapsible-row__header, .collapsible.bg-dark-gradient .collapsible-row__header {
      background: transparent;
      color: #D1D1D1; }
      .collapsible.bg-dark .collapsible-row__header::before, .collapsible.bg-dark-gradient .collapsible-row__header::before {
        background: center/contain no-repeat url("/icons/circled-arrow-down-white.svg");
        transform: translate(0, -50%);
        width: 1.5rem; }
      .collapsible.bg-dark .collapsible-row__header::after, .collapsible.bg-dark-gradient .collapsible-row__header::after {
        content: none; }
    .collapsible.bg-dark .collapsible-row.expanded .collapsible-row__header::before, .collapsible.bg-dark-gradient .collapsible-row.expanded .collapsible-row__header::before {
      transform: translate(0, -50%) rotate(180deg) !important; }
  .collapsible.bg-dark .collapsible__heading h2, .collapsible.bg-dark-gradient .collapsible__heading h2 {
    color: #d1d1d1; }
  .collapsible.bg-dark .collapsible__heading p, .collapsible.bg-dark-gradient .collapsible__heading p {
    color: #A1AEB7; }
  .collapsible__heading {
    padding-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    .collapsible {
      padding: 6rem 0; } }

/**
 * Image Grid (with sidebar)
 * DBS>Interactive
 *
 * ACF Special Classes styled by this stylesheet:
 *		.light-box (Light Box)
 *		.image-zoom (Image Zoom)
 *
 * Note: The .light-box class included later in this stylesheet
 * 		cooresponds with functionality included in lightbox/lightbox.js
 */
.image-gallery__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media screen and (min-width: 62em) {
    .image-gallery__wrapper {
      -ms-flex-direction: row;
      flex-direction: row; } }

.image-gallery__content {
  padding: 1.5rem; }
  @media screen and (min-width: 62em) {
    .image-gallery__content {
      width: 50%;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .image-gallery__content .inner {
    max-width: 35em;
    margin: 0 auto;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  @media screen and (min-width: 62em) {
    .image-gallery__content + .image-gallery__images {
      width: 50%; } }

.image-gallery__images {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }

.image-gallery__image {
  border: 0.1em solid #ffffff;
  box-shadow: 0 0;
  height: 0;
  padding: 0;
  padding-bottom: 66%;
  position: relative;
  overflow: hidden;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .image-gallery__image {
      width: 50%;
      padding-bottom: 35%; } }
  @media screen and (min-width: 62em) {
    .image-gallery__image {
      width: 33.33333%;
      padding-bottom: 25%; } }
  @media screen and (min-width: 62em) {
    .image-gallery__image {
      width: 25%;
      padding-bottom: 20%; } }
  .image-gallery__image img {
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; }
    @supports (object-fit: contain) {
      .image-gallery__image img {
        height: 100%;
        object-fit: cover;
        object-position: center; } }

.individual-lightbox {
  display: none;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999; }
  .individual-lightbox.opened-box {
    display: inline-block; }
  .individual-lightbox .backDrop {
    background: #000;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .8; }
  .individual-lightbox .image-container {
    background: #ffffff;
    border: 0.75rem solid #ffffff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 60rem;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
    .individual-lightbox .image-container img.largeImage {
      object-fit: contain; }
  .individual-lightbox .close-lightbox {
    background: url("../icons/close-symbol.svg") no-repeat center;
    background-size: 2rem;
    background-color: #ffffff;
    border: none;
    font-size: 2.25em;
    height: 2em;
    width: 2em;
    position: absolute;
    right: -.75rem;
    top: -.75rem; }
  .individual-lightbox .largeImage {
    max-height: 80vh;
    width: 100%; }
  .individual-lightbox .lightbox-caption {
    background: rgba(0, 0, 0, 0.9);
    color: #ffffff;
    padding: 1em;
    width: 100%; }
  .individual-lightbox .contain-size .lightbox-caption {
    display: none; }

.modal__button {
  background: none;
  border: none;
  height: 3em;
  position: absolute;
  right: 0;
  top: 0;
  width: 3em; }
  .modal__button:before, .modal__button:after {
    background-color: #000000;
    content: '';
    display: block;
    height: 2em;
    position: absolute;
    right: 1.4em;
    top: 0.5em;
    width: 3px; }
  .modal__button:before {
    /* IE 9 */
    /* Chrome, Safari, Opera */
    transform: rotate(45deg); }
  .modal__button:after {
    /* IE 9 */
    /* Chrome, Safari, Opera */
    transform: rotate(-45deg); }

.modal {
  display: none;
  background: rgba(0, 0, 0, 0.75);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 11; }
  .modal__box {
    background-color: #ffffff;
    display: inline-block;
    left: 50%;
    padding: 4.5rem 1.5em 3rem;
    position: relative;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    z-index: 99; }
    @media screen and (min-width: 48em) {
      .modal__box {
        max-width: 35rem;
        width: 50%; } }
    .modal__box .modal__box--content {
      display: inline-block;
      height: 100%;
      overflow-y: auto;
      width: 100%; }
  .modal p, .modal h1, .modal h2, .modal h3, .modal h4, .modal h5, .modal h6 {
    color: #000000; }
  .modal .modal-button-wrapper {
    margin-bottom: 1rem; }
    .modal .modal-button-wrapper:last-child {
      margin-bottom: 0; }

.admin {
  opacity: .75;
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  transition: opacity .25s; }
  .admin.active, .admin:hover, .admin:focus {
    opacity: 1; }
  .admin.active .admin__links {
    opacity: 1;
    transition: opacity .25s 0s, visibility 0s .0s;
    visibility: visible; }
  .admin__toggle {
    appearance: none;
    background: white;
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 1rem -0.5rem rgba(0, 0, 0, 0.75);
    height: 4rem;
    position: relative;
    width: 4rem; }
    .admin__toggle img {
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 75%;
      left: 55%;
      width: 75%; }
      @supports (object-fit: contain) {
        .admin__toggle img {
          height: 100%;
          object-fit: contain;
          object-position: center; } }
  .admin__links {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 0 1rem -0.5rem rgba(0, 0, 0, 0.75);
    opacity: 0;
    padding: 1rem 1.5rem;
    position: absolute;
    bottom: 4.5rem;
    right: 0;
    transition: opacity .25s 0s, visibility 0s .25s;
    visibility: hidden; }
    .admin__links ul {
      list-style: none;
      margin: 0;
      text-align: right;
      padding: 0; }
      .admin__links ul li {
        margin-bottom: .5rem; }
        .admin__links ul li:last-child {
          margin-bottom: 0; }
        .admin__links ul li a {
          display: block;
          text-decoration: none; }
          .admin__links ul li a:after {
            background: #000000;
            content: '';
            display: block;
            height: 1px;
            position: relative;
            top: 0;
            transform: scaleX(0);
            transform-origin: 0 100%;
            transition: transform .25s ease-in-out; }
          .admin__links ul li a:hover, .admin__links ul li a:focus {
            text-decoration: none; }
            .admin__links ul li a:hover:after, .admin__links ul li a:focus:after {
              transform: scaleX(1);
              transform-origin: 100% 0; }

/**
 * Mixin to create a multi-directional animation with opacity fade.
 *
 * @example: 
 * @include animate3D( fadeRight, -3rem, 0, 0, 0);
 * .slideRight {animation: fadeRight 1s ease 0s 1 both;}
 */
/**
 * Several basic examples are below, but they are being kept commented out
 * to keep unnecessary code from making its way into production. For new animations
 * that involve a "transform: translate", use "translate3d" since it will perform better 
 * because of hardware acceleration.
 */
/**
 * Slide left to right and fade in from invisible 
 */
/**
 * Slide right to left and fade in from invisible 
 */
/**
 * Slide up and fade in from invisible 
 */
/**
 * Slide down and fade in from invisible 
 */
/**
 * Fade in only
 */
/**
 * Bounce
 */
/**
 * Not enough? This site has a lot of great animations with the ability to copy the
 * source code. https://animista.net/play/
 */
.flex {
  display: -ms-flexbox;
  display: flex; }

.flex-col {
  -ms-flex-direction: column;
  flex-direction: column; }

.flex-col-r {
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

.flex-row {
  -ms-flex-direction: row;
  flex-direction: row; }

.flex-row-r {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

.aic {
  -ms-flex-align: center;
  align-items: center; }

.aie {
  -ms-flex-align: end;
  align-items: flex-end; }

.asc {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center; }

.ase {
  -ms-flex-item-align: end;
  align-self: flex-end; }

.ass {
  -ms-flex-item-align: start;
  align-self: flex-start; }

.jcc {
  -ms-flex-pack: center;
  justify-content: center; }

.jce {
  -ms-flex-pack: end;
  justify-content: flex-end; }

.jcsa {
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.jcsb {
  -ms-flex-pack: justify;
  justify-content: space-between; }

.jcse {
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly; }

.fb-25 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%; }

.fb-50 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%; }

.fb-75 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%; }

@media screen and (max-width: 47.999em) {
  .flex-sm {
    display: -ms-flexbox;
    display: flex; }
  .flex-col-sm {
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex-col-r-sm {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
  .flex-row-sm {
    -ms-flex-direction: row;
    flex-direction: row; }
  .flex-row-r-sm {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .wrap-sm {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .nowrap-sm {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .aic-sm {
    -ms-flex-align: center;
    align-items: center; }
  .aie-sm {
    -ms-flex-align: end;
    align-items: flex-end; }
  .asc-sm {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  .ase-sm {
    -ms-flex-item-align: end;
    align-self: flex-end; }
  .ass-sm {
    -ms-flex-item-align: start;
    align-self: flex-start; }
  .jcc-sm {
    -ms-flex-pack: center;
    justify-content: center; }
  .jce-sm {
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .jcsa-sm {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .jcsb-sm {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .jcse-sm {
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly; }
  .fb-25-sm {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%; }
  .fb-50-sm {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
  .fb-75-sm {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%; } }

@media screen and (min-width: 48em) {
  .flex-tab {
    display: -ms-flexbox;
    display: flex; }
  .flex-col-tab {
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex-col-r-tab {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
  .flex-row-tab {
    -ms-flex-direction: row;
    flex-direction: row; }
  .flex-row-r-tab {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .aic-tab {
    -ms-flex-align: center;
    align-items: center; }
  .aie-tab {
    -ms-flex-align: end;
    align-items: flex-end; }
  .asc-tab {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  .ase-tab {
    -ms-flex-item-align: end;
    align-self: flex-end; }
  .ass-tab {
    -ms-flex-item-align: start;
    align-self: flex-start; }
  .jcc-tab {
    -ms-flex-pack: center;
    justify-content: center; }
  .jce-tab {
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .jcsa-tab {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .jcsb-tab {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .jcse-tab {
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly; }
  .wrap-tab {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .nowrap-tab {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .fb-25-tab {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%; }
  .fb-50-tab {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
  .fb-75-tab {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%; } }

@media screen and (min-width: 62em) {
  .flex-md {
    display: -ms-flexbox;
    display: flex; }
  .flex-col-md {
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex-col-r-md {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
  .flex-row-md {
    -ms-flex-direction: row;
    flex-direction: row; }
  .flex-row-r-md {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .aic-md {
    -ms-flex-align: center;
    align-items: center; }
  .aie-md {
    -ms-flex-align: end;
    align-items: flex-end; }
  .asc-md {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  .ase-md {
    -ms-flex-item-align: end;
    align-self: flex-end; }
  .ass-md {
    -ms-flex-item-align: start;
    align-self: flex-start; }
  .jcc-md {
    -ms-flex-pack: center;
    justify-content: center; }
  .jce-md {
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .jcsa-md {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .jcsb-md {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .jcse-md {
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly; }
  .wrap-md {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .nowrap-md {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .fb-25-md {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%; }
  .fb-50-md {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
  .fb-75-md {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%; } }

@media screen and (min-width: 75em) {
  .flex-lg {
    display: -ms-flexbox;
    display: flex; }
  .flex-col-lg {
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex-col-r-lg {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
  .flex-row-lg {
    -ms-flex-direction: row;
    flex-direction: row; }
  .flex-row-r-lg {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .aic-lg {
    -ms-flex-align: center;
    align-items: center; }
  .aie-lg {
    -ms-flex-align: end;
    align-items: flex-end; }
  .asc-lg {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  .ase-lg {
    -ms-flex-item-align: end;
    align-self: flex-end; }
  .ass-lg {
    -ms-flex-item-align: start;
    align-self: flex-start; }
  .jcc-lg {
    -ms-flex-pack: center;
    justify-content: center; }
  .jce-lg {
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .jcsa-lg {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .jcsb-lg {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .jcse-lg {
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly; }
  .wrap-lg {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .nowrap-lg {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .fb-25-lg {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%; }
  .fb-50-lg {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
  .fb-75-lg {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%; } }

/**
 * Form Styles
 * DBS>Interactive
 */
.form {
  /**
	* Field Widths/Wrapping
	*/ }
  .form ul {
    list-style: none;
    padding: 0; }
  .form label, .form legend {
    font-weight: bold; }
  .form__field {
    margin-bottom: 1em; }
  .form .error-text {
    border-bottom: 0.1em solid #dadada;
    color: #dadada;
    padding-bottom: 1em; }
  @media screen and (min-width: 48em) {
    .form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 0 -.75rem; }
      .form__field-wrapper {
        padding: 0 .75rem;
        width: 100%; }
        .form__field-wrapper.width-25 {
          width: 25%; }
        .form__field-wrapper.width-33 {
          width: 33.33%; }
        .form__field-wrapper.width-50 {
          width: 50%; }
        .form__field-wrapper.width-66 {
          width: 66.66%; }
        .form__field-wrapper.width-75 {
          width: 75%; }
      .form .button {
        margin-left: .75rem; } }

fieldset > label.gfield_label_before_complex,
fieldset legend.gfield_label_before_complex,
.hidden_label > label.gfield_label_before_complex,
.hidden_label legend.gfield_label_before_complex,
.hide-label > label.gfield_label_before_complex,
.hide-label legend.gfield_label_before_complex {
  display: none; }

fieldset > label, fieldset legend,
.hidden_label > label,
.hidden_label legend,
.hide-label > label,
.hide-label legend {
  height: 1px;
  width: 1px;
  border: 0;
  clip: rect(0 0 0 0);
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute; }

/**
 * Input Field Styles
 */
input {
  background-color: #FDFDFD;
  border: 1px solid #E4E5E7;
  border-radius: .25rem;
  height: 3.5rem;
  letter-spacing: .25px;
  margin: 0 !important;
  width: 100%;
  /* Firefox (hides the default icon) */
  /* Edge */ }
  input[type="date"] {
    text-transform: uppercase; }
  input[type="date"], input[type="time"], input:-ms-input-placeholder {
    color: #848A95;
    font-size: .875rem; }
  input[type="date"], input[type="time"], input::placeholder {
    color: #848A95;
    font-size: .875rem; }
  input[type="date"], input[type="time"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important; }
  input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none; }
  input[type="date"] {
    position: relative; }
  input[type="date"]::-ms-clear, input[type="date"]::-ms-reveal {
    display: none; }
  input[type="date"]::-moz-focus-inner {
    border: 0; }

input[type=radio] {
  margin-right: .5em; }

select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FDFDFD;
  border: 1px solid #E4E5E7;
  border-radius: .25rem;
  cursor: pointer;
  font-size: 0.875rem;
  height: 3.5rem;
  letter-spacing: .25px;
  margin: 0 !important;
  min-width: 25%;
  padding: 10px;
  width: 100%; }
  select:-ms-input-placeholder {
    color: #848A95; }
  select::placeholder {
    color: #848A95; }

/* select {
	margin: 0;
} */
textarea {
  background-color: #FDFDFD;
  border: 1px solid #E4E5E7;
  border-radius: .25rem;
  border-radius: 10px;
  font-size: 1rem;
  height: 3.5rem;
  letter-spacing: .25px;
  margin: 0 !important;
  min-height: 11rem;
  padding: 1.25rem 1rem;
  width: 100%; }
  textarea:-ms-input-placeholder {
    color: #848A95; }
  textarea::placeholder {
    color: #848A95; }

/* textarea {
	min-height: 5em;
} */
textarea,
input[type=text]:not([id=search-input]),
input[type=email],
input[type=date],
input[type=number],
input[type=time],
input[type=week],
input[type=month],
input[type=tel],
input[type=search],
input[type=url],
.gfield select {
  display: block;
  border: 1px solid #dadada;
  margin: .333em 0;
  max-width: 100%;
  padding: .666em;
  width: 100%; }

fieldset {
  border: none;
  margin-bottom: 3rem;
  padding: 0 !important; }

/**
 * Validation and error message styling
 */
.error-text {
  color: red; }

/**
 * Animated Form Label
 *
 * Class must be added in the GForms admin
 */
.animate-label {
  position: relative; }
  .animate-label .ginput_complex > span {
    height: 100%;
    width: 100%;
    display: inline-block;
    position: relative; }
    .gform_validation_error .animate-label label, .gform_validation_error .animate-label legend, .animate-label .ginput_complex > span.active label, .animate-label .ginput_complex > span.active legend {
      transform: translateY(-2.25rem) scale(0.75); }
  .animate-label .ginput_complex.gfield_error label {
    transform: translateY(-2.25rem) scale(0.75); }
  .animate-label label, .animate-label legend {
    background: white;
    padding: 0 .25rem;
    position: absolute;
    top: 50%;
    left: .5rem;
    transition: .2s ease-in-out;
    transform: translateY(-50%);
    transform-origin: left; }
  .animate-label.select-field select {
    font-weight: 700;
    padding: 1.5rem .75rem; }
  .animate-label.text-area label {
    top: .5rem;
    transform: none; }
  .animate-label.text-area textarea {
    max-height: 12rem;
    padding-top: 3rem; }
  .animate-label.text-area.gfield_error label, .animate-label.text-area.gfield_error legend {
    transform: none; }
  .gform_validation_error .animate-label label, .gform_validation_error .animate-label legend, .animate-label.active label, .animate-label.active legend {
    transform: translateY(-2.25rem) scale(0.75); }

.add-icon {
  background: url("../icons/add-circle.svg") no-repeat center;
  height: 1.5rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 1.5rem; }

.date-icon {
  background: url("../icons/calendar-month.svg") no-repeat center;
  height: 20px;
  width: 18px; }

.date-icon,
.time-icon {
  pointer-events: none; }

.date-icon,
.select-icon,
.time-icon {
  background-position: center;
  background-size: 100%;
  content: '';
  cursor: pointer;
  height: 2rem;
  position: absolute;
  top: 63%;
  right: 1rem;
  transform: translateY(-50%);
  width: 1.5rem; }

.field-wrapper {
  display: inline-block;
  margin-bottom: 1rem;
  padding-top: 1.5rem;
  position: relative;
  width: 100%; }
  .field-wrapper input:focus {
    box-shadow: none; }
  .field-wrapper input:-ms-input-placeholder {
    opacity: 0; }
  .field-wrapper input::placeholder {
    opacity: 0; }
  .field-wrapper input,
  .field-wrapper select {
    padding-right: 2.5rem; }
  .field-wrapper label {
    color: #8A8B8C;
    position: absolute;
    top: .75rem;
    left: 0;
    transition: transform .4s ease; }
  .field-wrapper ul {
    list-style: none;
    padding-left: 0; }
  .field-wrapper.floating-label {
    padding-top: 0; }
    .field-wrapper.floating-label label {
      position: absolute;
      top: 1rem;
      left: .75rem;
      z-index: 1; }
    .field-wrapper.floating-label.active label {
      font-size: .8rem;
      transform: translate(0, -1.1rem); }
  .field-wrapper.textarea-wrapper label {
    position: relative;
    top: 0; }

.select-icon {
  background: url("../icons/arrow-down-red.svg") no-repeat center;
  height: 7px;
  pointer-events: none;
  width: 14px; }

.tel-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .tel-wrapper .custom-select-wrapper + .phone-wrapper label {
    left: 7rem; }
  .tel-wrapper .phone-wrapper {
    width: 100%; }
  .tel-wrapper .tel-select-wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    height: 3.625rem; }
    .tel-wrapper .tel-select-wrapper #flag-icon {
      position: absolute;
      left: .25rem;
      top: 50%;
      transform: translateY(-50%);
      width: 28px;
      height: 17px;
      background-size: cover;
      background-position: center;
      margin-right: 0.5rem;
      z-index: 1; }
    .tel-wrapper .tel-select-wrapper select {
      appearance: none;
      border: 1px solid #ccc;
      padding: 0.5rem 2rem 0.5rem 0.5rem;
      font-size: 1rem;
      height: 100%;
      min-width: 12rem;
      background-color: white;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.5rem center;
      background-size: 0.65rem; }
  .tel-wrapper.tel-wrapper label {
    left: 1rem; }
  .tel-wrapper.tel-wrapper.active label {
    transform: translate(0, -1.2rem); }

.time-icon {
  background: url("../icons/schedule.svg") no-repeat center;
  height: 20px;
  width: 20px; }

.custom-select-wrapper {
  position: relative;
  width: 7rem;
  cursor: pointer;
  margin-right: 0.5rem; }
  .custom-select-wrapper .selected-flag-code {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.25rem;
    height: 3.625rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    padding: .5rem; }
    .custom-select-wrapper .selected-flag-code img {
      width: 28px;
      height: 17px;
      margin-right: 0.5rem; }
    .custom-select-wrapper .selected-flag-code span {
      font-size: 0.875rem; }
  .custom-select-wrapper .custom-select-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    background: white;
    border: 1px solid #ccc;
    width: 25rem;
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
    .custom-select-wrapper .custom-select-list li {
      padding: 0.5rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.875rem; }
      .custom-select-wrapper .custom-select-list li img {
        width: 20px;
        height: 12px; }
      .custom-select-wrapper .custom-select-list li:hover {
        background-color: #f0f0f0; }
  .custom-select-wrapper.open .custom-select-list {
    display: block; }

.constants-form label {
  color: #000000;
  display: block;
  font-weight: 600;
  margin-bottom: .25rem;
  position: static; }

.constants-form .field-wrapper {
  margin-bottom: .5rem; }

/**
 * Table Styles with Responsive Design
 * Based on a CodePen Example by James TW:
 * https://codepen.io/james-tw/pen/GoaXrz
 */
/* Variables */
/**
 * Default styles
 */
table:not(.ui-datepicker-calendar):not(.appointments-table) {
  margin-bottom: 1em;
  max-width: 100%;
  width: 100%;
  /**
	 * Responsive desktop styles
	 */
  /**
	 * Mobile only styles
	 */ }
  table:not(.ui-datepicker-calendar):not(.appointments-table) tbody {
    display: block; }
  table:not(.ui-datepicker-calendar):not(.appointments-table) tr {
    border: 1px solid #e0e0e0;
    display: block;
    margin-bottom: 1rem;
    transition: background-color .25s ease; }
  table:not(.ui-datepicker-calendar):not(.appointments-table) th,
  table:not(.ui-datepicker-calendar):not(.appointments-table) td {
    border-top: 0;
    padding: 1rem;
    transition: background-color .25s ease;
    text-align: left;
    vertical-align: top; }
  table:not(.ui-datepicker-calendar):not(.appointments-table) th {
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    color: #757575;
    font-weight: 400;
    vertical-align: bottom; }
  table:not(.ui-datepicker-calendar):not(.appointments-table) td {
    display: block;
    text-align: right; }
  table:not(.ui-datepicker-calendar):not(.appointments-table) tfoot {
    border-top: 1px solid rgba(0, 0, 0, 0.12); }
    table:not(.ui-datepicker-calendar):not(.appointments-table) tfoot td {
      color: #757575;
      font-weight: 400; }
  @media screen and (min-width: 48em) {
    table:not(.ui-datepicker-calendar):not(.appointments-table) tbody {
      display: table-row-group; }
    table:not(.ui-datepicker-calendar):not(.appointments-table) tr {
      border: none;
      display: table-row; }
    table:not(.ui-datepicker-calendar):not(.appointments-table) td {
      display: table-cell;
      text-align: left; } }
  @media screen and (max-width: 47.999em) {
    table:not(.ui-datepicker-calendar):not(.appointments-table) thead,
    table:not(.ui-datepicker-calendar):not(.appointments-table) tfoot {
      display: none; }
    table:not(.ui-datepicker-calendar):not(.appointments-table) td[data-title]:before {
      color: #757575;
      content: attr(data-title);
      float: left;
      font-size: inherit;
      font-weight: 400; }
    table:not(.ui-datepicker-calendar):not(.appointments-table):not(._) td:first-child {
      background-color: #404144;
      border: none;
      color: #ffffff;
      font-weight: 500;
      text-align: left; }
      table:not(.ui-datepicker-calendar):not(.appointments-table):not(._) td:first-child::before {
        display: none; } }

.appointments-table {
  width: 100%; }
  .appointments-table thead {
    text-align: left; }
  @media screen and (max-width: 47.999em) {
    .appointments-table__wrapper {
      margin-right: -1.5rem;
      overflow-x: auto; } }

#pricing-table table {
  max-width: none;
  width: auto; }
  #pricing-table table tbody {
    display: table-row-group; }
  #pricing-table table thead {
    display: table-header-group; }
  #pricing-table table tfoot {
    display: table-footer-group; }
  #pricing-table table tr {
    display: table-row;
    border: none;
    margin-bottom: 0; }
  #pricing-table table th,
  #pricing-table table td {
    display: table-cell;
    text-align: left; }

@media screen and (max-width: 47.999em) {
  #pricing-table {
    margin-right: -1.5rem; }
    #pricing-table .pricing-table__wrapper {
      max-width: 100%;
      overflow-x: auto; }
      #pricing-table .pricing-table__wrapper table th,
      #pricing-table .pricing-table__wrapper table td {
        white-space: nowrap; }
    #pricing-table table thead,
    #pricing-table table tfoot {
      display: table-header-group; }
    #pricing-table table td[data-title]::before {
      content: none; }
    #pricing-table table td:first-child {
      background-color: transparent;
      color: inherit;
      font-weight: inherit;
      text-align: left; }
      #pricing-table table td:first-child::before {
        display: none; }
    #pricing-table table th .h4 {
      font-size: 1.25rem; } }

#pricing-table .bg-dark {
  color: #fff; }

#pricing-table svg {
  width: 2.25em;
  display: block;
  margin: 0 auto; }

#pricing-table svg.the-x {
  width: 1.5em; }

#pricing-table thead .h4 {
  font-size: 1.5em;
  font-weight: bold; }

#pricing-table .h5 {
  font-size: 1em;
  font-weight: bold;
  border: 1px solid #777; }

#pricing-table th {
  width: 19%; }

#pricing-table th:first-child {
  width: 40%; }

#pricing-table th:nth-child(3) {
  width: 21%;
  text-align: center; }

#pricing-table td {
  border: 1px solid #ccc; }

#pricing-table table {
  border-collapse: collapse;
  border: none; }

/* Table classes -- Add manually to the table element within the CMS */
/**
 * Bordered table
 *
 * Add horizontal borders between columns.
 */
.table--bordered {
  border: 0; }
  .table--bordered th,
  .table--bordered td {
    border-bottom: 1px solid #e0e0e0; }
    @media screen and (min-width: 48em) {
      .table--bordered th,
      .table--bordered td {
        border: 1px solid #e0e0e0; } }
  .table--bordered thead th,
  .table--bordered thead td {
    border-bottom-width: 2px; }

/**
 * Zebra-striping
 * Default zebra-stripe styles (alternating gray and transparent backgrounds)
 */
.table--striped td:nth-child(odd) {
  background-color: #f5f5f5; }

/**
 * Hover effect styling
 */
@media screen and (min-width: 48em) {
  .table--hover tr:hover {
    cursor: pointer; }
    .table--hover tr:hover td,
    .table--hover tr:hover td:first-child {
      background-color: rgba(0, 0, 0, 0.05); } }

.admin-user-profile {
  background-color: #F7F6F0;
  height: 100%; }
  .admin-user-profile h1 {
    font-size: 2.5rem !important; }
  .admin-user-profile > .contain {
    padding: 2.25rem 1.5rem; }
  .admin-user-profile .header nav {
    overflow: hidden; }
  .admin-user-profile .profile {
    background-color: #ffffff;
    padding: 1.5rem; }
    .admin-user-profile .profile > h1 {
      font-size: 2rem !important; }
  .admin-user-profile__footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.75rem;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .admin-user-profile__footer a {
      color: #BF0404;
      cursor: pointer;
      font-weight: 400;
      margin: 0 auto; }
    .admin-user-profile__footer .button {
      border-radius: 0;
      height: 3.5rem;
      width: 17rem; }
  .admin-user-profile__sidebar ul.link-list {
    background-color: #ffffff;
    margin-bottom: 1.5rem;
    padding: 0.75rem 1.5rem 1.5rem 1.5rem; }
    .admin-user-profile__sidebar ul.link-list li {
      border-color: #e5e5e5; }
      .admin-user-profile__sidebar ul.link-list li a {
        font-weight: 600;
        padding: 1rem 1rem 1rem 0 !important; }
        .admin-user-profile__sidebar ul.link-list li a:active, .admin-user-profile__sidebar ul.link-list li a:focus, .admin-user-profile__sidebar ul.link-list li a:hover {
          color: #BF0404; }
        .admin-user-profile__sidebar ul.link-list li a::after {
          content: none; }
      .admin-user-profile__sidebar ul.link-list li:nth-last-of-type(2) {
        border-bottom: 0; }
    .admin-user-profile__sidebar ul.link-list .button {
      color: #ffffff;
      border-radius: 0;
      font-weight: 600;
      padding: 0.75rem !important; }
  @media screen and (min-width: 48em) {
    .admin-user-profile .profile {
      width: calc(60% - 0.75rem); }
    .admin-user-profile__sidebar {
      width: calc(40% - 0.75rem); }
    .admin-user-profile__wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  @media screen and (max-width: 47.999em) {
    .admin-user-profile__sidebar {
      margin-bottom: 3rem; } }

/**
 * Sitemap page styles
 * DBS>Interactive
 */
.sitemap li {
  list-style: none; }

.user-profile .footer {
  display: block;
  padding: 0 1.5rem 3rem; }
  .user-profile .footer a:not(.button) {
    cursor: pointer;
    color: #282A3E; }

.user-profile .header .contain-more-narrow {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%; }

.user-profile .profile {
  padding: 1.5rem 1.5rem 1rem; }
