﻿html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

.glide {
    position: relative;
    width: 100%;
    box-sizing: border-box
}

.glide * {
    box-sizing: inherit
}

.glide__track {
    overflow: hidden
}

.glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform
}

.glide__slides--dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.glide__slide a {
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-select: none;
    -ms-user-select: none
}

.glide__arrows {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.glide__bullets {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.glide--rtl {
    direction: rtl
}

@font-face {
    font-family: "swiper-icons";
    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") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: ease;
    transition-timing-function: initial;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.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 {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    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-left: 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-top: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: rgba(0, 0, 0, 0)
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-scrollbar {
    border-radius: 10px;
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: rgba(0, 0, 0, 0.1);
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: 4px;
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: auto;
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: 4px;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2*1%);
    width: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-vertical>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: auto;
    left: var(--swiper-scrollbar-left, auto);
    right: 4px;
    right: var(--swiper-scrollbar-right, 4px);
    top: 1%;
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: 4px;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2*1%);
    height: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: 10px;
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(44px/44*27);
    width: calc(var(--swiper-navigation-size)/44*27);
    height: 44px;
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - 44px/2);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 10px;
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: 44px;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-feature-settings: ;
    font-variant: normal;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 8px;
    bottom: var(--swiper-pagination-bottom, 8px);
    top: auto;
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: 8px;
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: 8px;
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 50%;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: #000;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: 0.2;
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: 1;
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: 8px;
    right: var(--swiper-pagination-right, 8px);
    left: auto;
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms transform, 200ms top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px;
    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: 200ms transform, 200ms left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms right
}

.swiper-pagination-fraction {
    color: inherit;
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.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-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: 4px;
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.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
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    border: 0
}

body,
input,
textarea,
button,
select {
    font-weight: 400;
    font-style: normal;
    color: #000;
    color: var(--c-text-base)
}

p,
li {
    font-size: 1rem;
    font-size: var(--t-base-font-size);
    font-size: max(1rem, min(3vw, 1.125rem));
    font-size: max(var(--t-base-font-size), min(3vw, var(--t-max-font-size)))
}

p {
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1);
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    text-align: inherit;
    color: inherit
}

p.eyebrow {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-weight: 500;
    color: var(--c-primary);
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: .5rem
}

p:last-child {
    margin-bottom: 0
}

p:empty {
    display: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    line-height: 1.2;
    color: inherit
}

html.js:not(.fonts-loaded) {
    font-family: Arial, sans-serif;
    font-weight: 400;
    letter-spacing: .1px;
    word-spacing: -0.15px
}

.fonts-loaded body,
.fonts-loaded input,
.fonts-loaded textarea,
.fonts-loaded button,
.fonts-loaded select {
    font-family: "Tiempos Text", sans-serif;
    font-family: var(--t-base-font-family)
}

.fonts-loaded h1,
.fonts-loaded h2,
.fonts-loaded h3,
.fonts-loaded h4,
.fonts-loaded h5,
.fonts-loaded h6 {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family)
}

h1 {
    font-size: 3rem;
    font-size: max(3rem, min(calc(0.8611rem + 6.2222vw), 4.75rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h1 {
            font-size: 4.75rem
        }
    }
}

h2 {
    font-size: 2.5rem;
    font-size: max(2.5rem, min(calc(0.9722rem + 4.4444vw), 3.75rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h2 {
            font-size: 3.75rem
        }
    }
}

h3 {
    font-size: 2rem;
    font-size: max(2rem, min(calc(0.7778rem + 3.5556vw), 3rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h3 {
            font-size: 3rem
        }
    }
}

h4 {
    font-size: 1.375rem;
    font-size: max(1.375rem, min(calc(2vw + 5px), 1.875rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h4 {
            font-size: 1.875rem
        }
    }
}

h5 {
    font-size: 1.125rem;
    font-size: max(1.125rem, min(calc(2vw + 5px), 1.5rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h5 {
            font-size: 1.5rem
        }
    }
}

h6 {
    font-size: 1rem;
    font-size: max(1rem, min(calc(2vw + 5px), 1.125rem))
}

@supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
        h6 {
            font-size: 1.125rem
        }
    }
}

a {
    color: inherit;
    -webkit-text-decoration: none;
    text-decoration: none
}

a+p {
    margin-top: calc((1.125rem * 1.5)*1);
    margin-top: calc(calc(1.125rem * 1.5)*1);
    margin-top: calc(var(--t-baseline)*1)
}

p a,
.content li a {
    -webkit-text-decoration: underline;
    text-decoration: underline;
    color: var(--c-link);
    transition: 50ms
}

p a:hover,
.content li a:hover {
    color: var(--c-link-hover)
}

blockquote:not([class]) {
    background: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    padding: 2rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 2rem
}

blockquote:not([class])>p {
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-weight: 500
}

blockquote:not([class])>p:first-child:not(:last-child) i,
blockquote:not([class])>p:first-child:not(:last-child) em,
blockquote:not([class])>p:first-child:not(:last-child) b,
blockquote:not([class])>p:first-child:not(:last-child) strong {
    font-family: "Tiempos Text", sans-serif;
    font-family: var(--t-base-font-family);
    font-size: 1rem;
    font-weight: 400;
    font-style: normal
}

blockquote:not([class])::before {
    content: "";
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODciIGhlaWdodD0iNjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYzLjggMjUuNEg3MmM4LjQgMiAxNC42IDcuMiAxNC42IDE3LjQgMCAxMS4yLTguNiAxOC0xOS40IDE4LTEzIDAtMjEuMi0xMC0yMS4yLTI0LjZDNDYgMTQuNiA2MC4yIDEuNiA4Ni42LjhWOUM3My4yIDEwLjggNjUgMTUgNjMuOCAyNS40em0tNDYgMEgyNmM4LjQgMiAxNC42IDcuMiAxNC42IDE3LjQgMCAxMS4yLTguNiAxOC0xOS40IDE4LTEzIDAtMjEuMi0xMC0yMS4yLTI0LjZDMCAxNC42IDE0LjIgMS42IDQwLjYuOFY5QzI3LjIgMTAuOCAxOSAxNSAxNy44IDI1LjR6IiBmaWxsPSIjRTYzMjAwIi8+PC9zdmc+");
    background-repeat: no-repeat;
    background-size: 100%;
    height: 80px;
    width: 80px;
    display: block
}

@media screen and (min-width: 48em) {
    blockquote:not([class]) {
        position: relative;
        padding: 3rem 3rem 3rem 11rem
    }

    blockquote:not([class]) p {
        max-width: 900px
    }

    blockquote:not([class])::before {
        position: absolute;
        top: 3rem;
        left: 3rem;
        height: 5rem;
        width: 5rem
    }
}

.button-group {
    margin-bottom: 1.25rem;
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    justify-content: flex-start
}

.button-group[data-style*=center] {
    justify-content: center
}

.button-group[data-style*=right] {
    justify-content: flex-end
}

.button {
    --padding: 10px;
    --padding-ratio: 3;
    --c-accent: var(--c-primary);
    padding: 10px calc(10px*3);
    padding: var(--padding) calc(var(--padding)*var(--padding-ratio));
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border: none;
    border-radius: 5px;
    border-radius: var(--border-radius-sm);
    outline: none;
    background-color: var(--c-accent);
    color: var(--c-white);
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    transition: background-color 150ms ease
}

.button.color-primary-red {
    --c-accent: var(--c-primary-red-400)
}

.button.color-primary-beige {
    --c-accent: var(--c-primary-beige-400)
}

.button.color-primary-green {
    --c-accent: var(--c-primary-green-400)
}

.button.color-pink {
    --c-accent: var(--c-secondary-pink-400)
}

.button.color-red {
    --c-accent: var(--c-secondary-red-400)
}

.button.color-orange {
    --c-accent: var(--c-secondary-orange-400)
}

.button.color-yellow {
    --c-accent: var(--c-secondary-yellow-400)
}

.button.color-lime {
    --c-accent: var(--c-secondary-lime-400)
}

.button.color-green {
    --c-accent: var(--c-secondary-green-400)
}

.button.color-sky {
    --c-accent: var(--c-secondary-sky-400)
}

.button.color-blue {
    --c-accent: var(--c-secondary-blue-400)
}

.button.color-navy {
    --c-accent: var(--c-secondary-navy-400)
}

.button.color-purple {
    --c-accent: var(--c-secondary-purple-400)
}

.button.color-grey {
    --c-accent: var(--c-secondary-grey-400)
}

.button.color-brown {
    --c-accent: var(--c-secondary-brown-400)
}

.button.style-outline {
    padding: calc(var(--padding) - 1px) calc(var(--padding)*var(--padding-ratio) - 1px);
    border: 1px solid var(--c-accent);
    background-color: rgba(0, 0, 0, 0);
    color: inherit
}

.button.style-outline:hover,
.button.style-outline:active {
    background-color: color-mix(in srgb, var(--c-accent) 10%, transparent)
}

.button.style-arrow {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    padding: 1rem 0;
    background-color: rgba(0, 0, 0, 0);
    color: inherit
}

.button.style-arrow::before {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDI0bDIuMTE1LTIuMTE1LTguMzctOC4zODVIMjR2LTNINS43NDVsOC4zNy04LjM4NUwxMiAwIDAgMTJsMTIgMTJ6IiBmaWxsPSIjRTYzMjAwIi8+PC9zdmc+");
    height: 24px;
    transition-duration: 200ms
}

.button.style-arrow:hover {
    background-color: rgba(0, 0, 0, 0)
}

.button.style-arrow:hover::before {
    transform: translateX(-25%)
}

.button:focus-visible {
    outline: none;
    transition: box-shadow 100ms ease-out;
    box-shadow: 0 0 0 2px var(--c-white), 0 0 0 4px var(--c-black)
}

.button:active {
    transition: transform 150ms;
    transform: scale(0.94) !important
}

.button:hover,
.button:active {
    background-color: var(--c-d-grey)
}

.hero--front .button:not(.style-outline):hover,
.theme--dark .button:not(.style-outline):hover,
.bg-black .button:not(.style-outline):hover {
    background-color: var(--c-white);
    color: var(--c-black)
}

ul,
ol {
    margin: 0;
    padding-left: 4px;
    line-height: 1.5;
    line-height: var(--t-base-line-height)
}

ul li,
ol li {
    margin-bottom: calc((1.125rem * 1.5)*.25);
    margin-bottom: calc(calc(1.125rem * 1.5)*.25);
    margin-bottom: calc(var(--t-baseline)*.25)
}

ul li:last-child,
ol li:last-child {
    margin-bottom: 0
}

ul {
    list-style-type: "— ";
    padding-left: 20px
}

ol {
    list-style: decimal inside
}

ul ul,
ul ol,
ol ol,
ol ul {
    margin-bottom: 0;
    padding-left: 30px
}

.form-input,
.form-textarea,
.form-select {
    width: 100%;
    padding: 4px 16px;
    display: block;
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    background-color: var(--c-white);
    border: 1px solid var(--c-black);
    border-radius: 8px;
    border-radius: var(--border-radius);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: 200ms;
    outline: none;
    outline-width: 0
}

.form-select {
    background: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 24 24' height='24' viewBox='0 0 24 24' width='24'%3E%3Cg%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath d='M7.71,9.29l3.88,3.88l3.88-3.88c0.39-0.39,1.02-0.39,1.41,0l0,0c0.39,0.39,0.39,1.02,0,1.41l-4.59,4.59 c-0.39,0.39-1.02,0.39-1.41,0L6.29,10.7c-0.39-0.39-0.39-1.02,0-1.41l0,0C6.68,8.91,7.32,8.9,7.71,9.29z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"), var(--c-white);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 24px auto
}

.raptor-form .field {
    margin-bottom: 20px;
    position: relative
}

.raptor-form .field label,
.raptor-form .field legend {
    display: inline-block;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    color: var(--c-d-grey);
    transition: 200ms
}

.raptor-form .field label abbr.required,
.raptor-form .field legend abbr.required {
    cursor: help;
    color: var(--c-error);
    -webkit-text-decoration: none;
    text-decoration: none
}

.raptor-form .field:last-child {
    margin-bottom: 0
}

.raptor-form .field_event--success .form-input,
.raptor-form .field_event--success .form-textarea,
.raptor-form .field_event--success .form-select,
.raptor-form .field_event--success .file-upload-display {
    border-color: var(--c-success)
}

.raptor-form .field_event--error .form-input,
.raptor-form .field_event--error .form-textarea,
.raptor-form .field_event--error .form-select {
    border-color: var(--c-error)
}

.raptor-form .field_event--focus .form-input,
.raptor-form .field_event--focus .form-textarea,
.raptor-form .field_event--focus .form-select {
    border-color: #ec6f43;
    border-color: var(--c-primary-red-300)
}

.raptor-form button[type=submit][disabled] {
    pointer-events: none;
    opacity: .5;
    filter: grayscale(100%)
}

.form-textarea {
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    resize: none
}

.field_type--checkbox input,
.field_type--radio input {
    position: relative;
    top: 2px
}

.field_type--checkbox input+label,
.field_type--radio input+label {
    padding-left: 10px;
    cursor: pointer
}

.field_type--checkbox .checkbox-option,
.field_type--checkbox .radio-option,
.field_type--radio .checkbox-option,
.field_type--radio .radio-option {
    margin-bottom: 8px
}

.field_type--checkbox .checkbox-option:last-child,
.field_type--checkbox .radio-option:last-child,
.field_type--radio .checkbox-option:last-child,
.field_type--radio .radio-option:last-child {
    margin-bottom: 0
}

.field_type--checkbox .checkbox-option label,
.field_type--checkbox .radio-option label,
.field_type--radio .checkbox-option label,
.field_type--radio .radio-option label {
    font-weight: 400
}

.field_type--checkbox fieldset,
.field_type--radio fieldset {
    margin: 0;
    padding: .01em 0 0 0;
    min-width: 0;
    border: none
}

.field_type--checkbox fieldset legend,
.field_type--radio fieldset legend {
    padding: 0;
    display: table !important
}

.field_type--file label {
    width: 100%;
    cursor: pointer
}

.field_type--file input[type=file] {
    width: 1px;
    height: 1px;
    position: absolute;
    top: 0;
    left: -9999px;
    opacity: 0
}

.field_type--file .file-upload-display {
    width: 100%;
    padding: 4px 16px;
    display: block;
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    background-color: var(--c-white);
    border: 1px solid var(--c-black);
    border-radius: 8px;
    border-radius: var(--border-radius);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: 200ms;
    outline: none;
    outline-width: 0
}

.field_type--file .file-upload-display .file-accept {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.field_type--file .file-upload-display .file-accept>span:first-child {
    display: flex;
    align-items: center
}

.field_type--file .file-upload-display .file-accept svg {
    width: 22px;
    height: 22px;
    margin-right: 12px;
    display: inline-flex;
    fill: var(--c-primary)
}

.field_type--file .file-upload-display .file-accept span {
    display: inline-block
}

.field_type--file .file-upload-display span.remove-files {
    display: none;
    -webkit-text-decoration: underline;
    text-decoration: underline
}

.field_type--file .file-upload-display span.remove-files:hover {
    -webkit-text-decoration: none;
    text-decoration: none
}

.field_type--file .file-upload-display .uploaded-files {
    list-style: none;
    margin: 4px 0 0;
    padding: 4px 0 0;
    border-top: 1px solid var(--c-black);
    display: none
}

.field_type--file .file-upload-display .uploaded-files li {
    margin-bottom: 2px;
    padding: 4px 0;
    font-size: .875rem
}

.field_type--file .file-upload-display .uploaded-files li:last-child {
    margin-bottom: 0
}

.field_type--file.with-files .file-upload-display .uploaded-files {
    display: block
}

.field_type--file.with-files span.remove-files {
    display: block
}

.field_type--checkbox span.custom-checkbox {
    width: 14px;
    height: 14px;
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 8px;
    border-radius: var(--border-radius);
    border: 1px solid var(--c-primary)
}

.field_type--checkbox span.custom-checkbox::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 1px;
    left: 1px;
    border-radius: calc(8px - 1px);
    border-radius: calc(var(--border-radius) - 1px);
    background-color: var(--c-primary);
    transform: scale(0);
    transition: 200ms cubic-bezier(0.2, 0.7, 0.5, 1.3)
}

@media screen and (min-width: 48em) {
    .field_type--checkbox {
        margin-bottom: 0
    }
}

.field_type--radio .sub-field--radio {
    position: relative
}

.field_type--radio .sub-field--radio input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 0
}

.field_type--radio .sub-field--radio input:checked+label span.custom-radio::after {
    transform: scale(1)
}

.field_type--radio .sub-field--radio span.custom-radio {
    width: 14px;
    height: 14px;
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 8px;
    border-radius: var(--border-radius);
    border: 1px solid var(--c-primary)
}

.field_type--radio .sub-field--radio span.custom-radio::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 1px;
    left: 1px;
    border-radius: calc(8px - 1px);
    border-radius: calc(var(--border-radius) - 1px);
    background-color: var(--c-primary);
    transform: scale(0);
    transition: 200ms cubic-bezier(0.2, 0.7, 0.5, 1.3)
}

.field_type--radio .sub-field--radio label {
    padding-bottom: 0;
    padding-left: 25px;
    position: relative;
    display: inline-block;
    z-index: 20;
    cursor: pointer;
    vertical-align: middle
}

@media screen and (min-width: 48em) {
    .field_type--radio {
        margin-bottom: 0
    }
}

table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.5;
    line-height: var(--t-base-line-height)
}

table thead,
table tfoot {
    background-color: var(--c-l-grey)
}

table th,
table td {
    padding: 4px 8px 2px;
    border: 1px solid var(--c-black)
}

.wp-block-gallery+*,
.wp-block-columns+*,
.wp-block-image+* {
    margin-top: 50px;
    margin-top: var(--v-block-spacing)
}

.wp-block-gallery {
    margin: 0;
    gap: 15px !important;
    gap: var(--site-gutter) !important
}

