@import url(https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;

1,18..144,300..900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap);/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
/* Make clicks pass-through */
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;

  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;

  width: 100%;
  height: 2px;
}

/* Fancy blur effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  opacity: 1.0;
  transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;

  border: solid 2px transparent;
  border-top-color: #29d;
  border-left-color: #29d;
  border-radius: 50%;

  -webkit-animation: nprogress-spinner 400ms linear infinite;
          animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}
@keyframes nprogress-spinner {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}@charset "UTF-8";
.fa,
.fas,
form .submit button.loading::before,
form .fui-submit.loading::before,
.serviceLists__subServiceExpand::before,
.projectGallery__next::before,
.projectGallery__prev::before,
.projectGallery__close::before,
.informationSlider__navButton::before,
.heroSlider__next::before,
.heroSlider__prev::before,
.heroSlider__galleryView::before,
.featuredServices__spotlight::after,
.featuredServices__spotlight::before,
.featuredServices__cta::after,
.featuredProjectDetail__location::before,
.workSample__cta::after,
.tagList__tagLink::before,
.secondaryNav__navLink.-search::before,
.primaryNav__dropdownCtaLink::after,
.featuredWork.-emphasized .featuredWork__description > *:last-child::after,
.featuredWork__location::before,
.correspondingSliderNav__navButton::before,
.companyFeature__description > *:last-child::after,
.breadCrumbNav__listItem::after,
.select__wrapper::after,
.date::before,
a.button.loading::before,
button.button.loading::before,
.richText ul li::before,
.far,
form .dropdown .input::after,
.fal,
.informationSlider__navButtonNext::before,
.informationSlider__navButtonPrev::before,
.correspondingSliderNav__navButtonNext::before,
.correspondingSliderNav__navButtonPrev::before,
.fad,
.fab,
.leadership__linkedin::before,
.socialList__socialLink::before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

form .submit button.loading::before,
form .fui-submit.loading::before,
form .dropdown .input::after,
.serviceLists__subServiceExpand::before,
.projectGallery__next::before,
.projectGallery__prev::before,
.projectGallery__close::before,
.leadership__linkedin::before,
.informationSlider__navButton::before,
.informationSlider__navButtonNext::before,
.informationSlider__navButtonPrev::before,
.heroSlider__next::before,
.heroSlider__prev::before,
.heroSlider__galleryView::before,
.featuredServices__spotlight::after,
.featuredServices__spotlight::before,
.featuredServices__cta::after,
.featuredProjectDetail__location::before,
.workSample__cta::after,
.tagList__tagLink::before,
.secondaryNav__navLink.-search::before,
.primaryNav__dropdownCtaLink::after,
.featuredWork.-emphasized .featuredWork__description > *:last-child::after,
.featuredWork__location::before,
.correspondingSliderNav__navButton::before,
.correspondingSliderNav__navButtonNext::before,
.correspondingSliderNav__navButtonPrev::before,
.companyFeature__description > *:last-child::after,
.breadCrumbNav__listItem::after,
.select__wrapper::after,
.date::before,
a.button.loading::before,
button.button.loading::before,
.richText ul li::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
}

/*!
 * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */

@font-face {
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.eot?4a28c895ffe3bd184490cada61bb749c);
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.eot?4a28c895ffe3bd184490cada61bb749c) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.woff2?a0f6b35c2b55babc93cb9b15791a1d4c) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.woff?d3a718bc1772e114ece0c2acbda89747) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.ttf?77ace0fee45b138f023459bf3af34ba0) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-brands-400.svg?82927ee13ebdbbb7ae72dc00b86624ce) format("svg");
}

.fab,
.leadership__linkedin::before,
.socialList__socialLink::before {
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
}

/*!
 * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.eot?1980e02850f8d6c2e02280a60674f547);
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.eot?1980e02850f8d6c2e02280a60674f547) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.woff2?68c2f74f76d4236722607d6eeb8b105d) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.woff?f056755c8cd097b5f5ffde3e98387631) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.ttf?5bdaa8582fd409b4a3fd9f03916de415) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-light-300.svg?4433b4f4806f7bfb430596701dd4fde8) format("svg");
}

.fal,
.informationSlider__navButtonNext::before,
.informationSlider__navButtonPrev::before,
.correspondingSliderNav__navButtonNext::before,
.correspondingSliderNav__navButtonPrev::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
}

/*!
 * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.eot?5739d02394088b39be41cbe628723cfa);
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.eot?5739d02394088b39be41cbe628723cfa) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.woff2?dd049a6496eea2a18937237b999ea8fa) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.woff?f5c3ba7919c746a90974c94d90e502e1) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.ttf?6ee0bdf1a4b4aad88663dfb01ef6f789) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-regular-400.svg?606e54f607334e45061aab955bbabe29) format("svg");
}

.far,
form .dropdown .input::after {
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}

/*!
 * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */

@font-face {
  font-family: "Font Awesome 5 Pro";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.eot?98d38a5db49c92a68bd3b83b906ee2c9);
  src: url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.eot?98d38a5db49c92a68bd3b83b906ee2c9) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.woff2?16e9dbeb2afd22d5cf0e7eeb2b2879ae) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.woff?0f7c8f7d7cd80287a094702ebaf8019c) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.ttf?977e6fae30d6f3f1aed9997f1928f70d) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-pro/webfa-solid-900.svg?ff4da5ed81cdfe2b2e68d6dd9978d96e) format("svg");
}

