/**
 * 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 {
      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; } }

.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; } }

/**
 * 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__image {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    .page-header__image img {
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%; }
      @supports (object-fit: contain) {
        .page-header__image img {
          height: 100%;
          object-fit: cover;
          object-position: center; } }
    .page-header__image:after {
      height: 100%;
      width: 100%;
      background: rgba(0, 0, 0, 0.5);
      content: '';
      position: absolute;
      top: 0;
      left: 0; }
  .page-header__content {
    position: relative;
    z-index: 2; }
    .page-header__content h1:last-child {
      margin-bottom: 0; }

/**
 * 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); } }
/**
 * Three Columns Flex Layout
 * DBS>Interactive
 */
.four-columns .column {
    width: 100%; }
.four-columns .column .cell img.aligncenter {
    margin: 0 auto;
}
@media screen and (min-width: 48em) and (max-width: 61.999em) {
    .four-columns .column {
    display: -ms-flexbox;
    display: flex; }
    .four-columns .column {
        width: 50%; } }
@media screen and (min-width: 62em) {
    .four-columns .column {
    width: 25%; } }

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

@media screen and (min-width: 62em) {
    /**
    * 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.
    */
    .four-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:first-of-type, .four-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:last-of-type {
    width: calc(25% - 1.5rem); }
    .four-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:first-of-type {
    margin-left: 1.5rem; }
    .four-columns[class*=contain]:not([class~=contain-full-width]) [class*=bg-].column:last-of-type {
    margin-right: 1.5rem; }
    .four-columns .columns {
    margin: 0 -1.5rem; } }
  
/**
 * Three Columns Flex Layout
 * DBS>Interactive
 */
.three-columns .column {
    width: 100%;
}

.three-columns .column .cell {
    padding: 1.5rem;
}

@media screen and (min-width: 48em) and (max-width: 61.999em) {
    .three-columns .column {
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
    }

    .three-columns .column>* {
        width: 50%;
    }
}

@media screen and (min-width: 62em) {
    .three-columns .column {
        width: 33.33333%;
    }
}

@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; }

@media screen and (max-width: 47.999em) {
  .two-columns__left {
    margin-bottom: 1.5rem; } }

@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
 */