.wp-block-gallery:not(.has-nested-images),
.blocks-gallery-grid:not(.has-nested-images) {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item {
    margin: 0 1em 1em 0;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: calc(50% - 1em)
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(even),
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(even),
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(even),
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(even) {
    margin-right: 0
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure {
    margin: 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img {
    display: block;
    max-width: 100%;
    height: auto;
    width: auto
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    max-height: 100%;
    overflow: auto;
    padding: 3em .77em .7em;
    color: #fff;
    text-align: center;
    font-size: .8em;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
    box-sizing: border-box;
    margin: 0;
    z-index: 2
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img {
    display: inline
}

.wp-block-gallery:not(.has-nested-images) figcaption,
.blocks-gallery-grid:not(.has-nested-images) figcaption {
    flex-grow: 1
}

.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img {
    width: 100%;
    height: 100%;
    flex: 1;
    -o-object-fit: cover;
    object-fit: cover;
    object-fit: cover
}

.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item {
    width: 100%;
    margin-right: 0
}

@media(min-width: 600px) {

    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item {
        width: calc(33.3333333333% - 0.6666666667em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item {
        width: calc(25% - .75em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item {
        width: calc(20% - .8em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item {
        width: calc(16.6666666667% - 0.8333333333em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item {
        width: calc(14.2857142857% - 0.8571428571em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,
    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item {
        width: calc(12.5% - .875em);
        margin-right: 1em
    }

    .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),
    .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),
    .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),
    .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),
    .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),
    .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),
    .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),
    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),
    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),
    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),
    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),
    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n) {
        margin-right: 0
    }

    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),
    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n) {
        margin-right: 0
    }
}

.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child {
    margin-right: 0
}

.wp-block-gallery:not(.has-nested-images).alignleft,
.wp-block-gallery:not(.has-nested-images).alignright,
.blocks-gallery-grid:not(.has-nested-images).alignleft,
.blocks-gallery-grid:not(.has-nested-images).alignright {
    max-width: 420px;
    width: 100%
}

.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure,
.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure {
    justify-content: center
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
    align-self: flex-start
}

figure.wp-block-gallery.has-nested-images {
    align-items: normal
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(50% - 15px/2);
    width: calc(50% - var(--site-gutter, 16px)/2);
    margin: 0
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
    display: flex;
    flex-grow: 1;
    justify-content: center;
    position: relative;
    flex-direction: column;
    max-width: 100%
}

.wp-block-gallery.has-nested-images figure.wp-block-image>div,
.wp-block-gallery.has-nested-images figure.wp-block-image>a {
    margin: 0;
    flex-direction: column;
    flex-grow: 1
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
    display: block;
    height: auto;
    max-width: 100% !important;
    width: auto
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
    bottom: 0;
    color: #fff;
    font-size: 13px;
    left: 0;
    margin-bottom: 0;
    max-height: 60%;
    overflow: auto;
    padding: 0 8px 8px;
    position: absolute;
    text-align: center;
    width: 100%;
    box-sizing: border-box
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
    display: inline
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
    color: inherit
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div,
.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a {
    flex: 1 1 auto
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
    flex: initial;
    background: none;
    color: inherit;
    margin: 0;
    padding: 10px 10px 9px;
    position: relative
}

.wp-block-gallery.has-nested-images figcaption {
    flex-grow: 1;
    flex-basis: 100%;
    text-align: center
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
    margin-top: 0;
    margin-bottom: auto
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
    align-self: inherit
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone),
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a {
    display: flex
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    width: 100%;
    flex: 1 0 0%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    object-fit: cover
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
    width: 100%
}

@media(min-width: 600px) {
    .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
        width: calc(33.3333333333% - 15px*0.6666666667);
        width: calc(33.3333333333% - var(--site-gutter, 16px)*0.6666666667)
    }

    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
        width: calc(25% - 15px*.75);
        width: calc(25% - var(--site-gutter, 16px)*.75)
    }

    .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
        width: calc(20% - var(--site-gutter 16px)*.8)
    }

    .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
        width: calc(16.6666666667% - 16px*0.8333333333);
        width: calc(16.6666666667% - var(---site-gutter, 16px)*0.8333333333)
    }

    .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
        width: calc(14.2857142857% - 15px*0.8571428571);
        width: calc(14.2857142857% - var(--site-gutter, 16px)*0.8571428571)
    }

    .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
        width: calc(12.5% - 15px*.875);
        width: calc(12.5% - var(--site-gutter, 16px)*.875)
    }

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
        width: calc(33.33% - var(--site-gutter 16px)*0.6666666667)
    }

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image) {
        width: calc(50% - 15px*.5);
        width: calc(50% - var(--site-gutter, 16px)*.5)
    }

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) {
        width: 100%
    }
}

.wp-block-gallery.has-nested-images.alignleft,
.wp-block-gallery.has-nested-images.alignright {
    max-width: 420px;
    width: 100%
}

.wp-block-gallery.has-nested-images.aligncenter {
    justify-content: center
}

.wp-block-columns {
    display: flex;
    box-sizing: border-box;
    flex-wrap: wrap !important;
    align-items: initial !important;
    gap: 15px !important;
    gap: var(--site-gutter) !important
}

@media(min-width: 782px) {
    .wp-block-columns {
        flex-wrap: nowrap !important
    }
}

.wp-block-columns.are-vertically-aligned-top {
    align-items: flex-start
}

.wp-block-columns.are-vertically-aligned-center {
    align-items: center
}

.wp-block-columns.are-vertically-aligned-bottom {
    align-items: flex-end
}

@media(max-width: 781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important
    }
}

@media(min-width: 782px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 0;
        flex-grow: 1
    }

    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
        flex-grow: 0
    }
}

.wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: nowrap !important
}

.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
    flex-basis: 0;
    flex-grow: 1
}

.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis] {
    flex-grow: 0
}

:where(.wp-block-columns.has-background) {
    padding: 1.25em 2.375em
}

.wp-block-column {
    flex-grow: 1;
    min-width: 0;
    word-break: break-word;
    word-wrap: break-word
}

.wp-block-column.is-vertically-aligned-top {
    align-self: flex-start
}

.wp-block-column.is-vertically-aligned-center {
    align-self: center
}

.wp-block-column.is-vertically-aligned-bottom {
    align-self: flex-end
}

.wp-block-column.is-vertically-aligned-top,
.wp-block-column.is-vertically-aligned-center,
.wp-block-column.is-vertically-aligned-bottom {
    width: 100%
}

.wp-block-image {
    margin: 0
}

.wp-block-rank-math-toc-block {
    margin-bottom: calc((1.125rem * 1.5)*2);
    margin-bottom: calc(calc(1.125rem * 1.5)*2);
    margin-bottom: calc(var(--t-baseline)*2);
    padding: 40px;
    background-color: var(--c-l-grey)
}

.wp-block-rank-math-toc-block>h2:first-child {
    margin-top: 0
}

.wp-block-rank-math-toc-block nav ul {
    margin-bottom: 0
}

.wp-block-rank-math-toc-block nav ul ul {
    padding-top: calc((1.125rem * 1.5)*.25);
    padding-top: calc(calc(1.125rem * 1.5)*.25);
    padding-top: calc(var(--t-baseline)*.25);
    padding-left: 20px
}

* {
    box-sizing: border-box
}

img,
video {
    max-width: 100%;
    height: auto;
    display: block
}

:root {
    --container-width: 1816px;
    --site-padding: 30px;
    --site-margin: var(--site-padding);
    --site-gutter: 15px;
    --v-block-spacing: 50px;
    --border-radius: 8px;
    --border-radius-sm: 5px;
    --border-radius-lg: var(--border-radius);
    --c-neutral-100: #f8fafc;
    --c-neutral-200: #f1f5f9;
    --c-neutral-300: #e2e8f0;
    --c-neutral-400: #cbd5e1;
    --c-neutral-500: #64748b;
    --c-neutral-600: #475569;
    --c-neutral-700: #334155;
    --c-neutral-800: #1e293b;
    --c-primary-red-100: #fcd4bf;
    --c-primary-red-200: #f5a47f;
    --c-primary-red-300: #ec6f43;
    --c-primary-red-400: #e63200;
    --c-primary-beige-100: #e0dcdb;
    --c-primary-beige-200: #c5bcbb;
    --c-primary-beige-300: #ab9f9a;
    --c-primary-beige-400: #91837e;
    --c-primary-green-100: #bcbfbe;
    --c-primary-green-200: #808988;
    --c-primary-green-300: #4d5b58;
    --c-primary-green-400: #233a37;
    --c-secondary-pink-100: #fbe5ec;
    --c-secondary-pink-200: #f8c8d9;
    --c-secondary-pink-300: #f3a8c1;
    --c-secondary-pink-400: #f087aa;
    --c-secondary-red-100: #facfbd;
    --c-secondary-red-200: #f4997b;
    --c-secondary-red-300: #eb5e42;
    --c-secondary-red-400: #e30613;
    --c-secondary-orange-100: #fddcc7;
    --c-secondary-orange-200: #f8b38f;
    --c-secondary-orange-300: #f08957;
    --c-secondary-orange-400: #eb5b25;
    --c-secondary-yellow-100: #ffeece;
    --c-secondary-yellow-200: #ffe295;
    --c-secondary-yellow-300: #ffd153;
    --c-secondary-yellow-400: #fdc300;
    --c-secondary-lime-100: #e7f0d6;
    --c-secondary-lime-200: #cfe2a5;
    --c-secondary-lime-300: #b1d172;
    --c-secondary-lime-400: #95c23d;
    --c-secondary-green-100: #caddc9;
    --c-secondary-green-200: #90bb96;
    --c-secondary-green-300: #419c61;
    --c-secondary-green-400: #00853e;
    --c-secondary-sky-100: #e5f4fa;
    --c-secondary-sky-200: #c8e8f0;
    --c-secondary-sky-300: #a9dbea;
    --c-secondary-sky-400: #85cee4;
    --c-secondary-blue-100: #c9cbe8;
    --c-secondary-blue-200: #8e9acc;
    --c-secondary-blue-300: #536cb3;
    --c-secondary-blue-400: #004798;
    --c-secondary-navy-100: #bfc3d6;
    --c-secondary-navy-200: #838cab;
    --c-secondary-navy-300: #838cab;
    --c-secondary-navy-400: #093c6b;
    --c-secondary-purple-100: #dbc6d8;
    --c-secondary-purple-200: #b98db0;
    --c-secondary-purple-300: #9c548a;
    --c-secondary-purple-400: #7f226f;
    --c-secondary-grey-100: #d1d8da;
    --c-secondary-grey-200: #a6b0b6;
    --c-secondary-grey-300: #79858c;
    --c-secondary-grey-400: #4e5b61;
    --c-secondary-brown-100: #d3bcaf;
    --c-secondary-brown-200: #aa816a;
    --c-secondary-brown-300: #874f37;
    --c-secondary-brown-400: #652710;
    --c-success-100: #ecfdf5;
    --c-success-200: #6ee7b7;
    --c-success-300: #10b981;
    --c-success-400: #047857;
    --c-warning-100: #fffbeb;
    --c-warning-200: #fcd34d;
    --c-warning-300: #f59e0b;
    --c-warning-400: #b45309;
    --c-error-100: #fef2f2;
    --c-error-200: #f99;
    --c-error-300: #ef4444;
    --c-error-400: #b91c1c;
    --c-shade-100: #fff;
    --c-shade-200: #bfbfbf;
    --c-shade-300: #666;
    --c-shade-400: #000;
    --c-text-base: var(--c-shade-400);
    --c-link: var(--c-primary);
    --c-link-hover: var(--c-primary);
    --t-base-font-family: "Tiempos Text", sans-serif;
    --t-heading-font-family: "Tiempos Headline", sans-serif;
    --t-base-font-size: 1rem;
    --t-max-font-size: 1.125rem;
    --t-base-line-height: 1.5;
    --t-baseline: calc(var(--t-max-font-size) * var(--t-base-line-height));
    --swiper-theme-color: var(--c-primary)
}

@media screen and (min-width: 64em) {
    :root {
        --site-padding: 52px;
        --site-gutter: 30px;
        --border-radius-lg: 20px
    }
}

*::-moz-selection {
    color: var(--c-white);
    background-color: var(--c-primary);
    text-shadow: none
}

*::selection {
    color: var(--c-white);
    background-color: var(--c-primary);
    text-shadow: none
}

html {
    scroll-behavior: smooth;
    height: 100%
}

body {
    --header-height: 104px;
    --section-scroll-margin-top: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    position: relative;
    overflow-x: hidden;
    background-color: var(--c-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body.no-scroll {
    overflow-y: hidden
}

body.header-state-active {
    --section-scroll-margin-top: var(--header-height)
}

@media screen and (min-width: 62em) {
    body {
        --header-height: 123px
    }
}

main.site-main {
    flex: 1 0 auto;
    padding-top: 87px
}

footer.site-footer {
    flex-shrink: 0
}

.site-padding {
    padding-left: 30px;
    padding-left: var(--site-padding);
    padding-right: 30px;
    padding-right: var(--site-padding)
}

.container {
    width: 100%;
    max-width: 1816px;
    max-width: var(--container-width);
    margin: 0 auto;
    position: relative
}

@media screen and (min-width: 28.125em) {
    .grid-small {
        display: grid;
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        grid-template-columns: repeat(12, 1fr)
    }
}

@media screen and (min-width: 48em) {
    .grid-medium {
        display: grid;
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        grid-template-columns: repeat(12, 1fr)
    }
}

@media screen and (min-width: 64em) {
    .grid-large {
        display: grid;
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        grid-template-columns: repeat(12, 1fr)
    }
}

.contain-line-width {
    max-width: calc(1.125rem*38);
    max-width: calc(var(--t-max-font-size)*38)
}

.content>*:first-child,
.block-heading>*:first-child,
.block-after>*:first-child {
    margin-top: 0
}

.content>*:last-child,
.block-heading>*:last-child,
.block-after>*:last-child {
    margin-bottom: 0
}

.content h1,
.block-heading h1,
.block-after h1 {
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.content h2,
.block-heading h2,
.block-after h2 {
    margin-top: calc((1.125rem * 1.5)*2);
    margin-top: calc(calc(1.125rem * 1.5)*2);
    margin-top: calc(var(--t-baseline)*2);
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.content h3,
.block-heading h3,
.block-after h3 {
    margin-bottom: calc((1.125rem * 1.5)*.5);
    margin-bottom: calc(calc(1.125rem * 1.5)*.5);
    margin-bottom: calc(var(--t-baseline)*.5)
}

.content ul,
.content ol,
.block-heading ul,
.block-heading ol,
.block-after ul,
.block-after ol {
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.content img.alignnone,
.block-heading img.alignnone,
.block-after img.alignnone {
    margin: 0 auto calc((1.125rem * 1.5)*1);
    margin: 0 auto calc(calc(1.125rem * 1.5)*1);
    margin: 0 auto calc(var(--t-baseline)*1)
}

.block-heading {
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.block-heading>* {
    max-width: 1280px
}

.block-heading>*[style*="text-align: center"] {
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width: 64em) {
    .block-heading {
        margin-bottom: calc((1.125rem * 1.5)*2);
        margin-bottom: calc(calc(1.125rem * 1.5)*2);
        margin-bottom: calc(var(--t-baseline)*2)
    }
}

.block-after {
    margin-top: calc((1.125rem * 1.5)*1);
    margin-top: calc(calc(1.125rem * 1.5)*1);
    margin-top: calc(var(--t-baseline)*1)
}

@media screen and (min-width: 64em) {
    .block-after {
        margin-top: calc((1.125rem * 1.5)*2);
        margin-top: calc(calc(1.125rem * 1.5)*2);
        margin-top: calc(var(--t-baseline)*2)
    }
}

section {
    --s-vertical-padding: 50px;
    --s-vertical-padding-negative: calc(var(--s-vertical-padding) * -1)
}

section.site-section {
    padding-left: 30px;
    padding-left: var(--site-padding);
    padding-right: 30px;
    padding-right: var(--site-padding);
    scroll-margin-top: var(--section-scroll-margin-top)
}

@media screen and (min-width: 64em) {
    section {
        --s-vertical-padding: 100px
    }
}

.flexi-blocks-builder.preview-block {
    height: 100dvh;
    display: grid;
    align-items: center
}

.flexi-blocks-builder.preview-block .flexi-block {
    margin: 0 !important
}

.flexi-blocks-builder .flexi-block {
    padding-left: 30px;
    padding-left: var(--site-padding);
    padding-right: 30px;
    padding-right: var(--site-padding);
    scroll-margin-top: var(--section-scroll-margin-top);
    margin-bottom: var(--s-vertical-padding)
}

hr {
    margin: calc((1.125rem * 1.5)*1) 0;
    margin: calc(calc(1.125rem * 1.5)*1) 0;
    margin: calc(var(--t-baseline)*1) 0;
    border: 0;
    border-top: 2px solid #666;
    border-top: 2px solid var(--c-shade-300)
}

div#overlay {
    width: 100vw;
    height: 100vh;
    height: -webkit-fill-available;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 190;
    background-color: rgba(var(--c-black-rgb), 0.4);
    -webkit-backdrop-filter: blur(2px) saturate(110%);
    backdrop-filter: blur(2px) saturate(110%);
    animation-duration: 500ms;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards
}

body.overlay-active div#overlay {
    display: block;
    animation-name: overlay
}

@keyframes overlay {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

img.crop-top_left {
    -o-object-position: top left;
    object-position: top left
}

img.crop-top_center {
    -o-object-position: top center;
    object-position: top center
}

img.crop-top_right {
    -o-object-position: top right;
    object-position: top right
}

img.crop-center_left {
    -o-object-position: center left;
    object-position: center left
}

img.crop-center_center {
    -o-object-position: center center;
    object-position: center center
}

img.crop-center_right {
    -o-object-position: center right;
    object-position: center right
}

img.crop-bottom_left {
    -o-object-position: bottom left;
    object-position: bottom left
}

img.crop-bottom_center {
    -o-object-position: bottom center;
    object-position: bottom center
}

img.crop-bottom_right {
    -o-object-position: bottom right;
    object-position: bottom right
}

@media print {

    .site-header,
    .mobile-menu,
    .site-footer {
        display: none
    }
}

header.site-header {
    width: 100%;
    padding: 0 30px;
    padding: 0 var(--site-padding);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 200;
    overflow: hidden;
    background-color: var(--c-d-grey);
    color: var(--c-white);
    transition: 400ms cubic-bezier(0.23, 0.96, 0.59, 1)
}

header.site-header>div.container {
    padding: 1.5rem 0;
    min-height: 100%;
    position: relative;
    display: flex;
    gap: 1rem 15px;
    gap: 1rem var(--site-gutter);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch
}

header.site-header .custom-logo-link {
    padding: 0;
    display: flex;
    align-items: center
}

header.site-header .custom-logo-link img {
    width: auto;
    height: 3.5rem
}

header.site-header .nav-wrap {
    display: none
}

header.site-header.pre-set-sticky {
    display: none;
    position: fixed;
    top: 0;
    transform: translateY(-100%)
}

header.site-header.set-sticky {
    display: block
}

header.site-header.set-sticky.is-visible {
    transform: translateY(0)
}

@media screen and (min-width: 62em) {
    header.site-header {
        overflow: visible
    }

    header.site-header .custom-logo-link {
        flex: 0 1 190px
    }

    header.site-header .nav-wrap {
        flex: 1 1;
        display: flex;
        align-items: center;
        gap: 15px;
        gap: var(--site-gutter);
        justify-content: space-between
    }

    header.site-header .nav-wrap .header-search .search-input-field {
        max-width: 150px
    }

    header.site-header nav.nav-primary {
        align-self: stretch;
        width: 100%;
        max-width: 850px;
        margin-right: auto
    }

    header.site-header nav.nav-primary>ul {
        justify-content: space-between
    }
}

@media screen and (min-width: 64em) {
    header.site-header .nav-wrap .header-search .search-input-field {
        max-width: 200px
    }
}

.site-search {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 300px;
    border: 1px solid #666;
    border: 1px solid var(--c-shade-300);
    border-radius: 8px;
    border-radius: var(--border-radius);
    overflow: hidden
}

.site-search:focus-within {
    border-color: var(--c-primary)
}

.site-search .search-input-field {
    min-width: 0;
    flex: 1;
    padding: .5rem;
    border: none;
    border-radius: 0;
    outline: none;
    background-color: rgba(0, 0, 0, 0);
    color: var(--c-white);
    font-size: 1rem;
    line-height: 1.5rem
}

.site-search input[type=search]::-webkit-search-decoration,
.site-search input[type=search]::-webkit-search-cancel-button,
.site-search input[type=search]::-webkit-search-results-button,
.site-search input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none
}

.site-search .search-button {
    flex: 0 1;
    padding: 0 1rem;
    border: none;
    border-radius: 0;
    color: var(--c-white);
    background-color: rgba(0, 0, 0, 0)
}

.site-search .search-button:hover {
    background-color: var(--c-primary)
}

.site-search .search-button svg {
    display: flex;
    height: .75rem;
    width: .75rem;
    color: var(--c-l-secondary)
}

button#mobile-menu-trigger {
    height: 24px;
    width: 2rem;
    padding: 0;
    display: block;
    align-self: center;
    border: none;
    background: none
}

@media screen and (min-width: 62em) {
    button#mobile-menu-trigger {
        display: none
    }
}

button#mobile-menu-trigger .burger {
    display: block;
    color: var(--c-white);
    height: 4px;
    background: currentcolor;
    transition: transform .4s ease-in-out;
    position: relative
}

button#mobile-menu-trigger .burger::before,
button#mobile-menu-trigger .burger::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: currentcolor;
    transition: transform .4s ease-in-out
}

