:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-shadow: none;
    --f-button-transition: all .15s ease;
    --f-button-transform: none;
    --f-button-outline-width: 1px;
    --f-button-outline-color: rgba(0, 0, 0, .7);
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-opacity: 1;
    --f-button-svg-disabled-opacity: .5;
    --f-button-svg-transition: opacity .15s ease;
    --f-button-svg-transform: none
}

.f-button {
    align-items: center;
    backdrop-filter: var(--f-button-backdrop-filter);
    background: var(--f-button-bg);
    border: var(--f-button-border);
    border-radius: var(--f-button-border-radius);
    box-shadow: var(--f-button-shadow);
    box-sizing: content-box;
    color: var(--f-button-color);
    cursor: pointer;
    display: flex;
    height: var(--f-button-height);
    justify-content: center;
    margin: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: all;
    position: relative;
    transform: var(--f-button-transform);
    transition: var(--f-button-transition);
    width: var(--f-button-width)
}

@media (hover:hover) {
    .f-button:hover:not([aria-disabled]) {
        background-color: var(--f-button-hover-bg, var(--f-button-bg));
        color: var(--f-button-hover-color, var(--f-button-color))
    }
}

.f-button:active:not([aria-disabled]) {
    background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)));
    color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)))
}

.f-button:focus {
    outline: none
}

.f-button:focus-visible {
    outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
    outline-offset: var(--f-button-outline-offset);
    position: relative;
    z-index: 1
}

.f-button svg {
    height: var(--f-button-svg-height);
    transform: var(--f-button-svg-transform);
    width: var(--f-button-svg-width);
    fill: var(--f-button-svg-fill);
    filter: var(--f-button-svg-filter);
    opacity: var(--f-button-svg-opacity, 1);
    transition: var(--f-button-svg-transition);
    stroke: currentColor;
    stroke-width: var(--f-button-svg-stroke-width);
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none
}

.f-button[aria-disabled] {
    cursor: default
}

.f-button[aria-disabled] svg {
    opacity: var(--f-button-svg-disabled-opacity)
}

[data-panzoom-action=toggleFS] g:first-child {
    display: flex
}

.in-fullscreen [data-panzoom-action=toggleFS] g:first-child,
[data-panzoom-action=toggleFS] g:last-child {
    display: none
}

.in-fullscreen [data-panzoom-action=toggleFS] g:last-child,
[data-autoplay-action=toggle] svg g:first-child {
    display: flex
}

.has-autoplay [data-autoplay-action=toggle] svg g:first-child,
[data-autoplay-action=toggle] svg g:last-child {
    display: none
}