.layout-collapsible {
  margin: 3rem auto; }
  @media screen and (min-width: 48em) {
    .layout-collapsible {
      margin: 4.5rem auto; } }
  .layout-collapsible .collapsible-row {
    overflow: hidden;
    border-top: 1px solid #ffffff; }
    .layout-collapsible .collapsible-row:first-of-type {
      border: none; }
    .layout-collapsible .collapsible-row__header {
      font-size: 1em;
      background: #f0f0f0;
      border: none;
      color: #2d2d2d;
      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) {
        .layout-collapsible .collapsible-row__header {
          font-size: 1.25em; } }
      .layout-collapsible .collapsible-row__header:hover, .layout-collapsible .collapsible-row__header:focus {
        background: #e5e5e5; }
      .layout-collapsible .collapsible-row__header:before, .layout-collapsible .collapsible-row__header:after {
        background-color: #2d2d2d;
        border-radius: 10%;
        content: '';
        display: block;
        height: 1.5rem;
        position: absolute;
        top: 50%;
        right: 2rem;
        transition: transform .35s;
        transform: translate(-100%, -50%);
        width: .18rem; }
      .layout-collapsible .collapsible-row__header:before {
        transform: translate(-100%, -50%) rotate(90deg); }
      .layout-collapsible .expanded .collapsible-row__header {
        background: #e5e5e5; }
        .layout-collapsible .expanded .collapsible-row__header:after {
          transform: translate(-100%, -50%) rotate(90deg); }
    .layout-collapsible .collapsible-row__content {
      padding: 2rem; }
      @media screen and (min-width: 48em) {
        .layout-collapsible .collapsible-row__content {
          padding: 2rem 2rem 3rem; } }
    .layout-collapsible .collapsible-row__content--wrapper {
      overflow: hidden;
      transition: max-height .4s ease-in-out, visibility 0s linear .5s; }
      .layout-collapsible .collapsible-row__content--wrapper.loaded {
        max-height: 0; }
      .layout-collapsible .expanded .collapsible-row__content--wrapper {
        max-height: 15em;
        transition: max-height .4s ease-in-out, visibility 0s linear; }

/**
 *	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-]
 */
.layout-content-with-sidebar.active-sidebar .contain {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media screen and (min-width: 75em) {
    .layout-content-with-sidebar.active-sidebar .contain {
      -ms-flex-direction: row;
      flex-direction: row; } }

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

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

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

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

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

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

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

/**
 * 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%);
    width: calc(100% - 3rem); }
  .individual-lightbox .close-lightbox {
    background: url("../icons/src/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; }

/**
 * 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
 */
/**
 * GravityForms Resets
 */
.validation_error {
  color: #dadada;
  border-bottom: 0.1em solid #dadada;
  padding-bottom: 1em; }

.gform_body {
  padding-top: 2em; }
  .gform_body ul {
    list-style: none;
    padding: 0; }
  .gform_body .gfield_label,
  .gform_body label, .gform_body legend {
    font-weight: bold; }

.gfield {
  margin-bottom: 1em; }

.gfield_list_icons {
  padding: .5em; }

.gform_validation_container {
  display: none !important; }

.gf_progressbar_wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/**
 * Add-clear plugin resets
 */
.add-clear-span {
  display: block;
  position: relative; }
  .add-clear-span > .add-clear-button {
    display: none !important;
    top: .5em;
    right: .5em; }

fieldset legend {
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
}

.gfield_checkbox button {
  appearance: none;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  margin-top: .5rem;
  padding: .5rem;
}

/* 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
 */
textarea {
  min-height: 5em; }

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

select {
  min-width: 25%;
  margin: 0; }

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; }

/**
 * Complex field arrangements
 */
.ginput_complex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (min-width: 48em) {
    .ginput_complex {
      -ms-flex-direction: row;
      flex-direction: row; }
      .ginput_complex span {
        display: inline-block;
        width: 50%; }
        .ginput_complex span:nth-of-type(2n) {
          margin-left: 1em; } }

/**
 * Remove IE's clear so we don't conflict with the add-clear button functionality 2017-09-12
 */
input[type=text]::-ms-clear {
  display: none; }

/**
 * Validation and error message styling
 */
.gfield_error label,
.gfield_error legend,
.validation_message {
  color: red; }

.gfield_error input,
.gfield_error textarea,
.gfield_error select {
  border-color: red; }

/**
 * Loader animation
 */
.gform_ajax_spinner {
  height: 1em;
  width: 1em;
  animation: spinner_animation 1s infinite ease;
  border-radius: 50%;
  font-size: 5px;
  margin: 0 5em;
  transform: translateZ(0); }

@keyframes spinner_animation {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7); }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5); }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2); }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5), 2.5em 0em 0 0em rgba(0, 0, 0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2); }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2); }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.5), 0em 2.5em 0 0em rgba(0, 0, 0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2); }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2); }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.5), -2.6em 0em 0 0em rgba(0, 0, 0, 0.7), -1.8em -1.8em 0 0em #000000; } }

/**
 * 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(-2rem) scale(0.75);
}

.animate-label .ginput_complex.gfield_error label {
    transform: translateY(-2rem) scale(0.75);
}

.animate-label label,
.animate-label legend {
    background: white;
    padding: 0 .25rem;
    position: absolute;
    top: 1.625rem;
    left: .5rem;
    transition: .2s ease-in-out;
    transform: translateY(-50%);
    transform-origin: left;
}

.animate-label label.gfield_label_before_complex,
.animate-label legend.gfield_label_before_complex {
    display: none;
}

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

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