button#mobile-menu-trigger .burger::before {
    transform: translateY(-10px)
}

button#mobile-menu-trigger .burger::after {
    transform: translateY(10px)
}

button#mobile-menu-trigger.burger-active .burger {
    background: none;
    transform: rotate(-90deg)
}

button#mobile-menu-trigger.burger-active .burger::before {
    transform: rotate(45deg)
}

button#mobile-menu-trigger.burger-active .burger::after {
    transform: rotate(-45deg)
}

.site-footer {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    padding: 0 30px;
    padding: 0 var(--site-padding)
}

.site-footer nav li {
    margin: 0
}

.site-footer nav li+li {
    margin-top: 1.5rem
}

.site-footer nav a {
    display: inline-block;
    line-height: 1.5
}

.site-footer nav a:hover {
    color: inherit;
    -webkit-text-decoration: underline;
    text-decoration: underline
}

.site-footer .social-media-links svg {
    fill: var(--c-white)
}

.site-footer .social-media-links__header {
    display: block;
    margin: 1.5rem 0
}

.site-footer .sra {
    width: 150px;
    margin: 0 auto 3rem
}

.site-footer .sra>*+* {
    margin-top: 1rem
}

.site-footer__main {
    padding: 3.5rem 0 1.5rem
}

.site-footer__main .footer-social {
    margin-bottom: 2rem
}

.site-footer__legal {
    padding: 1.5rem 0 3.5rem;
    text-align: center
}

.site-footer__legal small {
    font-size: 1rem;
    line-height: 1.5
}

.site-footer__legal small a {
    -webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    color: var(--c-primary)
}

.site-footer__col {
    text-align: center
}

.site-footer__col+.site-footer__col {
    margin-top: 1rem
}

@media screen and (min-width: 62em) {
    .site-footer nav ul {
        display: flex;
        gap: 1rem;
        justify-content: space-between
    }

    .site-footer nav ul li {
        margin: 0
    }

    .site-footer nav ul li a {
        padding: 0;
        font-size: 1rem;
        text-align: center
    }

    .site-footer nav a {
        display: inline-block;
        line-height: 1.5
    }

    .site-footer nav a:hover {
        color: inherit;
        -webkit-text-decoration: underline;
        text-decoration: underline
    }

    .site-footer .sra {
        margin: 0;
        width: 168px
    }

    .site-footer__main {
        display: grid;
        grid-column: 1/3;
        grid-template-columns: subgrid
    }

    .site-footer__main .footer-social {
        grid-column: 1/2;
        display: flex;
        align-items: center;
        gap: 20px;
        margin-bottom: 0
    }

    .site-footer__main .footer-social .social-media-links__header {
        margin: 0
    }

    .site-footer__main .footer-nav {
        grid-column: 2/3
    }

    .site-footer__legal {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-top: rgba(255, 255, 255, .1) 2px solid;
        text-align: left
    }

    .site-footer__col {
        text-align: left
    }

    .site-footer__col+.site-footer__col {
        margin-top: 0
    }
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

nav ul a {
    cursor: pointer;
    line-height: 1.5;
    line-height: var(--t-base-line-height);
    transition: 200ms
}

nav ul a:hover {
    color: var(--c-primary)
}

nav ul span {
    display: inline-block
}

.nav-primary>ul,
.nav-secondary>ul {
    display: flex;
    gap: 1rem
}

.nav-primary>ul>li,
.nav-secondary>ul>li {
    font-size: 1rem;
    margin: 0
}

.nav-primary>ul>li>a,
.nav-secondary>ul>li>a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    white-space: nowrap;
    text-align: center
}

.nav-primary>ul>li.has-children>a::after,
.nav-secondary>ul>li.has-children>a::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid rgba(0, 0, 0, 0);
    border-right: 5px solid rgba(0, 0, 0, 0);
    border-top: 5px solid var(--c-primary);
    transition-duration: 150ms
}

.nav-primary>ul>li.has-children>a:hover::after,
.nav-secondary>ul>li.has-children>a:hover::after {
    transform: scaleY(-1)
}

.nav-primary>ul>li.has-children.is-visible>a::after,
.nav-secondary>ul>li.has-children.is-visible>a::after {
    transform: scaleY(-1)
}

.nav-primary>ul {
    height: 100%
}

.nav-primary>ul>li {
    margin-bottom: -1.5rem
}

.nav-primary>ul>li>a {
    height: 100%;
    padding-bottom: 1.5rem
}

.nav-primary li.has-children {
    position: relative
}

.nav-primary li.has-children .sub-menu-wrapper {
    display: none;
    width: 100vw;
    padding: .5rem 30px 2rem;
    padding: .5rem var(--site-padding) 2rem;
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    z-index: 195;
    background-color: var(--c-d-grey);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
    animation-duration: 600ms;
    animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
    animation-fill-mode: alternate
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul {
    --max-cols: 4;
    -moz-columns: 4 400px;
    columns: 4 400px;
    -moz-columns: var(--max-cols) 400px;
    columns: var(--max-cols) 400px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    -moz-column-gap: var(--site-gutter);
    column-gap: var(--site-gutter)
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul:has(>li:last-child:nth-child(3n)):not(:has(>li:last-child:nth-child(n+12))),
.nav-primary li.has-children .sub-menu-wrapper>.container>ul:has(>li:last-child:nth-child(5)),
.nav-primary li.has-children .sub-menu-wrapper>.container>ul:has(>li:last-child:nth-child(-n+3)) {
    --max-cols: 3
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul>li {
    margin: 0;
    margin-bottom: -2px;
    border-top: 2px solid #666;
    border-top: 2px solid var(--c-shade-300);
    border-bottom: 2px solid #666;
    border-bottom: 2px solid var(--c-shade-300)
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul>li>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.25rem;
    line-height: 1.5;
    padding: 1rem 0
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul>li>a::after {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMgMTVDMyA4LjM4NSA4LjM4NSAzIDE1IDNzMTIgNS4zODUgMTIgMTItNS4zODUgMTItMTIgMTJTMyAyMS42MTUgMyAxNXptLTMgMGMwIDguMjggNi43MiAxNSAxNSAxNSA4LjI4IDAgMTUtNi43MiAxNS0xNSAwLTguMjgtNi43Mi0xNS0xNS0xNUM2LjcyIDAgMCA2LjcyIDAgMTV6bTE1LTEuNUg5djNoNlYyMWw2LTYtNi02djQuNXoiIGZpbGw9IiNFNjMyMDAiLz48L3N2Zz4=");
    height: 30px;
    transition-duration: 200ms
}

.nav-primary li.has-children .sub-menu-wrapper>.container>ul>li>a:hover::after {
    transform: rotate(-45deg)
}

.nav-primary li.has-children.is-visible>.sub-menu-wrapper {
    display: block;
    animation-name: dropdown-menu
}

.nav-secondary>ul>li.menu-item>a {
    border: 1px solid var(--c-primary);
    border-radius: 8px;
    border-radius: var(--border-radius);
    padding: .5rem 30px;
    line-height: 24px
}

.nav-secondary>ul li.has-children {
    position: relative
}

.nav-secondary>ul li.has-children .sub-menu {
    min-width: 160px;
    width: -moz-max-content;
    width: max-content;
    margin-top: 0;
    padding: 40px 20px 20px;
    position: absolute;
    top: 100%;
    left: -20px;
    display: none;
    z-index: 10;
    border-radius: 8px;
    border-radius: var(--border-radius);
    background-color: var(--c-d-grey);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .25);
    animation-duration: 600ms;
    animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
    animation-fill-mode: alternate
}

.nav-secondary>ul li.has-children .sub-menu li {
    margin-bottom: 8px
}

.nav-secondary>ul li.has-children .sub-menu li a {
    display: block
}

.nav-secondary>ul li.has-children .sub-menu li:last-child {
    margin-bottom: 0
}

.nav-secondary>ul li.has-children.is-visible>.sub-menu {
    display: block;
    animation-name: dropdown-menu
}

@keyframes dropdown-menu {
    0% {
        opacity: 0;
        transform: translateY(-10px)
    }

    20% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.mobile-menu {
    width: 100%;
    max-height: calc(100dvh - var(--header-height));
    margin: 0;
    padding: var(--header-height) 30px 60px;
    padding: var(--header-height) var(--site-padding) 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 195;
    overflow-y: scroll;
    transform: translateY(-100%);
    color: var(--c-white);
    background-color: var(--c-d-grey);
    transition: 400ms cubic-bezier(0.42, 0, 0.37, 0.99)
}

.mobile-menu button#mobile-menu-close {
    width: 36px;
    height: 36px;
    padding: 0;
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 0;
    background: none;
    border: none
}

.mobile-menu-search .site-search {
    margin: auto
}

nav.nav-primary-mobile,
nav.nav-secondary-mobile {
    width: 100%
}

nav.nav-primary-mobile ul li,
nav.nav-secondary-mobile ul li {
    margin: 0;
    padding: 0;
    text-align: center
}

nav.nav-primary-mobile ul li a,
nav.nav-secondary-mobile ul li a {
    padding: 20px 0;
    display: block;
    font-size: 18px;
    line-height: 24px
}

nav.nav-primary-mobile ul li.has-children,
nav.nav-secondary-mobile ul li.has-children {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap
}

nav.nav-primary-mobile ul li.has-children>a,
nav.nav-secondary-mobile ul li.has-children>a {
    padding-left: 35px
}

nav.nav-primary-mobile ul li.has-children li,
nav.nav-secondary-mobile ul li.has-children li {
    border: 0
}

nav.nav-primary-mobile ul li.has-children li a,
nav.nav-secondary-mobile ul li.has-children li a {
    padding: 6px 0;
    font-size: 16px
}

nav.nav-primary-mobile ul li.has-children button,
nav.nav-secondary-mobile ul li.has-children button {
    width: 36px;
    height: 36px;
    border: none;
    background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00LjUgNEwuNjAzLjI1aDcuNzk0TDQuNSA0eiIgZmlsbD0iI0U2MzIwMCIvPjwvc3ZnPg==") no-repeat center;
    background-size: 9px auto;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

nav.nav-primary-mobile ul li.has-children .sub-menu,
nav.nav-secondary-mobile ul li.has-children .sub-menu {
    width: 100%;
    margin-bottom: 14px;
    padding: 0;
    display: none;
    position: relative
}

nav.nav-primary-mobile ul li.has-children.is-visible>button,
nav.nav-secondary-mobile ul li.has-children.is-visible>button {
    transform: rotate(180deg)
}

nav.nav-primary-mobile ul li.has-children.is-visible>.sub-menu,
nav.nav-secondary-mobile ul li.has-children.is-visible>.sub-menu {
    display: block
}

nav.nav-primary-mobile ul li+li,
nav.nav-secondary-mobile ul li+li {
    border-top: 1px solid #666;
    border-top: 1px solid var(--c-shade-300)
}

nav.nav-primary-mobile+.mobile-menu-search,
nav.nav-secondary-mobile+.mobile-menu-search {
    padding-top: 28px;
    margin-bottom: 8px;
    border-top: 1px solid #666;
    border-top: 1px solid var(--c-shade-300)
}

div.header-wrapper.mobile-menu-active .mobile-menu {
    transform: translateY(0)
}

.hero {
    padding: 30px;
    padding: var(--site-padding)
}

.hero h1+hr+p {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem)
}

.hero *+.button-group {
    margin-top: 30px;
    margin-top: var(--site-padding)
}

.hero.theme--dark {
    background-color: var(--c-d-grey);
    color: var(--c-white)
}

.hero--standard {
    padding-bottom: calc(30px*2);
    padding-bottom: calc(var(--site-padding)*2)
}

.hero--standard h1 {
    font-size: clamp(2.5rem, -0.25rem + 8vw, 4.75rem);
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.hero--standard.theme--dark {
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

.hero--standard .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px calc(15px*3);
    grid-gap: var(--site-padding) calc(var(--site-gutter)*3);
    gap: 30px calc(15px*3);
    gap: var(--site-padding) calc(var(--site-gutter)*3)
}

.hero--standard .container .image {
    --negative-margin: min(calc((50vw - (var(--container-width) / 2)) * -1), var(--site-padding) * -1);
    position: relative;
    aspect-ratio: 3/2;
    margin: 0 min(calc((50vw - (1816px / 2)) * -1), 30px * -1) 0 0;
    margin: 0 var(--negative-margin) 0 0;
    border-radius: 8px 0 0 8px;
    border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
    overflow: hidden
}

.hero--standard .container .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 64em) {
    .hero--standard .container {
        grid-template-columns: 1fr 1fr
    }

    .hero--standard .container .image {
        aspect-ratio: 0;
        min-height: 600px
    }
}

.hero--video.theme--dark {
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

.hero--video .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px calc(15px*3);
    grid-gap: var(--site-padding) calc(var(--site-gutter)*3);
    gap: 30px calc(15px*3);
    gap: var(--site-padding) calc(var(--site-gutter)*3)
}

.hero--video .container .video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    align-self: center;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

.hero--video .container .video iframe,
.hero--video .container .video object,
.hero--video .container .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (min-width: 64em) {
    .hero--video .container {
        grid-template-columns: 1fr 1fr
    }

    .hero--video .container .image {
        aspect-ratio: 0;
        min-height: 600px
    }
}

.hero--front {
    --video-width: min(calc(100vw - var(--site-padding)), var(--container-width));
    --aspect-ratio: 16 / 9;
    --spill: calc((var(--video-width) / (var(--aspect-ratio) * 2)) + (var(--site-padding) / 2));
    position: relative;
    background: var(--c-d-grey);
    background: linear-gradient(0deg, var(--c-white) calc((min(calc(100vw - 30px), 1816px) / (16 / 9 * 2)) + (30px / 2)), var(--c-d-grey) calc((min(calc(100vw - 30px), 1816px) / (16 / 9 * 2)) + (30px / 2)));
    background: linear-gradient(0deg, var(--c-white) var(--spill), var(--c-d-grey) var(--spill));
    color: var(--c-white)
}

.hero--front div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px calc(15px*3);
    grid-gap: var(--site-padding) calc(var(--site-gutter)*3);
    gap: 30px calc(15px*3);
    gap: var(--site-padding) calc(var(--site-gutter)*3)
}

.hero--front div.image {
    position: relative;
    aspect-ratio: 3/2;
    overflow: hidden
}

.hero--front div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain
}

.hero--front div.image,
.hero--front div.content {
    margin-left: 30px;
    margin-left: var(--site-padding)
}

.hero--front div.video {
    max-width: 1816px;
    max-width: var(--container-width);
    position: relative;
    aspect-ratio: var(--aspect-ratio);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    margin: 30px calc(30px*-0.5) 0;
    margin: var(--site-padding) calc(var(--site-padding)*-0.5) 0
}

.hero--front div.video video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.hero--front>.arrow {
    --height: 10%;
    position: absolute;
    top: 30px;
    top: var(--site-padding);
    left: 30px;
    left: var(--site-padding);
    background-color: var(--c-primary);
    width: 3px;
    height: calc(10% - 30px*1.25);
    height: calc(var(--height) - var(--site-padding)*1.25)
}

.hero--front>.arrow::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 16px;
    background-color: var(--c-primary);
    transform: rotate(45deg) translateY(1.5px);
    transform-origin: bottom center;
    border-radius: 3px
}

.hero--front>.arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 3px;
    height: 16px;
    background-color: var(--c-primary);
    transform: rotate(-45deg) translateY(1.5px);
    transform-origin: bottom center;
    border-radius: 3px
}

@media screen and (min-width: 64em) {
    .hero--front {
        --aspect-ratio: 5 / 2
    }

    .hero--front div.container {
        grid-template-columns: 3fr 2fr;
        align-items: center
    }

    .hero--front div.image,
    .hero--front div.content {
        margin-left: 0
    }

    .hero--front div.video {
        margin-left: auto;
        margin-right: auto
    }

    .hero--front .arrow {
        left: calc(30px*.5 - 1.5px);
        left: calc(var(--site-padding)*.5 - 1.5px)
    }
}

@media screen and (min-width: 100em) {
    .hero--front div.container {
        padding-left: calc(30px*3);
        padding-left: calc(var(--site-padding)*3)
    }

    .hero--front .arrow {
        left: calc(30px*3.25);
        left: calc(var(--site-padding)*3.25)
    }
}

.hero--illustration {
    padding: 30px 30px 0;
    padding: var(--site-padding) var(--site-padding) 0
}

.hero--illustration div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    grid-gap: var(--site-padding);
    gap: 30px;
    gap: var(--site-padding)
}

.hero--illustration div.image {
    position: relative;
    aspect-ratio: 3/2;
    overflow: hidden;
    margin: 0 auto;
    width: 90%
}

.hero--illustration div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center bottom;
    object-position: center bottom
}