.has-autoplay [data-autoplay-action=toggle] svg g:last-child {
    display: flex
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

:root {
    --f-spinner-color-1: rgba(0, 0, 0, .1);
    --f-spinner-color-2: rgba(17, 24, 28, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px
}

.f-spinner {
    animation: f-spinner .75s linear infinite, f-fadeIn .2s ease .2s both;
    border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
    border-radius: var(--f-spinner-border-radius);
    border-top-color: var(--f-spinner-color-2);
    height: var(--f-spinner-height);
    left: 50%;
    margin: calc(var(--f-spinner-width)*-.5) 0 0 calc(var(--f-spinner-height)*-.5);
    padding: 0;
    position: absolute;
    top: 50%;
    width: var(--f-spinner-width)
}

@keyframes f-spinner {
    to {
        transform: rotate(1turn)
    }
}

.f-panzoom,
.f-zoomable {
    align-items: center;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative
}

.f-panzoom:after,
.f-panzoom:before,
.f-zoomable:after,
.f-zoomable:before {
    content: "";
    display: block
}

.f-panzoom:not(.has-controls):before,
.f-zoomable:not(.has-controls):before {
    margin-bottom: auto
}

.f-panzoom:after,
.f-zoomable:after {
    margin-top: auto
}

.f-panzoom.in-fullscreen,
.f-zoomable.in-fullscreen {
    aspect-ratio: unset !important;
    height: 100% !important;
    left: 0;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    position: fixed;
    top: 0;
    width: 100% !important;
    z-index: 9999
}

.f-panzoom__wrapper {
    max-height: 100%;
    max-width: 100%;
    min-height: 0;
    min-width: 0;
    position: relative
}

.f-panzoom__wrapper.will-zoom-out {
    cursor: zoom-out
}

.f-panzoom__wrapper.can-drag {
    cursor: move;
    cursor: grab
}

.f-panzoom__wrapper.will-zoom-in {
    cursor: zoom-in
}

.f-panzoom__wrapper.is-dragging {
    cursor: move;
    cursor: grabbing
}

.f-panzoom__wrapper.has-error {
    display: none
}

.f-panzoom__content {
    display: block;
    max-height: 100%;
    max-width: 100%;
    min-height: 0;
    min-width: 0
}

.f-panzoom__content.has-lazyerror,
.f-panzoom__content.is-lazyloading {
    visibility: hidden
}

img.f-panzoom__content {
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
    transition: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    vertical-align: top;
    width: auto
}

.f-panzoom__wrapper>.f-panzoom__content {
    visibility: hidden
}

.f-panzoom__viewport {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.f-panzoom__viewport>.f-panzoom__content {
    height: 100%;
    -o-object-fit: fill;
    object-fit: fill;
    width: 100%
}

picture.f-panzoom__content img {
    height: auto;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transition: none;
    vertical-align: top;
    width: 100%
}

.f-panzoom__protected,
picture.f-panzoom__content img {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.f-panzoom__protected {
    inset: 0;
    position: absolute;
    z-index: 1
}

html.with-panzoom-in-fullscreen {
    overflow: hidden
}

.f-fadeIn {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeOut {
    to {
        opacity: 0
    }
}

.f-crossfadeIn {
    animation: var(--f-transition-duration, .2s) ease both f-crossfadeIn;
    z-index: 2
}

.f-crossfadeOut {
    animation: calc(var(--f-transition-duration, .2s)*.2) ease calc(var(--f-transition-duration, .2s)*.8) both f-crossfadeOut;
    z-index: 1
}

@keyframes f-crossfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-crossfadeOut {
    to {
        opacity: 0
    }
}

.is-horizontal .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNextX
}

.is-horizontal .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrevX
}

.is-horizontal .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNextX
}

.is-horizontal .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrevX
}

@keyframes f-slideInPrevX {
    0% {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextX {
    0% {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextX {
    to {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevX {
    to {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.is-vertical .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNextY
}

.is-vertical .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrevY
}

.is-vertical .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNextY
}

.is-vertical .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrevY
}

@keyframes f-slideInPrevY {
    0% {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextY {
    0% {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextY {
    to {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevY {
    to {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.f-zoomInUp {
    animation: var(--f-transition-duration, .3s) ease both f-zoomInUp
}

.f-zoomOutDown {
    animation: var(--f-transition-duration, .3s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
    0% {
        opacity: var(--f-zoomInUp-opacity, 0);
        transform: scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0)
    }

    to {
        opacity: 1;
        transform: scale(1) translateZ(0)
    }
}

@keyframes f-zoomOutDown {
    to {
        opacity: 0;
        transform: scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0)
    }
}

.f-throwOutUp {
    animation: var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp
}

.f-throwOutDown {
    animation: var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown
}

@keyframes f-throwOutUp {
    to {
        opacity: 0;
        transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px)*-1), 0)
    }
}

@keyframes f-throwOutDown {
    to {
        opacity: 0;
        transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0)
    }
}

.has-gmap .f-html,
.has-iframe .f-html,
.has-pdf .f-html {
    height: 100%;
    min-height: 1px;
    overflow: visible;
    width: 100%
}

.has-gmap .f-html,
.has-pdf .f-html {
    padding: 0
}

.f-html {
    background: var(--f-html-bg);
    box-sizing: border-box;
    color: var(--f-html-color, currentColor);
    margin: var(--f-html-margin, 0);
    padding: var(--f-html-padding, 2rem);
    position: relative
}

.f-html.is-error {
    text-align: center
}

.f-iframe {
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    width: 100%
}

.f-caption {
    align-self: center;
    background: var(--f-caption-bg);
    color: var(--f-caption-color);
    flex-shrink: 0;
    line-height: var(--f-caption-line-height);
    font: var(--f-caption-font);
    margin: var(--f-caption-margin);
    max-height: calc(80vh - 100px);
    max-width: 100%;
    overflow: auto;
    overflow-wrap: anywhere;
    padding: var(--f-caption-padding, 16px 8px)
}

.has-html5video .f-html,
.has-vimeo .f-html,
.has-youtube .f-html {
    aspect-ratio: var(--f-video-aspect-ratio);
    background: var(--f-video-bg, rgba(0, 0, 0, .9));
    height: 100%;
    max-height: var(--f-video-height, 540px);
    max-width: var(--f-video-width, 960px);
    min-height: 1px;
    overflow: visible;
    padding: 0;
    width: 100%
}

.f-html5video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    width: 100%
}

.f-button.is-arrow {
    --f-button-width: var(--f-arrow-width, 46px);
    --f-button-height: var(--f-arrow-height, 46px);
    --f-button-svg-width: var(--f-arrow-svg-width, 24px);
    --f-button-svg-height: var(--f-arrow-svg-height, 24px);
    --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
    --f-button-border-radius: var(--f-arrow-border-radius, unset);
    --f-button-bg: var(--f-arrow-bg, transparent);
    --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
    --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
    --f-button-shadow: var(--f-arrow-shadow);
    --f-button-color: var(--f-arrow-color);
    --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
    --f-button-active-color: var(--f-arrow-active-color, var(--f-arrow-hover-color));
    overflow: visible
}

.f-button.is-arrow.is-next,
.f-button.is-arrow.is-prev {
    position: absolute;
    transform: translate(0);
    z-index: 20
}

.is-horizontal .f-button.is-arrow.is-next,
.is-horizontal .f-button.is-arrow.is-prev {
    inset: 50% auto auto;
    transform: translateY(-50%)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
    left: var(--f-arrow-pos, 0)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
    right: var(--f-arrow-pos, 0)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
    right: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-next {
    left: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev,
.is-vertical.is-rtl .f-button.is-arrow.is-prev {
    bottom: auto;
    left: 50%;
    right: auto;
    top: var(--f-arrow-pos, 0);
    transform: translate(-50%)
}

.is-vertical.is-ltr .f-button.is-arrow.is-next,
.is-vertical.is-rtl .f-button.is-arrow.is-next {
    bottom: var(--f-arrow-pos, 0);
    left: 50%;
    right: auto;
    top: auto;
    transform: translate(-50%)
}

.is-vertical .f-button.is-arrow.is-next svg,
.is-vertical .f-button.is-arrow.is-prev svg {
    transform: rotate(90deg)
}

.f-carousel__toolbar {
    backdrop-filter: var(--f-toolbar-backdrop-filter);
    background: var(--f-toolbar-bg, none);
    box-shadow: var(--f-toolbar-shadow, none);
    color: var(--f-toolbar-color, currentColor);
    display: grid;
    font-family: var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);
    font-size: var(--f-toolbar-font-size, 17px);
    font-variant-numeric: tabular-nums;
    font-weight: var(--f-toolbar-font-weight, inherit);
    grid-template-columns: 1fr auto 1fr;
    line-height: var(--f-toolbar-line-height);
    margin: var(--f-toolbar-margin, 0);
    padding: var(--f-toolbar-padding, 8px);
    position: relative;
    text-align: center;
    text-shadow: var(--f-toolbar-text-shadow);
    z-index: 20;
    -webkit-font-smoothing: subpixel-antialiased;
    pointer-events: none;
    white-space: nowrap
}

.f-carousel__toolbar.is-absolute {
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.f-carousel__toolbar__column {
    align-content: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--f-toolbar-gap, 0)
}

.f-carousel__toolbar__column.is-left {
    display: flex;
    justify-content: flex-start;
    justify-self: flex-start
}

.f-carousel__toolbar__column.is-middle {
    display: flex;
    justify-content: center
}

.f-carousel__toolbar__column.is-right {
    display: flex;
    flex-flow: nowrap;
    justify-content: flex-end;
    justify-self: flex-end
}

.f-carousel__toolbar__column {
    pointer-events: none
}

.f-carousel__toolbar__column>* {
    pointer-events: all
}

.f-counter {
    background: var(--f-counter-bg);
    border-radius: var(--f-counter-border-radius);
    cursor: default;
    display: flex;
    flex-direction: row;
    line-height: var(--f-counter-line-height);
    margin: var(--f-counter-margin, 0);
    padding: var(--f-counter-padding, 4px);
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.f-counter span {
    padding: 0 var(--f-counter-gap, 4px)
}

:root {
    --f-thumbs-gap: 8px;
    --f-thumbs-margin: 0;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-z-index: 1;
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-clip-width: 46px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-fit: cover;
    --f-thumb-opacity: 1;
    --f-thumb-transition: opacity .3s ease, transform .15s ease;
    --f-thumb-border: none;
    --f-thumb-border-radius: 4px;
    --f-thumb-transfors: none;
    --f-thumb-shadow: none;
    --f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));
    --f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
    --f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff
}

.f-thumbs {
    background: var(--f-thumbs-bg);
    flex-shrink: 0;
    margin: var(--f-thumbs-margin);
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    overflow: hidden;
    position: relative;
    transition: max-height .3s ease, max-width .3s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: var(--f-thumbs-z-index)
}

.f-thumbs.is-horizontal {
    max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y)*2 + var(--f-thumbs-gap)*2)
}

.f-thumbs.is-vertical {
    max-width: calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)*2 + var(--f-thumbs-gap)*2)
}

.f-thumbs.is-ltr {
    direction: ltr
}

.f-thumbs.is-rtl {
    direction: rtl
}

.f-thumbs__viewport {
    display: grid;
    margin: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
    overflow: visible
}

.f-thumbs.is-vertical .f-thumbs__viewport {
    height: calc(100% - var(--f-thumbs-padding-y)*2)
}

.f-thumbs__slide {
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    grid-area: 1/1;
    height: var(--f-carousel-slide-height);
    margin: 0;
    overflow: visible;
    padding: 0;
    position: relative;
    width: var(--f-carousel-slide-width)
}

.f-thumbs__slide:hover button {
    opacity: var(--f-thumb-hover-opacity, 1);
    transform: var(--f-thumb-hover-transform, none)
}

.f-thumbs__slide:hover button:after {
    border: var(--f-thumb-hover-border, none);
    box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide button {
    all: unset;
    background: var(--f-thumb-bg);
    border-radius: var(--f-thumb-border-radius);
    height: 100%;
    margin: auto;
    opacity: var(--f-thumb-opacity);
    outline: none;
    overflow: visible;
    padding: 0;
    position: relative;
    transform: var(--f-thumb-transform);
    transition: var(--f-thumb-transition);
    width: 100%
}

.f-thumbs__slide button:after {
    border: var(--f-thumb-border);
    border-radius: inherit;
    box-shadow: var(--f-thumb-shadow);
    content: "";
    inset: 0;
    position: absolute;
    transition: none;
    z-index: 1
}

.f-thumbs__slide button:focus-within {
    opacity: var(--f-thumb-focus-opacity, 1);
    transform: var(--f-thumb-focus-transform, none)
}

.f-thumbs__slide button:focus-within:after {
    border: var(--f-thumb-focus-border, none);
    box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide:active {
    opacity: var(--f-thumb-active-opacity, 1);
    transform: var(--f-thumb-active-transform, none)
}

.f-thumbs__slide:active:after {
    border: var(--f-thumb-active-border, none);
    box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide.is-selected {
    z-index: 2
}

.f-thumbs__slide.is-selected button {
    opacity: var(--f-thumb-selected-opacity, 1);
    transform: var(--f-thumb-selected-transform, none)
}

.f-thumbs__slide.is-selected button:after {
    border: var(--f-thumb-selected-border, none);
    box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide img {
    border-radius: inherit;
    display: block;
    height: 100%;
    -o-object-fit: var(--f-thumb-fit);
    object-fit: var(--f-thumb-fit);
    pointer-events: none;
    width: 100%
}

.f-thumbs__slide img.has-lazyerror {
    display: none
}

.f-thumbs.is-classic {
    --f-carousel-slide-width: var(--f-thumb-width);
    --f-carousel-slide-height: var(--f-thumb-height);
    --f-carousel-gap: var(--f-thumbs-gap)
}

.f-thumbs.is-modern {
    --f-carousel-slide-width: calc(var(--f-thumb-clip-width) + var(--f-thumbs-gap));
    --f-carousel-slide-height: var(--f-thumb-height);
    --f-carousel-gap: 0;
    --width-diff: calc(var(--f-thumb-width) - var(--f-thumb-clip-width))
}

.f-thumbs.is-modern .f-thumbs__viewport {
    margin-inline: calc(var(--f-carousel-slide-width)*-1);
    width: calc(100% + var(--f-carousel-slide-width)*2)
}

.f-thumbs.is-modern .f-thumbs__slide {
    --clip-shift: calc((var(--width-diff)*0.5)*var(--progress));
    --clip-path: inset(0 var(--clip-shift) round var(--f-thumb-border-radius, 0));
    left: var(--shift, 0);
    overflow: visible;
    padding: 0;
    transition: left var(--f-transition-duration) var(--f-transition-easing);
    will-change: left
}

.f-thumbs.is-modern .f-thumbs__slide button {
    border: none;
    box-shadow: none;
    clip-path: var(--clip-path);
    display: block;
    margin-inline: 50%;
    transition: clip-path var(--f-transition-duration) var(--f-transition-easing), opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease);
    width: var(--f-thumb-width)
}

.f-thumbs.is-modern .f-thumbs__slide button:after {
    display: none
}

.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
    outline: none
}

.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
    border: var(--f-thumb-focus-border, none);
    border-radius: inherit;
    bottom: 0;
    box-shadow: var(--f-thumb-focus-shadow, none);
    content: "";
    left: var(--clip-shift);
    position: absolute;
    right: var(--clip-shift);
    top: 0;
    transition: border var(--f-transition-duration) var(--f-transition-easing), box-shadow var(--f-transition-duration) var(--f-transition-easing);
    z-index: 1
}

.f-thumbs.is-modern {
    --f-transition-duration: .25s;
    --f-transition-easing: ease-out
}

.f-thumbs.is-modern.is-syncing {
    --f-transition-duration: 0s
}

:root {
    --f-progressbar-height: 3px;
    --f-progressbar-color: var(--f-carousel-theme-color, #575ad6);
    --f-progressbar-opacity: 1;
    --f-progressbar-z-index: 30
}

.f-progressbar {
    animation-name: f-progressbar;
    animation-play-state: running;
    animation-timing-function: linear;
    background: var(--f-progressbar-color);
    height: var(--f-progressbar-height);
    left: 0;
    opacity: var(--f-progressbar-opacity);
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: var(--f-progressbar-z-index)
}

.f-progressbar:empty {
    display: block
}

button>.f-progressbar {
    --f-progressbar-height: 100%;
    --f-progressbar-opacity: .2
}

@keyframes f-progressbar {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

[data-fullscreen-action=toggle] svg g:first-child {
    display: flex
}

[data-fullscreen-action=toggle] svg g:last-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

.in-fullscreen-mode>.f-carousel {
    flex: 1;
    min-height: 0 !important;
    min-width: 0 !important
}

html.with-fancybox {
    overflow: visible;
    scroll-behavior: auto;
    width: auto
}

html.with-fancybox body.hide-scrollbar {
    margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
    overflow: hidden !important;
    overscroll-behavior-y: none;
    width: auto
}

.fancybox__dialog {
    background: transparent;
    border: 0;
    height: 100vh;
    margin: 0;
    max-height: unset;
    max-width: unset;
    overflow: hidden;
    padding: 0;
    touch-action: none;
    width: 100%
}

.fancybox__dialog:focus {
    outline: none
}

.fancybox__dialog::backdrop {
    opacity: 0
}

@supports (height:100dvh) {
    .fancybox__dialog {
        height: 100dvh
    }
}

.fancybox__dialog :empty {
    display: block
}

div.fancybox__dialog {
    inset: 0;
    position: fixed;
    z-index: 1050
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-backdrop-bg: rgba(24, 24, 27, .95);
    --f-toolbar-margin: 0;
    --f-toolbar-padding: 8px;
    --f-toolbar-gap: 0;
    --f-toolbar-color: #ddd;
    --f-toolbar-font-size: 16px;
    --f-toolbar-font-weight: 500;
    --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
    --f-toolbar-line-height: var(--f-button-height);
    --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);
    --f-toolbar-shadow: none;
    --f-toolbar-bg: none;
    --f-counter-margin: 0;
    --f-counter-padding: 0px 10px;
    --f-counter-gap: 4px;
    --f-counter-line-height: var(--f-button-height);
    --f-carousel-gap: 17px;
    --f-carousel-slide-width: 100%;
    --f-carousel-slide-height: 100%;
    --f-carousel-slide-padding: 0;
    --f-carousel-slide-bg: unset;
    --f-html-color: #222;
    --f-html-bg: #fff;
    --f-error-color: #fff;
    --f-error-bg: #333;
    --f-caption-margin: 0;
    --f-caption-padding: 16px 8px;
    --f-caption-color: var(--fancybox-color, #dbdbdb);
    --f-caption-bg: transparent;
    --f-caption-font: inherit;
    --f-caption-line-height: 1.375;
    --f-spinner-color-1: hsla(0, 0%, 100%, .2);
    --f-spinner-color-2: hsla(0, 0%, 100%, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px;
    --f-progressbar-color: #fff;
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: #ddd;
    --f-button-hover-color: #fff;
    --f-button-outline-width: 1px;
    --f-button-outline-color: hsla(0, 0%, 100%, .75);
    --f-button-outline-offset: 0px;
    --f-button-bg: rgba(54, 54, 54, .75);
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-shadow: none;
    --f-button-transition: all .2s ease;
    --f-button-transform: none;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.75;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: .5;
    --f-arrow-pos: 32px;
    --f-arrow-width: 50px;
    --f-arrow-height: 50px;
    --f-arrow-svg-width: 24px;
    --f-arrow-svg-height: 24px;
    --f-arrow-svg-stroke-width: 2;
    --f-arrow-border-radius: 50%;
    --f-arrow-bg: rgba(54, 54, 54, .65);
    --f-arrow-color: #ddd;
    --f-arrow-hover-color: #fff;
    --f-close-button-width: 34px;
    --f-close-button-height: 34px;
    --f-close-border-radius: 4px;
    --f-close-button-color: #fff;
    --f-close-button-hover-color: #fff;
    --f-close-button-bg: transparent;
    --f-close-button-hover-bg: transparent;
    --f-close-button-active-bg: transparent;
    --f-close-button-svg-width: 22px;
    --f-close-button-svg-height: 22px;
    --f-thumbs-margin: 0px;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-bg: none;
    --f-thumb-transition: all .2s ease;
    --f-thumb-width: 94px;
    --f-thumb-height: 76px;
    --f-thumb-opacity: 1;
    --f-thumb-border: none;
    --f-thumb-shadow: none;
    --f-thumb-transform: none;
    --f-thumb-focus-opacity: 1;
    --f-thumb-focus-border: none;
    --f-thumb-focus-shadow: inset 0 0 0 2px hsla(0, 0%, 100%, .65);
    --f-thumb-focus-transform: none;
    --f-thumb-hover-opacity: 1;
    --f-thumb-hover-border: none;
    --f-thumb-hover-transform: none;
    --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
    --f-thumb-active-border: var(--f-thumb-hover-border);
    --f-thumb-active-transform: var(--f-thumb-hover-transform);
    --f-thumb-selected-opacity: 1;
    --f-thumb-selected-border: none;
    --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
    --f-thumb-selected-transform: none
}

.fancybox__container[theme=light] {
    --fancybox-color: #222;
    --fancybox-backdrop-bg: hsla(0, 0%, 100%, .97);
    --f-toolbar-color: var(--fancybox-color, #222);
    --f-toolbar-text-shadow: none;
    --f-toolbar-font-weight: 400;
    --f-html-color: var(--fancybox-color, #222);
    --f-html-bg: #fff;
    --f-error-color: #555;
    --f-error-bg: #fff;
    --f-video-bg: #fff;
    --f-caption-color: #333;
    --f-spinner-color-1: rgba(0, 0, 0, .2);
    --f-spinner-color-2: rgba(0, 0, 0, .8);
    --f-spinner-border-width: 3.5px;
    --f-progressbar-color: #6f6f74;
    --f-button-color: #333;
    --f-button-hover-color: #000;
    --f-button-outline-color: rgba(0, 0, 0, .85);
    --f-button-bg: hsla(0, 0%, 100%, .85);
    --f-button-svg-stroke-width: 1.3;
    --f-button-svg-filter: none;
    --f-arrow-bg: hsla(0, 0%, 100%, .85);
    --f-arrow-color: #333;
    --f-arrow-hover-color: #000;
    --f-arrow-svg-stroke-width: 1.3;
    --f-close-button-color: #555;
    --f-close-button-hover-color: #000;
    --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
    --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
    --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000
}

.fancybox__container {
    display: flex;
    flex-direction: column;
    inset: 0;
    overflow: hidden;
    position: absolute
}

.fancybox__container:focus {
    outline: none
}

.fancybox__container.has-vertical-thumbs {
    flex-direction: row-reverse
}

.fancybox__container.has-vertical-thumbs:not(.is-closing) .fancybox__viewport {
    overflow-x: clip;
    overflow-y: visible
}

.fancybox__container .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container>:not(.fancybox__carousel) {
    opacity: var(--f-drag-opacity, 1)
}

.fancybox__container:not(.is-ready, .is-hiding) {
    visibility: hidden
}

.fancybox__container.is-revealing .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container.is-revealing .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container.is-revealing .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-revealing>:not(.fancybox__carousel) {
    animation: var(--f-interface-enter-duration, .35s) ease none f-fadeIn
}

.fancybox__container.is-hiding .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper),
.fancybox__container.is-hiding .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container.is-hiding .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-hiding>:not(.fancybox__carousel) {
    animation: var(--f-interface-exit-duration, .35s) ease forwards f-fadeOut
}

.fancybox__container.is-idle .f-carousel__toolbar {
    opacity: 0;
    pointer-events: none
}

.fancybox__container.is-idle .f-button.is-arrow {
    opacity: 0
}

.fancybox__container.is-idle.is-ready .f-carousel__toolbar {
    animation: f-fadeOut .15s ease-out both;
    pointer-events: none
}

.fancybox__container.is-idle.is-ready .f-button.is-arrow {
    animation: f-fadeOut .15s ease-out both
}

.fancybox__backdrop {
    background: var(--fancybox-backdrop-bg);
    inset: 0;
    position: fixed;
    z-index: -1
}

.fancybox__carousel {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow-x: clip;
    overflow-y: visible;
    position: relative;
    z-index: 10
}

.fancybox__carousel.is-vertical {
    --f-carousel-slide-height: 100%
}

.fancybox__carousel.is-ltr {
    direction: ltr
}

.fancybox__carousel.is-rtl {
    direction: rtl
}

.fancybox__carousel>.f-button.is-arrow:before {
    content: "";
    inset: -30px;
    position: absolute;
    z-index: 1
}

.fancybox__viewport {
    display: grid;
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: visible;
    position: relative;
    transform: translate3d(0, var(--f-drag-offset, 0), 0)
}

.fancybox__viewport.is-draggable {
    cursor: move;
    cursor: grab
}

.fancybox__viewport.is-dragging {
    cursor: move;
    cursor: grabbing
}

.fancybox__viewport [contenteditable],
.fancybox__viewport [data-selectable] {
    cursor: auto
}

.fancybox__slide {
    align-items: center;
    backface-visibility: hidden;
    background: var(--f-carousel-slide-bg);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    grid-area: 1/1;
    height: var(--f-carousel-slide-height);
    margin: 0;
    max-width: 100%;
    min-height: 0;
    min-width: 0;
    padding: var(--f-carousel-slide-padding);
    position: relative;
    transform: translateZ(0);
    width: var(--f-carousel-slide-width);
    will-change: transform
}

.fancybox__slide:after,
.fancybox__slide:before {
    content: "";
    display: block
}

.fancybox__slide:before {
    margin-bottom: auto
}

.fancybox__slide:after {
    margin-top: auto
}

.fancybox__slide.is-selected {
    z-index: 1
}

.fancybox__slide.f-zoomable {
    overflow: visible
}

.fancybox__slide.has-error {
    --f-html-color: var(--f-error-color, --f-html-color);
    --f-html-bg: var(--f-error-bg, --f-html-bg)
}

.fancybox__slide.has-html {
    overflow: auto;
    padding: 8px
}

.fancybox__slide.has-close-btn {
    padding-top: 34px
}

.fancybox__slide.has-controls:before {
    margin: 0
}

.fancybox__slide .f-spinner {
    cursor: pointer
}

.fancybox__container.is-closing .f-caption,
.fancybox__slide.is-loading .f-caption {
    visibility: hidden
}

.fancybox__container.is-closing .fancybox__carousel {
    overflow: visible
}

.f-button.is-close-button {
    --f-button-width: var(--f-close-button-width);
    --f-button-height: var(--f-close-button-height);
    --f-button-border-radius: var(--f-close-border-radius);
    --f-button-color: var(--f-close-button-color);
    --f-button-hover-color: var(--f-close-button-hover-color);
    --f-button-bg: var(--f-close-button-bg);
    --f-button-hover-bg: var(--f-close-button-hover-bg);
    --f-button-active-bg: var(--f-close-button-active-bg);
    --f-button-svg-width: var(--f-close-button-svg-width);
    --f-button-svg-height: var(--f-close-button-svg-height);
    position: absolute;
    right: 0;
    top: calc(var(--f-button-height)*-1);
    z-index: 40
}

.acf-link,
.acf-link--secondary,
.acf-module-hero__cta {
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    display: inline-block;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    padding: .5rem 1rem;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease
}

.acf-link--secondary:focus,
.acf-link:focus,
.acf-module-hero__cta:focus {
    outline: none
}

.acf-link--secondary:disabled,
.acf-link:disabled,
.acf-module-hero__cta:disabled {
    cursor: not-allowed;
    opacity: .6
}

.acf-link,
.acf-module-hero__cta {
    background-color: #f6fb7a;
    border-color: #f6fb7a;
    color: #fff
}

.acf-link:hover:not(:disabled),
.acf-module-hero__cta:hover:not(:disabled) {
    background-color: #f3fa48;
    border-color: #f3fa48
}

.acf-link--secondary {
    background-color: transparent;
    border-color: #f6fb7a;
    color: #f6fb7a
}

.acf-link--secondary:hover:not(:disabled) {
    background-color: #f6fb7a;
    color: #fff
}

.acf-module-hero__title,
.acf-wysiwyg h1,
.acf-wysiwyg h2,
.acf-wysiwyg h3,
.acf-wysiwyg h4,
.acf-wysiwyg h5,
.acf-wysiwyg h6,
.flexible-content__heading,
.flexible-content__subheading,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    margin-top: 0
}

.acf-module-hero__title,
.flexible-content__heading {
    font-size: 2rem
}

@media(min-width:782px) {

    .acf-module-hero__title,
    .flexible-content__heading {
        font-size: 2.5rem
    }
}

@media(min-width:960px) {

    .acf-module-hero__title,
    .flexible-content__heading {
        font-size: 3rem
    }
}

.flexible-content__subheading {
    font-size: 1.5rem
}

@media(min-width:782px) {
    .flexible-content__subheading {
        font-size: 2rem
    }
}

.acf-repeater__item {
    background: #fff;
    border: 1px solid #cdaf70;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 2rem;
    transition: box-shadow .3s ease
}

.acf-repeater__item:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1)
}

.acf-module-hero {
    padding-bottom: 4rem;
    padding-top: 4rem
}

@media(min-width:782px) {
    .acf-module-hero {
        padding-bottom: 5rem;
        padding-top: 5rem
    }
}

.acf-module-hero__content,
.contact-form-section__form,
.container,
.container-padded,
.flexible-content__container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    width: 92.4%
}

.container-full,
.container-full-padded {
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

.acf-link--text {
    transition: color .3s ease
}

.acf-link--text:focus,
.acf-link--text:hover {
    color: #f6fb7a
}

*,
:after,
:before {
    box-sizing: border-box
}

:focus {
    outline: none
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

html.is-popup {
    overflow: hidden
}

body {
    background-color: #fff;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

blockquote,
body,
dd,
dl,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
legend,
ol,
p,
pre,
ul {
    margin: 0
}

ol,
ul {
    list-style: none;
    padding: 0
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

img {
    border-style: none;
    height: auto;
    max-width: 100%
}

a {
    color: #f6fb7a;
    text-decoration: underline;
    transition: color .3s ease
}

a:focus,
a:hover {
    color: #f1f930;
    text-decoration: none
}

body {
    color: #475267;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.5
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 450;
    letter-spacing: -.025em;
    line-height: 1
}

h1 {
    font-size: 3.4375rem;
    line-height: 1.2
}

.component-title,
h2 {
    font-size: 1.875rem
}

h3 {
    font-size: 1.65rem
}

h4 {
    font-size: 1.5rem
}

h5,
h6 {
    font-size: 1.45rem
}

.animated-title,
.animated-title-lg {
    display: inline-block;
    overflow: hidden;
    visibility: hidden
}

p {
    margin-bottom: 1rem
}

p:last-child {
    margin-bottom: 0
}

.lead {
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.4
}

@media(min-width:960px) {
    h1 {
        font-size: 6.25rem
    }

    .component-title,
    h2 {
        font-size: 2.8125rem
    }

    h3 {
        font-size: 2.25rem
    }

    h4 {
        font-size: 1.875rem
    }

    h5,
    h6 {
        font-size: 1.5rem
    }
}

.wysiwyg {
    color: #475267;
    font-size: 1rem;
    line-height: 1.8
}

@media(min-width:782px) {
    .wysiwyg {
        font-size: 1.125rem
    }
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
    color: #000;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 400;
    margin-bottom: 20px
}

.wysiwyg h1:first-child,
.wysiwyg h2:first-child,
.wysiwyg h3:first-child,
.wysiwyg h4:first-child,
.wysiwyg h5:first-child,
.wysiwyg h6:first-child {
    margin-top: 0
}

.wysiwyg h2 {
    font-size: 30px;
    line-height: 1.2667
}

.wysiwyg h3 {
    font-size: 24px;
    line-height: 1.3333;
    margin-bottom: 16px;
    margin-top: 50px
}

.wysiwyg h6 {
    text-transform: uppercase
}

.wysiwyg li,
.wysiwyg p {
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 450;
    line-height: 1.5;
    margin-bottom: 20px
}

.wysiwyg li:last-child,
.wysiwyg p:last-child {
    margin-bottom: 0
}

.wysiwyg li.lead,
.wysiwyg p.lead {
    color: #53697a;
    font-size: 1.125rem
}

@media(min-width:782px) {

    .wysiwyg li.lead,
    .wysiwyg p.lead {
        font-size: 1.25rem
    }
}

.wysiwyg a {
    color: inherit;
    text-decoration: underline;
    transition: color all .15s ease
}

.wysiwyg a:focus,
.wysiwyg a:hover {
    color: #a06262;
    text-decoration-thickness: 2px
}

.wysiwyg ol,
.wysiwyg ul {
    list-style: inside;
    margin-bottom: 1rem
}

.wysiwyg ol li,
.wysiwyg ul li {
    margin-bottom: 0
}

.wysiwyg ol li ol,
.wysiwyg ol li ul,
.wysiwyg ul li ol,
.wysiwyg ul li ul {
    margin-bottom: 0;
    margin-top: .25rem
}

.wysiwyg ul {
    list-style-type: disc
}

.wysiwyg ul ul {
    list-style-type: circle
}

.wysiwyg ul ul ul {
    list-style-type: square
}

.wysiwyg ol {
    list-style-type: decimal
}

.wysiwyg ol ol {
    list-style-type: lower-alpha
}

.wysiwyg ol ol ol {
    list-style-type: lower-roman
}

.wysiwyg blockquote {
    border-left: 4px solid #6941c6;
    color: #101828;
    font-size: 1.5rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.5;
    margin: 56px 0 76px;
    padding: 8px 0 8px 20px;
    position: relative
}

.wysiwyg blockquote p {
    margin-bottom: .5rem
}

.wysiwyg blockquote p:last-child {
    margin-bottom: 0
}

.wysiwyg blockquote cite {
    display: block;
    font-size: 16px;
    font-style: normal;
    margin-top: 32px
}

.wysiwyg blockquote cite span {
    color: #475267
}

.wysiwyg img {
    height: auto;
    max-width: 100%
}

.wysiwyg .alignleft {
    float: left;
    margin: 0 1rem 1rem 0
}

@media(min-width:600px) {
    .wysiwyg .alignleft {
        max-width: 40%
    }
}

.wysiwyg .alignright {
    float: right;
    margin: 0 0 1rem 1rem
}

@media(min-width:600px) {
    .wysiwyg .alignright {
        max-width: 40%
    }
}

.wysiwyg .aligncenter {
    display: block;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto
}

.wysiwyg .alignwide {
    margin-left: -3rem;
    margin-right: -3rem;
    max-width: none
}

@media(min-width:782px) {
    .wysiwyg .alignwide {
        margin-left: -4rem;
        margin-right: -4rem
    }
}

.wysiwyg .alignfull {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    max-width: none;
    width: 100vw
}

.wysiwyg .wp-caption {
    margin: 2rem 0;
    max-width: 100%
}

@media(min-width:782px) {
    .wysiwyg .wp-caption {
        margin: 66px 0 48px
    }
}

.wysiwyg .wp-caption img {
    display: block;
    margin: 0 0 16px
}

.wysiwyg .wp-caption-text {
    line-height: 1.42;
    padding-left: 23px;
    position: relative
}

.wysiwyg .wp-caption-text:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNOC40NzIwMyAxMi4yNDI3TDcuNTI5MjIgMTMuMTg1NUM2LjIyNzQ4IDE0LjQ4NzIgNC4xMTY5MyAxNC40ODcyIDIuODE1MTggMTMuMTg1NUMxLjUxMzQzIDExLjg4MzcgMS41MTM0MyA5Ljc3MzE3IDIuODE1MTggOC40NzE0MkwzLjc1Nzk5IDcuNTI4NjFNMTIuMjQzMyA4LjQ3MTQyTDEzLjE4NjEgNy41Mjg2MUMxNC40ODc4IDYuMjI2ODcgMTQuNDg3OCA0LjExNjMyIDEzLjE4NjEgMi44MTQ1N0MxMS44ODQzIDEuNTEyODIgOS43NzM3OCAxLjUxMjgyIDguNDcyMDMgMi44MTQ1N0w3LjUyOTIyIDMuNzU3MzhNNS42NjcyOSAxMC4zMzMzTDEwLjMzNCA1LjY2NjY3IiBzdHJva2U9IiM5OEEyQjMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 16px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 16px
}

.wysiwyg .wp-caption-text a {
    color: inherit
}

.wysiwyg figure {
    margin: 60px 0
}

.wysiwyg figure img {
    margin: 0
}

.wysiwyg table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: .875rem;
    margin: 2rem 0;
    width: 100%
}

@media(min-width:782px) {
    .wysiwyg table {
        font-size: 1rem
    }
}

.wysiwyg td,
.wysiwyg th {
    border-bottom: 1px solid #cdaf70;
    padding: .5rem;
    text-align: left;
    vertical-align: top
}

.wysiwyg th {
    background-color: hsla(62, 94%, 73%, .1);
    border-bottom: 2px solid #cdaf70;
    color: #475267;
    font-weight: 700
}

.wysiwyg tbody tr:hover {
    background-color: hsla(62, 94%, 73%, .05)
}

.wysiwyg code {
    background-color: rgba(71, 82, 103, .1);
    border-radius: 3px;
    color: #475267;
    font-family: Consolas, Monaco, monospace;
    font-size: .9em;
    padding: 2px 6px
}

.wysiwyg pre {
    background-color: rgba(71, 82, 103, .05);
    border-radius: 6px;
    line-height: 1.4;
    margin: 2rem 0;
    overflow-x: auto;
    padding: 1rem
}

.wysiwyg pre code {
    background-color: transparent;
    border-radius: 0;
    font-size: .875rem;
    padding: 0
}

.wysiwyg hr {
    background-color: #cdaf70;
    border: none;
    height: 1px;
    margin: 3rem 0
}

.wysiwyg dl {
    margin-bottom: 1rem
}

.wysiwyg dt {
    color: #475267;
    font-weight: 700;
    margin-bottom: .25rem
}

.wysiwyg dd {
    color: #53697a;
    margin-bottom: .5rem;
    margin-left: 2rem
}

.wysiwyg dd:last-child {
    margin-bottom: 0
}

.wysiwyg address {
    font-style: italic;
    line-height: 1.6;
    margin-bottom: 1rem
}

.wysiwyg abbr[title] {
    cursor: help;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

.wysiwyg mark {
    background-color: hsla(62, 94%, 73%, .3);
    border-radius: 2px;
    padding: 1px 3px
}

.wysiwyg small {
    color: #53697a;
    font-size: .875rem
}

.wysiwyg sub,
.wysiwyg sup {
    font-size: .75em;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

.wysiwyg sub {
    bottom: -.25em
}

.wysiwyg sup {
    top: -.5em
}

.wysiwyg .more-link {
    background-color: #f6fb7a;
    border-radius: 4px;
    color: #000;
    display: inline-block;
    font-weight: 700;
    margin-top: .5rem;
    padding: .25rem .5rem;
    text-decoration: none;
    transition: all all .15s ease
}

.wysiwyg .more-link:focus,
.wysiwyg .more-link:hover {
    background-color: #f3fa48;
    transform: translateY(-1px)
}

.wysiwyg .gallery {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin: 2rem 0
}

@media(min-width:782px) {
    .wysiwyg .gallery {
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
    }
}

.wysiwyg .gallery-item img {
    height: auto;
    margin: 0;
    width: 100%
}

.wysiwyg .gallery-caption {
    color: #53697a;
    font-size: .75rem;
    margin-top: .25rem;
    text-align: center
}

.wysiwyg:after {
    clear: both;
    content: "";
    display: table
}

.says:focus,
.screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    color: #475267;
    display: block;
    font-size: .875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: .25rem .5rem;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

.admin-bar .site-header {
    top: 32px
}

@media screen and (max-width:782px) {
    .admin-bar .site-header {
        top: 46px
    }
}

.admin-bar .skip-link:focus {
    top: 42px
}

@media screen and (max-width:782px) {
    .admin-bar .skip-link:focus {
        top: 56px
    }
}

.f-html {
    background: none !important
}

.f-iframe {
    border-radius: 12px
}

@keyframes hero_content_sm {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(calc(min(50vh, 100vh - 680px)*-1))
    }
}

@keyframes hero_content_lg {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(calc(min(50vh, 100vh - 790px)*-1))
    }
}

@keyframes hero_media_box {
    0% {
        opacity: 0;
        transform: translateX(50%)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes hero_content_bg {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(-130px)
    }
}

@keyframes hero_text {
    0% {
        opacity: 0;
        transform: translateY(-150%)
    }

    to {
        opacity: 1;
        transform: translateY(calc(-100% - 30px))
    }
}

@keyframes hero_aside {
    0% {
        opacity: 0;
        transform: translateY(50%)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes hero_aside_logo {
    0% {
        opacity: 0
    }

    33% {
        opacity: 1
    }

    67% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes hero_aside_line {
    0% {
        opacity: 0;
        transform: scaleY(0)
    }

    67% {
        opacity: 1;
        transform: scaleY(1)
    }

    80% {
        opacity: 0
    }

    to {
        opacity: 0
    }
}

@keyframes hero_aside_text {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(calc(-100% - 30px))
    }
}

@keyframes hero_content_wrapper_line {
    0% {
        opacity: 0;
        transform: scaleX(.25)
    }

    to {
        opacity: 1;
        transform: scaleX(1)
    }
}

.skip-link {
    height: 1px;
    left: -9999px;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 1px;
    z-index: 999999
}

.skip-link:focus {
    background-color: #000;
    border: 2px solid #fff;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
    color: #fff;
    font-weight: 600;
    height: auto;
    left: 50%;
    outline: none;
    padding: 15px 25px;
    position: fixed;
    text-decoration: none;
    top: 10px;
    transform: translateX(-50%);
    width: auto
}

.skip-link:focus:hover {
    background-color: #fff;
    color: #000
}

.says,
.screen-reader-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    width: 1px;
    word-wrap: normal !important
}

.says:focus,
.screen-reader-text:focus {
    position: static !important;
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    overflow: visible !important;
    width: auto !important
}

.site-header {
    background: rgba(30, 74, 122, 0.95);
    border-bottom: 1px solid hsla(0, 0%, 100%, .3);
    height: 80px;
    left: 0;
    padding: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 2001
}

.site-header .contact-form-section__form,
.site-header .container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between
}

.site-branding {
    height: 47px;
    width: 34px
}

.site-branding .site-logo {
    display: block
}

.site-branding .site-logo path {
    fill: #fff;
    transition: fill .15s ease-in-out
}

.main-navigation .menu-toggle {
    background: none;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: 40px;
    padding: 10px;
    transform: translateX(11px);
    width: 40px
}

.main-navigation .menu-toggle span,
.main-navigation .menu-toggle span:after,
.main-navigation .menu-toggle span:before {
    background: #fff;
    border-radius: 2px;
    display: block;
    height: 1px;
    margin: 0;
    transition: transform .15s ease-in-out, width .15s ease-in-out;
    width: 18px
}

.main-navigation .menu-toggle span {
    position: relative;
    text-indent: -9999px;
    width: 9px
}

.main-navigation .menu-toggle span:after,
.main-navigation .menu-toggle span:before {
    content: "";
    left: 0;
    position: absolute;
    right: 0
}

.main-navigation .menu-toggle span:before {
    top: -8px
}

.main-navigation .menu-toggle span:after {
    bottom: -8px
}

.main-navigation .menu-toggle:hover span {
    width: 18px
}

.main-navigation .menu-toggle:focus {
    outline: none
}

.mega-menu-open .site-header {
    background-color: #fff;
    border-bottom-color: #f2f2f2;
    color: #000
}

.mega-menu-open .site-branding .site-logo path {
    fill: #000
}

.mega-menu-open .main-navigation .menu-toggle {
    border-color: #000
}

.mega-menu-open .main-navigation .menu-toggle span {
    background-color: transparent;
    transform: rotate(225deg);
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    width: 18px
}

.mega-menu-open .main-navigation .menu-toggle span:after,
.mega-menu-open .main-navigation .menu-toggle span:before {
    background-color: #000;
    top: 0
}

.mega-menu-open .main-navigation .menu-toggle span:after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: transform .22s cubic-bezier(.215, .61, .355, 1) .12s
}

.newsletter-signup {
    background-color: #53697a;
    padding: 48px 0
}

.newsletter-signup__container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    text-align: left;
    width: 92.4%
}

@media(min-width:782px) {
    .newsletter-signup__container {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        text-align: left
    }
}

.newsletter-signup__content {
    flex: 1
}

.newsletter-signup__form {
    align-items: flex-end;
    display: flex;
    gap: 16px
}

.newsletter-signup__form .form-field {
    flex: 1;
    margin-bottom: 0
}

.newsletter-signup__title {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 8px
}

.newsletter-signup__description {
    color: #fff;
    font-size: 1rem;
    margin: 0;
    opacity: .8
}

.site-footer {
    background-color: #1e4a7a;
    border-top: 1px solid var(--Gray-200, #eaecf0);
    color: #fff;
    padding: 65px 0 78px
}

.site-footer__container {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    width: 92.4%
}

@media(min-width:960px) {
    .site-footer__container {
        flex-direction: row;
        justify-content: space-between
    }
}

.site-footer__logo {
    align-items: flex-end;
    display: flex;
    gap: 19px;
    margin-bottom: 50px
}

.site-footer__logo-svg {
    height: 96px;
    width: auto
}

.site-footer__certified {
    height: 54px;
    width: auto
}

.site-footer__tagline {
    font-size: clamp(3.25rem, 8.3333333333vw, 6.25rem);
    font-style: normal;
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: .85;
    margin-top: 78px;
    max-width: 700px
}

.site-footer__nav {
    display: flex;
    flex-wrap: wrap;
    row-gap: 50px
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-right: 30px;
    width: 50%
}

@media(min-width:782px) {
    .site-footer__column {
        width: 172px
    }
}

.site-footer__heading {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.428;
    margin: 0
}

.site-footer__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0
}

.site-footer__list a {
    color: #fff;
    font-size: 1rem;
    opacity: .8;
    text-decoration: none;
    transition: opacity .2s ease
}

.site-footer__list a:hover {
    opacity: 1
}

.site-footer__bottom {
    margin-top: 32px;
    padding: 0
}

.site-footer__bottom-container {
    align-items: left;
    border-top: 1px solid var(--Gray-200, #eaecf0);
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    padding-top: 24px;
    width: 92.4%
}

@media(min-width:600px) {
    .site-footer__bottom-container {
        align-items: center;
        flex-direction: row;
        gap: 0;
        justify-content: space-between
    }
}

.site-footer__copyright {
    color: hsla(0, 0%, 100%, .8);
    font-size: 1rem;
    margin: 0
}

@media(max-width:781px) {
    .site-footer__copyright span {
        display: none
    }
}

@media(min-width:782px) {
    .site-footer__copyright br {
        display: none
    }
}

.site-footer__copyright a {
    color: hsla(0, 0%, 100%, .8);
    text-decoration: underline
}

.site-footer__copyright a:hover {
    color: #fff
}

.site-footer__social-icons {
    display: flex;
    gap: 20px
}

.site-footer__social-icon {
    align-items: center;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    transition: opacity .2s ease;
    width: auto
}

.site-footer__social-icon svg {
    height: 24px;
    width: 24px
}

.site-footer__social-icon:hover {
    opacity: .7
}

.container--narrow {
    max-width: 960px
}

.container--wide {
    max-width: 1440px
}

.container--no-padding {
    padding-left: 0;
    padding-right: 0
}

.container-padded {
    padding-left: 1rem;
    padding-right: 1rem
}

@media(min-width:782px) {
    .container-padded {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.container-full-padded {
    padding-left: 1rem;
    padding-right: 1rem
}

@media(min-width:782px) {
    .container-full-padded {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.text-btn {
    align-items: center;
    background: none;
    color: #f6fb7a;
    display: inline-flex;
    font-size: 14px;
    gap: 8px;
    line-height: 200%;
    text-decoration: none;
    transition: all .3s ease
}

.text-btn svg {
    height: 20px;
    width: 20px;
    fill: currentColor;
    transition: all .3s ease
}

.text-btn:focus svg,
.text-btn:hover svg {
    transform: translateX(4px)
}

.text-btn:focus {
    outline: none
}

.pill-button {
    background-color: #000;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #fff;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    padding: 12px 18px;
    text-decoration: none;
    transition: all .3s ease
}

.pill-button:focus,
.pill-button:hover {
    background-color: #f6fb7a;
    color: #000;
    text-decoration: none
}

.pill-button:focus {
    outline: none
}

.dark-section .pill-button {
    background-color: #fff;
    color: #000
}

.dark-section .pill-button:focus,
.dark-section .pill-button:hover {
    background-color: #f6fb7a;
    color: #000;
    text-decoration: none
}

.back-btn {
    align-items: center;
    color: #fff;
    display: inline-flex;
    gap: 5px;
    justify-content: flex-start
}

.back-btn,
.back-btn:hover {
    text-decoration: underline
}

.back-btn:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iYWJvdXQtam91cm5hbF9faWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSI+CiAgICA8cGF0aCBkPSJNNyAxNy4zNDA4TDE3IDcuMzQwODJNMTcgNy4zNDA4Mkg3TTE3IDcuMzQwODJWMTcuMzQwOCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+IA==);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    flex: 0 0 16px;
    height: 16px;
    transform: rotate(-135deg);
    width: 16px
}

.form-input,
.form-select,
.form-textarea {
    background-color: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #475267;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 450;
    line-height: 1.5;
    padding: 11px 14px;
    transition: all .2s ease;
    width: 100%
}

.form-input::-moz-placeholder,
.form-select::-moz-placeholder,
.form-textarea::-moz-placeholder {
    color: #667085
}

.form-input::placeholder,
.form-select::placeholder,
.form-textarea::placeholder {
    color: #667085
}

.form-input:hover,
.form-select:hover,
.form-textarea:hover {
    border-color: #667085;
    outline: none
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    border-color: #53697a;
    outline: none
}

.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
    background-color: #d0d5dd;
    color: #667085;
    cursor: not-allowed
}

.form-input:disabled::-moz-placeholder,
.form-select:disabled::-moz-placeholder,
.form-textarea:disabled::-moz-placeholder {
    color: #667085
}

.form-input:disabled::placeholder,
.form-select:disabled::placeholder,
.form-textarea:disabled::placeholder {
    color: #667085
}

.form-input:-webkit-autofill,
.form-select:-webkit-autofill,
.form-textarea:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
    -webkit-text-fill-color: #475267
}

.form-textarea {
    min-height: 100px;
    resize: vertical
}

.form-textarea.form-textarea--fixed {
    resize: none
}

.form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3E%3Cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27m6 8 4 4 4-4%27/%3E%3C/svg%3E");
    background-position: right 8px center;
    background-repeat: no-repeat;
    background-size: 16px;
    cursor: pointer;
    padding-right: 32px
}

.form-field {
    margin-bottom: 16px
}

.form-field:last-child {
    margin-bottom: 0
}

.form-label {
    color: #475267;
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px
}

.form-label.form-label--required:after {
    color: #a06262;
    content: " *"
}

.form-group {
    margin-bottom: 24px
}

.form-group:last-child {
    margin-bottom: 0
}

.form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px
}

.form-row .form-field {
    flex: 1;
    margin-bottom: 0
}

.form-row:last-child {
    margin-bottom: 0
}

@media(max-width:599px) {
    .form-row {
        flex-direction: column;
        gap: 8px
    }
}

.form-submit {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.form-submit:focus {
    outline: none
}

.form-submit {
    align-items: center;
    background-color: #000;
    border: 2px solid #000;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.5;
    padding: 10px 24px;
    transition: all .2s ease
}

.form-submit:hover {
    background-color: #f6fb7a;
    border-color: #f6fb7a;
    color: #000
}

.form-submit:focus {
    outline: 2px solid #f6fb7a;
    outline-offset: 2px
}

.form-submit:disabled {
    background-color: #d0d5dd;
    border-color: #d0d5dd;
    color: #667085;
    cursor: not-allowed
}

.form-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.form-button:focus {
    outline: none
}

.form-button {
    align-items: center;
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .3);
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.5;
    padding: 10px 16px;
    transition: all .2s ease
}

.form-button:hover {
    background: #fff;
    color: #667085
}

.form-button:disabled {
    background-color: #d0d5dd;
    border-color: #d0d5dd;
    color: #667085;
    cursor: not-allowed
}

.form-field--error .form-input,
.form-field--error .form-select,
.form-field--error .form-textarea {
    border-color: #a06262
}

.form-field--error .form-input:focus,
.form-field--error .form-select:focus,
.form-field--error .form-textarea:focus {
    border-color: #a06262;
    box-shadow: 0 0 0 2px rgba(160, 98, 98, .2)
}

.form-field--success .form-input,
.form-field--success .form-select,
.form-field--success .form-textarea {
    border-color: #53697a
}

.form-field--success .form-input:focus,
.form-field--success .form-select:focus,
.form-field--success .form-textarea:focus {
    border-color: #53697a;
    box-shadow: 0 0 0 2px rgba(83, 105, 122, .2)
}

.form-message {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    margin-top: 6px
}

.form-field--error .form-message {
    color: #a06262
}

.form-field--success .form-message {
    color: #53697a
}

.form-field--small .form-input,
.form-field--small .form-select,
.form-field--small .form-textarea {
    font-size: 14px;
    padding: 8px 12px
}

.form-field--small .form-button,
.form-field--small .form-submit {
    font-size: 14px;
    padding: 8px 16px
}

.form-field--small .form-label {
    font-size: 12px
}

.form-field--large .form-input,
.form-field--large .form-select,
.form-field--large .form-textarea {
    font-size: 18px;
    padding: 16px 20px
}

.form-field--large .form-button,
.form-field--large .form-submit {
    font-size: 18px;
    padding: 16px 32px
}

.form-field--large .form-label {
    font-size: 16px
}

.form--dark .form-input,
.form--dark .form-select,
.form--dark .form-textarea {
    background-color: hsla(0, 0%, 100%, .1);
    border-color: hsla(0, 0%, 100%, .3);
    color: #fff
}

.form--dark .form-input::-moz-placeholder,
.form--dark .form-select::-moz-placeholder,
.form--dark .form-textarea::-moz-placeholder {
    color: hsla(0, 0%, 100%, .8)
}

.form--dark .form-input::placeholder,
.form--dark .form-select::placeholder,
.form--dark .form-textarea::placeholder {
    color: hsla(0, 0%, 100%, .8)
}

.form--dark .form-input:hover,
.form--dark .form-select:hover,
.form--dark .form-textarea:hover {
    border-color: hsla(0, 0%, 100%, .5)
}

.form--dark .form-input:focus,
.form--dark .form-select:focus,
.form--dark .form-textarea:focus {
    background-color: hsla(0, 0%, 100%, .05);
    border-color: #fff;
    box-shadow: 0 0 0 2px hsla(0, 0%, 100%, .2)
}

.form--dark .form-input:disabled,
.form--dark .form-select:disabled,
.form--dark .form-textarea:disabled {
    background-color: hsla(0, 0%, 100%, .05);
    color: hsla(0, 0%, 100%, .5)
}

.form--dark .form-input:-webkit-autofill,
.form--dark .form-select:-webkit-autofill,
.form--dark .form-textarea:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px hsla(0, 0%, 100%, .1);
    -webkit-text-fill-color: #fff
}

.form--dark .form-label {
    color: #fff
}

.form--dark .form-submit {
    background-color: #fff;
    border-color: #fff;
    color: #000
}

.form--dark .form-submit:hover {
    background-color: hsla(0, 0%, 100%, .9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
    transform: translateY(-1px)
}

.form--dark .form-submit:focus {
    outline-color: #fff
}

.form--dark .form-button {
    background-color: transparent;
    border-color: hsla(0, 0%, 100%, .3);
    color: #fff
}

.form--dark .form-button:hover {
    background-color: hsla(0, 0%, 100%, .1);
    border-color: #fff
}

.form--dark .form-button:focus {
    outline-color: #fff
}

.form--inline {
    align-items: flex-end;
    display: flex;
    gap: 16px
}

.form--inline .form-field {
    flex: 1;
    margin-bottom: 0
}

.form--inline .form-button,
.form--inline .form-submit {
    flex-shrink: 0
}

@media(max-width:599px) {
    .form--inline {
        align-items: stretch;
        flex-direction: column;
        gap: 8px
    }

    .form--inline .form-field {
        flex: none
    }
}

.form--stacked .form-field {
    margin-bottom: 20px
}

.form--stacked .form-row {
    flex-direction: column;
    gap: 8px
}

.form--stacked .form-row .form-field {
    margin-bottom: 12px
}

.form-sr-only {
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important
}

.form-fieldset {
    border: none;
    margin: 0 0 24px;
    padding: 0
}

.form-fieldset:last-child {
    margin-bottom: 0
}

.form-legend {
    color: #475267;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    padding: 0
}

.form--full-width,
.form--full-width .form-button,
.form--full-width .form-submit {
    width: 100%
}

.form--compact .form-field {
    margin-bottom: 12px
}

.form--compact .form-group {
    margin-bottom: 16px
}

.form--spacious .form-field {
    margin-bottom: 24px
}

.form--spacious .form-group {
    margin-bottom: 32px
}

.form .gform_validation_errors {
    background-color: transparent !important;
    border: 1.5px solid #f04438 !important;
    color: #f04438 !important
}

.form .gform_validation_errors>h2 {
    color: #f04438 !important;
    font-size: 15.2px
}

.form .gform_validation_errors>ol a {
    color: #000 !important
}

.form__container .gform_wrapper form .ginput_complex label {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 8px
}

.form__container .gform_wrapper form input[type=color],
.form__container .gform_wrapper form input[type=date],
.form__container .gform_wrapper form input[type=datetime-local],
.form__container .gform_wrapper form input[type=datetime],
.form__container .gform_wrapper form input[type=email],
.form__container .gform_wrapper form input[type=month],
.form__container .gform_wrapper form input[type=number],
.form__container .gform_wrapper form input[type=password],
.form__container .gform_wrapper form input[type=search],
.form__container .gform_wrapper form input[type=tel],
.form__container .gform_wrapper form input[type=text],
.form__container .gform_wrapper form input[type=time],
.form__container .gform_wrapper form input[type=url],
.form__container .gform_wrapper form input[type=week],
.form__container .gform_wrapper form select,
.form__container .gform_wrapper form textarea {
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 12px !important
}

.form__container .gform_wrapper form input[type=color]:focus,
.form__container .gform_wrapper form input[type=date]:focus,
.form__container .gform_wrapper form input[type=datetime-local]:focus,
.form__container .gform_wrapper form input[type=datetime]:focus,
.form__container .gform_wrapper form input[type=email]:focus,
.form__container .gform_wrapper form input[type=month]:focus,
.form__container .gform_wrapper form input[type=number]:focus,
.form__container .gform_wrapper form input[type=password]:focus,
.form__container .gform_wrapper form input[type=search]:focus,
.form__container .gform_wrapper form input[type=tel]:focus,
.form__container .gform_wrapper form input[type=text]:focus,
.form__container .gform_wrapper form input[type=time]:focus,
.form__container .gform_wrapper form input[type=url]:focus,
.form__container .gform_wrapper form input[type=week]:focus,
.form__container .gform_wrapper form select:focus,
.form__container .gform_wrapper form textarea:focus {
    border-color: #53697a;
    outline: none
}

.form__container .gform_wrapper form .gfield_required {
    display: none
}

.form__container .gform_wrapper form .gform-button,
.form__container .gform_wrapper form .gform_button {
    background-color: #000;
    border: none;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #fff;
    cursor: pointer;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 32px;
    padding: 12px 18px;
    transition: background-color .3s ease;
    width: 100%
}

.form__container .gform_wrapper form .gform-button:hover,
.form__container .gform_wrapper form .gform_button:hover {
    background-color: #1a1a1a
}

.form__container .gform_wrapper form .gform-button:focus,
.form__container .gform_wrapper form .gform_button:focus {
    outline: 2px solid #f6fb7a;
    outline-offset: 2px
}

.form__container .gform_wrapper form .gform-button:disabled,
.form__container .gform_wrapper form .gform_button:disabled {
    cursor: not-allowed;
    opacity: .6
}

.form__container .gform_wrapper form .gfield_error label {
    color: #475267
}

.form__container .gform_wrapper form .gfield_validation_message {
    background-color: transparent;
    border: none;
    color: #f04438;
    font-size: .75rem;
    font-weight: 500;
    padding: 0
}

.form__container .gform_wrapper form .gfield_error [aria-invalid=true] {
    border-color: #f04438
}

.form__container .gform_wrapper form .gfield_consent_label {
    padding-left: 5px
}

.form__container .gform_wrapper form .gfield_consent_label a {
    color: #000;
    text-decoration: underline
}

.form__container .gform_wrapper form .gfield_consent_label a:hover {
    color: #344054
}

.dark-section .form__container .gform_wrapper form .gfield_consent_label a,
.dark-section .form__container .gform_wrapper form .gfield_error label {
    color: #fff
}

.dark-section .form__container .gform_wrapper form .gform-button,
.dark-section .form__container .gform_wrapper form .gform_button {
    background-color: #fff;
    color: #000
}

.dark-section .form__container .gform_wrapper form .gform-button:hover,
.dark-section .form__container .gform_wrapper form .gform_button:hover {
    background-color: hsla(0, 0%, 100%, .9)
}

.dark-section .form__container .gform_wrapper form input[type=color],
.dark-section .form__container .gform_wrapper form input[type=date],
.dark-section .form__container .gform_wrapper form input[type=datetime-local],
.dark-section .form__container .gform_wrapper form input[type=datetime],
.dark-section .form__container .gform_wrapper form input[type=email],
.dark-section .form__container .gform_wrapper form input[type=month],
.dark-section .form__container .gform_wrapper form input[type=number],
.dark-section .form__container .gform_wrapper form input[type=password],
.dark-section .form__container .gform_wrapper form input[type=search],
.dark-section .form__container .gform_wrapper form input[type=tel],
.dark-section .form__container .gform_wrapper form input[type=text],
.dark-section .form__container .gform_wrapper form input[type=time],
.dark-section .form__container .gform_wrapper form input[type=url],
.dark-section .form__container .gform_wrapper form input[type=week],
.dark-section .form__container .gform_wrapper form select,
.dark-section .form__container .gform_wrapper form textarea {
    background-color: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .3);
    color: #fff
}

.dark-section .form__container .gform_wrapper form input[type=color]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=date]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=email]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=month]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=number]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=password]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=search]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=tel]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=text]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=time]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=url]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=week]::-moz-placeholder,
.dark-section .form__container .gform_wrapper form select::-moz-placeholder,
.dark-section .form__container .gform_wrapper form textarea::-moz-placeholder {
    color: #fff
}