.fa,
.fas,
form .submit button.loading::before,
form .fui-submit.loading::before,
.serviceLists__subServiceExpand::before,
.projectGallery__next::before,
.projectGallery__prev::before,
.projectGallery__close::before,
.informationSlider__navButton::before,
.heroSlider__next::before,
.heroSlider__prev::before,
.heroSlider__galleryView::before,
.featuredServices__spotlight::after,
.featuredServices__spotlight::before,
.featuredServices__cta::after,
.featuredProjectDetail__location::before,
.workSample__cta::after,
.tagList__tagLink::before,
.secondaryNav__navLink.-search::before,
.primaryNav__dropdownCtaLink::after,
.featuredWork.-emphasized .featuredWork__description > *:last-child::after,
.featuredWork__location::before,
.correspondingSliderNav__navButton::before,
.companyFeature__description > *:last-child::after,
.breadCrumbNav__listItem::after,
.select__wrapper::after,
.date::before,
a.button.loading::before,
button.button.loading::before,
.richText ul li::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm,
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container-md,
  .container-sm,
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1140px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xl,
.col-xl-auto,
.col-xl-12,
.col-xl-11,
.col-xl-10,
.col-xl-9,
.col-xl-8,
.col-xl-7,
.col-xl-6,
.col-xl-5,
.col-xl-4,
.col-xl-3,
.col-xl-2,
.col-xl-1,
.col-lg,
.col-lg-auto,
.col-lg-12,
.col-lg-11,
.col-lg-10,
.col-lg-9,
.col-lg-8,
.col-lg-7,
.col-lg-6,
.col-lg-5,
.col-lg-4,
.col-lg-3,
.col-lg-2,
.col-lg-1,
.col-md,
.col-md-auto,
.col-md-12,
.col-md-11,
.col-md-10,
.col-md-9,
.col-md-8,
.col-md-7,
.col-md-6,
.col-md-5,
.col-md-4,
.col-md-3,
.col-md-2,
.col-md-1,
.col-sm,
.col-sm-auto,
.col-sm-12,
.col-sm-11,
.col-sm-10,
.col-sm-9,
.col-sm-8,
.col-sm-7,
.col-sm-6,
.col-sm-5,
.col-sm-4,
.col-sm-3,
.col-sm-2,
.col-sm-1,
.col,
.col-auto,
.col-12,
.col-11,
.col-10,
.col-9,
.col-8,
.col-7,
.col-6,
.col-5,
.col-4,
.col-3,
.col-2,
.col-1 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-last {
    order: 13;
  }

  .order-sm-0 {
    order: 0;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-last {
    order: 13;
  }

  .order-md-0 {
    order: 0;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-last {
    order: 13;
  }

  .order-lg-0 {
    order: 0;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-last {
    order: 13;
  }

  .order-xl-0 {
    order: 0;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}

@-webkit-keyframes continuousRotation {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}

@keyframes continuousRotation {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}

html {
  font-family: var(--root-font-family);
  line-height: 150%;
  overflow-x: hidden;
}

html:has(body.-scrollLock) {
  overflow: hidden;
  height: 100vh;
}

* {
  box-sizing: border-box;
}

html:has(dialog[open]),
body:has(dialog[open]) {
  overflow: hidden;
}

body {
  overflow-x: hidden;
  padding-top: 65px;
  background: white;
}

@media screen and (min-width: 1024px) {
  body {
    padding-top: 165px;
  }
}

body:has(.siteHeader.js-homepage-nav) {
  padding-top: 0;
}

@media screen and (min-width: 1024px) {
  body:has(.siteHeader.js-homepage-nav) {
    padding-top: 0;
  }
}

p {
  margin-top: 0;
  line-height: 150%;
}

body.-scrollLock {
  overflow: hidden;
  height: 100vh;
}

.workSample,
.featuredOurWork {
  transition: all 250ms;
}

.shuffle-list-enter,
.shuffle-list-leave-to {
  opacity: 0;
  transform: translateY(30px);
}

.shuffle-list-leave-active {
  position: absolute;
}

.height-shift-enter,
.height-shift-leave-to {
  max-height: 0;
  overflow: hidden;
}

.height-shift-leave-active {
  max-height: 500px;
}

.container {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: ) {
  .container {
    padding: 0 0;
  }
}

img {
  display: block;
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 500ms;
}

.visibilityHidden {
  visibility: hidden;
  height: 0;
  margin: 0;
}

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.richText ul {
  list-style-type: none;
  padding-left: 20px;
}

.richText ul li {
  margin-bottom: 1rem;
  position: relative;
  padding-left: 21px;
}

.richText ul li::before {
  content: "\F219";
  color: #f5b211;
  position: absolute;
  top: 10px;
  left: 0;
  font-size: 0.5rem;
}

.-paddingNone {
  padding-top: 0 !important;
  padding: 0 !important;
}

.-paddingTop {
  padding-bottom: 0 !important;
}

.-paddingBottom {
  padding-top: 0 !important;
}

.js-swoosh {
  opacity: 0;
  transform: translatey(50);
}

.js-swooshItem {
  transform: scale(1.3);
  opacity: 0;
}

[v-cloak] {
  display: none !important;
}

:root {
  --root-font-family: "Figtree", sans-serif;
  --root-font-family-heading: "Merriweather", serif;
}

.splide__arrow {
  background: #3d684f;
  opacity: 1;
  transition: opacity 250ms cubic-bezier(0.19, 1, 0.22, 1), color 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

.splide__arrow svg {
  fill: white;
}

.splide__arrow:hover {
  opacity: 0.85;
}

.splide__arrow:hover:disabled {
  opacity: 0.3;
}

.-faintLinesBackgroundMediumDensity {
  position: relative;
  overflow: hidden;
}

.-faintLinesBackgroundMediumDensity::before {
  content: "";
  background: no-repeat url("/img/backgrounds/faintlines-medium-density.svg");
  position: absolute;
  width: 200%;
  height: 200%;
  bottom: -25%;
  left: 50%;
  z-index: -1;
  mix-blend-mode: multiply;
  opacity: 0.75;
}

.-faintLinesBackground {
  position: relative;
  overflow: hidden;
}

.-faintLinesBackground::before {
  content: "";
  background: no-repeat url("/img/backgrounds/faintlines.svg");
  position: absolute;
  width: 150%;
  height: 150%;
  bottom: -5%;
  left: 45%;
  z-index: -1;
  mix-blend-mode: multiply;
  opacity: 0.75;
}

a.button,
button.button {
  --button-white-rgb: 255, 255, 255;
  --button-gold-rgb: 245, 178, 17;
  --button-green-rgb: 61, 104, 79;
  --button-dark-transparent-rgb: 3, 3, 3;
  --button-light-yellow-rgb: 251, 224, 114;
  --button-bg: var(--button-white-rgb);
  --button-border: white;
  --button-border-hover: #f5b211;
  --button-color: #3e3e3e;
  color: var(--button-color);
  display: inline-block;
  box-sizing: content-box;
  position: relative;
  font-weight: 600;
  padding: 13px 30px;
  border-radius: 24px;
  line-height: 1;
  text-align: center;
  vertical-align: top;
  border: 3px solid;
  border-color: var(--button-border);
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, rgba(var(--button-bg), 0) 0%, rgba(var(--button-bg), 1) 0%) 50% 100%/200% 200%;
  transition: border-color 0.3s cubic-bezier(0.7, 0, 0.2, 1), color 0.3s cubic-bezier(0.7, 0, 0.2, 1), background-position 0.3s cubic-bezier(0.7, 0, 0.2, 1);
  overflow: hidden;
  text-decoration: none;
}

a.button span,
button.button span {
  position: relative;
}

a.button.-whiteUnderlay,
form a.button.fui-submit.-tertiary,
form a.button.fui-submit.-primary,
a.button.-tertiary,
a.button.-primary,
button.button.-whiteUnderlay,
form .submit button.button.-tertiary,
form button.button.fui-submit.-tertiary,
form .submit button.button.-primary,
form button.button.fui-submit.-primary,
button.button.-tertiary,
button.button.-primary {
  background: linear-gradient(180deg, white 0%, white 50%, rgba(var(--button-bg), 0) 0%, rgba(var(--button-bg), 1) 0%) 50% 100%/200% 200%;
}

a.button:hover,
a.button:focus,
button.button:hover,
button.button:focus {
  border-color: var(--button-border-hover);
  background-position: 50% 200%;
}

a.button.loading,
button.button.loading {
  color: transparent;
}

a.button.loading::before,
button.button.loading::before {
  content: "\F110";
  color: var(--button-color);
  position: absolute;
  top: 32%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-animation: 1s linear continuousRotation infinite;
          animation: 1s linear continuousRotation infinite;
}

a.button.disabled,
a.button[disabled],
button.button.disabled,
button.button[disabled] {
  color: #cccccc;
  pointer-events: none;
}

a.button.-primary,
button.button.-primary {
  --button-bg: var(--button-gold-rgb);
  --button-border: #f5b211;
  z-index: 1;
}

a.button.-secondary,
button.button.-secondary {
  --button-bg: var(--button-gold-rgb);
  --button-hover-bg: transparent;
  --button-border: #f5b211;
}

a.button.-tertiary,
button.button.-tertiary {
  --button-bg: var(--button-light-yellow-rgb);
  --button-border: #fbe072;
  --button-border-hover: #fbe072;
}

a.button.-greenPrimary,
button.button.-greenPrimary {
  --button-bg: var(--button-green-rgb);
  --button-border: #3d684f;
  --button-color: white;
  --button-border-hover: #3d684f;
}

a.button.-greenPrimary:hover,
a.button.-greenPrimary:focus,
button.button.-greenPrimary:hover,
button.button.-greenPrimary:focus {
  --button-color: #3e3e3e;
}

a.button.-greenOutline,
button.button.-greenOutline {
  --button-bg: var(--button-green-rgb);
  --button-border: #3d684f;
  --button-border-hover: #3d684f;
}

a.button.-greenOutline:hover,
a.button.-greenOutline:focus,
button.button.-greenOutline:hover,
button.button.-greenOutline:focus {
  --button-color: white;
}

a.button.-whiteOutline,
button.button.-whiteOutline {
  --button-bg: var(--button-green-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
}

a.button.-whiteOutlineWhiteHover,
button.button.-whiteOutlineWhiteHover {
  --button-bg: var(--button-white-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
}

a.button.-whiteOutlineWhiteHover:hover,
a.button.-whiteOutlineWhiteHover:focus,
button.button.-whiteOutlineWhiteHover:hover,
button.button.-whiteOutlineWhiteHover:focus {
  --button-color: #3d684f;
}

a.button.-darkTransparent,
button.button.-darkTransparent {
  --button-bg: var(--button-dark-transparent-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
  background: linear-gradient(180deg, rgba(var(--button-bg), 0.5) 0%, rgba(var(--button-bg), 0.5) 50%, rgba(var(--button-bg), 1) 0%, rgba(var(--button-bg), 1) 0%) 50% 200%/200% 200%;
}

a.button.-darkTransparent:hover,
a.button.-darkTransparent:focus,
button.button.-darkTransparent:hover,
button.button.-darkTransparent:focus {
  background-position: 50% 100%;
}

a.button.-reverseHover,
form a.button.fui-submit.-whiteOutlineWhiteHover,
form a.button.fui-submit.-whiteOutline,
form a.button.fui-submit.-greenOutline,
form a.button.fui-submit.-tertiary,
a.button.-tertiary,
a.button.-greenOutline,
a.button.-whiteOutline,
a.button.-whiteOutlineWhiteHover,
button.button.-reverseHover,
form .submit button.button.-whiteOutlineWhiteHover,
form button.button.fui-submit.-whiteOutlineWhiteHover,
form .submit button.button.-whiteOutline,
form button.button.fui-submit.-whiteOutline,
form .submit button.button.-greenOutline,
form button.button.fui-submit.-greenOutline,
form .submit button.button.-tertiary,
form button.button.fui-submit.-tertiary,
button.button.-tertiary,
button.button.-greenOutline,
button.button.-whiteOutline,
button.button.-whiteOutlineWhiteHover {
  background-position: 50% 200%;
}

a.button.-reverseHover:hover,
a.button.-tertiary:hover,
a.button.-greenOutline:hover,
a.button.-whiteOutline:hover,
a.button.-whiteOutlineWhiteHover:hover,
a.button.-reverseHover:focus,
a.button.-tertiary:focus,
a.button.-greenOutline:focus,
a.button.-whiteOutline:focus,
a.button.-whiteOutlineWhiteHover:focus,
button.button.-reverseHover:hover,
button.button.-tertiary:hover,
button.button.-greenOutline:hover,
button.button.-whiteOutline:hover,
button.button.-whiteOutlineWhiteHover:hover,
button.button.-reverseHover:focus,
button.button.-tertiary:focus,
button.button.-greenOutline:focus,
button.button.-whiteOutline:focus,
button.button.-whiteOutlineWhiteHover:focus {
  background-position: 50% 100%;
}

.date {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}

.date::before {
  content: "\F133";
  margin-right: 0.5rem;
  color: #f5b211;
}

.embed__wrapper {
  height: 0;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.embed__wrapper iframe,
.embed__wrapper object,
.embed__wrapper embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.embed__wrapper.-overlay {
  position: relative;
  z-index: 0;
}

.embed__wrapper.-overlay::before,
.embed__wrapper.-overlay::after {
  content: "";
  position: absolute;
  z-index: 2;
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1);
  pointer-events: none;
}

.embed__wrapper.-overlay::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.embed__wrapper.-overlay::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: url("/img/icons/playbutton.svg") no-repeat;
}

@media screen and (min-width: 800px) {
  .embed__wrapper.-overlay::after {
    width: 100px;
    height: 100px;
  }
}

.embed__wrapper.-overlay.-isActive::before,
.embed__wrapper.-overlay.-isActive::after {
  opacity: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  margin-top: 0;
  font-family: var(--root-font-family-heading);
  font-weight: 300;
  color: #3e3e3e;
  line-height: 112.5%;
}

@media screen and (min-width: 800px) {
  h1,
  .h1,
  h2,
  .h2,
  h3,
  .h3,
  h4,
  .h4,
  h5,
  .h5 {
    line-height: 120%;
  }
}

@media screen and (min-width: 800px) {
  h4,
  .h4,
  h5,
  .h5 {
    line-height: 112.5%;
  }
}

h1,
.h1 {
  font-weight: 300;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
}

@media screen and (min-width: 1024px) {
  h1,
  .h1 {
    margin-bottom: 2rem;
  }
}

h2,
.h2 {
  margin-bottom: 0.75rem;
  color: #3e3e3e;
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
}

@media screen and (min-width: 1024px) {
  h2,
  .h2 {
    margin-bottom: 1.5rem;
  }
}

h2.-homepage,
.h2.-homepage {
  font-size: clamp(2rem, 2.5vw, 2.25rem);
  margin-bottom: 1.5rem;
}

h3,
.h3 {
  color: #3d684f;
  margin-bottom: 0.625rem;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
}

@media screen and (min-width: 1024px) {
  h3,
  .h3 {
    margin-bottom: 1rem;
  }
}

.icon {
  --icon-stroke-color: #3e3e3e;
  --icon-fill-color: #F5B210;
  aspect-ratio: 1;
  height: 4.5rem;
}

.icon.-square {
  border-radius: 0.25em;
}

.icon.-circle {
  /* Using clip-path to avoid clipping the icons. */
  -webkit-clip-path: circle(calc(50% - .5px));
          clip-path: circle(calc(50% - .5px));
}

.icon.-gray {
  --icon-stroke-color: #3B3B45;
  --icon-fill-color: #3B3B45;
}

.icon.-knock-out-yellow {
  --icon-stroke-color: white;
  --icon-fill-color: #F5B210;
}

.icon.-knock-out-white {
  --icon-stroke-color: white;
  --icon-fill-color: white;
}

.link {
  --link-color: #147bb8;
  color: var(--link-color);
  text-decoration: underline;
  font-weight: 600;
}

.link:hover {
  text-decoration: none;
}

.pagination {
  text-align: end;
}

.pagination__list {
  list-style: none;
  display: inline-flex;
}

.pagination__item.-active .pagination__link {
  background: #3d684f;
  color: white;
  font-weight: 700;
}

.pagination__item.-next,
.pagination__item.-previous {
  display: none;
}

.pagination__link {
  aspect-ratio: 1;
  background: transparent;
  border-radius: 50%;
  color: #3e3e3e;
  display: grid;
  line-height: 1;
  width: clamp(2rem, 1.5vw, 2.5rem);
  height: clamp(2rem, 1.5vw, 2.5rem);
  place-items: center;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
  font-weight: 400;
}

.-subhead {
  line-height: 1.8rem;
}

p {
  color: #3e3e3e;
}

.select.-rounded .select__wrapper {
  border-radius: 20px;
  min-width: 200px;
}

.select.-rounded .select__select {
  background-color: transparent;
}

.select.-green .select__label {
  color: #3e3e3e;
  font-weight: 400;
  font-size: 0.875rem;
}

.select.-green .select__wrapper {
  border: 2px solid #3d684f;
  background: white;
}

.select.-green .select__wrapper::after {
  font-weight: 400;
  color: #3d684f;
}

.select.-green .select__wrapper:hover::after {
  color: #3e3e3e;
}

.select__label {
  display: block;
  margin-bottom: 10px;
  color: #137CB9;
  font-size: 1.1rem;
  font-weight: 600;
}

.select__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: "";
  padding: 8px 15px;
  width: 100%;
  border: 0;
  cursor: pointer;
}

.select__wrapper {
  position: relative;
  display: block;
  border: 2px solid #3e3e3e;
}

.select__wrapper::after {
  content: "\F078";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50px;
  pointer-events: none;
  transition: color 250ms #f5b211;
}

.select:hover .select__wrapper::after {
  color: #137CB9;
}

.aboutProject {
  padding: 30px 0;
  background-color: #3d684f;
}

.aboutProject__list {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
}

.aboutProject__listItem {
  position: relative;
  padding: 0 30px;
  margin-bottom: 27px;
  color: #fff;
}

.aboutProject__listItem::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #fff;
}

.aboutProject__listItem:last-child {
  margin-bottom: 0;
}

.accordion {
  --webkit-appearance: none;
  background-color: white;
  border-radius: 4px;
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.2);
  transition-property: box-shadow, height;
  transition-duration: 250ms;
  transition-timing-function: ease-out;
  height: var(--accordion-target-height);
  overflow: hidden;
}

.accordion__summary {
  list-style: none;
  display: flex;
  align-items: center;
  padding-right: 0.75rem;
  cursor: pointer;
}

.accordion__heading {
  font-size: clamp(1.125rem, 3vw, 2rem);
  color: #3e3e3e;
  padding: 1rem;
  margin-bottom: 0;
  flex-grow: 1;
}

.accordion__iconWrapper {
  padding: 0.5rem;
  aspect-ratio: 1;
  block-size: 1.5rem;
  transition: background-color 0.25s ease;
  position: relative;
  /* Create the "+" shape by positioning the spans absolutely */
}

.accordion__iconWrapper span {
  content: "";
  position: absolute;
  transition: 0.25s ease;
  background: #137CB9;
}

.accordion__iconWrapper span:first-child {
  top: 25%;
  bottom: 25%;
  width: 8%;
  left: 45%;
}

.accordion__iconWrapper span:last-child {
  left: 25%;
  right: 25%;
  height: 8%;
  top: 45%;
}

.accordion__content {
  padding: 1rem;
  padding-top: 0;
}

.accordion[data-accordion-open] {
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.2);
}

.accordion[data-accordion-open] .accordion__iconWrapper {
  /* Morph the shape when the button is hovered over */
}

.accordion[data-accordion-open] .accordion__iconWrapper span {
  transform: rotate(90deg);
}

.accordion[data-accordion-open] .accordion__iconWrapper span:last-child {
  left: 50%;
  right: 50%;
}

.breadCrumbNav {
  padding: 22px 0;
}

.breadCrumbNav__list {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  margin: 0;
}

.breadCrumbNav__listCurrent {
  margin: 0;
  font-weight: 700;
}

.breadCrumbNav__listItem {
  font-size: 1.125rem;
}

.breadCrumbNav__listItem::after {
  content: "\F105";
  margin: 0 10px;
  font-weight: 300;
  font-size: 1.3rem;
  vertical-align: -2.8px;
  color: #969696;
}

.breadCrumbNav__listItem:last-child::after {
  display: none;
}

.breadCrumbNav__listLink {
  color: #137CB9;
  text-decoration: none;
  transition: color 75ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.breadCrumbNav__listLink:hover {
  color: #3e3e3e;
}

.breadCrumbNav.-shade {
  background-color: #f8f8f8;
}

.breadCrumbNav + .threeColumnText {
  padding-top: 65px;
}

.buttonWrapper {
  padding: 50px 0;
  text-align: center;
}

.card {
  color: #3e3e3e;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.card__imageWrapper {
  width: 100%;
  margin-bottom: 0.5rem;
  aspect-ratio: 5/3;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
}

.card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.card__heading {
  font-size: 1rem;
  font-weight: 600;
  display: inline-block;
  font-size: 1.125rem;
}

.card__textWrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.card__text {
  margin-bottom: 0;
}

.card__text > * {
  color: inherit;
}

.card__link {
  color: #3e3e3e;
  margin-top: auto;
  font-weight: 600;
}

.card.-iconCard {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 0;
}

.card.-iconCard .card__imageWrapper {
  max-height: 70px;
}

.card.-iconCard .card__icon {
  height: 100%;
  width: auto;
}

.card.-iconCard .card__imageWrapper,
.card.-iconCard .card__text {
  margin: 0;
}

.card.-iconCard .card__heading {
  font-size: clamp(1.125rem, 1.5vw, 1.3125rem);
}

.card.-iconCard .card__text {
  font-size: 1rem;
  line-height: 150%;
}

.categoryFilters {
  padding: 30px 0;
}

.categoryFilters__buttonRow {
  max-width: 1000px;
}

.categoryFilters__cta {
  margin-bottom: 16px;
  margin-right: 14px;
}

.categoryFilters__cta.button.-primary:hover::after,
.categoryFilters__cta.button.-primary.-active::after {
  opacity: 0;
}

.categoryFilters__title {
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}

.categoryFilters.-shade {
  background-color: #f8f8f8;
}

@media screen and (min-width: 800px) {
  .categoryFilters {
    padding: 50px 0;
  }

  .categoryFilters.-shade {
    padding: 50px 0 125px;
  }
}

@media (max-width: 991.98px) {
  .categoryFilters__cta.button.-primary {
    padding: 8px 15px;
  }
}

.companyFeature {
  position: relative;
  padding: 100px 0 30px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}

.companyFeature__title,
.companyFeature__description {
  margin-bottom: 0.75rem;
  color: #fff;
  transition: color 250ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.companyFeature__description p {
  color: #fff;
}

.companyFeature__description > *:last-child::after {
  font-weight: 500;
  font-size: 0.975rem;
  margin-left: 7px;
  transition: margin-left 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  content: "\F178";
}

.companyFeature__cta {
  position: relative;
  display: block;
  z-index: 2;
  text-decoration: none;
  max-width: 555px;
}

.companyFeature__cta:hover .companyFeature__title,
.companyFeature__cta:hover .companyFeature__description p {
  color: #fdeba3;
}

.companyFeature__cta:hover .companyFeature__description > *:last-child::after {
  margin-left: 11px;
}

.companyFeature::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 190%;
  z-index: 1;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
}

@media screen and (min-width: 800px) {
  .companyFeature {
    padding: 592px 0 136px;
  }

  .companyFeature__description {
    font-size: 1.125rem;
  }

  .companyFeature::after {
    height: 75%;
  }
}

.correspondingSliderNav__navList {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.correspondingSliderNav__navListItem {
  line-height: 0;
}

.correspondingSliderNav__navButton,
.correspondingSliderNav__navButtonPrev,
.correspondingSliderNav__navButtonNext {
  background: none;
  border: none;
  cursor: pointer;
}

.correspondingSliderNav__navButton:hover::before,
.correspondingSliderNav__navButtonPrev:hover::before,
.correspondingSliderNav__navButtonNext:hover::before {
  color: #3e3e3e;
}

.correspondingSliderNav__navButtonPrev::before {
  content: "\F053";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 2rem;
}

.correspondingSliderNav__navButtonNext::before {
  content: "\F054";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 2rem;
}

.correspondingSliderNav__navButton.-active::before {
  color: #3e3e3e;
}

.correspondingSliderNav__navButton::before {
  content: "\F111";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 0.6rem;
  vertical-align: 2px;
}

p {
  color: #3e3e3e;
}

.ctaBar {
  background-color: #137CB9;
}

.ctaBar__content {
  display: flex;
  flex-direction: column;
  padding: 2rem 0;
  gap: 1rem;
}

@media screen and (min-width: 800px) {
  .ctaBar__content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
  }
}

.ctaBar__content .button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.ctaBar__heading {
  margin: 0 0 1.5rem 0;
  font-weight: 400;
  color: white;
  margin-bottom: 0;
  font-size: 1.667rem;
  font-size: clamp(1.667rem, 2.5vw, 2rem);
}

.detailsGrid {
  background-color: white;
}

.detailsGrid__layer {
  border-top: 1px solid #DADADA;
  border-bottom: 1px solid #DADADA;
}

.detailsGrid__grid {
  --gap: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

@media screen and (min-width: 576px) {
  .detailsGrid__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
  }
}

.detailsGrid__itemHeading,
.detailsGrid__itemDetail {
  color: #3e3e3e;
  text-transform: uppercase;
  display: block;
}

.detailsGrid__itemHeading {
  font-size: 0.875rem;
  font-weight: 400;
}

.detailsGrid__itemDetail {
  font-weight: 600;
  font-size: 1rem;
  word-break: break-word;
}

.entryInfo {
  background: #f8f8f8;
  padding: 1rem 0;
}

.featuredPhoto__photoWrapper {
  width: 70vw;
  height: 70vw;
  overflow: hidden;
  position: relative;
  display: block;
  transform: rotate(45deg);
  border: 2px solid #b7b7b7;
  margin: 0 auto;
}

.featuredPhoto__photoWrapper::after {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  left: -10px;
  top: -10px;
  border: 20px solid #fff;
}

.featuredPhoto img {
  display: block;
  position: absolute;
  transform: rotate(-45deg) scale(1.375);
  transform-origin: center;
  height: 100%;
}

@media screen and (min-width: 1024px) {
  .featuredPhoto__photoWrapper {
    width: 625px;
    height: 625px;
    margin: 0;
  }
}

.featuredWork {
  background-color: #d5ebde;
  padding: 40px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: box-shadow 150ms ease-out;
  text-align: left;
}

.featuredWork:hover {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.featuredWork.-skeleton {
  background-color: #DDDBDD;
  position: relative;
}

.featuredWork.-skeleton::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  -webkit-animation: shimmer 5s infinite;
          animation: shimmer 5s infinite;
  content: "";
}

@-webkit-keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.featuredWork.-skeleton .featuredWork__body {
  display: none;
}

.featuredWork__date {
  color: #3e3e3e;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 0;
}

.featuredWork__location {
  position: relative;
}

.featuredWork__location::before {
  content: "\F3C5";
  color: #137CB9;
  margin-right: 0.5rem;
}

.featuredWork__location::after {
  content: "|";
  position: absolute;
  right: -0.75rem;
  top: -1px;
}

.featuredWork__title {
  display: inline-block;
  color: #3e3e3e;
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}

.featuredWork__title::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background-color: #3d684f;
  position: absolute;
  bottom: 0;
  left: 0;
}

.featuredWork__description p {
  margin-bottom: 2rem;
}

.featuredWork__description,
.featuredWork__description p {
  color: #3e3e3e;
}

.featuredWork__description a {
  word-wrap: break-word;
  text-decoration: none;
  color: #3d684f;
  font-weight: 700;
}

.featuredWork__description a:hover {
  color: #fad540;
}

.featuredWork__tagList {
  margin-top: auto;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  flex-wrap: wrap;
}

.featuredWork__location,
.featuredWork__list {
  margin: 0;
}

.featuredWork__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.featuredWork__image {
  height: 209px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.featuredWork__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: none;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

.featuredWork__tagLink.tagList__tagLink {
  white-space: nowrap;
  color: #3e3e3e;
}

.featuredWork__tagLink.tagList__tagLink::before {
  display: none;
}

.featuredWork .tagList__tag:has(+ .tagList__tag) {
  position: relative;
}

.featuredWork .tagList__tag:has(+ .tagList__tag)::after {
  content: "|";
  position: absolute;
  right: -0.75rem;
  top: -1px;
  color: #3e3e3e;
}

.featuredWork__tag {
  margin-right: 27px;
}

.featuredWork__list {
  margin-bottom: 0;
}

.featuredWork.-emphasized {
  background: #fff;
  padding: 0;
  transition: background 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredWork.-emphasized .featuredWork__body {
  padding: 30px;
}

.featuredWork.-emphasized .featuredWork__date {
  color: #3d684f;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredWork.-emphasized .featuredWork__title {
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredWork.-emphasized .featuredWork__title::after {
  display: none;
}

.featuredWork.-emphasized .featuredWork__description,
.featuredWork.-emphasized .featuredWork__description p {
  color: #000;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredWork.-emphasized .featuredWork__description::after,
.featuredWork.-emphasized .featuredWork__description p::after {
  color: #137CB9;
}

.featuredWork.-emphasized .featuredWork__tagLink.tagList__tagLink {
  font-size: 16px;
  font-weight: 600;
  color: #137CB9;
}

.featuredWork.-emphasized .featuredWork__tagLink.tagList__tagLink::before {
  display: inline-block;
}

.featuredWork.-emphasized .featuredWork__description > *:last-child::after {
  font-weight: 500;
  font-size: 0.975rem;
  margin-left: 11px;
  transition: margin-left 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  content: "\F178";
  display: inline-block;
  transition: transform 250ms cubic-bezier(0.075, 0.82, 0.165, 1), color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredWork.-emphasized:hover {
  background: #137CB9;
  transform: none;
}

.featuredWork.-emphasized:hover .featuredWork__description,
.featuredWork.-emphasized:hover .featuredWork__description p,
.featuredWork.-emphasized:hover .featuredWork__title,
.featuredWork.-emphasized:hover .featuredWork__date,
.featuredWork.-emphasized:hover .featuredWork__location,
.featuredWork.-emphasized:hover .featuredWork__location::before {
  color: #fff;
}

.featuredWork.-emphasized:hover .featuredWork__description > *:last-child::after {
  color: #fff;
}

.featuredWork.-emphasized:hover .featuredWork__tagLink {
  color: #fff;
}

.featuredWork.-emphasized.-skeleton {
  height: 700px;
  background-color: #DDDBDD;
}

.footerNavigation {
  display: flex;
  gap: 1rem;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (min-width: 800px) {
  .footerNavigation {
    flex-direction: row;
  }
}

@media screen and (min-width: 1200px) {
  .footerNavigation {
    justify-content: space-around;
  }
}

.footerNavigation__heading,
.footerNavigation__headingLink {
  font-size: 1rem;
  color: #3e3e3e;
  text-decoration: none;
  margin: 0;
  font-weight: bold;
  font-family: var(--root-font-family);
}

.footerNavigation__headingLink {
  background-image: linear-gradient(#3e3e3e 0 0), linear-gradient(transparent 0 0);
  background-position: 0 100%, 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px, 100% 1px;
  position: relative;
  transition: background-size 0.15s linear;
}

.footerNavigation__headingLink:hover {
  background-size: 100% 1px, 0 1px;
}

.footerNavigation__headingLink.-reverse {
  background-image: linear-gradient(transparent 0 0), linear-gradient(#3e3e3e 0 0);
  background-position: 0 100%, 100% 100%;
}

.footerNavigation__headingLink.-reverse:hover {
  background-size: 100% 1px, 0 1px;
}

.footerNavigation__linkList {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

@media screen and (min-width: 1024px) {
  .footerNavigation__linkList {
    margin-bottom: 0;
  }
}

.footerNavigation__navItem {
  line-height: 225%;
}

.footerNavigation__navLink {
  text-decoration: none;
  font-weight: 400;
  color: #3e3e3e;
  background-image: linear-gradient(#3e3e3e 0 0), linear-gradient(transparent 0 0);
  background-position: 0 100%, 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px, 100% 1px;
  position: relative;
  transition: background-size 0.15s linear;
}

.footerNavigation__navLink:hover {
  background-size: 100% 1px, 0 1px;
}

.footerNavigation__navLink.-reverse {
  background-image: linear-gradient(transparent 0 0), linear-gradient(#3e3e3e 0 0);
  background-position: 0 100%, 100% 100%;
}

.footerNavigation__navLink.-reverse:hover {
  background-size: 100% 1px, 0 1px;
}

.fullWidth .container p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.fullWidth .container figure {
  margin-left: 0;
  margin-right: 0;
}

.fullWidth .container img {
  max-width: 100%;
}

.fullWidth .container a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.fullWidth .container a:not(.button):hover,
.fullWidth .container a:not(.button):focus {
  color: #3e3e3e;
}

.hoverCard {
  overflow: hidden;
  box-shadow: none;
}

.hoverCard:hover,
.hoverCard:focus,
.hoverCard:focus-within {
  box-shadow: none;
}

.hoverCard:hover .hoverCard__content,
.hoverCard:focus .hoverCard__content,
.hoverCard:focus-within .hoverCard__content {
  top: 0;
}

.hoverCard:hover .hoverCard__titleIcon,
.hoverCard:focus .hoverCard__titleIcon,
.hoverCard:focus-within .hoverCard__titleIcon {
  /* Morph the shape when the button is hovered over */
}

.hoverCard:hover .hoverCard__titleIcon span,
.hoverCard:focus .hoverCard__titleIcon span,
.hoverCard:focus-within .hoverCard__titleIcon span {
  transform: rotate(90deg);
}

.hoverCard:hover .hoverCard__titleIcon span:last-child,
.hoverCard:focus .hoverCard__titleIcon span:last-child,
.hoverCard:focus-within .hoverCard__titleIcon span:last-child {
  left: 50%;
  right: 50%;
}

.hoverCard.accordion[data-accordion-open] {
  box-shadow: none;
}

.hoverCard__imageWrapper {
  position: relative;
  margin-bottom: 0.5rem;
  display: grid;
  grid-template-rows: 250px auto;
}

@media screen and (min-width: 1024px) {
  .hoverCard__imageWrapper {
    display: block;
  }
}

.hoverCard__image {
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: 300px;
}

@media screen and (min-width: 1024px) {
  .hoverCard__image {
    max-width: unset;
  }
}

.hoverCard__accordionHeading {
  padding-left: 0;
  font-size: 1.25rem;
}

.hoverCard__accordionSummary.-hidden {
  display: none;
}

.hoverCard__accordionContent {
  padding-left: 0;
}

@media screen and (min-width: 1024px) {
  .hoverCard__accordionContent {
    padding: 0;
  }
}

@media screen and (min-width: 1024px) {
  .hoverCard__content {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    transition: top 0.25s ease-out;
    padding: 1.5rem;
    visibility: visible;
    opacity: 1;
  }

  .hoverCard__content::before {
    content: "";
    background-color: #284a37;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
    z-index: 0;
  }
}

.hoverCard__text {
  position: relative;
  z-index: 1;
}

.hoverCard__text > * {
  color: #3e3e3e;
}

@media screen and (min-width: 1024px) {
  .hoverCard__text > * {
    color: white;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    max-height: 4lh;
    overflow: hidden;
  }
}

.hoverCard__titleWrapper {
  gap: 0.25rem;
  align-items: center;
  display: none;
}

@media screen and (min-width: 1024px) {
  .hoverCard__titleWrapper {
    display: flex;
  }
}

.hoverCard__titleIcon {
  aspect-ratio: 1;
  block-size: 1.5rem;
  transition: background-color 0.25s ease;
  position: relative;
  /* Create the "+" shape by positioning the spans absolutely */
}

.hoverCard__titleIcon span {
  content: "";
  position: absolute;
  transition: 300ms;
  background: #137CB9;
}

.hoverCard__titleIcon span:first-child {
  top: 25%;
  bottom: 25%;
  width: 8%;
  left: 45%;
}

.hoverCard__titleIcon span:last-child {
  left: 25%;
  right: 25%;
  height: 8%;
  top: 45%;
}

.hoverCard__title {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
}

.hoverCard__button.button.-whiteOutline {
  --button-bg: var(--button-green-rgb);
  --button-border-hover: #3d684f;
  --button-color: #3e3e3e;
  --button-border: #3d684f;
}

.hoverCard__button.button.-whiteOutline:hover {
  --button-color: white;
}

@media screen and (min-width: 1024px) {
  .hoverCard__button.button.-whiteOutline {
    --button-bg: var(--button-green-rgb);
    --button-border: white;
    --button-border-hover: white;
    --button-color: white;
  }
}

.iconJumpNav {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.iconJumpNav__navLink {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(100% + 30px);
  height: auto;
  padding: 15px;
  margin-left: -15px;
  margin-right: -15px;
  background-color: #137CB9;
  text-decoration: none;
  transition: background-color 75ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.iconJumpNav__navLink:hover {
  background-color: #fff;
}

.iconJumpNav__navLinkText {
  margin: 0;
  line-height: 1.15;
  text-align: center;
  width: 100%;
  color: #fff;
  font-weight: 600;
  transition: color 75ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.iconJumpNav__navLink:hover .iconJumpNav__navLinkText {
  color: #137CB9;
}

.iconJumpNav__svgIcon {
  display: none;
  margin-bottom: 10px;
  height: 35px;
}

.iconJumpNav__iconFill {
  fill: #fff;
  stroke: #fff;
  transition: fill 75ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.iconJumpNav__navLink:hover .iconJumpNav__iconFill {
  fill: #137CB9;
  stroke: #137CB9;
}

@media screen and (min-width: 800px) {
  .iconJumpNav {
    flex-direction: row;
  }

  .iconJumpNav__navLink {
    margin: 0 15px 70px;
    width: 168px;
    height: 168px;
    border-radius: 50%;
  }

  .iconJumpNav__svgIcon {
    display: block;
  }
}

.indexCta {
  background-color: #3d684f;
  padding: 2rem 0;
}

.indexCta__ctaWrapper {
  text-align: center;
}

.introduction__wrapper {
  border-bottom: 2px solid #3d684f;
  max-width: 800px;
  padding-bottom: 32px;
}

.introduction__body > p {
  font-size: 1.1rem;
  line-height: 1.9rem;
}

.jumpNav {
  padding: 2rem 0;
}

.jumpNav__list {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.jumpNav__link {
  font-weight: 700;
  text-decoration: none;
  color: #3d684f;
  font-size: 1.125rem;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.jumpNav__listItem {
  margin-bottom: 1rem;
}

.jumpNav__link:hover {
  color: #3e3e3e;
}

.jumpNav.-shade {
  background-color: #f8f8f8;
}

@media screen and (min-width: 800px) {
  .jumpNav__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .jumpNav__listItem {
    margin-right: 20px;
    margin-bottom: 0;
  }

  .jumpNav__listItem:last-child {
    margin-right: 0;
  }

  .jumpNav__listItem::after {
    content: "|";
    margin-left: 18px;
    color: #969696;
    font-weight: 700;
    vertical-align: 1px;
  }

  .jumpNav__listItem:last-child::after {
    content: "";
    margin-left: 0;
  }
}

.jumpNavigation {
  padding: 20px 30px;
  background-color: #137CB9;
  overflow: hidden;
}

.jumpNavigation__list {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
}

.jumpNavigation__listItem {
  margin-bottom: 20px;
  text-align: center;
}

.jumpNavigation__link {
  position: relative;
  text-decoration: none;
  color: #fff;
  font-weight: 400;
}

.jumpNavigation__link:hover,
.jumpNavigation__link.-active {
  font-weight: 600;
}

.jumpNavigation__link.-active::after {
  content: "";
  position: absolute;
  display: block;
  top: 12px;
  right: -10016px;
  width: 9999px;
  border-top: 2px solid #fff;
}

@media screen and (min-width: 1024px) {
  .jumpNavigation__listItem {
    text-align: left;
  }
}

.largeImage.layer {
  padding-bottom: 0;
}

.largeImage__desktop {
  width: 100%;
}

.largeImage__caption > p {
  font-style: italic;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
}

.largeImage__caption {
  text-align: center;
  margin-top: 1rem;
}

.largeImage__header {
  max-width: 570px;
  margin-bottom: 3.8rem;
}

.largeImage__introduction > * {
  font-size: 1.125rem;
  line-height: 1.4;
}

.largeImage__imageWrapper {
  padding-bottom: 3rem;
}

.largeImage.-halfShade {
  background-color: #f8f8f8;
}

.largeImage.-halfShade .largeImage__imageWrapper {
  position: relative;
}

.largeImage.-halfShade .largeImage__imageWrapper::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -5000px;
  height: 50%;
  width: 10000px;
  background-color: #fff;
  z-index: 0;
}

.largeImage.-halfShade .largeImage__caption,
.largeImage.-halfShade .largeImage__desktop {
  z-index: 1;
  position: relative;
}

.largeVideo {
  background-color: white;
}

.listFilters {
  padding-top: 30px;
}

.listFilters__wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.listFilters__select {
  width: calc(100% - 30px);
  margin: 0 15px 30px;
}

.listFilters__select .select__wrapper {
  min-height: 35px;
}

@media screen and (min-width: 800px) {
  .listFilters {
    padding: 50px 0 20px;
  }

  .listFilters__select {
    width: calc(50% - 100px);
    margin: 0 50px 30px;
  }
}

.logoTicker__tickerWrapper {
  display: flex;
  overflow: hidden;
  width: 100vw;
  margin-left: -15px;
}

@media (min-width: 1250px) {
  .logoTicker__tickerWrapper {
    margin-left: calc(((100vw - 1220px) / 2) * -1);
  }
}

.logoTicker__tickerWrapper:hover .logoTicker__ticker {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.logoTicker__ticker {
  --animation-duration: 15s;
  display: flex;
  align-items: center;
  list-style: none;
  padding-inline: 0;
  -webkit-animation: ticker var(--animation-duration) linear infinite;
          animation: ticker var(--animation-duration) linear infinite;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(6)) {
  --animation-duration: 18s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(8)) {
  --animation-duration: 24s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(10)) {
  --animation-duration: 28s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(12)) {
  --animation-duration: 34s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(14)) {
  --animation-duration: 40s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(16)) {
  --animation-duration: 50s;
}

.logoTicker__ticker:has(.logoTicker__logoWrapper:nth-child(18)) {
  --animation-duration: 56s;
}

.logoTicker__logoWrapper {
  padding-inline: 2.5rem;
}

.logoTicker__logo {
  min-width: 75px;
  max-width: 300px;
  max-height: 105px;
  -o-object-fit: contain;
     object-fit: contain;
}

@-webkit-keyframes ticker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes ticker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

.megaMenu {
  --mega-menu-container-edge: calc((100vw - 1250px) / 2);
  inline-size: 100%;
  z-index: var(--z-drawer);
  transition: opacity 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
}

.megaMenu__container {
  background: white;
  box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.05);
}

@media screen and (min-width: 1024px) {
  .megaMenu__wrapper {
    display: grid;
    gap: 2rem;
    grid-template-columns: var(--mega-menu-container-edge) min(25%, 325px) repeat(3, 1fr) var(--mega-menu-container-edge);
    border-top: 8px solid #3d684f;
  }
}

.megaMenu__column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0 3rem;
}

.megaMenu__column.-featuredColumn {
  height: 100%;
  padding-left: 1rem;
  padding-right: 2rem;
  background: #3d684f;
  color: white;
  grid-column: 1/3;
}

.megaMenu__column.-featuredColumn .megaMenu__columnTitle {
  color: white;
}

.megaMenu__column.-featuredColumn .megaMenu__columnDescription > * {
  color: white;
}

@media (min-width: 1250px) {
  .megaMenu__column.-featuredColumn {
    padding-left: calc(var(--mega-menu-container-edge) + 1rem);
  }
}

.megaMenu__column.-twoColumn {
  grid-column: span 2;
}

.megaMenu__column.-twoColumn .megaMenu__columnList {
  -moz-column-count: 2;
       column-count: 2;
  display: table-column;
}

@media screen and (min-width: 1024px) {
  .megaMenu__column.-twoColumn .megaMenu__listItem {
    margin-bottom: 0.5rem;
  }
}

.megaMenu__columnTitle {
  font-family: var(--root-font-family);
  font-size: 1.125rem;
  margin-bottom: 0;
  color: #3e3e3e;
  font-weight: 600;
}

.megaMenu__columnTitle:hover .megaMenu__linkIcon {
  transform: translateX(2px);
}

.megaMenu__columnTitleLink {
  font-family: var(--root-font-family);
  font-size: 1.125rem;
  margin-bottom: 0;
  color: #3e3e3e;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.megaMenu__columnButton {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.5rem;
}

.megaMenu__linkIcon {
  color: #3d684f;
  width: 1cap;
  height: 1cap;
  transition: transform 150ms ease-out;
}

.megaMenu__columnDescription > * {
  color: grey;
  margin-bottom: 0;
}

.megaMenu__columnList {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin-top: 0;
  padding: 0;
}

.megaMenu__listItem {
  line-height: 200%;
}

.megaMenu__listItem a {
  line-height: 200%;
  font-weight: 400;
  text-decoration: none;
  color: #3e3e3e;
  transition: color 150ms ease-out;
}

.megaMenu__listItem a:hover {
  color: #3d684f;
}

.megaMenu__tile {
  font-size: 1.25rem;
}

@media screen and (min-width: 1024px) {
  .megaMenu__tile {
    min-width: 18.75rem;
  }
}

.megaMenu__columnImageWrapper {
  max-width: 240px;
}

.megaMenu__columnImage {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.navigation__list {
  align-items: center;
  display: flex;
  gap: 4.5rem;
  justify-content: flex-end;
  list-style: none;
}

.navigation__heading {
  border-bottom: 2px solid lightgray;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 0;
  padding: 0.5rem 1rem;
  text-align: center;
}

.navigation__trigger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: unset;
  margin: 0;
  padding: 0;
  color: #3e3e3e;
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 150%;
  text-decoration: none;
  transition: color 150ms ease-out;
  white-space: nowrap;
  position: relative;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.navigation__trigger::after {
  content: "";
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 63.22 52.96"><path d="M 0 22.5 L 31.61 0 l 31.61 22.5 v 0.5 h -63.22 V 22.5 z" fill="%233d684f"/></svg>');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  height: 70px;
  width: 80px;
  position: absolute;
  bottom: -91px;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%);
  transition: bottom 250ms cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.navigation__trigger:hover {
  color: #3d684f;
}

.navigation__trigger--active::after {
  opacity: 1;
}

.navigation__triggerIcon {
  color: #3e3e3e;
  width: 1cap;
  height: 1cap;
}

.navigation__triggerIconWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border-radius: 50%;
}

.navigation__megaMenu {
  display: none;
  position: absolute;
  left: 0;
  opacity: 0;
  top: 100%;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  width: 100%;
}

.navigation__megaMenu[aria-hidden=false] {
  display: grid;
}

.navigation__megaMenu--active {
  opacity: 1;
}

body.scrolled .navigation__trigger::after {
  bottom: -80px;
}

.plumbBobFollow {
  display: none;
}

.plumbBobFollow.-module .plumbBobFollow__imageWrapper {
  top: -61px;
}

.plumbBobFollow__wrapper {
  position: relative;
}

.plumbBobFollow__imageWrapper {
  position: absolute;
  top: 739px;
  right: 0;
  width: 138px;
  z-index: 5;
  transition: top 1000ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.plumbBobFollow__imageWrapper::before {
  content: "";
  position: absolute;
  display: block;
  width: 14px;
  top: -9979px;
  height: 9999px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: #3d684f;
  z-index: 1;
}

.plumbBobFollow__plumbBob {
  width: 100%;
  z-index: 2;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .plumbBobFollow {
    display: block;
  }
}

.primaryNav__dropdownCtaImageWrapper {
  overflow: hidden;
}

.primaryNav__dropdownCtaTextWrapper {
  padding: 1rem;
  background-color: #3d684f;
}

.primaryNav__dropdownCtaText,
.primaryNav__dropdownCtaText p {
  margin: 0;
  color: #fff;
  font-size: 0.925rem;
}

.primaryNav__dropdownCtaLink {
  color: #fff;
  font-size: 0.925rem;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  text-decoration: none;
}

.primaryNav__dropdownCtaLink::after {
  content: "\F178";
  font-weight: 400;
  vertical-align: middle;
  margin-bottom: 4px;
  margin-left: 4px;
}

.primaryNav__dropdownCtaLink:hover {
  color: #fad540;
}

.primaryNav__linkList {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
}

.primaryNav__navLink {
  color: #3e3e3e;
  font-weight: 400;
  text-decoration: none;
  position: relative;
  z-index: 2;
  font-size: 1rem;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.primaryNav__navItem {
  position: relative;
  margin-bottom: 2rem;
}

.primaryNav__navItem:last-child {
  padding-right: 0;
}

.primaryNav__navItem:hover .primaryNav__navLink,
.primaryNav__navItem:hover .primaryNav__dropDownNavlink {
  color: #649d79;
  outline: none;
}

.primaryNav__dropdownCtaImageWrapper {
  height: 140px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.primaryNav__dropDownNavLink {
  font-weight: 600;
  text-decoration: none;
  color: #3e3e3e;
  font-size: 1.075rem;
  transition: color 125ms cubic-bezier(0.19, 1, 0.22, 1);
}

.primaryNav__dropDownNavLink:hover,
.primaryNav__dropDownNavLink:focus {
  color: #649d79;
  outline: none;
}

.primaryNav__dropdown {
  display: none;
  overflow-y: scroll;
  flex-direction: column;
  position: fixed;
  top: 89px;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  z-index: 4;
}

.primaryNav__dropdown.-opened {
  display: flex;
}

.primaryNav__dropdown::before {
  content: "";
  display: none;
  position: absolute;
  top: -19px;
  left: 180px;
  width: 0;
  height: 0;
  border-left: 35px solid transparent;
  border-right: 35px solid transparent;
  border-bottom: 20px solid #6ca986;
}

.primaryNav__dropdown::after {
  content: "";
  display: block;
  position: absolute;
  top: -36px;
  left: 176px;
  width: 100px;
  background-color: transparent;
  height: 39px;
}

.primaryNav__dropdownListWrapper {
  background-color: #fff;
  padding: 0 1.5rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.primaryNav__dropdownList {
  list-style-type: none;
  padding-left: 0;
  text-align: center;
  left: 0;
  top: -100%;
  width: 50%;
  margin: 0 auto;
  transition: top 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

.primaryNav__dropdownList li {
  margin-bottom: 25px;
  text-align: left;
}

.primaryNav__dropdownList li.-opened {
  width: 100%;
}

.primaryNav__dropdownList li:last-child {
  margin-bottom: 0;
}

.primaryNav__dropdownList.-expanded {
  top: 0;
}

.primaryNav__dropDownNavOverview {
  text-decoration: none;
  background: #fad540;
  padding: 1rem 1.5rem;
  text-align: center;
  display: block;
  color: #3e3e3e;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 1024px) {
  .primaryNav__dropdownCtaImageWrapper {
    height: 200px;
  }

  .primaryNav__dropdownCtaTextWrapper {
    flex-grow: 1;
  }

  .primaryNav__dropdownCta {
    width: 323px;
    min-width: 323px;
    border-top: 5px solid #6ca986;
    display: flex;
    flex-direction: column;
  }

  .primaryNav__linkList {
    flex-direction: row;
    justify-content: space-around;
  }

  .primaryNav__navItem {
    margin-bottom: 0;
    padding-right: 8px;
    flex-grow: 1;
  }

  .primaryNav__navItem:hover .primaryNav__dropdown {
    display: flex;
  }

  .primaryNav__navLink {
    font-size: 1rem;
    white-space: nowrap;
  }

  .primaryNav__navItem.-simple:hover .primaryNav__dropdownListWrapper {
    width: 100%;
    margin-left: 90px;
  }

  .primaryNav__navItem.-simple:hover .primaryNav__dropdown {
    background-color: transparent;
  }

  .primaryNav__dropdown {
    overflow-y: visible;
    flex-direction: row;
    top: 55px;
    left: -175px;
    right: 0px;
    bottom: auto;
    position: absolute;
  }

  .primaryNav__dropdown::before {
    content: "";
    display: block;
    border-bottom: 20px solid #6ca986;
  }

  .primaryNav__dropdownListWrapper {
    display: flex;
    flex-wrap: nowrap;
    padding: 0 0;
    background-color: transparent;
    align-items: stretch;
  }

  .primaryNav__dropdownList {
    width: 100vw;
    display: flex;
    width: auto;
    flex-direction: column;
    text-align: left;
    background-color: #fff;
    border-top: 5px solid #6ca986;
  }

  .primaryNav__dropdownList li {
    width: 230px;
    padding: 15px 30px;
    background-color: #fff;
    margin-bottom: 0;
  }

  .primaryNav__dropdownList li:first-child {
    padding: 30px 30px 15px;
  }

  .primaryNav__dropdownList li:last-child {
    padding: 15px 30px 30px;
  }

  .primaryNav .-mobile {
    display: none;
  }
}

.productFeature {
  position: relative;
  height: 522px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.productFeature__cta {
  margin-top: 30px;
}

.productFeature__footer {
  position: absolute;
  padding: 30px 35px;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}

.productFeature__title {
  margin: 0;
  font-weight: 200;
  color: #fff;
}

.productFeature__client {
  position: absolute;
  margin: 0;
  top: 0;
  right: 0;
  padding: 15px;
  background-color: rgba(19, 124, 185, 0.8);
  color: #fff;
  text-decoration: none;
}

.productFeature__client:hover {
  color: #fad540;
}

.productFeature__introduction p {
  color: #fff;
  margin-top: 15px;
}

.productFeature__introduction p:last-child {
  margin-bottom: 0;
}

.productFeature__hoverHidden {
  overflow: hidden;
  transition: max-height 500ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.productFeature__tagList .productFeature__tagLink {
  color: #fff;
}

.productFeature__tagList .productFeature__tagLink:hover {
  color: #fff;
}

.productFeature:hover .productFeature__hoverHidden {
  max-height: 500px;
}

@media screen and (min-width: 1024px) {
  .productFeature__hoverHidden {
    max-height: 0;
  }
}

.quote__mark {
  width: 60px;
}

.quote__text {
  font-weight: 400;
  line-height: 1.5;
  color: #3e3e3e;
  font-size: clamp(1.125rem, 1.5vw, 1.3125rem);
}

.quote__author,
.quote__title {
  display: block;
  font-size: 0.89rem;
}

.quote__author {
  text-transform: uppercase;
  color: #137CB9;
}

.secondaryNav {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-column: 3;
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 100%;
  transition: margin-top 250ms;
}

.secondaryNav__linkList {
  list-style-type: none;
  padding-left: 0;
  gap: 1.5rem;
  display: flex;
  gap: 1.5rem;
  justify-content: space-around;
  flex-direction: row;
  margin: 0;
  padding: 8px 0;
  margin-bottom: 2rem;
  align-self: stretch;
}

.secondaryNav__navLink {
  color: #3e3e3e;
  font-size: 0.778rem;
  text-decoration: none;
  transition: color 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

.secondaryNav__navLink.-search::before {
  content: "\F002";
  display: inline;
  font-size: 0.6rem;
  font-weight: 600;
}

.secondaryNav__navLink:hover,
.secondaryNav__navLink:focus {
  outline: none;
  color: #3d684f;
}

@media screen and (min-width: 1024px) {
  .secondaryNav {
    align-items: flex-end;
    grid-row: 1;
    bottom: 0;
    position: relative;
  }

  .secondaryNav__button {
    transform: translateY(5px);
  }

  .secondaryNav__linkList {
    margin-bottom: 20px;
    position: relative;
    justify-content: flex-end;
  }
}

.socialList {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.socialList__socialLink {
  border: 1px solid #3d684f;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  flex-shrink: 0;
  width: 2.25rem;
}

.socialList__socialLink:hover {
  border-color: #3e3e3e;
}

.socialList__socialLink:hover::before {
  color: #3e3e3e;
}

.socialList__socialLink::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  color: #3d684f;
  font-size: 1.25rem;
  transition: color 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
}

.socialList__socialLink.-facebook::before {
  content: "\F39E";
}

.socialList__socialLink.-twitter::before {
  content: "\F099";
}

.socialList__socialLink.-linkedin::before {
  content: "\F0E1";
}

.socialList__socialLink.-instagram::before {
  content: "\F16D";
}

.stats {
  --stat-gap: 1rem;
  background-color: rgba(22, 137, 204, 0.1);
  color: #3e3e3e;
  padding: 1.5rem;
  display: flex;
  position: relative;
  flex-wrap: wrap;
  gap: var(--stat-gap);
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
}

.stats__stat {
  flex-basis: 100%;
  text-align: center;
  flex-grow: 1;
}

@media screen and (min-width: 800px) {
  .stats__stat {
    flex-basis: calc(33% - (var(--stat-gap) * 2) / 2);
  }
}

.stats__statNumber,
.stats__statLabel {
  display: block;
}

.stats__statNumber {
  font-weight: 100;
  line-height: 1;
  margin-bottom: 1rem;
  font-family: var(--root-font-family-heading);
  font-size: clamp(3rem, 5vw, 4rem);
}

.stats__statLabel {
  line-height: 120%;
}

.tagList__list {
  list-style-type: none;
  padding-left: 0;
}

.tagList__tag {
  display: inline-block;
}

.tagList__tag:has(+ .tagList__tag) {
  margin-right: 20px;
}

.tagList__tagLink {
  text-decoration: none;
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.tagList__tagLink::before {
  content: "\F02B";
  font-size: 0.8rem;
  margin-right: 4px;
}

.tagList__tagLink:hover {
  color: #3e3e3e;
}

.testimonial {
  --testimonial-font-color: #3e3e3e;
  display: grid;
  row-gap: 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-left: 0;
  padding-left: 0;
  box-shadow: none;
}

.testimonial__content {
  margin-bottom: 0;
  color: var(--testimonial-font-color);
}

.testimonial__citationPhotoWrapper {
  height: 4rem;
  aspect-ratio: 1;
  border-radius: 4rem;
  overflow: hidden;
  flex-shrink: 0;
}

.testimonial__citationPhoto {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.testimonial__citation {
  color: var(--testimonial-font-color);
  line-height: 1.5;
  font-style: normal;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0;
}

.testimonial__citationTitle {
  display: block;
  color: var(--testimonial-font-color);
  font-weight: 400;
  font-size: 1rem;
}

.testimonial__footer {
  grid-row: 2/3;
  grid-column: 1/3;
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media screen and (min-width: 800px) {
  .testimonial__footer {
    grid-column: 2/3;
  }
}

.testimonial__icon {
  --icon-fill-color: var(--accent-color-600);
  grid-row: 1/3;
  grid-column: 1/2;
  height: 2.0625rem;
  width: 2rem;
  min-width: 2rem;
  transform: translateY(-50%);
}

.twoColumns__column {
  margin: 0 32px;
  width: calc(100% - 64px);
}

.twoColumns__column p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.twoColumns__column figure {
  margin-left: 0;
  margin-right: 0;
}

.twoColumns__column img {
  max-width: 100%;
}

.twoColumns__column a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.twoColumns__column a:not(.button):hover,
.twoColumns__column a:not(.button):focus {
  color: #3e3e3e;
}

.twoColumns__wrapper {
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  margin-left: -32px;
  margin-right: -32px;
}

.twoColumns__ctaWrapper {
  text-align: center;
}

@media screen and (min-width: 800px) {
  .twoColumns__wrapper {
    flex-direction: row;
  }

  .twoColumns__column {
    width: calc(50% - 64px);
  }
}

div.workSample::after {
  display: none;
}

.workSample {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.workSample__cta {
  color: #fff;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
}

.workSample__cta::after {
  font-weight: 500;
  font-size: 0.975rem;
  margin-left: 11px;
  transition: margin-left 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  content: "\F178";
  display: inline;
}

.workSample__content {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 3;
  width: calc(100% - 40px);
}

.workSample__list {
  margin: 0;
  margin-top: 15px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.workSample__tagLink {
  color: #fff;
  white-space: nowrap;
}

.workSample__tagLink:hover {
  color: #fff;
}

.workSample__tagLink::before {
  color: #f5b211;
}

.workSample__tagLink:hover::before {
  color: #f5b211;
}

.workSample:hover .workSample__cta::after {
  margin-left: 15px;
}

.workSample:hover::after {
  opacity: 0.7;
}

.workSample::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: height 500ms cubic-bezier(0.075, 0.82, 0.165, 1), opacity 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  background: linear-gradient(to bottom, transparent, #000);
  opacity: 0.5;
  z-index: 2;
}

.workSample img {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-height: none;
  min-width: 100%;
  min-height: 100%;
  max-height: 100%;
  z-index: 1;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

@media screen and (min-width: 800px) {
  .workSample img {
    max-height: 100%;
    max-width: none;
  }
}

.aboutSection {
  padding: 30px 0;
}

.aboutSection__wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  position: relative;
}

.aboutSection__feature {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.aboutSection__header {
  margin-bottom: 10px;
}

.aboutSection__subhead {
  margin-bottom: 50px;
}

.aboutSection__featuredPhoto {
  width: 100%;
  padding: 20% 0;
}

@media screen and (min-width: 800px) {
  .aboutSection__header {
    font-size: 2rem;
  }
}

@media screen and (min-width: 1024px) {
  .aboutSection {
    padding: 110px 0;
  }

  .aboutSection__feature {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .aboutSection__featuredPhoto {
    position: absolute;
    top: -220px;
    right: -240px;
    width: auto;
    padding-top: 0;
  }
}

.callToAction {
  padding: 30px 0;
  background-color: #3d684f;
}

.callToAction__wrapper {
  display: flex;
  flex-direction: column;
}

.callToAction__title {
  color: #fff;
  font-weight: 300;
  text-align: center;
}

.callToAction__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.callToAction.-greenBricks,
.callToAction.-blackBricks {
  background-image: url("/img/patterns/bricktexture.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.callToAction.-greenBricks .callToAction__title,
.callToAction.-blackBricks .callToAction__title {
  text-align: center;
  font-size: 1.5rem;
}

.callToAction.-greenBricks .callToAction__introduction,
.callToAction.-blackBricks .callToAction__introduction {
  max-width: 1005px;
  margin: 0 auto;
  margin-bottom: 2.8rem;
}

.callToAction.-greenBricks .callToAction__introduction > *,
.callToAction.-blackBricks .callToAction__introduction > * {
  color: #fff;
}

.callToAction.-greenBricks {
  background-image: url("/img/patterns/bricktexture.jpg");
}

.callToAction.-blackBricks {
  background-image: url("/img/patterns/bricktextureblack.jpg");
}

@media screen and (min-width: 800px) {
  .callToAction {
    padding: 70px 0;
  }

  .callToAction__wrapper {
    flex-direction: row;
    justify-content: space-between;
  }

  .callToAction.-greenBricks .callToAction__wrapper,
  .callToAction.-blackBricks .callToAction__wrapper {
    flex-direction: column;
  }

  .callToAction.-greenBricks .callToAction__title,
  .callToAction.-blackBricks .callToAction__title {
    max-width: 100%;
    margin-right: 0;
    font-size: 2rem;
  }

  .callToAction.-greenBricks .callToAction__introduction p,
  .callToAction.-blackBricks .callToAction__introduction p {
    font-size: 1.125rem;
  }

  .callToAction__title {
    margin-right: 50px;
    max-width: 650px;
    font-size: 2.335rem;
    text-align: left;
  }
}

.cardGrid__grid {
  display: grid;
  row-gap: 1.375rem;
  grid-template-columns: 100%;
}

@media screen and (min-width: 1024px) {
  .cardGrid__grid {
    row-gap: 1.875rem;
    grid-template-columns: auto;
  }
}

.cardGrid__heading {
  grid-row: 1;
  margin-bottom: 0;
}

.cardGrid__actions {
  grid-row: 3;
  display: flex;
  align-items: center;
  gap: 1.11rem;
  justify-content: space-between;
}

@media screen and (min-width: 1024px) {
  .cardGrid__actions {
    grid-row: 1;
    margin-left: auto;
    justify-content: flex-end;
    gap: 1.333rem;
  }
}

.cardGrid__listWrapper {
  grid-column: 1/3;
}

.cardGrid__cardList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  list-style: none;
  -moz-column-gap: 1.11rem;
       column-gap: 1.11rem;
  row-gap: 3.5rem;
  grid-column: 1/3;
  padding-inline: 0;
  margin-top: 0;
}

.cardGrid .card {
  margin-bottom: 0;
}

.cardGrid .card.-skeleton {
  background-color: #DDDBDD;
  position: relative;
  height: 450px;
  width: 100%;
}

.cardGrid .card.-skeleton::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  -webkit-animation: shimmer 5s infinite;
          animation: shimmer 5s infinite;
  content: "";
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.cardGrid .card__imageWrapper {
  aspect-ratio: 1.6/1;
  margin-bottom: 0;
}

.cardsWithTextSlider {
  --container-padding: 15px;
  --container-padding-both: 30px;
  --slide-offset: 2rem;
}

@media screen and (min-width: 576px) {
  .cardsWithTextSlider {
    --slide-offset: 3rem;
  }
}

@media screen and (min-width: 1024px) {
  .cardsWithTextSlider .layer {
    padding-block: 8rem;
  }
}

.cardsWithTextSlider .splide__track {
  overflow: visible;
  width: calc((100% - var(--slide-offset)) + var(--container-padding));
  margin-left: calc(var(--container-padding) * -1);
}

@media screen and (min-width: 576px) {
  .cardsWithTextSlider .splide__track {
    width: calc( 100% - var(--slide-offset));
    margin-left: 0;
  }
}

@media (min-width: 1250px) {
  .cardsWithTextSlider .splide__track {
    width: 100%;
  }
}

.cardsWithTextSlider .splide__list {
  transition: transform 500ms cubic-bezier(0.44, 0.65, 0.07, 1.01);
}

.cardsWithTextSlider .splide__arrows {
  position: absolute;
  bottom: calc(100% + 1.75rem);
  right: var(--slide-offset);
  display: flex;
  gap: 0.75rem;
}

@media screen and (min-width: 576px) {
  .cardsWithTextSlider .splide__arrows {
    right: var(--slide-offset);
  }
}

@media screen and (min-width: 1440px) {
  .cardsWithTextSlider .splide__arrows {
    left: 100%;
    bottom: 2rem;
    right: unset;
    background-color: white;
    z-index: 2;
  }
}

.cardsWithTextSlider .splide__arrow {
  transition: opacity 250ms cubic-bezier(0.19, 1, 0.22, 1);
  position: unset;
  transform: unset;
}

.cardsWithTextSlider .card__imageWrapper {
  aspect-ratio: 1;
  position: relative;
}

.cardsWithTextSlider .card__imageWrapper::after {
  content: "";
  background: black;
  width: 100%;
  height: 100%;
  opacity: 80%;
  transition: opacity 500ms ease;
  position: absolute;
  top: 0;
  left: 0;
}

.cardsWithTextSlider .card__body {
  margin-right: 15%;
  margin-left: 15px;
  opacity: 0;
  transition: opacity 500ms ease;
}

@media screen and (min-width: 576px) {
  .cardsWithTextSlider .card__body {
    margin-left: 0;
  }
}

.cardsWithTextSlider .card__link {
  font-weight: 600;
  display: block;
  margin-top: 1rem;
}

.cardsWithTextSlider .card.is-visible .card__body {
  opacity: 1;
}

.cardsWithTextSlider .card.is-visible .card__imageWrapper::after {
  opacity: 0;
}

.comparisonSlider {
  background-color: #f8f8f8;
  padding: 2rem 0;
}

.comparisonSlider__title {
  max-width: 450px;
}

.comparisonSlider__columns {
  display: flex;
  flex-direction: column;
}

.comparisonSlider__column ul {
  list-style-type: none;
  padding-left: 0.4rem;
}

.comparisonSlider__column li:before {
  content: "\B7";
  font-size: 37px;
  vertical-align: -5px;
}

.comparisonSlider__introduction > *:last-child {
  margin-bottom: 0;
}

.comparisonSlider__column p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.comparisonSlider__column figure {
  margin-left: 0;
  margin-right: 0;
}

.comparisonSlider__column img {
  max-width: 100%;
}

.comparisonSlider__column a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.comparisonSlider__column a:not(.button):hover,
.comparisonSlider__column a:not(.button):focus {
  color: #3e3e3e;
}

@media screen and (min-width: 1024px) {
  .comparisonSlider {
    padding: 6rem 0;
  }

  .comparisonSlider__introduction p,
  .comparisonSlider__introduction li,
  .comparisonSlider__column li,
  .comparisonSlider__column p {
    font-size: 1.125rem;
  }

  .comparisonSlider__columns {
    flex-direction: row;
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 2rem;
  }

  .comparisonSlider__column {
    width: calc(50% - 1rem);
    margin: 0 1rem;
  }

  .comparisonSlider__column li {
    line-height: 1.1;
  }
}

.comparisonSlider__imageCompare {
  --thumb-background-color: #f5b211;
  --thumb-background-image: url('data:image/svg+xml;utf8,<svg viewbox="0 0 60 60"  width="60" height="60" xmlns="http://www.w3.org/2000/svg"><path fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M20 20 L10 30 L20 40"/><path fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M40 20 L50 30 L40 40"/></svg>');
  --thumb-size: 2.5rem;
  --thumb-radius: 50%;
  --thumb-border-color: white;
  --thumb-border-size: 0px;
  --focus-width: 2px;
  --focus-color: #3d684f;
  --border-width: 2px;
  --border-color: hsla(0, 0%, 0%, 0.9);
  --divider-color: #3d684f;
  --divider-width: 3px;
}

.connect {
  background: url("/img/patterns/bricktexture.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  padding: 30px 0;
  text-align: center;
}

.connect .container {
  position: relative;
  z-index: 2;
}

.connect__column {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.connect__featuredWork:first-child {
  margin-bottom: 30px;
}

.connect__featuredWork {
  flex-grow: 1;
}

.connect__wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 67px;
}

.connect__header {
  color: #fff;
}

@media screen and (min-width: 1024px) {
  .connect {
    padding: 80px 0;
  }

  .connect__header {
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 800px) {
  .connect__wrapper {
    flex-direction: row;
  }

  .connect__column {
    width: calc(50% - 15px);
  }

  .connect__column:first-child {
    margin-right: 30px;
  }

  .connect__featuredWork.-emphasized {
    margin-bottom: 0;
  }
}

.contentWithAside {
  padding: 30px 0;
}

.contentWithAside__wrapper {
  display: flex;
  flex-direction: column;
}

.contentWithAside__richText {
  margin-bottom: 45px;
}

.contentWithAside__richText p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.contentWithAside__richText figure {
  margin-left: 0;
  margin-right: 0;
}

.contentWithAside__richText img {
  max-width: 100%;
}

.contentWithAside__richText a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.contentWithAside__richText a:not(.button):hover,
.contentWithAside__richText a:not(.button):focus {
  color: #3e3e3e;
}

.contentWithAside__content {
  margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
  .contentWithAside {
    padding: 80px 0;
  }

  .contentWithAside__wrapper {
    flex-direction: row;
    justify-content: space-between;
  }

  .contentWithAside__aside {
    width: 292px;
    min-width: 292px;
  }

  .contentWithAside__content {
    margin-right: 50px;
    margin-bottom: 0;
    max-width: 683px;
  }
}

.contentWithSideNav {
  padding: 0 0 30px;
}

.contentWithSideNav__wrapper {
  display: flex;
  flex-direction: column;
}

.contentWithSideNav__nav {
  width: calc(100% + 30px);
  position: relative;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 30px;
}

.contentWithSideNav__content {
  flex-grow: 1;
}

.contentWithSideNav__jumpNavigation.js-is-sticky {
  top: 0;
}

.contentWithSideNav__jumpNavigation.js-is-stuck {
  bottom: 0;
}

.contentWithSideNav__productFeature {
  margin-bottom: 30px;
}

@media screen and (min-width: 1024px) {
  .contentWithSideNav {
    padding: 75px 0 190px;
  }

  .contentWithSideNav__wrapper {
    flex-direction: row;
  }

  .contentWithSideNav__nav {
    width: 263px;
    min-width: 263px;
    margin-right: 99px;
    margin-left: 0;
    margin-bottom: 0;
  }

  .contentWithSideNav__productFeature {
    margin-bottom: 60px;
  }

  .contentWithSideNav__jumpNavigation {
    width: 263px;
  }
}

.ctaWithImage {
  overflow: hidden;
}

.ctaWithImage__content {
  padding: 30px 0;
  position: relative;
  z-index: 2;
  max-width: 487px;
}

.ctaWithImage__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ctaWithImage__imageWrapper {
  position: relative;
  z-index: 1;
  line-height: 0;
}

.ctaWithImage__imageWrapper::after {
  content: "";
  display: none;
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  z-index: 2;
  background: radial-gradient(transparent, #fff 55%);
}

.ctaWithImage__image {
  position: relative;
  width: 100%;
  z-index: 1;
}

.ctaWithImage__imageAndCta {
  position: relative;
  text-align: center;
  margin-left: -15px;
  margin-right: -15px;
}

.ctaWithImage__cta.button.-primary {
  position: absolute;
  top: 50%;
  margin: 0 auto;
  transform: translateY(-50%) translateX(-50%);
}

.ctaWithImage__title {
  margin-bottom: 10px;
}

.ctaWithImage__description p:last-child {
  margin-bottom: 0;
}

.ctaWithImage__description p {
  line-height: 1.6;
}

@media screen and (min-width: 800px) {
  .ctaWithImage {
    min-height: 350px;
  }

  .ctaWithImage__content {
    padding: 105px 0;
  }

  .ctaWithImage__image {
    position: absolute;
    width: 120%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }

  .ctaWithImage__wrapper {
    flex-direction: row;
  }

  .ctaWithImage__imageWrapper {
    position: absolute;
    width: 200%;
    height: 140%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }

  .ctaWithImage__imageWrapper::after {
    display: block;
  }

  .ctaWithImage__imageAndCta {
    width: 50%;
    min-width: 50%;
    margin-left: 0;
    margin-right: 0;
  }
}

.designGear {
  padding: 75px 0;
}

.designGear__wrapper {
  display: flex;
  flex-direction: row;
}

.designGear__title {
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

.designGear__introduction p,
.designGear__introduction li,
.designGear__introduction a {
  font-size: 1.125rem;
  line-height: 1.6;
}

.designGear__introduction > *:last-child {
  margin-bottom: 0;
}

.designGear__introductionWrapper {
  margin-bottom: 1.6rem;
}

.designGear__gearContainer {
  width: 585px;
  height: 575px;
  position: relative;
}

.designGear__gearContainer::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-bottom: 25px solid transparent;
  /* left arrow slant */
  border-top: 25px solid transparent;
  /* right arrow slant */
  border-left: 25px solid #fff;
  /* bottom, add background color here */
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 246px;
  left: -20px;
  z-index: 1;
}

.designGear__bigGearWrapper {
  position: relative;
  width: 534px;
  height: 534px;
  transition: transform 2000ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.designGear__bigGear {
  width: 534px;
}

.designGear__smallGear {
  width: 290px;
  pointer-events: none;
}

.designGear__gearLink {
  position: absolute;
  top: 257px;
  left: -2px;
  width: calc(100% - 223px);
  padding-right: 33%;
  padding-left: 20px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  transform-origin: center;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.designGear__gearLink:hover {
  color: #649d79;
}

.designGear__gearLink.-two {
  transform: rotate(51.4285714286deg);
  top: 166px;
  left: 38px;
}

.designGear__gearLink.-three {
  transform: rotate(102.8571428571deg);
  top: 132px;
  left: 129px;
}

.designGear__gearLink.-four {
  transform: rotate(154.2857142857deg);
  top: 194px;
  left: 229px;
}

.designGear__gearLink.-five {
  transform: rotate(205.7142857143deg);
  top: 318px;
  left: 224px;
}

.designGear__gearLink.-six {
  transform: rotate(257.1428571429deg);
  top: 381px;
  left: 135px;
}

.designGear__gearLink.-seven {
  transform: rotate(308.5714285714deg);
  top: 346px;
  left: 27px;
}

.designGear__triangleOverlay {
  position: absolute;
  top: 173px;
  left: -1px;
  opacity: 0.6;
  width: 280px;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.designGear__smallGear {
  position: absolute;
  top: 117px;
  left: 123px;
  transform-origin: center;
  transition: transform 3000ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.designGear__littleGearWords {
  position: absolute;
  top: 114px;
  left: 120px;
  width: 301px;
  pointer-events: none;
}

.designGear__designProcess {
  position: absolute;
  top: -13px;
  left: 0;
  width: 575px;
  pointer-events: none;
}

.designGear__descriptionsIntro {
  font-size: 1.33333rem;
  padding: 1.6rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
  margin-bottom: 0.5rem;
}

.designGear__descriptions {
  width: calc(100% - 585px);
}

.designGear__descriptionItem {
  display: none;
}

.designGear__descriptionText > *:last-child {
  margin-bottom: 0;
}

.designGear__descriptionItem.-displayed {
  display: block;
}

.designGear__descriptionsContainer {
  background-color: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
  padding: 1.6rem;
  margin-right: 1rem;
}

.designGear__descriptionTitle {
  margin: 0;
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  color: #3d684f;
  font-weight: bold;
}

.designGear__descriptionText {
  font-size: 1rem;
}

.designGear__navList {
  margin: 0;
  list-style-type: none;
  padding-left: 0;
}

.designGear__listItem {
  display: inline;
}

.designGear__listLink {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.designGear__listLink:hover,
.designGear__listLink:focus,
.designGear__listLink.-active {
  color: #3e3e3e;
}

.designGear__listItem::after {
  content: "|";
  color: #3e3e3e;
  margin: 0 5px;
}

.designGear__listItem:last-child::after {
  display: none;
}

.designGear__nav {
  margin-bottom: 1.5rem;
}

@media (max-width: 991.98px) {
  .designGear {
    padding: 30px 0;
  }

  .designGear__gearContainer {
    display: none;
  }

  .designGear__descriptions {
    width: 100%;
  }

  .designGear__introduction p,
  .designGear__introduction li,
  .designGear__introduction a {
    font-size: 1rem;
    line-height: 1.4;
  }

  .designGear__descriptionText {
    font-size: 1.125rem;
  }
}

.fancyAccordion {
  --_accordion-target-height: var(--accordion-target-height, auto);
  --_accordion-closed-height: var(--accordion-closed-height, auto);
  --_accordion-background-image: var(--accordion-background-image, none);
  -webkit-appearance: none;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 38.64%, rgba(0, 0, 0, 0) 99.61%), linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), var(--_accordion-background-image) lightgray 50%/cover no-repeat;
  background-color: var(--_accordion-background-color);
  transition-property: box-shadow, height;
  transition-duration: 300ms;
  transition-timing-function: ease-in;
  height: var(--_accordion-target-height);
  transform-origin: top;
  overflow: hidden;
  position: relative;
  border-top: 1px solid white;
}

.fancyAccordion summary::-webkit-details-marker {
  display: none;
}

@media screen and (min-width: 800px) {
  .fancyAccordion::after {
    content: "";
    width: 43vw;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: transparent;
    transition: background-color 300ms ease;
    z-index: 0;
  }
}

@media screen and (min-width: 1440px) {
  .fancyAccordion::after {
    width: calc(((100vw - 1220px) / 2) + (1220px / 12 * 5));
  }
}

.fancyAccordion__summary {
  cursor: pointer;
  padding-block: 1.75rem;
  list-style: none;
  z-index: 1;
  position: relative;
}

.fancyAccordion__summaryContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fancyAccordion__summaryHeading {
  color: white;
  transition: opacity 300ms ease;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 400;
  margin: 0;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__summaryHeading {
    -webkit-margin-start: 12.5%;
            margin-inline-start: 12.5%;
  }
}

.fancyAccordion__iconWrapper {
  aspect-ratio: 1;
  block-size: 40px;
  position: relative;
  transition: background-color 0.25s ease;
  /* Create the "+" shape by positioning the spans absolutely */
}

.fancyAccordion__iconWrapper span {
  content: "";
  position: absolute;
  transition: 300ms;
  background: white;
}

.fancyAccordion__iconWrapper span:first-child {
  top: 25%;
  bottom: 25%;
  width: 8%;
  left: 45%;
}

.fancyAccordion__iconWrapper span:last-child {
  left: 25%;
  right: 25%;
  height: 8%;
  top: 45%;
}

.fancyAccordion__secondaryIconWrapper {
  aspect-ratio: 1;
  width: 100px;
  aspect-ratio: 1;
  height: auto;
  background-color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -85px;
  opacity: 0;
  transition: opacity 300ms ease;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__secondaryIconWrapper {
    position: unset;
    grid-column: 1/span 2;
    grid-row: 1;
    width: 50%;
    -webkit-margin-start: 6%;
            margin-inline-start: 6%;
  }
}

@media screen and (min-width: 1024px) {
  .fancyAccordion__secondaryIconWrapper {
    -webkit-margin-before: -10%;
            margin-block-start: -10%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
}

@media (min-width: 1250px) {
  .fancyAccordion__secondaryIconWrapper {
    width: 115px;
  }
}

.fancyAccordion__secondaryIconWrapper svg {
  width: 60%;
  height: auto;
}

.fancyAccordion__grid {
  display: grid;
  grid-template-columns: auto;
  gap: 4.5rem;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__grid {
    gap: 0.875rem;
    grid-template-columns: repeat(12, 1fr);
  }
}

.fancyAccordion__content {
  padding: 2.25rem 0 3.375rem;
  z-index: 1;
  position: relative;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__content {
    padding: 2.25rem 0 4.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .fancyAccordion__content {
    padding: 2.25rem 0 9rem;
  }
}

.fancyAccordion__headerContent {
  grid-column: 1;
  grid-row: 1;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__headerContent {
    grid-column: 2/7;
    grid-row: 1/span 2;
    padding-right: 1rem;
    -webkit-margin-start: 12.5%;
            margin-inline-start: 12.5%;
  }
}

@media screen and (min-width: 1024px) {
  .fancyAccordion__headerContent {
    grid-column: 2/6;
    padding-right: 0;
  }
}

.fancyAccordion__heading {
  margin-top: auto;
  margin-bottom: clamp(1.125rem, 1vw, 2.25rem);
  font-size: clamp(2rem, 3vw, 2.5rem);
  flex-grow: 1;
  color: white;
  font-weight: 400;
  line-height: 85%;
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 300ms ease, transform 400ms ease;
  line-height: 100%;
}

.fancyAccordion__subHeading {
  display: block;
  font-weight: 300;
  margin-top: 0.5rem;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
}

.fancyAccordion__headerText {
  opacity: 0;
  transform: translateY(100px);
  transition: transform 500ms ease;
}

.fancyAccordion__headerText p {
  color: white;
  font-size: clamp(1rem, 2vw, 1.125rem);
}

.fancyAccordion__secondPanel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__secondPanel {
    grid-column: 8/13;
    grid-row: 1/span 2;
    gap: 4.5rem;
  }
}

.fancyAccordion__secondPanel::after {
  content: "";
  width: 100vw;
  height: calc(100% + 5.625rem);
  position: absolute;
  right: -15px;
  top: -2rem;
  background-color: transparent;
  transition: background-color 300ms ease;
  z-index: -1;
}

.fancyAccordion__imageGrid {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__imageGrid {
    width: calc(100% + 20%);
    -webkit-margin-start: -20%;
            margin-inline-start: -20%;
    gap: 1.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .fancyAccordion__imageGrid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.fancyAccordion__image {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 100%;
  opacity: 0;
  transition: opacity 300ms ease;
}

.fancyAccordion__image:nth-child(3) {
  display: none;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__image {
    transform: translateX(100px);
    transition: opacity 300ms ease, transform 500ms ease;
  }

  .fancyAccordion__image:nth-child(1) {
    transition-duration: 550ms;
  }

  .fancyAccordion__image:nth-child(2) {
    transition-duration: 650ms;
  }
}

@media screen and (min-width: 1024px) {
  .fancyAccordion__image:nth-child(3) {
    display: block;
    transition-duration: 750ms;
  }
}

.fancyAccordion__footerContent {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media screen and (min-width: 800px) {
  .fancyAccordion__footerContent {
    grid-template-columns: repeat(12, 1fr);
    grid-column: 8/13;
    padding-inline: 2rem 1rem;
    opacity: 0;
    transition: opacity 300ms ease, transform 600ms ease;
    transform: translateY(100px);
  }
}

.fancyAccordion__footerHeading {
  font-size: 1.5rem;
}

.fancyAccordion__cta {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.fancyAccordion.-fadeIn .fancyAccordion__summaryHeading {
  opacity: 0;
}

.fancyAccordion.-fadeIn .fancyAccordion__secondaryIconWrapper {
  opacity: 1;
}

.fancyAccordion.-fadeIn .fancyAccordion__heading,
.fancyAccordion.-fadeIn .fancyAccordion__headerText {
  opacity: 1;
  transform: translateY(0);
}

.fancyAccordion.-fadeIn .fancyAccordion__image {
  opacity: 1;
}

@media screen and (min-width: 800px) {
  .fancyAccordion.-fadeIn .fancyAccordion__footerContent,
  .fancyAccordion.-fadeIn .fancyAccordion__image {
    opacity: 1;
    transform: translateY(0);
  }
}

.fancyAccordion[data-accordion-open] {
  --accordion-shadow-color: hsl(0 0% 0% / 0.1);
  --accordion-box-shadow: 0 var(--size-1) var(--size-3) 0px var(--_accordion-shadow-color);
  --accordion-icon-background-color: var(--color-neutral-200);
  --accordion-icon-rotation: 180deg;
  --accordion-icon-y-offset: 0.125rem;
}

.fancyAccordion[data-accordion-open] .fancyAccordion__summary {
  height: var(--_accordion-closed-height);
}

.fancyAccordion[data-accordion-open] .fancyAccordion__secondPanel::after {
  background-color: #f3f3f3;
}

@media screen and (min-width: 800px) {
  .fancyAccordion[data-accordion-open]::after {
    background-color: #f3f3f3;
  }

  .fancyAccordion[data-accordion-open] .fancyAccordion__secondPanel::after {
    background-color: transparent;
  }
}

.fancyAccordion[data-accordion-open] > .fancyAccordion__accordionSummary .fancyAccordion__iconWrapper,
.fancyAccordion[open] > .fancyAccordion__summary .fancyAccordion__iconWrapper {
  /* Morph the shape when the button is hovered over */
}

.fancyAccordion[data-accordion-open] > .fancyAccordion__accordionSummary .fancyAccordion__iconWrapper span,
.fancyAccordion[open] > .fancyAccordion__summary .fancyAccordion__iconWrapper span {
  transform: rotate(90deg);
}

@media screen and (min-width: 800px) {
  .fancyAccordion[data-accordion-open] > .fancyAccordion__accordionSummary .fancyAccordion__iconWrapper span,
  .fancyAccordion[open] > .fancyAccordion__summary .fancyAccordion__iconWrapper span {
    background-color: #3d684f;
  }
}

.fancyAccordion[data-accordion-open] > .fancyAccordion__accordionSummary .fancyAccordion__iconWrapper span:last-child,
.fancyAccordion[open] > .fancyAccordion__summary .fancyAccordion__iconWrapper span:last-child {
  left: 50%;
  right: 50%;
}

.fancyAccordions.js-homepage-accordion {
  --accordion-motion-scaleY: 0;
  position: relative;
}

.fancyAccordions.js-homepage-accordion .fancyAccordion:first-of-type {
  position: unset;
}

@media screen and (min-width: 1024px) {
  .fancyAccordions.js-homepage-accordion .fancyAccordion:first-of-type::before {
    content: "";
    top: calc(var(--accordion-top) * -1);
    width: 11px;
    height: calc(var(--accordion-line-height) - 1rem);
    background-color: #F5B210;
    display: block;
    border-radius: 0 0 7px 7px;
    position: absolute;
    left: calc(((100vw - 30px) / 12 / 2 ) + 5.5px);
    transition: transform 5000ms ease;
    transform-origin: top;
    transform: scaleY(var(--accordion-motion-scaleY));
    z-index: 1;
  }
}

@media (min-width: 1250px) {
  .fancyAccordions.js-homepage-accordion .fancyAccordion:first-of-type::before {
    left: calc(((100vw - 1220px) / 2 + ((1220px / 12) / 2)) + 5.5px);
  }
}

.featuredProjectDetails {
  margin-bottom: 3rem;
}

.featuredProjectDetails__featuredProjectDetail:last-child .featuredProjectDetail__wrapper::after {
  display: none;
}

@media screen and (min-width: 1024px) {
  .featuredProjectDetails {
    margin-bottom: 7rem;
  }
}

.featuredEntries {
  padding: 30px 0;
}

.featuredEntries__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 27px;
}

.featuredEntries__workSample {
  margin: 0 15px;
  margin-bottom: 30px;
  width: calc(100% - 30px);
}

@media screen and (min-width: 800px) {
  .featuredEntries {
    padding: 80px 0 125px;
  }

  .featuredEntries__title {
    margin-bottom: 30px;
  }

  .featuredEntries__workSample {
    width: calc(50% - 30px);
    min-height: 345px;
  }
}

@media screen and (min-width: 1024px) {
  .featuredEntries__workSample {
    width: calc(33.3333% - 30px);
  }
}

.featuredOurWork {
  background-color: #f8f8f8;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
}

.featuredOurWork .itemList__wrapper {
  grid-template-columns: repeat(auto-fit, minmax(325px, 1fr));
}

.featuredProjectDetail__imageWrapper {
  position: relative;
  overflow: hidden;
  height: 340px;
  margin-bottom: 2rem;
}

.featuredProjectDetail__image {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.featuredProjectDetail__description {
  margin-bottom: 2rem;
}

.featuredProjectDetail__title {
  margin-bottom: 10px;
  color: #3e3e3e;
  line-height: 2.9rem;
  font-size: clamp(1.5rem, 3vw, 2.66667rem);
}

.featuredProjectDetail__location {
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.featuredProjectDetail__location::before {
  content: "\F3C5";
  margin-right: 0.5rem;
  color: #3d684f;
}

.featuredProjectDetail__wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 30px 0;
}

.featuredProjectDetail__wrapper > * {
  z-index: 3;
  position: relative;
}

.featuredProjectDetail__wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: calc(100% + 600px);
  left: -300px;
  box-shadow: 0 0 70px rgba(0, 0, 0, 0.1);
  border-bottom-left-radius: 230%;
  border-bottom-right-radius: 230%;
  z-index: 1;
  height: 100px;
}

.featuredProjectDetail__wrapper::before {
  content: "";
  position: absolute;
  bottom: 0;
  height: calc(100% - 100px);
  width: 20000px;
  left: -10000px;
  background-color: #fff;
  z-index: 2;
}

@media screen and (min-width: 1024px) {
  .featuredProjectDetail {
    min-height: 400px;
  }

  .featuredProjectDetail__wrapper {
    flex-direction: row;
    padding: 70px 0;
  }

  .featuredProjectDetail__imageWrapper {
    height: auto;
    margin-bottom: 0;
  }

  .featuredProjectDetail__imageWrapper,
  .featuredProjectDetail__content {
    width: 50%;
  }

  .featuredProjectDetail__content {
    padding-left: 60px;
  }
}

.featuredProjectsSlider {
  --mobile-slide-image-height: 300px;
}

.featuredProjectsSlider__slide {
  display: flex;
  flex-direction: column;
  background-color: #3d684f;
}

@media screen and (min-width: 900px) {
  .featuredProjectsSlider__slide {
    flex-direction: row;
  }
}

.featuredProjectsSlider__mediaWrapper {
  height: var(--mobile-slide-image-height);
  position: relative;
}

@media screen and (min-width: 900px) {
  .featuredProjectsSlider__mediaWrapper {
    width: 50%;
    height: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .featuredProjectsSlider__mediaWrapper {
    width: 60%;
  }
}

.featuredProjectsSlider__media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
}

.featuredProjectsSlider__content {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  color: white;
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  z-index: 1;
  color: white;
  height: calc(100% - var(--mobile-slide-image-height));
}

.featuredProjectsSlider__content::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml,<svg class="diamonds" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 918 1115" fill="none"><g style="mix-blend-mode:overlay" opacity="0.12"><path d="M375.582 392.147L136.013 633.648L375.582 875.15L615.151 633.648L375.582 392.147Z" fill="url(%23paint0_linear_19_96)" fill-opacity="0.8" /><path style="mix-blend-mode:screen" opacity="0.6" d="M314.722 392.147L75.1532 633.648L314.722 875.15L554.292 633.648L314.722 392.147Z" fill="url(%23paint1_linear_19_96)" /><path style="mix-blend-mode:screen" opacity="0.6" d="M434.997 875.154L676.499 1114.72L918 875.154L676.499 635.585L434.997 875.154Z" fill="url(%23paint2_linear_19_96)" /><path style="mix-blend-mode:screen" opacity="0.6" d="M182.865 875.154L424.366 1114.72L665.868 875.154L424.366 635.585L182.865 875.154Z" fill="url(%23paint3_linear_19_96)" fill-opacity="0.6" /><path style="mix-blend-mode:screen" opacity="0.6" d="M219.569 633.643L459.138 392.142L219.569 150.641L-20.0001 392.142L219.569 633.643Z" fill="url(%23paint4_linear_19_96)" fill-opacity="0.5" /><path style="mix-blend-mode:screen" opacity="0.6" d="M615.156 483.668L854.725 242.167L615.156 0.665527L375.587 242.167L615.156 483.668Z" fill="url(%23paint5_linear_19_96)" fill-opacity="0.8" /></g><defs><linearGradient id="paint0_linear_19_96" x1="407.975" y1="633.648" x2="887.113" y2="633.648" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint1_linear_19_96" x1="347.116" y1="0.66559" x2="826.254" y2="0.66559" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint2_linear_19_96" x1="676.499" y1="842.761" x2="676.499" y2="363.623" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint3_linear_19_96" x1="424.366" y1="842.761" x2="424.366" y2="363.623" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint4_linear_19_96" x1="219.569" y1="391.966" x2="219.569" y2="928.162" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint5_linear_19_96" x1="615.156" y1="241.99" x2="615.156" y2="778.187" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient></defs></svg>');
  width: 100%;
  background-repeat: no-repeat;
  height: 150%;
  width: 150%;
  z-index: 0;
  left: -55%;
  top: -5%;
  opacity: 0.6;
  z-index: -1;
}

@media screen and (min-width: 576px) {
  .featuredProjectsSlider__content::before {
    left: 0%;
  }
}

@media screen and (min-width: 900px) {
  .featuredProjectsSlider__content::before {
    left: -55%;
  }
}

@media screen and (min-width: 900px) {
  .featuredProjectsSlider__content {
    width: 50%;
    height: auto;
    padding: 4rem 4rem 5rem;
  }
}

@media screen and (min-width: 1200px) {
  .featuredProjectsSlider__content {
    width: 40%;
    max-width: 600px;
    padding: 4rem 6rem 6rem;
  }
}

.featuredProjectsSlider__eyebrow,
.featuredProjectsSlider__title,
.featuredProjectsSlider__text,
.featuredProjectsSlider__tagLink {
  color: inherit;
}

.featuredProjectsSlider__eyebrow {
  font-family: var(--root-font-family);
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
}

@media screen and (min-width: 800px) {
  .featuredProjectsSlider__eyebrow {
    margin-bottom: 3rem;
  }
}

.featuredProjectsSlider__tagLink:hover {
  color: #d5ebde;
}

.featuredProjectsSlider__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.featuredProjectsSlider .splide__arrows {
  width: 100%;
  position: absolute;
  top: 150px;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  padding: 0 1rem;
}

@media screen and (min-width: 900px) {
  .featuredProjectsSlider .splide__arrows {
    padding: 0;
    width: auto;
    top: 3.75rem;
    right: 2rem;
  }
}

.featuredProjectsSlider .splide__arrow {
  position: unset;
  transform: none;
}

.featuredProjectsSlider .splide__arrow::hover {
  background: #1E412D;
}

.featuredServices {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  height: 500px;
  background: #fff;
  position: relative;
  z-index: 3;
}

.featuredServices__service {
  margin-right: 0px;
  margin-bottom: 5px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: width 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredServices__service::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200%;
  z-index: 1;
  transition: height 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.8));
}

.featuredServices__ctaWrapper {
  position: absolute;
  bottom: 23px;
  left: 39px;
  z-index: 2;
  transition: bottom 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.featuredServices__cta {
  font-size: 1.57rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: #fff;
  text-decoration: none;
  display: block;
}

.featuredServices__cta:hover::after {
  margin-left: 20px;
}

.featuredServices__cta::after {
  font-weight: 500;
  font-size: 1.3rem;
  margin-left: 10px;
  transition: margin-left 1000ms cubic-bezier(0.075, 0.82, 0.165, 1);
  content: "\F178";
}

.featuredServices__spotlight {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding-left: 40px;
  position: relative;
  display: none;
}

.featuredServices__spotlight:hover::after {
  margin-left: 10px;
}

.featuredServices__spotlight::before {
  content: "\F005";
  position: absolute;
  top: 2px;
  left: 0;
  color: #fad540;
  font-size: 1.3rem;
}

.featuredServices__spotlight::after {
  font-weight: 500;
  font-size: 0.875rem;
  margin-left: 4px;
  transition: margin-left 1000ms cubic-bezier(0.075, 0.82, 0.165, 1);
  content: "\F178";
}

.featuredServices__spotlight span {
  display: block;
  font-size: 0.675rem;
  color: #7b7b7b;
  text-transform: uppercase;
  line-height: 6px;
}

.featuredServices__serviceTitle {
  font-size: 1.335rem;
  font-weight: 700;
  position: absolute;
  text-align: right;
  width: auto;
  transition: bottom 500ms cubic-bezier(0.075, 0.82, 0.165, 1), transform 500ms cubic-bezier(0.075, 0.82, 0.165, 1), opacity 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 1;
  color: #fff;
  bottom: 0;
  right: 40px;
  z-index: 2;
  display: none;
}

.featuredServices__serviceTitle::after {
  content: "";
  display: block;
  height: 57px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-top: 7px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

.featuredServices__serviceTitle.-construction::after {
  background-image: url("/img/icons/heroconstruction.png");
  width: 53px;
}

.featuredServices__serviceTitle.-masonry::after {
  background-image: url("/img/icons/heromasonry.png");
  width: 44px;
}

.featuredServices__serviceTitle.-design::after {
  background-image: url("/img/icons/herodesign.png");
  width: 50px;
}

.featuredServices__serviceTitle.-real-estate::after {
  background-image: url("/img/icons/herohandshake.png");
  width: 55px;
}

@media screen and (min-width: 576px) {
  .featuredServices {
    height: 600px;
  }

  .featuredServices__service {
    width: calc(50% - 2.5px);
    margin-bottom: 5px;
  }

  .featuredServices__service:nth-child(odd) {
    margin-right: 5px;
  }

  .featuredServices__spotlight {
    display: block;
  }
}

@media screen and (min-width: 1024px) {
  .featuredServices {
    height: 575px;
    max-height: 575px;
    flex-wrap: nowrap;
  }

  .featuredServices__ctaWrapper {
    bottom: -100%;
  }

  .featuredServices__cta {
    margin-bottom: 40px;
  }

  .featuredServices:hover .featuredServices__serviceTitle {
    bottom: 50px;
    transform: translateY(0);
  }

  .featuredServices:hover .featuredServices__service::after {
    height: 500%;
  }

  .featuredServices__serviceTitle {
    bottom: 50%;
    transform: translateY(50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    width: 117px;
    display: block;
  }

  .featuredServices__serviceTitle::after {
    margin: 0 auto;
  }

  .featuredServices__service {
    width: 100%;
    margin-right: 5px;
    margin-bottom: 0;
  }

  .featuredServices__service:hover {
    width: 310%;
  }

  .featuredServices__service:hover .featuredServices__serviceTitle {
    bottom: 50%;
    transform: translateY(50%);
    opacity: 0;
  }

  .featuredServices__service:hover::after {
    height: 25% !important;
  }

  .featuredServices__service:hover .featuredServices__ctaWrapper {
    bottom: 39px;
  }

  .featuredServices__service:last-child {
    margin-right: 0;
  }
}

.fiveColumnIcons {
  padding: 3rem 0;
}

.fiveColumnIcons__header {
  max-width: 570px;
  margin-bottom: 3.8rem;
}

.fiveColumnIcons__sectionHeader {
  color: #fff;
}

.fiveColumnIcons__introduction > * {
  font-size: 1.125rem;
  color: #fff;
}

.fiveColumnIcons__columnWrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 3rem;
}

.fiveColumnIcons__iconWrapper {
  max-height: 85px;
  height: 70px;
  margin-bottom: 1rem;
}

.fiveColumnIcons__icon {
  height: 100%;
  margin-inline: auto;
}

.fiveColumnIcons__column {
  text-align: center;
}

.fiveColumnIcons__columnTitle,
.fiveColumnIcons__columnText > * {
  color: #fff;
  font-size: 1.125rem;
}

.fiveColumnIcons__columnTitle {
  margin-bottom: 0.8rem;
  font-weight: bold;
  line-height: 150%;
}

.fiveColumnIcons__columnText > * {
  line-height: 1.35;
}

.fiveColumnIcons__columnText > *:last-child {
  margin-bottom: 0;
}

.fiveColumnIcons__button {
  margin-top: 2.1rem;
}

.fiveColumnIcons.-greenBricks,
.fiveColumnIcons.-blackBricks {
  background: url("/img/patterns/bricktexture.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.fiveColumnIcons.-greenBricks {
  background-image: url("/img/patterns/bricktexture.jpg");
}

.fiveColumnIcons.-blackBricks {
  background-image: url("/img/patterns/bricktextureblack.jpg");
}

.fiveColumnIcons.-white .fiveColumnIcons__sectionHeader,
.fiveColumnIcons.-white .fiveColumnIcons__introduction > *,
.fiveColumnIcons.-white .fiveColumnIcons__columnTitle,
.fiveColumnIcons.-white .fiveColumnIcons__columnText > * {
  color: #3e3e3e;
}

.fiveColumnIcons.-fade {
  position: relative;
  overflow: hidden;
}

.fiveColumnIcons.-fade .fiveColumnIcons__sectionHeader,
.fiveColumnIcons.-fade .fiveColumnIcons__introduction > *,
.fiveColumnIcons.-fade .fiveColumnIcons__columnTitle,
.fiveColumnIcons.-fade .fiveColumnIcons__columnText > * {
  color: #3e3e3e;
}

.fiveColumnIcons.-fade::before {
  content: "";
  display: block;
  position: absolute;
  top: -40px;
  left: -30px;
  width: calc(100% + 60px);
  height: 30px;
  box-shadow: 0 15px 80px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 800px) {
  .fiveColumnIcons {
    padding: 6rem 0;
  }

  .fiveColumnIcons.-emphasize {
    padding: 12rem 0 6rem;
  }

  .fiveColumnIcons.-emphasize .fiveColumnIcons__columnTitle {
    font-size: 2rem;
  }

  .fiveColumnIcons__introduction > * {
    font-size: 1.125rem;
    line-height: 1.4;
  }
}

@media screen and (min-width: 1024px) {
  .fiveColumnIcons {
    padding: 6rem 0;
  }
}

.formWithContent__wrapper {
  display: flex;
  flex-direction: column;
}

.formWithContent__form {
  padding: 2rem 15px;
  margin-left: -15px;
  margin-right: -15px;
  background-color: #f8f8f8;
}

.formWithContent__form h2,
.formWithContent__form h3 {
  color: #3e3e3e;
  line-height: 2.9rem;
  color: #3e3e3e;
  margin-bottom: 1.5rem;
  font-size: clamp(1.5rem, 3vw, 2.66667rem);
}

@media screen and (min-width: 800px) {
  .formWithContent__wrapper {
    flex-direction: row;
  }

  .formWithContent__content {
    width: 60%;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-top: 2rem;
  }

  .formWithContent__form {
    width: 40%;
    padding-left: 2rem;
    padding: 3rem 0;
    padding-left: 2rem;
    margin-left: 0;
    margin-right: 0;
    position: relative;
  }

  .formWithContent .breadCrumbNav {
    margin-top: -2rem;
  }

  .formWithContent__form::after {
    content: "";
    display: block;
    position: absolute;
    width: 9999px;
    background-color: #f8f8f8;
    right: -9999px;
    height: 100%;
    top: 0;
  }
}

.fullWidthStats {
  background-color: #d5ebde;
}

.fullWidthStats__stats {
  --stat-gap: 2rem;
  background-color: transparent;
  padding-inline: 0;
  flex-direction: column;
}

@media screen and (min-width: 800px) {
  .fullWidthStats__stats {
    flex-direction: row;
  }
}

@media screen and (min-width: 1024px) {
  .fullWidthStats__stats {
    --stat-gap: 4rem;
    -webkit-padding-start: calc(100% / 12);
            padding-inline-start: calc(100% / 12);
  }
}

@media screen and (min-width: 1200px) {
  .fullWidthStats__stats .stats__stat {
    display: flex;
    gap: 1rem;
    text-align: left;
    align-items: end;
    flex-direction: row;
  }
}

.fullWidthStats__stats .stats__numberWrapper {
  display: flex;
  justify-content: center;
}

.fullWidthStats__stats .stats__statNumber {
  color: #3d684f;
  line-height: 0.75;
  font-size: 80px;
  letter-spacing: normal;
}

@media screen and (min-width: 1200px) {
  .fullWidthStats__stats .stats__statNumber {
    font-size: 80px;
    margin-bottom: 0;
  }
}

.fullWidthStats__stats .stats__statLabel {
  letter-spacing: normal;
  line-height: 1.2;
  font-size: clamp(1.125rem, 2vw, 1.25px);
  max-width: 25ch;
  margin: auto;
}

@media screen and (min-width: 1024px) {
  .fullWidthStats__stats .stats__statLabel {
    margin: 0;
  }
}

.hero {
  position: relative;
  padding: 50px 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.hero::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero__caption {
  max-width: 560px;
  margin: 0 auto;
  background: #3d684f;
  padding: 1.7rem 1.8rem;
  margin-bottom: -8.1rem;
}

.hero__captionTitle {
  font-size: 1.125rem;
  margin-bottom: 0.7rem;
  font-weight: bold;
}

.hero__captionTitle,
.hero__captionBody * {
  color: #fff;
}

.hero__captionBody > *:last-child {
  margin-bottom: 0;
}

.hero__title {
  max-width: 870px;
  color: #fff;
}

.hero__subtitle {
  max-width: 650px;
}

.hero__subtitle p,
.hero__subtitle * {
  color: #fff;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.hero__subtitle p:last-child {
  margin-bottom: 0;
}

.hero__iconJumpNav {
  padding-top: 57px;
}

.hero.-stacked {
  padding: 0;
}

.hero.-stacked .hero__imageWrapper {
  height: 300px;
}

.hero.-stacked .hero__background {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.hero.-stacked::after {
  display: none;
}

.hero.-stacked .hero__title {
  font-weight: normal;
  color: #3e3e3e;
}

@media screen and (min-width: 576px) {
  .hero.-stacked .hero__title {
    max-width: 75%;
  }
}

@media screen and (min-width: 800px) {
  .hero.-stacked .hero__textWrapper {
    max-width: 66.6666666667%;
  }
}

.hero.-stacked .hero__text {
  font-size: 1rem;
  line-height: 150%;
}

.hero.-stacked.-twoColumn .hero__content {
  display: flex;
  gap: 1.5rem;
  flex-direction: column-reverse;
}

@media screen and (min-width: 800px) {
  .hero.-stacked.-twoColumn .hero__content {
    flex-direction: row;
  }
}

@media screen and (min-width: 800px) {
  .hero.-stacked.-twoColumn .hero__textWrapper {
    max-width: 50%;
  }
}

@media screen and (min-width: 576px) {
  .hero.-stacked.-twoColumn .hero__title {
    max-width: 75%;
  }
}

@media screen and (min-width: 576px) {
  .hero.-stacked.-twoColumn .hero__text {
    max-width: unset;
  }
}

@media screen and (min-width: 800px) {
  .hero.-stacked.-twoColumn .hero__columnImageWrapper {
    max-width: 50%;
  }

  .hero.-stacked.-twoColumn .hero__columnImageWrapper picture {
    width: calc((1250px - 24px) / 2);
    max-width: 100%;
    display: block;
  }
}

.hero.-stacked.-twoColumn .hero__image {
  max-width: 100%;
  width: 100%;
}

.hero.-stacked.-twoColumn .hero__title,
.hero.-stacked.-twoColumn .hero__text {
  max-width: 100%;
}

.hero.-stacked + .-faintLinesBackgroundMediumDensity,
.hero.-stacked + .-faintLinesBackground {
  overflow: visible;
}

.hero:has(+ .hoverCardGrid) .hero__content {
  padding-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .hero:has(+ .hoverCardGrid) .hero__content {
    padding-bottom: 3rem;
  }
}

.hero.-condense .hero__wrapper {
  max-width: 1005px;
  margin: 0 auto;
}

.hero.-condense .hero__title {
  max-width: 650px;
}

.hero.-emphasized {
  margin-bottom: 5.3rem;
}

.hero.-emphasized .hero__wrapper {
  margin-bottom: 14.2rem;
}

.hero.-hasIconJumpNav {
  padding-bottom: 0;
}

.hero.-mediaOnly {
  padding: 0;
  min-height: 300px;
  position: -webkit-sticky;
  position: sticky;
  z-index: -1;
  top: 0;
}

.hero.-mediaOnly .hero__background {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.hero.-mediaOnly.-video {
  aspect-ratio: 16/9;
  min-height: 0;
}

@media screen and (min-width: 800px) {
  .hero.-mediaOnly {
    min-height: 450px;
  }
}

@media screen and (min-width: 1024px) {
  .hero.-mediaOnly {
    min-height: 600px;
  }
}

.hero.-mediaOnly::after {
  display: none;
}

@media screen and (min-width: 800px) {
  .hero {
    padding: 104px 0;
  }

  .hero.-emphasized {
    margin-bottom: 2.3rem;
  }
}

.hero.-emphasized + .breadCrumbNav {
  padding-top: 75px;
  margin-top: -2.1rem;
}

.heroSlider {
  position: relative;
  height: 210px;
}

.heroSlider__galleryView {
  position: absolute;
  top: 41%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 50%;
  background-color: #137CB9;
  transition: background-color 125ms cubic-bezier(0.075, 0.82, 0.165, 1);
  cursor: pointer;
}

.heroSlider__galleryView::before {
  content: "\F00E";
  font-weight: 500;
  font-size: 1.4rem;
  color: #fff;
}

.heroSlider__galleryView:hover {
  background-color: #158cd0;
}

.heroSlider__next,
.heroSlider__prev {
  position: absolute;
  display: block;
  top: 50%;
  z-index: 2;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 125ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.heroSlider__next::after,
.heroSlider__prev::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
  transform-origin: center;
  transition: background-color 125ms cubic-bezier(0.075, 0.82, 0.165, 1);
  background-color: #137CB9;
  z-index: 1;
}

.heroSlider__next::before,
.heroSlider__prev::before {
  position: relative;
  color: #fff;
  font-weight: 300;
  font-size: 1.3rem;
  z-index: 2;
}

.heroSlider__next:hover::after,
.heroSlider__prev:hover::after {
  background-color: #158cd0;
}

.heroSlider__next {
  right: 20px;
  transform: translateY(-50%);
}

.heroSlider__next::before {
  content: "\F054";
  padding-left: 7px;
}

.heroSlider__prev {
  left: 20px;
  transform: translateY(-50%);
}

.heroSlider__prev::before {
  content: "\F053";
  padding-right: 20px;
  margin-left: -5px;
}

.heroSlider__sliderNav {
  position: absolute;
  display: block;
  margin: 0 auto;
  bottom: 16px;
  left: 0;
  right: 0;
  z-index: 2;
}

.heroSlider__sliderNavList {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.heroSlider__sliderNavButton {
  width: 17px;
  height: 17px;
  padding: 0;
  background-color: #000;
  border: 4px solid #000;
  border-radius: 50%;
}

.heroSlider__sliderNavButton.-active {
  background-color: #fad540;
}

.heroSlider__sliderNavList li {
  margin-right: 5px;
}

.heroSlider__sliderNavList li:last-child {
  margin-right: 0;
}

.heroSlider__sliderWrapper,
.heroSlider__slide,
.heroSlider__sliderWrapper > div,
.heroSlider__sliderWrapper > div > div {
  height: 100%;
}

.heroSlider__slide {
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.heroSlider__slide::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.heroSlider__title {
  position: absolute;
  top: 28%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  transform: translateY(-50%);
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
}

@media screen and (min-width: 576px) {
  .heroSlider {
    height: 400px;
  }

  .heroSlider__galleryView {
    top: 58%;
  }

  .heroSlider__next,
  .heroSlider__prev {
    width: 50px;
    height: 50px;
  }

  .heroSlider__prev::before {
    margin-left: 0;
  }

  .heroSlider__next::before {
    padding-left: 20px;
  }

  .heroSlider__next::before,
  .heroSlider__prev::before {
    font-size: 1.7rem;
  }

  .heroSlider__title {
    font-size: 2rem;
    top: 50%;
  }
}

@media screen and (min-width: 1024px) {
  .heroSlider {
    height: 570px;
  }

  .heroSlider__next,
  .heroSlider__prev {
    width: 80px;
    height: 80px;
  }

  .heroSlider__next {
    right: 75px;
  }

  .heroSlider__prev {
    left: 75px;
  }

  .heroSlider__next::before,
  .heroSlider__prev::before {
    font-size: 2.7rem;
  }

  .heroSlider__title {
    font-size: 3.325rem;
  }
}

.heroWithMediaBackground {
  position: relative;
}

.heroWithMediaBackground::before {
  content: "";
  position: absolute;
  top: 0;
  background: linear-gradient(357deg, rgba(62, 62, 62, 0) 20%, #3E3E3E 97.79%);
  background-size: 100% 40%;
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
}

.heroWithMediaBackground__media img,
.heroWithMediaBackground__media video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
  mix-blend-mode: multiply;
}

.heroWithMediaBackground__content {
  --padding-top: 15rem;
  gap: 0.75rem;
  padding: var(--padding-top) 0 3rem;
}

@media screen and (min-width: 800px) {
  .heroWithMediaBackground__content {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
}

@media screen and (min-width: 1200px) {
  .heroWithMediaBackground__content {
    padding: var(--padding-top) 0 7rem;
  }
}

.heroWithMediaBackground__content::after {
  content: "";
  background-color: #3e3e3e;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% - var(--padding-top));
  z-index: -1;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media screen and (min-width: 800px) {
  .heroWithMediaBackground__content::after {
    -webkit-clip-path: polygon(0 0, 35% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 35% 0, 100% 100%, 0% 100%);
    height: 100%;
    width: 80%;
  }
}

.heroWithMediaBackground__heading,
.heroWithMediaBackground__text {
  color: white;
}

.heroWithMediaBackground__heading {
  grid-column: 1;
  margin: 1.6rem 0;
}

@media screen and (min-width: 800px) {
  .heroWithMediaBackground__heading {
    grid-column: 1/7;
    padding-right: 3rem;
  }
}

.heroWithMediaBackground__text {
  grid-column: 1;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  margin: 0;
  font-weight: 300;
}

@media screen and (min-width: 800px) {
  .heroWithMediaBackground__text {
    grid-column: 1/7;
  }
}

@media screen and (min-width: 1024px) {
  .heroWithMediaBackground__text {
    --motion-scaleY: 0;
    grid-column: 2/7;
    position: relative;
  }

  .heroWithMediaBackground__text::after {
    top: 0;
    content: "";
    width: 11px;
    height: calc(var(--hero-line-height) + 50px);
    background-color: #F5B210;
    display: block;
    border-radius: 7px;
    position: absolute;
    left: -3rem;
    transition: 1000ms ease;
    transition-delay: 2s;
    transform-origin: top;
    transform: scaleY(var(--motion-scaleY));
    z-index: 2;
  }
}

.historyTimeline {
  overflow: hidden;
  position: relative;
  background-color: #f8f8f8;
}

.historyTimeline__title {
  font-size: 3.5rem;
  margin-bottom: 0;
}

.historyTimeline__moment {
  padding: 30px 0;
}

.historyTimeline__moments .historyTimeline__moment:nth-child(even) {
  background-color: #fff;
}

.historyTimeline__momentWrapper {
  display: flex;
  flex-direction: column;
}

.historyTimeline__photoWrapper {
  width: 100%;
  margin-bottom: 1rem;
}

.historyTimeline__photo {
  width: 100%;
}

.historyTimeline__info {
  width: 100%;
}

.historyTimeline__year {
  padding: 1.8rem 3.1rem;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 400;
  background-color: #329772;
  display: inline-block;
  margin-top: 0;
  margin-bottom: 1.9rem;
}

.historyTimeline__momentTitle {
  font-size: 2rem;
  margin-top: 0;
  margin-bottom: 0.4rem;
  color: #3e3e3e;
  line-height: 1.3;
}

.historyTimeline__description p {
  font-size: 1.2rem;
  line-height: 1.5;
}

@media screen and (min-width: 800px) {
  .historyTimeline__momentWrapper {
    flex-direction: row;
  }

  .historyTimeline__moment {
    padding: 75px 0;
  }

  .historyTimeline__photoWrapper {
    width: 50%;
    padding-right: 35px;
    margin-bottom: 0;
  }

  .historyTimeline__info {
    width: 50%;
    padding-left: 35px;
    padding-right: 35px;
    padding-right: 173px;
  }
}

.hoverCardGrid__grid {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 1024px) {
  .hoverCardGrid__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 1.5rem;
  }
}

.iconCardSection {
  color: #3e3e3e;
}

.iconCardSection__header {
  margin-bottom: 2.5rem;
  color: inherit;
}

@media screen and (min-width: 800px) {
  .iconCardSection__header {
    max-width: 66%;
  }
}

.iconCardSection__heading {
  color: inherit;
}

.iconCardSection__text {
  margin-bottom: 0;
  color: inherit;
}

.iconCardSection__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 2.5rem;
}

.iconCardSection.-darkBackground {
  background-color: #3e3e3e;
  color: white;
}

.iconCardSection.-darkBackground .card {
  color: white;
}

.iconCardSection.-darkBackground .card__heading {
  color: #f5b211;
}

.imageGridWithContent {
  background: left 0/auto 100% no-repeat url("/img/backgrounds/faintlines.svg");
  padding-block: 1.75rem 3.33rem;
}

@media screen and (min-width: 1024px) {
  .imageGridWithContent {
    padding-block: 3rem 4rem;
    background: 70vw 25%/100% no-repeat url("/img/backgrounds/faintlines.svg"), -64vw -58%/100% no-repeat url("/img/backgrounds/faintlines.svg");
    mix-blend-mode: multiply;
  }
}

@media screen and (min-width: 1200px) {
  .imageGridWithContent {
    padding-block: 4.7rem 11.3rem;
  }
}

@media screen and (min-width: 1024px) {
  .imageGridWithContent__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }
}

@media screen and (min-width: 1200px) {
  .imageGridWithContent__grid {
    gap: 6rem;
  }
}

.imageGridWithContent__imageGrid {
  --grid-spacing: 1.5rem;
  display: grid;
  grid-template-columns: auto var(--grid-spacing) auto;
  grid-template-rows: var(--grid-spacing) auto var(--grid-spacing) var(--grid-spacing) auto var(--grid-spacing) var(--grid-spacing);
  position: relative;
}

@media screen and (min-width: 800px) {
  .imageGridWithContent__imageGrid {
    --grid-spacing: 3rem;
  }
}

@media screen and (min-width: 1440px) {
  .imageGridWithContent__imageGrid {
    width: calc(100% + 4rem);
    -webkit-margin-start: -4rem;
            margin-inline-start: -4rem;
  }
}

.imageGridWithContent__imageGrid::after {
  content: "";
  background-color: #3d684f;
  width: 100vw;
  height: 75%;
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: -15px;
}

@media screen and (min-width: 1024px) {
  .imageGridWithContent__imageGrid::after {
    width: 90%;
    mix-blend-mode: multiply;
  }
}

@media (min-width: 1250px) {
  .imageGridWithContent__imageGrid::after {
    width: calc(90% + ((100vw - 1250px) / 2));
    left: calc((((100vw - 1250px) / 2) * -1) - 15px);
  }
}

.imageGridWithContent__image {
  max-width: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  z-index: 1;
  aspect-ratio: 1;
  transform: translateY(100px);
  opacity: 0;
}

.imageGridWithContent__image.-flyUp {
  transform: translateY(0);
  opacity: 1;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 450ms;
}

.imageGridWithContent__image.-flyUp:nth-child(3),
.imageGridWithContent__image.-flyUp:nth-child(4) {
  transition-delay: 0.75s;
}

@media (prefers-reduced-motion) {
  .imageGridWithContent__image {
    transform: translateY(0);
    opacity: 1;
  }
}

.imageGridWithContent__image:nth-child(1) {
  grid-area: 1/1/3/2;
}

.imageGridWithContent__image:nth-child(2) {
  grid-area: 2/3/4/4;
}

.imageGridWithContent__image:nth-child(3) {
  grid-area: 4/1/6/1;
}

.imageGridWithContent__image:nth-child(4) {
  grid-area: 5/3/7/3;
}

.imageGridWithContent__content {
  -webkit-padding-before: 3.15rem;
          padding-block-start: 3.15rem;
  transform: translateY(100px);
  opacity: 0;
}

.imageGridWithContent__content.-flyUp {
  transform: translateY(0);
  opacity: 1;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 450ms;
  transition-delay: 0.5s;
}

@media (prefers-reduced-motion) {
  .imageGridWithContent__content {
    transform: translateY(0);
    opacity: 1;
  }
}

.imageGridWithContent__text {
  font-size: clamp(1rem, 2vw, 1.125rem);
  margin-bottom: clamp(1.5rem, 1vw, 2rem);
  width: 90%;
  max-width: 600px;
  color: #3e3e3e;
  line-height: 150%;
}

.imageGridWithContent__ctaWrapper {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.imageGridWithSlider {
  --image-slider-row-gap: 2rem;
  --image-slider-column-gap: 1.5rem;
  --image-slider-row-gap-subtractor: calc((var(--image-slider-row-gap) * 2) / 3);
  background-color: white;
}

.imageGridWithSlider__grid {
  display: grid;
  grid-template-columns: repeat(2, calc(50% - (var(--image-slider-column-gap) / 2)));
  row-gap: var(--image-slider-row-gap);
  -moz-column-gap: var(--image-slider-column-gap);
       column-gap: var(--image-slider-column-gap);
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__grid {
    height: clamp(400px, 75vw, 900px);
    grid-template-columns: calc(41.5% - (var(--image-slider-column-gap) / 2)) calc(58.5% - (var(--image-slider-column-gap) / 2));
    grid-template-rows: calc(42% - (var(--image-slider-row-gap-subtractor))) calc(14% - (var(--image-slider-row-gap-subtractor))) calc(44% - (var(--image-slider-row-gap-subtractor)));
  }
}

.imageGridWithSlider__imageWrapper {
  border: none;
  padding: 0;
  cursor: pointer;
}

.imageGridWithSlider__imageWrapper:nth-child(1) {
  grid-area: 1/1/1/1;
}

.imageGridWithSlider__imageWrapper:nth-child(2) {
  grid-area: 1/2/1/2;
}

.imageGridWithSlider__imageWrapper:nth-child(3) {
  grid-area: 2/1/2/1;
}

.imageGridWithSlider__imageWrapper:nth-child(4) {
  grid-area: 2/2/2/2;
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__imageWrapper:nth-child(1) {
    grid-row: 1/3;
  }

  .imageGridWithSlider__imageWrapper:nth-child(2) {
    grid-row: 1/2;
  }

  .imageGridWithSlider__imageWrapper:nth-child(3) {
    grid-row: 3/4;
  }

  .imageGridWithSlider__imageWrapper:nth-child(4) {
    grid-row: 2/4;
    grid-column: 2;
  }
}

.imageGridWithSlider__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.imageGridWithSlider__modalOpen {
  padding: 0.75rem;
  margin: 1rem;
  background-color: rgba(62, 62, 62, 0.5);
  grid-row: 2;
  grid-column: 2;
  align-self: end;
  justify-self: end;
  display: grid;
  grid-template-columns: 1rem auto;
  gap: 0.5rem;
  cursor: pointer;
  border: none;
  position: relative;
  align-items: center;
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__modalOpen {
    grid-row: 3;
    grid-column: 2;
    padding: 1rem 1.25rem;
  }
}

.imageGridWithSlider__modalOpen .imageGridWithSlider__count {
  color: white;
}

.imageGridWithSlider__modalOpen::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.imageGridWithSlider__modalOpenIcon {
  width: 1rem;
}

.imageGridWithSlider__modal {
  width: 90vw;
  aspect-ratio: 3/2;
  margin: auto;
  border: none;
  padding: 1rem;
  overflow: visible;
}

.imageGridWithSlider__modal::-webkit-backdrop {
  background-color: #858585;
  mix-blend-mode: multiply;
}

.imageGridWithSlider__modal::backdrop {
  background-color: #858585;
  mix-blend-mode: multiply;
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__modal {
    width: 80vw;
  }
}

@media screen and (min-width: 1024px) {
  .imageGridWithSlider__modal {
    width: 85vw;
  }
}

.imageGridWithSlider__modalHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 1rem;
  width: calc(100% - 2rem);
}

.imageGridWithSlider__caption {
  display: none;
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__caption {
    display: block;
    width: 90%;
    margin: 0;
  }
}

.imageGridWithSlider__count {
  display: block;
  color: #3e3e3e;
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider__count {
    margin-left: auto;
  }
}

.imageGridWithSlider__modalClose {
  background-color: transparent;
  border: none;
  position: absolute;
  top: 1.1rem;
  right: 1rem;
  z-index: 2;
}

.imageGridWithSlider .splide__slide img,
.imageGridWithSlider__modalClose img {
  vertical-align: inherit;
}

.imageGridWithSlider .splide,
.imageGridWithSlider .splide__list,
.imageGridWithSlider .splide__track {
  height: 100%;
}

.imageGridWithSlider .splide__arrow {
  background: #3d684f;
  opacity: 1;
  top: calc(100% + 2.5em);
  transition: opacity 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider .splide__arrow {
    top: 50%;
  }
}

.imageGridWithSlider .splide__arrow svg {
  fill: white;
}

.imageGridWithSlider .splide__arrow:hover {
  opacity: 0.85;
}

.imageGridWithSlider .splide__arrow--next {
  right: calc(50% - 2.5em);
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider .splide__arrow--next {
    right: -4rem;
  }
}

.imageGridWithSlider .splide__arrow--prev {
  left: calc(50% - 2.5em);
}

@media screen and (min-width: 800px) {
  .imageGridWithSlider .splide__arrow--prev {
    left: -4rem;
  }
}

.imageGridWithSlider .splide__pagination {
  display: none;
}

.imageGridWithSlider__modalImageWrapper {
  position: relative;
  aspect-ratio: 3/2;
}

.imageGridWithSlider:has(+ .iconCardSection.-lightBackground) {
  padding-bottom: 0;
}

.imageWithText__wrapper {
  display: flex;
  flex-direction: column;
}

.imageWithText__text,
.imageWithText__image {
  width: 100%;
}

.imageWithText__imageTag {
  width: 100%;
}

.imageWithText__image > * {
  max-width: 100%;
}

.imageWithText__text {
  margin-bottom: 32px;
}

.imageWithText__text p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.imageWithText__text figure {
  margin-left: 0;
  margin-right: 0;
}

.imageWithText__text img {
  max-width: 100%;
}

.imageWithText__text a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.imageWithText__text a:not(.button):hover,
.imageWithText__text a:not(.button):focus {
  color: #3e3e3e;
}

.imageWithText__ctaWrapper {
  margin-top: 32px;
}

.imageWithText__caption > p {
  size: 1rem;
}

.imageWithText.-mediumGrayBackground {
  background-color: #f1f1f1;
}

.imageWithText.-emphasize {
  position: relative;
}

.imageWithText.-compressed .imageWithText__sectionHeading {
  margin-bottom: 2rem;
}

.imageWithText.-compressed .imageWithText__heading {
  font-weight: 600;
  color: #3e3e3e;
}

.imageWithText.-compressed + .imageWithText {
  padding-top: 0;
}

.imageWithText.-compressed .imageWithText__text p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 800px) {
  .imageWithText__wrapper {
    flex-direction: row;
    gap: 32px;
  }

  .imageWithText__text,
  .imageWithText__imageWrapper {
    width: calc(50% - 16px);
  }

  .imageWithText__text {
    margin-bottom: 0;
  }

  .imageWithText.-reverse .imageWithText__text {
    order: 2;
  }

  .imageWithText.-reverse .imageWithText__imageWrapper {
    order: 1;
  }

  .imageWithText.-emphasize {
    overflow: hidden;
  }

  .imageWithText.-emphasize .imageWithText__imageWrapper {
    position: absolute;
    top: 0;
    width: calc(100vw / 2);
    height: 100%;
    margin: 0;
  }

  .imageWithText.-emphasize .imageWithText__image {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
  }

  .imageWithText.-emphasize .imageWithText__text {
    padding: 2rem 0;
  }

  .imageWithText.-emphasize .imageWithText__text p,
  .imageWithText.-emphasize .imageWithText__text li {
    font-size: 1.125rem;
  }

  .imageWithText.-emphasize .imageWithText__text p {
    margin-bottom: 0.5rem;
  }

  .imageWithText.-emphasize .imageWithText__text ul {
    margin-top: 0;
  }

  .imageWithText.-emphasize .imageWithText__text li {
    margin-bottom: 0.5rem;
  }

  .imageWithText.-emphasize .imageWithText__text > *:last-child {
    margin-bottom: 0;
  }

  .imageWithText.-emphasize:not(.-reverse) .imageWithText__imageWrapper {
    right: 0;
  }

  .imageWithText.-emphasize:not(.-reverse) .imageWithText__text {
    padding-right: 80px;
  }

  .imageWithText.-emphasize.-reverse .imageWithText__imageWrapper {
    left: 0;
  }

  .imageWithText.-emphasize.-reverse .imageWithText__text {
    padding-left: 80px;
    margin-left: auto;
  }

  .imageWithText.-compressed + .imageWithText {
    padding-top: 1.5rem;
  }

  .imageWithText.-compressed .imageWithText__sectionHeading {
    max-width: 50%;
  }

  .imageWithText.-compressed .imageWithText__wrapper {
    gap: 3rem;
  }

  .imageWithText.-compressed .imageWithText__imageWrapper {
    width: 50%;
  }

  .imageWithText.-compressed .imageWithText__image {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .imageWithText.-compressed .imageWithText__text {
    margin-block: auto;
    width: calc(50% - 3rem);
  }
}

@media screen and (min-width: 1024px) {
  .imageWithText.-compressed .imageWithText__imageWrapper {
    height: 270px;
  }
}

.informationSlider {
  background-color: #f8f8f8;
}

.informationSlider__wrapper {
  display: flex;
  flex-direction: column;
}

.informationSlider__content {
  background-color: #f8f8f8;
  padding: 6rem 1rem 4rem 1rem;
}

.informationSlider__contentWrapper {
  max-width: 625px;
}

.informationSlider__images {
  overflow: hidden;
  position: relative;
  min-height: 400px;
}

.informationSlider__introduction > * {
  font-size: 1.125rem;
}

.informationSlider__introduction > *:last-child {
  margin-bottom: 0;
}

.informationSlider__image {
  position: absolute;
  top: 0;
  left: -9999px;
  right: -9999px;
  margin: 0 auto;
  min-width: 100%;
  min-height: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.informationSlider__slider {
  margin-top: 3rem;
  position: relative;
  z-index: 1;
  background-color: #fff;
  padding: 1.3rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin-right: 2rem;
  margin-bottom: 1.8rem;
}

.informationSlider__slide {
  opacity: 0;
  transition: opacity 1000ms;
  height: 100%;
  width: calc(100% - 2.5rem);
}

.informationSlider__slide.-active {
  opacity: 1;
}

.informationSlider__slider > div {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.informationSlider__slideTitle {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.informationSlider__slideText > *:last-child {
  margin-bottom: 0;
}

.informationSlider__navList {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.informationSlider__navListItem {
  line-height: 0;
}

.informationSlider__navButton,
.informationSlider__navButtonPrev,
.informationSlider__navButtonNext {
  background: none;
  border: none;
  cursor: pointer;
}

.informationSlider__navButton:hover::before,
.informationSlider__navButtonPrev:hover::before,
.informationSlider__navButtonNext:hover::before {
  color: #3e3e3e;
}

.informationSlider__navButtonPrev::before {
  content: "\F053";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 2rem;
}

.informationSlider__navButtonNext::before {
  content: "\F054";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 2rem;
}

.informationSlider__navButton.-active::before {
  color: #3e3e3e;
}

.informationSlider__navButton::before {
  content: "\F111";
  color: #137CB9;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 0.6rem;
  vertical-align: 2px;
}

.informationSlider.-greenBricks .informationSlider__content,
.informationSlider.-blackBricks .informationSlider__content {
  background-image: url("/img/patterns/bricktexture.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.informationSlider.-greenBricks .informationSlider__title,
.informationSlider.-greenBricks .informationSlider__introduction *,
.informationSlider.-blackBricks .informationSlider__title,
.informationSlider.-blackBricks .informationSlider__introduction * {
  color: #fff;
}

.informationSlider.-greenBricks .informationSlider__navButton.-active::before,
.informationSlider.-blackBricks .informationSlider__navButton.-active::before {
  color: #fff;
}

.informationSlider.-greenBricks .informationSlider__content {
  background-image: url("/img/patterns/bricktexture.jpg");
}

.informationSlider.-blackBricks .informationSlider__content {
  background-image: url("/img/patterns/bricktextureblack.jpg");
}

@media screen and (min-width: 1024px) {
  .informationSlider__wrapper {
    flex-direction: row;
    justify-content: space-between;
  }

  .informationSlider__content {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    justify-content: flex-end;
    padding: 6rem 0 4rem 1rem;
  }

  .informationSlider__images {
    width: calc(50% - 30px);
    min-width: calc(50% - 30px);
  }

  .informationSlider__nav {
    transform: translateX(12.1rem);
  }

  .informationSlider__slider {
    transform: translateX(12.1rem);
  }
}

.instagramFeed {
  padding: 30px 0 0;
}

.instagramFeed__header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 30px;
}

.instagramFeed__title {
  margin: 0;
}

.instagramFeed .socialList__socialLink::before {
  font-size: 1.1rem;
}

.instagramFeed .socialList__socialItem:last-child .socialList__socialLink {
  margin-right: 0;
}

.instagramFeed__postList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.instagramFeed__post {
  width: calc(100% - 30px);
  margin: 0 15px 30px;
  position: relative;
  overflow: hidden;
}

.instagramFeed__post img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center;
  transform: scale(1);
  transition: transform 250ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.instagramFeed__post:hover img {
  transform: scale(1.05);
}

.instagramFeed__post::before {
  content: "";
  display: block;
  padding-top: 100%;
}

@media screen and (min-width: 800px) {
  .instagramFeed__header {
    flex-direction: row;
  }

  .instagramFeed__post {
    width: calc(50% - 30px);
  }
}

@media screen and (min-width: 1024px) {
  .instagramFeed {
    padding: 95px 0 80px;
  }

  .instagramFeed__post {
    width: calc(25% - 30px);
  }
}

.introSection {
  background-color: white;
}

.introSection__header {
  margin: 0 0 1rem 0;
  font-size: clamp(2rem, 4vw, 3rem);
}

.introSection__tagList {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 800px) {
  .introSection__tagList {
    margin-bottom: 2.5rem;
  }
}

.introSection__grid {
  --grid-gap: 1.5rem;
  --grid-columns: calc(25% - (var(--grid-gap) / 4));
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
}

@media screen and (min-width: 800px) {
  .introSection__grid {
    display: grid;
    grid-template-columns: repeat(4, calc(25% - ((var(--grid-gap) * 3) / 4)));
    grid-gap: var(--grid-gap);
  }
}

@media screen and (min-width: 800px) {
  .introSection__grid {
    grid-template-columns: repeat(3, calc(33% - ((var(--grid-gap) * 2) / 3)));
  }
}

@media screen and (min-width: 1024px) {
  .introSection__grid {
    grid-template-columns: repeat(4, calc(25% - ((var(--grid-gap) * 3) / 4)));
  }
}

@media screen and (min-width: 800px) {
  .introSection__richText {
    grid-column: 1/span 2;
    padding-right: 2rem;
  }
}

@media screen and (min-width: 1024px) {
  .introSection__richText {
    grid-column: 1/span 3;
    padding-right: 4rem;
  }
}

@media screen and (min-width: 800px) {
  .introSection__info {
    grid-column: 3;
  }
}

@media screen and (min-width: 1024px) {
  .introSection__info {
    grid-column: 4;
  }
}

.introSection__listHeading {
  color: #3e3e3e;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.875rem;
}

.introSection__list {
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem;
  color: #3e3e3e;
  font-weight: 600;
  -webkit-margin-before: 0.25rem;
          margin-block-start: 0.25rem;
}

.introWithLargeGraphic {
  overflow: hidden;
  position: relative;
}

.introWithLargeGraphic__grid {
  display: grid;
  row-gap: 2rem;
}

.introWithLargeGraphic__graphicWrapper {
  margin-inline: 1rem;
}

.introWithLargeGraphic__graphic {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.introWithLargeGraphic__text ul {
  list-style: none;
}

.introWithLargeGraphic__text li::before {
  content: url('data:image/svg+xml,<svg viewBox="0 0 17 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.3984 0.453613C16.8555 0.875488 16.8555 1.61377 16.3984 2.03564L7.39844 11.0356C6.97656 11.4927 6.23828 11.4927 5.81641 11.0356L1.31641 6.53564C0.859375 6.11377 0.859375 5.37549 1.31641 4.95361C1.73828 4.49658 2.47656 4.49658 2.89844 4.95361L6.58984 8.64502L14.8164 0.453613C15.2383 -0.00341797 15.9766 -0.00341797 16.3984 0.453613Z" fill="%234F8062"/></svg>');
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 0.5rem;
}

@media screen and (min-width: 1024px) {
  .introWithLargeGraphic::before {
    content: "";
    background: no-repeat url("/img/backgrounds/faintlines-light-density.svg");
    position: absolute;
    width: 150%;
    height: 150%;
    top: 250px;
    left: 20vw;
    mix-blend-mode: multiply;
    opacity: 0.75;
  }

  .introWithLargeGraphic:has(+ .iconCardSection) {
    z-index: 0;
    overflow: visible;
  }

  .introWithLargeGraphic__header {
    width: 50%;
  }

  .introWithLargeGraphic__graphicWrapper {
    margin-top: -250px;
  }
}

@media screen and (min-width: 1200px) {
  .introWithLargeGraphic {
    position: relative;
  }

  .introWithLargeGraphic__header {
    grid-area: 1/1/1/1;
    z-index: 1;
  }

  .introWithLargeGraphic__graphicWrapper {
    grid-area: 1/1/1/1;
    margin: 0;
  }
}

.itemList {
  padding-bottom: 50px;
}

.itemList__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 18px;
  margin-bottom: 2rem;
}

@media screen and (min-width: 800px) {
  .itemList__wrapper {
    margin-bottom: 4rem;
  }
}

.itemList__workSample,
.itemList__featuredWork {
  min-height: 300px;
}

@media screen and (min-width: 576px) {
  .itemList__workSample,
  .itemList__featuredWork {
    min-height: 350px;
  }
}

.itemList__featuredWork.-emphasized {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.itemList .featuredWork__description {
  font-size: 1rem;
}

.itemList .featuredWork__image {
  height: 258px;
}

.itemList.-shade {
  background-color: #f8f8f8;
}

.itemList.-compact {
  padding: 30px 0 0;
}

.itemList.-wideSpacing .itemList__wrapper {
  -moz-column-gap: 36px;
       column-gap: 36px;
  row-gap: 60px;
}

.itemList__introduction {
  margin-top: -1.4rem;
  margin-bottom: 2rem;
}

.itemList__introduction *:first-child {
  margin-top: 0;
}

.itemList__introduction *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 800px) {
  .itemList.-compact {
    padding: 50px 0 20px;
  }
}

.jobList__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.jobList__heading {
  margin-bottom: 0;
}

.jobList__filters {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}

@media screen and (min-width: 800px) {
  .jobList .itemList__wrapper {
    margin: 0;
  }
}

.jobList .select__label {
  margin-bottom: 0;
}

.layer {
  padding: 3rem 0;
  position: relative;
}

.layer.-shade {
  background-color: #f8f8f8;
}

.layer.-transparent {
  background-color: transparent;
}

.layer.-reducedPaddingMobile {
  padding: 1.5rem 0;
}

@media screen and (min-width: 800px) {
  .layer.-reducedPaddingMobile {
    padding: 3rem 0;
  }
}

.layer.-reducedPadding {
  padding: 1.5rem 0;
}

.layer .container {
  z-index: 10;
}

.leadership {
  padding: 2rem 0 0;
}

.leadership__title {
  font-size: 2rem;
  margin-bottom: 0.2rem;
}

.leadership__introduction {
  font-size: 1.125rem;
}

.leadership__introduction > *:last-child {
  margin-bottom: 0;
}

.leadership__introduction p {
  line-height: 1.4;
}

.leadership__introductionWrapper {
  max-width: 790px;
  margin-bottom: 85px;
}

.leadership__columns {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -70px;
  margin-right: -70px;
}

.leadership__column {
  width: calc(100% - 140px);
  margin: 0 70px;
  margin-bottom: 2.5rem;
  text-align: center;
}

.leadership__photo {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.leadership__photoWrapper {
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  margin-bottom: 1.6rem;
}

.leadership__photoWrapper::after {
  content: "";
  display: block;
  padding-top: 100%;
}

.leadership__name {
  font-size: 1.3885rem;
  margin-bottom: 0.3rem;
  margin-top: 0;
  color: #3d684f;
  font-weight: 700;
}

.leadership__position {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
  margin-top: 0;
}

.leadership__linkedin {
  text-decoration: none;
  font-size: 0;
}

.leadership__linkedin::before {
  content: "\F08C";
  font-size: 1.5rem;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  color: #3e3e3e;
}

.leadership__linkedin:hover::before {
  color: #3d684f;
}

@media screen and (min-width: 800px) {
  .leadership {
    padding: 7rem 0 2rem;
  }

  .leadership__column {
    width: calc(50% - 140px);
    margin: 0 70px;
    margin-bottom: 6rem;
  }
}

@media screen and (min-width: 1024px) {
  .leadership__column {
    width: calc(33.3333% - 140px);
    margin: 0 70px;
    margin-bottom: 6rem;
  }
}

.mobileNavigation__menuButton {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.mobileNavigation__menuButtonIcon {
  width: 2rem;
  height: 1rem;
  color: #3d684f;
}

.mobileNavigation__panel {
  display: none;
  flex-direction: column;
  background-color: white;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-shadow: 0 1rem 2rem 0 rgba(0, 0, 0, 0.1);
  transform: translateX(-100%);
  transition: transform 150ms ease-out;
  z-index: 1000;
  overflow: scroll;
}

.mobileNavigation__panel.-subnav .mobileNavigation__trigger {
  font-weight: 400;
}

.mobileNavigation__panel .mobileNavigation__panel {
  right: 0;
}

.mobileNavigation__panel[aria-hidden=false] {
  display: flex;
}

.mobileNavigation__panel--active {
  transform: translateX(0);
}

.mobileNavigation__heading {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  font-size: 1rem;
  font-weight: 400;
  padding: 0.5rem 1rem;
  border-bottom: 2px solid lightgray;
  margin-bottom: 0;
  text-align: center;
}

.mobileNavigation__headingText {
  align-self: center;
  grid-column: 2/3;
  font-family: var(--root-font-family);
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
}

.mobileNavigation__list {
  list-style: none;
  padding: 0 0 1rem;
}

.mobileNavigation__list.-twoColumn {
  -moz-column-count: 2;
       column-count: 2;
  padding: 1rem;
}

.mobileNavigation__list.-twoColumn .mobileNavigation__trigger {
  padding: 0;
  font-weight: 400;
}

.mobileNavigation__back {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: unset;
  margin: 0;
  padding: 0;
  grid-column: 1/2;
  justify-self: start;
  grid-row: 1;
}

.mobileNavigation__back .mobileNavigation__triggerIcon {
  transform: rotate(180deg);
}

.mobileNavigation__close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: unset;
  margin: 0;
  padding: 0;
  grid-column: 3/4;
  justify-self: end;
  grid-row: 1;
}

.mobileNavigation__close .mobileNavigation__triggerIconWrapper {
  background-color: transparent;
}

.mobileNavigation__close .mobileNavigation__triggerIcon {
  height: 1.5rem;
  width: auto;
}

.mobileNavigation__trigger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: unset;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  cursor: pointer;
  width: 100%;
  color: #3e3e3e;
  padding: 0.5rem 1rem;
  line-height: 2;
  font-weight: 600;
}

.mobileNavigation__triggerIconWrapper {
  display: grid;
  align-items: center;
  justify-content: center;
  margin: -0.25rem 0rem;
  background-color: #f2f2f2;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}

.mobileNavigation__triggerIcon {
  --icon-fill-color: blue;
  width: 0.75rem;
  height: 1.25rem;
}

.mobileNavigation__column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem 1rem;
}

.mobileNavigation__column.-featuredColumn {
  height: 100%;
  background: #3d684f;
  color: white;
  grid-column: 1/3;
}

.mobileNavigation__column.-featuredColumn .mobileNavigation__columnTitle {
  color: white;
  font-family: var(--root-font-family);
  padding: 0;
}

.mobileNavigation__column.-featuredColumn .mobileNavigation__columnDescription > * {
  color: white;
  margin-bottom: 0;
  font-size: 0.875rem;
}

.mobileNavigation__column.-image {
  display: flex;
  align-items: center;
  flex-direction: row;
  padding: 0.5rem 1rem 0.5rem;
}

.mobileNavigation__column.-image:first-child {
  padding-top: 1rem;
}

.mobileNavigation__column.-image:last-child {
  padding-bottom: 1rem;
}

.mobileNavigation__column.-image .mobileNavigation__columnTitle {
  padding: 0;
}

.mobileNavigation__columnTitle {
  font-family: var(--root-font-family);
  font-size: 1rem;
  margin-bottom: 0;
  color: #3e3e3e;
  font-weight: 600;
  padding: 1rem;
}

.mobileNavigation__columnTitle:hover .mobileNavigation__linkIcon {
  transform: translateX(2px);
}

.mobileNavigation__columnImageWrapper {
  max-width: 100px;
}

.mobileNavigation__columnImage {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.mobileNavigation__footer {
  display: flex;
  list-style: none;
  width: 100%;
  padding: 0;
  margin-top: auto;
  margin-bottom: 0;
}

.mobileNavigation__footer .mobileNavigation__trigger {
  font-size: 0.875rem;
  font-weight: 400;
}

.ourWork {
  padding: 30px 0;
  background: #f8f8f8;
}

.ourWork__header {
  margin-bottom: 30px;
}

.ourWork__introduction > * {
  font-size: 1.125rem;
  line-height: 1.4;
  max-width: 570px;
}

.ourWork__wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.ourWork__workSample {
  margin-bottom: 30px;
  transform: scale(1.3);
  opacity: 0;
}

.ourWork.-rowsEven .ourWork__wrapper {
  flex-direction: row;
  height: auto;
  margin-left: -15px;
  margin-right: -15px;
}

@media screen and (min-width: 800px) {
  .ourWork__wrapper {
    height: 1530px;
  }

  .ourWork__workSample {
    width: calc(50% - 15px);
  }

  .ourWork__workSample:nth-child(even) {
    height: 345px;
  }

  .ourWork__workSample:nth-child(7) {
    height: 487px;
  }

  .ourWork__workSample:nth-child(1),
  .ourWork__workSample:nth-child(2),
  .ourWork__workSample:nth-child(3),
  .ourWork__workSample:nth-child(4),
  .ourWork__workSample:nth-child(5) {
    margin-right: 30px;
  }

  .ourWork.-rows .ourWork__wrapper {
    flex-direction: row;
    height: auto;
    margin-left: -15px;
    margin-right: -15px;
  }

  .ourWork.-rows .ourWork__workSample {
    height: 225px !important;
  }

  .ourWork.-rows .ourWork__workSample {
    margin-bottom: 0 !important;
    margin-right: 0 !important;
    height: 225px !important;
  }

  .ourWork.-rows .ourWork__workSample:nth-child(1),
  .ourWork.-rows .ourWork__workSample:nth-child(2),
  .ourWork.-rows .ourWork__workSample:nth-child(3),
  .ourWork.-rows .ourWork__workSample:nth-child(6),
  .ourWork.-rows .ourWork__workSample:nth-child(7),
  .ourWork.-rows .ourWork__workSample:nth-child(9),
  .ourWork.-rows .ourWork__workSample:nth-child(10) {
    width: calc(50% - 22.5px);
    margin: 0 15px;
    margin-bottom: 15px !important;
  }

  .ourWork.-rows .ourWork__workSample:nth-child(1),
  .ourWork.-rows .ourWork__workSample:nth-child(4),
  .ourWork.-rows .ourWork__workSample:nth-child(5),
  .ourWork.-rows .ourWork__workSample:nth-child(8),
  .ourWork.-rows .ourWork__workSample:nth-child(11),
  .ourWork.-rows .ourWork__workSample:nth-child(14),
  .ourWork.-rows .ourWork__workSample:nth-child(17) {
    width: calc(100% - 30px);
    margin: 0 15px;
    margin-bottom: 15px !important;
  }

  .ourWork.-rowsEven .ourWork__workSample {
    height: auto !important;
    width: calc(33.3333% - 30px);
    min-height: 0 !important;
    margin: 0 15px;
    margin-bottom: 30px !important;
  }

  .ourWork.-rowsEven .ourWork__workSample::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .ourWork {
    padding: 70px 0 138px;
  }

  .ourWork__wrapper {
    height: 1015px;
    margin-bottom: 60px;
  }

  .ourWork__workSample {
    width: calc(33.333% - 20px);
  }

  .ourWork__workSample:nth-child(1),
  .ourWork__workSample:nth-child(2),
  .ourWork__workSample:nth-child(3),
  .ourWork__workSample:nth-child(4),
  .ourWork__workSample:nth-child(5),
  .ourWork__workSample:nth-child(6) {
    margin-right: 30px;
  }

  .ourWork__workSample:nth-child(1),
  .ourWork__workSample:nth-child(3),
  .ourWork__workSample:nth-child(7),
  .ourWork__workSample:nth-child(9) {
    height: 345px;
  }

  .ourWork__workSample:nth-child(5) {
    height: 462px;
  }

  .ourWork__workSample:nth-child(even) {
    height: 225px;
  }

  .ourWork__header {
    margin-bottom: 75px;
  }

  .ourWork.-rows .ourWork__wrapper {
    height: auto;
  }

  .ourWork.-rows .ourWork__workSample {
    height: 225px !important;
  }

  .ourWork.-rows .ourWork__workSample:nth-child(1),
  .ourWork.-rows .ourWork__workSample:nth-child(2),
  .ourWork.-rows .ourWork__workSample:nth-child(3),
  .ourWork.-rows .ourWork__workSample:nth-child(6),
  .ourWork.-rows .ourWork__workSample:nth-child(7),
  .ourWork.-rows .ourWork__workSample:nth-child(10),
  .ourWork.-rows .ourWork__workSample:nth-child(11),
  .ourWork.-rows .ourWork__workSample:nth-child(14),
  .ourWork.-rows .ourWork__workSample:nth-child(15),
  .ourWork.-rows .ourWork__workSample:nth-child(18) {
    width: calc(33.333% - 30px);
    margin: 0 15px;
    margin-bottom: 15px !important;
  }

  .ourWork.-rows .ourWork__workSample:nth-child(1),
  .ourWork.-rows .ourWork__workSample:nth-child(4),
  .ourWork.-rows .ourWork__workSample:nth-child(5),
  .ourWork.-rows .ourWork__workSample:nth-child(8),
  .ourWork.-rows .ourWork__workSample:nth-child(9),
  .ourWork.-rows .ourWork__workSample:nth-child(12),
  .ourWork.-rows .ourWork__workSample:nth-child(13),
  .ourWork.-rows .ourWork__workSample:nth-child(16),
  .ourWork.-rows .ourWork__workSample:nth-child(17) {
    width: calc(66.6666% - 30px);
    margin: 0 15px;
    margin-bottom: 15px !important;
  }

  .ourWork.-rowsEven .ourWork__workSample {
    height: auto !important;
    width: calc(33.3333% - 30px);
    min-height: 0 !important;
    margin: 0 15px;
    margin-bottom: 30px !important;
  }

  .ourWork.-rowsEven .ourWork__workSample::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
}

.ourWorkGrid {
  padding: 30px 0;
  background: #f8f8f8;
}

.ourWorkGrid__header {
  margin-bottom: 30px;
}

.ourWorkGrid__introduction > * {
  font-size: 1.125rem;
  line-height: 1.4;
  max-width: 570px;
}

.ourWorkGrid__wrapper {
  display: grid;
  grid-template-rows: repeat(9, 228px);
  grid-gap: 30px;
  margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
  .ourWorkGrid__wrapper {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 15px));
    grid-template-rows: repeat(auto-fit, minmax(57px, 1fr));
    grid-gap: 30px;
  }

  .ourWorkGrid .workSample__item--1 {
    grid-column: 1/span 1;
    grid-row: 1/span 6;
  }

  .ourWorkGrid .workSample__item--2 {
    grid-row: 7/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--3 {
    grid-row: 19/span 8;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--4 {
    grid-row: 27/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--5 {
    grid-row: 39/span 9;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--6 {
    grid-column: 2/span 1;
    grid-row: 1/span 7;
  }

  .ourWorkGrid .workSample__item--7 {
    grid-row: 8/span 18;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--8 {
    grid-row: 27/span 12;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--9 {
    grid-row: 39/span 9;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--10 {
    grid-row: 48/span 8;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--11 {
    grid-row: 48/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--12 {
    grid-row: 56/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--13 {
    grid-row: 58/span 18;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--14 {
    grid-row: 68/span 8;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--15 {
    grid-row: 76/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--16 {
    grid-row: 76/span 10;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--17 {
    grid-row: 86/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--18 {
    grid-row: 86/span 10;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--19 {
    grid-row: 96/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--20 {
    grid-row: 96/span 10;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--21 {
    grid-row: 106/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--22 {
    grid-row: 106/span 10;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--23 {
    grid-row: 116/span 10;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--24 {
    grid-row: 116/span 10;
    grid-column: 1/span 1;
  }
}

@media screen and (min-width: 1024px) {
  .ourWorkGrid__wrapper {
    display: grid;
    grid-template-columns: repeat(3, calc(33.333% - 20px));
    grid-template-rows: repeat(auto-fit, minmax(114px, 1fr));
    grid-gap: 30px;
  }

  .ourWorkGrid .workSample__item--1 {
    grid-row: 1/span 9;
  }

  .ourWorkGrid .workSample__item--2 {
    grid-row: 10/span 9;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--3 {
    grid-row: 19/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--4 {
    grid-row: 1/span 5;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--5 {
    grid-row: 6/span 16;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--6 {
    grid-row: 22/span 9;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--7 {
    grid-row: 1/span 9;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--8 {
    grid-row: 10/span 9;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--9 {
    grid-row: 19/span 12;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--10 {
    grid-row: 31/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--11 {
    grid-row: 31/span 9;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--12 {
    grid-row: 31/span 12;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--13 {
    grid-row: 43/span 9;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--14 {
    grid-row: 40/span 15;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--15 {
    grid-row: 43/span 9;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--16 {
    grid-row: 52/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--17 {
    grid-row: 55/span 9;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--18 {
    grid-row: 52/span 12;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--19 {
    grid-row: 64/span 9;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--20 {
    grid-row: 64/span 9;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--21 {
    grid-row: 64/span 9;
    grid-column: 3/span 1;
  }

  .ourWorkGrid .workSample__item--22 {
    grid-row: 73/span 12;
    grid-column: 1/span 1;
  }

  .ourWorkGrid .workSample__item--23 {
    grid-row: 73/span 12;
    grid-column: 2/span 1;
  }

  .ourWorkGrid .workSample__item--24 {
    grid-row: 73/span 12;
    grid-column: 3/span 1;
  }
}

.projectGallery {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 6;
  transition: opacity 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
}

.projectGallery.-revealed {
  pointer-events: auto;
  opacity: 1;
}

.projectGallery__wrapper {
  height: 100%;
  width: 100%;
}

.projectGallery__wrapper img {
  max-width: 100vw;
  max-height: 100vh;
  transform: translateY(-50%);
}

.projectGallery__slide {
  text-align: center;
  padding-top: 50vh;
}

.projectGallery__next,
.projectGallery__prev,
.projectGallery__close {
  position: absolute;
  border: 0;
  background: none;
  cursor: pointer;
}

.projectGallery__next,
.projectGallery__prev {
  top: 50%;
  transform: translateY(-50%);
}

.projectGallery__next {
  right: 10px;
}

.projectGallery__prev {
  left: 10px;
}

.projectGallery__close {
  top: 20px;
  right: 20px;
}

.projectGallery__next::before,
.projectGallery__prev::before,
.projectGallery__close::before {
  color: #fff;
  font-weight: 300;
}

.projectGallery__close::before {
  font-size: 1.8rem;
}

.projectGallery__next::before,
.projectGallery__prev::before {
  font-size: 2.7rem;
}

.projectGallery__next::before {
  content: "\F105";
}

.projectGallery__prev::before {
  content: "\F104";
}

.projectGallery__close::before {
  content: "\F00D";
}

@media screen and (min-width: 576px) {
  .projectGallery__next {
    right: 50px;
  }

  .projectGallery__prev {
    left: 50px;
  }
}

.projectGrid {
  padding: 30px 0;
}

.projectGrid__wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
}

.projectGrid__item {
  flex: 0 0 49.5%;
  background-color: #FFF;
  cursor: pointer;
}

.projectGrid__image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  opacity: 1;
  transition: all 250ms;
}

.projectGrid__image:hover {
  opacity: 0.8;
}

@media screen and (min-width: 800px) {
  .projectGrid__item {
    flex: 0 0 33%;
  }
}

.relatedProjects {
  padding-top: 30px;
  margin-top: 70px;
  position: relative;
  overflow: hidden;
}

.relatedProjects::before {
  content: "";
  position: absolute;
  display: block;
  top: -50px;
  left: -25px;
  width: calc(100% + 50px);
  height: 10px;
  box-shadow: 0px 30px 20px rgba(0, 0, 0, 0.9);
  z-index: 1;
}

.relatedProjects__productFeature {
  margin-bottom: 3rem;
}

.relatedProjects__ctaWrapper {
  text-align: center;
}

.relatedProjects .itemList__title {
  margin-top: 2rem;
}

.-shade + .relatedProjects {
  margin-top: 0;
}

.serviceLists {
  padding: 25px 0;
}

.serviceLists__content {
  flex-grow: 1;
  padding-left: 15px;
}

.serviceLists__featuredPhoto {
  width: 100%;
  padding: 80px 0;
  opacity: 0;
  transform: translateY(100px);
  transition: transform 1s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.serviceLists__featuredPhoto.-revealed {
  transform: translateY(0);
  opacity: 1;
}

.serviceLists__list {
  list-style-type: none;
  margin: 0;
  padding-left: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.serviceLists__list ul {
  list-style-type: none;
}

.serviceLists__list li:first-child {
  margin-top: 11px;
}

.serviceLists__list li::before {
  content: "\B7";
  position: absolute;
  top: 0;
  left: -1rem;
  font-size: 1.7rem;
}

.serviceLists__list * {
  position: relative;
  margin-bottom: 9px;
  color: #fff;
  transition: color 250ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.serviceLists__photoWrapper {
  width: 300px;
  height: 300px;
  transform-origin: center;
}

.serviceLists__subService {
  position: relative;
  margin-bottom: 15px;
  padding: 25px;
  background-color: #3d684f;
  box-shadow: 0 0 0px rgba(0, 0, 0, 0);
  transition: background-color 250ms cubic-bezier(0.39, 0.575, 0.565, 1), box-shadow 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  cursor: pointer;
}

.serviceLists__subService.-opened {
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  cursor: auto;
}

.serviceLists__subService.-opened .serviceLists__list {
  max-height: 1000px;
}

.serviceLists__subService.-opened .serviceLists__list * {
  color: #000;
}

.serviceLists__subService.-opened .serviceLists__listItem {
  color: #3e3e3e;
  font-size: 1.125rem;
}

.serviceLists__subService.-opened .serviceLists__subServiceExpand {
  transform: rotate(90deg);
  pointer-events: auto;
}

.serviceLists__subService.-opened .serviceLists__subServiceExpand::before {
  color: #3d684f;
}

.serviceLists__subService.-opened .serviceLists__subserviceTitle {
  color: #3d684f;
}

.serviceLists__subService:hover {
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.serviceLists__subServiceExpand {
  position: absolute;
  top: 25px;
  right: 25px;
  padding: 0;
  background: none;
  border: none;
  transform-origin: center;
  transform: rotate(45deg);
  transition: transform 250ms cubic-bezier(0.39, 0.575, 0.565, 1);
  pointer-events: none;
  cursor: pointer;
}

.serviceLists__subServiceExpand::before {
  content: "\F00D";
  font-weight: 300;
  font-size: 25px;
  color: #fff;
}

.serviceLists__subService:hover .serviceLists__subServiceExpand::before {
  color: #3d684f;
}

.serviceLists__subserviceTitle {
  margin: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 400;
  transition: color 75ms cubic-bezier(0.39, 0.575, 0.565, 1);
}

.serviceLists__subService:hover .serviceLists__subserviceTitle {
  color: #3d684f;
}

.serviceLists__wrapper {
  display: flex;
  flex-direction: column;
}

.serviceLists.-flipped .serviceLists__featuredPhoto {
  order: 1;
  position: relative;
}

.serviceLists.-flipped .serviceLists__content {
  order: 2;
}

.serviceLists.-flipped .serviceLists__photoWrapper img {
  transform: rotate(45deg) scale(1.375);
}

.serviceLists.-shade {
  background: #f8f8f8;
}

.serviceLists.-noPhoto .serviceLists__content {
  padding-top: 0;
  padding-left: 0;
}

@media screen and (min-width: 1024px) {
  .serviceLists__content {
    padding-top: 50px;
  }

  .serviceLists__featuredPhoto {
    width: 570px;
    min-width: 570px;
    min-height: 988px;
    padding: 0;
  }

  .serviceLists__photoWrapper {
    width: 695px;
    height: 695px;
    transform-origin: top left;
  }

  .serviceLists__introductionWrapper {
    width: 50%;
    min-width: 50%;
    padding-right: 3rem;
  }

  .serviceLists__introduction {
    font-size: 1.125rem;
  }

  .serviceLists__wrapper {
    flex-direction: row;
  }

  .serviceLists.-noPhoto {
    padding: 5.5rem 0;
  }

  .serviceLists.-flipped .serviceLists__content {
    order: 1;
  }

  .serviceLists.-flipped .serviceLists__featuredPhoto {
    order: 2;
  }

  .serviceLists.-flipped .serviceLists__photoWrapper {
    transform-origin: top right;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 0;
  }

  .serviceLists.-flipped .serviceLists__photoWrapper img {
    transform: rotate(45deg) scale(1.375);
  }
}

.siteFooter__wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media screen and (min-width: 1200px) {
  .siteFooter__wrapper {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
}

.siteFooter__navigation,
.siteFooter__companyInfo {
  width: 100%;
  padding-top: 2rem;
}

@media screen and (min-width: 1200px) {
  .siteFooter__navigation,
  .siteFooter__companyInfo {
    padding: 2.5rem 0;
  }
}

@media screen and (min-width: 1200px) {
  .siteFooter__companyInfo {
    grid-column: 1/span 3;
  }
}

.siteFooter__companyInfoWrapper {
  display: flex;
  gap: 3rem;
}

.siteFooter__legalInfo small {
  letter-spacing: -0.322px;
  font-size: 0.778rem;
}

.siteFooter__legalInfoLink {
  color: #3e3e3e;
  text-decoration: none;
  background-image: linear-gradient(#3e3e3e 0 0), linear-gradient(transparent 0 0);
  background-position: 0 100%, 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px, 100% 1px;
  position: relative;
  transition: background-size 0.15s linear;
}

.siteFooter__legalInfoLink:hover {
  background-size: 100% 1px, 0 1px;
}

.siteFooter__legalInfoLink.-reverse {
  background-image: linear-gradient(transparent 0 0), linear-gradient(#3e3e3e 0 0);
  background-position: 0 100%, 100% 100%;
}

.siteFooter__legalInfoLink.-reverse:hover {
  background-size: 100% 1px, 0 1px;
}

.siteFooter__locationTitle {
  font-weight: 700;
}

.siteFooter__locationTitle,
.siteFooter__locationAddress,
.siteFooter__locationPhone {
  margin: 0;
  font-size: 0.889rem;
  line-height: 150%;
  letter-spacing: -0.368px;
}

.siteFooter__logoWrapper {
  width: 200px;
  padding-bottom: 1rem;
}

.siteFooter__logo {
  width: 100%;
  max-width: 100%;
}

.siteFooter__navigation {
  flex-direction: column;
  padding-bottom: 2rem;
}

@media screen and (min-width: 800px) {
  .siteFooter__navigation {
    flex-direction: row;
  }
}

@media screen and (min-width: 1200px) {
  .siteFooter__navigation {
    grid-column: 5/span 8;
  }
}

.siteFooter__utilityNav {
  padding: 1rem 0;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: space-between;
}

@media screen and (min-width: 1024px) {
  body.scrolled .siteHeader {
    box-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);
  }

  body.scrolled .siteHeader__wrapper::after {
    top: -1px;
  }

  body.scrolled .siteHeader__secondaryNav {
    margin-top: -40px;
  }

  body.scrolled .siteHeader__logoWrapper {
    padding-top: 0;
    max-width: 164px;
  }
}

.siteHeader {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -31px 20px rgba(0, 0, 0, 0.3);
  transition: box-shadow 250ms;
}

.siteHeader__wrapper {
  max-width: 1250px;
  margin: 0 auto;
  padding: 15px;
  display: grid;
  grid-template-areas: "logo . . mobile-nav";
}

@media screen and (min-width: 1024px) {
  .siteHeader__wrapper {
    grid-template-areas: ".      . .            secondary-nav" "logo   . primary-nav  primary-nav";
  }

  .siteHeader__wrapper::after {
    content: "";
    background-color: #DADADA;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50px;
    opacity: 1;
    transition: top 250ms;
  }
}

@media screen and (min-width: ) {
  .siteHeader {
    padding: 0 0;
  }
}

.siteHeader__secondaryNav {
  display: none;
}

@media screen and (min-width: 1024px) {
  .siteHeader__secondaryNav {
    display: block;
    grid-area: secondary-nav;
    margin-bottom: 1rem;
    transition: margin-top 250ms;
  }
}

.siteHeader__secondaryNav .navigation__list {
  gap: 2rem;
  margin: 0;
}

.siteHeader__secondaryNav .navigation__trigger {
  font-size: 0.75rem;
  font-weight: 400;
}

.siteHeader__secondaryNav .navigation__trigger::after {
  content: none;
}

.siteHeader__logoWrapper {
  max-width: 105px;
  min-width: 105px;
  margin-right: 10px;
  z-index: 1;
  transform: scale(1.3) translateX(10px);
  transition: padding-top 250ms, max-width 250ms;
  grid-area: logo;
}

.siteHeader__logoWrapper.-mobile {
  display: block;
}

@media screen and (min-width: 1024px) {
  .siteHeader__logoWrapper {
    max-width: 244px;
    min-width: 188px;
    transform: scale(1) translateX(0);
    padding-top: 1rem;
  }
}

.siteHeader__logo {
  width: 100%;
  transition: transform 250ms;
  max-height: 8.375rem;
}

.siteHeader__navigation {
  display: none;
}

@media screen and (min-width: 1024px) {
  .siteHeader__navigation {
    display: block;
    grid-area: primary-nav;
    align-self: center;
  }
}

.siteHeader__mobileNavigation {
  grid-column: 13/main-end;
  align-self: center;
  justify-self: end;
}

@media screen and (min-width: 1024px) {
  .siteHeader__mobileNavigation {
    display: none;
  }
}

body.home .siteHeader.js-homepage-nav {
  position: fixed;
  top: var(--transitional-top-position);
  transition: top 250ms ease;
  opacity: 0;
}

body.home .siteHeader.js-homepage-nav .mobileNavigation__menuButtonIcon {
  color: #3d684f;
}

@media screen and (min-width: 1024px) {
  body.home .siteHeader.js-homepage-nav {
    box-shadow: none;
  }

  body.home .siteHeader.js-homepage-nav__wrapper::after {
    top: -45px;
    opacity: 0;
  }

  body.home .siteHeader.js-homepage-nav .secondaryNav {
    margin-top: -43px;
  }

  body.home .siteHeader.js-homepage-nav__logoWrapper {
    padding-top: 0;
    max-width: 164px;
  }
}

body.home .siteHeader.js-homepage-nav.-secondary {
  --transitional-top-position: 0;
  opacity: 1;
}

body.home .siteHeader.js-homepage-nav.-secondary .primaryNav__linkList {
  justify-content: space-between;
}

body.home .siteHeader.js-homepage-nav.-secondary .navigation__trigger--active {
  color: #3d684f;
}

body.home .siteHeader.js-homepage-nav.-secondary .navigation__item:hover .navigation__trigger,
body.home .siteHeader.js-homepage-nav.-secondary .navigation__item:focus .navigation__trigger {
  color: #3d684f;
}

body.home .siteHeader.js-homepage-nav.-initial {
  position: absolute;
  background-color: transparent;
  opacity: 1;
}

body.home .siteHeader.js-homepage-nav.-initial .mobileNavigation__menuButtonIcon {
  color: white;
}

@media screen and (min-width: 1024px) {
  body.home .siteHeader.js-homepage-nav.-initial .siteHeader__wrapper::after {
    background-color: white;
    opacity: 1;
  }

  body.home .siteHeader.js-homepage-nav.-initial .navigation__trigger {
    color: white;
  }

  body.home .siteHeader.js-homepage-nav.-initial .navigation__trigger--active {
    color: #F5B210;
  }

  body.home .siteHeader.js-homepage-nav.-initial .navigation__item:hover .navigation__trigger,
  body.home .siteHeader.js-homepage-nav.-initial .navigation__item:focus .navigation__trigger {
    color: #F5B210;
  }
}

.testimonialsSlider {
  background-color: #3d684f;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  .testimonialsSlider::before {
    content: "";
    position: absolute;
    background-image: url('data:image/svg+xml,<svg class="diamonds" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 918 1115" fill="none"><g style="mix-blend-mode:overlay" opacity="0.12"><path d="M375.582 392.147L136.013 633.648L375.582 875.15L615.151 633.648L375.582 392.147Z" fill="url(%23paint0_linear_19_96)" fill-opacity="0.8" /><path style="mix-blend-mode:screen" opacity="0.6" d="M314.722 392.147L75.1532 633.648L314.722 875.15L554.292 633.648L314.722 392.147Z" fill="url(%23paint1_linear_19_96)" /><path style="mix-blend-mode:screen" opacity="0.6" d="M434.997 875.154L676.499 1114.72L918 875.154L676.499 635.585L434.997 875.154Z" fill="url(%23paint2_linear_19_96)" /><path style="mix-blend-mode:screen" opacity="0.6" d="M182.865 875.154L424.366 1114.72L665.868 875.154L424.366 635.585L182.865 875.154Z" fill="url(%23paint3_linear_19_96)" fill-opacity="0.6" /><path style="mix-blend-mode:screen" opacity="0.6" d="M219.569 633.643L459.138 392.142L219.569 150.641L-20.0001 392.142L219.569 633.643Z" fill="url(%23paint4_linear_19_96)" fill-opacity="0.5" /><path style="mix-blend-mode:screen" opacity="0.6" d="M615.156 483.668L854.725 242.167L615.156 0.665527L375.587 242.167L615.156 483.668Z" fill="url(%23paint5_linear_19_96)" fill-opacity="0.8" /></g><defs><linearGradient id="paint0_linear_19_96" x1="407.975" y1="633.648" x2="887.113" y2="633.648" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint1_linear_19_96" x1="347.116" y1="0.66559" x2="826.254" y2="0.66559" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint2_linear_19_96" x1="676.499" y1="842.761" x2="676.499" y2="363.623" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint3_linear_19_96" x1="424.366" y1="842.761" x2="424.366" y2="363.623" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint4_linear_19_96" x1="219.569" y1="391.966" x2="219.569" y2="928.162" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient><linearGradient id="paint5_linear_19_96" x1="615.156" y1="241.99" x2="615.156" y2="778.187" gradientUnits="userSpaceOnUse"><stop stop-color="white" /><stop offset="1" stop-color="white" /></linearGradient></defs></svg>');
    width: 100%;
    background-repeat: no-repeat;
    height: calc(100% + 550px);
    width: 60%;
    z-index: 0;
    left: 0;
    top: -200px;
    opacity: 0.6;
  }

  .testimonialsSlider:has(+ .iconCardSection.-darkBackground) {
    z-index: 0;
    overflow: visible;
  }

  .testimonialsSlider + .iconCardSection.-darkBackground {
    z-index: -1;
  }
}

.testimonialsSlider__container {
  z-index: 1;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .testimonialsSlider__container {
    display: grid;
    grid-template-columns: 27% 1fr;
    gap: 70px;
  }
}

.testimonialsSlider__heading {
  color: #fff;
  grid-column: 1;
}

.testimonialsSlider__sliderWrapper {
  grid-column: 2;
}

.testimonialsSlider .testimonial {
  --testimonial-font-color: #fff;
}

.testimonialsSlider .testimonial__icon {
  --icon-fill-color: #fff;
  grid-row: 1;
  transform: unset;
  height: unset;
  width: 2.5rem;
}

.testimonialsSlider .testimonial__content {
  grid-row: 2;
  font-size: clamp(1.25rem, 1.5vw, 1.75rem);
}

.testimonialsSlider .testimonial__citation {
  max-width: 60%;
}

.testimonialsSlider .testimonial__citationTitle {
  font-weight: 400;
}

.testimonialsSlider .testimonial__footer {
  grid-row: 3;
  grid-column: 1;
}

.testimonialsSlider .splide {
  overflow: hidden;
}

.testimonialsSlider .splide__arrows {
  display: flex;
  flex-direction: row;
}

@media screen and (min-width: 1024px) {
  .testimonialsSlider .splide__arrows {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
  }
}

.testimonialsSlider .splide__arrow {
  position: unset;
  background-color: transparent;
  transform: none;
}

.textWithQuote {
  background-color: white;
}

.textWithQuote__grid {
  --grid-gap: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
}

@media screen and (min-width: 576px) {
  .textWithQuote__grid {
    --grid-gap: 3rem;
    display: grid;
    grid-template-columns: repeat(5, calc(20% - ((var(--grid-gap) * 4) / 5)));
    grid-gap: var(--grid-gap);
  }
}

@media screen and (min-width: 576px) {
  .textWithQuote__textWrapper {
    grid-column: 1/span 5;
  }
}

@media screen and (min-width: 800px) {
  .textWithQuote__textWrapper {
    grid-column: 1/span 3;
  }
}

.textWithQuote__richText p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.textWithQuote__richText figure {
  margin-left: 0;
  margin-right: 0;
}

.textWithQuote__richText img {
  max-width: 100%;
}

.textWithQuote__richText a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.textWithQuote__richText a:not(.button):hover,
.textWithQuote__richText a:not(.button):focus {
  color: #3e3e3e;
}

.textWithQuote__richText p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 576px) {
  .textWithQuote__quote {
    grid-row: 2;
    grid-column: 1/span 3;
  }
}

@media screen and (min-width: 800px) {
  .textWithQuote__quote {
    grid-row: 1;
    grid-column: 4/span 2;
  }
}

.textWithStats {
  background-color: white;
}

.textWithStats__grid {
  --grid-gap: 1.5rem;
  --grid-columns: calc(25% - (var(--grid-gap) / 4));
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
}

@media screen and (min-width: 800px) {
  .textWithStats__grid {
    display: grid;
    grid-template-columns: repeat(4, calc(25% - ((var(--grid-gap) * 3) / 4)));
    grid-gap: var(--grid-gap);
  }
}

@media screen and (min-width: 800px) {
  .textWithStats__textWrapper {
    grid-column: 1/span 4;
  }
}

@media screen and (min-width: 1024px) {
  .textWithStats__textWrapper {
    grid-column: 1/span 2;
  }
}

.textWithStats__richText p {
  line-height: 150%;
  margin: 0;
  margin-bottom: 2rem;
}

.textWithStats__richText figure {
  margin-left: 0;
  margin-right: 0;
}

.textWithStats__richText img {
  max-width: 100%;
}

.textWithStats__richText a:not(.button) {
  text-decoration: none;
  color: #137CB9;
  font-weight: 700;
  transition: color 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.textWithStats__richText a:not(.button):hover,
.textWithStats__richText a:not(.button):focus {
  color: #3e3e3e;
}

.textWithStats__richText p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .textWithStats__richText {
    width: 90%;
  }
}

@media screen and (min-width: 800px) {
  .textWithStats__stats {
    grid-row: 2;
    grid-column: 1/span 4;
  }
}

@media screen and (min-width: 1024px) {
  .textWithStats__stats {
    grid-row: 1;
    grid-column: 3/span 2;
    margin-top: 1.5rem;
  }
}

.threeColumnText {
  padding: 1.5rem 0 0;
}

.threeColumnText__header {
  max-width: 570px;
  margin-bottom: 3.8rem;
}

.threeColumnText__sectionHeader {
  color: #fff;
}

.threeColumnText__introduction > * {
  font-size: 1.125rem;
  line-height: 1.4;
  color: #fff;
}

.threeColumnText__columnWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -85px;
  margin-right: -85px;
}

.threeColumnText__iconWrapper {
  max-height: 85px;
  height: 70px;
  margin-bottom: 1rem;
}

.threeColumnText__icon {
  height: 100%;
}

.threeColumnText__column {
  width: calc(100% - 170px);
  margin: 0 85px;
  margin-bottom: 2.5rem;
}

.threeColumnText__columnTitle,
.threeColumnText__columnText > * {
  color: #fff;
}

.threeColumnText__columnTitle {
  font-size: 1.125rem;
  font-weight: bold;
}

.threeColumnText__columnText > *:last-child {
  margin-bottom: 0;
}

.threeColumnText__button {
  margin-top: 2.1rem;
}

.threeColumnText.-greenBricks,
.threeColumnText.-blackBricks {
  background: url("/img/patterns/bricktexture.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.threeColumnText.-greenBricks {
  background-image: url("/img/patterns/bricktexture.jpg");
}

.threeColumnText.-blackBricks {
  background-image: url("/img/patterns/bricktextureblack.jpg");
}

.threeColumnText.-white .threeColumnText__sectionHeader,
.threeColumnText.-white .threeColumnText__introduction > *,
.threeColumnText.-white .threeColumnText__columnTitle,
.threeColumnText.-white .threeColumnText__columnText > * {
  color: #3e3e3e;
}

.threeColumnText.-fade {
  position: relative;
  overflow: hidden;
}

.threeColumnText.-fade .threeColumnText__sectionHeader,
.threeColumnText.-fade .threeColumnText__introduction > *,
.threeColumnText.-fade .threeColumnText__columnTitle,
.threeColumnText.-fade .threeColumnText__columnText > * {
  color: #3e3e3e;
}

.threeColumnText.-fade::before {
  content: "";
  display: block;
  position: absolute;
  top: -40px;
  left: -30px;
  width: calc(100% + 60px);
  height: 30px;
  box-shadow: 0 15px 80px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 800px) {
  .threeColumnText {
    padding: 6rem 0 0;
  }

  .threeColumnText.-emphasize {
    padding: 12rem 0 2rem;
  }

  .threeColumnText.-emphasize .threeColumnText__columnTitle {
    font-size: 1.5rem;
  }

  .threeColumnText__column {
    width: calc(50% - 170px);
    margin: 0 85px;
    margin-bottom: 6rem;
  }
}

@media screen and (min-width: 1024px) {
  .threeColumnText {
    padding: 6rem 0 0;
  }

  .threeColumnText__column {
    width: calc(33.3333% - 170px);
    margin: 0 85px;
    margin-bottom: 6rem;
  }
}

.twoCardsWithHeadings {
  background: linear-gradient(180deg, #3d684f 20%, #fff 20%);
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings {
    background: linear-gradient(180deg, #3d684f 35%, #fff 35%);
  }
}

@media screen and (min-width: 1024px) {
  .twoCardsWithHeadings {
    background: linear-gradient(180deg, #3d684f 45%, #fff 45%);
  }
}

.twoCardsWithHeadings__columns {
  --gap: 1.5rem;
  display: flex;
  background-color: transparent;
  flex-direction: column;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings__columns {
    --gap: 7rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.twoCardsWithHeadings__column {
  --gap: 1.5rem;
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  gap: var(--gap);
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings__column {
    --gap: 2rem;
    flex-basis: calc(50% - (var(--gap) / 2));
    grid-row: 2;
    margin-bottom: 0;
  }
}

.twoCardsWithHeadings__heading {
  color: white;
  grid-row: 1;
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.twoCardsWithHeadings__heading.-second {
  color: #3e3e3e;
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings__heading.-second {
    color: white;
    grid-column: 2;
  }
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings__heading {
    grid-column: 1;
  }
}

.twoCardsWithHeadings__card .card__link {
  font-weight: 600;
}

.twoCardsWithHeadings__cta {
  margin-top: auto;
}

@media screen and (min-width: 800px) {
  .twoCardsWithHeadings__cta {
    align-self: flex-start;
  }
}

.videoSlider {
  position: relative;
  background-color: #f8f8f8;
  padding: 2rem 0;
}

.videoSlider__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.videoSlider::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 250px;
  width: 100%;
  background-image: url("/img/patterns/bricktexture.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.videoSlider.-blackBricks::before {
  background-image: url("/img/patterns/bricktextureblack.jpg");
}

.videoSlider__videos {
  overflow: hidden;
  position: relative;
  width: 100%;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
}

.videoSlider__videos::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.videoSlider__videoWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videoSlider__videoWrapper > * {
  width: 100%;
  height: 100%;
}

.videoSlider__information {
  flex-grow: 1;
  display: flex;
  width: 100%;
  flex-direction: column;
}

.videoSlider__informationSlide {
  opacity: 0;
  transition: opacity 1000ms;
  height: 100%;
  width: calc(100% - 2.5rem);
}

.videoSlider__informationSlide.-active {
  opacity: 1;
}

.videoSlider__slideTitle {
  font-size: 2.25rem;
  margin-bottom: 1rem;
  color: #3e3e3e;
}

.videoSlider__slideText > *:last-child {
  margin-bottom: 0;
}

.videoSlider__slideTray {
  order: 2;
}

.videoSlider__nav {
  order: 1;
  z-index: 1;
  margin-bottom: 2rem;
}

@media screen and (min-width: 1024px) {
  .videoSlider {
    padding: 7rem 0;
  }

  .videoSlider__slideTray {
    order: 1;
  }

  .videoSlider__nav {
    order: 2;
    margin-bottom: 0;
  }

  .videoSlider__wrapper {
    flex-direction: row;
  }

  .videoSlider__videos {
    width: 487.5px;
    min-width: 487.5px;
    margin-bottom: 0;
  }

  .videoSlider__information {
    max-width: calc(50% - 5px);
  }

  .videoSlider__slideText p {
    font-size: 1.125rem;
  }

  .videoSlider::before,
  .videoSlider.-blackBricks::before {
    height: 100%;
    width: calc((100vw - 1250px) / 2 + 243px);
    min-width: 243px;
  }
}

form .fields {
  max-width: 600px;
}

form .field {
  margin-bottom: 1rem;
}

form .heading {
  margin-bottom: 0.5rem;
}

form fieldset {
  border: none;
  padding: 0;
}

form .field:not(.required) label::after,
form .field:not(.required) legend::after {
  content: "(optional)";
  font-size: 0.875rem;
  margin-left: 0.5rem;
  color: #969696;
}

form .checkboxes label::after,
form .multiplechoice label::after {
  display: none;
}

form .checkboxes label,
form .multiplechoice label {
  margin-right: 1rem;
}

form .checkboxes input,
form .multiplechoice input {
  margin-right: 0.5rem;
}

form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding: 0.7rem;
  border-radius: 5px;
  border: none;
}

form .dropdown .input {
  border: 2px solid #969696;
  font-size: 1rem;
  width: 100%;
  border-radius: 5px;
  position: relative;
}

form .dropdown .input:focus {
  border: 2px solid #3d684f;
  outline: none;
}

form .dropdown .input::after {
  content: "\F107";
  position: absolute;
  right: 1rem;
  top: 0.8rem;
  pointer-events: none;
  color: #969696;
}

form input[type=text],
form input[type=email],
form input[type=number],
form textarea {
  border: 2px solid #969696;
  padding: 0.7rem;
  font-size: 1rem;
  width: 100%;
  border-radius: 5px;
}

form input[type=text]:focus,
form input[type=email]:focus,
form input[type=number]:focus,
form textarea:focus {
  border: 2px solid #3d684f;
  outline: none;
}

form .submit button,
form .fui-submit {
  --button-white-rgb: 255, 255, 255;
  --button-gold-rgb: 245, 178, 17;
  --button-green-rgb: 61, 104, 79;
  --button-dark-transparent-rgb: 3, 3, 3;
  --button-light-yellow-rgb: 251, 224, 114;
  --button-bg: var(--button-white-rgb);
  --button-border: white;
  --button-border-hover: #f5b211;
  --button-color: #3e3e3e;
  color: var(--button-color);
  display: inline-block;
  box-sizing: content-box;
  position: relative;
  font-weight: 600;
  padding: 13px 30px;
  border-radius: 24px;
  line-height: 1;
  text-align: center;
  vertical-align: top;
  border: 3px solid;
  border-color: var(--button-border);
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, rgba(var(--button-bg), 0) 0%, rgba(var(--button-bg), 1) 0%) 50% 100%/200% 200%;
  transition: border-color 0.3s cubic-bezier(0.7, 0, 0.2, 1), color 0.3s cubic-bezier(0.7, 0, 0.2, 1), background-position 0.3s cubic-bezier(0.7, 0, 0.2, 1);
  overflow: hidden;
  border: 2px solid transparent;
  padding: 13px 30px;
  z-index: 1;
  margin-top: 1rem;
  transition: border 250ms cubic-bezier(0.19, 1, 0.22, 1), background 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

form .submit button span,
form .fui-submit span {
  position: relative;
}

form .submit button.-whiteUnderlay,
form .submit button.-tertiary,
form .submit button.fui-submit.-tertiary,
form .submit button.-primary,
form .submit button.fui-submit.-primary,
form .submit button.button.-primary,
form .submit button.button.-tertiary,
form .fui-submit.-whiteUnderlay,
form .fui-submit.-tertiary,
form .fui-submit.-primary,
form a.fui-submit.button.-primary,
form button.fui-submit.button.-primary,
form a.fui-submit.button.-tertiary,
form button.fui-submit.button.-tertiary {
  background: linear-gradient(180deg, white 0%, white 50%, rgba(var(--button-bg), 0) 0%, rgba(var(--button-bg), 1) 0%) 50% 100%/200% 200%;
}

form .submit button:hover,
form .submit button:focus,
form .fui-submit:hover,
form .fui-submit:focus {
  border-color: var(--button-border-hover);
  background-position: 50% 200%;
}

form .submit button.loading,
form .fui-submit.loading {
  color: transparent;
}

form .submit button.loading::before,
form .fui-submit.loading::before {
  content: "\F110";
  color: var(--button-color);
  position: absolute;
  top: 32%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-animation: 1s linear continuousRotation infinite;
          animation: 1s linear continuousRotation infinite;
}

form .submit button.disabled,
form .submit button[disabled],
form .fui-submit.disabled,
form .fui-submit[disabled] {
  color: #cccccc;
  pointer-events: none;
}

form .submit button.-primary,
form .fui-submit.-primary {
  --button-bg: var(--button-gold-rgb);
  --button-border: #f5b211;
  z-index: 1;
}

form .submit button.-secondary,
form .fui-submit.-secondary {
  --button-bg: var(--button-gold-rgb);
  --button-hover-bg: transparent;
  --button-border: #f5b211;
}

form .submit button.-tertiary,
form .fui-submit.-tertiary {
  --button-bg: var(--button-light-yellow-rgb);
  --button-border: #fbe072;
  --button-border-hover: #fbe072;
}

form .submit button.-greenPrimary,
form .fui-submit.-greenPrimary {
  --button-bg: var(--button-green-rgb);
  --button-border: #3d684f;
  --button-color: white;
  --button-border-hover: #3d684f;
}

form .submit button.-greenPrimary:hover,
form .submit button.-greenPrimary:focus,
form .fui-submit.-greenPrimary:hover,
form .fui-submit.-greenPrimary:focus {
  --button-color: #3e3e3e;
}

form .submit button.-greenOutline,
form .fui-submit.-greenOutline {
  --button-bg: var(--button-green-rgb);
  --button-border: #3d684f;
  --button-border-hover: #3d684f;
}

form .submit button.-greenOutline:hover,
form .submit button.-greenOutline:focus,
form .fui-submit.-greenOutline:hover,
form .fui-submit.-greenOutline:focus {
  --button-color: white;
}

form .submit button.-whiteOutline,
form .fui-submit.-whiteOutline {
  --button-bg: var(--button-green-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
}

form .submit button.-whiteOutlineWhiteHover,
form .fui-submit.-whiteOutlineWhiteHover {
  --button-bg: var(--button-white-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
}

form .submit button.-whiteOutlineWhiteHover:hover,
form .submit button.-whiteOutlineWhiteHover:focus,
form .fui-submit.-whiteOutlineWhiteHover:hover,
form .fui-submit.-whiteOutlineWhiteHover:focus {
  --button-color: #3d684f;
}

form .submit button.-darkTransparent,
form .fui-submit.-darkTransparent {
  --button-bg: var(--button-dark-transparent-rgb);
  --button-border: white;
  --button-border-hover: white;
  --button-color: white;
  background: linear-gradient(180deg, rgba(var(--button-bg), 0.5) 0%, rgba(var(--button-bg), 0.5) 50%, rgba(var(--button-bg), 1) 0%, rgba(var(--button-bg), 1) 0%) 50% 200%/200% 200%;
}

form .submit button.-darkTransparent:hover,
form .submit button.-darkTransparent:focus,
form .fui-submit.-darkTransparent:hover,
form .fui-submit.-darkTransparent:focus {
  background-position: 50% 100%;
}

form .submit button.-reverseHover,
form .submit button.button.-tertiary,
form .submit button.button.-greenOutline,
form .submit button.button.-whiteOutline,
form .submit button.button.-whiteOutlineWhiteHover,
form .submit button.-tertiary,
form .submit button.fui-submit.-tertiary,
form .submit button.-greenOutline,
form .submit button.fui-submit.-greenOutline,
form .submit button.-whiteOutline,
form .submit button.fui-submit.-whiteOutline,
form .submit button.-whiteOutlineWhiteHover,
form .submit button.fui-submit.-whiteOutlineWhiteHover,
form .fui-submit.-reverseHover,
form a.fui-submit.button.-tertiary,
form button.fui-submit.button.-tertiary,
form a.fui-submit.button.-greenOutline,
form button.fui-submit.button.-greenOutline,
form a.fui-submit.button.-whiteOutline,
form button.fui-submit.button.-whiteOutline,
form a.fui-submit.button.-whiteOutlineWhiteHover,
form button.fui-submit.button.-whiteOutlineWhiteHover,
form .fui-submit.-tertiary,
form .fui-submit.-greenOutline,
form .fui-submit.-whiteOutline,
form .fui-submit.-whiteOutlineWhiteHover {
  background-position: 50% 200%;
}

form .submit button.-reverseHover:hover,
form .submit button.-tertiary:hover,
form .submit button.-greenOutline:hover,
form .submit button.-whiteOutline:hover,
form .submit button.-whiteOutlineWhiteHover:hover,
form .submit button.-reverseHover:focus,
form .submit button.-tertiary:focus,
form .submit button.-greenOutline:focus,
form .submit button.-whiteOutline:focus,
form .submit button.-whiteOutlineWhiteHover:focus,
form .fui-submit.-reverseHover:hover,
form .fui-submit.-tertiary:hover,
form .fui-submit.-greenOutline:hover,
form .fui-submit.-whiteOutline:hover,
form .fui-submit.-whiteOutlineWhiteHover:hover,
form .fui-submit.-reverseHover:focus,
form .fui-submit.-tertiary:focus,
form .fui-submit.-greenOutline:focus,
form .fui-submit.-whiteOutline:focus,
form .fui-submit.-whiteOutlineWhiteHover:focus {
  background-position: 50% 100%;
}

form .submit button::after,
form .fui-submit::after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 24px;
  background: linear-gradient(to bottom, #fad540 0%, #f5b211 100%);
  z-index: -1;
  opacity: 1;
  transition: opacity 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

form .submit button:hover,
form .submit button:focus,
form .fui-submit:hover,
form .fui-submit:focus {
  border: 2px solid #fad540;
  padding: 13px 30px;
  background: linear-gradient(to bottom, rgba(250, 213, 64, 0) 0%, rgba(245, 178, 17, 0) 100%);
  background: #fff;
  outline: none;
  color: #3e3e3e;
}

form .submit button:hover::after,
form .submit button:focus::after,
form .fui-submit:hover::after,
form .fui-submit:focus::after {
  opacity: 0;
}


/*# sourceMappingURL=app.css.map*/