.hero--illustration.theme--dark {
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

.hero--illustration[data-illustration="236"] {
    padding-bottom: calc(30px + 112px);
    padding-bottom: calc(var(--site-padding) + 112px);
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

.hero--illustration[data-illustration="236"] div.image {
    display: none;
    width: 100%;
    margin-bottom: calc(30px*-1);
    margin-bottom: calc(var(--site-padding)*-1)
}

.hero--illustration[data-illustration="777"] div.image {
    aspect-ratio: 2/1
}

@media screen and (min-width: 64em) {
    .hero--illustration div.container {
        grid-template-columns: 1fr 1fr;
        align-items: center
    }

    .hero--illustration div.content {
        padding-bottom: 30px;
        padding-bottom: var(--site-padding)
    }

    .hero--illustration div.image {
        align-self: flex-end
    }

    .hero--illustration[data-illustration="236"] {
        padding: 30px;
        padding: var(--site-padding)
    }

    .hero--illustration[data-illustration="236"] div.image {
        display: block
    }
}

.hero--post_single h1 {
    font-size: clamp(2rem, -1.3611rem + 9.7778vw, 4.75rem)
}

.hero--post_single h1+p {
    margin-top: 2rem
}

.hero--post_single div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    grid-gap: var(--site-padding);
    gap: 30px;
    gap: var(--site-padding)
}

.hero--post_single .site-breadcrumb {
    margin-bottom: 0
}

.hero--post_single div.image {
    position: relative;
    aspect-ratio: 2/1;
    overflow: hidden;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

.hero--post_single div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.hero--post_single div.video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    align-self: center;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

.hero--post_single div.video iframe,
.hero--post_single div.video object,
.hero--post_single div.video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.hero--post_single .details {
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    background-color: var(--c-d-grey);
    color: var(--c-white);
    padding: 30px;
    padding: var(--site-padding);
    grid-gap: 1rem;
    gap: 1rem;
    display: grid;
    grid-template-columns: 1fr
}

.hero--post_single .details>div {
    display: flex;
    flex-flow: column;
    gap: 1rem
}

.hero--post_single .details span {
    display: flex;
    gap: .5rem;
    align-items: center
}

.hero--post_single .details span .raptor-icon {
    flex: 0 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    color: var(--c-l-secondary)
}

.hero--post_single .details span .raptor-icon.calendar,
.hero--post_single .details span .raptor-icon.location {
    padding: .25rem
}

@media screen and (min-width: 64em) {
    .hero--post_single div.container {
        grid-template-columns: 3fr 2fr;
        grid-template-rows: auto auto
    }

    .hero--post_single .site-breadcrumb {
        grid-column: 1/3
    }

    .hero--post_single div.image {
        aspect-ratio: 0;
        grid-column: 2/3;
        grid-row: 2/4;
        height: 100%
    }

    .hero--post_single div.video {
        grid-column: 2/3;
        grid-row: 2/4
    }

    .hero--post_single .details {
        grid-column: 1/2;
        grid-row: 3/4;
        padding: 0 1rem;
        gap: 0
    }

    .hero--post_single .details .top,
    .hero--post_single .details .bottom {
        padding: 1rem 0;
        display: flex;
        flex-direction: row
    }

    .hero--post_single .details .top span,
    .hero--post_single .details .bottom span {
        flex: 1 1 auto;
        justify-content: center
    }

    .hero--post_single .details .top span+span,
    .hero--post_single .details .bottom span+span {
        border-left: 1px solid #666;
        border-left: 1px solid var(--c-shade-300)
    }

    .hero--post_single .details .bottom {
        border-top: 1px solid #666;
        border-top: 1px solid var(--c-shade-300)
    }
}

.hero--people_single h1 {
    font-size: clamp(2.5rem, -0.25rem + 8vw, 4.75rem);
    margin-bottom: calc((1.125rem * 1.5)*.25);
    margin-bottom: calc(calc(1.125rem * 1.5)*.25);
    margin-bottom: calc(var(--t-baseline)*.25)
}

.hero--people_single h1+p.role {
    font-size: clamp(2rem, .7778rem + 3.5556vw, 3rem);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    color: var(--c-primary);
    line-height: 1.2
}

.hero--people_single div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    grid-gap: var(--site-padding);
    gap: 30px;
    gap: var(--site-padding)
}

.hero--people_single div.container .site-breadcrumb {
    margin-bottom: 0
}

.hero--people_single div.image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

.hero--people_single div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.hero--people_single .details {
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    background-color: var(--c-d-grey);
    color: var(--c-white);
    padding: 30px;
    padding: var(--site-padding);
    gap: 2.5rem;
    display: flex;
    flex-direction: column
}

.hero--people_single .details>div {
    display: flex;
    flex-flow: column;
    gap: 1rem
}

.hero--people_single .details>div>p.title {
    font-size: clamp(1.5625rem, 1.0278rem + 1.5556vw, 2rem);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    margin-bottom: calc((1.125rem * 1.5)*.25);
    margin-bottom: calc(calc(1.125rem * 1.5)*.25);
    margin-bottom: calc(var(--t-baseline)*.25)
}

.hero--people_single .details ul.links {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.hero--people_single .details ul.links>li {
    margin: 0;
    margin-bottom: -2px;
    border-top: 2px solid #666;
    border-top: 2px solid var(--c-shade-300);
    border-bottom: 2px solid #666;
    border-bottom: 2px solid var(--c-shade-300)
}

.hero--people_single .details ul.links>li>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.25rem;
    line-height: 1.5;
    padding: 1rem 0
}

.hero--people_single .details ul.links>li>a::after {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMgMTVDMyA4LjM4NSA4LjM4NSAzIDE1IDNzMTIgNS4zODUgMTIgMTItNS4zODUgMTItMTIgMTJTMyAyMS42MTUgMyAxNXptLTMgMGMwIDguMjggNi43MiAxNSAxNSAxNSA4LjI4IDAgMTUtNi43MiAxNS0xNSAwLTguMjgtNi43Mi0xNS0xNS0xNUM2LjcyIDAgMCA2LjcyIDAgMTV6bTE1LTEuNUg5djNoNlYyMWw2LTYtNi02djQuNXoiIGZpbGw9IiNFNjMyMDAiLz48L3N2Zz4=");
    height: 30px;
    transition-duration: 200ms
}

.hero--people_single .details ul.links>li>a:hover {
    color: var(--c-primary)
}

.hero--people_single .details ul.links>li>a:hover::after {
    transform: rotate(-45deg)
}

.hero--people_single .details .contact a {
    display: flex;
    gap: 1rem;
    align-items: center
}

.hero--people_single .details .contact a:hover {
    color: var(--c-primary)
}

.hero--people_single .details .contact a .raptor-icon {
    flex: 0 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    color: var(--c-primary)
}

.hero--people_single .details .contact a .raptor-icon svg {
    width: inherit;
    height: inherit
}

@media screen and (min-width: 64em) {
    .hero--people_single div.container {
        grid-template: "bread bread" auto "title image" 1fr "deets image" auto/auto min(40%, 500px);
        gap: 15px;
        gap: var(--site-gutter)
    }

    .hero--people_single div.container>.site-breadcrumb {
        grid-area: bread
    }

    .hero--people_single div.container>.image {
        grid-area: image;
        width: 100%;
        align-self: center
    }

    .hero--people_single div.container>.title {
        grid-area: title;
        align-self: end
    }

    .hero--people_single div.container>.details {
        grid-area: deets;
        padding: 2rem;
        flex-flow: row wrap;
        gap: 5rem;
        align-self: end
    }

    .hero--people_single div.container>.details>div {
        flex: 1 1 auto
    }
}

.hero--case_study {
    padding: 0
}

.hero--case_study h1 {
    margin-bottom: calc((1.125rem * 1.5)*.75);
    margin-bottom: calc(calc(1.125rem * 1.5)*.75);
    margin-bottom: calc(var(--t-baseline)*.75)
}

.hero--case_study h1+.summary {
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    line-height: 1.2
}

.hero--contact .content {
    margin-bottom: 2rem
}

.hero--contact form.raptor-form label {
    color: var(--c-primary);
    margin-bottom: .5rem;
    font-weight: 500
}

.hero--contact form.raptor-form .field_type--checkbox,
.hero--contact form.raptor-form .field_type--radio {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

.hero--contact form.raptor-form .field_type--checkbox label,
.hero--contact form.raptor-form .field_type--radio label {
    color: var(--c-white)
}

.hero--contact form.raptor-form .field_type--checkbox label a,
.hero--contact form.raptor-form .field_type--radio label a {
    color: var(--c-link);
    -webkit-text-decoration: underline;
    text-decoration: underline
}

.hero--contact form.raptor-form .field_type--checkbox label a:hover,
.hero--contact form.raptor-form .field_type--radio label a:hover {
    color: var(--c-link-hover)
}

.hero--contact form.raptor-form .form-input {
    padding: .5rem 1rem;
    font: inherit;
    line-height: 1.5
}

.hero--contact form.raptor-form .fields {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

.hero--contact form.raptor-form .field {
    margin: 0;
    flex: 1 1 100%
}

.hero--contact .image {
    position: relative;
    aspect-ratio: 4/3
}

.hero--contact .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left center;
    object-position: left center
}

@media screen and (min-width: 48em) {
    .hero--contact .container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        gap: 15px;
        gap: var(--site-gutter);
        padding-top: 45px
    }

    .hero--contact .content {
        order: 2;
        margin-bottom: 0
    }

    .hero--contact .content .site-breadcrumb {
        position: absolute;
        top: 0;
        left: 0
    }

    .hero--contact .image {
        aspect-ratio: 0;
        min-height: 600px
    }

    .hero--contact .image img {
        -o-object-position: left center;
        object-position: left center
    }

    .hero--contact form.raptor-form .field {
        flex: 1 1 calc(50% - 1rem)
    }

    .hero--contact form.raptor-form .field_type--checkbox,
    .hero--contact form.raptor-form .field_type--radio,
    .hero--contact form.raptor-form .field_type--textarea {
        flex: 1 1 100%
    }
}

.raptor-form {
    position: relative
}

.raptor-form .field {
    margin-bottom: 10px;
    display: block
}

.raptor-form .field:last-child {
    margin-bottom: 0
}

.raptor-form [type=submit] {
    --padding-ratio: 4
}

.grecaptcha-badge {
    visibility: hidden
}

.raptor-accordion {
    --vertical-padding: 10px;
    --sa-box-shadow: 0 0 10px rgba(var(--c-d-grey-rgba), .1), 0 0 30px rgba(var(--c-d-grey-rgba), .05)
}

.raptor-accordion .raptor-accordion__item {
    position: relative;
    border-radius: 8px;
    border-radius: var(--border-radius);
    transition: 400ms
}

.raptor-accordion .raptor-accordion__item:hover {
    box-shadow: var(--sa-box-shadow)
}

.raptor-accordion .raptor-accordion__item:last-child {
    margin-bottom: 0
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__tab {
    border-top: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 2rem 0;
    position: relative;
    cursor: pointer;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: clamp(1.25rem, .9135rem + .9615vw, 1.5625rem);
    font-weight: 500
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__icon {
    flex: 0 0 2rem;
    display: block;
    height: 5px;
    width: 2rem;
    color: var(--c-primary);
    position: relative;
    transition: transform 200ms ease-in-out;
    transition-delay: 200ms
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__icon::before,
.raptor-accordion .raptor-accordion__item .raptor-accordion__icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: currentcolor;
    transition: transform 400ms ease-in-out
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__icon::after {
    transform: rotate(90deg)
}

.raptor-accordion .raptor-accordion__item.is-expanded .raptor-accordion__icon {
    transform: rotate(45deg)
}

.raptor-accordion .raptor-accordion__item.is-expanded .raptor-accordion__icon::before {
    transform: rotate(135deg)
}

.raptor-accordion .raptor-accordion__item.is-expanded .raptor-accordion__icon::after {
    transform: rotate(135deg)
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__panel {
    padding: 0 4rem 2rem 0;
    position: relative
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__panel>* {
    max-width: 1280px
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__panel>*:last-child {
    margin-bottom: 0
}

.raptor-accordion .raptor-accordion__item .raptor-accordion__panel li a {
    color: var(--c-primary);
    -webkit-text-decoration: underline;
    text-decoration: underline
}

@media screen and (min-width: 28.125em) {
    .raptor-accordion {
        --vertical-padding: 20px
    }
}

.raptor-tabs {
    padding: 10px;
    background-color: var(--c-l-grey)
}

.raptor-tabs .raptor-tabs__list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.raptor-tabs .raptor-tabs__list .raptor-tabs__tab {
    padding: 10px;
    cursor: pointer;
    background-color: var(--c-white);
    border: none
}

.raptor-tabs .raptor-tabs__list .raptor-tabs__tab.is-visible {
    background-color: var(--c-primary)
}

.raptor-tabs .raptor-tabs__panels {
    padding: 10px 0
}

.raptor-tabs .raptor-tabs__panels .raptor-tabs__panel {
    display: none
}

.raptor-tabs .raptor-tabs__panels .raptor-tabs__panel.is-visible {
    display: block
}

@media screen and (min-width: 48em) {
    .raptor-tabs {
        padding: 20px
    }

    .raptor-tabs .raptor-tabs__panels {
        padding: 10px 0 0
    }
}

.pagination {
    margin-top: 40px
}

.pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1.25
}

.pagination ul li {
    margin: 4px;
    display: inline-block
}

.pagination .page-numbers {
    padding: .5em;
    min-width: 2.5em;
    line-height: 1.5;
    display: inline-block;
    border-radius: .5em;
    font-weight: 500;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    text-align: center
}

.pagination [aria-current=page] {
    background-color: var(--c-l-grey);
    color: var(--c-primary)
}

.pagination a:hover {
    background-color: var(--c-l-grey)
}

.pagination a.prev,
.pagination a.next {
    vertical-align: middle
}

.pagination a.prev svg,
.pagination a.next svg {
    width: 1rem;
    height: 1rem;
    top: -2px;
    position: relative;
    display: block;
    transition: 300ms
}

.pagination a.prev:hover {
    background: none !important
}

.pagination a.prev:hover svg {
    transform: translateX(-4px)
}

.pagination a.next:hover {
    background: none !important
}

.pagination a.next:hover svg {
    transform: translateX(4px)
}

.raptor-cookie-notice {
    width: calc(100vw - 8px);
    max-width: 500px;
    padding: 10px 20px;
    position: fixed;
    left: 4px;
    bottom: 4px;
    transform: translateY(calc(100% + 10px));
    z-index: 9999;
    opacity: 0;
    background-color: var(--c-white);
    color: var(--c-d-grey);
    border-radius: 8px;
    border-radius: var(--border-radius);
    box-shadow: 0 0 10px rgba(var(--c-d-grey-rgb), 0.2), 0 0 30px rgba(var(--c-d-grey-rgb), 0.15), 0 0 60px rgba(var(--c-d-grey-rgb), 0.1);
    animation-duration: 800ms;
    animation-timing-function: cubic-bezier(0.2, 0.9, 0.6, 1);
    animation-fill-mode: forwards
}

.raptor-cookie-notice.is-visible {
    display: flex;
    -moz-column-gap: 10px;
    column-gap: 10px;
    row-gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
    animation-name: cookie-is-visible
}

.raptor-cookie-notice>div {
    width: 100%
}

.raptor-cookie-notice p {
    margin-bottom: calc((1.125rem * 1.5)*.5);
    margin-bottom: calc(calc(1.125rem * 1.5)*.5);
    margin-bottom: calc(var(--t-baseline)*.5)
}

.raptor-cookie-notice p:last-child {
    margin-bottom: 0
}

@media screen and (min-width: 48em) {
    .raptor-cookie-notice {
        max-width: 300px;
        padding: 20px;
        left: 10px;
        bottom: 10px
    }
}

@keyframes cookie-is-visible {
    0% {
        transform: translateY(calc(100% + 10px));
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}

div.announcement-bar {
    padding: 10px 30px;
    padding: 10px var(--site-margin);
    background-color: var(--c-l-grey);
    text-align: center
}

div.announcement-bar p {
    max-width: 1600px;
    margin: 0 auto
}

.social-media-links a {
    width: 36px;
    height: 36px;
    margin: 0;
    margin-right: 8px;
    padding: 6px;
    display: inline-block
}

.social-media-links a svg {
    width: 100%;
    height: 100%
}

.social-share {
    display: flex;
    gap: 16px;
    align-items: center
}

.social-share a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--c-black);
    color: var(--c-white);
    transition: 400ms cubic-bezier(0.42, 0, 0.37, 0.99)
}

.social-share a:hover {
    background-color: var(--c-primary)
}

.social-share a .raptor-icon {
    display: flex;
    height: 24px;
    width: 24px;
    justify-content: center;
    align-items: center
}

.social-share a .raptor-icon svg {
    width: 100%;
    height: 100%
}

.site-breadcrumb {
    text-align: left;
    margin-bottom: 1.5rem
}

.site-breadcrumb * {
    font-size: .875rem;
    color: #91837e;
    color: var(--c-primary-beige-400)
}

.site-breadcrumb nav {
    text-align: left
}

.site-breadcrumb a {
    color: inherit;
    -webkit-text-decoration: none;
    text-decoration: none
}

.site-breadcrumb a:hover {
    -webkit-text-decoration: none;
    text-decoration: none
}

.flexi-sidebar {
    width: 100%;
    max-width: min(1816px, 100% - 30px*2);
    max-width: min(var(--container-width), 100% - var(--site-padding)*2);
    margin: 0 auto 100px;
    position: relative
}

.flexi-sidebar aside.sidebar .sidebar-heading-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 150;
    display: block;
    padding: 1.5rem;
    background-color: var(--c-white);
    border-top: 1px solid var(--c-primary);
    text-align: center
}

.flexi-sidebar aside.sidebar .sidebar-heading-mobile span {
    display: inline-block;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: 25px;
    line-height: 1.2;
    padding-right: 2rem;
    background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOSAwbDkgNy4xNjctMi4xIDEuNjczTDkgMy4zNDUgMi4xIDguODQgMCA3LjE2NyA5IDB6IiBmaWxsPSIjMDAwIi8+PC9zdmc+") no-repeat right center;
    background-size: 18px auto
}

.flexi-sidebar aside.sidebar nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 145;
    padding: 1rem 3rem 4.875rem;
    background-color: var(--c-white);
    border-top: 1px solid var(--c-primary);
    text-align: center;
    transform: translateY(100%);
    transition: 400ms cubic-bezier(0.42, 0, 0.37, 0.99)
}

.flexi-sidebar aside.sidebar nav h2 {
    display: none;
    font-size: 2rem;
    margin: 0
}

.flexi-sidebar aside.sidebar nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 50dvh;
    overflow-y: auto;
    scrollbar-color: var(--c-l-grey) rgba(0, 0, 0, 0);
    scrollbar-width: thin
}

.flexi-sidebar aside.sidebar nav ul li {
    border-bottom: 1px solid var(--c-l-grey);
    margin: 0
}

.flexi-sidebar aside.sidebar nav ul li a {
    display: block;
    padding: .75rem 0;
    font-size: 1rem;
    line-height: 1.5
}

.flexi-sidebar aside.sidebar nav+.return {
    display: none
}

.flexi-sidebar aside.sidebar.sidebar-active-mobile .sidebar-heading-mobile {
    border: 0
}

.flexi-sidebar aside.sidebar.sidebar-active-mobile .sidebar-heading-mobile span {
    background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOSA4Ljg0TDAgMS42NzIgMi4xIDAgOSA1LjQ5NSAxNS45IDAgMTggMS42NzIgOSA4Ljg0eiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat right center
}

.flexi-sidebar aside.sidebar.sidebar-active-mobile nav {
    transform: translateY(0)
}

.flexi-sidebar .flexi-blocks-builder .flexi-block {
    padding-left: 0;
    padding-right: 0
}

.flexi-sidebar .flexi-blocks-builder .flexi-block:last-of-type {
    margin-bottom: 0
}

.flexi-sidebar>.site-section {
    padding-left: 0;
    padding-right: 0
}

.flexi-sidebar>.site-section.posts-loop {
    padding-bottom: 0
}

@media screen and (min-width: 64em) {
    .flexi-sidebar {
        display: grid;
        grid-template-columns: minmax(300px, 25%) minmax(0, 1fr);
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        gap: 15px;
        gap: var(--site-gutter)
    }

    .flexi-sidebar aside.sidebar .sidebar-heading-mobile {
        display: none
    }

    .flexi-sidebar aside.sidebar .sticky-wrapper {
        position: sticky;
        top: 30px;
        top: var(--site-padding);
        transition: 400ms cubic-bezier(0.23, 0.96, 0.59, 1)
    }

    .flexi-sidebar aside.sidebar nav {
        position: static;
        bottom: auto;
        bottom: initial;
        left: auto;
        left: initial;
        overflow-y: auto;
        margin-bottom: 2rem;
        border: 1px solid var(--c-primary);
        border-radius: 8px;
        border-radius: var(--border-radius-lg);
        background-color: var(--c-white);
        transform: none;
        padding: 1.5rem;
        text-align: left
    }

    .flexi-sidebar aside.sidebar nav h2 {
        display: block;
        margin-bottom: calc((1.125rem * 1.5)*.5);
        margin-bottom: calc(calc(1.125rem * 1.5)*.5);
        margin-bottom: calc(var(--t-baseline)*.5)
    }

    .flexi-sidebar aside.sidebar nav ul {
        max-height: 80dvh
    }

    .flexi-sidebar aside.sidebar nav ul li {
        border-bottom: 0
    }

    .flexi-sidebar aside.sidebar nav+.return {
        display: inline-flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 2rem;
        font-size: 1.25rem
    }

    .flexi-sidebar aside.sidebar nav+.return::before {
        content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMwIDE4YzAgNi42MTUtNS4zODUgMTItMTIgMTJTNiAyNC42MTUgNiAxOCAxMS4zODUgNiAxOCA2czEyIDUuMzg1IDEyIDEyem0zIDBjMC04LjI4LTYuNzItMTUtMTUtMTVDOS43MiAzIDMgOS43MiAzIDE4YzAgOC4yOCA2LjcyIDE1IDE1IDE1IDguMjggMCAxNS02LjcyIDE1LTE1em0tMTUgMS41aDZ2LTNoLTZWMTJsLTYgNiA2IDZ2LTQuNXoiIGZpbGw9IiNFNjMyMDAiLz48L3N2Zz4=");
        height: 36px;
        transition-duration: 200ms
    }

    .flexi-sidebar aside.sidebar nav+.return:hover {
        background-color: rgba(0, 0, 0, 0)
    }

    .flexi-sidebar aside.sidebar nav+.return:hover::before {
        transform: rotate(45deg)
    }
}

.flexi-sidebar+.flexi-blocks-builder {
    margin-top: 30px;
    margin-top: var(--site-margin)
}

@media screen and (min-width: 64em) {
    .header-state-active .flexi-sidebar aside.sidebar .sticky-wrapper {
        top: calc(var(--header-height) + 30px);
        top: calc(var(--header-height) + var(--site-padding))
    }
}

.loadmore {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    opacity: 0;
    padding: 0
}

.loadmore svg {
    fill: var(--c-primary)
}

.loadmore.loading {
    opacity: 1;
    padding: 6rem 0
}

body.archive:has(.archive-nav) .hero,
main.latest-archive:has(.archive-nav) .hero,
body.taxonomy:has(.archive-nav) .hero {
    padding-bottom: 16px
}

body.archive:has(.archive-nav) .hero .container,
main.latest-archive:has(.archive-nav) .hero .container,
body.taxonomy:has(.archive-nav) .hero .container {
    display: block
}

body.archive:has(.archive-nav) .hero .content,
main.latest-archive:has(.archive-nav) .hero .content,
body.taxonomy:has(.archive-nav) .hero .content {
    display: grid;
    grid-template-columns: 100%;
    grid-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem
}

body.archive:has(.archive-nav) .hero .content .site-breadcrumb,
main.latest-archive:has(.archive-nav) .hero .content .site-breadcrumb,
body.taxonomy:has(.archive-nav) .hero .content .site-breadcrumb {
    grid-column: 1/-1
}

body.archive:has(.archive-nav) .archive-nav,
main.latest-archive:has(.archive-nav) .archive-nav,
body.taxonomy:has(.archive-nav) .archive-nav {
    scrollbar-color: var(--c-primary);
    overflow-x: auto;
    clip-path: none !important;
    align-self: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    margin: 0 calc(-1*30px);
    margin: 0 calc(-1*var(--site-padding))
}

body.archive:has(.archive-nav) .archive-nav::-webkit-scrollbar,
main.latest-archive:has(.archive-nav) .archive-nav::-webkit-scrollbar,
body.taxonomy:has(.archive-nav) .archive-nav::-webkit-scrollbar {
    margin: 0 20px
}

body.archive:has(.archive-nav) .archive-nav::-webkit-scrollbar-track,
main.latest-archive:has(.archive-nav) .archive-nav::-webkit-scrollbar-track,
body.taxonomy:has(.archive-nav) .archive-nav::-webkit-scrollbar-track {
    background-color: var(--c-l-grey);
    margin-left: 30px;
    margin-left: var(--site-padding);
    margin-right: 30px;
    margin-right: var(--site-padding);
    border-radius: 10px
}

body.archive:has(.archive-nav) .archive-nav::-webkit-scrollbar-thumb,
main.latest-archive:has(.archive-nav) .archive-nav::-webkit-scrollbar-thumb,
body.taxonomy:has(.archive-nav) .archive-nav::-webkit-scrollbar-thumb {
    background-color: var(--c-primary);
    border-radius: 20px
}

body.archive:has(.archive-nav) .archive-nav a,
main.latest-archive:has(.archive-nav) .archive-nav a,
body.taxonomy:has(.archive-nav) .archive-nav a {
    display: inline-block;
    height: -moz-fit-content;
    height: fit-content;
    text-wrap: nowrap;
    margin: 16px 10px 24px;
    color: #fff;
    background-color: var(--c-black);
    position: relative;
    justify-content: center;
    text-align: center;
    text-transform: capitalize
}

body.archive:has(.archive-nav) .archive-nav a:hover,
main.latest-archive:has(.archive-nav) .archive-nav a:hover,
body.taxonomy:has(.archive-nav) .archive-nav a:hover {
    background-color: var(--c-primary)
}

body.archive:has(.archive-nav) .archive-nav a:first-child,
main.latest-archive:has(.archive-nav) .archive-nav a:first-child,
body.taxonomy:has(.archive-nav) .archive-nav a:first-child {
    margin-left: 30px;
    margin-left: var(--site-padding)
}

body.archive:has(.archive-nav) .archive-nav a:last-child,
main.latest-archive:has(.archive-nav) .archive-nav a:last-child,
body.taxonomy:has(.archive-nav) .archive-nav a:last-child {
    margin-right: 30px;
    margin-right: var(--site-padding)
}

body.archive:has(.archive-nav) .archive-nav a.selected,
main.latest-archive:has(.archive-nav) .archive-nav a.selected,
body.taxonomy:has(.archive-nav) .archive-nav a.selected {
    background-color: var(--c-primary)
}

body.archive:has(.archive-nav) .archive-nav a.selected:after,
main.latest-archive:has(.archive-nav) .archive-nav a.selected:after,
body.taxonomy:has(.archive-nav) .archive-nav a.selected:after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 20px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--c-primary);
    border-radius: 1px
}