.dark-section .form__container .gform_wrapper form input[type=color]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=date]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=email]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=month]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=number]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=password]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=search]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=tel]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=text]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=time]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=url]::placeholder,
.dark-section .form__container .gform_wrapper form input[type=week]::placeholder,
.dark-section .form__container .gform_wrapper form select::placeholder,
.dark-section .form__container .gform_wrapper form textarea::placeholder {
    color: #fff
}

.dark-section .form__container .gform_wrapper form input[type=color]:hover,
.dark-section .form__container .gform_wrapper form input[type=date]:hover,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:hover,
.dark-section .form__container .gform_wrapper form input[type=datetime]:hover,
.dark-section .form__container .gform_wrapper form input[type=email]:hover,
.dark-section .form__container .gform_wrapper form input[type=month]:hover,
.dark-section .form__container .gform_wrapper form input[type=number]:hover,
.dark-section .form__container .gform_wrapper form input[type=password]:hover,
.dark-section .form__container .gform_wrapper form input[type=search]:hover,
.dark-section .form__container .gform_wrapper form input[type=tel]:hover,
.dark-section .form__container .gform_wrapper form input[type=text]:hover,
.dark-section .form__container .gform_wrapper form input[type=time]:hover,
.dark-section .form__container .gform_wrapper form input[type=url]:hover,
.dark-section .form__container .gform_wrapper form input[type=week]:hover,
.dark-section .form__container .gform_wrapper form select:hover,
.dark-section .form__container .gform_wrapper form textarea:hover {
    border-color: #667085;
    outline: none
}

.dark-section .form__container .gform_wrapper form input[type=color]:focus,
.dark-section .form__container .gform_wrapper form input[type=date]:focus,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:focus,
.dark-section .form__container .gform_wrapper form input[type=datetime]:focus,
.dark-section .form__container .gform_wrapper form input[type=email]:focus,
.dark-section .form__container .gform_wrapper form input[type=month]:focus,
.dark-section .form__container .gform_wrapper form input[type=number]:focus,
.dark-section .form__container .gform_wrapper form input[type=password]:focus,
.dark-section .form__container .gform_wrapper form input[type=search]:focus,
.dark-section .form__container .gform_wrapper form input[type=tel]:focus,
.dark-section .form__container .gform_wrapper form input[type=text]:focus,
.dark-section .form__container .gform_wrapper form input[type=time]:focus,
.dark-section .form__container .gform_wrapper form input[type=url]:focus,
.dark-section .form__container .gform_wrapper form input[type=week]:focus,
.dark-section .form__container .gform_wrapper form select:focus,
.dark-section .form__container .gform_wrapper form textarea:focus {
    border-color: #53697a;
    outline: none
}

.dark-section .form__container .gform_wrapper form input[type=color]:disabled,
.dark-section .form__container .gform_wrapper form input[type=date]:disabled,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:disabled,
.dark-section .form__container .gform_wrapper form input[type=datetime]:disabled,
.dark-section .form__container .gform_wrapper form input[type=email]:disabled,
.dark-section .form__container .gform_wrapper form input[type=month]:disabled,
.dark-section .form__container .gform_wrapper form input[type=number]:disabled,
.dark-section .form__container .gform_wrapper form input[type=password]:disabled,
.dark-section .form__container .gform_wrapper form input[type=search]:disabled,
.dark-section .form__container .gform_wrapper form input[type=tel]:disabled,
.dark-section .form__container .gform_wrapper form input[type=text]:disabled,
.dark-section .form__container .gform_wrapper form input[type=time]:disabled,
.dark-section .form__container .gform_wrapper form input[type=url]:disabled,
.dark-section .form__container .gform_wrapper form input[type=week]:disabled,
.dark-section .form__container .gform_wrapper form select:disabled,
.dark-section .form__container .gform_wrapper form textarea:disabled {
    background-color: #d0d5dd;
    color: #667085;
    cursor: not-allowed
}

.dark-section .form__container .gform_wrapper form input[type=color]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=date]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=email]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=month]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=number]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=password]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=search]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=tel]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=text]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=time]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=url]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form input[type=week]:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form select:disabled::-moz-placeholder,
.dark-section .form__container .gform_wrapper form textarea:disabled::-moz-placeholder {
    color: #667085
}

.dark-section .form__container .gform_wrapper form input[type=color]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=date]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=datetime]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=email]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=month]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=number]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=password]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=search]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=tel]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=text]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=time]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=url]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form input[type=week]:disabled::placeholder,
.dark-section .form__container .gform_wrapper form select:disabled::placeholder,
.dark-section .form__container .gform_wrapper form textarea:disabled::placeholder {
    color: #667085
}

.dark-section .form__container .gform_wrapper form input[type=color]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=date]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=datetime-local]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=datetime]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=email]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=month]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=number]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=password]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=search]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=tel]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=text]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=time]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=url]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form input[type=week]:-webkit-autofill,
.dark-section .form__container .gform_wrapper form select:-webkit-autofill,
.dark-section .form__container .gform_wrapper form textarea:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
    -webkit-text-fill-color: #475267
}

.mega-menu {
    height: calc(100% - 80px);
    left: 0;
    opacity: 0;
    position: fixed;
    top: 80px;
    transform: translateY(-100vh);
    transition: all .3s ease-in-out, transform .6s ease-in-out;
    visibility: hidden;
    width: 100%;
    z-index: 2000
}

.mega-menu.is-open {
    opacity: 1;
    transform: none;
    visibility: visible
}

.mega-menu__overlay {
    align-items: stretch;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    left: 0;
    padding: 62px 0 22px;
    position: absolute;
    top: 0;
    width: 100%
}

@media(min-width:782px) {
    .mega-menu__overlay {
        padding: 72px 0 0
    }
}

.mega-menu__container {
    flex-grow: 1;
    flex-shrink: 1;
    margin: 0 auto;
    max-width: 1324px;
    overflow: hidden;
    overflow-y: auto;
    padding: 30px 20px 0;
    position: relative;
    scrollbar-width: none;
    width: 100%
}

.mega-menu__container::-webkit-scrollbar {
    display: none
}

@media(min-width:782px) {
    .mega-menu__container {
        padding: 0;
        width: 92.4%
    }
}

.mega-menu__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
    padding: 20px 0
}

.mega-menu__logo .logo-image {
    height: 40px;
    width: auto
}

.mega-menu__close {
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    padding: 8px
}

.mega-menu__close svg {
    height: 24px;
    width: 24px
}

.mega-menu__close:hover {
    opacity: .8
}

.mega-menu__close:focus {
    outline: 2px solid hsla(0, 0%, 100%, .5);
    outline-offset: 2px
}

.mega-menu__content {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 400px;
    width: 100%
}

.mega-menu__nav {
    max-width: 1400px;
    width: 100%
}

.mega-menu__footer {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 22px 0 0
}

@media(min-width:782px) {
    .mega-menu__footer {
        background: #f7f7f7;
        margin: 29px 0 0;
        padding: 18px 0
    }
}

.mega-menu__ctas {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin: 0 0 0 auto
}

.mega-menu__cta {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #000;
    white-space: nowrap
}

.mega-menu__cards {
    display: flex;
    gap: 16px;
    justify-content: flex-start;
    overflow: hidden;
    overflow-x: auto;
    padding: 0 0 22px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-color: #000 #fff;
    scrollbar-width: auto
}

.mega-menu__cards::-webkit-scrollbar {
    width: 5px
}

.mega-menu__cards::-webkit-scrollbar-track {
    background: #fff
}

.mega-menu__cards::-webkit-scrollbar-thumb {
    background-color: #000;
    border: 3px solid #fff;
    border-radius: 10px
}

@media(min-width:782px) {
    .mega-menu__cards {
        gap: 21px;
        padding: 0 0 35px
    }
}

.mega-menu__cards::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0
}

.mega-menu__card {
    aspect-ratio: 268/408;
    background-color: #333;
    flex-grow: 0;
    flex-shrink: 0;
    max-width: 268px;
    min-width: 212px;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
    width: 212px
}

.mega-menu__card .mega-menu__card-image-wrap {
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: 1
}

.mega-menu__card .mega-menu__card-image-wrap img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transform-origin: center;
    transition: transform .1s ease-in;
    width: 100%
}

@media(min-width:1280px) {
    .mega-menu__card {
        width: 18.6111111111%
    }
}

.mega-menu__card-link {
    color: #fff;
    display: block;
    height: 100%;
    position: relative;
    text-decoration: none;
    width: 100%;
    z-index: 2
}

.mega-menu__card-link:focus svg,
.mega-menu__card-link:hover svg {
    transform: translateX(4px)
}

.mega-menu__card-link:focus img,
.mega-menu__card-link:hover img {
    transform: scale(1.15);
    transition: transform 3s ease-out
}

.mega-menu__card-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    z-index: 2
}

.mega-menu__card-content:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0, rgba(0, 0, 0, .6));
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.mega-menu__card-title {
    color: #fff;
    font-size: 1.475rem;
    font-weight: 450;
    letter-spacing: -.01em;
    line-height: 1;
    padding: 16px;
    position: relative;
    z-index: 3
}

@media(min-width:782px) {
    .mega-menu__card-title {
        font-size: 1.875rem
    }
}

.mega-menu__card-subtitle {
    color: hsla(0, 0%, 100%, .8);
    font-size: .9rem;
    line-height: 1.4;
    margin: 0 0 12px
}

.mega-menu__card-cta {
    border-top: 1px solid hsla(0, 0%, 100%, .6);
    color: #f6fb7a;
    display: inline-block;
    font-size: .875rem;
    font-weight: 500;
    height: 37%;
    opacity: .8;
    padding: 16px;
    position: relative;
    transform: translateY(5px);
    transition: all .2s ease;
    width: 100%;
    z-index: 3
}

.mega-menu__controls {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 12px;
    top: 20px;
    z-index: 3
}

@media(min-width:782px) {
    .mega-menu__controls {
        right: 0;
        top: 363px
    }
}

@media(min-width:1280px) {
    .mega-menu__controls {
        top: 393px
    }
}

.mega-menu__controls svg {
    opacity: .3
}

.mega-menu__controls svg:focus,
.mega-menu__controls svg:hover {
    cursor: pointer;
    opacity: 1
}

.mega-menu__controls svg.active {
    opacity: 1
}

.mega-menu__arrow-wrap {
    background-color: #fff;
    padding-left: 5px;
    padding-right: 5px
}

body.mega-menu-open {
    overflow: hidden
}

.admin-bar .mega-menu__overlay {
    padding-top: 90px
}

@media(min-width:782px) {
    .admin-bar .mega-menu__overlay {
        padding-top: 104px
    }
}

.scrolling-section {
    clip-path: inset(0 0 0 0);
    overflow: clip
}

.scrollable-component {
    background-color: #fff;
    color: #000;
    position: relative
}

.scrollable-component__pin-wrap {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    min-height: 100vh;
    width: 100%
}

@media(max-width:959px) {
    .scrollable-component__pin-wrap {
        flex-direction: column;
        min-height: auto
    }
}

.scrollable-component__left {
    display: flex;
    flex: 0 0 50%;
    flex-direction: column;
    height: 100vh;
    padding-top: 220px;
    position: sticky;
    top: 0
}

@media(max-width:959px) {
    .scrollable-component__left {
        flex: none;
        height: auto;
        padding: 2rem 0;
        position: static
    }
}

.scrollable-component__divider {
    border: 0;
    border-bottom: 1px solid;
    border-color: rgba(71, 82, 103, .3)
}

.scrollable-component .scrollable-component__title {
    align-items: flex-end;
    color: #000;
    display: flex;
    font-size: 1.875rem;
    line-height: 1.1;
    margin: 0 auto 2rem;
    min-height: 176px;
    position: relative;
    width: 92.4%
}

.scrollable-component .scrollable-component__title span {
    width: 100%
}

.scrollable-component .scrollable-component__title:after {
    background-color: rgba(71, 82, 103, .3);
    bottom: -30px;
    content: "";
    height: 1px;
    left: -15px;
    position: absolute;
    right: -15px
}

@media(min-width:960px) {
    .scrollable-component .scrollable-component__title:after {
        left: -3000px;
        right: 0
    }

    .scrollable-component .scrollable-component__title {
        font-size: 5rem;
        padding-left: 54px;
        width: 100%
    }
}

.scrollable-component__scroll-indicator {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 54px;
    opacity: .8;
    padding-left: 54px
}

@media(max-width:959px) {
    .scrollable-component__scroll-indicator {
        display: none
    }
}

.scrollable-component__scroll-text {
    font-size: 14px;
    text-transform: uppercase
}

.scrollable-component__right {
    flex: 0 0 50%;
    padding-left: 25px;
    z-index: 2
}

@media(min-width:960px) {
    .scrollable-component__right {
        padding-right: 25px;
        padding-top: 545px
    }
}

@media(max-width:959px) {
    .scrollable-component__right {
        flex: 1;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        width: 92.4%
    }
}

@media(min-width:960px) {
    .scrollable-component .scrollable-component__panel:first-child {
        position: relative
    }

    .scrollable-component .scrollable-component__panel:first-child:after {
        background-color: rgba(71, 82, 103, .3);
        content: "";
        height: 1px;
        left: -25px;
        position: absolute;
        top: -120px;
        width: 15000px
    }

    .scrollable-component .scrollable-component__panel:first-child:before {
        background-color: rgba(71, 82, 103, .3);
        content: "";
        height: 15000px;
        left: -25px;
        position: absolute;
        top: -119px;
        width: 1px
    }
}

.scrollable-component__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 2rem
}

@media(min-width:960px) {
    .scrollable-component__panel {
        margin-bottom: 88px
    }
}

.scrollable-component__panel-content {
    margin-bottom: 53px
}

@media(max-width:959px) {
    .scrollable-component__panel-content {
        margin-bottom: 2rem
    }
}

.scrollable-component__panel-title {
    color: #000;
    line-height: 1;
    margin: 0 0 30px;
    max-width: 457px
}

@media(max-width:959px) {
    .scrollable-component__panel-title {
        margin-bottom: 1rem
    }
}

.scrollable-component__panel-text {
    max-width: 483px
}

.scrollable-component__panel-text p {
    color: #475267
}

.scrollable-component__panel-image {
    max-width: 539px;
    overflow: hidden;
    position: relative
}

.scrollable-component__panel-image img {
    display: block;
    height: auto;
    width: 100%
}

.scrollable-component--dark {
    background-color: #4c4c4c;
    color: #fff
}

.scrollable-component--dark .scrollable-component__panel {
    border-bottom-color: #fff
}

.scrollable-component--dark .scrollable-component__panel-text p,
.scrollable-component--dark .scrollable-component__panel-title,
.scrollable-component--dark .scrollable-component__scroll-indicator,
.scrollable-component--dark .scrollable-component__title {
    color: #fff
}

.scrollable-component--dark .scrollable-component__panel-text p svg path,
.scrollable-component--dark .scrollable-component__panel-title svg path,
.scrollable-component--dark .scrollable-component__scroll-indicator svg path,
.scrollable-component--dark .scrollable-component__title svg path {
    fill: #fff
}

.scrollable-component--dark .scrollable-component__panel:first-child:after,
.scrollable-component--dark .scrollable-component__panel:first-child:before,
.scrollable-component--dark .scrollable-component__title:after {
    background-color: hsla(0, 0%, 100%, .3)
}

.scrollable-component--dark .scrollable-component__divider,
.scrollable-component--dark .scrollable-component__right {
    border-color: hsla(0, 0%, 100%, .3)
}

.scrollable-component--black {
    background-color: #1e4a7a;
    color: #fff
}

.scrollable-component--black .scrollable-component__panel-title,
.scrollable-component--black .scrollable-component__title {
    color: #fff
}

.scrollable-component--black .scrollable-component__panel:first-child:after,
.scrollable-component--black .scrollable-component__panel:first-child:before,
.scrollable-component--black .scrollable-component__title:after {
    background-color: hsla(0, 0%, 100%, .3)
}

.scrollable-component--black .scrollable-component__panel {
    border-bottom-color: hsla(0, 0%, 100%, .15)
}

.scrollable-component--black .scrollable-component__panel-text p {
    color: hsla(0, 0%, 100%, .8)
}

.scrollable-component--black .scrollable-component__scroll-indicator {
    color: hsla(0, 0%, 100%, .7)
}

.scrollable-component--black .scrollable-component__scroll-indicator svg path {
    fill: hsla(0, 0%, 100%, .7)
}

.scrollable-component--black .scrollable-component__divider,
.scrollable-component--black .scrollable-component__right {
    border-color: hsla(0, 0%, 100%, .3)
}

.scrollable-component--maroon {
    background-color: #a06262;
    color: #fff
}

.scrollable-component--maroon .scrollable-component__panel {
    border-bottom-color: hsla(0, 0%, 100%, .2)
}

.scrollable-component--maroon .scrollable-component__panel-text p,
.scrollable-component--maroon .scrollable-component__panel-title,
.scrollable-component--maroon .scrollable-component__scroll-indicator,
.scrollable-component--maroon .scrollable-component__title {
    color: #fff
}

.scrollable-component--maroon .scrollable-component__panel-text p svg path,
.scrollable-component--maroon .scrollable-component__panel-title svg path,
.scrollable-component--maroon .scrollable-component__scroll-indicator svg path,
.scrollable-component--maroon .scrollable-component__title svg path {
    fill: #fff
}

.scrollable-component--maroon .scrollable-component__panel:first-child:after,
.scrollable-component--maroon .scrollable-component__panel:first-child:before,
.scrollable-component--maroon .scrollable-component__title:after {
    background-color: hsla(0, 0%, 100%, .2)
}

.scrollable-component--maroon .scrollable-component__panel-text p {
    color: hsla(0, 0%, 100%, .9)
}

.scrollable-component--maroon .scrollable-component__scroll-indicator {
    color: hsla(0, 0%, 100%, .8)
}

.scrollable-component--maroon .scrollable-component__divider,
.scrollable-component--maroon .scrollable-component__right {
    border-color: hsla(0, 0%, 100%, .3)
}

@media(prefers-contrast:high) {
    .scrollable-component__panel {
        border-bottom-width: 2px
    }

    .scrollable-component--black .scrollable-component__panel,
    .scrollable-component--dark .scrollable-component__panel,
    .scrollable-component--maroon .scrollable-component__panel {
        border-bottom-color: #fff
    }
}

@media(prefers-reduced-motion:reduce) {
    .scrollable-component__panel-image img {
        transition: none .3s ease
    }

    .scrollable-component__panel-image img:hover {
        transform: none
    }
}

.background-transparency-true .scrollable-component--light {
    background-color: hsla(0, 0%, 100%, .7)
}

.background-transparency-true .scrollable-component--black {
    background-color: rgba(30, 74, 122, 0.85)
}

.background-transparency-true .scrollable-component--dark {
    background-color: rgba(76, 76, 76, .9)
}

.background-transparency-true .scrollable-component--maroon {
    background-color: rgba(168, 98, 98, .9)
}

.download-form {
    background-color: #1e4a7a;
    color: #fff;
    padding: 72px 0 78px
}

@media(min-width:782px) {
    .download-form {
        padding: 92px 0
    }
}

.download-form__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 41px
}

@media(min-width:782px) {
    .download-form__inner {
        margin: 0 auto;
        max-width: 768px
    }
}

.download-form__content {
    text-align: center
}

.download-form__title {
    color: #fff;
    font-size: 2.188rem;
    font-weight: 400;
    line-height: 1.14;
    margin-bottom: 20px
}

@media(min-width:782px) {
    .download-form__title {
        font-size: 2.813rem;
        line-height: 1
    }
}

.download-form__text {
    color: hsla(0, 0%, 100%, .8);
    font-size: .875rem;
    font-weight: 300;
    margin: 0
}

@media(min-width:782px) {
    .download-form__text {
        font-size: 1.125rem;
        line-height: 1.16
    }
}

.download-form__form-wrapper {
    max-width: 1000px;
    width: 100%
}

.download-form__form {
    margin-bottom: 15px
}

#gform_wrapper_2 .gform_footer {
    justify-content: center
}

#gform_wrapper_2 .ginput_container_consent {
    text-align: center
}

#gform_wrapper_2 .gform_button {
    margin-top: 0 !important;
    width: auto
}

#gform_confirmation_message_2 p:first-child {
    background-color: #a06262;
    border-radius: 8px;
    margin-bottom: 20px;
    padding: 14px 12px
}

.summary-pack-btn {
    align-items: center;
    display: flex;
    font-size: 1.125rem;
    justify-content: center;
    text-align: center;
    width: 100%
}

.summary-pack-btn svg {
    height: 20px;
    margin-left: 10px;
    width: 20px
}

.hero {
    background: transparent;
    min-height: 100vh;
    overflow: hidden;
    padding: 80px 0 0;
    position: relative
}

@media(min-width:960px) {
    .hero {
        align-items: center;
        display: flex
    }
}

.hero--animated {
    backface-visibility: hidden;
    perspective: 1000px;
    transform-style: preserve-3d;
    will-change: transform
}

.admin-bar .hero {
    min-height: calc(100vh - 32px)
}

.admin-bar .hero .hero--animated {
    top: 32px
}

.hero__background {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1
}

.hero__background iframe {
    display: block;
    height: 56.25vw;
    left: 50%;
    min-height: 100vh;
    min-width: 177.78vh;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 100vw;
    z-index: 2
}

.hero__background img {
    display: block;
    -o-object-position: top center;
    object-position: top center
}

.hero__background img,
.hero__image,
.hero__video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.hero__image,
.hero__video {
    -o-object-position: center bottom;
    object-position: center bottom;
    position: relative;
    z-index: 1
}

.hero__overlay {
    background: linear-gradient(180deg, rgba(30, 74, 122, 0.6) 0, rgba(30, 74, 122, 0.4) 50%, rgba(30, 74, 122, 0.3));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.hero__content {
    align-items: stretch;
    background: rgba(30, 74, 122, 0.9);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    z-index: 3
}

@media(min-width:960px) {
    .hero__content {
        background: none;
        left: 0;
        position: relative;
        right: 0;
        top: 0
    }

    .hero__content:after {
        background: rgba(30, 74, 122, 0.85);
        bottom: -68px;
        content: "";
        height: 100vh;
        left: 0;
        position: absolute;
        right: 0;
        top: auto;
        width: 100%;
        z-index: -1
    }
}

.hero__content-wrapper {
    border-bottom: 1px solid hsla(0, 0%, 100%, .3);
    padding: 20px 0 26px;
    width: 100%
}

@media(min-width:960px) {
    .hero__content-wrapper {
        border: none;
        padding: 0
    }

    .hero__content-wrapper:after {
        background: hsla(0, 0%, 100%, .3);
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        top: calc(100% + 20px);
        transform-origin: left;
        width: 100%
    }
}

.hero__content-wrapper .contact-form-section__form,
.hero__content-wrapper .container {
    height: 100%
}

.hero__link {
    align-items: center;
    color: #fff;
    display: inline-flex;
    gap: 5px;
    justify-content: flex-start;
    text-decoration: none
}

.hero__link:hover {
    text-decoration: underline
}

@media(max-width:959px) {
    .hero__link {
        order: -2
    }
}

@media(min-width:960px) {
    .hero__link {
        left: calc(50vw - 662px);
        position: absolute;
        top: 102px;
        z-index: 100
    }
}

.hero__link:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iYWJvdXQtam91cm5hbF9faWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSI+CiAgICA8cGF0aCBkPSJNNyAxNy4zNDA4TDE3IDcuMzQwODJNMTcgNy4zNDA4Mkg3TTE3IDcuMzQwODJWMTcuMzQwOCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+IA==);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    flex: 0 0 16px;
    height: 16px;
    transform: rotate(-135deg);
    width: 16px
}

@media(max-width:959px) {
    .hero__link--desktop {
        display: none
    }
}

@media(min-width:960px) {
    .hero__link--mobile {
        display: none
    }
}

.hero__inner {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    justify-content: space-between
}

@media(min-width:960px) {
    .hero__inner {
        align-items: flex-start;
        align-items: flex-end;
        flex-direction: row;
        justify-content: space-between;
        position: relative
    }
}

.hero__text {
    max-width: 348px;
    width: 95.3424657534%
}

@media(min-width:960px) {
    .hero__text {
        max-width: 780px;
        width: 58.9123867069%
    }
}

.hero__aside {
    max-width: 311px;
    width: 85.2054794521%
}

@media(max-width:959px) {
    .hero__aside {
        margin: 0 0 20px;
        order: -1
    }
}

@media(min-width:960px) {
    .hero__aside {
        margin: 0 0 0 auto;
        max-width: 440px;
        width: 33.2326283988%
    }
}

.hero__title {
    color: #fff;
    font-size: 3.4375rem;
    font-size: clamp(1.71875rem, 13.9949109415vw, 3.4375rem);
    font-weight: 450;
    letter-spacing: -.03em;
    line-height: .8727272727;
    margin: 0
}

@media(min-width:960px) {
    .hero__title {
        font-size: 5.5rem;
        font-size: clamp(3.75rem, 8.3333333333vw, 7.5rem);
        letter-spacing: -.025em;
        line-height: .8333333333
    }
}

.hero__small-text {
    color: hsla(0, 0%, 100%, .95);
    font-size: 1.125rem;
    font-size: clamp(.5625rem, 4.5801526718vw, 1.125rem);
    font-weight: 450;
    letter-spacing: -.01em;
    line-height: 1.1111111111;
    margin: 0
}

@media(min-width:960px) {
    .hero__small-text {
        font-size: 1.5rem;
        font-size: clamp(.75rem, 1.6666666667vw, 1.5rem);
        letter-spacing: -.02em;
        line-height: 1.0833333333
    }
}

.hero__media-box {
    display: none
}

@media(min-width:960px) {
    .hero__media-box {
        display: block;
        height: 136px;
        position: absolute;
        right: 4%;
        top: 102px;
        width: 240px;
        z-index: 100
    }
}

@media(min-width:1440px) {
    .hero__media-box {
        right: calc(50vw - 662px)
    }
}

.hero__media-image {
    border-radius: 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    height: auto;
    transition: transform .3s ease;
    width: 100%
}

.hero__media-image:hover {
    transform: scale(1.02)
}

.hero__media-video-wrapper {
    border-radius: 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    cursor: pointer;
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden;
    position: relative;
    width: 100%
}

.hero__media-video-wrapper:hover .hero__media-play-button {
    transform: translate(-50%, -50%) scale(1.1)
}

.hero__media-video-wrapper:focus .hero__media-play-button {
    border-radius: 50%;
    outline: 2px solid #fff;
    outline-offset: 2px
}

.hero__media-video {
    display: block;
    height: auto;
    width: 100%
}

.hero img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.hero__media-play-button {
    background: none;
    border: none;
    cursor: pointer;
    height: 56px;
    left: 50%;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform .3s ease;
    width: 56px
}

.hero__media-play-button:hover {
    transform: translate(-50%, -50%) scale(1.1)
}

.hero__media-play-button:focus {
    border-radius: 50%;
    outline: 2px solid #fff;
    outline-offset: 2px
}

.hero__media-play-icon {
    backdrop-filter: blur(8px);
    border-radius: 100%;
    height: 100%;
    width: 100%
}

.hero--small {
    min-height: 60vh
}

@media(min-width:782px) {
    .hero--small {
        min-height: 70vh
    }
}

.hero--small .hero__title {
    font-size: clamp(1.75rem, 4vw, 3rem)
}

@media(min-width:782px) {
    .hero--small .hero__title {
        font-size: clamp(2rem, 4vw, 3.5rem)
    }
}

@media(min-width:960px) {
    .hero--small .hero__title {
        font-size: clamp(2.5rem, 5vw, 4.5rem)
    }
}

.hero--left-aligned .hero__inner {
    align-items: flex-start;
    text-align: left
}

.hero--center-aligned .hero__inner {
    align-items: center;
    text-align: center
}

@media(min-width:960px) {
    .hero--center-aligned .hero__inner {
        flex-direction: column;
        margin: 0 auto;
        max-width: 70%
    }
}

.hero--center-aligned .hero__text {
    max-width: 100%
}

.hero__logo {
    align-items: center;
    display: flex;
    justify-content: flex-start
}

@media(min-width:782px) {
    .hero__logo {
        justify-content: flex-start
    }
}

.hero__logo-image {
    height: auto;
    max-width: 280px;
    -o-object-fit: contain;
    object-fit: contain;
    width: auto
}

@media(min-width:782px) {
    .hero__logo-image {
        max-width: 295px
    }
}

.hero--project+.scrollable-component--dark {
    background: rgba(0, 0, 0, .7)
}

.hero--project .hero__logo img {
    max-height: 300px;
    -o-object-fit: contain;
    object-fit: contain
}

@media(min-width:960px) {
    .home .hero__media-box {
        animation-delay: 2s;
        animation-duration: 1s;
        animation-fill-mode: both;
        animation-name: hero_media_box
    }

    .home .hero__content {
        animation-delay: 2s;
        animation-duration: 1s;
        animation-fill-mode: forwards;
        animation-name: hero_content_lg;
        animation-timing-function: cubic-bezier(.34, 1.25, .64, 1);
        background: none;
        height: 100%;
        min-height: 680px;
        padding-bottom: 28px;
        position: absolute;
        z-index: 2
    }
}

@media(max-height:1000px) {
    .home .hero__content {
        animation-name: hero_content_sm
    }
}

@media(min-width:960px) {
    .home .hero__content:after {
        animation-delay: 2s;
        animation-duration: 1s;
        animation-fill-mode: forwards;
        animation-name: hero_content_bg;
        animation-timing-function: cubic-bezier(.34, 1.25, .64, 1);
        background: rgba(30, 74, 122, 0.85);
        bottom: -48px;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        z-index: -1
    }

    .home .hero__content-wrapper {
        border: none;
        position: relative
    }

    .home .hero__content-wrapper:after {
        animation-duration: 2s;
        animation-fill-mode: forwards;
        animation-name: hero_content_wrapper_line;
        background: #535252;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        top: -15px;
        transform-origin: left;
        width: 100%
    }

    .home .hero__text {
        left: 0;
        position: absolute;
        top: 0
    }

    .home .hero__aside {
        animation-duration: 2s;
        animation-fill-mode: forwards;
        animation-name: hero_aside;
        margin: 0 0 0 auto
    }

    .home .hero__aside:after {
        animation-duration: 3s;
        animation-fill-mode: forwards;
        animation-name: hero_aside_line;
        background: #535252;
        bottom: -46px;
        content: "";
        height: calc(100% + 61px);
        left: -20px;
        position: absolute;
        transform-origin: bottom;
        width: 1px
    }

    .home .hero__small-text {
        animation-delay: 2s;
        animation-duration: 1s;
        animation-fill-mode: both;
        animation-name: hero_aside_text;
        animation-timing-function: cubic-bezier(.34, 1.25, .64, 1);
        height: 130px
    }

    .home .hero__title {
        animation-duration: 2s;
        animation-fill-mode: forwards;
        animation-name: hero_text
    }
}

.hero-video-overlay {
    align-items: center;
    background: rgba(0, 0, 0, .7);
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: opacity visibility ease;
    visibility: hidden;
    width: 100%;
    z-index: 10000
}

.hero-video-overlay--active {
    opacity: 1;
    visibility: visible
}

.hero-video-overlay__container {
    align-items: center;
    display: flex;
    height: 90vh;
    justify-content: center;
    max-width: 1400px;
    position: relative;
    width: 90vw
}

.hero-video-overlay__video-wrapper {
    height: 100%;
    overflow: hidden;
    width: 100%
}

.hero-video-overlay__video {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.introduction {
    background: rgb(124 125 169 / 70%);
    color: #fff;
    overflow: hidden;
    padding: 60px 0 0;
    position: relative
}

@media(min-width:782px) {
    .introduction {
        padding: 100px 0 0
    }
}

@media(min-width:960px) {
    .introduction {
        padding: 168px 0 0
    }
}

.introduction__background {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.introduction__background-image,
.introduction__video {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.introduction__overlay {
    background-color: #000;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.introduction__content {
    position: relative;
    z-index: 3
}

.introduction__header {
    padding-bottom: 40px
}

@media(min-width:782px) {
    .introduction__header {
        border-bottom: 1px solid hsla(0, 0%, 100%, .3)
    }
}

.introduction__large-text {
    color: #fff;
    font-size: 1.875rem;
    line-height: 1;
    margin: 0;
    max-width: 584px
}

@media(min-width:960px) {
    .introduction__large-text {
        font-size: 2.8125rem
    }
}

.introduction__content-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    width: 92.4%
}

@media(min-width:782px) {
    .introduction__content-row {
        align-items: start;
        flex: 1
    }
}

.introduction__image-column {
    order: 2;
    padding-bottom: 2rem
}

@media(min-width:782px) {
    .introduction__image-column {
        border-right: 1px solid hsla(0, 0%, 100%, .3);
        display: flex;
        justify-content: end;
        order: 1;
        padding: 24px 24px 90px;
        width: 50%
    }
}

.introduction__image {
    aspect-ratio: 16/9;
    max-width: 400px
}

@media(min-width:782px) {
    .introduction__image {
        aspect-ratio: 3/4
    }
}

.introduction__image img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.introduction__text-column {
    display: flex;
    flex-direction: column;
    gap: 35px;
    order: 1;
    padding-bottom: 35px
}

@media(min-width:782px) {
    .introduction__text-column {
        gap: 65px;
        order: 2;
        padding: 24px;
        width: 50%
    }
}

.introduction__side-text {
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    letter-spacing: .14px
}

.introduction__side-text p {
    margin: 0 0 2em
}

.introduction__side-text p:last-child {
    margin-bottom: 0
}

@media(min-width:782px) {
    .introduction__side-text {
        max-width: 430px
    }
}

.introduction--large-text .introduction__large-text {
    font-size: 1.875rem;
    font-weight: 450;
    line-height: .9125
}

@media(min-width:960px) {
    .introduction--large-text .introduction__large-text {
        font-size: 5rem
    }
}

.services-component {
    background-color: #fff;
    padding: 120px 0 50px;
    position: relative
}

.services-component__title {
    color: #000;
    margin: 0;
    text-align: left;
    transition: color .3s ease
}

.services-component__grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 20px
}

@media(max-width:959px) {
    .services-component__grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:781px) {
    .services-component__grid {
        grid-template-columns: 1fr
    }
}

.services-component__card {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 204px);
    justify-content: flex-start;
    max-height: 623px;
    min-height: 320px;
    position: relative;
    transition: opacity .3s ease
}

.services-component__card:hover .services-component__card-overlay {
    opacity: 1;
    visibility: visible
}

.services-component__card:hover .services-component__card-overlay:before {
    background-color: var(--card-bg-color, rgba(0, 0, 0, .3))
}

.services-component__card:hover .services-component__card-icon {
    transform: scale(1)
}

.services-component__card:focus-within .services-component__card-overlay {
    opacity: 1;
    visibility: visible
}

.services-component__card:focus-within .services-component__card-overlay:before {
    background-color: var(--card-bg-color, rgba(0, 0, 0, .3))
}

.services-component__card:focus-within .services-component__card-icon {
    transform: scale(1)
}

.services-component__card.is-inactive .services-component__card-title {
    opacity: .3
}

.services-component__card.is-active .services-component__card-title {
    opacity: 1
}

.services-component__card-image {
    flex-grow: 1;
    flex-shrink: 1;
    height: auto;
    margin-bottom: 18px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.services-component__image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .3s ease;
    width: 100%
}

.services-component__card-title {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 450;
    letter-spacing: .14px;
    margin: 0;
    transition: color .3s ease
}

.services-component__card-overlay {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity visibility ease;
    visibility: hidden;
    width: 100%;
    z-index: 2
}