body.archive:has(.archive-nav) .archive-nav .nav-link-1,
main.latest-archive:has(.archive-nav) .archive-nav .nav-link-1,
body.taxonomy:has(.archive-nav) .archive-nav .nav-link-1 {
    order: 1
}

body.archive:has(.archive-nav) .archive-nav .nav-link-2,
main.latest-archive:has(.archive-nav) .archive-nav .nav-link-2,
body.taxonomy:has(.archive-nav) .archive-nav .nav-link-2 {
    order: 4
}

body.archive:has(.archive-nav) .archive-nav .nav-link-3,
main.latest-archive:has(.archive-nav) .archive-nav .nav-link-3,
body.taxonomy:has(.archive-nav) .archive-nav .nav-link-3 {
    order: 3
}

body.archive:has(.archive-nav) .archive-nav .nav-link-4,
main.latest-archive:has(.archive-nav) .archive-nav .nav-link-4,
body.taxonomy:has(.archive-nav) .archive-nav .nav-link-4 {
    order: 2
}

@media screen and (min-width: 56.25em) {

    body.archive:has(.archive-nav) .archive-nav,
    main.latest-archive:has(.archive-nav) .archive-nav,
    body.taxonomy:has(.archive-nav) .archive-nav {
        margin: 0;
        overflow: visible;
        overflow: initial;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px
    }

    body.archive:has(.archive-nav) .archive-nav a,
    main.latest-archive:has(.archive-nav) .archive-nav a,
    body.taxonomy:has(.archive-nav) .archive-nav a {
        margin: 16px 0 24px
    }

    body.archive:has(.archive-nav) .archive-nav a:first-child,
    main.latest-archive:has(.archive-nav) .archive-nav a:first-child,
    body.taxonomy:has(.archive-nav) .archive-nav a:first-child {
        margin-left: 0
    }

    body.archive:has(.archive-nav) .archive-nav a:last-child,
    main.latest-archive:has(.archive-nav) .archive-nav a:last-child,
    body.taxonomy:has(.archive-nav) .archive-nav a:last-child {
        margin-right: 0
    }
}

@media screen and (min-width: 80em) {

    body.archive:has(.archive-nav) .hero .content,
    main.latest-archive:has(.archive-nav) .hero .content,
    body.taxonomy:has(.archive-nav) .hero .content {
        grid-template-columns: auto 1fr;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    body.archive:has(.archive-nav) .archive-nav,
    main.latest-archive:has(.archive-nav) .archive-nav,
    body.taxonomy:has(.archive-nav) .archive-nav {
        margin: 0;
        overflow: visible;
        overflow: initial;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px
    }
}

@media screen and (min-width: 100em) {

    body.archive:has(.archive-nav) .hero .content,
    main.latest-archive:has(.archive-nav) .hero .content,
    body.taxonomy:has(.archive-nav) .hero .content {
        grid-template-columns: 1fr 50% 1fr;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }
}

section.posts-loop .post-overlay,
section.related-posts .post-overlay,
section.block--work-examples .post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 42px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0 8px 0 18px;
    border-radius: 0 var(--border-radius-lg) 0 18px
}

section.posts-loop .overlay-post-cat,
section.related-posts .overlay-post-cat,
section.block--work-examples .overlay-post-cat {
    background-color: var(--c-primary);
    color: var(--c-white);
    border-bottom-left-radius: 18px;
    border-radius: 0 8px 0 18px;
    border-radius: 0 var(--border-radius-lg) 0 18px;
    width: auto;
    height: 100%;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 14px
}

section.posts-loop .overlay-post-cat .text,
section.related-posts .overlay-post-cat .text,
section.block--work-examples .overlay-post-cat .text {
    text-transform: capitalize
}

section.posts-loop .overlay-post-cat .icon,
section.related-posts .overlay-post-cat .icon,
section.block--work-examples .overlay-post-cat .icon {
    display: flex;
    align-items: center;
    justify-content: center
}

section.posts-loop li.event.past-event .overlay-post-cat,
section.related-posts li.event.past-event .overlay-post-cat,
section.block--work-examples li.event.past-event .overlay-post-cat {
    background-color: var(--c-l-grey);
    color: var(--c-d-grey)
}

section.past-events li.event .overlay-post-cat {
    background-color: var(--c-l-grey);
    color: var(--c-d-grey)
}

section.flexi-block.block--service-regions .block-heading {
    margin-bottom: 5rem
}

section.flexi-block.block--service-regions ul.regions-grid {
    width: 100%;
    padding: 0;
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem 1rem
}

section.flexi-block.block--service-regions li {
    width: 100%
}

section.flexi-block.block--service-regions button.region-modal-open {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0);
    cursor: pointer
}

section.flexi-block.block--service-regions button.region-modal-open h3 {
    font-size: max(1.2rem, min(3vw, 2rem));
    font-weight: 400;
    color: #000;
    color: var(--c-text-base);
    text-align: center;
    margin-top: 1rem
}

section.flexi-block.block--service-regions button.region-modal-open div.region-graphic {
    width: 100%;
    aspect-ratio: 1/1
}

section.flexi-block.block--service-regions button.region-modal-open svg {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto
}

section.flexi-block.block--service-regions button.region-modal-open svg path,
section.flexi-block.block--service-regions button.region-modal-open svg polygon,
section.flexi-block.block--service-regions button.region-modal-open svg rect,
section.flexi-block.block--service-regions button.region-modal-open svg circle {
    transition: ease .3s;
    fill: var(--c-black)
}

section.flexi-block.block--service-regions button.region-modal-open:hover svg path,
section.flexi-block.block--service-regions button.region-modal-open:hover svg polygon,
section.flexi-block.block--service-regions button.region-modal-open:hover svg rect,
section.flexi-block.block--service-regions button.region-modal-open:hover svg circle {
    fill: var(--c-primary)
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--service-regions ul.regions-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--service-regions ul.regions-grid div.region-graphic {
        padding: 2rem
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--service-regions ul.regions-grid div.region-graphic {
        padding: 4rem
    }
}

#regionModal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 200;
    overflow: auto;
    max-width: 90vw;
    max-height: 90vh;
    background-color: #fff;
    border-radius: calc(8px*1.5);
    border-radius: calc(var(--border-radius)*1.5);
    box-shadow: 1px 1px 10px rgba(0, 0, 0, .1);
    animation-duration: 200ms;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards
}

#regionModal.modal-active {
    display: block;
    animation: modal
}

#regionModal .modal__content {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: auto;
    padding: 2rem
}

#regionModal .modal__close {
    position: absolute;
    top: 0;
    right: 0;
    padding: .5rem;
    scale: .6;
    border: 0;
    background: rgba(0, 0, 0, 0);
    cursor: pointer
}

#regionModal .modal__close svg path {
    fill: #000;
    fill: var(--c-text-base);
    transition: ease .15s
}

#regionModal .modal__close:hover svg path {
    fill: var(--c-primary)
}

#regionModal .modal-col-1 {
    min-width: 280px
}

#regionModal .modal-col-1 .profile-image {
    width: 100%;
    aspect-ratio: 1/1;
    margin-bottom: 2rem;
    border-radius: calc(8px*1.5);
    border-radius: calc(var(--border-radius)*1.5);
    overflow: hidden
}

#regionModal .modal-col-1 .profile-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#regionModal .modal-col-1 a {
    width: 100%;
    padding: .8rem 4rem
}

#regionModal .profile-button {
    justify-content: center;
    display: none
}

#regionModal .profile-button-mobile {
    justify-content: center;
    display: flex;
    margin-top: 1rem
}

#regionModal .modal-col-2 h3 {
    font-size: max(2rem, min(5vw, 4rem));
    color: #000;
    color: var(--c-text-base);
    margin-bottom: .4rem
}

#regionModal .modal-col-2 .profile-position {
    font-size: max(1.6rem, min(4vw, 2.4rem));
    font-weight: 400;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    color: var(--c-primary);
    margin-bottom: .4rem
}

#regionModal .modal-col-2 .profile-region {
    font-size: max(1.2rem, min(4vw, 2.1rem))
}

#regionModal .modal-col-2 .profile-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

#regionModal .modal-col-2 .profile-contact p {
    font-size: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    margin: 0
}

#regionModal .modal-col-2 .profile-contact a {
    color: #000;
    color: var(--c-text-base);
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: ease .15s
}

#regionModal .modal-col-2 .profile-contact a:hover {
    color: var(--c-primary)
}

#regionModal .modal-col-2 .profile-contact-telephone span {
    display: block;
    width: 2rem;
    height: 2rem;
    background: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6961 18.6387C15.6128 18.6387 13.5544 18.1845 11.5211 17.2762C9.48776 16.3678 7.63776 15.0803 5.97109 13.4137C4.30443 11.747 3.01693 9.89701 2.10859 7.86367C1.20026 5.83034 0.746094 3.77201 0.746094 1.68867C0.746094 1.38867 0.846094 1.13867 1.04609 0.938672C1.24609 0.738672 1.49609 0.638672 1.79609 0.638672H5.84609C6.07943 0.638672 6.28776 0.717839 6.47109 0.876172C6.65443 1.03451 6.76276 1.22201 6.79609 1.43867L7.44609 4.93867C7.47943 5.20534 7.47109 5.43034 7.42109 5.61367C7.37109 5.79701 7.27943 5.95534 7.14609 6.08867L4.72109 8.53867C5.05443 9.15534 5.45026 9.75117 5.90859 10.3262C6.36693 10.9012 6.87109 11.4553 7.42109 11.9887C7.93776 12.5053 8.47943 12.9845 9.04609 13.4262C9.61276 13.8678 10.2128 14.272 10.8461 14.6387L13.1961 12.2887C13.3461 12.1387 13.5419 12.0262 13.7836 11.9512C14.0253 11.8762 14.2628 11.8553 14.4961 11.8887L17.9461 12.5887C18.1794 12.6553 18.3711 12.7762 18.5211 12.9512C18.6711 13.1262 18.7461 13.322 18.7461 13.5387V17.5887C18.7461 17.8887 18.6461 18.1387 18.4461 18.3387C18.2461 18.5387 17.9961 18.6387 17.6961 18.6387ZM3.77109 6.63867L5.42109 4.98867L4.99609 2.63867H2.77109C2.85443 3.32201 2.97109 3.99701 3.12109 4.66367C3.27109 5.33034 3.48776 5.98867 3.77109 6.63867ZM12.7211 15.5887C13.3711 15.872 14.0336 16.097 14.7086 16.2637C15.3836 16.4303 16.0628 16.5387 16.7461 16.5887V14.3887L14.3961 13.9137L12.7211 15.5887Z' fill='black'/%3E%3C/svg%3E") no-repeat center
}

#regionModal .modal-col-2 .profile-contact-email span {
    display: block;
    width: 2rem;
    height: 2rem;
    background: url("data:image/svg+xml,%3Csvg width='21' height='17' viewBox='0 0 21 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.04492 16.6387C1.49492 16.6387 1.02409 16.4428 0.632422 16.0512C0.240755 15.6595 0.0449219 15.1887 0.0449219 14.6387V2.63867C0.0449219 2.08867 0.240755 1.61784 0.632422 1.22617C1.02409 0.834505 1.49492 0.638672 2.04492 0.638672H18.0449C18.5949 0.638672 19.0658 0.834505 19.4574 1.22617C19.8491 1.61784 20.0449 2.08867 20.0449 2.63867V14.6387C20.0449 15.1887 19.8491 15.6595 19.4574 16.0512C19.0658 16.4428 18.5949 16.6387 18.0449 16.6387H2.04492ZM10.0449 9.63867L2.04492 4.63867V14.6387H18.0449V4.63867L10.0449 9.63867ZM10.0449 7.63867L18.0449 2.63867H2.04492L10.0449 7.63867ZM2.04492 4.63867V2.63867V14.6387V4.63867Z' fill='black'/%3E%3C/svg%3E") no-repeat center
}

@media screen and (min-width: 64em) {
    #regionModal {
        max-width: 980px
    }

    #regionModal .modal__close {
        top: 2rem;
        right: 2rem;
        scale: 1
    }

    #regionModal .modal__content {
        flex-direction: row;
        gap: 3rem
    }

    #regionModal .profile-button {
        display: flex
    }

    #regionModal .profile-button-mobile {
        display: none
    }

    #regionModal .modal-col-2 {
        width: -moz-max-content;
        width: max-content
    }

    #regionModal .modal-col-2 .profile-contact {
        gap: 3rem
    }
}

@media screen and (min-width: 100em) {
    #regionModal {
        max-width: 1100px
    }

    #regionModal .modal__content {
        padding: 4.5rem
    }
}

@keyframes modal {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

section.flexi-block.block--work-examples .swiper {
    padding: 0 0 0 0;
    overflow: visible
}

section.flexi-block.block--work-examples .swiper-wrapper {
    align-items: stretch;
    padding-left: 0
}

section.flexi-block.block--work-examples .swiper-slide {
    opacity: 0;
    height: auto;
    height: initial;
    margin-bottom: 0
}

section.flexi-block.block--work-examples .swiper-slide a,
section.flexi-block.block--work-examples .swiper-slide div.rw-card {
    display: block;
    background-color: var(--c-l-grey);
    border-radius: 8px 30px 8px 8px;
    border-radius: var(--border-radius-lg) 30px var(--border-radius-lg) var(--border-radius-lg);
    height: 100%;
    -webkit-text-decoration: none;
    text-decoration: none;
    color: var(--c-d-grey);
    overflow: hidden
}

section.flexi-block.block--work-examples .swiper-slide a .image,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .image {
    width: 100%;
    height: 240px;
    overflow: hidden
}

section.flexi-block.block--work-examples .swiper-slide a .image img,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

section.flexi-block.block--work-examples .swiper-slide a .post-body,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-body {
    display: flex;
    height: calc(100% - 240px);
    flex-direction: column;
    justify-content: space-between
}

section.flexi-block.block--work-examples .swiper-slide a h3,
section.flexi-block.block--work-examples .swiper-slide a .post-content,
section.flexi-block.block--work-examples .swiper-slide div.rw-card h3,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-content {
    padding: 0 1.5rem
}

section.flexi-block.block--work-examples .swiper-slide a h3,
section.flexi-block.block--work-examples .swiper-slide div.rw-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--c-d-grey);
    padding-top: 1.5rem
}