.services-component__card-overlay:before {
    background-color: transparent;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: background-color .3s ease;
    width: 100%;
    z-index: 1
}

.services-component__card-icon {
    align-items: center;
    display: flex;
    height: 97px;
    justify-content: center;
    position: relative;
    transform: scale(.8);
    transition: transform .3s ease;
    width: 96px;
    z-index: 2
}

.services-component__card-icon svg {
    display: block;
    height: 100%;
    width: 100%
}

.services-component__card-trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.services-component__card-trigger:focus {
    outline: none
}

.services-component__card-trigger {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3
}

.services-component__popup {
    height: calc(100vh - 238px);
    left: 0;
    opacity: 0;
    position: absolute;
    top: 204px;
    transition: opacity .3s ease;
    transition: visibility .3s ease;
    visibility: hidden;
    width: 96.5%;
    z-index: 1050
}

.services-component__popup.is-active {
    opacity: 1;
    visibility: visible
}

.services-component__popup.is-active .services-component__popup-backdrop {
    opacity: 1
}

.services-component__popup.is-active .services-component__popup-backdrop:before {
    transform: translateX(0)
}

.services-component__popup.is-active .services-component__popup-backdrop h3 {
    opacity: 1
}

.services-component__popup.is-active .services-component__popup-background {
    transform: translateX(0)
}

.services-component__popup.is-active .services-component__popup-description,
.services-component__popup.is-active .services-component__popup-title {
    opacity: 1;
    transform: translateY(0)
}

.services-component__popup.is-active .services-component__popup-title {
    transition: transform .4s ease-in-out .6s, opacity .4s ease-in-out .6s
}

.services-component__popup.is-active .services-component__popup-description {
    transition: transform .4s ease-in-out .8s, opacity .4s ease-in-out .8s
}

.services-component__popup .contact-form-section__form,
.services-component__popup .container {
    padding: 0 23px 0 14px;
    width: 100%
}

@media(min-width:782px) {

    .services-component__popup .contact-form-section__form,
    .services-component__popup .container {
        padding: 0 0 0 41px
    }
}

.services-component__popup-backdrop {
    background-color: rgba(0, 0, 0, .8);
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: opacity .3s ease-in-out;
    width: 100%
}

.services-component__popup-backdrop:before {
    background: var(--bg);
    bottom: 0;
    content: "";
    display: block;
    position: absolute;
    top: -200px;
    transform: translateX(-100vw);
    transition: transform .4s ease-in-out;
    width: 100%
}

.services-component__popup-backdrop h3 {
    align-items: center;
    color: #fff;
    display: flex;
    height: 200px;
    justify-content: flex-start;
    opacity: 0;
    padding: 100px 0 20px;
    position: relative;
    transition: opacity .4s ease-in-out
}

.services-component__popup-content {
    height: 100%;
    position: relative;
    width: 100%
}

.services-component__popup-background {
    bottom: 0;
    left: 0;
    position: fixed;
    top: 200px;
    transform: translateX(100vw);
    transition: transform .4s ease-in-out .2s;
    width: 100%;
    z-index: 1
}

.services-component__popup-bg-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.services-component__popup-overlay {
    background: rgba(0, 0, 0, .7);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.services-component__popup-inner {
    bottom: 0;
    display: flex;
    flex-direction: column;
    height: auto;
    left: 0;
    position: fixed;
    top: 200px;
    width: 100%;
    z-index: 3
}

.services-component__popup-divider {
    border-color: hsla(0, 0%, 100%, .3);
    width: 100%
}

@media(max-width:781px) {
    .services-component__popup-divider {
        display: none
    }
}

.services-component__popup-close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.services-component__popup-close:focus {
    outline: none
}

.services-component__popup-close {
    align-items: center;
    display: flex;
    justify-content: center;
    position: absolute;
    right: 2rem;
    top: 2rem;
    transition: all .3s ease;
    z-index: 4
}

.services-component__popup-close:focus,
.services-component__popup-close:hover {
    opacity: .8
}

@media(max-width:781px) {
    .services-component__popup-close {
        right: 1rem;
        top: 1rem
    }
}

.services-component__popup-main-content {
    flex-grow: 1;
    padding: 0 33px 0 14px
}

@media(min-width:782px) {
    .services-component__popup-main-content {
        border-left: 1px solid hsla(0, 0%, 100%, .3);
        margin-left: calc(26% + 41px);
        max-width: 700px;
        padding: 20px 24px 0
    }
}

.services-component__popup-close-icon {
    display: block;
    height: 34px;
    width: 34px
}

.services-component__popup-text {
    align-items: flex-start;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    overflow: hidden;
    overflow-y: auto;
    padding: 98px 0 0
}

.services-component__popup-title {
    color: #fff;
    font-size: 1.875rem;
    font-weight: 450;
    letter-spacing: -.03em;
    line-height: 1.06667;
    margin: 0 0 30px;
    max-width: 874px;
    opacity: 0;
    transform: translateY(20px)
}

@media(min-width:782px) {
    .services-component__popup-title {
        font-size: 2.8125rem;
        letter-spacing: -.02em;
        line-height: 1;
        margin: 0 0 33px
    }
}

.services-component__popup-description {
    font-size: .75rem;
    font-weight: 450;
    line-height: 1.5;
    opacity: 0;
    padding-bottom: 20px;
    transform: translateY(20px)
}

@media(min-width:782px) {
    .services-component__popup-description {
        -moz-columns: 2;
        column-count: 2;
        -moz-column-gap: 21px;
        column-gap: 21px;
        font-size: .875rem;
        letter-spacing: .01em;
        padding-bottom: 23px
    }
}

.services-component__popup-description p {
    margin: 0 0 35px
}

.services-component__popup-description p:last-child {
    margin-bottom: 0
}

@media(max-width:781px) {
    .services-component__popup-description {
        font-size: .875rem
    }
}

.services-component__popup-button {
    padding: 0 0 30px
}

@media(min-width:782px) {
    .services-component__popup-button {
        margin-left: calc(50% + 10px)
    }
}

.metrics-component {
    background-color: #000;
    color: #fff;
    padding: 4rem 0
}

@media(min-width:782px) {
    .metrics-component {
        padding: 124px 0
    }
}

.metrics-component__header {
    border-bottom: 1px solid hsla(0, 0%, 100%, .5);
    margin-bottom: 2rem;
    padding-bottom: 30px
}

@media(min-width:782px) {
    .metrics-component__header {
        margin-bottom: 84px
    }
}

.metrics-component__title {
    color: #fff;
    margin: 0
}

.metrics-component__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

@media(min-width:960px) {
    .metrics-component__grid {
        gap: 57px;
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.metrics-component__item {
    flex: 1;
    min-width: 0
}

@media(min-width:600px) {
    .metrics-component__item {
        flex: 0 0 calc(50% - 1rem)
    }
}

@media(min-width:782px) {
    .metrics-component__item {
        flex: 1
    }
}

.metrics-component__number {
    color: #fff;
    display: block;
    font-size: clamp(4rem, 6vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -2.75px;
    line-height: 1;
    padding-bottom: 25px;
    width: -moz-fit-content;
    width: fit-content
}

@media(min-width:782px) {
    .metrics-component__number {
        font-size: 5.625rem
    }
}

@media(min-width:960px) {
    .metrics-component__number {
        font-size: 4.375rem
    }
}

@media(min-width:1280px) {
    .metrics-component__number {
        font-size: 6.875rem
    }
}

.metrics-component__suffix {
    font-size: .5em;
    font-weight: inherit;
    margin-left: -2px;
    vertical-align: super
}

@media(min-width:782px) {
    .metrics-component__suffix {
        margin-left: -4px
    }
}

@media(min-width:1280px) {
    .metrics-component__suffix {
        margin-left: -10px
    }
}

.metrics-component__metric-title {
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.5556;
    margin-bottom: 8px
}

.metrics-component__text {
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0
}

.carousel-component {
    background-color: #fff;
    height: 100vh;
    overflow: hidden;
    position: relative
}

@media(min-width:782px) {
    .carousel-component {
        height: 50vh
    }
}

@media(min-width:960px) {
    .carousel-component {
        height: 60vh
    }
}

@media(min-width:1280px) {
    .carousel-component {
        height: 70vh
    }
}

.carousel-component__container {
    align-items: center;
    height: 100%;
    margin: 0 auto;
    max-width: 1440px
}

@media(min-width:782px) {
    .carousel-component__container {
        display: flex
    }
}

.carousel-component__content {
    flex-direction: column;
    height: 100%;
    width: 100%
}

@media(min-width:782px) {
    .carousel-component__content {
        display: flex;
        flex-direction: row
    }
}

.carousel-component__left {
    background-color: #fff;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 120px;
    position: relative;
    z-index: 2
}

@media(min-width:782px) {
    .carousel-component__left {
        flex: none;
        padding: 178px 0 41px 34px;
        width: 35%
    }
}

@media(min-width:1280px) {
    .carousel-component__left {
        padding-left: 55px;
        width: 27.5%
    }
}

.carousel-component__title {
    color: #000;
    margin: 0;
    padding-bottom: 2rem;
    padding-right: 10px;
    position: relative
}

@media(min-width:782px) {
    .carousel-component__title:after {
        background-color: rgba(71, 82, 103, .3);
        bottom: -1px;
        content: "";
        height: 1px;
        left: -3000px;
        position: absolute;
        right: -21px
    }
}

@media(min-width:960px) {
    .carousel-component__title:after {
        right: -55px
    }
}

.carousel-component__nav {
    display: none;
    flex-direction: column;
    gap: 20px;
    margin-left: 0
}

.carousel-component__nav-item {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.carousel-component__nav-item:focus {
    outline: none
}

.carousel-component__nav-item {
    color: #000;
    font-size: 18px;
    letter-spacing: -.54px;
    line-height: 1;
    position: relative;
    text-align: left;
    transition: color all .3s ease
}

.carousel-component__nav-item--active,
.carousel-component__nav-item:focus,
.carousel-component__nav-item:hover {
    font-weight: 500;
    text-decoration: underline
}

.carousel-component__right {
    flex: 1;
    height: 100%;
    position: relative;
    z-index: 3
}

@media(min-width:782px) {
    .carousel-component__right {
        flex: none;
        width: 65%
    }
}

@media(min-width:1280px) {
    .carousel-component__right {
        width: 72.5%
    }
}

.carousel-component__swiper,
.carousel-component__swiper .swiper-wrapper {
    height: 100%;
    width: 100%
}

.carousel-component__slide {
    height: 100%;
    position: relative;
    width: 100%
}

.carousel-component__slide.swiper-slide {
    opacity: 0
}

.carousel-component__slide.swiper-slide.swiper-slide-active {
    opacity: 1
}

.carousel-component__video-container {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.carousel-component__video-container:after {
    background: linear-gradient(1turn, #000 12%, transparent);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 6
}

.carousel-component__video-container iframe {
    display: block;
    height: 56.25vw;
    left: 50%;
    min-height: 100vh;
    min-width: 177.78vh;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 100vw;
    z-index: 2
}

.carousel-component__image img,
.carousel-component__video {
    height: auto;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto
}

.carousel-component__slide-content {
    bottom: 40px;
    left: 49px;
    max-width: 260px;
    position: absolute;
    z-index: 7
}

.carousel-component__logo {
    margin-bottom: 25px
}

.carousel-component__logo img {
    display: block;
    height: auto;
    max-height: 400px;
    -o-object-fit: contain;
    object-fit: contain
}

.carousel-component__proj-title {
    color: #fff;
    margin-bottom: 20px
}

.carousel-component__description {
    color: #fff;
    line-height: 1.75;
    margin: 0;
    max-width: 256px
}

.carousel-component__button-container {
    margin-top: 10px
}

.carousel-component__controls {
    align-items: center;
    bottom: auto !important;
    display: flex;
    gap: 10px;
    position: absolute;
    right: calc(100% + 33px);
    top: 41px;
    z-index: 3
}

@media(min-width:782px) {
    .carousel-component__controls {
        bottom: 41px !important;
        top: auto
    }
}

.carousel-component__control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.carousel-component__control:focus {
    outline: none
}

.carousel-component__control {
    align-items: center;
    display: flex;
    height: 20px;
    justify-content: center;
    transition: all all .3s ease;
    width: 20px
}

.carousel-component__control svg {
    height: 20px;
    width: 20px
}

.carousel-component__control:focus svg path,
.carousel-component__control:hover svg path {
    stroke: #a06262;
    stroke-opacity: 1
}

.carousel-component__control:disabled {
    cursor: not-allowed;
    opacity: .4
}

.carousel-component__control:disabled:hover {
    background-color: hsla(0, 0%, 100%, .2);
    transform: none
}

.carousel-component__indicators {
    display: flex;
    gap: .5rem
}

.carousel-component__indicators.swiper-pagination {
    display: none;
    height: auto;
    position: static;
    width: auto
}

.carousel-component__indicator {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.carousel-component__indicator:focus {
    outline: none
}

.carousel-component__indicator {
    background-color: hsla(0, 0%, 100%, .4);
    border-radius: 50%;
    height: 12px;
    transition: all all .3s ease;
    width: 12px
}

.carousel-component__indicator.swiper-pagination-bullet {
    margin: 0;
    opacity: 1
}

.carousel-component__indicator--active,
.carousel-component__indicator.swiper-pagination-bullet-active {
    background-color: #fff;
    transform: scale(1.2)
}

.carousel-component__indicator:focus,
.carousel-component__indicator:hover {
    background-color: #fff;
    transform: scale(1.1)
}

.carousel-component .swiper-button-next,
.carousel-component .swiper-button-prev {
    display: none !important
}

.carousel-component .carousel-component__control {
    height: 20px !important;
    margin: 0 !important;
    position: static !important;
    width: 20px !important
}

.carousel-component .carousel-component__control:after {
    display: none !important
}

.carousel-component .carousel-component__control svg path {
    stroke: #fff !important
}

@media(min-width:782px) {
    .carousel-component .carousel-component__control svg path {
        stroke: #a06262 !important
    }
}

.carousel-component .carousel-component__control:focus,
.carousel-component .carousel-component__control:hover {
    opacity: .4 !important;
    transform: none !important
}

.carousel-component .carousel-component__control:focus svg path,
.carousel-component .carousel-component__control:hover svg path {
    stroke: #a06262 !important;
    stroke-opacity: 1 !important
}

.carousel-component .carousel-component__control:disabled {
    cursor: not-allowed !important;
    opacity: .4 !important
}

.carousel-component .carousel-component__control:disabled:hover {
    background-color: hsla(0, 0%, 100%, .2) !important;
    transform: none !important
}

.carousel-component .swiper-wrapper {
    transform: none !important
}

.carousel-component .swiper-slide {
    flex-shrink: 0;
    height: 100% !important;
    width: 100% !important
}

.carousel-component .swiper-slide.swiper-slide-active {
    z-index: 1
}

.carousel-component .swiper-slide.swiper-slide-duplicate {
    display: block
}

#project-carousel {
    background-color: #53697a
}

#project-carousel .carousel-component__left {
    background-color: #53697a;
    color: #fff;
    justify-content: flex-start
}

#project-carousel .carousel-component__title-container {
    border-color: hsla(0, 0%, 100%, .3)
}

#project-carousel .carousel-component__title {
    color: #fff
}

@media(min-width:782px) {
    #project-carousel .carousel-component__title:after {
        background-color: hsla(0, 0%, 100%, .3)
    }
}

#project-carousel .carousel-component__nav-item {
    color: #fff;
    margin-top: 35px
}

#project-carousel .carousel-component__nav-item--3d {
    align-items: center;
    color: #f6fb7a;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    gap: 8px;
    letter-spacing: -.64px;
    transition: all all .3s ease;
    width: -moz-fit-content;
    width: fit-content
}

#project-carousel .carousel-component__nav-item--3d svg {
    height: 20px;
    width: 20px;
    fill: currentColor;
    transition: all .3s ease
}

#project-carousel .carousel-component__nav-item--3d:focus svg,
#project-carousel .carousel-component__nav-item--3d:hover svg {
    transform: translateX(4px)
}

#project-carousel .carousel-component__control svg path {
    stroke: #fff !important
}

#project-carousel .carousel-component__control:focus svg path,
#project-carousel .carousel-component__control:hover svg path {
    stroke: #fff !important;
    stroke-opacity: 1 !important
}

#project-carousel .carousel-component__indicators .carousel-component__indicator {
    background-color: rgba(0, 0, 0, .3)
}

#project-carousel .carousel-component__indicators .carousel-component__indicator--active {
    background-color: #495057
}

#project-carousel .carousel-component__video-container:after {
    display: none
}

@media(max-width:781px) {
    .carousel-component {
        height: auto;
        min-height: 100vh
    }

    .carousel-component__content {
        min-height: 100vh
    }

    .carousel-component__left {
        order: 2;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .carousel-component__right {
        bottom: 0;
        height: 70vh;
        left: 0;
        order: 1;
        position: absolute;
        right: 0
    }

    .carousel-component__slide-content {
        bottom: 2rem;
        left: 1rem;
        max-width: none;
        right: 1rem
    }

    .carousel-component__controls {
        bottom: 1rem;
        right: 1rem
    }
}

.threed-modal {
    align-items: center;
    display: none;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999
}

.threed-modal[aria-hidden=false] {
    display: flex
}

.threed-modal__backdrop {
    backdrop-filter: blur(4px);
    background: rgba(0, 0, 0, .9);
    cursor: pointer;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.threed-modal__container {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    width: 100%;
    z-index: 1
}

.threed-modal__header {
    align-items: center;
    background: #a06262;
    border-bottom: 1px solid rgba(71, 82, 103, .1);
    display: flex;
    justify-content: space-between;
    padding: 20px 54px;
    position: relative;
    z-index: 2
}

.threed-modal__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.threed-modal__button:focus {
    outline: none
}

.threed-modal__button {
    align-items: center;
    color: #f6fb7a;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    gap: 8px;
    letter-spacing: -.64px;
    transition: all all .3s ease;
    width: -moz-fit-content;
    width: fit-content
}

.threed-modal__button svg {
    height: 20px;
    width: 20px;
    fill: currentColor;
    transition: all .3s ease
}

.threed-modal__button:focus svg,
.threed-modal__button:hover svg {
    transform: translateX(4px)
}

.threed-modal__title {
    color: #000;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -.5px;
    margin: 0
}

.threed-modal__close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.threed-modal__close:focus {
    outline: none
}

.threed-modal__close {
    align-items: center;
    border-radius: 6px;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    transition: all all .3s ease;
    width: 40px
}

.threed-modal__close svg {
    height: 20px;
    width: 20px
}

.threed-modal__content {
    flex: 1;
    overflow: hidden;
    position: relative
}

.threed-modal__embed {
    background: #fff;
    height: 100%;
    position: relative;
    width: 100%
}

.threed-modal__embed iframe {
    border: none;
    display: block;
    height: 100%;
    width: 100%
}

.threed-modal__embed>div {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

.threed-modal {
    opacity: 0;
    transition: opacity .3s ease
}

.threed-modal[aria-hidden=false] {
    opacity: 1
}

.threed-modal[aria-hidden=false] .threed-modal__container {
    animation: modalSlideIn .3s ease
}

@keyframes modalSlideIn {
    0% {
        opacity: 0;
        transform: scale(.95) translateY(20px)
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0)
    }
}

@media(max-width:781px) {
    .threed-modal__container {
        border-radius: 0;
        height: 100%;
        max-height: none;
        max-width: none;
        width: 100%
    }

    .threed-modal__header {
        padding: 16px 20px
    }

    .threed-modal__title {
        font-size: 1.25rem
    }
}

.tracker-component {
    background-color: #000;
    color: #fff;
    padding: 4rem 0
}

@media(min-width:782px) {
    .tracker-component {
        padding: 85px 0
    }
}

.tracker-component__header {
    border-bottom: 1px solid hsla(0, 0%, 100%, .3);
    margin-bottom: 45px;
    padding-bottom: 30px
}

.tracker-component__header h2 {
    color: #fff
}

@media(min-width:782px) {

    .tracker-component .contact-form-section__form,
    .tracker-component .container {
        display: flex
    }
}

.tracker-tabs {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start
}

@media(min-width:782px) {
    .tracker-tabs {
        padding-right: 30px;
        width: 40%
    }
}

.tracker-tab {
    background: #000;
    border: none;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1.1rem;
    line-height: 1.2;
    margin-bottom: 18px;
    opacity: .6;
    padding-left: 0;
    text-align: left;
    transition: opacity .3s ease
}

@media(min-width:960px) {
    .tracker-tab {
        font-size: 1.25rem
    }
}

.tracker-tab:hover,
.tracker-tab[aria-selected=true] {
    opacity: 1
}

@media(min-width:782px) {
    .tracker-tab-panel {
        width: 60%
    }
}

.bywater-custom-login {
    align-items: center;
    background: linear-gradient(135deg, #000, #333);
    background-attachment: fixed;
    display: flex;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    justify-content: center;
    margin: 0;
    min-height: 100vh;
    padding: 20px
}

@media(min-width:600px) {
    .bywater-custom-login {
        padding: 40px
    }
}

.bywater-custom-login #login {
    margin: 0 auto;
    max-width: 400px;
    padding: 0;
    width: 100%
}

@media(min-width:600px) {
    .bywater-custom-login #login {
        width: 400px
    }
}

.bywater-custom-login .login h1 {
    margin-bottom: 2rem;
    text-align: center
}

.bywater-custom-login .login h1 a {
    display: block;
    transition: all .3s ease
}

.bywater-custom-login .login form {
    backdrop-filter: blur(10px);
    background: hsla(0, 0%, 100%, .95);
    border: 1px solid hsla(0, 0%, 100%, .2);
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .3);
    margin-bottom: 2rem;
    margin-top: 0;
    padding: 3rem
}

@media(min-width:600px) {
    .bywater-custom-login .login form {
        padding: 40px
    }
}

.bywater-custom-login .login label {
    color: #475267;
    display: block;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 14px;
    font-weight: 450;
    letter-spacing: .01em;
    margin-bottom: 8px
}

.bywater-custom-login .login input[type=email],
.bywater-custom-login .login input[type=password],
.bywater-custom-login .login input[type=text] {
    background: hsla(0, 0%, 100%, .9);
    border: 2px solid rgba(71, 82, 103, .2);
    border-radius: 8px;
    box-sizing: border-box;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 1rem;
    padding: 14px 16px;
    transition: all .3s ease;
    width: 100%
}

.bywater-custom-login .login input[type=email]:focus,
.bywater-custom-login .login input[type=password]:focus,
.bywater-custom-login .login input[type=text]:focus {
    background: #fff;
    border-color: #f6fb7a;
    box-shadow: 0 0 0 3px hsla(62, 94%, 73%, .2);
    outline: none
}

.bywater-custom-login .login input[type=email]::-moz-placeholder,
.bywater-custom-login .login input[type=password]::-moz-placeholder,
.bywater-custom-login .login input[type=text]::-moz-placeholder {
    color: rgba(71, 82, 103, .6)
}

.bywater-custom-login .login input[type=email]::placeholder,
.bywater-custom-login .login input[type=password]::placeholder,
.bywater-custom-login .login input[type=text]::placeholder {
    color: rgba(71, 82, 103, .6)
}

.bywater-custom-login .login .button-primary {
    background: #f6fb7a;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px hsla(62, 94%, 73%, .3);
    color: #000;
    cursor: pointer;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    font-weight: 450;
    letter-spacing: -.16px;
    padding: 14px 24px;
    text-shadow: none;
    transition: all .3s ease;
    width: 100%;
    width: -moz-fit-content !important;
    width: fit-content !important
}

.bywater-custom-login .login .button-primary:focus,
.bywater-custom-login .login .button-primary:hover {
    background: #f3fa52;
    box-shadow: 0 4px 12px hsla(62, 94%, 73%, .4);
    color: #000;
    transform: translateY(-1px)
}

.bywater-custom-login .login .button-primary:active {
    transform: translateY(0)
}

.bywater-custom-login .login .forgetmenot {
    align-items: center;
    display: flex;
    margin: 1rem 0
}

.bywater-custom-login .login .forgetmenot input[type=checkbox] {
    accent-color: #f6fb7a;
    margin: 0 8px 0 0;
    width: auto
}

.bywater-custom-login .login .forgetmenot label {
    color: #53697a;
    font-size: 14px;
    margin: 0
}

.bywater-custom-login .login .message {
    background: hsla(62, 94%, 73%, .1);
    border: 1px solid hsla(62, 94%, 73%, .3);
    border-radius: 8px;
    color: #475267;
    font-size: 14px;
    line-height: 1.4;
    margin: 0 0 1rem;
    padding: 12px 16px
}

.bywater-custom-login .login .message.error {
    background: rgba(160, 98, 98, .1);
    border-color: rgba(160, 98, 98, .3);
    color: #613b3b
}

.bywater-custom-login .login .message.login-message {
    background: rgba(83, 105, 122, .1);
    border-color: rgba(83, 105, 122, .3);
    color: #3e4f5c;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 450;
    text-align: center
}

.bywater-custom-login .login #backtoblog,
.bywater-custom-login .login #nav {
    margin: 1rem 0;
    text-align: center
}

.bywater-custom-login .login #backtoblog a,
.bywater-custom-login .login #nav a {
    color: hsla(0, 0%, 100%, .8);
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 14px;
    text-decoration: none;
    transition: color .3s ease
}

.bywater-custom-login .login #backtoblog a:focus,
.bywater-custom-login .login #backtoblog a:hover,
.bywater-custom-login .login #nav a:focus,
.bywater-custom-login .login #nav a:hover {
    color: #f6fb7a;
    text-decoration: underline
}

.bywater-custom-login.login-action-lostpassword .login form {
    background: rgba(83, 105, 122, .05)
}

.bywater-custom-login.login-action-lostpassword .login .button-primary {
    background: #53697a;
    color: #fff
}

.bywater-custom-login.login-action-lostpassword .login .button-primary:focus,
.bywater-custom-login.login-action-lostpassword .login .button-primary:hover {
    background: #3e4f5c;
    color: #fff
}

.bywater-custom-login.login-action-register .login form {
    background: hsla(41, 48%, 62%, .05)
}

.bywater-custom-login.login-action-register .login .wp-core-ui .button-primary {
    background: #cdaf70;
    color: #000
}

.bywater-custom-login.login-action-register .login .wp-core-ui .button-primary:focus,
.bywater-custom-login.login-action-register .login .wp-core-ui .button-primary:hover {
    background: #c09a4a
}

.bywater-custom-login .login .privacy-policy-page-link {
    margin-top: 1rem;
    text-align: center
}

.bywater-custom-login .login .privacy-policy-page-link a {
    color: hsla(0, 0%, 100%, .6);
    font-size: 12px;
    text-decoration: none
}

.bywater-custom-login .login .privacy-policy-page-link a:hover {
    color: #f6fb7a
}

.bywater-custom-login .login .wp-core-ui .button-primary.loading {
    color: transparent;
    position: relative
}

.bywater-custom-login .login .wp-core-ui .button-primary.loading:after {
    animation: spin 1s linear infinite;
    border: 2px solid #000;
    border-radius: 50%;
    border-top-color: transparent;
    content: "";
    height: 16px;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px
}

@media(prefers-contrast:high) {
    .bywater-custom-login .login form {
        background: #fff;
        border: 2px solid #000
    }

    .bywater-custom-login .login input[type=email],
    .bywater-custom-login .login input[type=password],
    .bywater-custom-login .login input[type=text] {
        border: 2px solid #000
    }

    .bywater-custom-login .login input[type=email]:focus,
    .bywater-custom-login .login input[type=password]:focus,
    .bywater-custom-login .login input[type=text]:focus {
        border-color: #000;
        box-shadow: 0 0 0 2px #f6fb7a
    }
}

@media(prefers-reduced-motion:reduce) {
    .bywater-custom-login * {
        animation: none !important;
        transition: none !important
    }
}

.homepage-hero {
    align-items: center;
    background-color: #1a1a1a;
    display: flex;
    min-height: 100vh;
    overflow: hidden;
    position: relative
}

.homepage-hero__background {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.homepage-hero__image,
.homepage-hero__video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center bottom;
    object-position: center bottom;
    width: 100%
}

.homepage-hero__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .3));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.homepage-hero__content {
    padding: 3rem 0;
    position: relative;
    width: 100%;
    z-index: 2
}

@media(min-width:782px) {
    .homepage-hero__content {
        padding: 3rem 0
    }
}

.homepage-hero__inner {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

@media(min-width:960px) {
    .homepage-hero__inner {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between
    }
}

.homepage-hero__text {
    flex: 1
}

@media(min-width:960px) {
    .homepage-hero__text {
        max-width: 60%
    }
}

.homepage-hero__title {
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 300;
    letter-spacing: -.02em;
    line-height: 1.1;
    margin: 0
}

@media(min-width:960px) {
    .homepage-hero__title {
        font-size: clamp(3.5rem, 6vw, 6.5rem)
    }
}

.homepage-hero__aside {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

@media(min-width:960px) {
    .homepage-hero__aside {
        max-width: 350px;
        padding-top: 1rem
    }
}

.homepage-hero__small-text {
    color: hsla(0, 0%, 100%, .9);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0
}

@media(min-width:782px) {
    .homepage-hero__small-text {
        font-size: 1.125rem
    }
}

.homepage-hero__media-box {
    margin-left: auto;
    max-width: 280px;
    position: relative;
    width: 100%
}

@media(min-width:960px) {
    .homepage-hero__media-box {
        max-width: 320px
    }
}

.homepage-hero__media-image {
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .3);
    height: auto;
    width: 100%
}

.homepage-discover {
    background-color: #fff;
    padding: 5rem 0
}

@media(max-width:781px) {
    .homepage-discover {
        padding: 3rem 0
    }
}

.homepage-discover__title {
    color: #000;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    margin-bottom: 3rem;
    text-align: left
}

@media(max-width:781px) {
    .homepage-discover__title {
        margin-bottom: 2rem
    }
}

.homepage-discover__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(4, 1fr)
}

@media(max-width:959px) {
    .homepage-discover__grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:781px) {
    .homepage-discover__grid {
        gap: 1rem;
        grid-template-columns: 1fr
    }
}

.homepage-discover__card {
    cursor: pointer;
    position: relative;
    transition: all .3s ease
}

.homepage-discover__card:hover {
    transform: translateY(-2px)
}

.homepage-discover__card:hover .homepage-discover__image {
    transform: scale(1.02)
}

.homepage-discover__card:focus-within {
    outline: none
}

.homepage-discover__card-image {
    overflow: hidden;
    position: relative;
    width: 100%
}

.homepage-discover__card-image:before {
    content: "";
    display: block;
    padding-top: 75%
}

.homepage-discover__card-image>* {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.homepage-discover__card-image {
    border-radius: 3px;
    margin-bottom: 1rem
}

.homepage-discover__image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .3s ease;
    width: 100%
}

.homepage-discover__card-title {
    color: #000;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.3;
    margin: 0
}

.homepage-discover__card-trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.homepage-discover__card-trigger:focus {
    outline: none
}

.homepage-discover__card-trigger {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.homepage-discover__popup {
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: opacity .3s ease;
    transition: visibility .3s ease;
    visibility: hidden;
    width: 100%;
    z-index: 1050
}

.homepage-discover__popup.is-active {
    opacity: 1;
    visibility: visible
}

.homepage-discover__popup.is-active .homepage-discover__popup-content {
    transform: scale(1)
}

.homepage-discover__popup-backdrop {
    background-color: rgba(0, 0, 0, .8);
    cursor: pointer;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.homepage-discover__popup-content {
    height: 100%;
    overflow: auto;
    position: relative;
    transform: scale(.95);
    transition: all .3s ease;
    width: 100%
}

.homepage-discover__popup-background {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.homepage-discover__popup-bg-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.homepage-discover__popup-overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, .7) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .1));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.homepage-discover__popup-inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 3rem;
    position: relative;
    width: 100%;
    z-index: 3
}

@media(max-width:781px) {
    .homepage-discover__popup-inner {
        padding: 2rem
    }
}

.homepage-discover__popup-close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.homepage-discover__popup-close:focus {
    outline: none
}

.homepage-discover__popup-close {
    align-items: center;
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .2);
    border-radius: 50%;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    position: absolute;
    right: 2rem;
    top: 2rem;
    transition: all .3s ease;
    width: 40px;
    z-index: 4
}

.homepage-discover__popup-close:focus,
.homepage-discover__popup-close:hover {
    background: hsla(0, 0%, 100%, .2);
    border-color: hsla(0, 0%, 100%, .4)
}

@media(max-width:781px) {
    .homepage-discover__popup-close {
        right: 1rem;
        top: 1rem
    }
}

.homepage-discover__popup-close-icon {
    font-size: 24px;
    line-height: 1
}

.homepage-discover__popup-text {
    color: #fff;
    max-width: 600px
}

@media(max-width:959px) {
    .homepage-discover__popup-text {
        max-width: 100%
    }
}

.homepage-discover__popup-title {
    color: #fff;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 2rem
}

.homepage-discover__popup-description {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem
}

.homepage-discover__popup-description p {
    margin: 0 0 1rem
}

.homepage-discover__popup-description p:last-child {
    margin-bottom: 0
}

@media(max-width:781px) {
    .homepage-discover__popup-description {
        font-size: .875rem
    }
}

.homepage-discover__popup-button .btn {
    background-color: #f6fb7a;
    border: none;
    border-radius: 3px;
    color: #000;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    padding: .5rem 2rem;
    text-decoration: none;
    transition: all .3s ease
}

.homepage-discover__popup-button .btn:focus,
.homepage-discover__popup-button .btn:hover {
    background-color: #f6fb7a;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
    color: #000;
    transform: translateY(-1px)
}

.sr-only {
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important
}

body.discover-popup-open {
    overflow: hidden
}

.homepage-metrics {
    background-color: #000;
    color: #fff;
    padding: 4rem 0
}

@media(min-width:782px) {
    .homepage-metrics {
        padding: 5rem 0
    }
}

.homepage-metrics__title {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 300;
    letter-spacing: -.01em;
    line-height: 1.2;
    margin: 0 0 3rem
}

@media(min-width:782px) {
    .homepage-metrics__title {
        margin-bottom: 4rem
    }
}

@media(min-width:960px) {
    .homepage-metrics__title {
        font-size: clamp(2.5rem, 5vw, 4rem)
    }
}

.homepage-metrics__grid {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

@media(min-width:600px) {
    .homepage-metrics__grid {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 2rem
    }
}

@media(min-width:782px) {
    .homepage-metrics__grid {
        flex-wrap: nowrap;
        gap: 2rem
    }
}

@media(min-width:960px) {
    .homepage-metrics__grid {
        gap: 3rem
    }
}

.homepage-metrics__item {
    flex: 1;
    min-width: 0
}

@media(min-width:600px) {
    .homepage-metrics__item {
        flex: 0 0 calc(50% - 1rem)
    }
}

@media(min-width:782px) {
    .homepage-metrics__item {
        flex: 1
    }
}

.homepage-metrics__number {
    color: #fff;
    display: inline-block;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 300;
    letter-spacing: -.02em;
    line-height: 1;
    margin: 0 0 .5rem;
    white-space: nowrap
}

@media(min-width:782px) {
    .homepage-metrics__number {
        font-size: clamp(3.5rem, 7vw, 6rem);
        margin-bottom: 1rem
    }
}

@media(min-width:960px) {
    .homepage-metrics__number {
        font-size: clamp(4.5rem, 8vw, 7.5rem)
    }
}

.homepage-metrics__suffix {
    font-size: 1em;
    font-weight: inherit;
    vertical-align: baseline
}

.homepage-metrics__metric-title {
    color: #fff;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.3;
    margin: 0 0 .5rem
}

@media(min-width:782px) {
    .homepage-metrics__metric-title {
        font-size: 1.25rem;
        margin-bottom: 1rem
    }
}

.homepage-metrics__text {
    color: hsla(0, 0%, 100%, .8);
    font-size: .875rem;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 280px
}

@media(min-width:782px) {
    .homepage-metrics__text {
        font-size: 1rem;
        line-height: 1.6;
        max-width: 320px
    }
}

.homepage-contact {
    background-color: #fff;
    color: #000;
    overflow: hidden;
    padding: 4rem 0 0
}

@media(min-width:960px) {
    .homepage-contact {
        padding: 0
    }
}

.homepage-contact .container--wide {
    width: 100%
}

.homepage-contact__inner {
    display: flex;
    flex-direction: column
}

@media(min-width:960px) {
    .homepage-contact__inner {
        align-items: center;
        flex-direction: row
    }
}

.homepage-contact__content {
    flex: 1;
    margin: 0 auto 2rem;
    width: 92.4%
}

@media(min-width:960px) {
    .homepage-contact__content {
        flex: 0 0 50%;
        max-width: 50%
    }
}

.homepage-contact__title {
    color: #000;
    line-height: 1;
    margin: 0 0 38px;
    padding-bottom: 2rem;
    position: relative
}

.homepage-contact__title:after {
    background-color: rgba(71, 82, 103, .3);
    bottom: -1px;
    content: "";
    height: 1px;
    left: -3000px;
    position: absolute;
    right: -21px
}

@media(min-width:960px) {
    .homepage-contact__title {
        padding-left: 54px
    }

    .homepage-contact__title:after {
        right: 0
    }
}

.homepage-contact__button-container {
    display: flex;
    justify-content: flex-end
}

@media(min-width:782px) {
    .homepage-contact__button-container {
        padding-right: 21px
    }
}

.homepage-contact__testimonial {
    flex: 1;
    min-height: 500px;
    position: relative
}

@media(min-width:960px) {
    .homepage-contact__testimonial {
        flex: 0 0 50%;
        max-width: 50%;
        min-height: 638px
    }
}

.homepage-contact__background {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

.homepage-contact__background-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.homepage-contact__testimonial-content {
    bottom: 3rem;
    left: 1rem;
    position: absolute;
    right: 1rem;
    z-index: 2
}

@media(min-width:782px) {
    .homepage-contact__testimonial-content {
        bottom: 42px;
        left: 42px;
        max-width: 401px;
        right: 42px
    }
}

.homepage-contact__testimonial-icon {
    font-size: 4.375rem;
    left: 1rem;
    letter-spacing: -3.5px;
    position: absolute;
    top: 50px
}

@media(min-width:960px) {
    .homepage-contact__testimonial-icon {
        left: 42px;
        top: 180px
    }
}

.homepage-contact__testimonial-text {
    color: #000;
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.0857;
    margin: 0
}

@media(min-width:960px) {
    .homepage-contact__testimonial-text {
        font-size: 2.1875rem
    }
}

.homepage-contact__testimonial-byline {
    display: block;
    font-size: .75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
    margin-top: 20px;
    opacity: .8
}

.project-location {
    background-color: #fff;
    padding: 189px 0 46px
}

.project-location__inner {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    margin-bottom: 22px;
    padding-bottom: 30px
}

.project-location__title {
    color: #000;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    line-height: 1.3
}

.project-location__map {
    height: 400px;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media(min-width:1024px) {
    .project-location__map {
        height: 500px
    }
}

.project-location__map iframe {
    border: none;
    height: 100% !important;
    width: 100% !important
}

.project-map-marker svg {
    display: block;
    fill: #f6fb7a;
    height: 70px;
    width: auto
}

.project-map {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.project-map__loading {
    background: hsla(0, 0%, 100%, .9);
    border-radius: 4px;
    left: 50%;
    padding: 1rem 2rem;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

.project-map__loading p {
    color: #666;
    font-size: .9rem;
    margin: 0
}

.project-map__overlay {
    left: 2rem;
    pointer-events: none;
    position: absolute;
    top: 2rem;
    z-index: 5
}

@media(max-width:767px) {
    .project-map__overlay {
        left: 1rem;
        top: 1rem
    }
}

.project-map__overlay-text {
    backdrop-filter: blur(4px);
    background: rgba(0, 0, 0, .4);
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 700;
    padding: .5rem 1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3)
}

@media(min-width:768px) {
    .project-map__overlay-text {
        font-size: 2rem;
        padding: .75rem 1.5rem
    }
}

.project-map-error {
    align-items: center;
    background: #f8f8f8;
    border: 2px dashed #ddd;
    color: #666;
    display: flex;
    justify-content: center;
    padding: 2rem;
    text-align: center
}

.project-map-error p {
    font-size: .9rem;
    margin: 0
}

.project-map.mapbox-error .project-map__loading,
.project-map.mapbox-loaded .project-map__loading {
    display: none
}

.map-error-message {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 4px;
    color: #856404;
    left: 50%;
    padding: 1rem 2rem;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

.map-error-message p {
    font-size: .9rem;
    margin: 0
}

.project-map .mapboxgl-ctrl-group {
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15)
}

.project-map .mapboxgl-ctrl-group button {
    height: 30px;
    width: 30px
}

.project-map .mapboxgl-ctrl-group button:hover {
    background-color: #f0f0f0
}

.project-map .mapboxgl-ctrl-zoom-in,
.project-map .mapboxgl-ctrl-zoom-out {
    color: #333
}

.project-map .mapboxgl-ctrl-zoom-in:hover,
.project-map .mapboxgl-ctrl-zoom-out:hover {
    color: #000
}

.project-map .mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-size: 18px
}

@media(max-width:767px) {
    .project-location {
        padding: 3rem 0
    }

    .project-location__map {
        height: 300px
    }

    .project-map__overlay {
        left: .75rem;
        top: .75rem
    }

    .project-map__overlay-text {
        font-size: 1.2rem;
        padding: .4rem .8rem
    }
}

@media(prefers-color-scheme:dark) {
    .project-map-error {
        background: #2a2a2a;
        border-color: #444;
        color: #ccc
    }

    .map-error-message {
        background: #3a3a3a;
        border-color: #555;
        color: #e6e6e6
    }
}

@media(prefers-contrast:high) {
    .project-map__overlay-text {
        background: rgba(0, 0, 0, .8);
        border: 2px solid #fff
    }

    .project-map-error {
        border-color: #000;
        border-width: 3px
    }
}

@media print {

    .project-map .mapboxgl-ctrl-group,
    .project-map__overlay {
        display: none !important
    }

    .project-location__map {
        height: 400px !important;
        page-break-inside: avoid
    }
}

.single-project .mapboxgl-popup-content {
    border-radius: 16px;
    margin-left: -28px;
    min-width: 300px;
    padding: 20px
}

.single-project .mapboxgl-popup-tip {
    display: none !important
}

.single-project .project-map-popup {
    color: #333;
    font-family: inherit;
    font-size: .9rem;
    max-width: 200px;
    padding: .5rem
}

.single-project .project-map-popup__logo img {
    filter: invert(100%);
    margin-bottom: 15px;
    max-height: 80px;
    max-width: 135px;
    width: auto
}

.project-enquiries {
    background-color: #53697a;
    color: #fff;
    padding-top: 4rem
}

@media(min-width:782px) {
    .project-enquiries {
        padding-top: 124px
    }
}

.project-enquiries__inner {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.project-enquiries__title {
    color: #fff;
    line-height: 1;
    margin: 0
}

.project-enquiries__companies {
    display: flex;
    flex-direction: column;
    gap: 0
}

.project-enquiries__company-container {
    border-top: 1px solid hsla(0, 0%, 100%, .5);
    padding: 44px 0
}

.project-enquiries__company {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324px;
    width: 92.4%
}

@media(min-width:782px) {
    .project-enquiries__company {
        align-items: flex-start;
        flex-direction: row;
        gap: 40px
    }
}

.project-enquiries__logo {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-start
}

@media(min-width:782px) {
    .project-enquiries__logo {
        flex: 0 0 187px;
        width: 187px
    }
}

.project-enquiries__logo-image {
    filter: brightness(0) invert(1);
    height: auto;
    max-width: 187px;
    -o-object-fit: contain;
    object-fit: contain
}

.project-enquiries__contacts {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2rem
}

@media(min-width:782px) {
    .project-enquiries__contacts {
        flex-direction: row;
        gap: 65px
    }
}

.project-enquiries__contact {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.project-enquiries__contact-name {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.6667;
    margin: 0
}

.project-enquiries__contact-details {
    display: flex;
    flex-direction: column
}

.project-enquiries__contact-item {
    align-items: flex-start;
    color: hsla(0, 0%, 100%, .8);
    display: flex;
    font-size: .875rem;
    font-weight: 450;
    gap: 4px;
    line-height: 1.6667
}

.project-enquiries__contact-link {
    color: hsla(0, 0%, 100%, .8);
    flex: 1;
    font-weight: 500;
    text-decoration: none;
    transition: color .3s ease;
    word-break: break-all
}

.project-enquiries__contact-link:focus,
.project-enquiries__contact-link:hover {
    color: #fff
}

.project-enquiries__contact-link[href^="mailto:"] {
    word-break: break-word
}

.project-enquiries__contact-link[href^="tel:"] {
    white-space: nowrap
}

@media(max-width:400px) {
    .project-enquiries__contacts {
        grid-template-columns: 1fr
    }

    .project-enquiries__contact-item {
        flex-wrap: wrap
    }

    .project-enquiries__contact-link {
        white-space: normal;
        word-break: break-word
    }
}

.post-hero {
    padding-top: 8rem
}

.post-hero__header {
    margin-bottom: 25px;
    max-width: 768px
}

@media(min-width:960px) {
    .post-hero__header {
        margin-bottom: 75px
    }
}

.post-hero__meta {
    align-items: center;
    background-color: #f6fb7a;
    border: 1px solid #f6fb7a;
    border-radius: .25rem;
    border-radius: 16px;
    color: #53697a;
    color: #000;
    display: flex;
    font-size: .875rem;
    gap: 8px;
    margin-bottom: 16px;
    padding: 4px 10px 4px 4px;
    width: -moz-fit-content;
    width: fit-content
}

.post-hero__category {
    background: #fff !important;
    border: 1px solid #cdaf70;
    border-radius: 16px;
    font-weight: 500;
    padding: 0 8px
}

.post-hero__reading-time {
    display: flex
}

.post-hero__title {
    color: #000;
    font-weight: 400;
    line-height: 1em;
    margin: 0 0 39px
}

.post-hero__intro {
    color: #475267;
    font-size: 1.125rem;
    line-height: 1.667
}

.post-hero__intro p {
    margin: 0
}

.post-hero__media {
    aspect-ratio: 52/25;
    margin: 0 auto;
    position: relative
}

.post-hero__image {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.post-hero__media-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 31px
}

@media(min-width:600px) {
    .post-hero__media-info {
        flex-direction: row;
        justify-content: space-between
    }
}

.post-hero__author-date {
    display: flex;
    flex-direction: row;
    font-size: .875rem;
    gap: 48px
}

@media(min-width:782px) {
    .post-hero__author-date {
        flex-direction: row;
        gap: 1rem
    }
}

.post-hero__author,
.post-hero__date {
    display: flex;
    flex-direction: column;
    font-size: .875rem;
    font-weight: 500;
    gap: 12px;
    line-height: 1.42
}

.post-hero__author--name,
.post-hero__date--name {
    color: #101828;
    font-size: 1.125rem;
    line-height: 1.55
}

.post-hero__actions {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: start
}

.post-hero__copy-link {
    align-items: center;
    background: transparent;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #344054;
    cursor: pointer;
    display: flex;
    font-weight: 500;
    gap: 4px;
    padding: 9px 14px 8px;
    transition: all all .15s ease
}

.post-hero__copy-link:hover {
    background-color: #fff;
    border-color: #475267
}

.post-hero__copy-link.is-copied {
    background-color: #53697a;
    border-color: #53697a;
    color: #fff
}

.post-hero__copy-link.is-copied .post-hero__copy-link-text:after {
    content: "d!"
}

.post-hero__copy-link svg {
    height: 20px;
    width: 20px
}

.post-hero__share {
    align-items: center;
    display: flex;
    gap: 12px
}

.post-hero__share-link {
    align-items: center;
    background-color: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    color: #d0d5dd;
    display: flex;
    height: 40px;
    justify-content: center;
    transition: all all .15s ease;
    width: 40px
}

.post-hero__share-link svg {
    height: 20px;
    width: 20px
}

.post-hero__share-link:hover {
    border-color: #475267;
    color: #475267;
    transform: translateY(-2px)
}

.post-content {
    padding: 25px 0 60px
}

@media(min-width:960px) {
    .post-content {
        padding: 102px 0
    }
}

.post-content__layout {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

@media(min-width:782px) {
    .post-content__layout {
        flex-direction: row;
        gap: 0;
        justify-content: space-between
    }
}

.post-content__main {
    max-width: 100%
}

@media(min-width:782px) {
    .post-content__main {
        max-width: none;
        width: 57.5%
    }
}

.post-content__sidebar {
    display: none
}

@media(min-width:782px) {
    .post-content__sidebar {
        align-self: start;
        position: sticky;
        top: calc(60px + 2rem);
        width: 32.5%
    }
}

.post-content__pagination {
    border-top: 1px solid #cdaf70;
    display: flex;
    gap: .5rem;
    justify-content: center;
    margin-top: 3rem;
    padding-top: 3rem
}

.post-content__page-number {
    background-color: #fff;
    color: #475267;
    display: inline-block;
    font-weight: 700;
    padding: .25rem .5rem;
    text-decoration: none;
    transition: all all .15s ease
}

.post-content__page-number:hover {
    background-color: #f6fb7a;
    color: #000
}

.post-content__page-number.current {
    background-color: #475267;
    color: #fff
}

.post-content__tags {
    border-top: 1px solid #cdaf70;
    font-size: .875rem;
    margin-top: 3rem;
    padding-top: 3rem
}

.post-content__tags-label {
    font-weight: 700;
    margin-right: .5rem
}

.post-content__tags a {
    color: #53697a;
    text-decoration: none;
    transition: color all .15s ease
}

.post-content__tags a:hover {
    color: #f6fb7a;
    text-decoration: underline
}

.post-newsletter {
    background-color: #a06262;
    border-radius: 16px;
    padding: 32px
}

.post-newsletter__container {
    display: flex;
    flex-direction: column
}

.post-newsletter__icon {
    align-items: center;
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .4);
    border-radius: 12px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    display: block;
    display: flex;
    height: 56px;
    justify-content: center;
    margin-bottom: 32px;
    width: 56px
}

.post-newsletter__icon svg {
    height: 28px;
    width: 28px
}

.post-newsletter__title {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.3333;
    margin: 0 0 8px
}

.post-newsletter__description {
    color: #fff;
    line-height: 1.714;
    margin: 0 0 32px
}

.post-newsletter__privacy {
    color: #fff;
    font-size: .875rem;
    line-height: 1.42;
    margin-bottom: 16px
}

.post-newsletter__privacy a {
    color: inherit
}

.post-newsletter__form .form-input:focus {
    border-color: #f6fb7a;
    box-shadow: 0 0 0 2px hsla(62, 94%, 73%, .2)
}

.post-newsletter__form .form-submit {
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .4);
    color: #fff
}

.post-newsletter__form .form-submit:hover {
    background-color: #613b3b;
    border-color: hsla(0, 0%, 100%, .4);
    color: #fff
}

.post-newsletter__form .form-submit:focus {
    outline-color: #f6fb7a
}

.post-related-content {
    background-color: #000;
    padding: 4rem 0
}

@media(min-width:782px) {
    .post-related-content {
        padding: 124px 0
    }
}

.post-related-content__header {
    align-items: center;
    border-bottom: 1px solid hsla(0, 0%, 100%, .3);
    display: flex;
    justify-content: space-between;
    padding-bottom: 30px
}

.post-related-content__title {
    color: #fff;
    margin-bottom: 15px
}

@media(min-width:600px) {
    .post-related-content__title {
        margin-bottom: 0
    }
}

.post-related-content__view-all {
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .4);
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #fff;
    font-size: 1rem;
    letter-spacing: -.32px;
    padding: 12px 18px;
    text-decoration: none;
    transition: all all .15s ease
}

.post-related-content__view-all:hover {
    background-color: #fff;
    color: #000
}

.post-related-content__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    margin-top: 15px
}

@media(min-width:600px) {
    .post-related-content__grid {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 25px
    }
}

@media(min-width:782px) {
    .post-related-content__grid {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 65px
    }
}

@media(min-width:1280px) {
    .post-related-content__grid {
        gap: 1rem;
        grid-template-columns: repeat(7, 1fr);
        margin-top: 95px
    }
}

.post-related-content__card {
    background-color: transparent;
    transition: transform .3s ease
}

.post-related-content__card:hover {
    transform: translateY(-4px)
}

@media(min-width:1280px) {

    .post-related-content__card:nth-of-type(2),
    .post-related-content__card:nth-of-type(4) {
        grid-column: span 2
    }

    .post-related-content__card:nth-of-type(2) .post-related-content__image,
    .post-related-content__card:nth-of-type(4) .post-related-content__image {
        aspect-ratio: 3/2
    }

    .post-related-content__card:nth-of-type(2) .post-related-content__card-title,
    .post-related-content__card:nth-of-type(4) .post-related-content__card-title {
        font-size: 1.875rem;
        line-height: 1.06;
        width: 87.5%
    }

    .post-related-content__card:nth-of-type(2) .post-related-content__excerpt,
    .post-related-content__card:nth-of-type(4) .post-related-content__excerpt {
        display: block
    }
}

.post-related-content__content {
    position: relative
}

.post-related-content__icon {
    position: absolute;
    right: 0;
    top: 29px
}

.post-related-content__card-link {
    color: inherit;
    display: block;
    text-decoration: none
}

.post-related-content__card-link img {
    transform-origin: center;
    transition: transform .1s ease-in
}

.post-related-content__card-link:focus img,
.post-related-content__card-link:hover img {
    transform: scale(1.15);
    transition: transform 3s ease-out
}

.post-related-content__image {
    aspect-ratio: 4/3;
    background-color: hsla(0, 0%, 100%, .1);
    margin-bottom: 20px;
    overflow: hidden
}

.post-related-content__img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.post-related-content__meta {
    margin-bottom: 8px
}

.post-related-content__author-date {
    color: #fff;
    font-size: .875rem;
    line-height: 1.48
}

.post-related-content__card-title {
    color: #fff;
    font-size: 1.5625rem;
    font-weight: 400;
    line-height: 1.28;
    margin: 0;
    width: 80%
}

.post-related-content__excerpt {
    color: #fff;
    display: none;
    font-size: 1rem;
    letter-spacing: -.21px;
    line-height: 1.75;
    margin-top: 8px;
    text-overflow: ellipsis
}

.post-related-content__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: 24px
}

.post-related-content__category {
    background-color: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .2);
    border-radius: 16px;
    color: #fff;
    display: inline-block;
    font-weight: 500;
    padding: 2px 10px;
    transition: all all .15s ease
}