section.flexi-block.block--work-examples .swiper-slide a .post-content,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-content {
    margin-bottom: 2rem;
    margin-top: 1rem
}

section.flexi-block.block--work-examples .swiper-slide a .post-content h3,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--c-d-grey);
    margin-bottom: 1rem;
    margin-top: .5rem;
    padding: 0
}

section.flexi-block.block--work-examples .swiper-slide a .post-content:not(.extended-content),
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-content:not(.extended-content) {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical
}

section.flexi-block.block--work-examples .swiper-slide a .post-footer,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-footer {
    padding: 0 1.5rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px
}

section.flexi-block.block--work-examples .swiper-slide a .post-footer:not(:has(img)),
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-footer:not(:has(img)) {
    justify-content: left
}

section.flexi-block.block--work-examples .swiper-slide a .post-footer div,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-footer div {
    display: block;
    min-height: 100px;
    width: -moz-fit-content;
    width: fit-content
}

section.flexi-block.block--work-examples .swiper-slide a .post-footer div img,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-footer div img {
    width: -moz-fit-content;
    width: fit-content;
    max-height: 100px;
    -o-object-fit: contain;
    object-fit: contain
}

section.flexi-block.block--work-examples .swiper-slide a .post-footer button,
section.flexi-block.block--work-examples .swiper-slide div.rw-card .post-footer button {
    min-width: 140px;
    padding: 8px 20px;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 1.1rem;
    justify-content: center
}

section.flexi-block.block--work-examples .swiper-slide-visible {
    opacity: 1
}

section.flexi-block.block--work-examples .swiper-button-next {
    width: 40px;
    height: 40px;
    aspect-ratio: 1;
    background: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.228636 10.6264L0.228637 6.37686L8.35308 6.37686L8.35308 0.00259326L16.7714 8.50161L8.35307 17.0006L8.35307 10.6264L0.228636 10.6264Z' fill='white'/%3E%3C/svg%3E") var(--c-primary) no-repeat center;
    border-radius: 50%;
    right: -24px
}

section.flexi-block.block--work-examples .swiper-button-next:after {
    display: none
}

section.flexi-block.block--work-examples .swiper-button-prev {
    width: 40px;
    height: 40px;
    aspect-ratio: 1;
    background: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.228636 10.6264L0.228637 6.37686L8.35308 6.37686L8.35308 0.00259326L16.7714 8.50161L8.35307 17.0006L8.35307 10.6264L0.228636 10.6264Z' fill='white'/%3E%3C/svg%3E") var(--c-primary) no-repeat center;
    border-radius: 50%;
    transform: rotate(180deg);
    left: -24px
}

section.flexi-block.block--work-examples .swiper-button-prev:after {
    display: none
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--work-examples .swiper {
        padding: 0 50px 0 50px
    }

    section.flexi-block.block--work-examples .swiper-button-next {
        right: 0
    }

    section.flexi-block.block--work-examples .swiper-button-prev {
        left: 0
    }
}

section.flexi-block.block--featured-team-member .block-after>* {
    max-width: 1280px
}

section.flexi-block.block--featured-team-member .team {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 3fr 2fr;
    grid-gap: 15px;
    grid-gap: var(--site-gutter);
    gap: 15px;
    gap: var(--site-gutter)
}

section.flexi-block.block--featured-team-member .team .cta {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--featured-team-member .team .cta img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 1
}

section.flexi-block.block--featured-team-member .team .cta a {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    z-index: 2
}

section.flexi-block.block--featured-team-member.bg-grey div.container {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--featured-team-member .team {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem
    }

    section.flexi-block.block--featured-team-member .team .featured-person {
        min-width: 300px
    }

    section.flexi-block.block--featured-team-member .team .cta {
        flex: 1;
        min-width: 60%;
        min-height: 250px
    }
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--featured-team-member .team {
        display: grid;
        grid-template-columns: 1fr 2fr;
        grid-template-rows: 1fr
    }

    section.flexi-block.block--featured-team-member.bg-grey div.container {
        padding: 30px calc(30px*2);
        padding: var(--site-padding) calc(var(--site-padding)*2)
    }
}

section.flexi-block.block--two-column-video .videos {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    gap: 2rem
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--two-column-video .videos {
        grid-template-columns: repeat(2, 1fr)
    }
}

section.flexi-block.block--two-column-video .video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--two-column-video .video iframe,
section.flexi-block.block--two-column-video .video object,
section.flexi-block.block--two-column-video .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

section.flexi-block.block--downloadable-resources ul.downloadable-resources {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none
}

section.flexi-block.block--downloadable-resources ul.downloadable-resources>li {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: var(--c-l-grey);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--downloadable-resources ul.downloadable-resources>li a {
    padding: 1rem 2.5rem;
    display: flex;
    align-items: center;
    gap: 1rem
}

section.flexi-block.block--downloadable-resources ul.downloadable-resources>li a .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem
}

section.flexi-block.block--downloadable-resources ul.downloadable-resources>li a h3 {
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem);
    margin: 0;
    padding: 1rem;
    flex: 1
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--downloadable-resources ul.downloadable-resources {
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr))
    }
}

section.flexi-block.block--full-width-video .video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--full-width-video .video iframe,
section.flexi-block.block--full-width-video .video object,
section.flexi-block.block--full-width-video .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

section.flexi-block.block--locations .tabs {
    justify-content: center;
    gap: .5rem
}

section.flexi-block.block--locations div#map {
    aspect-ratio: 16/9;
    border-radius: 1.25rem
}

section.flexi-block.block--locations ul.locations {
    list-style: none;
    padding: 0;
    margin: 2rem 0 0
}

section.flexi-block.block--locations ul.locations>li {
    display: none;
    margin: 0;
    padding: 1.5rem 2rem 2rem;
    border: 2px solid var(--c-d-grey);
    background: var(--c-white);
    border-radius: 20px
}

section.flexi-block.block--locations ul.locations>li h3 {
    margin-bottom: calc((1.125rem * 1.5)*.5);
    margin-bottom: calc(calc(1.125rem * 1.5)*.5);
    margin-bottom: calc(var(--t-baseline)*.5)
}

section.flexi-block.block--locations ul.locations>li address {
    font-style: normal
}

section.flexi-block.block--locations ul.locations>li address+* {
    margin-top: 1rem;
    margin-bottom: 0
}

section.flexi-block.block--locations ul.locations>li address+*+* {
    margin-top: 1rem
}

section.flexi-block.block--locations ul.locations>li.active {
    position: relative;
    display: block;
    border-color: var(--c-primary)
}

section.flexi-block.block--locations ul.locations>li.active::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 50%;
    width: 1.75rem;
    height: 1.75rem;
    background: var(--c-white);
    border-top: 2px solid var(--c-primary);
    border-left: 2px solid var(--c-primary);
    border-radius: 0;
    transform-origin: center center;
    transform: translate(-50%, -60%) rotate(45deg)
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--locations {
        --container-width: 1500px
    }

    section.flexi-block.block--locations .tabs {
        display: none
    }

    section.flexi-block.block--locations div#map {
        aspect-ratio: 2/1;
        border-radius: 1.25rem
    }

    section.flexi-block.block--locations ul.locations {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        grid-gap: 6rem;
        gap: 6rem;
        margin: 4rem 0 0
    }

    section.flexi-block.block--locations ul.locations>li {
        display: block
    }

    section.flexi-block.block--locations ul.locations>li:hover {
        border-color: var(--c-primary);
        cursor: pointer
    }
}

.hero--contact.theme--dark+.flexi-blocks-builder section.flexi-block.block--locations:first-child {
    padding-top: 2rem;
    background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 232px, var(--c-white) 232px)
}

@media screen and (min-width: 64em) {
    .hero--contact.theme--dark+.flexi-blocks-builder section.flexi-block.block--locations:first-child {
        background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 407px, var(--c-white) 407px)
    }
}

section.flexi-block.block--featured-case-studies.bg-grey div.container {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--featured-case-studies ul.case-studies {
        grid-template-columns: repeat(auto-fill, minmax(440px, 1fr))
    }
}

section.flexi-block.block--content-video {
    padding-top: 2rem
}

section.flexi-block.block--content-video .container {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    padding: 0 30px 30px 30px;
    padding: 0 var(--site-padding) var(--site-padding) var(--site-padding)
}

section.flexi-block.block--content-video .video {
    position: relative;
    top: -2rem;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--content-video .video iframe,
section.flexi-block.block--content-video .video object,
section.flexi-block.block--content-video .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--content-video {
        padding-top: 8.5rem
    }

    section.flexi-block.block--content-video .container {
        padding-left: calc(30px*2);
        padding-left: calc(var(--site-padding)*2);
        padding-right: calc(30px*2);
        padding-right: calc(var(--site-padding)*2)
    }

    section.flexi-block.block--content-video .video {
        top: -8.5rem;
        margin-bottom: -6.5rem
    }

    section.flexi-block.block--content-video .paragraphs {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 30px;
        column-gap: 30px;
        -moz-column-gap: var(--site-padding);
        column-gap: var(--site-padding)
    }
}

section.flexi-block.block--content-video:first-child {
    margin-top: calc(30px*-1);
    margin-top: calc(var(--site-padding)*-1);
    padding-top: 5rem;
    background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 2.5rem, var(--c-white) 2.5rem)
}

section.flexi-block.block--content-video:first-child .video {
    top: -5rem;
    margin-bottom: -3rem
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--content-video:first-child {
        padding-top: 14rem;
        background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 11rem, var(--c-white) 11rem)
    }

    section.flexi-block.block--content-video:first-child .video {
        top: -14rem;
        margin-bottom: -12rem
    }
}

section.flexi-block.block--video .container {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px 0 0 8px;
    border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
    padding: 30px;
    padding: var(--site-padding);
    position: relative
}

section.flexi-block.block--video .container::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: calc((100vw - 100%)/2);
    background-color: var(--c-d-grey)
}

section.flexi-block.block--video .inner {
    max-width: 890px
}

section.flexi-block.block--video .block-heading {
    margin-bottom: 0
}

section.flexi-block.block--video .video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 3rem
}

section.flexi-block.block--video .video iframe,
section.flexi-block.block--video .video object,
section.flexi-block.block--video .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

section.flexi-block.block--membership-logos .block-heading {
    margin-bottom: calc((1.125rem * 1.5)*2);
    margin-bottom: calc(calc(1.125rem * 1.5)*2);
    margin-bottom: calc(var(--t-baseline)*2)
}

section.flexi-block.block--membership-logos ul.logos {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    list-style: none;
    padding: 0;
    margin: 0
}

section.flexi-block.block--membership-logos ul.logos li {
    margin: 0
}

section.flexi-block.block--membership-logos ul.logos li .image {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    padding: 1.5rem;
    background-color: var(--c-l-grey);
    border-radius: 8px;
    border-radius: var(--border-radius);
    margin-bottom: 1rem
}

section.flexi-block.block--membership-logos ul.logos li img {
    aspect-ratio: 3/2;
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

section.flexi-block.block--membership-logos ul.logos li h3 {
    font-size: clamp(1rem, .3125rem + 2vw, 1.5625rem);
    text-align: center
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--membership-logos ul.logos {
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--membership-logos ul.logos {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 2rem
    }

    section.flexi-block.block--membership-logos ul.logos li .image {
        padding: 2rem
    }
}

section.flexi-block.block--client-logos div.container {
    background-color: var(--c-l-grey);
    padding: 3rem 30px;
    padding: 3rem var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--client-logos .block-heading {
    margin-bottom: calc((1.125rem * 1.5)*2);
    margin-bottom: calc(calc(1.125rem * 1.5)*2);
    margin-bottom: calc(var(--t-baseline)*2)
}

section.flexi-block.block--client-logos ul.logos {
    display: grid;
    grid-gap: 15px;
    grid-gap: var(--site-gutter);
    gap: 15px;
    gap: var(--site-gutter);
    list-style: none;
    padding: 0 2rem;
    margin: 0
}

section.flexi-block.block--client-logos ul.logos li {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    padding: 3rem;
    margin: 0;
    background-color: #d9d9d9;
    border-radius: 8px;
    border-radius: var(--border-radius)
}

section.flexi-block.block--client-logos ul.logos li img {
    height: 80px;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--client-logos ul.logos {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))
    }
}

section.flexi-block.block--contact-form {
    background-color: var(--c-d-grey);
    padding: 30px;
    padding: var(--site-padding)
}

section.flexi-block.block--contact-form .container {
    color: var(--c-white);
    overflow: hidden
}

section.flexi-block.block--contact-form .content {
    margin-bottom: 2rem
}

section.flexi-block.block--contact-form .image {
    position: relative;
    aspect-ratio: 4/3
}

section.flexi-block.block--contact-form .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left center;
    object-position: left center
}

section.flexi-block.block--contact-form form label {
    color: var(--c-primary);
    margin-bottom: .5rem;
    font-weight: 500
}

section.flexi-block.block--contact-form form .field_type--checkbox,
section.flexi-block.block--contact-form form .field_type--radio {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

section.flexi-block.block--contact-form form .field_type--checkbox label,
section.flexi-block.block--contact-form form .field_type--radio label {
    color: var(--c-white)
}

section.flexi-block.block--contact-form form .field_type--checkbox label a,
section.flexi-block.block--contact-form form .field_type--radio label a {
    color: var(--c-link);
    -webkit-text-decoration: underline;
    text-decoration: underline
}

section.flexi-block.block--contact-form form .field_type--checkbox label a:hover,
section.flexi-block.block--contact-form form .field_type--radio label a:hover {
    color: var(--c-link-hover)
}

section.flexi-block.block--contact-form form .form-input {
    padding: .5rem 1rem;
    font: inherit;
    line-height: 1.5
}

section.flexi-block.block--contact-form form .fields {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

section.flexi-block.block--contact-form form .field {
    margin: 0;
    flex: 1 1 100%
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--contact-form {
        background: none;
        padding: 0 30px;
        padding: 0 var(--site-padding)
    }

    section.flexi-block.block--contact-form .container {
        background-color: var(--c-d-grey);
        border-radius: 8px;
        border-radius: var(--border-radius-lg);
        padding: 30px;
        padding: var(--site-padding);
        display: grid;
        grid-template-columns: 3fr 2fr;
        align-items: center;
        grid-gap: 15px;
        grid-gap: var(--site-gutter);
        gap: 15px;
        gap: var(--site-gutter)
    }

    section.flexi-block.block--contact-form .content {
        margin-bottom: 0
    }

    section.flexi-block.block--contact-form .image {
        aspect-ratio: 0;
        min-height: 600px;
        margin-right: -10rem
    }

    section.flexi-block.block--contact-form .image img {
        -o-object-position: right center;
        object-position: right center
    }

    section.flexi-block.block--contact-form form .field {
        flex: 1 1 calc(50% - 1rem)
    }

    section.flexi-block.block--contact-form form .field_type--checkbox,
    section.flexi-block.block--contact-form form .field_type--radio,
    section.flexi-block.block--contact-form form .field_type--textarea {
        flex: 1 1 100%
    }
}

section.flexi-block.block--accordion.bg-grey div.container {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--featured-posts ul.posts,
section.flexi-block.block--featured-posts ul.events,
section.flexi-block.block--featured-events ul.posts,
section.flexi-block.block--featured-events ul.events,
section.flexi-block.block--featured-resources ul.posts,
section.flexi-block.block--featured-resources ul.events {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    gap: 2rem
}

section.flexi-block.block--featured-posts ul.posts .bottom-bar .service,
section.flexi-block.block--featured-posts ul.events .bottom-bar .service,
section.flexi-block.block--featured-events ul.posts .bottom-bar .service,
section.flexi-block.block--featured-events ul.events .bottom-bar .service,
section.flexi-block.block--featured-resources ul.posts .bottom-bar .service,
section.flexi-block.block--featured-resources ul.events .bottom-bar .service {
    display: none
}

@media screen and (min-width: 28.125em) {

    section.flexi-block.block--featured-posts ul.posts,
    section.flexi-block.block--featured-posts ul.events,
    section.flexi-block.block--featured-events ul.posts,
    section.flexi-block.block--featured-events ul.events,
    section.flexi-block.block--featured-resources ul.posts,
    section.flexi-block.block--featured-resources ul.events {
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr))
    }
}

section.flexi-block.block--image .image {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden
}

section.flexi-block.block--image .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--image .image {
        aspect-ratio: 5/2
    }
}

.hero--illustration.theme--dark+.flexi-blocks-builder section.flexi-block.block--image:first-child {
    margin-top: calc(30px*-1);
    margin-top: calc(var(--site-padding)*-1);
    padding: 30px;
    padding: var(--site-padding);
    background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 50%, var(--c-white) 50%);
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

section.flexi-block.block--image-cta .container {
    position: relative;
    background-color: var(--c-black);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden
}

section.flexi-block.block--image-cta .container .content {
    position: relative;
    z-index: 2;
    color: var(--c-white);
    max-width: 70ch
}

section.flexi-block.block--image-cta .container .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

section.flexi-block.block--image-cta .container .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    filter: brightness(0.75)
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--image-cta .container {
        padding: calc(30px*3) calc(30px*2) calc(30px*2);
        padding: calc(var(--site-padding)*3) calc(var(--site-padding)*2) calc(var(--site-padding)*2)
    }
}

section.flexi-block.block--content-columns.bg-grey .content {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--content-columns .columns {
    display: grid;
    grid-gap: 15px;
    grid-gap: var(--site-gutter);
    gap: 15px;
    gap: var(--site-gutter);
    grid-template-columns: repeat(auto-fit, minmax(275px, 1fr))
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--content-columns.bg-grey .content {
        padding: 30px calc(30px*2);
        padding: var(--site-padding) calc(var(--site-padding)*2)
    }

    section.flexi-block.block--content-columns .columns {
        gap: 15px;
        gap: var(--site-gutter)
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--content-columns.bg-grey .content {
        padding: 30px calc(30px*3);
        padding: var(--site-padding) calc(var(--site-padding)*3)
    }

    section.flexi-block.block--content-columns .container {
        padding-right: calc(30px*3);
        padding-right: calc(var(--site-padding)*3)
    }
}

section.flexi-block.block--testimonials {
    overflow: hidden
}

section.flexi-block.block--testimonials .swiper {
    padding: 0 26px
}

section.flexi-block.block--testimonials .swiper-wrapper {
    padding: 0
}

section.flexi-block.block--testimonials .swiper-slide {
    height: auto
}

section.flexi-block.block--testimonials .swiper-pagination {
    position: relative;
    margin-top: 1rem
}

section.flexi-block.block--testimonials .swiper-button-prev,
section.flexi-block.block--testimonials .swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-35%);
    z-index: 10;
    width: 54px;
    height: 54px;
    background: var(--c-primary);
    border-radius: 50%;
    color: var(--c-white);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color .3s
}

section.flexi-block.block--testimonials .swiper-button-prev:after,
section.flexi-block.block--testimonials .swiper-button-next:after {
    display: none
}

section.flexi-block.block--testimonials .swiper-button-prev:hover,
section.flexi-block.block--testimonials .swiper-button-next:hover {
    background: var(--c-primary-dark)
}

section.flexi-block.block--testimonials .swiper-button-prev {
    left: 0
}

section.flexi-block.block--testimonials .swiper-button-next {
    right: 0
}

section.flexi-block.block--testimonials .swiper-button-next svg {
    transform: rotate(180deg)
}

section.flexi-block.block--testimonials blockquote.testimonial {
    position: relative;
    background: var(--c-white);
    margin: 0;
    padding: 5rem 2.2rem;
    height: 100%;
    max-height: 380px;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--c-primary);
    font-size: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1rem
}

section.flexi-block.block--testimonials blockquote.testimonial .quote-before {
    top: 3rem;
    left: 2rem
}