.post-related-content__category:hover {
    opacity: .8
}

.contact-form-section {
    padding: 7rem 0 0
}

@media(min-width:960px) {
    .contact-form-section {
        padding: 226px 0 0
    }
}

.contact-form-section__header {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    padding-bottom: 34px
}

.contact-form-section__title {
    color: #000;
    font-size: 3.438rem;
    line-height: 1;
    margin: 0;
    text-align: left
}

@media(min-width:782px) {
    .contact-form-section__title {
        font-size: 5rem
    }
}

.contact-form-section__form-container {
    padding-bottom: 35px;
    padding-top: 55px
}

@media(min-width:782px) {
    .contact-form-section__form-container {
        border-right: solid rgba(71, 82, 103, .3);
        margin-right: 35%
    }

    .contact-form-section__form {
        margin-left: 25%;
        max-width: 561px
    }
}

@media(min-width:1580px) {
    .contact-form-section__form {
        margin-left: 40%
    }
}

.contact-information-section {
    background-color: #475267;
    padding: 84px 0;
    position: relative
}

.contact-information-section__background {
    background-color: #475267;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.contact-information-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
    margin-bottom: 4rem
}

@media(min-width:600px) {
    .contact-information-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:782px) {
    .contact-information-grid {
        gap: 3rem;
        margin-bottom: 5rem;
        padding: 0 13%
    }
}

.contact-information-card {
    align-items: flex-start;
    display: flex;
    gap: 16px
}

.contact-information-card__icon {
    align-items: center;
    background: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .4);
    border-radius: 10px;
    display: flex;
    flex-shrink: 0;
    height: 48px;
    justify-content: center;
    width: 48px
}

.contact-information-card__icon svg {
    display: block;
    height: 24px;
    width: 24px
}

.contact-information-card__content {
    flex: 1;
    min-width: 0
}

@media(min-width:782px) {
    .contact-information-card__content {
        margin-top: 13px
    }
}

.contact-information-card__title {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 8px
}

.contact-information-card__email {
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    transition: opacity .3s ease
}

.contact-information-card__email:focus,
.contact-information-card__email:hover {
    opacity: .8;
    text-decoration: underline
}

.contact-information-card__email:focus {
    outline: 2px solid #f6fb7a;
    outline-offset: 2px
}

.contact-map,
.contact-map-container {
    position: relative;
    width: 100%
}

.contact-map {
    background-color: #f0f0f0;
    height: 400px;
    overflow: hidden
}

@media(min-width:782px) {
    .contact-map {
        height: 516px
    }
}

.contact-map .mapboxgl-popup-content {
    background: transparent;
    border-radius: 12px;
    padding: 0
}

.contact-map .mapboxgl-popup-tip {
    border-top-color: #fff;
    display: none !important
}

.contact-map .mapboxgl-popup {
    top: -50px
}

.contact-map__overlay {
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000
}

.contact-map__overlay-text {
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, .7)
}

@media(min-width:600px) {
    .contact-map__overlay-text {
        font-size: 2.5rem
    }
}

@media(min-width:782px) {
    .contact-map__overlay-text {
        font-size: 3rem
    }
}

@media(min-width:960px) {
    .contact-map__overlay-text {
        font-size: 3.5rem
    }
}

.contact-map-marker svg {
    display: block;
    fill: #fff;
    height: 110px;
    width: 40px
}

.contact-map-popup {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
    color: #475267;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 16px;
    max-width: 240px;
    padding: 18px 22px
}

.contact-map-popup__title {
    color: #475267;
    font-weight: 600;
    margin-bottom: 6px
}

.contact-map-popup__address {
    color: #475267;
    line-height: 1.4
}

.contact-map:not(.mapbox-loaded) {
    align-items: center;
    display: flex;
    justify-content: center
}

.contact-map:not(.mapbox-loaded):before {
    color: #53697a;
    content: "Loading map...";
    font-size: 1rem
}

.contact-map.mapbox-error {
    align-items: center;
    background-color: #f8f8f8;
    border: 2px dashed #ddd;
    display: flex;
    justify-content: center
}

.contact-map.mapbox-error:before {
    color: #53697a;
    content: "Map unavailable";
    font-size: 1rem
}

.contact-map__iframe {
    margin: 76px auto 0;
    max-width: 1216px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.contact-map__iframe:before {
    content: "";
    display: block;
    padding-bottom: 75%
}

.contact-map__iframe iframe {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media(min-width:782px) {
    .contact-map__iframe {
        margin-top: 5rem
    }
}

@media(min-width:960px) {
    .contact-map__iframe:before {
        padding-bottom: 42.43%
    }
}

.people-component {
    background-color: #475267;
    color: #fff;
    padding: 4rem 0 50px;
    position: relative
}

@media(min-width:782px) {
    .people-component {
        padding: 124px 0 0
    }
}

.people-component__header {
    border-bottom: 1px solid hsla(0, 0%, 100%, .4);
    padding-bottom: 30px
}

.people-component__title {
    color: #fff;
    line-height: 1;
    margin: 0
}

@media(min-width:600px) {
    .people-component__grid {
        display: flex;
        gap: 0;
        position: relative
    }
}

.people-component__careers {
    flex: none;
    padding: 15px 0 30px
}

@media(min-width:782px) {
    .people-component__careers {
        padding: 40px 70px 0 0;
        white-space: nowrap;
        width: 180px
    }
}

.people-component__careers--desktop {
    display: block
}

@media(min-width:960px) {
    .people-component__careers--desktop {
        display: block
    }
}

.people-component__careers-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.people-component__careers-button:focus {
    outline: none
}

.people-component__careers-button {
    align-items: center;
    color: #f6fb7a;
    display: flex;
    font-size: 16px;
    font-weight: 500;
    gap: 8px;
    margin-right: 15px;
    transition: all all .3s ease;
    width: -moz-fit-content;
    width: fit-content
}

.people-component__careers-button svg {
    height: 20px;
    width: 20px;
    fill: currentColor;
    transition: all .3s ease
}

.people-component__careers-button:focus svg,
.people-component__careers-button:hover svg {
    transform: translateX(4px)
}

.people-component__careers-arrow {
    font-size: 1.125rem;
    transition: transform .3s ease
}

.people-component__careers-button:hover .people-component__careers-arrow {
    transform: translateX(.25rem)
}

.people-component__list {
    flex-grow: 1;
    padding: 0;
    position: relative
}

@media(min-width:600px) {
    .people-component__list {
        border-left: 1px solid hsla(0, 0%, 100%, .4);
        padding: 15px
    }
}

@media(min-width:1280px) {
    .people-component__list {
        padding: 30px
    }
}

.people-component__list-items {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0
}

@media(min-width:782px) {
    .people-component__list-items {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(min-width:1280px) {
    .people-component__list-items {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

.people-component__person-button {
    align-items: center;
    background-color: hsla(0, 0%, 100%, .05);
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-weight: 400;
    line-height: 1;
    padding: 10px;
    position: relative;
    text-align: left;
    transition: all .3s ease;
    width: 100%
}

.people-component__person-button .people-component__person-details {
    flex-grow: 1;
    padding-left: 15px
}

.people-component__person-button .people-component__person-photo {
    flex: none;
    height: 80px;
    width: 80px
}

.people-component__person-button img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.people-component__person-button h4 {
    font-size: 1.375rem;
    margin-bottom: 5px
}

.people-component__person-button p {
    font-size: .875rem;
    opacity: 50%
}

.people-component__person-button svg {
    position: absolute;
    right: 10px;
    top: 10px;
    transition: all .3s ease;
    stroke: #f6fb7a;
    stroke-width: 1;
    fill: none
}

.people-component__person-button:focus,
.people-component__person-button:hover {
    background-color: #fff;
    color: #000
}

.people-component__person-button:focus svg,
.people-component__person-button:hover svg {
    right: 15px;
    top: 15px;
    stroke: #505b6f
}

.people-component__person-button:focus {
    outline: none
}

.people-component__person-button:last-child {
    border-bottom: none
}

.people-component__featured {
    background-color: #505b6f;
    bottom: 0;
    color: #fff;
    left: 0;
    opacity: 0;
    padding: 15px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 130px;
    transition: opacity .3s ease;
    visibility: hidden
}

@media(min-width:600px) {
    .people-component__featured {
        left: -30px;
        padding: 30px;
        right: -30px;
        top: 0
    }
}

@media(min-width:782px) {
    .people-component__featured {
        left: 181px;
        padding: 30px;
        right: 0;
        top: 0
    }
}

.people-component__featured.is-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}

.people-component__featured-content {
    position: relative
}

.people-component__nav {
    display: flex;
    position: absolute;
    right: -111px;
    top: 411px;
    z-index: 2
}

.people-component__nav-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.people-component__nav-button:focus {
    outline: none
}

.people-component__nav-button {
    transition: opacity .3s ease
}

.people-component__nav-button:focus,
.people-component__nav-button:hover {
    opacity: .7
}

.people-component__nav-button:disabled {
    cursor: not-allowed;
    opacity: .3
}

.people-component__person_board_social {
    margin-top: 15px
}

@media(min-width:960px) {
    .people-component__person_board_social {
        align-items: center;
        display: flex;
        margin-top: 0
    }

    .people-component__person-boards {
        margin-bottom: 0
    }
}

.people-component__person-board {
    background-color: #f9f5ff;
    border: 1px solid #e9d7fe;
    border-radius: 999px;
    color: #6941c6;
    display: inline-block;
    font-size: .875rem;
    font-weight: 450;
    margin-bottom: 5px;
    margin-right: 10px;
    margin-top: 5px;
    padding: 3px 10px;
    word-break: keep-all
}

@media(min-width:960px) {
    .people-component__person-board {
        margin-left: 10px;
        margin-right: 0
    }
}

.people-component__linkedin-link,
.people-component__linkedin-link:focus,
.people-component__linkedin-link:hover {
    color: inherit;
    text-decoration: none
}

.people-component__linkedin-link {
    align-items: center;
    display: flex
}

.people-component__linkedin-link svg {
    height: 24px;
    transition: transform .3s ease;
    width: 24px
}

.people-component__linkedin-link:focus svg,
.people-component__linkedin-link:hover svg {
    transform: scale(1.1)
}

@media(min-width:960px) {
    .people-component__linkedin-link {
        margin-left: 15px
    }
}

.people-component__person {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 30px
}

.people-component__person hr {
    border-top: none;
    margin-bottom: 30px;
    opacity: 40%;
    width: 100%
}

@media(min-width:960px) {
    .people-component__person-detail {
        display: flex
    }
}

.people-component__person-image {
    height: 200px;
    position: relative;
    width: 200px
}

.people-component__person-image:before {
    content: "";
    display: block;
    padding-top: 100%
}

.people-component__person-image>* {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.people-component__person-image {
    flex: none;
    margin: 0 30px 15px 0;
    overflow: hidden
}

@media(min-width:960px) {
    .people-component__person-image {
        height: 250px;
        width: 250px
    }
}

@media(min-width:1280px) {
    .people-component__person-image {
        height: 300px;
        width: 300px
    }
}

.people-component__person-image img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.people-component__person-header {
    position: relative
}

@media(min-width:960px) {
    .people-component__person-header {
        align-items: center;
        display: flex;
        justify-content: space-between
    }
}

.people-component__person-name {
    font-size: 1.563rem;
    font-weight: 450;
    line-height: 1;
    margin: 0
}

.people-component__person-role {
    font-size: 1rem;
    font-weight: 400;
    padding-top: 5px
}

.people-component__person-content {
    flex: grow
}

@media(min-width:1280px) {
    .people-component__person-content {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 30px;
        column-gap: 30px
    }
}

.people-component__person-content p {
    color: hsla(0, 0%, 100%, .8)
}

.people-component__person-content p:last-child {
    margin-bottom: 0
}

.people-component__modal {
    align-items: center;
    background-color: #a06262;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    overflow: scroll;
    position: fixed;
    top: 0;
    transition: opacity visibility ease;
    visibility: hidden;
    width: 100%;
    z-index: 1050
}

.people-component__modal.is-open {
    opacity: 1;
    visibility: visible
}

.people-component__modal[aria-hidden=true] {
    pointer-events: none
}

.people-component__modal[aria-hidden=false] {
    pointer-events: auto
}

.people-component__modal-header {
    border-bottom: 1px solid hsla(0, 0%, 100%, .4);
    padding-bottom: 30px
}

.people-component__modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-x: hidden;
    padding-top: 120px;
    position: relative;
    width: 100%
}

@media(min-width:960px) {
    .people-component__modal-content {
        padding-top: 17vh
    }
}

.people-component__modal-title {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    line-height: 1;
    margin: 0
}

.people-component__modal-close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.people-component__modal-close:focus {
    outline: none
}

.people-component__modal-close {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 30px;
    height: 40px;
    opacity: .8;
    position: absolute;
    right: 60px;
    top: 60px;
    transition: opacity .3s ease;
    width: 40px
}

.people-component__modal-close:focus,
.people-component__modal-close:hover {
    opacity: 1
}

@media(max-width:781px) {
    .people-component__modal-close {
        right: 30px;
        top: 30px
    }
}

@media(min-width:782px) {
    .people-component__modal-body {
        display: flex;
        flex: 1;
        flex-direction: row;
        justify-content: space-between
    }
}

.people-component__modal-left {
    padding-bottom: 25px;
    padding-top: 35px
}

@media(min-width:782px) {
    .people-component__modal-left {
        align-items: flex-start;
        display: flex;
        flex: 0 0 25.5%;
        padding-bottom: 0
    }
}

@media(min-width:960px) {
    .people-component__modal-left {
        flex: 0 0 49.5%
    }
}

.people-component__modal-right {
    margin-left: -20px;
    margin-right: -20px
}

@media(min-width:600px) {
    .people-component__modal-right {
        margin-left: -25px;
        margin-right: -25px
    }
}

@media(min-width:782px) {
    .people-component__modal-right {
        border-left: 1px solid hsla(0, 0%, 100%, .4);
        flex: 0 0 65.5%;
        margin-left: 0;
        margin-right: 0;
        min-height: 83vh
    }
}

@media(min-width:960px) {
    .people-component__modal-right {
        flex: 0 0 50.5%
    }
}

.people-component__view-people-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.people-component__view-people-button:focus {
    outline: none
}

.people-component__view-people-button {
    align-items: center;
    color: #f6fb7a;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    font-weight: 500;
    gap: 8px;
    transition: all .3s ease
}

.people-component__view-people-button svg {
    height: 20px;
    transition: transform .3s ease;
    width: 20px
}

.people-component__view-people-button:hover svg {
    transform: translateX(4px)
}

@media(prefers-reduced-motion:reduce) {
    .people-component__careers-arrow {
        transition: none .3s ease
    }

    .people-component__careers-button:hover .people-component__careers-arrow {
        transform: none
    }

    .people-component__careers-button,
    .people-component__linkedin-link,
    .people-component__modal,
    .people-component__modal-close,
    .people-component__modal-content,
    .people-component__nav-button,
    .people-component__person-button {
        transition: none .3s ease
    }
}

@media(prefers-contrast:high) {
    .people-component__person-button {
        border-bottom-width: 2px
    }

    .people-component__person-button.is-active {
        border-bottom-color: #f6fb7a
    }

    .people-component__modal-content {
        border: 2px solid #475267
    }
}

.people-component .jobs-section__grid {
    display: flex;
    flex-direction: column
}

.people-component .jobs-section__empty p {
    color: hsla(0, 0%, 100%, .8);
    font-size: 16px;
    line-height: 1.5
}

.people-component .no-jobs {
    padding: 30px
}

.people-component .job-listing {
    color: #fff;
    padding: 32px 20px;
    position: relative;
    text-decoration: none;
    transition: background-color .3s ease
}

.people-component .job-listing:after {
    background-color: hsla(0, 0%, 100%, .3);
    bottom: -1px;
    content: "";
    height: 1px;
    left: -30px;
    position: absolute;
    right: -30px
}

@media(min-width:782px) {
    .people-component .job-listing:after {
        left: 0;
        right: -3000px
    }
}

.people-component .job-listing:hover:before {
    background: hsla(0, 0%, 100%, .08);
    bottom: -1px;
    content: "";
    left: -30px;
    position: absolute;
    right: -30px;
    top: 0
}

@media(min-width:782px) {
    .people-component .job-listing:hover:before {
        left: 0;
        right: -3000px
    }
}

.people-component .job-listing__header {
    display: flex;
    flex-direction: row;
    gap: 8px;
    justify-content: flex-start;
    margin-bottom: 10px
}

.people-component .job-listing__title {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5555
}

.people-component .job-listing__department {
    display: none
}

.people-component .job-listing__department .department-badge {
    align-items: center;
    background: #f6fb7a;
    border: 1px solid #f6fb7a;
    border-radius: 16px;
    color: #f6fb7a;
    display: flex;
    flex-direction: row;
    font-size: 12px;
    font-size: 14px;
    gap: 6px;
    line-height: 1;
    padding: 4px 10px 4px 8px
}

.people-component .job-listing__details {
    color: #fff;
    display: flex;
    flex-direction: row;
    font-size: 16px;
    gap: 20px;
    justify-content: flex-start;
    margin-bottom: 12px
}

.people-component .job-listing__details .job-listing__detail {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 8px
}

.people-component .job-listing__details .job-listing__detail svg {
    height: 20px;
    width: 20px
}

.people-component .job-listing__details .job-listing__detail svg path {
    stroke: #fff
}

.people-component .job-listing__details .job-listing__detail:last-child {
    margin-right: 0
}

.people-component .job-listing__description {
    margin-bottom: 15px
}

.people-component .job-listing__description p {
    color: #fff;
    font-size: 16px;
    margin: 0
}

.people-component .job-listing__actions .text-btn {
    align-items: center;
    color: #f6fb7a;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    gap: 6px;
    transition: color .3s ease
}

.people-component .job-listing__actions .text-btn svg {
    height: 16px;
    transition: transform .3s ease;
    width: 16px
}

.people-component .job-listing__actions .text-btn:hover {
    color: hsla(62, 94%, 73%, .8)
}

.people-component .job-listing__actions .text-btn:hover svg {
    transform: translateX(2px)
}

.about-journal {
    background-color: #fff;
    padding: 4rem 0
}

@media(min-width:782px) {
    .about-journal {
        padding: 124px 0
    }
}

.about-journal__header {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    padding-bottom: 40px
}

@media(min-width:600px) {

    .about-journal__header .contact-form-section__form,
    .about-journal__header .container {
        align-items: center;
        display: flex;
        justify-content: space-between
    }
}

.about-journal__title {
    color: #000;
    margin-bottom: 15px
}

@media(min-width:600px) {
    .about-journal__title {
        margin-bottom: 0
    }
}

.about-journal__view-all {
    background: var(--Base-White, #fff);
    border: 1px solid var(--Gray-300, #d0d5dd);
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: var(--Gray-700, #344054);
    font-weight: 400
}

.about-journal__view-all:focus,
.about-journal__view-all:hover {
    background: var(--Gray-700, #344054);
    color: #fff
}

.about-journal__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    margin-top: 15px
}

@media(min-width:600px) {
    .about-journal__grid {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 25px
    }
}

@media(min-width:782px) {
    .about-journal__grid {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 65px
    }
}

@media(min-width:1280px) {
    .about-journal__grid {
        gap: 1rem;
        grid-template-columns: repeat(7, 1fr);
        margin-top: 95px
    }
}

.about-journal__card {
    background-color: transparent;
    transition: transform .3s ease
}

.about-journal__card:hover {
    transform: translateY(-4px)
}

@media(min-width:1280px) {

    .about-journal__card:nth-of-type(2),
    .about-journal__card:nth-of-type(4) {
        grid-column: span 2
    }

    .about-journal__card:nth-of-type(2) .about-journal__image,
    .about-journal__card:nth-of-type(4) .about-journal__image {
        aspect-ratio: 3/2
    }

    .about-journal__card:nth-of-type(2) .about-journal__card-title,
    .about-journal__card:nth-of-type(4) .about-journal__card-title {
        font-size: 1.875rem;
        line-height: 1.06;
        width: 87.5%
    }

    .about-journal__card:nth-of-type(2) .about-journal__excerpt,
    .about-journal__card:nth-of-type(4) .about-journal__excerpt {
        display: block
    }
}

.about-journal__content {
    position: relative
}

.about-journal__icon {
    position: absolute;
    right: 0;
    top: 29px
}

.about-journal__icon path {
    stroke: var(--Gray-900, #101828)
}

.about-journal__card-link {
    color: inherit;
    display: block;
    text-decoration: none
}

.about-journal__card-link img {
    transform-origin: center;
    transition: transform .1s ease-in
}

.about-journal__card-link:focus img,
.about-journal__card-link:hover img {
    transform: scale(1.15);
    transition: transform 3s ease-out
}

.about-journal__image {
    aspect-ratio: 4/3;
    background-color: hsla(0, 0%, 100%, .1);
    margin-bottom: 20px;
    overflow: hidden
}

.about-journal__img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.about-journal__meta {
    margin-bottom: 8px
}

.about-journal__author-date {
    color: #475267;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.48
}

.about-journal__card-title {
    color: var(--Gray-900, #101828);
    font-size: 1.5625rem;
    font-weight: 400;
    line-height: 1.28;
    margin: 0;
    width: 80%
}

.about-journal__excerpt {
    color: #475267;
    display: none;
    font-size: 1rem;
    letter-spacing: -.21px;
    line-height: 1.75;
    margin-top: 8px;
    text-overflow: ellipsis
}

.about-journal__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: 24px
}

.about-journal__category {
    background-color: hsla(0, 0%, 100%, .1);
    border: 1px solid hsla(0, 0%, 100%, .2);
    border-radius: 16px;
    color: #fff;
    display: inline-block;
    font-weight: 500;
    padding: 2px 10px;
    transition: all all .15s ease
}

.about-journal__category:hover {
    opacity: .8
}

@media(prefers-reduced-motion:reduce) {

    .about-journal__card:hover,
    .about-journal__card:hover .about-journal__img {
        transform: none
    }

    .about-journal__view-all {
        transition: none
    }
}

@media(prefers-contrast:high) {

    .about-journal__category,
    .about-journal__view-all {
        border-width: 2px
    }

    .about-journal__image {
        border: 1px solid rgba(71, 82, 103, .3)
    }
}

.about-awards {
    background-color: #000;
    padding: 115px 0 131px
}

.about-awards__header {
    margin-bottom: 32px;
    text-align: center
}

.about-awards__title {
    color: #fff;
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    margin: 0
}

.about-awards__logos {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    margin: 0 auto;
    max-width: 1216px
}

@media(min-width:782px) {
    .about-awards__logos {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 24px;
        justify-content: center
    }
}

.about-awards__logo-item {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: center
}

.about-awards__logo-item p {
    color: #fff;
    padding-top: 15px;
    text-align: center;
    width: 100%
}

.about-awards__logo-item {
    max-width: 200px;
    width: 100%
}

@media(min-width:600px) {
    .about-awards__logo-item {
        max-width: 160px;
        width: calc(50% - 1rem)
    }
}

@media(min-width:782px) {
    .about-awards__logo-item {
        flex: 1;
        max-width: none;
        width: auto
    }
}

.about-awards__logo-image {
    display: block;
    height: auto;
    max-height: 60px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

@media(min-width:782px) {
    .about-awards__logo-image {
        max-height: 80px
    }
}

@media(min-width:960px) {
    .about-awards__logo-image {
        max-height: 50px
    }
}

@media(max-width:599px) {
    .about-awards__logos {
        gap: 1rem
    }

    .about-awards__logo-item {
        max-width: 150px
    }

    .about-awards__logo-image {
        max-height: 50px
    }
}

@media(prefers-reduced-motion:reduce) {
    .about-awards__logo-image {
        transition: none .3s ease
    }

    .about-awards__logo-image:hover {
        transform: none
    }
}

@media(prefers-contrast:high) {
    .about-awards__logo-image {
        filter: brightness(0) invert(1) contrast(1.2)
    }
}

.about-awards__logo-item--small .about-awards__logo-image {
    max-height: 40px
}

@media(min-width:782px) {
    .about-awards__logo-item--small .about-awards__logo-image {
        max-height: 60px
    }
}

.about-awards__logo-item--large .about-awards__logo-image {
    max-height: 80px
}

@media(min-width:782px) {
    .about-awards__logo-item--large .about-awards__logo-image {
        max-height: 120px
    }
}

.journal-posts {
    background-color: #fff;
    padding: 112px 0
}

.journal-posts__header {
    margin-bottom: 28px
}

.journal-posts__filters {
    gap: 1rem
}

@media(min-width:782px) {
    .journal-posts__filters {
        align-items: center;
        display: flex;
        flex-direction: row;
        gap: 12px;
        justify-content: space-between
    }
}

.journal-posts__category-tabs {
    display: flex;
    flex-grow: 1;
    gap: 12px;
    margin-bottom: 2rem
}

@media(min-width:782px) {
    .journal-posts__category-tabs {
        margin-bottom: 0
    }
}

.journal-posts__category-tab {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.journal-posts__category-tab:focus {
    outline: none
}

.journal-posts__category-tab {
    color: #667085;
    font-size: 1rem;
    font-weight: 400;
    padding: 0 4px 12px;
    transition: color .3s ease
}

.journal-posts__category-tab:hover {
    color: #000
}

.journal-posts__category-tab--active {
    border-bottom: 2px solid #000;
    color: #000;
    font-weight: 500
}

.journal-posts__sort {
    align-items: center;
    display: flex;
    flex: none;
    max-width: 200px;
    width: 100%
}

.journal-posts__sort-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--Base-White, #fff);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3E%3Cpath stroke=%27%23667085%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.667%27 d=%27m5 7.5 5 5 5-5%27/%3E%3C/svg%3E");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 20px;
    border: 1px solid var(--Gray-300, #d0d5dd);
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, .05);
    color: #101828;
    cursor: pointer;
    font-size: 1rem;
    padding: 10px 14px;
    width: 100%
}

.journal-posts__loading {
    align-items: center;
    color: #53697a;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 0
}

.journal-posts__loading p {
    font-size: .875rem;
    margin: 1rem 0 0
}

.journal-posts__loading-spinner {
    animation: spin 1s linear infinite;
    border: 2px solid rgba(71, 82, 103, .1);
    border-radius: 50%;
    border-top-color: #475267;
    height: 24px;
    width: 24px
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.journal-posts__featured .journal-posts__card--featured {
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.journal-posts__featured .journal-posts__card--featured .journal-posts__image {
    height: auto;
    margin-bottom: 0;
    overflow: hidden;
    width: 100%
}

@media(min-width:782px) {
    .journal-posts__featured .journal-posts__card--featured .journal-posts__image {
        height: 637px
    }
}

.journal-posts__featured .journal-posts__card--featured .journal-posts__content {
    padding-top: 39px
}

.journal-posts__featured .journal-posts__card--featured .journal-posts__meta {
    font-size: .875rem;
    font-weight: 500
}

.journal-posts__featured .journal-posts__card--featured .journal-posts__card-title {
    font-size: 1.875rem;
    line-height: 1.26;
    width: 97%
}

.journal-posts__featured .journal-posts__card--featured:hover {
    transform: translateY(-6px)
}

.journal-posts--loading .journal-posts__featured,
.journal-posts--loading .journal-posts__grid {
    opacity: .6;
    transition: all .3s ease
}

.journal-posts__grid {
    display: grid;
    gap: 53px 12px;
    grid-template-columns: 1fr;
    margin-top: 67px
}

@media(min-width:600px) {
    .journal-posts__grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:782px) {
    .journal-posts__grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.journal-posts__card {
    background-color: transparent;
    transition: all .15s ease
}

.journal-posts__card:hover {
    transform: translateY(-4px)
}

.journal-posts__card-link {
    color: inherit;
    display: block;
    text-decoration: none
}

.journal-posts__card-link img {
    transform-origin: center;
    transition: transform .1s ease-in
}

.journal-posts__card-link:focus img,
.journal-posts__card-link:hover img {
    transform: scale(1.15);
    transition: transform 3s ease-out
}

.journal-posts__image {
    background-color: rgba(71, 82, 103, .05);
    height: 240px;
    margin-bottom: 20px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.journal-posts__image--placeholder {
    background-color: rgba(71, 82, 103, .1)
}

.journal-posts__img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.journal-posts__content {
    padding: 0
}

.journal-posts__meta {
    align-items: center;
    color: #475267;
    display: flex;
    font-size: .875rem;
    font-style: normal;
    font-weight: 500;
    gap: 4px;
    line-height: 1.42;
    margin-bottom: 8px
}

.journal-posts__card-title {
    color: var(--Gray-900, #101828);
    font-family: neue-haas-grotesk-display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3333;
    margin-bottom: 8px;
    width: 80%
}

.journal-posts__card-title-container {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.journal-posts__excerpt {
    color: #475267;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 24px;
    width: 90%
}

.journal-posts__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.journal-posts__category {
    background: var(--Blue-light-50, #f0f9ff);
    border: 1px solid var(--Blue-light-200, #b9e6fe);
    border-radius: 16px;
    color: var(--Blue-light-700, #026aa2);
    display: inline-block;
    font-size: .875rem;
    font-style: normal;
    font-weight: 400;
    padding: 2px 10px;
    transition: all .15s ease
}

.journal-posts__category:hover {
    opacity: .8
}

.journal-posts__load-more {
    background: transparent;
    border: 1px solid rgba(71, 82, 103, .3);
    border-radius: .25rem;
    color: #475267;
    cursor: pointer;
    display: inline-block;
    font-size: .875rem;
    font-weight: 400;
    padding: 1rem 3rem;
    transition: all all .15s ease
}

.journal-posts__load-more:hover {
    background-color: #000;
    border-color: #000;
    color: #fff
}

.journal-posts__load-more:disabled {
    cursor: not-allowed;
    opacity: .5
}

.journal-posts__empty {
    color: #53697a;
    padding: 4rem 0;
    text-align: center
}

.journal-posts__empty p {
    font-size: 1rem;
    margin: 0
}

.journal-posts__pagination {
    margin-top: 4rem;
    text-align: center
}

@media(min-width:782px) {
    .journal-posts__pagination {
        margin-top: 5rem
    }
}

.journal-posts__view-all {
    border: 1px solid rgba(71, 82, 103, .3);
    border-radius: .25rem;
    color: #475267;
    display: inline-block;
    font-size: .875rem;
    font-weight: 700;
    padding: .5rem 2rem;
    text-decoration: none;
    transition: all all .15s ease
}

.journal-posts__view-all:hover {
    background-color: #000;
    border-color: #000;
    color: #fff
}

.journal-posts__card:hover .journal-posts__category {
    background-color: hsla(62, 94%, 73%, .1);
    border-color: hsla(62, 94%, 73%, .3);
    color: #000
}

@media(prefers-reduced-motion:reduce) {

    .journal-posts__card:hover,
    .journal-posts__card:hover .journal-posts__img {
        transform: none
    }

    .journal-posts__category,
    .journal-posts__view-all {
        transition: none
    }
}

@media(prefers-contrast:high) {

    .journal-posts__category,
    .journal-posts__view-all {
        border-width: 2px
    }

    .journal-posts__image {
        border: 1px solid rgba(71, 82, 103, .3)
    }
}

.flexible-content__section {
    margin-bottom: 3rem
}

.flexible-content__section:last-child {
    margin-bottom: 0
}

.flexible-content__heading {
    margin-bottom: 2rem;
    text-align: center
}

.flexible-content__subheading {
    margin-bottom: 1rem;
    text-align: center
}

.flexible-content__content {
    margin-bottom: 2rem
}

.flexible-content__content p {
    margin-bottom: 1rem
}

.flexible-content__content p:last-child {
    margin-bottom: 0
}

.flexible-content__row {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr)
}

@media(min-width:782px) {
    .flexible-content__row {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:960px) {
    .flexible-content__row {
        grid-template-columns: repeat(3, 1fr)
    }
}

.flexible-content__section--light {
    background-color: #f9f9f9;
    padding: 4rem 0
}

.flexible-content__section--dark {
    background-color: #53697a;
    color: #fff;
    padding: 4rem 0
}

.flexible-content__section--primary {
    background-color: #f6fb7a;
    color: #fff;
    padding: 4rem 0
}

.acf-repeater__row {
    margin-bottom: 1rem
}

.acf-repeater__row:last-child {
    margin-bottom: 0
}

.acf-repeater__item {
    margin-bottom: .5rem
}

.acf-repeater__item:last-child {
    margin-bottom: 0
}

.acf-gallery {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(1, 1fr)
}

@media(min-width:600px) {
    .acf-gallery {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:782px) {
    .acf-gallery {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(min-width:960px) {
    .acf-gallery {
        grid-template-columns: repeat(4, 1fr)
    }
}

.acf-gallery__item {
    position: relative
}

.acf-gallery__item:before {
    content: "";
    display: block;
    padding-top: 100%
}

.acf-gallery__item>* {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.acf-gallery__item {
    border-radius: 6px;
    overflow: hidden
}

.acf-gallery__item img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .3s ease;
    width: 100%
}

.acf-gallery__item:hover img {
    transform: scale(1.05)
}

.acf-link--text {
    background: none;
    border: none;
    font-weight: 400;
    padding: 0;
    text-decoration: underline
}

.acf-link--text:hover {
    text-decoration: none
}

.acf-image--rounded {
    border-radius: 12px;
    overflow: hidden
}

.acf-image--circle {
    border-radius: 50%;
    overflow: hidden;
    position: relative
}

.acf-image--circle:before {
    content: "";
    display: block;
    padding-top: 100%
}

.acf-image--circle>* {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.acf-image--shadow {
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1)
}

.acf-wysiwyg h1 {
    font-size: 2rem
}

.acf-wysiwyg h2 {
    font-size: 1.5rem
}

.acf-wysiwyg h3 {
    font-size: 1.25rem
}

.acf-wysiwyg h4 {
    font-size: 1.125rem
}

.acf-wysiwyg h5 {
    font-size: 1rem
}

.acf-wysiwyg h6 {
    font-size: .875rem
}

.acf-wysiwyg p {
    margin-bottom: 1rem
}

.acf-wysiwyg p:last-child {
    margin-bottom: 0
}

.acf-wysiwyg ol,
.acf-wysiwyg ul {
    margin-bottom: 1rem;
    padding-left: 2rem
}

.acf-wysiwyg ol:last-child,
.acf-wysiwyg ul:last-child {
    margin-bottom: 0
}

.acf-wysiwyg blockquote {
    border-left: 4px solid #f6fb7a;
    color: #53697a;
    font-style: italic;
    margin: 2rem 0;
    padding-left: 2rem
}

.acf-module-hero {
    align-items: center;
    color: #fff;
    display: flex;
    justify-content: center;
    min-height: 60vh;
    overflow: hidden;
    position: relative;
    text-align: center
}

.acf-module-hero__background {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -2
}

.acf-module-hero__background img,
.acf-module-hero__background video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.acf-module-hero__overlay {
    background: rgba(0, 0, 0, .4);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.acf-module-hero__content {
    position: relative;
    z-index: 1
}

.acf-module-hero__title {
    color: #fff;
    margin-bottom: 2rem
}

@media(min-width:960px) {
    .acf-module-hero__title {
        font-size: 3.5rem
    }
}

.acf-module-hero__subtitle {
    font-size: 1.25rem;
    margin-bottom: 3rem;
    opacity: .9
}

.acf-module-hero__cta {
    font-size: 1.125rem;
    padding: 1rem 3rem
}

.acf-module-hero__cta+.acf-module-hero__cta {
    margin-left: 1rem
}

.acf-module-hero--left-aligned {
    text-align: left
}

.acf-module-hero--left-aligned .acf-module-hero__content {
    max-width: 50%
}

.acf-module-hero--small {
    min-height: 40vh
}

.acf-module-hero--small .acf-module-hero__title {
    font-size: 1.5rem
}

@media(min-width:960px) {
    .acf-module-hero--small .acf-module-hero__title {
        font-size: 2.5rem
    }
}

.projects-archive {
    padding: 7rem 0 0
}

@media(min-width:960px) {
    .projects-archive {
        padding: 226px 0 0
    }
}

.projects-archive__header {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    padding-bottom: 31px
}

.projects-archive__title {
    color: #000;
    font-size: 3.438rem;
    font-style: normal
}

@media(min-width:782px) {
    .projects-archive__title {
        font-size: 5rem
    }
}

.projects-archive__content {
    padding-top: 44px
}

.projects-archive__list {
    padding-bottom: 94px
}

.projects-archive__filter-wrap {
    margin-top: 32px
}

@media(min-width:782px) {
    .projects-archive__filter-wrap {
        align-items: center;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between
    }
}

.projects-archive__filter .search-filter-input-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    cursor: pointer;
    font: inherit;
    margin: 0;
    outline: none;
    padding: 0
}

.projects-archive__filter .search-filter-input-button:focus {
    outline: none
}

.projects-archive__filter .search-filter-input-button {
    border: none;
    color: #667085;
    font-size: 1rem;
    font-weight: 400;
    margin: 0 15px 6px 0;
    padding: 6px 4px;
    transition: color .3s ease
}

.projects-archive__filter .search-filter-input-button:hover {
    background-color: none;
    color: #000
}

.projects-archive__filter .search-filter-input-button:focus {
    border-radius: 0;
    box-shadow: none
}

.projects-archive__filter .search-filter-input-button--is-selected {
    border-bottom: 2px solid #000;
    border-radius: 0;
    box-shadow: none;
    color: #000;
    padding: 0 4px 10px
}

.projects-archive #switch {
    display: none
}

.projects-archive .toggle-switch-wrap {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 200px;
    padding-bottom: 25px
}

@media(min-width:782px) {
    .projects-archive .toggle-switch-wrap {
        justify-content: flex-end;
        padding-bottom: 0
    }
}

.projects-archive .toggle-switch-wrap .toggle-switch {
    background: #000;
    border-radius: 50px;
    cursor: pointer;
    display: inline-block;
    height: 26px;
    position: relative;
    transition: background .3s ease;
    width: 50px
}

.projects-archive .toggle-switch-wrap .toggle-switch:after {
    background: #f6fb7a;
    border-radius: 50%;
    content: "";
    height: 20px;
    left: 3px;
    position: absolute;
    top: 3px;
    transition: transform .3s ease;
    width: 20px
}

.projects-archive .toggle-switch-wrap #switch:checked+.toggle-switch {
    background: #000
}

.projects-archive .toggle-switch-wrap #switch:checked+.toggle-switch:after {
    transform: translateX(24px)
}

.projects-archive .toggle-switch-wrap .list-view.active,
.projects-archive .toggle-switch-wrap .map-view.active {
    color: #000
}

.projects-archive__container {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

@media(min-width:782px) {
    .projects-archive__container {
        gap: 25px;
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media(min-width:960px) {
    .projects-archive__container {
        gap: 40px;
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.projects-archive__card {
    aspect-ratio: 268/408;
    background-color: #53697a;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    flex-grow: 0;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: 100%
}

.projects-archive__card img {
    transform-origin: center;
    transition: transform .1s ease-in
}

.projects-archive__card:focus img,
.projects-archive__card:hover img {
    transform: scale(1.15);
    transition: transform 3s ease-out
}

.projects-archive__card .commercial {
    background-color: #a06262
}

.projects-archive__card .mixed-use {
    background-color: #53697a
}

.projects-archive__card .residential {
    background-color: #cdaf70
}

.projects-archive__card .residential .projects-archive__card-cta,
.projects-archive__card .residential .projects-archive__card-title,
.projects-archive__card .residential .text-btn {
    color: #000
}

.projects-archive__card .residential .text-btn svg path {
    stroke: #000
}

.projects-archive__card .co-living {
    background-color: #53697a
}

.projects-archive__has-feature-image .projects-archive__card-cta,
.projects-archive__has-feature-image .projects-archive__card-title {
    color: #fff !important
}

.projects-archive__has-feature-image .projects-archive__card-cta .text-btn,
.projects-archive__has-feature-image .projects-archive__card-title .text-btn {
    color: #f6fb7a
}

.projects-archive__has-feature-image .projects-archive__card-cta .text-btn svg path,
.projects-archive__has-feature-image .projects-archive__card-title .text-btn svg path {
    stroke: #f6fb7a
}

.projects-archive__card-link {
    color: #fff;
    display: block;
    height: 100%;
    position: relative;
    text-decoration: none;
    width: 100%;
    z-index: 2
}

.projects-archive__card-link:focus svg,
.projects-archive__card-link:hover svg {
    transform: translateX(4px)
}

.projects-archive__card-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    z-index: 2
}

.projects-archive__card-title {
    color: #fff;
    font-size: 1.275rem;
    font-weight: 450;
    line-height: 1;
    padding: 16px
}

@media(min-width:960px) {
    .projects-archive__card-title {
        font-size: 1.875rem
    }
}

.projects-archive__card-subtitle {
    color: hsla(0, 0%, 100%, .8);
    font-size: .9rem;
    line-height: 1.4;
    margin: 0 0 12px
}

.projects-archive__card-cta {
    border-top: 1px solid hsla(0, 0%, 100%, .6);
    color: #f6fb7a;
    display: inline-block;
    font-size: .875rem;
    font-weight: 500;
    height: 37%;
    opacity: .8;
    padding: 16px;
    transform: translateY(5px);
    transition: all .2s ease;
    width: 100%
}

.projects-archive__image-wrap {
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: 1
}

.projects-archive__image-wrap:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0, rgba(0, 0, 0, .6));
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
}

.projects-archive__img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.projects-archive__card-overlay {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity visibility ease;
    visibility: hidden;
    width: 100%;
    z-index: 2
}

.projects-archive__card-overlay:before {
    background-color: transparent;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: background-color .3s ease;
    width: 100%;
    z-index: 1
}

.projects-archive #project-map {
    height: 800px;
    width: 100%
}

.projects-archive .mapboxgl-popup-content {
    border-radius: 16px;
    margin-left: -28px;
    min-width: 300px;
    padding: 20px
}

.projects-archive .project-archive-popup__logo {
    filter: invert(100%);
    margin-bottom: 15px;
    max-height: 80px;
    max-width: 135px;
    width: auto
}

.projects-archive .project-archive-popup__title {
    color: #000;
    display: none;
    font-size: 1.25rem;
    margin-bottom: 10px
}

.projects-archive .project-archive-popup__link {
    align-items: center;
    background: none;
    color: #000;
    display: inline-flex;
    font-size: 12px;
    gap: 8px;
    line-height: 200%;
    text-decoration: none;
    transition: all .3s ease
}

.projects-archive .project-archive-popup__link svg path {
    height: 20px;
    width: 20px;
    fill: #000;
    stroke: #000
}

.projects-archive .mapboxgl-popup-close-button {
    border-radius: 9999px;
    font-size: 25px;
    height: 28px;
    line-height: 28px;
    right: 0;
    top: -2px;
    width: 28px
}

.projects-archive .mapboxgl-popup-close-button:focus,
.projects-archive .mapboxgl-popup-close-button:hover {
    background-color: transparent !important;
    color: red
}

.projects-archive .mapboxgl-popup-tip {
    display: none !important
}

.projects-archive .project-archive-popup__image {
    aspect-ratio: 16/9;
    border-radius: 10px;
    margin-bottom: 10px;
    -o-object-fit: cover;
    object-fit: cover;
    width: full
}

.error-404 {
    background-color: #fff;
    min-height: 60vh
}

.error-404__header {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    padding: 7rem 0 32px
}

@media(min-width:960px) {
    .error-404__header {
        padding: 226px 0 32px
    }
}

.error-404__content {
    padding: 28px 0 390px
}

.error-404__content .contact-form-section__form,
.error-404__content .container {
    position: relative
}

.error-404__title {
    color: #000;
    font-size: 3.438rem;
    font-style: normal
}

@media(min-width:782px) {
    .error-404__title {
        font-size: 5rem
    }
}

.error-404__description {
    color: #475267;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6667
}

.error-404__icon {
    position: absolute;
    right: 0;
    top: 25px;
    width: 90%
}

@media(min-width:960px) {
    .error-404__icon {
        width: auto
    }
}

.legal-page {
    padding: 7rem 0 0
}

@media(min-width:960px) {
    .legal-page {
        padding: 226px 0 0
    }
}

.legal-page__header {
    border-bottom: 1px solid rgba(71, 82, 103, .3);
    padding-bottom: 31px
}

.legal-page__title {
    color: #000;
    font-size: 3.438rem;
    font-style: normal
}

@media(min-width:782px) {
    .legal-page__title {
        font-size: 5rem
    }
}

.legal-page__content {
    padding-top: 2rem
}

@media(min-width:960px) {
    .legal-page__content {
        padding-top: 84px
    }
}

.legal-page__meta {
    color: #666;
    font-size: .9rem
}

.legal-page__updated {
    font-style: italic;
    margin: 0
}

.legal-page__updated time {
    font-weight: 600
}

.legal-page__body {
    max-width: 765px
}

@media print {
    .legal-page__content {
        box-shadow: none;
        padding: 0
    }

    .legal-page__body {
        font-size: 12pt;
        line-height: 1.5
    }
}

.lazy {
    opacity: 0;
    transition: all .6s ease
}

.lazy.loaded {
    opacity: 1
}

@font-face {
    font-display: swap;
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1
}

.swiper {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    display: block;
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid transparent;
    box-sizing: border-box;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: 42px;
    z-index: 10
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    align-items: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    cursor: pointer;
    display: flex;
    height: var(--swiper-navigation-size);
    justify-content: center;
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/44*27);
    z-index: 10
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    cursor: auto;
    opacity: .35;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center;
    width: 100%
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    font-variant: normal;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none !important
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    left: auto;
    right: var(--swiper-navigation-sides-offset, 10px)
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transform: translateZ(0);
    transition: opacity .3s;
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    left: 0;
    top: var(--swiper-pagination-top, auto);
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    font-size: 0;
    overflow: hidden
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    position: relative;
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    display: inline-block;
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px))
}

button.swiper-pagination-bullet {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-opacity, 1)
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    left: var(--swiper-pagination-left, auto);
    right: var(--swiper-pagination-right, 8px);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: transform .2s, top .2s
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s, left .2s
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s, right .2s
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
    width: 100%
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    height: 100%;
    left: 0;
    top: 0;
    width: var(--swiper-pagination-progressbar-size, 4px)
}

.swiper-pagination-lock {
    display: none
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}