section.flexi-block.block--testimonials blockquote.testimonial .quote-after {
    bottom: 3rem;
    right: 2rem
}

section.flexi-block.block--testimonials blockquote.testimonial .quote-before,
section.flexi-block.block--testimonials blockquote.testimonial .quote-after {
    position: absolute;
    z-index: 10
}

section.flexi-block.block--testimonials blockquote.testimonial .card__body {
    flex-shrink: 1;
    overflow-y: auto;
    scrollbar-color: var(--c-l-grey) rgba(0, 0, 0, 0);
    scrollbar-width: thin;
    margin: -1rem 0;
    padding: 1.25rem 0 1rem
}

section.flexi-block.block--testimonials blockquote.testimonial .card__body-feather--before,
section.flexi-block.block--testimonials blockquote.testimonial .card__body-feather--after {
    flex-shrink: 0;
    z-index: 1;
    height: 1rem
}

section.flexi-block.block--testimonials blockquote.testimonial .card__body-feather--before {
    margin-bottom: -1rem;
    background-image: linear-gradient(to bottom, var(--c-white) 0%, rgba(var(--c-white-rgb), 0) 100%);
    pointer-events: none
}

section.flexi-block.block--testimonials blockquote.testimonial .card__body-feather--after {
    margin-top: -1rem;
    background-image: linear-gradient(to top, var(--c-white) 0%, rgba(var(--c-white-rgb), 0) 100%);
    pointer-events: none
}

section.flexi-block.block--testimonials blockquote.testimonial cite.author {
    margin-top: auto;
    font-style: normal
}

section.flexi-block.block--testimonials blockquote.testimonial cite.author p {
    margin: 0
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--testimonials blockquote.testimonial {
        padding: 5rem 4rem
    }

    section.flexi-block.block--testimonials blockquote.testimonial .quote-before {
        top: 3rem;
        left: 4rem
    }

    section.flexi-block.block--testimonials blockquote.testimonial .quote-after {
        bottom: 3rem;
        right: 4rem
    }
}

section.flexi-block.block--featured-people ul.people {
    grid-template-columns: 1fr
}

section.flexi-block.block--featured-people.bg-grey div.container {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--featured-people ul.people {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem
    }

    section.flexi-block.block--featured-people ul.people>li.person {
        width: 100%;
        max-width: 300px
    }
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--featured-people ul.people {
        gap: 15px;
        gap: var(--site-gutter)
    }

    section.flexi-block.block--featured-people.bg-grey div.container {
        padding: 30px calc(30px*2);
        padding: var(--site-padding) calc(var(--site-padding)*2)
    }
}

section.flexi-block.block--content.bg-grey div.content {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--content.bg-black div.content {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--content.bg-black div.content>* {
    max-width: 70ch
}

@media screen and (min-width: 48em) {

    section.flexi-block.block--content.bg-grey div.content,
    section.flexi-block.block--content.bg-black div.content {
        padding: 30px calc(30px*2);
        padding: var(--site-padding) calc(var(--site-padding)*2)
    }
}

section.flexi-block.block--list-image div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: calc((1.125rem * 1.5)*1.25) 15px;
    grid-gap: calc(calc(1.125rem * 1.5)*1.25) 15px;
    grid-gap: calc(var(--t-baseline)*1.25) var(--site-gutter);
    gap: calc((1.125rem * 1.5)*1.25) 15px;
    gap: calc(calc(1.125rem * 1.5)*1.25) 15px;
    gap: calc(var(--t-baseline)*1.25) var(--site-gutter)
}

section.flexi-block.block--list-image div.block-heading {
    margin: 0
}

section.flexi-block.block--list-image div.image {
    position: relative;
    aspect-ratio: 2/1;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden
}

section.flexi-block.block--list-image div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

section.flexi-block.block--list-image.layout-image_content div.content {
    order: 1
}

section.flexi-block.block--list-image.bg-grey div.content {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--list-image div.container {
        width: auto;
        grid-template-columns: 2fr 3fr
    }

    section.flexi-block.block--list-image div.block-heading {
        grid-column: 1/-1
    }

    section.flexi-block.block--list-image div.content {
        align-self: center
    }

    section.flexi-block.block--list-image div.image {
        aspect-ratio: 0;
        min-height: 250px
    }

    section.flexi-block.block--list-image.bg-grey div.content {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    section.flexi-block.block--list-image.bg-grey.layout-image_content div.container {
        grid-template-columns: 3fr 2fr
    }
}

section.flexi-block.block--person-content .person {
    display: flex;
    flex-flow: row wrap;
    gap: 15px;
    gap: var(--site-gutter);
    align-items: flex-end;
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

section.flexi-block.block--person-content .person .image {
    flex: 1 0 225px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    max-width: 225px;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

section.flexi-block.block--person-content .person .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

section.flexi-block.block--person-content .person .content h2 {
    font-size: clamp(2rem, .7778rem + 3.5556vw, 3rem);
    margin-bottom: 6px
}

section.flexi-block.block--person-content .person .content h2+p.position {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2
}

.hero--illustration[data-illustration="236"]+.flexi-sidebar section.flexi-block.block--person-content:first-child {
    margin-top: -112px
}

@media screen and (min-width: 64em) {
    .hero--illustration[data-illustration="236"]+.flexi-sidebar section.flexi-block.block--person-content:first-child {
        margin-top: 0
    }
}

section.flexi-block.block--get-in-touch-01 {
    background-color: var(--c-d-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-bottom: 1px solid var(--c-white)
}

section.flexi-block.block--get-in-touch-01 .button:not(.style-outline):hover,
section.flexi-block.block--get-in-touch-01 .button:not(.style-outline):active {
    background-color: var(--c-d-grey);
    color: var(--c-white)
}

section.flexi-block.block--get-in-touch-01:last-child {
    margin-bottom: 0
}

section.flexi-block.block--get-in-touch-01 div.container div.inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px 15px;
    grid-gap: var(--site-padding) var(--site-gutter);
    gap: 30px 15px;
    gap: var(--site-padding) var(--site-gutter);
    background-color: var(--c-white);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px 0 0 8px;
    border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
    margin-right: calc(30px*-1);
    margin-right: calc(var(--site-padding)*-1)
}

section.flexi-block.block--get-in-touch-01 div.container div.inner div.image {
    margin-top: -5.5rem;
    max-width: 16rem
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--get-in-touch-01 div.container div.inner {
        grid-template-columns: 2fr 3fr;
        border-radius: 8px;
        border-radius: var(--border-radius-lg);
        margin-right: 0
    }

    section.flexi-block.block--get-in-touch-01 div.container div.inner div.image {
        position: relative;
        max-width: none;
        min-height: 600px;
        margin-top: -10rem
    }

    section.flexi-block.block--get-in-touch-01 div.container div.inner div.image img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -o-object-fit: contain;
        object-fit: contain
    }

    section.flexi-block.block--get-in-touch-01 div.container div.inner div.content {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--get-in-touch-01 div.container div.inner div.content {
        padding-right: calc(30px*3);
        padding-right: calc(var(--site-padding)*3)
    }
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] {
    flex: 1 1 auto
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    height: 100%;
    border: 1px solid var(--c-primary);
    border-radius: 8px;
    border-radius: var(--border-radius);
    overflow: hidden
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields .field--email {
    flex: 1 1 auto;
    margin: 0
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields .field--email input[type=email] {
    min-width: 0;
    height: 100%;
    padding: 10px 1rem;
    border: none;
    border-radius: 0;
    outline: none;
    background-color: var(--c-white);
    font-size: 1rem
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields .field--submit {
    flex: 0 1 150px
}

section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields .field--submit button {
    padding: .5rem 1rem;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 0;
    justify-content: center;
    cursor: pointer
}

section[class^="flexi-block block--content-illustration-"] div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px 15px;
    grid-gap: var(--site-padding) var(--site-gutter);
    gap: 30px 15px;
    gap: var(--site-padding) var(--site-gutter)
}

section[class^="flexi-block block--content-illustration-"] div.image {
    position: relative;
    aspect-ratio: 3/2;
    margin: 0;
    border-radius: 8px 0 0 8px;
    border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
    overflow: hidden
}

section[class^="flexi-block block--content-illustration-"] div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain
}

section[class^="flexi-block block--content-illustration-"].layout-image_content div.content {
    order: 1
}

section[class^="flexi-block block--content-illustration-"].bg-grey div.container {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 64em) {
    section[class^="flexi-block block--content-illustration-"] div.container {
        width: auto;
        grid-template-columns: 1fr 1fr
    }

    section[class^="flexi-block block--content-illustration-"] div.content {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    section[class^="flexi-block block--content-illustration-"] div.image {
        aspect-ratio: 0;
        min-height: 600px
    }
}

@media screen and (min-width: 100em) {

    section[class^="flexi-block block--content-illustration-"] div.content,
    section[class^="flexi-block block--content-illustration-"].bg-grey div.content {
        padding: 30px 0 30px calc(30px*3);
        padding: var(--site-padding) 0 var(--site-padding) calc(var(--site-padding)*3)
    }

    section[class^="flexi-block block--content-illustration-"].layout-image_content div.content,
    section[class^="flexi-block block--content-illustration-"].layout-image_content.bg-grey div.content {
        padding: 30px calc(30px*3) 30px 0;
        padding: var(--site-padding) calc(var(--site-padding)*3) var(--site-padding) 0
    }
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links {
    display: grid;
    grid-gap: 15px;
    grid-gap: var(--site-gutter);
    gap: 15px;
    gap: var(--site-gutter);
    list-style: none;
    padding: 0;
    margin: 0
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links li {
    background-color: var(--c-black);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    margin: 0
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links li a {
    display: block;
    position: relative;
    aspect-ratio: 3/2;
    overflow: hidden
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links li a img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    filter: brightness(80%);
    transition: 300ms ease
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links li a span {
    position: absolute;
    z-index: 1;
    color: var(--c-white);
    display: block;
    padding: 30px;
    padding: var(--site-padding);
    bottom: 0;
    width: 100%;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: clamp(2rem, .7778rem + 3.5556vw, 3rem);
    font-weight: 500;
    line-height: 1.2
}

section.flexi-block.block--thumbnail-links ul.thumbnail-links li a:hover img {
    opacity: .5;
    transform: scale(1.1)
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--thumbnail-links ul.thumbnail-links {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr))
    }
}

section.flexi-block.block--thumbnail-links:first-child {
    margin-top: calc(30px*-2);
    margin-top: calc(var(--site-padding)*-2);
    background: linear-gradient(180deg, var(--c-d-grey) 0%, var(--c-d-grey) 50%, var(--c-white) 50%)
}

section.flexi-block.block--icon-columns ul.icon-columns {
    display: grid;
    grid-gap: 15px;
    grid-gap: var(--site-gutter);
    gap: 15px;
    gap: var(--site-gutter);
    list-style: none;
    padding: 0;
    margin: 0
}

section.flexi-block.block--icon-columns ul.icon-columns .raptor-icon {
    display: flex;
    height: 48px;
    width: 48px;
    padding: 4px;
    justify-content: center;
    align-items: center;
    color: var(--c-primary);
    margin-bottom: 12px
}

section.flexi-block.block--icon-columns ul.icon-columns .raptor-icon svg {
    fill: var(--c-primary)
}

@media screen and (min-width: 28.125em) {
    section.flexi-block.block--icon-columns ul.icon-columns {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr))
    }
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--icon-columns ul.icon-columns .raptor-icon {
        height: 60px;
        width: 60px;
        padding: 5px;
        margin-bottom: 20px
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--icon-columns ul.icon-columns {
        padding-left: calc(30px*6);
        padding-left: calc(var(--site-padding)*6)
    }
}

section.flexi-block.block--content-image div.container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px calc(15px*3);
    grid-gap: var(--site-padding) calc(var(--site-gutter)*3);
    gap: 30px calc(15px*3);
    gap: var(--site-padding) calc(var(--site-gutter)*3)
}

section.flexi-block.block--content-image div.image {
    --negative-margin: min(calc((50vw - (var(--container-width) / 2)) * -1), var(--site-padding) * -1);
    position: relative;
    aspect-ratio: 3/2;
    margin: 0 min(calc((50vw - (1816px / 2)) * -1), 30px * -1) 0 0;
    margin: 0 var(--negative-margin) 0 0;
    border-radius: 8px 0 0 8px;
    border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
    overflow: hidden
}

section.flexi-block.block--content-image div.image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

section.flexi-block.block--content-image div.video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    align-self: center
}

section.flexi-block.block--content-image div.video iframe,
section.flexi-block.block--content-image div.video object,
section.flexi-block.block--content-image div.video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

section.flexi-block.block--content-image.layout-image_content div.image {
    margin: 0 0 0 var(--negative-margin);
    border-radius: 0 8px 8px 0;
    border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0
}

section.flexi-block.block--content-image.layout-image_content div.content {
    order: 1
}

section.flexi-block.block--content-image.bg-grey div.content {
    background-color: var(--c-l-grey);
    padding: 30px;
    padding: var(--site-padding);
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

@media screen and (min-width: 64em) {
    section.flexi-block.block--content-image div.container {
        width: auto;
        grid-template-columns: 1fr 1fr
    }

    section.flexi-block.block--content-image div.content {
        align-self: center
    }

    section.flexi-block.block--content-image div.image {
        aspect-ratio: 0;
        min-height: 600px
    }

    section.flexi-block.block--content-image.bg-grey div.container {
        grid-template-columns: 3fr 2fr;
        -moz-column-gap: 15px;
        column-gap: 15px;
        -moz-column-gap: var(--site-gutter);
        column-gap: var(--site-gutter)
    }

    section.flexi-block.block--content-image.bg-grey div.content {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    section.flexi-block.block--content-image.bg-grey.layout-image_content div.container {
        grid-template-columns: 2fr 3fr
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--content-image div.content {
        padding: 30px 0 30px calc(30px*3);
        padding: var(--site-padding) 0 var(--site-padding) calc(var(--site-padding)*3)
    }

    section.flexi-block.block--content-image.layout-image_content div.content {
        padding: 30px calc(30px*3) 30px 0;
        padding: var(--site-padding) calc(var(--site-padding)*3) var(--site-padding) 0
    }

    section.flexi-block.block--content-image.bg-grey div.content {
        padding: 30px calc(30px*2);
        padding: var(--site-padding) calc(var(--site-padding)*2)
    }
}

@media screen and (min-width: 64em) {
    .flexi-sidebar section.flexi-block.block--content-image.layout-image_content div.image {
        --negative-margin: 0;
        border-radius: 8px;
        border-radius: var(--border-radius-lg)
    }
}

@media screen and (min-width: 100em) {
    .flexi-sidebar section.flexi-block.block--content-image.bg-grey div.content {
        padding: 30px !important;
        padding: var(--site-padding) !important
    }

    .flexi-sidebar section.flexi-block.block--content-image:not(.bg-grey) div.content {
        padding: 0 !important
    }
}

section.flexi-block.block--links .container {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    padding: 30px;
    padding: var(--site-padding)
}

section.flexi-block.block--links .container ul.links {
    list-style-type: none;
    margin: 0;
    padding: 0
}

section.flexi-block.block--links .container ul.links>li {
    margin: 0;
    margin-bottom: -2px;
    border-top: 2px solid #666;
    border-top: 2px solid var(--c-shade-300);
    border-bottom: 2px solid #666;
    border-bottom: 2px solid var(--c-shade-300)
}

section.flexi-block.block--links .container ul.links>li>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.25rem;
    line-height: 1.5;
    padding: 1rem 0
}

section.flexi-block.block--links .container ul.links>li>a::after {
    height: 30px;
    transition-duration: 200ms
}

section.flexi-block.block--links .container ul.links>li>a:hover {
    color: var(--c-primary)
}

section.flexi-block.block--links .container ul.links>li>a:hover::after {
    transform: rotate(-45deg)
}

@media screen and (min-width: 48em) {
    section.flexi-block.block--links .container {
        padding-left: calc(30px*2);
        padding-left: calc(var(--site-padding)*2);
        padding-right: calc(30px*2);
        padding-right: calc(var(--site-padding)*2)
    }

    section.flexi-block.block--links .container ul.links {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 15px;
        column-gap: 15px;
        -moz-column-gap: var(--site-gutter);
        column-gap: var(--site-gutter)
    }
}

@media screen and (min-width: 100em) {
    section.flexi-block.block--links .container {
        padding-left: calc(30px*3);
        padding-left: calc(var(--site-padding)*3);
        padding-right: calc(30px*3);
        padding-right: calc(var(--site-padding)*3)
    }
}

body.error404 {
    background-color: var(--c-d-grey);
    color: var(--c-white)
}

section.error404-content h1 {
    line-height: 1;
    margin-bottom: 1em;
    font-size: clamp(1.5625rem, -1.1111rem + 7.7778vw, 3.75rem)
}

section.error404-content h1>span {
    display: block;
    color: var(--c-primary);
    font-size: clamp(4.75rem, -8.5417rem + 38.6667vw, 15.625rem)
}

section.error404-content .button-group {
    flex-direction: column;
    align-items: flex-start;
    margin: 48px 0 30px;
    white-space: nowrap
}

section.error404-content .button-group .button:not(.style-outline):hover,
section.error404-content .button-group .button:not(.style-outline):active {
    background-color: var(--c-white);
    color: var(--c-d-grey)
}

section.error404-content .image {
    max-width: 50%;
    max-height: 198px;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -30px;
    right: 0;
    z-index: -1
}

section.error404-content .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: bottom right;
    object-position: bottom right
}

@media screen and (min-width: 64em) {
    section.error404-content {
        height: 100%;
        display: flex
    }

    section.error404-content div.container {
        --container-width: 1200px;
        width: auto;
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    section.error404-content div.content {
        align-self: center
    }

    section.error404-content div.image {
        max-width: 100%;
        max-height: 100%;
        width: 100%;
        height: 100%;
        position: relative;
        bottom: 0;
        right: 0
    }

    section.error404-content .button-group {
        flex-flow: row wrap;
        align-items: center;
        margin: 0;
        white-space: normal
    }
}

body.search {
    background-color: var(--c-l-grey)
}

body.search .hero {
    background-color: var(--c-white)
}

body.search .pagination [aria-current=page] {
    background-color: var(--c-white)
}

body.search .pagination a:hover {
    background-color: var(--c-white)
}

body.search .search-results {
    margin: 100px 0
}

body.search .search-results ul.results {
    list-style: none;
    padding: 0;
    margin: 0
}

body.search .search-results ul.results>li {
    padding-bottom: 2rem
}

body.search .search-results ul.results>li .eyebrow {
    font-size: 1rem;
    margin-bottom: .25rem
}

body.search .search-results ul.results>li+li {
    padding-top: 2rem;
    border-top: 1px solid #bcbfbe;
    border-top: 1px solid var(--c-primary-green-100)
}

.hero--basic {
    margin-bottom: 80px;
    padding-top: 40px
}

.hero--basic header {
    max-width: 56.25em;
    text-align: center
}

.hero--basic header h1 {
    text-align: inherit
}

section.posts-loop {
    padding-bottom: 50px
}

.search-result-count {
    margin-top: 20px;
    display: inline-block
}

ul.loop {
    list-style: none;
    margin: 0;
    padding: 0
}

ul.posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    gap: 2rem
}

@media screen and (min-width: 31.25em) {
    ul.posts {
        grid-template-columns: repeat(auto-fill, minmax(440px, 1fr))
    }
}

li.post {
    margin: 0
}

li.post h3 {
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem)
}

li.post .image {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background-color: var(--c-l-grey);
    border-radius: 8px 8px 0 0;
    border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0
}

li.post .image img {
    border-radius: 8px 30px 0 0;
    border-radius: var(--border-radius-lg) 30px 0 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

li.post .bottom-bar {
    background-color: var(--c-l-grey);
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .75rem;
    margin-bottom: .5rem
}

li.post .bottom-bar time {
    display: flex;
    gap: .75rem;
    align-items: center
}

li.post .bottom-bar time .raptor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1rem;
    width: 1rem;
    color: var(--c-l-secondary)
}

li.post .post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 42px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between
}

li.post .overlay-post-cat {
    background-color: var(--c-primary);
    color: var(--c-white);
    border-bottom-left-radius: 18px;
    width: auto;
    height: 100%;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 14px
}

li.post .overlay-post-cat .text {
    text-transform: capitalize
}

li.post .overlay-post-cat .icon {
    display: flex;
    align-items: center;
    justify-content: center
}

.posts-sorting {
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between
}

.raptor-taxonomy-filter select,
.raptor-orderby select {
    padding: 8px 12px;
    border: none;
    color: var(--c-white);
    background-color: var(--c-primary);
    border-radius: 8px;
    border-radius: var(--border-radius);
    line-height: 1.5;
    line-height: var(--t-base-line-height)
}

.archive-filters .filters {
    background-color: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 3rem;
    padding: 1.5rem
}

.archive-filters .filters h4 {
    font-size: clamp(2rem, 1.3889rem + 1.7778vw, 2.5rem);
    margin-bottom: 1rem
}

.archive-filters .filters form {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem
}

.archive-filters .filters form>* {
    width: 100%
}

.archive-filters .filters form input[type=submit] {
    width: auto;
    text-align: center;
    display: block;
    padding: 5px 32px
}

.archive-filters .filters form label {
    display: block;
    color: var(--c-primary);
    margin-bottom: .5rem
}

.archive-filters .filters form select {
    padding: .5rem 1rem
}

@media screen and (min-width: 48em) {
    .archive-filters .filters form {
        flex-direction: row;
        align-items: flex-end
    }

    .archive-filters .filters form>* {
        flex: 1 1 100%;
        width: auto;
        max-width: 50%
    }

    .archive-filters .filters form input[type=submit] {
        flex-basis: auto;
        flex-grow: 0
    }
}

.post-single {
    margin-bottom: 100px
}

.post-single-sidebar {
    width: 100%;
    max-width: min(1816px, 100vw - 30px*2);
    max-width: min(var(--container-width), 100vw - var(--site-padding)*2);
    margin: 0 auto 100px;
    position: relative
}

.post-single-sidebar hr {
    margin: calc((1.125rem * 1.5)*2) 0;
    margin: calc(calc(1.125rem * 1.5)*2) 0;
    margin: calc(var(--t-baseline)*2) 0
}

.post-single-sidebar .content>h2,
.post-single-sidebar .content>h3,
.post-single-sidebar .content>h4 {
    margin-top: 3rem;
    z-index: 20
}

.post-single-sidebar .content>h2::after,
.post-single-sidebar .content>h3::after,
.post-single-sidebar .content>h4::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    background-color: var(--c-text-base);
    opacity: .7;
    margin-top: 1rem;
    margin-bottom: 2rem
}

.post-single-sidebar .video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 4rem
}

.post-single-sidebar .video iframe,
.post-single-sidebar .video object,
.post-single-sidebar .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.post-single-sidebar ul,
.post-single-sidebar ol {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 2rem 2rem 2rem 3rem;
    background-color: var(--c-l-grey);
    border-radius: 8px;
    border-radius: var(--border-radius);
    list-style-position: outside
}

.post-single-sidebar ul li,
.post-single-sidebar ol li {
    padding-left: .6rem
}

.post-single-sidebar video,
.post-single-sidebar audio,
.post-single-sidebar iframe,
.post-single-sidebar object,
.post-single-sidebar embed,
.post-single-sidebar img,
.post-single-sidebar figure {
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 3rem
}

.post-single-sidebar .related-posts {
    margin: 0 calc(30px*-1);
    margin: 0 calc(var(--site-padding)*-1)
}

.post-single-sidebar .content .post-cta {
    position: relative;
    background-color: #000;
    color: #fff;
    padding: 2rem;
    border-radius: .8rem;
    margin-bottom: 4rem;
    overflow: hidden
}

.post-single-sidebar .content .post-cta .cta-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.post-single-sidebar .content .post-cta .cta-background-image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.post-single-sidebar .content .post-cta .cta-background-image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: rgba(0, 0, 0, .5)
}

.post-single-sidebar .content .post-cta .cta-content {
    position: relative;
    z-index: 100
}

.post-single-sidebar .content .post-cta h3 {
    font-size: max(2rem, min(4vw, 5rem));
    margin-bottom: 2rem;
    position: relative;
    z-index: 100
}

.post-single-sidebar .content .post-cta a {
    margin: 2rem 0 0;
    position: relative;
    z-index: 100;
    text-align: center
}

@media screen and (min-width: 64em) {
    .post-single-sidebar {
        display: grid;
        grid-template-columns: minmax(300px, 66%) minmax(500px, 33%);
        grid-gap: calc(15px*2);
        grid-gap: calc(var(--site-gutter)*2);
        gap: calc(15px*2);
        gap: calc(var(--site-gutter)*2);
        padding-bottom: 30px;
        padding-bottom: var(--site-padding)
    }

    .post-single-sidebar .related-posts {
        border-radius: 8px;
        border-radius: var(--border-radius-lg);
        margin: 0
    }

    .post-single-sidebar .related-posts div.container {
        position: sticky;
        top: 0;
        margin: 0;
        transition: 400ms cubic-bezier(0.42, 0, 0.37, 0.99)
    }

    .post-single-sidebar .related-posts .container>ul {
        grid-template-columns: 1fr
    }

    .post-single-sidebar .site-section:not(.related-posts) {
        padding-left: 0;
        padding-right: 0
    }

    .post-single-sidebar .content .post-cta {
        padding: 4rem 4rem 5rem;
        border-radius: 20px
    }
}

.post-links {
    display: flex;
    flex-flow: row wrap;
    gap: 15px;
    gap: var(--site-gutter);
    padding-bottom: 2rem;
    border-bottom: 1px solid #000;
    border-bottom: 1px solid var(--c-text-base)
}

.post-info {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    gap: var(--site-gutter)
}

.post-info .author {
    display: flex;
    flex: 1;
    flex-flow: row wrap;
    gap: 15px;
    gap: var(--site-gutter);
    align-items: center;
    min-width: 65%
}

.post-info .author .image {
    flex: 1 0 150px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    max-width: 150px;
    border-radius: 8px;
    border-radius: var(--border-radius-lg)
}

.post-info .author .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.post-info .author .content {
    flex: 1 1 460px;
    max-width: 460px
}

.post-info .author .content p.name {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: clamp(2rem, .7778rem + 3.5556vw, 3rem);
    margin-bottom: 6px;
    font-weight: 500;
    line-height: 1.2
}

.post-info .author .content p.name+p.role {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2
}

.post-info .share {
    flex: 0;
    padding: 0 4rem 0 0
}

.post-info .share>p {
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-size: 25px;
    line-height: 1.2;
    margin-bottom: 1.25rem
}

.post-info+.post-links {
    margin-top: 2rem
}

.related-posts {
    background-color: var(--c-l-grey)
}

.related-posts div.container {
    margin-top: 100px;
    padding: 50px 0
}

.related-posts h2 {
    font-size: clamp(2rem, 1.3889rem + 1.7778vw, 2.5rem);
    margin-bottom: 30px;
    text-align: center
}

.related-posts li.post .bottom-bar,
.related-posts li.event .bottom-bar {
    background-color: var(--c-white)
}

.related-posts li.post h3,
.related-posts li.event h3 {
    margin-bottom: 1rem
}

@media screen and (min-width: 64em) {
    .header-state-active .post-single-sidebar .related-posts .container {
        top: var(--header-height)
    }
}

ul.people {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    grid-gap: var(--site-padding);
    gap: 30px;
    gap: var(--site-padding)
}

@media screen and (min-width: 28.125em) {
    ul.people {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 15px;
        gap: var(--site-gutter)
    }
}

li.person {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin: 0
}

li.person img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

li.person div.content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1.5rem;
    background: rgba(0, 0, 0, .25);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 75%, rgba(0, 0, 0, 0) 100%);
    color: var(--c-white);
    transition: 500ms ease-in-out;
    z-index: 1;
    transform: translateY(calc(28px + 1.5rem))
}

li.person div.content h3 {
    font-size: 2rem;
    margin-bottom: .25rem
}

li.person div.content p {
    font-size: 1rem;
    margin-bottom: 1rem
}

li.person div.content span {
    --padding: 5px;
    --padding-ratio: 6;
    font-size: 12px;
    line-height: 1.5;
    opacity: 0;
    transition: 500ms ease-in-out;
    transition-delay: 100ms;
    transform: translateY(50%)
}

li.person:hover div.content {
    transform: translateY(0)
}

li.person:hover div.content span {
    opacity: 1;
    transform: translateY(0)
}

ul.atoz {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    overflow-x: auto;
    gap: .5rem;
    justify-content: space-between;
    margin-bottom: 1rem
}

ul.atoz li a,
ul.atoz li span {
    display: block;
    text-transform: capitalize;
    font-size: 2rem;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-weight: 500;
    padding: .5rem 1rem
}

ul.atoz li span {
    color: #ccc
}

ul.atoz li span:hover {
    cursor: not-allowed
}

ul.atoz li a.active,
ul.atoz li a:hover {
    -webkit-text-decoration: underline var(--c-primary) 2px;
    text-decoration: underline var(--c-primary) 2px;
    text-underline-offset: 2px
}

ul.events {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem 3rem;
    gap: 2rem 3rem
}

@media screen and (min-width: 28.125em) {
    ul.events {
        grid-template-columns: repeat(auto-fill, minmax(420px, 1fr))
    }
}

li.event {
    margin: 0
}

li.event h3 {
    font-size: clamp(1.25rem, .8681rem + 1.1111vw, 1.5625rem)
}

li.event .thumb {
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem
}

li.event .thumb .image {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden
}

li.event .thumb .image img {
    border-radius: 8px 30px 0 0;
    border-radius: var(--border-radius-lg) 30px 0 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

li.event .top-bar {
    display: none
}

li.event .bottom-bar {
    background-color: var(--c-l-grey);
    padding: .5rem 1rem
}

li.event .bottom-bar {
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap
}

li.event .bottom-bar span {
    display: flex;
    gap: .5rem;
    align-items: center
}

li.event .bottom-bar span .raptor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.5rem;
    width: 1.5rem;
    color: var(--c-l-secondary)
}

li.event .bottom-bar span .raptor-icon.calendar {
    padding: .125rem
}

li.event .bottom-bar span span {
    width: -moz-fit-content;
    width: fit-content;
    text-align: left
}

@media screen and (min-width: 48em) {
    li.event .top-bar {
        display: flex;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background-color: rgba(0, 0, 0, .5);
        color: var(--c-white);
        padding: .5rem 1rem;
        border-radius: 8px 30px 0 0;
        border-radius: var(--border-radius-lg) 30px 0 0
    }
}

section.posts-loop:has(li)+section.past-events ul.events {
    padding-top: 64px;
    border-top: 1px solid var(--c-black)
}

section.posts-loop:has(li) .loadmore-button-container {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    width: 100%
}

section.posts-loop:has(li) .loadmore-button {
    width: 165px;
    height: 50px;
    margin: 0 auto;
    justify-content: center
}

section.posts-loop:has(li) .loadmore-button span {
    display: block
}

section.posts-loop:has(li) .loadmore-button svg {
    fill: var(--c-white);
    display: none
}

section.posts-loop:has(li) .loadmore-button.loading svg {
    display: block
}

section.posts-loop:has(li) .loadmore-button.loading span {
    display: none
}

main.latest-archive li.event .image {
    aspect-ratio: 16/10
}

@media screen and (min-width: 28.125em) {
    ul.client-stories {
        grid-template-columns: repeat(auto-fill, minmax(440px, 1fr))
    }
}

li.client-story .image {
    aspect-ratio: 3/2;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 1rem
}

.single-case_study .breadcrumb-section {
    padding: 2rem 30px;
    padding: 2rem var(--site-padding)
}

.single-case_study article h2,
.single-case_study article h3,
.single-case_study article h4 {
    margin-top: 3rem;
    z-index: 20
}

.single-case_study article h2::after,
.single-case_study article h3::after {
    content: "";
    display: block;
    width: 20%;
    height: 1px;
    background-color: #000;
    background-color: var(--c-text-base);
    opacity: .7;
    margin-top: 1rem;
    margin-bottom: 2rem
}

.single-case_study article ul,
.single-case_study article ol {
    margin-bottom: calc((1.125rem * 1.5)*1);
    margin-bottom: calc(calc(1.125rem * 1.5)*1);
    margin-bottom: calc(var(--t-baseline)*1)
}

.single-case_study .statistics {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 30px;
    margin-bottom: var(--site-padding)
}

.single-case_study .statistics .level {
    background: var(--c-d-grey);
    color: var(--c-white);
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    padding: 1.5rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    list-style: none
}

.single-case_study .statistics .level li {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    margin: 0
}

.single-case_study .statistics .level li p {
    font-size: 1.25rem;
    margin: 0
}

.single-case_study .statistics .level li p.value {
    color: var(--c-primary);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family);
    font-weight: 500;
    font-size: 3em;
    line-height: 1.2
}

@media screen and (min-width: 48em) {
    .single-case_study .statistics .level {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 4rem 30px;
        padding: 4rem var(--site-padding)
    }

    .single-case_study .statistics .level li {
        flex-grow: 1;
        text-align: center;
        align-items: center;
        justify-content: center
    }

    .single-case_study .statistics .level li p.value {
        font-size: 5.5em;
        line-height: 1
    }
}

.single-case_study .related-posts h2 {
    text-align: left;
    margin-bottom: 3rem
}

@media screen and (min-width: 28.125em) {
    ul.case-studies {
        grid-template-columns: repeat(auto-fill, minmax(440px, 1fr))
    }
}

li.case-study .image {
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden
}

li.case-study .image img {
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    height: calc(100% - 2rem);
    max-height: 100%;
    width: auto;
    max-width: calc(100% - 2rem);
    -o-object-fit: contain;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto
}

li.case-study .post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 42px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: right
}

li.case-study .overlay-post-cat {
    background-color: var(--c-primary);
    color: var(--c-white);
    border-bottom-left-radius: 18px;
    width: auto;
    height: 100%;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 14px
}

li.case-study .overlay-post-cat .text {
    text-transform: capitalize
}

li.case-study .overlay-post-cat .icon {
    display: flex;
    align-items: center;
    justify-content: center
}

li.case-study--author {
    border-bottom: 2px solid var(--c-d-grey);
    padding-bottom: 1.5rem
}

li.case-study--author h3:hover,
li.case-study--author h3:focus {
    color: var(--c-primary);
    text-decoration: underline;
    -webkit-text-decoration: underline solid currentColor;
    text-decoration: underline solid currentColor;
    text-decoration-thickness: 1px;
    -webkit-text-decoration: underline 1px;
    text-decoration: underline 1px
}

li.case-study--author>a:not(.author)>.image {
    max-height: 200px;
    margin-bottom: 1rem;
    background-color: #fff
}

li.case-study--author>a:not(.author)>.image img {
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    height: calc(100% - 2rem);
    max-height: 100%;
    width: auto;
    max-width: calc(100% - 2rem);
    -o-object-fit: contain;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto
}

li.case-study--author .author {
    display: flex;
    flex: 1;
    flex-flow: row wrap;
    gap: 15px;
    gap: var(--site-gutter);
    align-items: center;
    margin-top: 1rem
}

li.case-study--author .author .image {
    flex: 1 0 64px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    max-width: 64px;
    border-radius: 8px;
    border-radius: var(--border-radius-lg);
    margin-bottom: 0
}

li.case-study--author .author .image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

li.case-study--author .author .content p.name {
    font-size: 1.25rem;
    margin-bottom: 4px;
    line-height: 1.2;
    color: var(--c-primary);
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family)
}

li.case-study--author .author .content p.name+p.role {
    font-size: .75rem;
    line-height: 1.2;
    margin-bottom: 0;
    font-family: "Tiempos Headline", sans-serif;
    font-family: var(--t-heading-font-family)
}

main.latest-archive .hero {
    padding-bottom: 16px
}

main.latest-archive .hero .container {
    display: block
}

main.latest-archive .hero .content {
    display: grid;
    grid-template-columns: 100%;
    grid-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem
}

main.latest-archive .hero .content .site-breadcrumb {
    grid-column: 1/-1
}

main.latest-archive .archive-nav {
    scrollbar-color: var(--c-primary);
    overflow-x: auto;
    clip-path: none !important;
    align-self: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    margin: 0 calc(-1*30px);
    margin: 0 calc(-1*var(--site-padding))
}

main.latest-archive .archive-nav::-webkit-scrollbar {
    margin: 0 20px
}

main.latest-archive .archive-nav::-webkit-scrollbar-track {
    background-color: var(--c-l-grey);
    margin-left: 30px;
    margin-left: var(--site-padding);
    margin-right: 30px;
    margin-right: var(--site-padding);
    border-radius: 10px
}

main.latest-archive .archive-nav::-webkit-scrollbar-thumb {
    background-color: var(--c-primary);
    border-radius: 20px
}

main.latest-archive .archive-nav a {
    display: inline-block;
    height: -moz-fit-content;
    height: fit-content;
    text-wrap: nowrap;
    margin: 16px 10px 24px;
    color: #fff;
    background-color: var(--c-black);
    position: relative;
    justify-content: center;
    text-align: center
}

main.latest-archive .archive-nav a:hover {
    background-color: var(--c-primary)
}

main.latest-archive .archive-nav a:first-child {
    margin-left: 30px;
    margin-left: var(--site-padding)
}

main.latest-archive .archive-nav a:last-child {
    margin-right: 30px;
    margin-right: var(--site-padding)
}

main.latest-archive .archive-nav a.selected {
    background-color: var(--c-primary)
}

main.latest-archive .archive-nav a.selected:after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 20px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--c-primary);
    border-radius: 1px
}

@media screen and (min-width: 56.25em) {
    main.latest-archive .archive-nav {
        margin: 0;
        overflow: visible;
        overflow: initial;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px
    }

    main.latest-archive .archive-nav a {
        margin: 16px 0 24px
    }
}

@media screen and (min-width: 80em) {
    main.latest-archive .hero .content {
        grid-template-columns: auto 1fr;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    main.latest-archive .archive-nav {
        margin: 0;
        overflow: visible;
        overflow: initial;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px
    }
}

@media screen and (min-width: 100em) {
    main.latest-archive .hero .content {
        grid-template-columns: 1fr 50% 1fr;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    main.latest-archive .hero .content a {
        min-width: 140px
    }
}

.alignnone {
    margin: 5px 20px 20px 0
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

a img.alignnone {
    margin: 5px 20px 20px 0
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    -webkit-text-decoration: none;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

@media screen and (prefers-reduced-motion: reduce),
(update: slow) {

    *,
    *::before,
    *::after {
        animation-duration: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0ms !important
    }
}

.skip-link:not(:focus),
.visually-hidden,
section.flexi-block.block--get-in-touch-01 form[name=mailing-list-sign-up] .fields label {
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.skip-link {
    left: 1rem;
    position: absolute;
    top: 1rem;
    transform: translateY(0%);
    transition: transform 300ms;
    z-index: 999
}

.skip-link:not(:focus) {
    transform: translateY(calc(-100% - 1rem))
}