@charset "UTF-8";
*,
:after,
:before {
    box-sizing: border-box;
}
blockquote,
body,
dd,
dl,
dt,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
html,
iframe,
legend,
li,
ol,
p,
pre,
ul {
    margin: 0;
    padding: 0;
}
ol[role="list"],
ul[role="list"] {
    list-style: none;
    margin: 0;
}
html {
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    interpolate-size: allow-keywords;
}
body {
    margin: 0;
    overflow: auto;
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}
a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}
img,
picture {
    max-width: 100%;
    display: block;
    height: auto;
}
button,
input,
select,
textarea {
    font: inherit;
}
ol,
ul {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
pre {
    white-space: pre-wrap;
}
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    :after,
    :before {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
.text-center {
    justify-content: center;
}
.text-right {
    justify-content: right;
}
.primary {
    color: var(--color-primary);
}
.secondary {
    color: var(--color-secondary);
}
.accent {
    color: var(--color-accent);
}
.black {
    color: var(--color-black);
}
.dark {
    color: var(--color-dark);
}
.medium {
    color: var(--color-medium);
}
.light {
    color: var(--color-light);
}
.white {
    color: var(--color-white);
}
.bg-primary {
    background-color: var(--color-primary);
}
.bg-secondary {
    background-color: var(--color-secondary);
}
.bg-accent {
    background-color: var(--color-accent);
}
.bg-platinum {
    background-color: var(--color-platinum);
}
.bg-darkblue {
    background-color: var(--color-darkblue);
}
.bg-black {
    background-color: var(--color-black);
}
.bg-dark {
    background-color: var(--color-dark);
}
.bg-medium {
    background-color: var(--color-medium);
}
.bg-light {
    background-color: var(--color-light);
}
.bg-white {
    background-color: var(--color-white);
}
.bg-cyan-gradient {
    background: var(--color-cyan-gradient);
}
.bg-lime-gradient {
    background: var(--color-lime-gradient);
}
.bg-lime-gradient ::selection {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.icon {
    display: block;
    height: 1em;
}
.icon-wrapper {
    --icon-color: var(--color-primary);
    display: flex;
    flex-flow: row wrap;
    gap: 0.6em;
    font-size: var(--icon-size, 20px);
}
.icon-wrapper > * {
    color: var(--icon-color);
    height: var(--icon-size);
    width: auto;
}
.icon-wrapper a svg,
.icon-wrapper svg {
    fill: currentColor;
}
.icon-wrapper a:hover {
    --icon-color: var(--color-cyan);
}
.icon-wrapper.social {
    --icon-size: 34px;
}
.icon-wrapper.social a {
    transition: color 50ms;
}
[data-disabled] {
    opacity: 0.2;
    pointer-events: none;
}
.image-replacement {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
span.amp {
    font-family: Baskerville, "Goudy Old Style", Palatino, "Book Antiqua", serif !important;
    font-style: italic;
}
:root {
    --color-delft: hsl(215, 54%, 21%);
    --color-lime: hsl(81, 93%, 56%);
    --color-cyan: hsl(179, 92%, 58%);
    --color-sky: hsl(201, 85%, 66%);
    --color-dodger: hsl(208, 97%, 55%);
    --color-platinum: hsl(90, 8%, 85%);
    --color-body-bg: #d8d8d8;
    --color-darkblue: hsl(214, 63%, 17%);
    --color-primary: var(--color-delft);
    --color-primary-50: hsl(215, 14%, 60%);
    --color-secondary: var(--color-lime);
    --color-accent: var(--color-cyan);
    --color-white: hsl(0, 0%, 100%);
    --color-black: hsl(0, 0%, 0%);
    --color-light: hsl(90, 7%, 94%);
    --color-light-alt: hsl(60, 7%, 97%);
    --color-medium: #9d9d9d;
    --color-dark: hsl(178, 95%, 8%);
    --color-info: #e86b03;
    --color-success: #419b01;
    --color-warning: #ffbd08;
    --color-error: #ed0059;
    --color-cyan-gradient-1: hsl(179, 92%, 58%);
    --color-cyan-gradient-2: var(--color-sky);
    --color-lime-gradient-1: hsl(79, 100%, 58%);
    --color-lime-gradient-2: hsl(90, 84%, 43%);
    --color-gradient: transparent linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent)) 0% 0% no-repeat padding-box;
    --color-cyan-gradient: transparent linear-gradient(180deg, var(--color-cyan-gradient-1) 0%, var(--color-cyan-gradient-2)) 0% 0% no-repeat padding-box;
    --color-cyan-gradient-right: transparent linear-gradient(90deg, var(--color-cyan-gradient-1) 0%, var(--color-cyan-gradient-2)) 0% 0% no-repeat padding-box;
    --color-lime-gradient: transparent linear-gradient(180deg, var(--color-lime-gradient-1) 0%, var(--color-lime-gradient-2)) 0% 0% no-repeat padding-box;
    --color-lime-gradient-right: transparent linear-gradient(90deg, var(--color-lime-gradient-1) 0%, var(--color-lime-gradient-2)) 0% 0% no-repeat padding-box;
    --icon-plus: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.431 22.431'%3E%3Cpath fill='var(--plus-color)' d='M22.431 12.818h-9.613v9.613h-3.2v-9.613H0v-3.2h9.613V0h3.2v9.613h9.613z' data-name='Path 1393'/%3E%3C/svg%3E");
    --icon-minus: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='var(--color-icon)' d='M0 9h20v3H0z'/%3E%3C/svg%3E");
    --icon-plus-circle: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58.001 58.002'%3E%3Cpath fill='%2334f6f2' d='M29.002 58a28.923 28.923 0 1 1 11.289-2.281A28.769 28.769 0 0 1 29.002 58zm-15-31v4h13v13h4V31h13v-4h-13V14h-4v13z' data-name='Subtraction 5'/%3E%3C/svg%3E");
    --icon-minus-circle: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58.001 58'%3E%3Cpath fill='var(--plus-color)' d='M29.002 58a28.911 28.911 0 1 1 11.288-2.279A28.82 28.82 0 0 1 29.002 58zm-15-31v4h30v-4z'/%3E%3C/svg%3E");
    --icon-check-circle: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.12 100.04c-27.62 0-50-22.39-50-50s22.38-50 50-50 50 22.39 50 50-22.39 50-50 50zm0-10c22.09 0 40-17.91 40-40s-17.91-40-40-40-40 17.9-40 40c0 22.09 17.91 40 40 40zm-5-20l-21.2-21.21 7.07-7.07 14.13 14.15 28.29-28.29 7.07 7.07-35.36 35.35z'/%3E%3C/svg%3E");
    --icon-button-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 15.556'%3E%3Cpath d='M22.172 6.778l-5.364-5.364L18.222 0 26 7.778l-7.778 7.778-1.414-1.414 5.364-5.364H0v-2z'/%3E%3C/svg%3E");
    --icon-user: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 31.5'%3E%3Cpath fill='%2334f6f2' d='M24 31.5h-3v-3a4.5 4.5 0 0 0-4.5-4.5h-9A4.5 4.5 0 0 0 3 28.5v3H0v-3A7.5 7.5 0 0 1 7.5 21h9a7.5 7.5 0 0 1 7.5 7.5zM12 18a9 9 0 1 1 9-9 9 9 0 0 1-9 9zm0-3a6 6 0 1 0-6-6 6 6 0 0 0 6 6z' data-name='LOGIN ICON'/%3E%3C/svg%3E");
    --icon-arrow-up: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath fill='%2334f6f2' d='M1.238 0l-.052 3.5h18.837L0 23.524 2.475 26 22.5 5.978v18.784H26V0z'/%3E%3C/svg%3E");
    --icon-loading: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 3a9 9 0 0 1 9 9h-2a7 7 0 0 0-7-7V3z'/%3E%3C/svg%3E");
    --icon-arrow-short: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' viewBox='0 0 37.71 37.71'%3E%3Cpath d='M18.86 0l-2.71 2.63 14.34 14.34H0v3.77h30.49l-14.3 14.3 2.67 2.67 18.86-18.86L18.86 0z' fill='%2334f6f2'/%3E%3C/svg%3E");
    --layout-body-bg: var(--color-light);
    --layout-padding-inline: clamp(30px, 7.3vw, 140px);
    --layout-content-max-width: 1638px;
    --layout-breakout-max-width: 1800px;
    --layout-breakout-size: calc((var(--layout-breakout-max-width) - var(--layout-content-max-width)) / 2);
    --layout-anchor-offset: 5rem;
    --layout-border-radius: clamp(30px, 5.21vw, 100px);
    --layout-flow-gap: 20px;
    --header-bg: var(--color-gradient);
    --header-height: 4.375rem;
    --header-logo-height: clamp(45px, 4.17vw, 80px);
    --header-padding: 16px;
    --header-burger-color: var(--color-dark);
    --hero-bg-color: var(--color-secondary);
    --hero-padding: calc(var(--layout-spacing) * 1.5);
    --hero-overline-color: var(--color-accent);
    --layout-padding-block: 2rem;
    --section-margin-block: clamp(50px, 7.81vw, 150px);
    --section-padding-block: 2rem;
    --section-padding-inline: clamp(32px, 6.04vw, 116px);
    --section-title-margin: clamp(20px, 1.56vw, 30px);
    --section-subtitle-spacing: clamp(10px, 0.78vw, 15px);
    --section-box-shadow: 20px 20px 20px #00000030;
    --form-input-radius: 16px;
    --form-focus-outline: 1px solid var(--color-dark);
    --form-disabled-bg-color: var(--color-light);
    --accordion-border-radius: 0;
    --accordion-summary-pad: 0 clamp(16px, 1.56vw, 32px);
    --layout-grid-gap: clamp(6px, 1.56vw, 30px);
    --layout-grid-vgap: clamp(32px, 3.13vw, 60px);
    --button-border-radius: 2em;
    --button-wrapper-gap: 20px;
    --element-block-spacing: clamp(20px, 1.8vw, 36px);
    --element-box-padding: 1rem;
    --offcanvas-padding: 44px;
    --offcanvas-border-radius: 20px;
    --navbar-link-color: var(--color-white);
    --navbar-brandmark-width: 52px;
    --navbar-border-size: clamp(4px, 0.5vw, 10px);
    --navbar-link-current-color: var(--color-accent);
    --form-font-size: 16px;
    --form-line-height: 1.8;
    --form-input-radius: 0;
    --form-input-padding-b: 0.7em;
    --form-input-padding-i: 1.5em;
    --form-bg: transparent;
    --form-color: var(--section-body-color);
    --form-border-color: transparent;
    --typography-weight-normal: normal;
    --typography-weight-md: 500;
    --typography-weight-sb: 600;
    --typography-weight-bd: 700;
    --typography-weight-eb: 800;
    --typography-header-font: "Plus Jakarta Sans", sans-serif;
    --typography-header-weight: 700;
    --typography-header-letter-spacing: -0.035em;
    --typography-header-line-height: 1.1;
    --typography-paragraph-margin: 1rem;
    --typography-h1-size: clamp(45px, 6.15vw, 118px);
    --typography-h2-size: clamp(28px, 2.71vw, 54px);
    --typography-h3-size: clamp(28px, 2.2vw, 44px);
    --typography-h4-size: clamp(24px, 1.98vw, 38px);
    --typography-h5-size: clamp(20px, 1.56vw, 30px);
    --typography-h6-size: clamp(18px, 1.25vw, 24px);
    --typography-header-margin-bottom: 0.5em;
    --typography-paragraph-size: clamp(16px, 0.94vw, 18px);
    --typography-quote-size: clamp(22px, 1.56vw, 30px);
    --typography-quote-cite-size: clamp(14px, 1.04vw, 20px);
    --typography-alt-subtitle-fs: clamp(20px, 1.77vw, 34px);
    --typography-fs-62: clamp(34px, 3.23vw, 62px);
    --typography-body-font: "Plus Jakarta Sans", sans-serif;
    --typography-body-weight: vaar(--typography-weight-normal);
    --typography-body-size: 100%;
    --typography-body-line-height: 1.6;
    --typography-lead-size: 1.3em;
    --animation-offset: 100px;
    --animation-scale: 0.9;
    --animation-transition: transform 500ms ease-out, opacity 500ms ease-out, box-shadow 750ms ease-out;
    --box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.25);
    --box-shadow-hidden: 0px 2px 2px 0px rgba(0, 0, 0, 0);
}
@media (min-width: 64rem) {
    :root {
        --layout-body-bg: var(--color-body-bg);
        --header-height: auto;
        --header-padding: clamp(16px, 2.86vw, 55px);
        --layout-anchor-offset: 10rem;
    }
}
@media (min-width: 1210px) {
    :root {
        --layout-spacing: 3rem;
    }
}
.mt {
    margin-top: var(--layout-spacing);
}
.mt-sm {
    margin-top: calc(var(--layout-spacing) * 0.5);
}
.mt-lg {
    margin-top: calc(var(--layout-spacing) * 1.5);
}
.mb {
    margin-bottom: var(--layout-spacing);
}
.mb-sm {
    margin-bottom: calc(var(--layout-spacing) * 0.5);
}
.mb-lg {
    margin-bottom: calc(var(--layout-spacing) * 1.5);
}
.pt {
    padding-top: var(--layout-spacing);
}
.pt-sm {
    padding-top: calc(var(--layout-spacing) * 0.5);
}
.pt-lg {
    padding-top: calc(var(--layout-spacing) * 1.5);
}
.pb {
    padding-bottom: var(--layout-spacing);
}
.pb-sm {
    padding-bottom: calc(var(--layout-spacing) * 0.5);
}
.pb-lg {
    padding-bottom: calc(var(--layout-spacing) * 1.5);
}
.pad {
    padding: var(--layout-spacing);
}
.pad-sm {
    padding: calc(var(--layout-spacing) * 0.5);
}
.pad-lg {
    padding: calc(var(--layout-spacing) * 1.5);
}
.mt-05 {
    margin-top: 0.5rem;
}
.mt-1 {
    margin-top: 1rem;
}
.mb-1 {
    margin-bottom: 1rem;
}
.nmt {
    margin-top: 0 !important;
}
.nmb {
    margin-bottom: 0 !important;
}
.npb {
    padding-bottom: 0 !important;
}
.conditional-margin {
    --margin: clamp(40px, 3.65vw, 70px);
}
.conditional-margin.sm {
    --margin: clamp(10px, 1.56vw, 30px);
}
.conditional-margin:not(:first-child) {
    margin-top: var(--margin);
}
.conditional-margin:not(:last-child) {
    margin-bottom: var(--margin);
}
@media screen and (max-width: 820px) {
    .xs-mt {
        margin-top: 16px;
    }
}
body {
    overflow-x: clip;
}
body.is-loaded {
    opacity: 1;
}
body:before {
    content: "xs";
    display: none;
    visibility: hidden;
}
@media (min-width: 668px) {
    body:before {
        content: "sm";
    }
}
@media (min-width: 821px) {
    body:before {
        content: "md";
    }
}
@media (min-width: 1210px) {
    body:before {
        content: "lg";
    }
}
@media (min-width: 1701px) {
    body:before {
        content: "xl";
    }
}
#smooth-content {
    will-change: transform;
}
.content-grid {
    display: grid;
    grid-template-columns: [fullwidth-start] minmax(var(--layout-padding-inline), 1fr) [breakout-start] minmax(0, var(--layout-breakout-size)) [content-start] min(100vw - var(--layout-padding-inline) * 2, var(--layout-content-max-width)) [content-end] minmax(
            0,
            var(--layout-breakout-size)
        ) [breakout-end] minmax(var(--layout-padding-inline), 1fr) [fullwidth-end];
}
.content-grid > :not(.breakout, .fullwidth),
.fullwidth > :not(.breakout, .fullwidth) {
    grid-column: content;
}
.content-grid > .breakout {
    grid-column: breakout;
}
.content-grid > .fullwidth {
    grid-column: fullwidth;
    display: grid;
    grid-template-columns: inherit;
}
.flow {
    display: grid;
    gap: var(--layout-flow-gap, 20px);
    grid-template-columns: minmax(0, 1fr);
}
[id] {
    scroll-margin-top: var(--header-height, 2rem);
}
.is-sticky {
    position: sticky;
    z-index: 30;
}
.indigo-credits {
    display: block;
}
.indigo-credits img {
    display: inline-block;
}
@media (min-width: 821px) {
    .reduced-width {
        width: 66.67%;
        margin-inline: auto;
    }
}
body {
    font-family: var(--typography-body-font);
    font-weight: var(--typography-body-weight);
    font-size: var(--typography-body-size);
    color: var(--typography-body-color);
}
body ::selection {
    background-color: var(--color-secondary);
    color: var(--color-black);
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--typography-header-font);
    font-weight: var(--typography-header-weight);
    font-optical-sizing: auto;
    font-style: normal;
    line-height: var(--typography-header-line-height);
    font-size: var(--typography-h1-size);
    margin-bottom: var(--typography-header-margin-bottom);
    letter-spacing: var(--typography-header-letter-spacing);
}
.h1,
h1 {
    font-size: var(--typography-h1-size);
}
.h2,
h2 {
    font-size: var(--typography-h2-size);
}
.h3,
h3 {
    font-size: var(--typography-h3-size);
    font-weight: 500;
}
.h4,
h4 {
    font-size: var(--typography-h4-size);
}
.h5,
h5 {
    font-size: var(--typography-h5-size);
}
.h6,
h6 {
    font-size: var(--typography-h6-size);
}
.fs-62 {
    font-size: var(--typography-fs-62);
}
.ellipsis-this {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
}
p {
    line-height: var(--typography-body-line-height);
}
.lead,
.lead p {
    font-size: var(--typography-lead-size);
    line-height: 1.3;
}
.small {
    font-size: 0.875em;
}
.large {
    font-size: 1.5em !important;
}
.overline {
    font-size: 1.375rem;
    text-transform: uppercase;
    letter-spacing: 1.36;
    line-height: 1.36em;
}
.overline.small-header,
.overline.ul {
    border-bottom: 1px solid var(--color-medium);
    margin-bottom: 0.625rem;
}
.overline.small-header {
    font-size: 0.875em;
}
.uc {
    text-transform: uppercase;
}
.sc {
    text-transform: none !important;
}
.strong,
strong {
    font-weight: var(--typography-weight-bd);
}
.sb {
    font-weight: var(--typography-weight-sb);
}
.md {
    font-weight: var(--typography-weight-md);
}
.normal {
    font-weight: var(--typography-weight-normal);
}
.hr-text {
    display: flex;
    align-items: center;
    justify-content: left;
}
.hr-text:after {
    background: currentColor;
    height: 2px;
    flex: 1;
    margin-left: 1em;
    content: "";
}
.break-word {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-all;
    word-break: break-word;
    hyphens: auto;
}
.alt-subtitle {
    font-size: var(--typography-alt-subtitle-fs);
}
a,
a:visited {
    transition: color 0.25s;
    text-decoration: none;
}
a:link,
a:visited:link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
a.has-icon [class*="icon-"],
a.has-icon [class^="icon-"],
a:visited.has-icon [class*="icon-"],
a:visited.has-icon [class^="icon-"] {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}
a.has-icon [class*="icon-"]:first-child:not(:last-child),
a.has-icon [class^="icon-"]:first-child:not(:last-child),
a:visited.has-icon [class*="icon-"]:first-child:not(:last-child),
a:visited.has-icon [class^="icon-"]:first-child:not(:last-child) {
    margin-right: 0.5em;
}
a.has-icon [class*="icon-"]:last-child:not(:first-child),
a.has-icon [class^="icon-"]:last-child:not(:first-child),
a:visited.has-icon [class*="icon-"]:last-child:not(:first-child),
a:visited.has-icon [class^="icon-"]:last-child:not(:first-child) {
    margin-left: 0.5em;
}
[data-href] {
    cursor: pointer;
}
[data-copy] {
    position: relative;
}
[data-copy]:after {
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    font-size: 0.75rem;
    content: "Copied!";
    transform: scale(0);
    transform-origin: center;
    transition: transform 0.25s ease-out;
}
[data-copy].is-copied:after {
    transform: scale(1);
}
.text-right {
    text-align: right;
}
.text-center {
    text-align: center;
}
ul.is-line {
    margin-left: 0;
    list-style-type: none;
}
ul.is-line li {
    margin-bottom: 1rem;
}
ul.is-line li:before {
    display: inline-block;
    content: "–";
    position: relative;
    font-size: 1em;
    color: var(--color-primary);
    margin-right: 0.75em;
    font-weight: var(--typography-bold-weight);
}
ul.is-line li a {
    padding: 0;
}
.content,
.mce-content-body,
.wp-block-post-content {
    font-size: var(--typography-paragraph-size);
}
.content a,
.content figcaption,
.content li,
.content p,
.mce-content-body a,
.mce-content-body figcaption,
.mce-content-body li,
.mce-content-body p,
.wp-block-post-content a,
.wp-block-post-content figcaption,
.wp-block-post-content li,
.wp-block-post-content p {
    text-wrap: pretty;
}
.content a,
.content a:visited,
.mce-content-body a,
.mce-content-body a:visited,
.wp-block-post-content a,
.wp-block-post-content a:visited {
    color: var(--color-primary);
    transition: color 0.25s ease;
}
.content a:not([class]),
.content a:visited:not([class]),
.mce-content-body a:not([class]),
.mce-content-body a:visited:not([class]),
.wp-block-post-content a:not([class]),
.wp-block-post-content a:visited:not([class]) {
    color: inherit;
    text-decoration: underline;
}
.content a:link,
.content a:visited:link,
.mce-content-body a:link,
.mce-content-body a:visited:link,
.wp-block-post-content a:link,
.wp-block-post-content a:visited:link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
.content a.has-icon [class*="icon-"],
.content a.has-icon [class^="icon-"],
.content a:visited.has-icon [class*="icon-"],
.content a:visited.has-icon [class^="icon-"],
.mce-content-body a.has-icon [class*="icon-"],
.mce-content-body a.has-icon [class^="icon-"],
.mce-content-body a:visited.has-icon [class*="icon-"],
.mce-content-body a:visited.has-icon [class^="icon-"],
.wp-block-post-content a.has-icon [class*="icon-"],
.wp-block-post-content a.has-icon [class^="icon-"],
.wp-block-post-content a:visited.has-icon [class*="icon-"],
.wp-block-post-content a:visited.has-icon [class^="icon-"] {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}
.content a.has-icon [class*="icon-"]:first-child:not(:last-child),
.content a.has-icon [class^="icon-"]:first-child:not(:last-child),
.content a:visited.has-icon [class*="icon-"]:first-child:not(:last-child),
.content a:visited.has-icon [class^="icon-"]:first-child:not(:last-child),
.mce-content-body a.has-icon [class*="icon-"]:first-child:not(:last-child),
.mce-content-body a.has-icon [class^="icon-"]:first-child:not(:last-child),
.mce-content-body a:visited.has-icon [class*="icon-"]:first-child:not(:last-child),
.mce-content-body a:visited.has-icon [class^="icon-"]:first-child:not(:last-child),
.wp-block-post-content a.has-icon [class*="icon-"]:first-child:not(:last-child),
.wp-block-post-content a.has-icon [class^="icon-"]:first-child:not(:last-child),
.wp-block-post-content a:visited.has-icon [class*="icon-"]:first-child:not(:last-child),
.wp-block-post-content a:visited.has-icon [class^="icon-"]:first-child:not(:last-child) {
    margin-right: 0.5em;
}
.content a.has-icon [class*="icon-"]:last-child:not(:first-child),
.content a.has-icon [class^="icon-"]:last-child:not(:first-child),
.content a:visited.has-icon [class*="icon-"]:last-child:not(:first-child),
.content a:visited.has-icon [class^="icon-"]:last-child:not(:first-child),
.mce-content-body a.has-icon [class*="icon-"]:last-child:not(:first-child),
.mce-content-body a.has-icon [class^="icon-"]:last-child:not(:first-child),
.mce-content-body a:visited.has-icon [class*="icon-"]:last-child:not(:first-child),
.mce-content-body a:visited.has-icon [class^="icon-"]:last-child:not(:first-child),
.wp-block-post-content a.has-icon [class*="icon-"]:last-child:not(:first-child),
.wp-block-post-content a.has-icon [class^="icon-"]:last-child:not(:first-child),
.wp-block-post-content a:visited.has-icon [class*="icon-"]:last-child:not(:first-child),
.wp-block-post-content a:visited.has-icon [class^="icon-"]:last-child:not(:first-child) {
    margin-left: 0.5em;
}
.content a:active,
.mce-content-body a:active,
.wp-block-post-content a:active {
    color: var(--color-secondary);
}
.content sub,
.content sup,
.mce-content-body sub,
.mce-content-body sup,
.wp-block-post-content sub,
.wp-block-post-content sup {
    font-size: 50%;
}
.content strong,
.mce-content-body strong,
.wp-block-post-content strong {
    font-weight: var(--typography-weight-bd);
}
.content ul,
.mce-content-body ul,
.wp-block-post-content ul {
    --marker-color: var(--color-primary);
    --marker-size: 1.667em;
    --spacing: 0.25em;
    list-style: disc outside;
    margin-left: var(--marker-size);
    margin-top: 1em;
    line-height: normal;
}
.content ul li:not(:last-child),
.mce-content-body ul li:not(:last-child),
.wp-block-post-content ul li:not(:last-child) {
    margin-bottom: var(--spacing);
}
.content ul li::marker,
.mce-content-body ul li::marker,
.wp-block-post-content ul li::marker {
    color: var(--marker-color);
    font-size: var(--marker-size);
}
.content ul.check,
.mce-content-body ul.check,
.wp-block-post-content ul.check {
    margin: 0;
}
.content ul.check li,
.mce-content-body ul.check li,
.wp-block-post-content ul.check li {
    line-height: var(--marker-size);
    display: flex;
}
.content ul.check li::marker,
.mce-content-body ul.check li::marker,
.wp-block-post-content ul.check li::marker {
    content: "";
}
.content ul.check li:before,
.mce-content-body ul.check li:before,
.wp-block-post-content ul.check li:before {
    content: "";
    background-color: var(--marker-color);
    mask: var(--icon-check-circle);
    display: inline-block;
    height: var(--marker-size);
    aspect-ratio: 1/1;
    margin-right: calc(var(--marker-size) * 0.33);
}
.content ol:not([type]),
.mce-content-body ol:not([type]),
.wp-block-post-content ol:not([type]) {
    --marker-color: var(--color-black);
    --marker-size: 1em;
    --spacing: 0.25em;
    list-style-position: outside;
    margin-left: var(--marker-size);
    margin-top: 1em;
    line-height: normal;
}
.content ol:not([type]) li:not(:last-child),
.mce-content-body ol:not([type]) li:not(:last-child),
.wp-block-post-content ol:not([type]) li:not(:last-child) {
    margin-bottom: var(--spacing);
}
.content ol:not([type]) li::marker,
.mce-content-body ol:not([type]) li::marker,
.wp-block-post-content ol:not([type]) li::marker {
    color: var(--marker-color);
    font-size: var(--marker-size);
    font-weight: var(--typography-weight-sb);
}
.content ol:not([type]):not([type]),
.mce-content-body ol:not([type]):not([type]),
.wp-block-post-content ol:not([type]):not([type]) {
    list-style-type: decimal;
}
.content ol:not([type]):not(:last-child),
.mce-content-body ol:not([type]):not(:last-child),
.wp-block-post-content ol:not([type]):not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content dl dd,
.mce-content-body dl dd,
.wp-block-post-content dl dd {
    margin-left: 2rem;
}
.content dl:not(:last-child),
.mce-content-body dl:not(:last-child),
.wp-block-post-content dl:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content blockquote,
.mce-content-body blockquote,
.wp-block-post-content blockquote {
    --bg: transparent;
    --icon-size: 1.7em;
    background-color: var(--bg);
    font-size: 1.667em;
    font-style: italic;
    position: relative;
    padding-left: calc(var(--icon-size) + 1em);
    margin-block: var(--icon-size);
}
.content blockquote,
.content blockquote > *,
.mce-content-body blockquote,
.mce-content-body blockquote > *,
.wp-block-post-content blockquote,
.wp-block-post-content blockquote > * {
    font-style: italic;
    font-weight: var(--typography-weight-md);
    line-height: 1.3;
}
.content blockquote:before,
.mce-content-body blockquote:before,
.wp-block-post-content blockquote:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    width: var(--icon-size);
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53.667 43.236'%3E%3Cpath fill='%2334f6f2' d='M30.537 43.236v-13q0-12.245 5.82-20.031t17.31-10.2V9.83a15.738 15.738 0 0 0-8.163 4.46 15.714 15.714 0 0 0-3.931 7.786h9.071v21.165zM0 43.236v-13q0-12.245 5.82-20.031T22.978.005V9.83a15.738 15.738 0 0 0-8.163 4.46 15.714 15.714 0 0 0-3.931 7.786h9.071v21.165z' data-name='Path 2219'/%3E%3C/svg%3E");
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: -0.2em;
}
.content blockquote p,
.mce-content-body blockquote p,
.wp-block-post-content blockquote p {
    font-size: 1em;
}
.content blockquote:not(:last-child),
.mce-content-body blockquote:not(:last-child),
.wp-block-post-content blockquote:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content code,
.content pre,
.mce-content-body code,
.mce-content-body pre,
.wp-block-post-content code,
.wp-block-post-content pre {
    -moz-osx-font-smoothing: auto;
    -webkit-font-smoothing: auto;
    font-family: monospace;
    overflow-x: auto;
    padding: 0.2em 0.5em;
    white-space: pre;
    word-wrap: normal;
    background-color: var(--color-light);
    font-size: 0.875em;
}
.content code:not(:last-child),
.content pre:not(:last-child),
.mce-content-body code:not(:last-child),
.mce-content-body pre:not(:last-child),
.wp-block-post-content code:not(:last-child),
.wp-block-post-content pre:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content table,
.mce-content-body table,
.wp-block-post-content table {
    width: 100%;
}
.content table td,
.content table th,
.mce-content-body table td,
.mce-content-body table th,
.wp-block-post-content table td,
.wp-block-post-content table th {
    padding: 0.5em 0.75em;
    vertical-align: top;
}
.content table thead th,
.mce-content-body table thead th,
.wp-block-post-content table thead th {
    background-color: var(--color-dark);
    color: var(--color-white);
}
.content table thead th:not([align]),
.mce-content-body table thead th:not([align]),
.wp-block-post-content table thead th:not([align]) {
    text-align: inherit;
}
.content table:not(:last-child),
.mce-content-body table:not(:last-child),
.wp-block-post-content table:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content table.striped tr:nth-child(2n) td,
.mce-content-body table.striped tr:nth-child(2n) td,
.wp-block-post-content table.striped tr:nth-child(2n) td {
    background-color: var(--color-light);
}
.content figure,
.mce-content-body figure,
.wp-block-post-content figure {
    text-align: center;
}
.content figure:has(figcaption),
.mce-content-body figure:has(figcaption),
.wp-block-post-content figure:has(figcaption) {
    background-color: var(--color-light);
}
.content figure a,
.mce-content-body figure a,
.wp-block-post-content figure a {
    display: block;
    line-height: 1 !important;
    background: transparent !important;
    margin-bottom: -2px;
}
.content figure img,
.mce-content-body figure img,
.wp-block-post-content figure img {
    margin: 0;
    display: inline-block;
    vertical-align: top;
}
.content figure figcaption,
.mce-content-body figure figcaption,
.wp-block-post-content figure figcaption {
    background-color: var(--color-light);
    color: var(--color-black);
    padding-block: 0.5em;
    padding-inline: 1em;
}
.content figure:not(:last-child),
.mce-content-body figure:not(:last-child),
.wp-block-post-content figure:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.content .wp-caption-dd,
.content .wp-caption-text,
.mce-content-body .wp-caption-dd,
.mce-content-body .wp-caption-text,
.wp-block-post-content .wp-caption-dd,
.wp-block-post-content .wp-caption-text {
    text-align: center;
    margin-top: calc(var(--element-block-spacing) * -0.5);
}
.content .alignleft,
.content img.alignleft,
.mce-content-body .alignleft,
.mce-content-body img.alignleft,
.wp-block-post-content .alignleft,
.wp-block-post-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
}
.content .alignleft:after,
.content img.alignleft:after,
.mce-content-body .alignleft:after,
.mce-content-body img.alignleft:after,
.wp-block-post-content .alignleft:after,
.wp-block-post-content img.alignleft:after {
    content: "";
    display: table;
    clear: both;
}
.content .alignright,
.content img.alignright,
.mce-content-body .alignright,
.mce-content-body img.alignright,
.wp-block-post-content .alignright,
.wp-block-post-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
}
.content .aligncenter,
.content img.aligncenter,
.mce-content-body .aligncenter,
.mce-content-body img.aligncenter,
.wp-block-post-content .aligncenter,
.wp-block-post-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
}
.content object,
.content video,
.mce-content-body object,
.mce-content-body video,
.wp-block-post-content object,
.wp-block-post-content video {
    max-width: 100%;
    height: auto;
}
.content p:first-child > img,
.mce-content-body p:first-child > img,
.wp-block-post-content p:first-child > img {
    margin-top: 0;
}
.content .gallery,
.mce-content-body .gallery,
.wp-block-post-content .gallery {
    --columns: 2;
    display: grid;
    gap: var(--layout-grid-gap);
    grid-template-columns: repeat(var(--columns), 1fr);
}
.content .gallery .gallery-item,
.mce-content-body .gallery .gallery-item,
.wp-block-post-content .gallery .gallery-item {
    margin: 0 !important;
    width: unset;
    float: none;
    padding: 0;
}
.content .gallery .gallery-item img,
.mce-content-body .gallery .gallery-item img,
.wp-block-post-content .gallery .gallery-item img {
    width: 100%;
}
.content .gallery br,
.mce-content-body .gallery br,
.wp-block-post-content .gallery br {
    display: none;
}
.post-content > :not(:last-child) {
    margin-bottom: 20px;
}
.post-content [class*="wp-image-"],
.post-content [class^="wp-image-"] {
    max-width: 100%;
    height: auto;
    margin: 1.5em 0;
    border-radius: clamp(20px, 1.82vw, 35px);
}
.post-content .alignleft,
.post-content img.alignleft {
    margin-right: 2em;
    display: inline;
    float: left;
    max-width: 100%;
}
.post-content .alignleft:after,
.post-content img.alignleft:after {
    content: "";
    display: table;
    clear: both;
}
.post-content .alignright,
.post-content img.alignright {
    margin-left: 2em;
    display: inline;
    float: right;
    max-width: 100%;
}
.post-content .alignright:after,
.post-content img.alignright:after {
    content: "";
    display: table;
    clear: both;
}
.post-content .aligncenter,
.post-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
    max-width: 100%;
}
.post-content object,
.post-content video {
    max-width: 100%;
    height: auto;
}
@media (width > 820px) {
    .mce-content-body .gallery.gallery-columns-3,
    .post-content .gallery.gallery-columns-3,
    .wp-block-post-content .gallery.gallery-columns-3 {
        --columns: 3;
    }
    .mce-content-body .gallery.gallery-columns-4,
    .post-content .gallery.gallery-columns-4,
    .wp-block-post-content .gallery.gallery-columns-4 {
        --columns: 4;
    }
    .mce-content-body .alignleft,
    .mce-content-body .alignright,
    .mce-content-body img.alignleft,
    .mce-content-body img.alignright,
    .post-content .alignleft,
    .post-content .alignright,
    .post-content img.alignleft,
    .post-content img.alignright,
    .wp-block-post-content .alignleft,
    .wp-block-post-content .alignright,
    .wp-block-post-content img.alignleft,
    .wp-block-post-content img.alignright {
        max-width: 50%;
    }
}
@media (min-width: 1210px) {
    .content .alignleft,
    .content .alignright,
    .content img.alignleft,
    .content img.alignright {
        max-width: 50%;
    }
}
.accordion {
    --br: 0;
    --fs: clamp(18px, 1.04vw, 20px);
    --fs-content: 14px;
    --bg: transparent;
    --bg-content: transparent;
    --color: var(--color-primary);
    --color-icon: var(--color-accent);
    --color-content: var(--color);
    --pad-block: clamp(10px, 0.78vw, 15px);
    --pad-content-block: 0 clamp(10px, 0.78vw, 15px);
    --pad-content-inline: var(--accordion-summary-pad);
    --plus-size: 1.25em;
    --pad-inline: 0px;
    --plus-color: var(--color-accent);
    --plus-svg: var(--icon-plus);
    --border-color: var(--color);
    --summary-fw: var(--typography-weight-bd);
    -webkit-user-select: none;
    user-select: none;
    text-align: left !important;
    margin-bottom: 20px;
    border-radius: var(--br);
    overflow: clip;
}
.accordion details {
    font-size: var(--fs);
    border-bottom: solid 1px var(--border-color);
}
.accordion details summary {
    display: flex;
    flex-flow: row wrap;
    gap: 0.5em;
    align-items: center;
    cursor: pointer;
    background-color: var(--bg);
    color: var(--color);
    padding-block: var(--pad-block);
    padding-inline: var(--pad-inline);
    padding-right: calc(var(--pad-inline) + var(--plus-size)) !important;
    position: relative;
    font-weight: var(--summary-fw);
}
.accordion details summary:before {
    transform: translateY(-50%);
}
.accordion details summary:after,
.accordion details summary:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: var(--pad-inline);
    width: var(--plus-size);
    height: var(--plus-size);
    mask: var(--plus-svg);
    background-color: var(--plus-color);
}
.accordion details summary:after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.15s ease;
}
.accordion details summary .icon {
    color: var(--color-icon);
    font-size: 1.5em;
}
.accordion details summary .icon > * {
    fill: currentColor;
}
.accordion details > div {
    color: var(--color-content);
    font-size: var(--fs-content);
    padding-block: var(--pad-content-block);
    padding-inline: var(--pad-content-inline);
    background-color: var(--bg-content);
}
.accordion details > div .item {
    --icon-color: var(--color-icon);
    --icon-size: 1.5em;
}
.accordion details summary::-webkit-details-marker {
    display: none;
    content: "";
}
.accordion details summary::marker {
    display: none;
    content: "";
}
.accordion details[open] {
    --plus-svg: var(--icon-minus);
}
.accordion details[open] summary:after {
    transform: translateY(-50%) rotate(0);
}
.accordion.issues {
    --color: var(--color-white);
}
.accordion.issues summary {
    display: flex;
    gap: 10px;
}
.accordion.issues .indicator {
    --o1: 1;
    --o2: 0.3;
    display: flex;
    gap: 1.3em;
    color: var(--color-accent);
    margin-left: auto;
    margin-right: 1em;
    font-weight: var(--typography-weight-md);
}
.accordion.issues .indicator span {
    opacity: var(--o1);
}
.accordion.issues .indicator span:last-child {
    opacity: var(--o2);
}
.accordion.issues:has(details[open]) .content,
.accordion.issues:has(details[open]) summary .icon,
.accordion.issues:has(details[open]) summary .name-text {
    opacity: 0.5;
}
.accordion.issues:has(details[open]) details[open] .content {
    opacity: 1;
}
.accordion.issues:has(details[open]) details[open] .indicator {
    --o1: 0.3;
    --o2: 1;
}
.accordion.issues .name-text {
    display: flex;
    gap: 10px;
}
.issues-title {
    text-align: center;
    border-bottom: 2px solid var(--color-white);
    padding-bottom: 1em;
    color: var(--color-accent);
    margin-block: 1em 0;
}
.banner {
    --padding: clamp(20px, 1.67vw, 32px);
    --bg: var(--color-accent);
    --color: var(--color-primary);
    padding-block: var(--padding);
    padding-inline: calc(var(--padding) * 1.5);
    background: var(--bg);
    display: grid;
    gap: 20px;
    border-radius: 20px;
    margin-block: calc(var(--section-margin-block) * 0.5);
}
.banner,
.banner > * {
    color: var(--color);
    margin-bottom: 0;
}
.banner.is-white {
    --bg: var(--color-white);
    --color: var(--color-primary);
}
.icon-blocks,
.stat-blocks {
    --max-w: min(50vw, 275px);
    display: flex;
    gap: var(--layout-grid-gap);
    justify-content: space-around;
    align-items: flex-start;
    flex-flow: row wrap;
}
.icon-blocks > *,
.stat-blocks > * {
    max-width: var(--max-w);
}
.stat-blocks {
    --max-w: min(50vw, 365px);
    padding-top: 30px;
}
.stat-blocks .value {
    font-size: var(--typography-h1-size);
    font-weight: var(--typography-weight-bd);
    color: var(--color-accent);
    line-height: 1;
    font-style: italic;
}
.stat-blocks .value sup {
    vertical-align: super;
}
.block {
    --title-size: var(--typography-h5-size);
    --title-color: var(--color-primary);
    --subtitle-color: var(--color-accent);
    --desc-color: var(--color-black);
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;
}
.block img {
    margin-bottom: 12px;
}
.block .title {
    color: var(--title-color);
    font-size: var(--title-size);
    font-style: italic;
    line-height: 1.1;
}
.block .subtitle,
.block .title {
    font-weight: var(--typography-weight-bd);
}
.block .subtitle {
    color: var(--subtitle-color);
}
.block .subtitle ~ .desc {
    margin-top: 0;
}
.block .desc {
    margin-top: 0.5em;
    color: var(--desc-color);
    line-height: 1.2;
}
.section-color.bg-primary .block {
    --title-color: var(--color-white);
    --desc-color: var(--color-white);
}
.button {
    --fs: clamp(16px, 0.94vw, 18px);
    --button-border: none;
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-cyan-gradient-right);
    --button-line-height: 1.1;
    --pad-block: 1em;
    --pad-inline: 2em;
    --transition: all 250ms;
    --transition-limited: transform 250ms;
    -moz-appearance: none;
    -webkit-appearance: none;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    -webkit-user-select: none;
    user-select: none;
    display: inline-flex;
    align-items: center;
    border: 2px solid transparent;
    border-radius: var(--button-border-radius);
    padding-block: var(--pad-block);
    padding-inline: var(--pad-inline);
    z-index: 1;
    border: var(--button-border);
    font-size: var(--fs);
    font-weight: var(--typography-weight-sb);
}
.button * {
    border: var(--button-border);
}
.button > span {
    color: var(--button-color);
    transition: color 0.25s;
    display: flex;
    align-items: center;
}
.button > span:after {
    display: inline-block;
    content: "";
    mask: var(--icon-button-arrow);
    mask-repeat: no-repeat;
    background-color: var(--button-arrow-color);
    aspect-ratio: 26/16;
    height: 1em;
    margin-left: 0.5em;
    border: var(--button-border);
    transition: var(--transition-limited);
}
.button:after,
.button:before {
    position: absolute;
    content: "";
    z-index: -1;
    border: var(--button-border);
}
.button:before {
    inset: 0;
    background-color: var(--button-before-bg);
}
.button:after {
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin-left: auto;
    border-radius: var(--button-border-radius);
    background: var(--button-after-bg);
    transition: var(--transition);
}
.button:hover {
    color: var(--button-hover-color);
}
.button:focus-visible:not(:hover) {
    border-color: var(--button-focus-color);
}
.button.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}
.button.is-small {
    font-size: clamp(14px, 0.83vw, 16px);
}
.button[data-type="2"] {
    --button-before-bg: var(--color-light);
}
.button[data-type="3"] {
    --button-before-bg: hsl(from var(--color-black) h s l/0.5);
    --button-hover-color: var(--color-white);
}
.button[data-type="4"] {
    --button-color: var(--color-white);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-cyan);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-primary);
}
.button[data-type="5"] {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-lime-gradient-right);
}
.button[data-type="6"] {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-light);
    --button-after-bg: var(--color-white);
}
.button[data-type="7"] {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-white);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: hsl(from var(--color-black) h s l/0.5);
    --button-after-bg: var(--color-white);
}
.button.is-loading,
.button.is-submitting {
    opacity: 0.55;
    pointer-events: none;
}
.button.is-loading:after,
.button.is-submitting:after {
    width: auto;
    aspect-ratio: 1/1;
}
.button.is-loading > span:after,
.button.is-submitting > span:after {
    --icon-button-arrow: var(--icon-loading);
    aspect-ratio: 1/1;
    height: 1.5em;
    margin-left: calc(0.5em + var(--pad-inline) * 0.05);
    animation: loadingspin 1s linear infinite !important;
}
.button.is-membership-color {
    --button-after-bg: var(--color-lime-gradient-right);
}
button {
    cursor: pointer;
}
button.simple {
    color: var(--color-primary);
    padding: 0;
    border: none;
    background: none;
    outline: none;
}
button.simple:focus {
    outline: 2px solid var(--color-accent);
}
@media (pointer: fine), (pointer: none) {
    .button:hover:after {
        width: auto;
        aspect-ratio: 1/1;
    }
    .button:hover span {
        color: var(--button-hover-color);
    }
    .button:hover span:after {
        transform: translateX(calc(var(--pad-inline) * 0.55));
    }
}
.buttons-wrapper {
    margin-top: calc(var(--button-wrapper-gap) * 1.5);
    display: flex;
    flex-flow: row wrap;
    gap: var(--button-wrapper-gap);
}
.buttons-wrapper:not(.auto-width) > * {
    width: 100%;
}
.buttons-wrapper.align-center,
.buttons-wrapper.text-center {
    justify-content: space-around;
    width: 100%;
}
[role="button"] {
    cursor: pointer;
}
@keyframes loadingspin {
    0% {
        transform: translateX(calc(var(--pad-inline) * 0.5)) scale(1.5) rotate(0deg);
    }
    to {
        transform: translateX(calc(var(--pad-inline) * 0.5)) scale(1.5) rotate(1turn);
    }
}
@media (pointer: coarse) {
    .button {
        justify-content: center;
    }
    .button:hover {
        transform: scale(1.05);
    }
}
@media (min-width: 668px) {
    .buttons-wrapper:not(.has-fullwidth) > * {
        width: auto;
    }
}
.burger {
    position: relative;
    margin-top: 8px;
    margin-bottom: 8px;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    display: block;
}
.burger,
.burger:after,
.burger:before {
    display: block;
    width: 25px;
    height: 3px;
    background-color: var(--header-burger-color);
    transition-property: background-color, transform;
    transition-duration: 0.3s;
}
.burger:after,
.burger:before {
    position: absolute;
    content: "";
}
.burger:before {
    top: -8px;
}
.burger:after {
    top: 8px;
}
.card {
    --bg: var(--color-light);
    --img-ratio: 16/9;
    --br: clamp(20px, 1.82vw, 35px);
    --gap: clamp(16px, 1.35vw, 26px);
    --padding: clamp(20px, 1.82vw, 35px);
    --title-size: clamp(16px, 1.04vw, 20px);
    --title-color: var(--color-primary);
    --subtitle-size: var(--typography-paragraph-size);
    --subtitle-color: var(--color-primary);
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    border-radius: var(--br);
}
.card:not(.nobg) {
    background-color: var(--bg);
}
.card > picture {
    aspect-ratio: var(--img-ratio);
    width: 100%;
    overflow: hidden;
    border-radius: var(--br);
}
.card > picture:last-child {
    margin-top: auto;
}
.card > picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.card > :not(img, picture) {
    text-wrap: pretty;
}
.card > :not(img, picture):first-child {
    margin-top: var(--padding);
}
.card > :last-of-type:not(img, h2, h3, h4) {
    margin-bottom: var(--padding);
}
.card .button,
.card > a {
    align-self: start;
    justify-self: left;
}
.card-label {
    justify-self: start;
}
.card-title {
    font-size: var(--title-size);
    color: var(--title-color);
    font-weight: var(--typography-weight-sb);
    line-height: 1.2;
}
.card-subtitle {
    font-size: var(--subtitle-size);
    color: var(--subtitle-color);
    font-weight: var(--typography-weight-md);
}
.card-content {
    display: grid;
    gap: var(--gap);
    align-content: center;
    position: relative;
    flex-grow: 1;
}
.card-readmore {
    --button-arrow-color: var(--color-dark);
    --arrow-margin: 0.5em;
    position: absolute;
    bottom: var(--padding);
    left: var(--padding);
    display: flex;
    align-items: center;
    margin-left: 0.5em;
}
.card-readmore:after {
    position: absolute;
    top: calc(50% - 0.5em);
    left: 100%;
    display: block;
    content: "";
    mask: var(--icon-button-arrow);
    mask-repeat: no-repeat;
    background-color: var(--button-arrow-color);
    aspect-ratio: 26/16;
    height: 1em;
    margin-left: var(--arrow-margin);
    transition: margin-left 0.25s, background-color 0.25s;
}
.card-meta {
    color: var(--title-color);
    font-size: clamp(12px, 0.73vw, 14px);
}
.section-color.bg-light .card:not(.nobg) {
    --bg: var(--color-white);
}
.card-image {
    display: block;
    position: relative;
    aspect-ratio: 526/315;
}
.card-image .image {
    width: 100%;
    height: 100%;
    border-radius: var(--card-border-radius);
    overflow: hidden;
}
.card-image img {
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.card-image.has-icon {
    background-color: var(--color-primary);
}
.card-image.has-icon .card-icon {
    margin: 0;
    position: absolute;
    bottom: var(--card-padding);
    left: var(--card-padding);
    max-width: 20%;
}
.card-image figure img,
.card-image figure video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bg-white .card > :not(img, picture, .pill) {
    padding-inline: var(--padding);
}
@media (hover: hover) {
    a.card:hover .card-image img {
        transform: scale(1.1);
    }
    a.card:hover .card-image:after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        background-color: var(--color-white);
        opacity: 0.4;
    }
    a.card:hover .card-title {
        text-decoration: underline;
    }
    a.card:hover .card-more:before {
        transform: rotate(-180deg);
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.407 22.407'%3E%3Cg data-name='Group 62' fill='none' stroke='%23a7e83c' stroke-width='2'%3E%3Cpath data-name='Line 8' d='M11.203 0v22.407'/%3E%3Cpath data-name='Line 9' d='M22.407 11.204H0'/%3E%3C/g%3E%3C/svg%3E");
    }
    a.card:hover .card-meta.top,
    a.card:hover .card-more span {
        transform: translateY(0);
        opacity: 1;
    }
    a.card:hover .card-readmore {
        --button-arrow-color: var(--color-cyan);
        --arrow-margin: 1em;
        color: var(--color-white);
    }
    a.card:hover.wide {
        --bg: var(--color-primary);
        --title-color: var(--color-white);
    }
    a.card:hover.wide .pill.article-type {
        --pill-bgcolor: var(--color-white);
        --pill-color: var(--color-primary);
    }
}
section.comparison:not(:has(.comparison-brands)) .comparison-table-wrapper {
    margin-top: calc(var(--section-title-margin) * 2);
}
section.comparison hr {
    border-top: 2px solid var(--color-accent);
}
.comparison-brands {
    font-size: var(--comparison-fs, 1.2rem);
    margin-bottom: 1.667em;
    display: flex;
    flex-flow: column;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5em;
    font-weight: var(--typography-weight-bd);
}
.comparison-brands label {
    --radio-fs: var(--comparison-fs);
    margin-right: 0.5em;
}
.comparison-brands:has(:checked) label:not(:has(:checked)) {
    opacity: 0.37;
}
.comparison-table-wrapper {
    margin-inline: calc(var(--layout-padding-inline) * -0.6);
    overflow-x: auto;
    padding-inline: calc(var(--layout-padding-inline) * 0.6);
}
table.comparison-table {
    --fs: 1rem;
    --border-clr: var(--color-accent);
    font-size: var(--fs);
}
table.comparison-table tr:nth-child(odd) td {
    background-color: hsl(from var(--color-black) h s l/.2);
}
table.comparison-table tr.pricing-row {
    line-height: 1;
}
table.comparison-table tr.pricing-row td {
    vertical-align: bottom;
}
table.comparison-table tr.pricing-row td.feature-title {
    font-size: 1.65em;
}
table.comparison-table tr.pricing-row td:not(.feature-title) {
    font-size: 2.7em;
    font-weight: var(--typography-weight-eb);
}
table.comparison-table thead th,
table.comparison-table tr.summary-row td {
    font-weight: var(--typography-weight-bd);
}
table.comparison-table thead th {
    border-bottom: 3px solid var(--border-clr);
    padding: unset;
    background-color: transparent;
    vertical-align: bottom;
}
table.comparison-table thead th:not(:has(.brand-title)) {
    padding: var(--fs);
}
table.comparison-table td {
    border-bottom: 1px solid var(--border-clr);
    vertical-align: middle;
    padding: var(--fs);
    width: 36%;
    min-width: 300px;
    font-weight: var(--typography-weight-md);
    line-height: 1.2;
}
table.comparison-table td.feature-title {
    width: 28%;
    font-size: 1.1em;
    font-weight: var(--typography-weight-bd);
}
table.comparison-table td:not(.feature-cell) {
    padding-inline: calc(var(--fs) * 1.75);
}
table.comparison-table td:not(:last-child) {
    border-right: 3px solid var(--border-clr);
}
table.comparison-table .icon {
    font-size: 2.2em;
}
table.comparison-table .brand-title {
    font-size: 1.5em;
    border-top-left-radius: var(--fs);
    border-top-right-radius: var(--fs);
    padding-inline: calc(var(--fs) * 1.5);
    padding-block-start: 1.5em;
    padding-block-end: var(--fs);
}
table.comparison-table .brand-title.brand--aquasonic {
    background-color: var(--color-accent);
    color: var(--color-primary);
    line-height: 1;
}
table.comparison-table .changes {
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
table.comparison-table.changing .changes {
    opacity: 0;
    transform: translateX(10%);
}
.feature-value {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1em;
}
@media (min-width: 821px) {
    .comparison-brands {
        flex-flow: row wrap;
        align-items: center;
    }
}
@media (min-width: 1210px) {
    table.comparison-table {
        --fs: 18px;
    }
    .comparison-brands {
        --comparison-fs: 21px;
    }
}
@media (min-width: 1701px) {
    table.comparison-table {
        --fs: 20px;
    }
    .comparison-brands {
        --comparison-fs: 24px;
    }
}
.cursor {
    display: none;
}
@media (pointer: fine), (pointer: none) {
    .cursor {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 50px;
        height: 50px;
        border-radius: 100%;
        backface-visibility: hidden;
        z-index: 100000;
        pointer-events: none;
        background-color: hsl(from var(--color-cyan) h s l/.25);
    }
}
.block:not(:last-child) {
    margin-bottom: var(--element-block-spacing);
}
.box,
.box-header {
    padding: var(--element-box-padding);
}
.box-header {
    background-color: var(--color-primary);
    color: var(--color-white);
    margin: calc(var(--element-box-padding) * -1);
    margin-bottom: var(--element-box-padding);
}
.faq-categories-wrapper .card {
    --bg: var(--color-primary);
    --title-color: var(--color-cyan);
    --title-size: var(--typography-h5-size);
    --subtitle-color: var(--color-white);
    --gap: 10px;
    --padding: clamp(30px, 2.34vw, 45px);
}
.faq-categories-wrapper .card:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--bg);
    transition: transform 0.5s ease;
    border-radius: var(--br);
}
.faq-categories-wrapper .card:hover {
    --title-color: var(--color-white);
    --subtitle-color: var(--color-accent);
}
.faq-categories-wrapper .card:hover:before {
    transform: scale(1.05);
}
.faq-categories-wrapper .card:hover .button:after {
    width: auto;
    aspect-ratio: 1/1;
}
.faq-categories-wrapper .card:hover .button span:after {
    transform: translateX(calc(var(--pad-inline) * 0.55));
}
.faq-categories-wrapper .card-content {
    flex-grow: 1;
    margin-top: calc(var(--padding) * 2.25);
    align-content: flex-end;
}
.faq-categories-wrapper .card-title {
    text-decoration: none !important;
}
.faq-categories-wrapper .pill {
    position: absolute;
    top: 0;
    left: var(--padding);
    width: auto !important;
    min-width: 0;
    --pill-bgcolor: var(--color-cyan);
    --pill-color: var(--color-primary);
}
.faqs-list-wrapper .accordion {
    --br: clamp(10px, 1.04vw, 20px);
    --border-color: transparent;
    --fs: var(--typography-h6-size);
    --fs-content: var(--typography-paragraph-size);
    --bg: var(--color-light);
    --bg-content: var(--color-light);
    --pad-block: clamp(16px, 1.56vw, 30px);
    --pad-inline: var(--pad-block);
    --pad-content-inline: var(--pad-block);
    --pad-content-block: var(--pad-block);
    --plus-svg: var(--icon-plus-circle);
    --plus-size: 2em;
    --plus-color: var(--color-accent);
    --summary-fw: var(--typography-weight-md);
}
.faqs-list-wrapper .accordion details[open] {
    --plus-svg: var(--icon-minus-circle);
}
.faqs-list-wrapper .accordion-content {
    margin-top: 4px;
}
.section-color.bg-light .faqs-list-wrapper .accordion,
.section-color.bg-primary .faqs-list-wrapper .accordion {
    --bg: var(--color-white);
    --bg-content: var(--color-white);
}
.section-color.bg-light .faqs-list-wrapper .button,
.section-color.bg-primary .faqs-list-wrapper .button {
    --button-before-bg: var(--color-light);
}
.flex-grid,
.is-flex {
    display: flex !important;
}
.flex-grid {
    flex-flow: row wrap;
}
.flex-grid.margin-x {
    margin-left: calc(var(--layout-grid-gap) * -1);
    width: calc(100% + var(--layout-grid-gap));
}
.flex-grid.margin-x > * {
    padding-left: var(--layout-grid-gap);
}
.flex-grid.gap {
    display: inline-flex !important;
    flex-wrap: wrap;
    gap: var(--layout-grid-gap);
}
.cell {
    flex: 1 1 100%;
    min-height: 0;
    min-width: 0;
}
.xs-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
}
.xs-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}
.xs-3 {
    flex: 0 0 25%;
    max-width: 25%;
}
.xs-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}
.xs-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
}
.xs-6 {
    flex: 0 0 50%;
    max-width: 50%;
}
.xs-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
}
.xs-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
}
.xs-9 {
    flex: 0 0 75%;
    max-width: 75%;
}
.xs-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
}
.xs-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
}
.xs-12 {
    flex: 0 0 100%;
    max-width: 100%;
}
.shrink,
.xs-shrink {
    flex: 0 0 auto;
    width: auto;
}
.auto,
.xs-auto {
    flex: 1 1 0;
    width: auto;
}
@media (min-width: 668px) {
    .sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }
    .sm-order-1 {
        order: 1;
    }
    .sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }
    .sm-order-2 {
        order: 2;
    }
    .sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .sm-order-3 {
        order: 3;
    }
    .sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }
    .sm-order-4 {
        order: 4;
    }
    .sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }
    .sm-order-5 {
        order: 5;
    }
    .sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .sm-order-6 {
        order: 6;
    }
    .sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }
    .sm-order-7 {
        order: 7;
    }
    .sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }
    .sm-order-8 {
        order: 8;
    }
    .sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .sm-order-9 {
        order: 9;
    }
    .sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }
    .sm-order-10 {
        order: 10;
    }
    .sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }
    .sm-order-11 {
        order: 11;
    }
    .sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .sm-order-12 {
        order: 12;
    }
    .sm-shrink {
        flex: 0 0 auto;
        width: auto;
    }
    .sm-auto {
        flex: 1 1 0;
        width: auto;
        max-width: unset;
    }
}
@media (min-width: 821px) {
    .md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }
    .md-order-1 {
        order: 1;
    }
    .md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }
    .md-order-2 {
        order: 2;
    }
    .md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .md-order-3 {
        order: 3;
    }
    .md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }
    .md-order-4 {
        order: 4;
    }
    .md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }
    .md-order-5 {
        order: 5;
    }
    .md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .md-order-6 {
        order: 6;
    }
    .md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }
    .md-order-7 {
        order: 7;
    }
    .md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }
    .md-order-8 {
        order: 8;
    }
    .md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .md-order-9 {
        order: 9;
    }
    .md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }
    .md-order-10 {
        order: 10;
    }
    .md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }
    .md-order-11 {
        order: 11;
    }
    .md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .md-order-12 {
        order: 12;
    }
    .md-shrink {
        flex: 0 0 auto;
        width: auto;
    }
    .md-auto {
        flex: 1 1 0;
        width: auto;
        max-width: unset;
    }
}
@media (min-width: 1210px) {
    .lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }
    .lg-order-1 {
        order: 1;
    }
    .lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }
    .lg-order-2 {
        order: 2;
    }
    .lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .lg-order-3 {
        order: 3;
    }
    .lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }
    .lg-order-4 {
        order: 4;
    }
    .lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }
    .lg-order-5 {
        order: 5;
    }
    .lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .lg-order-6 {
        order: 6;
    }
    .lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }
    .lg-order-7 {
        order: 7;
    }
    .lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }
    .lg-order-8 {
        order: 8;
    }
    .lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .lg-order-9 {
        order: 9;
    }
    .lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }
    .lg-order-10 {
        order: 10;
    }
    .lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }
    .lg-order-11 {
        order: 11;
    }
    .lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .lg-order-12 {
        order: 12;
    }
    .lg-shrink {
        flex: 0 0 auto;
        width: auto;
    }
    .lg-auto {
        flex: 1 1 0;
        width: auto;
        max-width: unset;
    }
}
@media (min-width: 1701px) {
    .xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }
    .xl-order-1 {
        order: 1;
    }
    .xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }
    .xl-order-2 {
        order: 2;
    }
    .xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .xl-order-3 {
        order: 3;
    }
    .xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }
    .xl-order-4 {
        order: 4;
    }
    .xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }
    .xl-order-5 {
        order: 5;
    }
    .xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .xl-order-6 {
        order: 6;
    }
    .xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }
    .xl-order-7 {
        order: 7;
    }
    .xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }
    .xl-order-8 {
        order: 8;
    }
    .xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .xl-order-9 {
        order: 9;
    }
    .xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }
    .xl-order-10 {
        order: 10;
    }
    .xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }
    .xl-order-11 {
        order: 11;
    }
    .xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .xl-order-12 {
        order: 12;
    }
    .xl-shrink {
        flex: 0 0 auto;
        width: auto;
    }
    .xl-auto {
        flex: 1 1 0;
        width: auto;
        max-width: unset;
    }
}
.has-fullwidth {
    display: flex;
    flex-direction: column;
}
.align-bottom {
    align-items: flex-end;
}
.align-top {
    align-items: flex-start;
}
.align-middle {
    align-items: center;
}
.align-center {
    justify-content: center;
}
.align-left {
    justify-content: flex-start;
}
.align-right {
    justify-content: flex-end;
}
.align-self-bottom {
    align-self: flex-end;
}
.align-self-middle {
    align-self: center;
}
.push {
    margin-left: auto;
}
#footer {
    --background-color: var(--color-white);
    --border-radius: calc(var(--layout-border-radius) / 2);
    --logo-color: var(--color-primary);
    --header-v-padding: clamp(16px, 1.56vw, 30px);
    --header-h-padding: 30px;
    color: var(--color-primary);
    position: relative;
}
#footer:before {
    position: absolute;
    content: "";
    top: 0;
    height: var(--layout-border-radius);
    width: 100%;
    background-color: var(--section-prev-bg);
    z-index: -1;
}
#footer .inner {
    background-color: var(--background-color);
    border-top-left-radius: var(--layout-border-radius);
    border-top-right-radius: var(--layout-border-radius);
    border-radius: var(--layout-border-radius) var(--layout-border-radius) 0 0;
    overflow: clip;
    padding-block: calc(var(--section-margin-block) * 0.5) calc(var(--section-margin-block) * 0.3);
}
#footer .flow {
    --layout-flow-gap: clamp(20px, 2.08vw, 40px);
}
#footer .footer-logo {
    width: 158px;
}
#footer .footer-logo svg {
    display: block;
}
#footer .footer-log path,
#footer .footer-logo rect {
    fill: var(--logo-color);
}
#footer .hashtag {
    font-size: var(--typography-h3-size);
}
#footer-menus .cell:not(:first-child) {
    padding-left: clamp(20px, 5.2vw, 100px);
}
.footer-menu-wrapper .menu-title {
    font-weight: var(--typography-weight-sb);
    font-size: clamp(16px, 1.04vw, 20px);
}
.footer-menu-wrapper ul {
    margin: 1.1em 0 0;
    font-weight: var(--typography-weight-md);
    font-size: clamp(14px, 0.83vw, 16px);
}
.footer-menu-wrapper ul .navbar-item:not(:last-child) {
    margin-bottom: 0.85em;
}
.footer-menu-wrapper ul .navbar-item.is-current a:not(.button) {
    color: var(--color-primary);
}
.footer-menu-wrapper ul .navbar-item a:not(.button) {
    color: var(--color-primary-50);
    padding: 0;
}
.footer-menu-wrapper ul .navbar-item a:not(.button):hover {
    text-decoration: underline;
}
#footer-lower {
    --color: var(--color-primary-50);
    --fs: 12px;
    margin-top: var(--layout-flow-gap);
    font-size: var(--fs);
    color: var(--color);
}
#footer-lower .navbar-item {
    --navbar-link-color: var(--color);
}
#footer-lower .navbar-item a:hover {
    text-decoration: underline;
}
.copyright {
    margin-right: 0.5em;
}
.credits {
    display: inline-block;
    margin-top: 0.5em;
    color: var(--color);
}
.credits:hover {
    text-decoration: underline;
}
@media screen and (max-width: 820px) {
    #footer-upper {
        justify-item: center;
        text-align: center;
    }
    #footer-upper .footer-logo {
        margin-inline: auto;
    }
    #footer-upper .social {
        justify-content: center;
    }
    #footer-upper .button {
        display: flex;
    }
    #footer-lower {
        text-align: center;
    }
    #footer-lower .menu {
        justify-content: center;
    }
}
.response-error,
.response-success {
    display: none;
}
.response-error > *,
.response-success > * {
    margin-top: calc(var(--layout-spacing) * 0.5);
}
.response-error.is-active,
.response-success.is-active {
    display: block !important;
}
label {
    display: block;
    margin: 0;
    font-size: 12px;
    font-weight: var(--typography-body-weight);
    line-height: 1.8;
    color: var(--typography-body-color);
}
label .label-text {
    display: inline-block;
    transform-origin: left top;
    transition-duration: 0.25s;
}
label:not(:has(:focus-within)):not(:has(.not-empty)) .label-text {
    transform: scale(1.5) translateY(50%);
}
.textarea,
[type="color"],
[type="date"],
[type="datetime-local"],
[type="datetime"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 var(--form-spacing);
    font-size: 1rem;
    padding-block: var(--form-input-padding-b, 1rem);
    padding-inline: var(--form-input-padding-i, 1rem);
    border: none;
    border-bottom: 1px solid var(--border-color);
    border-radius: var(--form-input-radius, 0);
    background-color: var(--form-bg);
    font-family: inherit;
    font-weight: var(--typography-body-weight);
    line-height: 1.2;
    color: var(--form-color);
    appearance: none;
    accent-color: var(--color-accent);
}
.textarea:focus,
[type="color"]:focus,
[type="date"]:focus,
[type="datetime-local"]:focus,
[type="datetime"]:focus,
[type="email"]:focus,
[type="month"]:focus,
[type="number"]:focus,
[type="password"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="text"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="week"]:focus,
select:focus,
textarea:focus {
    outline: none;
}
.textarea[disabled],
.textarea[readonly],
[type="color"][disabled],
[type="color"][readonly],
[type="date"][disabled],
[type="date"][readonly],
[type="datetime-local"][disabled],
[type="datetime-local"][readonly],
[type="datetime"][disabled],
[type="datetime"][readonly],
[type="email"][disabled],
[type="email"][readonly],
[type="month"][disabled],
[type="month"][readonly],
[type="number"][disabled],
[type="number"][readonly],
[type="password"][disabled],
[type="password"][readonly],
[type="search"][disabled],
[type="search"][readonly],
[type="tel"][disabled],
[type="tel"][readonly],
[type="text"][disabled],
[type="text"][readonly],
[type="time"][disabled],
[type="time"][readonly],
[type="url"][disabled],
[type="url"][readonly],
[type="week"][disabled],
[type="week"][readonly],
select[disabled],
select[readonly],
textarea[disabled],
textarea[readonly] {
    opacity: 0.75;
    background-color: var(--form-disabled-bg-color);
    cursor: not-allowed;
}
.textarea.nmb ~ .form-error,
.textarea.nmb ~ .input-desc,
[type="color"].nmb ~ .form-error,
[type="color"].nmb ~ .input-desc,
[type="date"].nmb ~ .form-error,
[type="date"].nmb ~ .input-desc,
[type="datetime-local"].nmb ~ .form-error,
[type="datetime-local"].nmb ~ .input-desc,
[type="datetime"].nmb ~ .form-error,
[type="datetime"].nmb ~ .input-desc,
[type="email"].nmb ~ .form-error,
[type="email"].nmb ~ .input-desc,
[type="month"].nmb ~ .form-error,
[type="month"].nmb ~ .input-desc,
[type="number"].nmb ~ .form-error,
[type="number"].nmb ~ .input-desc,
[type="password"].nmb ~ .form-error,
[type="password"].nmb ~ .input-desc,
[type="search"].nmb ~ .form-error,
[type="search"].nmb ~ .input-desc,
[type="tel"].nmb ~ .form-error,
[type="tel"].nmb ~ .input-desc,
[type="text"].nmb ~ .form-error,
[type="text"].nmb ~ .input-desc,
[type="time"].nmb ~ .form-error,
[type="time"].nmb ~ .input-desc,
[type="url"].nmb ~ .form-error,
[type="url"].nmb ~ .input-desc,
[type="week"].nmb ~ .form-error,
[type="week"].nmb ~ .input-desc,
select.nmb ~ .form-error,
select.nmb ~ .input-desc,
textarea.nmb ~ .form-error,
textarea.nmb ~ .input-desc {
    margin-top: 4px;
}
select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8.8' viewBox='0 0 16 8.8'%3E%3Cpath d='M16 1.112L14.875 0 7.989 6.609l-.734-.7L1.137.038l-1.142 1.1 7.99 7.669z'/%3E%3C/svg%3E");
    background-origin: content-box;
    background-position: right -1.875em center;
    background-repeat: no-repeat;
    background-size: 16px 9px;
    padding-right: 2.8125em;
}
textarea {
    min-height: 100px;
    field-sizing: content;
}
.textarea + textarea.auto-resize {
    display: none;
}
.field-wrapper:has(input[required]:not([type="checkbox"]):not([type="radio"])) .input-wrapper,
.field-wrapper:has(select[required]) .input-wrapper,
.field-wrapper:has(textarea[required]) .input-wrapper {
    position: relative;
}
.field-wrapper:has(input[required]:not([type="checkbox"]):not([type="radio"])) .input-wrapper:after,
.field-wrapper:has(select[required]) .input-wrapper:after,
.field-wrapper:has(textarea[required]) .input-wrapper:after {
    --fs: 1.68em;
    position: absolute;
    right: 0;
    top: calc(50% - var(--fs) / 2);
    content: "*";
    display: block;
    margin-left: 0;
    font-size: var(--fs);
    color: var(--color-accent);
    height: var(--fs);
    width: var(--fs);
    text-align: right;
}
.optin-wrapper .switch-wrapper {
    --fs: 16px;
    --label-color: var(--section-body-color);
}
[type="text"].search-input {
    border: none;
    border-radius: 34px;
    padding: 1em 3em 1em 2em;
    margin-bottom: 0;
}
[type="checkbox"] {
    --size: 20px;
    --form-checkbox-bgc: var(--color-light);
    --form-checkbox-bc: transparent;
    border: 2px solid var(--border-color);
    border-radius: 50%;
    background: var(--form-checkbox-bgc);
    color: var(--color-dark);
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    margin: -0.25rem 0.25rem 0 0;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    height: var(--size);
    width: var(--size);
    min-width: var(--size);
    -webkit-appearance: none;
    transition: border-color 0.05s ease-in-out;
}
[type="checkbox"][disabled] {
    opacity: 0.5;
}
[type="checkbox"]:checked {
    background-color: var(--color-accent);
    border-width: 4px;
}
[type="checkbox"] + label {
    display: inline-block;
    margin-left: 0.3em;
}
[type="checkbox"] + label + .form-error {
    margin-top: 1rem;
}
label:has([type="checkbox"]:not(.switch)) {
    font-size: 14px;
}
.bg-light [type="checkbox"] {
    --form-checkbox-bgc: var(--color-white);
    --form-checkbox-bc: var(--color-secondary);
}
.button.form-button,
button.form-button {
    font-size: clamp(16px, 1.04vw, 20px);
    padding-block: var(--form-input-padding-b, 1rem);
    padding-inline: var(--form-input-padding-i, 1rem);
}
.button.form-button span,
button.form-button span {
    line-height: 1;
}
.button.form-button span[class^="icon-"],
.button.form-button svg,
button.form-button span[class^="icon-"],
button.form-button svg {
    height: 1em;
    width: 1em;
}
.form-error {
    display: none;
    margin-top: calc(var(--form-spacing) * -0.5 + 4px);
    color: var(--color-error);
    font-size: 0.875rem;
    line-height: 1.2;
}
[aria-invalid="true"] {
    --border-color: var(--color-error) !important;
}
.field-wrapper.is-invalid .form-error {
    display: block;
    margin-bottom: calc(var(--form-spacing) * 0.5);
}
.field-wrapper.is-invalid .input-desc {
    margin-bottom: 4px;
}
.forgot-password-toggle {
    cursor: pointer;
}
.forgot-password-toggle:hover {
    opacity: 0.8;
}
.input-desc {
    display: block;
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--color-dark);
    margin-top: calc(var(--form-spacing) * -0.5 + 4px);
    margin-bottom: calc(var(--form-spacing) * 0.5);
}
.input-desc a:not(.button) {
    color: var(--color-accent);
}
.input-desc + .form-error {
    margin-top: 0;
}
.form-spacing {
    margin-bottom: var(--form-spacing);
}
.search-wrapper {
    --search-fs: 16px;
    position: relative;
    font-size: var(--search-fs);
}
.search-wrapper .icon {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
    height: 1.25em;
}
.search-wrapper input {
    font-size: inherit;
    z-index: 1;
}
.reset-button,
.reset-filter {
    display: inline-flex;
    align-items: center;
    min-width: fit-content;
    color: var(--color-dark);
}
.reset-button .icon,
.reset-filter .icon {
    font-size: 2em;
    margin-right: 0.25em;
    fill: var(--color-accent);
}
.form-styles {
    --border-color: var(--color-black);
}
.form-styles a:focus-visible {
    outline: var(--color-accent) 2px solid;
}
.form-styles.rounded {
    --form-font-size: clamp(16px, 0.94vw, 18px);
    --form-input-radius: 34px;
    --form-bg: var(--color-primary);
    --form-color: var(--color-white);
    --form-input-padding-b: 1.2em;
    --form-input-padding-i: 1.5em;
    --border-color: transparent;
}
.form-styles.rounded select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9.778' viewBox='0 0 16 9.778'%3E%3Cpath data-name='Down Arrow' d='M8 6.222L14.222 0 16 1.778l-8 8-8-8L1.778 0z' fill='%23baff29'/%3E%3C/svg%3E");
}
.form-styles.rounded.is-light {
    --form-bg: var(--color-light-alt);
    --form-color: var(--color-black);
}
.form-styles.rounded.is-light select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9.778' viewBox='0 0 16 9.778'%3E%3Cpath data-name='Down Arrow' d='M8 6.222L14.222 0 16 1.778l-8 8-8-8L1.778 0z'/%3E%3C/svg%3E");
}
.form-title-elements {
    --mt: 16px;
    margin-bottom: var(--mt);
}
.form-title-elements > :not(:first-child) {
    margin-top: calc(var(--mt) * 0.5);
}
.form-title {
    --size: var(--typography-h5-size);
    --color: var(--color-primary);
    --icon-color: var(--color-cyan);
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: var(--size);
    font-weight: var(--typography-weight-bd);
    color: var(--color);
    line-height: 1.2;
}
.form-title .icon {
    fill: var(--icon-color);
    font-size: 1.2em;
}
.form-subtitle {
    --size: clamp(12px, 0.83vw, 16px);
    --color: var(--color-black);
    font-weight: var(--typography-weight-md);
    font-size: var(--size);
    color: var(--color);
}
.form-subtitle.large {
    --size: clamp(16px, 1.25vw, 24px);
}
.switch-wrapper {
    --fs: 12px;
    --label-color: var(--color-primary-50);
    --label-checked-color: var(--color-primary);
    --size: 26px;
    --bg: var(--color-white);
    --thumb: var(--color-primary);
    --border-size: 4px;
    --border-color: var(--color-primary);
    --gutter: 4px;
    --bg-on: var(--color-primary);
    --thumb-on: var(--color-white);
}
.switch-wrapper label {
    display: flex;
    flex-flow: row wrap;
    gap: 10px;
    align-items: center;
    cursor: pointer;
    font-size: var(--fs);
    color: var(--label-color);
    font-weight: var(--typography-weight-md);
}
.switch-wrapper label:has(:checked) {
    color: var(--label-checked-color);
}
input.switch {
    border: 0;
    clip: rect(0 0 0 0);
    height: auto;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}
input.switch + span {
    cursor: pointer;
    text-indent: -9999px;
    border: var(--border-size) solid var(--border-color);
    width: calc(2 * var(--gutter) + 1.5 * var(--size));
    height: var(--size);
    background: var(--bg);
    display: block;
    border-radius: 100px;
    position: relative;
}
input.switch + span:before {
    content: "";
    position: absolute;
    inset-block: var(--gutter);
    inset-inline-start: var(--gutter);
    width: calc(var(--size) - 2 * var(--gutter) - 2 * var(--border-size));
    height: calc(var(--size) - 2 * var(--gutter) - 2 * var(--border-size));
    background: var(--thumb);
    border-radius: 50%;
}
input.switch:checked + span {
    background: var(--bg-on);
}
input.switch:checked + span:before {
    background: var(--thumb-on);
    left: calc(100% - var(--gutter));
    transform: translateX(-100%);
}
.mini-search {
    --b-size: clamp(42px, 4.38vw, 84px);
    --bg: transparent;
    --width: 0;
    --padding: calc(var(--b-size) * 0.214);
    display: grid;
    grid-template-areas: "stack";
    place-items: center right;
    padding: var(--padding);
    background: var(--bg);
    transition: background 0.25s ease-in-out, width 0.25s ease-in-out, padding 0.25s ease-in-out;
    margin-right: auto;
    border-radius: calc(var(--b-size) * 1.2);
    width: var(--width);
    padding-left: 0;
}
.mini-search input {
    width: 100%;
    transition: max-width 0.25s ease-in-out;
    border: none;
    background: transparent;
    color: var(--color-primary);
    padding: 0.5em;
    transition: background 0.25s ease-in-out;
    font-size: clamp(16px, 1.46vw, 28px);
}
.mini-search input:focus {
    background: var(--color-light);
}
.mini-search > * {
    grid-area: stack;
}
.mini-search.is-active {
    --bg: var(--color-light);
    --width: min(90%, 800px);
    padding-left: calc(var(--padding) * 1.5);
}
.mini-search.is-active:has(input:invalid) svg:first-child {
    display: none;
}
.mini-search.is-active:has(input:invalid) svg:nth-child(2) {
    display: block;
}
.mini-search-button {
    font-size: var(--b-size);
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background: var(--color-accent);
    display: grid;
    grid-template-areas: "stack";
    place-items: center;
    border: none;
}
.mini-search-button > * {
    grid-area: stack;
}
.mini-search-button svg {
    width: 0.43em;
    fill: var(--color-primary);
}
.mini-search-button svg:nth-child(2) {
    width: 0.3em;
    display: none;
}
[type="radio"].styled {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
label:has([type="radio"].styled) {
    --surface: transparent;
    display: flex;
    gap: 10px;
    font-size: var(--radio-fs, 1rem);
    align-items: center;
    position: relative;
    cursor: pointer;
}
label:has([type="radio"].styled):before {
    position: relative;
    display: block;
    width: 1.4em;
    height: 1.4em;
    padding: 0.2em;
    content: "";
    border-radius: 50%;
    background: var(--surface) content-box;
    border: 0.125em solid var(--color-accent);
}
label:has([type="radio"].styled):has(input:checked) {
    --surface: var(--color-white);
}
.grid {
    display: grid;
    gap: var(--layout-grid-gap);
}
.grid.big-column-gap {
    column-gap: calc(var(--layout-grid-gap) * 2);
}
.grid:not([class*=" grid-col-"]) {
    grid-template-columns: repeat(12, 1fr);
}
.grid:not([class*=" grid-col-"]) > * {
    grid-column: auto/span 12;
}
.grid.grid-col-2 {
    grid-template-columns: 1fr 1fr;
}
.grid.grid-col-3 {
    grid-template-columns: 1fr 1fr 1fr;
}
.grid .col-xs-1 {
    grid-column: auto/span 1;
}
.grid .col-xs-2 {
    grid-column: auto/span 2;
}
.grid .col-xs-3 {
    grid-column: auto/span 3;
}
.grid .col-xs-4 {
    grid-column: auto/span 4;
}
.grid .col-xs-5 {
    grid-column: auto/span 5;
}
.grid .col-xs-6 {
    grid-column: auto/span 6;
}
.grid .col-xs-7 {
    grid-column: auto/span 7;
}
.grid .col-xs-8 {
    grid-column: auto/span 8;
}
.grid .col-xs-9 {
    grid-column: auto/span 9;
}
.grid .col-xs-10 {
    grid-column: auto/span 10;
}
.grid .col-xs-11 {
    grid-column: auto/span 11;
}
.grid .col-xs-12 {
    grid-column: auto/span 12;
}
@media (min-width: 668px) {
    .grid .col-sm-1 {
        grid-column: auto/span 1;
    }
    .grid .col-sm-2 {
        grid-column: auto/span 2;
    }
    .grid .col-sm-3 {
        grid-column: auto/span 3;
    }
    .grid .col-sm-4 {
        grid-column: auto/span 4;
    }
    .grid .col-sm-5 {
        grid-column: auto/span 5;
    }
    .grid .col-sm-6 {
        grid-column: auto/span 6;
    }
    .grid .col-sm-7 {
        grid-column: auto/span 7;
    }
    .grid .col-sm-8 {
        grid-column: auto/span 8;
    }
    .grid .col-sm-9 {
        grid-column: auto/span 9;
    }
    .grid .col-sm-10 {
        grid-column: auto/span 10;
    }
    .grid .col-sm-11 {
        grid-column: auto/span 11;
    }
    .grid .col-sm-12 {
        grid-column: auto/span 12;
    }
}
@media (min-width: 821px) {
    .grid .col-md-1 {
        grid-column: auto/span 1;
    }
    .grid .col-md-2 {
        grid-column: auto/span 2;
    }
    .grid .col-md-3 {
        grid-column: auto/span 3;
    }
    .grid .col-md-4 {
        grid-column: auto/span 4;
    }
    .grid .col-md-5 {
        grid-column: auto/span 5;
    }
    .grid .col-md-6 {
        grid-column: auto/span 6;
    }
    .grid .col-md-7 {
        grid-column: auto/span 7;
    }
    .grid .col-md-8 {
        grid-column: auto/span 8;
    }
    .grid .col-md-9 {
        grid-column: auto/span 9;
    }
    .grid .col-md-10 {
        grid-column: auto/span 10;
    }
    .grid .col-md-11 {
        grid-column: auto/span 11;
    }
    .grid .col-md-12 {
        grid-column: auto/span 12;
    }
}
@media (min-width: 1210px) {
    .grid .col-lg-1 {
        grid-column: auto/span 1;
    }
    .grid .col-lg-2 {
        grid-column: auto/span 2;
    }
    .grid .col-lg-3 {
        grid-column: auto/span 3;
    }
    .grid .col-lg-4 {
        grid-column: auto/span 4;
    }
    .grid .col-lg-5 {
        grid-column: auto/span 5;
    }
    .grid .col-lg-6 {
        grid-column: auto/span 6;
    }
    .grid .col-lg-7 {
        grid-column: auto/span 7;
    }
    .grid .col-lg-8 {
        grid-column: auto/span 8;
    }
    .grid .col-lg-9 {
        grid-column: auto/span 9;
    }
    .grid .col-lg-10 {
        grid-column: auto/span 10;
    }
    .grid .col-lg-11 {
        grid-column: auto/span 11;
    }
    .grid .col-lg-12 {
        grid-column: auto/span 12;
    }
    .grid.big-column-gap {
        column-gap: calc(var(--layout-grid-gap) * 3);
    }
}
@media (min-width: 1701px) {
    .grid .col-xl-1 {
        grid-column: auto/span 1;
    }
    .grid .col-xl-2 {
        grid-column: auto/span 2;
    }
    .grid .col-xl-3 {
        grid-column: auto/span 3;
    }
    .grid .col-xl-4 {
        grid-column: auto/span 4;
    }
    .grid .col-xl-5 {
        grid-column: auto/span 5;
    }
    .grid .col-xl-6 {
        grid-column: auto/span 6;
    }
    .grid .col-xl-7 {
        grid-column: auto/span 7;
    }
    .grid .col-xl-8 {
        grid-column: auto/span 8;
    }
    .grid .col-xl-9 {
        grid-column: auto/span 9;
    }
    .grid .col-xl-10 {
        grid-column: auto/span 10;
    }
    .grid .col-xl-11 {
        grid-column: auto/span 11;
    }
    .grid .col-xl-12 {
        grid-column: auto/span 12;
    }
}
.grid .xs-start-1 {
    grid-column-start: 1;
}
.grid .xs-start-2 {
    grid-column-start: 2;
}
.grid .xs-start-3 {
    grid-column-start: 3;
}
.grid .xs-start-4 {
    grid-column-start: 4;
}
.grid .xs-start-5 {
    grid-column-start: 5;
}
.grid .xs-start-6 {
    grid-column-start: 6;
}
.grid .xs-start-7 {
    grid-column-start: 7;
}
.grid .xs-start-8 {
    grid-column-start: 8;
}
.grid .xs-start-9 {
    grid-column-start: 9;
}
.grid .xs-start-10 {
    grid-column-start: 10;
}
.grid .xs-start-11 {
    grid-column-start: 11;
}
.grid .xs-start-12 {
    grid-column-start: 12;
}
@media (min-width: 668px) {
    .grid .sm-start-1 {
        grid-column-start: 1;
    }
    .grid .sm-start-2 {
        grid-column-start: 2;
    }
    .grid .sm-start-3 {
        grid-column-start: 3;
    }
    .grid .sm-start-4 {
        grid-column-start: 4;
    }
    .grid .sm-start-5 {
        grid-column-start: 5;
    }
    .grid .sm-start-6 {
        grid-column-start: 6;
    }
    .grid .sm-start-7 {
        grid-column-start: 7;
    }
    .grid .sm-start-8 {
        grid-column-start: 8;
    }
    .grid .sm-start-9 {
        grid-column-start: 9;
    }
    .grid .sm-start-10 {
        grid-column-start: 10;
    }
    .grid .sm-start-11 {
        grid-column-start: 11;
    }
    .grid .sm-start-12 {
        grid-column-start: 12;
    }
}
@media (min-width: 821px) {
    .grid .md-start-1 {
        grid-column-start: 1;
    }
    .grid .md-start-2 {
        grid-column-start: 2;
    }
    .grid .md-start-3 {
        grid-column-start: 3;
    }
    .grid .md-start-4 {
        grid-column-start: 4;
    }
    .grid .md-start-5 {
        grid-column-start: 5;
    }
    .grid .md-start-6 {
        grid-column-start: 6;
    }
    .grid .md-start-7 {
        grid-column-start: 7;
    }
    .grid .md-start-8 {
        grid-column-start: 8;
    }
    .grid .md-start-9 {
        grid-column-start: 9;
    }
    .grid .md-start-10 {
        grid-column-start: 10;
    }
    .grid .md-start-11 {
        grid-column-start: 11;
    }
    .grid .md-start-12 {
        grid-column-start: 12;
    }
}
@media (min-width: 1210px) {
    .grid .lg-start-1 {
        grid-column-start: 1;
    }
    .grid .lg-start-2 {
        grid-column-start: 2;
    }
    .grid .lg-start-3 {
        grid-column-start: 3;
    }
    .grid .lg-start-4 {
        grid-column-start: 4;
    }
    .grid .lg-start-5 {
        grid-column-start: 5;
    }
    .grid .lg-start-6 {
        grid-column-start: 6;
    }
    .grid .lg-start-7 {
        grid-column-start: 7;
    }
    .grid .lg-start-8 {
        grid-column-start: 8;
    }
    .grid .lg-start-9 {
        grid-column-start: 9;
    }
    .grid .lg-start-10 {
        grid-column-start: 10;
    }
    .grid .lg-start-11 {
        grid-column-start: 11;
    }
    .grid .lg-start-12 {
        grid-column-start: 12;
    }
    .grid.big-column-gap {
        column-gap: calc(var(--layout-grid-gap) * 3);
    }
}
@media (min-width: 1701px) {
    .grid .xl-start-1 {
        grid-column-start: 1;
    }
    .grid .xl-start-2 {
        grid-column-start: 2;
    }
    .grid .xl-start-3 {
        grid-column-start: 3;
    }
    .grid .xl-start-4 {
        grid-column-start: 4;
    }
    .grid .xl-start-5 {
        grid-column-start: 5;
    }
    .grid .xl-start-6 {
        grid-column-start: 6;
    }
    .grid .xl-start-7 {
        grid-column-start: 7;
    }
    .grid .xl-start-8 {
        grid-column-start: 8;
    }
    .grid .xl-start-9 {
        grid-column-start: 9;
    }
    .grid .xl-start-10 {
        grid-column-start: 10;
    }
    .grid .xl-start-11 {
        grid-column-start: 11;
    }
    .grid .xl-start-12 {
        grid-column-start: 12;
    }
}
@media (width < 668px) {
    .grid {
        row-gap: calc(var(--layout-grid-gap) * 2);
    }
}
.no-gap-t {
    margin-top: calc(var(--layout-grid-gap) * -1);
}
.no-gap-b {
    margin-bottom: calc(var(--layout-grid-gap) * -1);
}
.no-gap-l {
    margin-left: calc(var(--layout-grid-gap) * -1);
}
.no-gap-r {
    margin-right: calc(var(--layout-grid-gap) * -1);
}
@media (min-width: 821px) {
    .grid {
        gap: var(--layout-grid-gap);
    }
}
#header {
    --bg: linear-gradient(
        180deg,
        hsla(0, 0%, 0%, 0.738) 0%,
        hsla(0, 0%, 0%, 0.541) 19%,
        hsla(0, 0%, 0%, 0.382) 34%,
        hsla(0, 0%, 0%, 0.278) 47%,
        hsla(0, 0%, 0%, 0.194) 56.5%,
        hsla(0, 0%, 0%, 0.126) 65%,
        hsla(0, 0%, 0%, 0.075) 73%,
        hsla(0, 0%, 0%, 0.042) 80.2%,
        hsla(0, 0%, 0%, 0.021) 86.1%,
        hsla(0, 0%, 0%, 0.008) 91%,
        hsla(0, 0%, 0%, 0.002) 95.2%,
        hsla(0, 0%, 0%, 0) 98.2%,
        hsla(0, 0%, 0%, 0)
    );
    --border-radius: 0;
    --logo-color: var(--color-white);
    --header-v-padding: clamp(20px, 1.56vw, 30px);
    --header-h-padding: 30px;
    top: -0.5px;
    margin-top: 0;
    z-index: 20;
    position: fixed;
    width: 100%;
    transition: transform 0.3s ease-in-out, background-color 0.25s ease;
    background: var(--bg);
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}
#header.is-sticky {
    transform: translateY(-100%);
}
#header.is-sticky.show {
    --border-radius: calc(var(--layout-border-radius) / 2);
    --bg: var(--color-white);
    --logo-color: var(--color-primary);
    transform: translateY(0);
}
#header .navbar-wrapper {
    transition: background-color 0.25s ease;
}
#header.is-stuck {
    --border-radius: calc(var(--layout-border-radius) / 2);
    --bg: var(--color-white);
    --logo-color: var(--color-primary);
}
#header:not(.is-transform) .burger,
#header:not(.is-transform) .burger:after,
#header:not(.is-transform) .burger:before {
    transition: none;
}
#header > :not(.offcanvas) {
    width: calc(100vw - var(--header-h-padding) * 2);
    padding-block: var(--header-v-padding);
    margin-inline: auto;
}
#header.header-bg {
    --border-radius: calc(var(--layout-border-radius) / 2);
    --bg: var(--color-white);
    --logo-color: var(--color-primary);
}
#header.header-bg .top-menu {
    --navbar-link-color: hsl(from var(--color-primary) h s l/0.4);
    --navbar-link-current-color: var(--color-primary);
    --navbar-link-hover-color: var(--color-primary);
}
.modal-active #header {
    transform: translateY(-100%) !important;
}
#header-logo-wrapper > * {
    height: var(--header-logo-height, 36px);
    width: auto;
    display: block;
}
#header-logo-wrapper > * path,
#header-logo-wrapper > * rect {
    fill: var(--logo-color);
}
#header-logo-wrapper > :hover .brandmark {
    fill: var(--color-cyan);
}
#header-logo-wrapper .brandmark {
    transition: fill 0.25s;
}
.menu-toggle {
    --rotate: 0deg;
    position: relative;
    font-size: 14px;
    font-weight: var(--typography-weight-sb);
    background-color: var(--color-white);
    border-radius: var(--button-border-radius);
    color: var(--color-primary);
    padding: 0.85em 3.2em 0.85em 1.75em;
}
.menu-toggle span {
    transition: transform 0.25s, opacity 0.25s;
    display: block;
}
.menu-toggle span:not(:first-child) {
    position: absolute;
    top: 0.85em;
    left: 1.75em;
    transform: translateY(60%);
    opacity: 0;
}
.menu-toggle svg {
    position: absolute;
    top: 52%;
    right: 1em;
    height: 1.2em;
    width: 1.2em;
    transform: translateY(-50%) rotate(var(--rotate));
    transition: transform 0.25s;
}
.menu-toggle:hover,
body:has(.offcanvas.is-active:not(.is-closing)) .menu-toggle {
    --rotate: 90deg;
}
body:has(.offcanvas.is-active:not(.is-closing)) .menu-toggle span:first-child {
    transform: translateY(-60%);
    opacity: 0;
}
body:has(.offcanvas.is-active:not(.is-closing)) .menu-toggle span:not(:first-child) {
    transform: translateY(0);
    opacity: 1;
}
#header .offcanvas {
    right: var(--header-h-padding);
    left: var(--header-v-padding);
    top: 100%;
    width: calc(100vw - var(--header-v-padding) * 2);
    height: auto;
}
#header.header-bg .offcanvas,
#header.is-sticky.show .offcanvas,
#header.is-stuck .offcanvas {
    margin-top: var(--header-h-padding);
}
@media (min-width: 668px) {
    #header .offcanvas {
        left: auto;
        width: auto;
    }
    #header.is-sticky.show .offcanvas {
        margin-top: var(--header-h-padding);
    }
}
@media (min-width: 64rem) {
    #menu-main-menu li a {
        padding-bottom: 1rem;
    }
    .menu-toggle {
        display: inherit;
        font-size: 16px;
        margin-right: var(--header-h-padding);
    }
}
@media (min-width: 668px) {
    .hero-image-wrapper {
        display: flex;
        justify-content: flex-end;
    }
}
@media (min-width: 1210px) {
    .menu-toggle {
        font-size: 18px;
    }
}
#hero {
    --aspect-ratio: 1920/740;
    --bg: var(--color-primary);
    --padding: 2rem;
    --title-size: clamp(35px, 4.01vw, 77px);
    --title-color: var(--color-white);
    --subtitle-color: var(--color-accent);
    --subtitle-size: var(--typography-alt-subtitle-fs);
    display: grid;
    position: relative;
    aspect-ratio: var(--aspect-ratio);
}
#hero:after {
    background-color: var(--hero-section-bg, white);
}
#hero .hero-inner {
    align-self: flex-end;
}
#hero .hero-bg {
    overflow: clip;
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: var(--bg);
    border-bottom-left-radius: var(--layout-border-radius);
    border-bottom-right-radius: var(--layout-border-radius);
}
#hero .hero-bg:before {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color-black);
    opacity: 0.15;
    z-index: 1;
}
#hero .hero-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
#hero picture {
    height: 100%;
}
#hero picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
#hero:has(.hero-bg) .buttons-wrapper .button:first-child {
    --button-before-bg: hsl(from var(--color-black) h s l/0.5);
    --button-hover-color: var(--color-white);
}
#hero .back-button {
    --color: var(--color-white);
}
#hero.hero-center {
    --title-size: var(--typography-h1-size);
}
#hero.hero-center #hero-content {
    place-self: center;
}
#hero.hero-center .hero-title-wrapper {
    display: grid;
    gap: clamp(10px, 1.15vw, 22px);
    justify-items: center;
    text-align: center;
}
#hero.hero-center .hero-title {
    justify-content: center;
}
#hero-content {
    margin-top: var(--header-height);
    padding-block: var(--layout-border-radius);
    place-self: end left;
    width: 100%;
    text-wrap: balance;
}
.hero-title-wrapper {
    display: grid;
    gap: 20px;
    justify-items: left;
}
.hero-label {
    font-size: var(--typography-h4-size);
    color: var(--color-accent);
    font-weight: var(--typography-weight-bd);
    font-style: italic;
}
.hero-title {
    color: var(--title-color);
    font-size: var(--title-size);
    font-style: italic;
    line-height: normal;
    display: flex;
    flex-flow: wrap;
    margin-bottom: 0;
    line-height: 1.1;
}
.hero-title .sup,
.hero-title sup {
    letter-spacing: -0.02em;
    font-size: 0.5em;
    transform: translateY(0.25em);
    display: inline-block;
    break-before: avoid;
}
.hero-title span {
    margin-left: 10px;
}
.hero-subtitle {
    color: var(--subtitle-color);
    font-size: var(--subtitle-size);
}
.hero-item.item {
    --color: var(--color-white);
    --icon-color: var(--color-white);
    --icon-size: 1.5em;
    color: var(--color);
}
.hero-search {
    background-color: var(--color-white);
    margin-top: clamp(16px, 3.13vw, 60px);
    border-radius: clamp(50px, 5.21vw, 100px);
    padding: 16px 30px 16px 40px;
    display: flex;
    gap: 20px;
    align-items: center;
    width: 100%;
}
.hero-search label {
    flex: 1;
    line-height: 1;
}
.hero-search label span {
    font-size: 12px;
    color: var(--color-primary-50);
}
.hero-search label input {
    font-size: clamp(16px, 1.46vw, 28px);
    width: 100%;
    border-color: transparent;
    outline: none !important;
    padding: 0;
    line-height: 2;
    background-color: transparent;
}
.hero-search label input::placeholder {
    color: var(--color-primary);
}
.hero-search .button-alt span {
    background-color: var(--color-primary);
    color: var(--color-secondary);
}
.hero-search .button-alt:after,
.hero-search .button-alt:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cdefs%3E%3Cstyle%3E.cls-1,.cls-2{fill:%23012928;stroke-width:0}.cls-2{fill:%23a7e83c}%3C/style%3E%3C/defs%3E%3Ccircle class='cls-1' cx='30' cy='30' r='30'/%3E%3Cpath class='cls-2' d='M30 20l-1.4 1.4 7.6 7.6H20v2h16.2l-7.6 7.6L30 40l10-10-10-10'/%3E%3C/svg%3E");
}
#hero.slider {
    --title-size: var(--typography-h1-size);
    --subtitle-size: var(--typography-alt-subtitle-fs);
    --subtitle-color: var(--color-white);
}
#hero.slider .slide {
    height: 100%;
    width: 100vw;
}
#hero.slider .slide > * {
    height: 100%;
}
#hero.slider .hero-title {
    line-height: 0.9;
    display: block;
}
#hero.slider .hero-subtitle {
    margin-top: 1em;
}
#hero.slider .buttons-wrapper {
    margin-top: 2em;
}
#hero.slider .buttons-wrapper .button {
    --button-before-bg: var(--color-black);
}
#hero.slider .flickity-page-dots {
    bottom: clamp(30px, 3.13vw, 60px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 14px;
}
#hero.slider .flickity-page-dots .dot {
    display: block;
    height: 14px;
    width: 60px;
    max-width: 14px;
    margin: 0;
    background: hsl(from var(--color-white) h s l/.5);
    border-radius: 14px;
    cursor: pointer;
    position: relative;
    transition: max-width 0.25s ease;
}
#hero.slider .flickity-page-dots .dot.is-selected {
    max-width: 60px;
}
#hero.slider .flickity-page-dots .dot.is-selected:after {
    content: "";
    display: block;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 14px;
    position: absolute;
    width: var(--slide-progress, 14px);
    background: var(--color-accent);
    min-width: 14px;
}
#hero.has-slider #hero-content {
    padding-bottom: calc(var(--layout-border-radius) * 1.5);
}
#hero.has-slider:not(.flickity-enabled) .slide {
    z-index: 2;
}
#hero.has-slider:not(.flickity-enabled) .slide:not(:first-child) {
    display: none;
}
.single-landing .hero-center .hero-title {
    max-width: 85% !important;
}
.single-landing .hero-center .hero-subtitle {
    max-width: 80% !important;
}
.single-landing .hero-title-wrapper {
    padding-top: 6vw;
}
@keyframes sticky {
    0% {
        transform: translateY(0);
    }
    to {
        transform: translateY(30%);
    }
}
@keyframes darken {
    0% {
        opacity: 0.15;
    }
    to {
        opacity: 0.45;
    }
}
@media (orientation: portrait) {
    #hero.slider {
        --aspect-ratio: unset;
    }
}
#hero.slider {
    min-height: 100dvh;
    --aspect-ratio: unset;
}
@media screen and (max-width: 667px) {
    .single-location .hero-title {
        justify-content: center;
    }
    .single-location .hero-title .sup {
        transform: none;
        display: flex;
        width: 100%;
        justify-content: center;
    }
}
@media screen and (max-width: 820px) {
    #hero.has-slider .flickity-page-dots {
        display: none;
    }
}
@media (min-width: 668px) {
    .hero-title {
        max-width: 70%;
    }
}
@media (min-width: 1210px) {
    body:not(.single-location) .hero-title {
        max-width: 70%;
    }
    body:not(.single-location) .hero-subtitle {
        max-width: 60%;
    }
}
body:after {
    display: block;
    position: fixed;
    inset: 0;
    content: "";
    background-color: var(--color-black);
    opacity: 0.4;
    z-index: 19;
    margin-left: 100vw;
    transition: margin-left 0.25s ease-in-out;
}
body:has(.is-closing):after {
    transition-delay: 0.25s;
}
body.is-overlay:after {
    margin-left: 0;
}
.offcanvas {
    z-index: 999;
    position: absolute;
    top: 0;
    left: 0;
    height: 100dvh;
    width: calc(100vw - var(--header-h-padding) * 2);
    margin-inline: auto;
    color: var(--color-black);
    flex-flow: column nowrap;
    display: none;
    transform: translateY(70px) rotate(-10deg);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition-delay: 0s;
    overflow: hidden;
}
.offcanvas.is-activating,
.offcanvas.is-closing {
    display: flex;
}
.offcanvas.is-active {
    display: flex;
    transform: translateY(0) rotate(0deg);
    opacity: 1;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition-delay: 0ms;
}
.offcanvas.is-active .offcanvas-login-wrapper {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition-delay: 0.1s;
}
.offcanvas.is-closing {
    transform: translateY(50%);
    opacity: 0;
    transition-delay: 0s;
}
.offcanvas.is-closing .offcanvas-login-wrapper {
    transform: translateY(70px) rotate(-10deg);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition-delay: 0s;
}
.offcanvas .social {
    margin-top: 1.5em;
}
.offcanvas-back {
    font-weight: var(--typography-weight-bd);
}
[data-toggle-submenu] {
    font-size: 20px;
    line-height: 1.5em;
}
[data-toggle-submenu]:before {
    content: "";
    display: inline-block;
    width: 1.5em;
    aspect-ratio: 1/1;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 33'%3E%3Cg transform='translate(-16 -72)'%3E%3Crect data-name='Rectangle 383' width='33' height='33' rx='4' transform='translate(16 72)' fill='%2334f6f2'/%3E%3Cpath data-name='Path 980' d='M31.033 88.821l6.734 6.734-1.924 1.924-8.658-8.658 8.658-8.658 1.924 1.924z' fill='%23193153'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.5em;
    float: left;
}
.offcanvas-header {
    padding: var(--header-navbar-wrapper-padding, 32px);
    margin-top: var(--header-navbar-wrapper-padding);
    padding: calc(var(--layout-pad-inline) * 0.5) var(--layout-pad-inline);
    padding-top: var(--header-navbar-wrapper-padding, 32px);
}
.offcanvas-header .offcanvas-link {
    font-size: calc(var(--offcanvas-close, 2rem) * 0.75);
    display: inline-block;
    color: var(--color-accent);
}
.offcanvas-header .offcanvas-link:not(:last-child) {
    margin-right: 1rem;
}
.offcanvas-header .offcanvas-close {
    color: var(--color-dark);
    font-size: var(--offcanvas-close, 2rem);
    display: block;
    width: var(--offcanvas-close, 2rem);
}
.offcanvas-inner {
    background-color: var(--color-white);
    padding: var(--offcanvas-padding, 2rem);
    border-radius: var(--offcanvas-border-radius, 0);
    overflow: auto;
    overscroll-behavior: contain;
}
.offcanvas-content {
    padding: 0 var(--layout-pad-inline);
}
.offcanvas-content .social {
    transition: all 0.25s ease;
}
.offcanvas-content:has(.has-dropdown.is-active) .social {
    transform: translateY(100%);
    opacity: 0;
}
.offcanvas-buttons {
    margin-bottom: var(--offcanvas-padding, 2rem);
}
.login-button {
    font-size: clamp(18px, 1.35vw, 26px);
    display: flex;
    border-radius: var(--offcanvas-border-radius, 0);
    padding: 0.85em 1.1em;
    background-color: var(--color-primary);
    color: var(--color-white);
    position: relative;
    font-weight: var(--typography-weight-bd);
}
.login-button.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}
.login-button span {
    position: relative;
    overflow: hidden;
    padding-inline: 2em;
    width: 100%;
}
.login-button span:before {
    top: 0;
    left: 0;
    background: var(--icon-user);
    background-size: 100% 50%;
    background-position: top;
    background-repeat: repeat-y;
    height: 200%;
}
.login-button:after,
.login-button span:before {
    display: block;
    content: "";
    position: absolute;
    width: 1em;
    transition: transform 0.25s;
}
.login-button:after {
    top: 50%;
    right: 1.1em;
    background: var(--icon-arrow-up);
    background-size: contain;
    background-position: 100% 0;
    background-repeat: no-repeat;
    height: 1em;
    transform: translateY(-50%);
}
.login-button:hover span:before {
    transform: translateY(-1.5em);
}
.login-button:hover:after {
    transform: translateY(-50%) rotate(45deg);
}
.offcanvas-footer {
    flex-shrink: 1;
    padding: 0 var(--layout-pad-inline);
}
.footer-social {
    margin: var(--layout-pad-inline) 0;
}
.footer-social a {
    color: var(--color-secondary);
}
nav {
    overflow-x: clip;
}
#offcanvas-main-menu {
    --navbar-link-color: var(--color-primary);
    --navbar-font-size: clamp(22px, 1.77vw, 34px);
    display: grid;
    gap: 10px;
    transition: 0.25s ease-out;
}
#offcanvas-main-menu:has(.has-dropdown.is-active) {
    transform: translateX(-100%);
}
#offcanvas-main-menu sup {
    font-size: 0.5em;
}
#offcanvas-main-menu > li.is-current-ancestor:after,
#offcanvas-main-menu > li.is-current:after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    top: 0.5em;
    width: 0.47em;
    height: 0.47em;
    border-radius: 50%;
    background-color: var(--color-primary);
    transform: translateY(-50%);
}
#offcanvas-main-menu > li:not(:first-child) {
    margin-top: 0.35em;
}
#offcanvas-main-menu li.menu-title {
    font-weight: var(--typography-header-weight);
    color: hsl(from var(--color-primary) h s l/.3);
    font-size: var(--navbar-font-size);
    margin-block: 0.5em;
}
#offcanvas-main-menu li a {
    display: block;
}
#offcanvas-main-menu li.has-dropdown > a {
    padding-right: 1.3em;
}
#offcanvas-main-menu li.has-dropdown.is-active .navbar-dropdown {
    display: grid;
    --translate-x: 0;
}
#offcanvas-main-menu li.has-dropdown.is-active .navbar-dropdown .navbar-item span {
    animation: submenuTransform 0.25s forwards;
    animation-delay: calc(var(--animation-delay, 0) + 50ms);
}
#offcanvas-main-menu li.is-current > a {
    color: hsl(from var(--color-primary) h s l/.3);
}
#offcanvas-main-menu > li {
    --line-height: 1.2em;
    --line-width: 1em;
    --offset: 1.5em;
    position: relative;
    padding-right: var(--offset);
    line-height: 1;
}
#offcanvas-main-menu > li:before {
    content: "";
    display: block;
    position: absolute;
    top: 0.5em;
    width: var(--line-width);
    height: clamp(2px, 0.26vw, 5px);
    background-color: var(--navbar-link-color);
}
#offcanvas-main-menu > li > a {
    font-weight: var(--typography-header-weight);
    transition: transform 0.2s ease-in;
    background-color: var(--color-white);
    padding-left: 0.5em;
    margin-left: -0.51em;
}
#offcanvas-main-menu > li:not(.is-current) > a:hover {
    transform: translateX(var(--offset));
}
#offcanvas-main-menu .navbar-dropdown {
    --translate-x: 50px;
    --animation-delay: 0;
    position: fixed;
    top: 0;
    left: 100%;
    margin: 0;
    width: 100%;
    gap: 6px;
    display: grid;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item {
    --navbar-font-size: clamp(18px, 1.25vw, 24px);
    font-weight: var(--typography-weight-md);
}
#offcanvas-main-menu .navbar-dropdown .navbar-item span {
    display: block;
    animation-delay: var(--animation-delay);
    transform: translateX(50px);
}
#offcanvas-main-menu .navbar-dropdown .navbar-item span:hover {
    opacity: 0.75;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(3) {
    --animation-delay: 50ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(4) {
    --animation-delay: 100ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(5) {
    --animation-delay: 150ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(6) {
    --animation-delay: 200ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(7) {
    --animation-delay: 250ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(8) {
    --animation-delay: 300ms;
}
#offcanvas-main-menu .navbar-dropdown .navbar-item:nth-child(9) {
    --animation-delay: 350ms;
}
#offcanvas-logo-wrapper > * {
    opacity: 0;
}
#offcanvas-logo-wrapper .full {
    display: none;
}
.offcanvas-login-wrapper {
    transform: translateY(70px) rotate(10deg);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition-delay: 0;
    margin-top: 20px;
}
@keyframes submenuTransform {
    to {
        transform: translateX(0);
    }
}
.media-wrapper:has(.image-icon) {
    position: relative;
}
.media-wrapper .image-icon {
    position: absolute;
    top: 0;
    left: 10%;
    z-index: 2;
    width: clamp(30px, 4.2vw, 80px);
}
.media-wrapper .clip-it {
    overflow: clip;
    line-height: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}
.media-wrapper:has(iframe) .video-launcher {
    display: none;
}
.media-wrapper .map-wrapper > img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.media-wrapper.rounded {
    aspect-ratio: 800/510;
    overflow: hidden;
}
.media-wrapper.rounded .clip-it {
    overflow-clip-margin: content-box;
    overflow: clip;
    width: 100%;
    height: 100%;
}
.video-icon-wrapper {
    font-size: clamp(13px, 13.96vw, 268px);
    line-height: 1em;
    margin: 0 auto 0.25em;
}
.video-icon-wrapper,
.video-icon-wrapper svg {
    display: block;
    width: 1em;
    height: 1em;
}
.video-icon-wrapper svg > * {
    transition: all 0.1s linear;
    transform-origin: center;
}
.video-icon-wrapper svg .play-inner {
    fill: var(--color-cyan);
}
.video-icon-wrapper:hover .play-outer {
    scale: 0.64;
    opacity: 0.11;
}
.video-icon-wrapper:hover .play-inner {
    scale: 1.05;
}
iframe[src*="vimeo.com"],
iframe[src*="youtu.be"],
iframe[src*="youtube.com"] {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    display: flex;
}
.video-launcher {
    display: grid;
    justify-items: center;
    align-items: center;
}
.video-launcher picture {
    grid-area: 1/1;
    z-index: -1;
}
.video-launcher picture img {
    transition: scale 0.75s;
}
.video-launcher .play-button {
    grid-area: 1/1;
}
.play-button {
    cursor: pointer;
    width: clamp(74px, 10.42vw, 200px);
    height: clamp(74px, 10.42vw, 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    outline: none;
    padding: 0;
    margin: 0;
    z-index: 1;
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    transition: scale 0.25s, background-color 0.25s;
}
.play-button svg {
    width: 35%;
    transform: translateX(2.5%);
    transition: scale 0.25s;
}
.play-button svg > * {
    fill: var(--color-white);
}
html:has(.modal-active) {
    overflow-y: hidden;
    scrollbar-gutter: stable;
}
.modal {
    --close-size: clamp(40px, 3.65vw, 70px);
    --br: clamp(16px, 1.56vw, 30px);
    align-items: center;
    display: none;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 40;
    height: 100dvh;
}
.modal.is-activating,
.modal.is-active {
    display: flex;
}
.modal.is-active .modal-background {
    opacity: 1;
    transition-delay: 0s;
}
.modal.is-active .modal-card,
.modal.is-active .modal-content {
    transition: transform 0.25s ease, opacity 0.15s ease;
    transition-delay: 0.25s;
    transform: translateY(0) scale(1);
    opacity: 1;
}
.modal.is-active.is-closing .modal-card,
.modal.is-active.is-closing .modal-content {
    transform: translateY(-150px) scale(0.5);
    opacity: 0;
    transition-delay: 0s;
}
.modal.is-active.is-closing .modal-background {
    opacity: 0;
    transition-delay: 0.25s;
}
.modal.image-modal .modal-content {
    display: flex;
    flex-flow: column;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    text-align: center;
    overflow: clip;
    margin-top: var(--close-size);
    position: relative;
}
.modal.image-modal .modal-content figure {
    margin: 0 auto;
    max-width: 100%;
    max-height: calc(100% - 50px);
    position: relative;
    overflow: clip;
    border-radius: clamp(16px, 1.56vw, 30px);
}
.modal.image-modal .modal-content img {
    margin: auto;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}
.modal.image-modal .modal-content:has(figcaption) img {
    max-height: calc(100% - 40px);
}
.modal.image-modal .modal-img-wrapper {
    flex: 1;
    justify-content: center;
    display: flex;
    flex-flow: column;
    overflow: hidden;
}
.modal.video-modal .modal-content {
    width: auto;
    margin: 0 auto;
}
.modal.video-modal .modal-content #modal-video-iframe {
    margin: auto;
    width: 90vw;
    height: auto;
    max-height: calc(100% - 50px);
    max-width: 90vw;
    position: relative;
    overflow: hidden;
    display: block;
    aspect-ratio: 16/9;
}
.modal.video-modal .modal-img-wrapper {
    flex: 1;
    justify-content: center;
    display: flex;
    flex-flow: column;
    overflow: hidden;
}
.modal.text-modal .modal-content {
    max-width: 90vw;
    width: auto;
    text-align: left;
}
.modal.text-modal .text-content {
    padding: 1.875rem;
    background-color: var(--color-white);
    border-radius: 6px;
    max-height: 80svh;
    overflow-y: auto;
}
.modal.text-modal .text-content p:not(:last-child) {
    margin-bottom: 1rem;
}
.modal.form-modal {
    --content-padding: clamp(30px, 2.34vw, 45px);
}
.modal.form-modal .modal-content {
    max-width: 1000px;
    width: 90vw;
    text-align: left;
    background-color: var(--color-white);
    border-radius: var(--br);
    padding: var(--content-padding);
}
.modal.promo-modal {
    --content-padding: clamp(30px, 2.34vw, 45px);
    --title-fs: var(--typography-h3-size);
    --title-color: var(--color-primary);
    --subtitle-fs: clamp(16px, 0.94vw, 18px);
    --subtitle-color: var(--color-primary-50);
    --text-color: var(--color-primary);
}
.modal.promo-modal .modal-content {
    max-width: 1000px;
    width: 90vw;
    text-align: left;
    background-color: var(--color-white);
    border-radius: var(--br);
    padding: 0;
}
.modal.promo-modal .modal-content .bg-primary {
    --title-color: var(--color-white);
    --subtitle-color: var(--color-cyan);
    --text-color: var(--color-white);
}
.modal.promo-modal .modal-content .bg-primary .button {
    --button-before-bg: var(--color-white) !important;
}
.modal.promo-modal .text-content {
    padding: var(--content-padding);
    display: grid;
    gap: 20px;
    justify-items: left;
}
.modal.promo-modal .promo-header {
    aspect-ratio: 970/370;
    position: relative;
}
.modal.promo-modal .promo-header img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.modal.promo-modal .promo-header .pill {
    position: absolute;
    inset: var(--content-padding) auto auto var(--content-padding);
}
.modal.promo-modal .promo-content {
    position: relative;
}
.modal.promo-modal .title {
    font-size: var(--title-fs);
    color: var(--title-color);
    font-weight: var(--typography-weight-bd);
    line-height: 1.1;
}
.modal.promo-modal .subtitle {
    font-size: var(--subtitle-fs);
    color: var(--subtitle-color);
    font-weight: var(--typography-weight-md);
}
.modal.promo-modal .text {
    color: var(--text-color);
    font-size: clamp(14px, 0.83vw, 16px);
}
.modal.promo-modal .button {
    --button-before-bg: var(--color-light) !important;
}
.modal.promo-modal .promo-content-image {
    max-width: 300px;
    margin-left: auto;
    padding: calc(var(--content-padding) * 0.667) 0 0 var(--content-padding);
}
.modal.promo-modal .promo-content-image img {
    object-fit: contain;
    object-position: right center;
    height: 100%;
    width: 100%;
}
.modal.is-modal-md .modal-content {
    width: 90vw;
    max-width: var(--layout-container-max-width);
}
.modal iframe {
    display: none;
    border: none !important;
    outline: none !important;
}
.modal.is-iframe .text-content {
    margin: 0;
    padding: 0;
    overflow: auto;
}
.modal.is-iframe iframe {
    display: block;
}
.modal-background {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(10, 10, 10, 0.86);
    opacity: 0;
    transition: opacity 0.25s ease;
    transition-delay: 0.25s;
}
.modal-card,
.modal-content {
    display: block;
    margin: 0 20px;
    max-height: calc(100vh - 160px);
    overflow: auto;
    width: 100%;
    transform: translateY(-150px) scale(0.5);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.15s ease;
    transition-delay: 0s;
    padding-top: calc(var(--close-size) * 0.5);
    position: relative;
    margin-top: calc(var(--close-size) * 0.5);
}
.modal-card figcaption,
.modal-content figcaption {
    margin-top: 1rem;
    color: var(--color-white);
}
.modal-close {
    font-size: var(--close-size);
    display: block;
    width: 1em;
    aspect-ratio: 1/1;
    border-radius: 1em;
    color: var(--color-white);
    background-color: var(--color-white);
    cursor: pointer;
    outline: none;
    border: none;
    margin: 0 auto;
    z-index: 3;
    position: absolute;
    top: calc(var(--close-size) * 0.5);
    left: calc(100vw - var(--close-size) - var(--close-size) * 0.5);
}
.modal-close svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.5em;
    height: 0.5em;
    fill: var(--color-primary);
}
.modal-close:hover svg {
    transform: translate(-50%, -50%) scale(1.05);
}
.modal-close-alt {
    margin-left: auto;
    display: flex;
    gap: 16px;
    margin-bottom: var(--content-padding);
    align-items: center;
}
@media (min-width: 821px) {
    .modal.video-modal .modal-content #modal-video-iframe {
        width: auto;
        height: 90vw;
    }
    .modal.promo-modal .promo-content-image {
        max-width: unset;
        margin: unset;
        position: absolute;
        inset: 0 0 0 60%;
        padding: calc(var(--content-padding) * 0.667) 0 0 var(--content-padding);
    }
    .modal.promo-modal .promo-content-image img {
        object-fit: contain;
        object-position: right bottom;
        height: 100%;
        width: 100%;
    }
}
@media (min-width: 1210px) {
    .modal-card,
    .modal-content {
        margin: 0 auto;
        max-height: calc(100vh - 40px);
        width: 640px;
    }
}
.navbar {
    --nav-text-decoration: none;
    width: 100%;
    position: relative;
    z-index: 30;
    align-items: stretch;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar-brand,
.navbar-tabs {
    align-items: stretch;
    display: flex;
    flex-shrink: 0;
}
.navbar-tabs {
    min-height: calc(var(--header-height, 100px) / 2);
}
.navbar-menu {
    display: none;
}
.navbar-end {
    align-items: center;
    display: flex;
    flex-flow: row;
}
.navbar-end > :not(:first-child) {
    margin-left: 16px;
}
.navbar-item a,
.navbar-link {
    cursor: pointer;
    display: block;
    position: relative;
    color: var(--navbar-link-color);
}
.navbar-item {
    font-size: var(--navbar-font-size);
    flex-grow: 0;
    flex-shrink: 0;
}
.navbar-item.has-dropdown {
    padding: 0;
    position: relative;
}
.navbar-item.has-dropdown > a {
    padding-right: 2.5em;
    align-items: center;
    display: flex;
}
.navbar-item.has-dropdown > a:after {
    content: "";
    display: inline-block;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 26.182'%3E%3Cpath data-name='Path 1456' d='M10.182 13.091L0 23.273l2.909 2.909L16 13.091 2.909 0 0 2.909z' fill='%2334f6f2'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    margin-left: 0.5em;
    width: 0.75em;
    height: 0.75em;
}
.navbar-item.has-dropdown.is-active > a:after {
    transform: rotate(135deg);
    margin-top: -0.375em;
}
.navbar-item.is-current-ancestor > a,
.navbar-item.is-current > a {
    color: var(--navbar-link-current-color);
}
.navbar-dropdown {
    font-size: 0.875rem;
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
}
.menu {
    display: flex;
    flex-flow: row wrap;
    list-style-type: none;
    margin-left: 0;
}
.menu li.is-current-ancestor > a,
.menu li.is-current > a {
    color: var(--color-primary);
}
.menu:not(.vertical):not(.is-accordion-dropdown):not(.navbar-dropdown) > li:not(:first-child) {
    margin-left: 0.5rem;
}
.menu.vertical {
    flex-flow: column nowrap;
}
.menu.vertical li:not(:first-child) {
    margin-top: 0.5em;
}
.menu.vertical li a:not(.button) {
    padding: 0;
}
.menu.vertical .navbar-dropdown {
    display: none;
}
.menu .navbar-dropdown {
    margin-left: 0.5em;
}
@media (min-width: 64rem) {
    .top-menu {
        --navbar-link-color: hsl(from var(--color-white) h s l/0.6);
        --navbar-link-current-color: var(--color-white);
        --navbar-link-line-width: 0;
        --navbar-link-hover-color: var(--color-white);
        --navbar-font-size: clamp(16px, 1.04vw, 20px);
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        margin-left: min(4.27vw, 80px);
    }
    .top-menu sup {
        font-size: 0.5em;
    }
    .top-menu > li {
        margin-inline: 0.8em;
    }
    .top-menu > li > a:not(.button) {
        font-weight: var(--typography-weight-sb);
        padding: 0.3em 0;
        position: relative;
    }
    .top-menu > li > a:not(.button):after {
        content: "";
        position: absolute;
        background-color: currentColor;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        border-radius: 1px;
        transition: max-width 0.2s, background-color 0.2s;
        max-width: var(--navbar-link-line-width);
    }
    .top-menu > li > a:not(.button):hover {
        --navbar-link-line-width: 100%;
        color: var(--navbar-link-hover-color);
    }
    .top-menu > li.is-current-ancestor > a,
    .top-menu > li.is-current > a {
        --navbar-link-line-width: 100%;
    }
    .top-menu .navbar-item a,
    .top-menu .navbar-link {
        line-height: 1.5;
        padding: 0.5rem 0.75rem;
        text-decoration-line: var(--nav-text-decoration);
        text-decoration-color: currentColor;
        text-decoration-thickness: 0.125em;
        text-underline-offset: 0.5em;
    }
    .navbar,
    .navbar-menu {
        align-items: stretch;
        display: flex;
    }
    .navbar-menu {
        flex-grow: 1;
        align-items: center;
    }
    .is-sticky .top-menu,
    .is-stuck .top-menu {
        --navbar-link-color: hsl(from var(--color-primary) h s l/0.4);
        --navbar-link-current-color: var(--color-primary);
        --navbar-link-hover-color: var(--color-primary);
    }
}
.packages-wrapper {
    --packages-accent-color: var(--color-lime);
    --packages-accent-color-from: var(--color-lime-gradient-2);
    --packages-accent-color-to: var(--color-lime-gradient-1);
    overflow: clip;
    display: grid;
    grid-auto-flow: column;
    overflow: auto;
    grid-auto-columns: calc(100vw - var(--layout-padding-inline) * 2);
    margin-top: clamp(30px, 2.6vw, 50px);
    position: relative;
    z-index: 2;
}
.packages-wrapper.flickity-enabled,
.packages-wrapper .flickity-viewport {
    overflow: visible;
}
.packages-wrapper .flickity-viewport .package {
    width: calc(100vw - var(--layout-padding-inline) * 2);
}
.packages-wrapper:has(.popular) .package {
    --mb: clamp(32px, 4.17vw, 80px);
}
.packages-wrapper.not-membership {
    --packages-accent-color: var(--color-cyan);
    --packages-accent-color-from: var(--color-cyan-gradient-1);
    --packages-accent-color-to: var(--color-cyan-gradient-2);
}
.packages-wrapper.not-membership .package .button {
    margin-top: 20px;
}
.packages-wrapper.not-membership .package:not(:first-child) .button {
    --button-after-bg: var(--color-cyan-gradient-right) !important;
}
.packages-wrapper.not-membership .package#package-pro .button {
    --button-before-bg: var(--color-white);
}
.packages-wrapper.not-membership .package.popular .pill {
    --pill-color: var(--color-cyan);
}
.package {
    --mb: 0;
    --background: transparent linear-gradient(180deg, var(--packages-accent-color-from), var(--packages-accent-color-to));
    --color-subtitle: var(--color-primary);
    --color: var(--color-primary);
    --color-title: var(--color);
    --color-icon: var(--packages-accent-color);
    --color-subtitle: var(--color-white);
    --br: 20px;
    position: relative;
    padding: clamp(30px, 2.6vw, 50px);
    background: var(--background);
    color: var(--color);
    margin-block: var(--mb);
    border-radius: var(--br);
    z-index: 3;
}
.package.popular {
    border-radius: 0;
}
.package.popular:after,
.package.popular:before {
    position: absolute;
    display: block;
    content: "";
    bottom: 100%;
    left: 0;
    height: var(--mb);
    width: 100%;
    background: var(--packages-accent-color-from);
}
.package.popular:before {
    border-top-left-radius: var(--br);
    border-top-right-radius: var(--br);
}
.package.popular:after {
    bottom: auto;
    top: 100%;
    height: calc(var(--mb) * 0.5);
    background: var(--packages-accent-color-to);
    border-bottom-left-radius: var(--br);
    border-bottom-right-radius: var(--br);
}
.package.popular .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-lime);
    position: absolute;
    margin-top: calc(var(--mb) * -1);
    letter-spacing: normal;
}
.package .title {
    font-weight: var(--typography-weight-bd);
    font-style: italic;
    font-size: clamp(40px, 3.65vw, 70px);
    color: var(--color-title);
    line-height: 1;
    letter-spacing: -2px;
}
.package .subtitle {
    font-weight: var(--typography-weight-md);
    font-size: clamp(16px, 1.46vw, 28px);
    color: var(--color-subtitle);
    margin-top: 4px;
}
.package .price-wrapper,
.package .subtitle {
    letter-spacing: -1px;
}
.package .button,
.package .price-wrapper {
    margin-top: 30px;
}
.package:first-child .process {
    --color-icon: var(--color-white);
    --color: var(--color-primary);
    --plus-color: var(--color-white);
}
.package:first-child .button {
    --button-color: var(--packages-accent-color);
    --button-arrow-color: var(--packages-accent-color);
}
.package#package-pro {
    --background: var(--color-primary);
    --color: var(--color-white);
    --color-title: var(--color-white);
    --color-subtitle: var(--packages-accent-color);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    z-index: 2;
}
.package#package-pro .button {
    --button-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-after-bg: var(--color-lime-gradient-right);
}
.package#package-pro .process {
    --color: var(--color-white);
    --color-content: var(--color-white);
    --border-color: var(--color-white);
}
.package#calculator,
.package#package-lite {
    --background: var(--color-white);
    --color-subtitle: var(--color-primary-50);
    z-index: 1;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.package#calculator .button,
.package#package-lite .button {
    --button-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-light);
    --button-after-bg: var(--color-lime-gradient-right);
}
.package#calculator:after,
.package#calculator:before,
.package#package-lite:after,
.package#package-lite:before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    right: 100%;
    width: var(--br);
    height: var(--br);
    background: var(--background);
}
.package#calculator:after,
.package#package-lite:after {
    top: auto;
    bottom: 0;
}
.package#calculator {
    align-self: center;
}
.package#calculator .title {
    font-size: var(--typography-h3-size);
    color: var(--color-title);
    line-height: 1;
}
.package#calculator .subtitle {
    line-height: 1.2;
    margin-top: 6px;
    margin-bottom: 16px;
}
form#form-savings-calculator {
    margin-top: 20px;
    display: grid;
    gap: 20px;
}
form#form-savings-calculator.calculating .savings-wrapper {
    position: relative;
}
form#form-savings-calculator.calculating .savings-wrapper > * {
    opacity: 0;
}
form#form-savings-calculator.calculating .savings-wrapper:before {
    position: absolute;
    inset: 0;
    place-items: center;
    content: "Calculating Saving...";
    display: grid;
}
form#form-savings-calculator.calculating .item.chaching-wrapper .icon {
    transform-origin: center;
    animation: smiley 1s ease-in-out infinite;
}
form#form-savings-calculator.calculating .item.chaching-wrapper .hearts > * {
    animation: none;
}
@keyframes smiley {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(5deg);
    }
    50% {
        transform: rotate(0);
    }
    75% {
        transform: rotate(-5deg);
    }
    to {
        transform: rotate(0deg);
    }
}
@keyframes hearts {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.9);
    }
    to {
        transform: scale(1);
    }
}
.savings-wrapper {
    --fs: clamp(20px, 1.56vw, 30px);
    background: var(--color-lime-gradient);
    border-radius: var(--fs);
    padding: var(--fs);
    font-size: var(--fs);
    display: flex;
    align-items: flex-end;
    line-height: 1;
    font-style: italic;
    font-weight: var(--typography-weight-bd);
}
.savings-wrapper .saving {
    font-size: 2.667em;
    font-weight: var(--typography-weight-eb);
    margin-right: 6px;
}
.item.chaching-wrapper {
    --icon-size: 1.8em;
    font-size: var(--typography-h5-size);
    color: var(--color-primary);
    font-style: italic;
    font-weight: var(--typography-weight-bd);
}
.item.chaching-wrapper .hearts > * {
    transform-origin: center;
    animation: hearts 1s ease-in-out infinite;
}
.price-wrapper {
    margin-top: 20px;
    font-size: clamp(64px, 4.84vw, 93px);
    font-weight: var(--typography-weight-bd);
    line-height: 1;
}
.price-wrapper sup {
    font-size: 0.333em;
    top: -0.333em;
    position: relative;
    margin-right: 0.1em;
}
.price-wrapper .per {
    font-weight: var(--typography-weight-md);
    font-size: 0.25em;
}
.package-processes {
    display: grid;
    margin-top: 22px;
}
.process {
    --color: var(--color-primary);
    --color-icon: var(--packages-accent-color);
    --plus-color: var(--packages-accent-color);
}
.package-name sup {
    font-weight: 400;
    font-size: 0.3em;
    line-height: 1em;
    top: -0.667em;
    position: relative;
}
.package-icon-wrapper {
    font-size: clamp(40px, 3.65vw, 70px);
    margin-bottom: 0.5em;
}
.package-icon-wrapper svg {
    fill: var(--color-accent);
}
.single-location .show-single {
    display: none !important;
}
.is-single {
    pointer-events: none;
    opacity: 0.2;
}
.is-show-single .show-freedompass {
    display: none !important;
}
.is-show-single .show-single {
    display: inherit !important;
}
.is-show-single .is-single {
    pointer-events: unset;
    opacity: 1;
}
.is-show-single .packages-wrapper {
    --packages-accent-color: var(--color-cyan);
    --packages-accent-color-from: var(--color-cyan-gradient-1);
    --packages-accent-color-to: var(--color-cyan-gradient-2);
}
.is-show-single .packages-wrapper .package:not(:first-child) .button {
    --button-after-bg: var(--color-cyan-gradient-right) !important;
}
.is-show-single .packages-wrapper .package#package-pro .button {
    --button-before-bg: var(--color-white);
}
.is-show-single .packages-wrapper .package.popular .pill {
    --pill-color: var(--color-cyan);
}
.toggle-wrapper {
    justify-self: left;
    z-index: 3;
}
.toggle-wrapper label {
    --fs: clamp(11px, 0.94vw, 18px);
    --br: clamp(21px, 1.82vw, 35px);
    --pad: clamp(10px, 0.83vw, 16px);
    display: flex;
    align-items: center;
    border-radius: var(--br);
    background: var(--color-white);
    font-size: var(--fs);
    line-height: 1;
    overflow: clip;
    cursor: pointer;
}
.toggle-wrapper label > span {
    --color: var(--color-primary-50);
    --check-color: var(--color-white);
    font-weight: var(--typography-weight-sb);
    padding: var(--pad);
    display: block;
    z-index: 1;
    color: var(--color);
    transition: 0.5s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.toggle-wrapper label > span.single {
    padding-right: calc(var(--pad) * 1.4);
}
.toggle-wrapper label > span .icon {
    font-size: 2em;
}
.toggle-wrapper label > span .icon > * {
    transition: fill 0.25s ease 0.1s;
    fill: var(--check-color);
}
.toggle-wrapper .freedompass,
.toggle-wrapper .jb {
    --color: var(--color-primary);
    --check-color: var(--color-primary);
    position: relative;
}
.toggle-wrapper .freedompass:after,
.toggle-wrapper .jb:after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-lime);
    z-index: -1;
    border-radius: var(--br);
    transition: 0.5s;
}
.toggle-wrapper .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
    --pill-fs: clamp(10px, 0.83vw, 16px);
    border-radius: clamp(14px, 0.78vw, 17px);
    text-transform: uppercase;
    pointer-events: none;
}
.toggle-wrapper [type="checkbox"]:checked ~ label .freedompass,
.toggle-wrapper [type="checkbox"]:checked ~ label .jb {
    --color: var(--color-primary-50);
    --check-color: var(--color-white);
}
.toggle-wrapper [type="checkbox"]:checked ~ label .freedompass:after,
.toggle-wrapper [type="checkbox"]:checked ~ label .jb:after {
    transform: translateX(100%);
    background: var(--color-primary);
}
.toggle-wrapper [type="checkbox"]:checked ~ label .gk,
.toggle-wrapper [type="checkbox"]:checked ~ label .single {
    --color: var(--color-cyan);
    --check-color: var(--color-cyan);
}
.toggle-wrapper [type="checkbox"]:checked ~ label .pill {
    --pill-bgcolor: var(--color-primary-50);
}
.toggle-wrapper .gk,
.toggle-wrapper .single {
    background: transparent;
}
.toggle-wrapper .pill {
    margin-bottom: 0;
}
@media screen and (max-width: 820px) {
    .packages-wrapper {
        margin-left: calc(var(--layout-padding-inline) * -1);
        width: calc(100% + var(--layout-padding-inline) * 2);
        padding-inline: var(--layout-padding-inline);
    }
}
@media screen and (min-width: 668px) and (max-width: 820px) {
    .package#calculator {
        grid-column: 1/3;
        grid-row: 2;
    }
    .package#calculator:after,
    .package#calculator:before {
        display: none;
    }
}
@media (min-width: 668px) {
    .packages-wrapper {
        grid-auto-columns: calc(55vw - var(--layout-padding-inline) * 2);
    }
    .packages-wrapper .flickity-viewport .package {
        width: calc(55vw - var(--layout-padding-inline) * 2);
    }
}
@media (min-width: 821px) {
    .packages-wrapper {
        grid-auto-columns: 33.333%;
    }
}
.pagination-wrapper {
    padding-top: var(--layout-spacing);
}
.pagination-ellipsis,
.pagination-link,
.pagination-next,
.pagination-previous {
    -moz-appearance: none;
    -webkit-appearance: none;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.375em;
    box-shadow: none;
    display: inline-flex;
    font-size: 1rem;
    height: 2.5em;
    line-height: 1.5;
    padding: calc(0.5em - 1px) calc(0.75em - 1px);
    position: relative;
    vertical-align: top;
    justify-content: center;
    margin: 0.25rem;
    text-align: center;
}
.pagination-ellipsis.is-current,
.pagination-link.is-current,
.pagination-next.is-current,
.pagination-previous.is-current {
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
    color: var(--color-white);
}
.pagination,
.pagination-list {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
ul.pagination-list {
    list-style: none;
}
.pagination {
    justify-content: space-between;
    margin-bottom: 0;
    margin-top: 0;
}
.pagination-link,
.pagination-next,
.pagination-previous {
    border-color: var(--color-dark);
    color: var(--color-white);
    min-width: 2.5em;
}
.pagination-next,
.pagination-previous {
    padding-left: 0.75em;
    padding-right: 0.75em;
    white-space: nowrap;
}
@media (min-width: 1210px) {
    .pagination-list {
        flex-grow: 1;
        flex-shrink: 1;
        justify-content: flex-start;
        order: 1;
    }
    .pagination-previous {
        order: 2;
    }
    .pagination-next {
        order: 3;
    }
}
.promotion-card {
    --bg: var(--color-primary);
    --padding: 30px;
    --color: var(--color-cyan);
    --excerpt-color: var(--color-white);
    container: promotion;
    container-type: inline-size;
    background-color: var(--bg);
    border-radius: var(--padding);
    overflow: hidden;
}
.promotion-card.coming-soon {
    pointer-events: none;
    opacity: 0.5;
}
.p-inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: start;
}
.p-inner > * {
    grid-column: span 12;
}
.p-inner .content {
    display: grid;
    gap: 10px;
    padding: var(--padding);
    align-content: end;
    justify-items: left;
    position: relative;
}
.p-inner .content .pill {
    position: absolute;
    top: var(--padding);
    left: var(--padding);
    align-self: start;
}
.p-inner .content:has(.pill) .title {
    margin-top: 2em;
}
.p-inner picture {
    aspect-ratio: 16/9;
}
.p-inner picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.p-inner .title {
    color: var(--color);
    font-weight: var(--typography-weight-bd);
    font-size: clamp(20px, 1.46vw, 28px);
    line-height: 1;
}
.p-inner .excerpt {
    color: var(--excerpt-color);
    overflow: hidden;
    tedt-overflow: ellipsis;
    line-clamp: 2;
}
.p-inner .status {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--excerpt-color);
}
.p-inner .status svg {
    width: 1.2em;
    fill: var(--excerpt-color);
}
.promo-modal .animated-app-buttons {
    --bg: var(--color-light);
    --hover-bg: var(--color-light);
    margin-top: 0;
}
.promo-modal .animated-app-buttons:hover span {
    --color: var(--color-darkblue);
}
@container (width > 600px) {
    .p-inner {
        align-items: unset;
    }
    .p-inner picture {
        grid-column: 1/6;
        grid-row: 1;
        aspect-ratio: unset;
    }
    .p-inner .content {
        grid-column: 6/13;
        grid-row: 1;
        padding-inline: calc(var(--padding) * 2);
    }
    .p-inner .content .pill {
        left: calc(var(--padding) * 2);
    }
}
.promotions-wrapper.carousel .flickity-prev-next-button {
    left: 0;
}
.promotions-wrapper.carousel .flickity-prev-next-button:disabled {
    --bg: var(--color-light-alt);
}
@media (min-width: 821px) {
    .promotions-wrapper.carousel {
        --width: calc((100vw - (2 * var(--layout-padding-inline)) - (2 * var(--spacing))) / 2) !important;
    }
}
.pill {
    --pill-bgcolor: var(--color-accent);
    --pill-color: var(--color-primary);
    --pill-fs: clamp(11px, 0.83vw, 16px);
    --pill-padding: 0.375em 0.875em;
    display: inline-flex;
    background-color: var(--pill-bgcolor);
    font-weight: var(--typography-header-weight);
    font-style: italic;
    color: var(--pill-color);
    justify-content: center;
    text-align: center;
    line-height: 1;
    font-size: var(--pill-fs);
    padding: var(--pill-padding);
    border-radius: 8px;
    cursor: default;
}
.pill:link,
.pill[data-href] {
    cursor: pointer;
}
.pill.is-secondary {
    --pill-bgcolor: var(--color-secondary);
    --pill-color: var(--color-white);
}
.pill:hover {
    background-color: hsl(from var(--pill-bgcolor) h s calc(l - 7));
}
.pill.category {
    --pill-fs: clamp(12px, 0.73vw, 14px);
    --pill-padding: 0.667em 1.5em 0.75em;
    font-weight: var(--typography-weight-md);
    min-width: 130px;
}
.pill.category,
.pill.rounded {
    border-radius: 1.5em;
    font-style: normal;
    line-height: normal;
}
.pill.rounded {
    --pill-fs: clamp(16px, 1.25vw, 24px);
    --pill-padding: 2px 12px;
    font-weight: var(--typography-weight-bd);
}
.pill.article-type {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-cyan);
}
.pill.is-membership-color {
    --pill-bgcolor: var(--color-lime);
}
.pills-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.filter-form {
    --bg: var(--color-white);
    background: var(--color-white);
    border-radius: clamp(20px, 1.56vw, 30px);
    padding: 20px;
    transform: translateY(calc(var(--section-margin-block) * -0.5));
    box-shadow: 0 0 36px rgba(217, 220, 214, 0.4117647059);
}
#posts-list {
    margin-top: calc(var(--section-margin-block) * 0.5);
}
#featured-news-carousel .card,
#news-carousel .card {
    --title-size: var(--typography-h5-size);
}
#featured-news-carousel .flickity-prev-next-button,
#news-carousel .flickity-prev-next-button {
    left: 0;
}
#featured-news-carousel .flickity-prev-next-button:disabled,
#news-carousel .flickity-prev-next-button:disabled {
    --bg: var(--color-light-alt);
}
.single-post #header {
    --border-radius: calc(var(--layout-border-radius) / 2);
    --bg: var(--color-white);
    --logo-color: var(--color-primary);
}
.single-post #header .top-menu {
    --navbar-link-color: hsl(from var(--color-primary) h s l/0.4);
    --navbar-link-current-color: var(--color-primary);
    --navbar-link-hover-color: var(--color-primary);
}
.single-post #hero {
    --title-color: var(--color-primary);
    --subtitle-color: var(--color-primary);
    --section-padding-block: calc(var(--section-margin-block) * 0.75) 0;
    --subtitle-size: clamp(18px, 1.25vw, 24px);
    --aspect-ratio: unset;
}
.single-post #hero #hero-content {
    place-self: center;
}
.single-post #hero:not(:has(picture)) #hero-content {
    padding-bottom: 0;
}
.single-post #hero .hero-title-wrapper {
    --gap: clamp(10px, 1.15vw, 22px);
    display: grid;
    gap: var(--gap);
    justify-items: center;
    text-align: center;
}
.single-post #hero .hero-title {
    justify-content: center;
}
.single-post #hero picture {
    border-radius: var(--layout-border-radius);
    overflow: hidden;
    aspect-ratio: 1920/740;
    height: auto;
}
.single-post #hero .back-button {
    --color: var(--color-primary);
    margin-bottom: calc(var(--gap) * 2);
}
.single-post #hero .pills-wrapper {
    margin-bottom: var(--gap);
}
.post-item.card {
    --padding: 10px;
    --title-size: clamp(20px, 1.46vw, 28px);
    align-items: middle;
}
.post-item.card .card-content {
    display: flex;
    flex-direction: column;
}
.post-item.card .card-meta {
    margin-top: -0.5em;
}
.social-share {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 16px;
}
.social-share .title {
    font-weight: var(--typography-weight-md);
    color: var(--color-black);
}
#load-more-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 88px;
    margin-inline: auto;
    transform: translateY(calc(var(--section-margin-block) * 0.5));
}
#load-more-wrapper span {
    --delay: 0s;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--color-cyan);
    animation: pulse 0.4s ease var(--delay) infinite alternate;
}
#load-more-wrapper span:nth-child(2) {
    --delay: 0.2s;
}
#load-more-wrapper span:nth-child(3) {
    --delay: 0.4s;
}
@keyframes pulse {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0.5;
        transform: scale(0.75);
    }
}
@media (min-width: 821px) {
    .single-post #hero:after {
        display: none;
    }
    .single-post .hero-title {
        max-width: 83.33% !important;
    }
    .social-share {
        position: sticky;
        top: calc(var(--layout-padding-inline) * 0.5);
        grid-column: 12 !important;
        grid-row: 1;
        justify-self: right;
        align-self: start;
        flex-direction: column;
        margin-top: 0;
        transition: padding-top 0.25s ease;
    }
    .social-share .title {
        font-weight: var(--typography-weight-md);
        color: var(--color-black);
    }
    .social-share .sharing {
        width: var(--icon-size);
        justify-content: center;
    }
    body:has(.is-sticky.show) .social-share {
        padding-top: var(--js-header-height, 1rem);
    }
}
@media (min-width: 1210px) {
    section:has(.filter-form) .inner {
        overflow: unset;
        padding-top: 0 !important;
    }
    .filter-form {
        transform: translateY(-50%);
    }
}
section {
    --section-title-color: var(--color-primary);
    --section-subtitle-color: var(--color-primary-50);
    --section-body-color: var(--color-black);
    --section-top-radius: 0;
    --section-bottom-radius: 0;
    --section-prev-bg: transparent;
    --section-next-bg: transparent;
    --section-padding-block: var(--section-margin-block);
    z-index: var(--section-z-index, 1);
    position: relative;
}
section:after,
section:before {
    position: absolute;
    content: "";
    top: 0;
    height: var(--layout-border-radius);
    width: 100%;
    background-color: var(--section-prev-bg);
    z-index: -2;
}
section:after {
    top: auto;
    bottom: 0;
    background-color: var(--section-next-bg);
}
section:not(.np) .inner {
    padding-block: var(--section-padding-block);
}
section.split-screen {
    display: grid;
    padding-block: 0;
}
section.split-screen > :not(.media-wrapper) {
    padding-block: var(--layout-padding-block);
    padding-inline: var(--container-padding-inline);
}
section ol,
section p,
section ul {
    font-size: var(--typography-paragraph-size);
    color: var(--section-body-color);
    letter-spacing: -0.025ch;
}
section .section-image {
    margin-bottom: calc(var(--section-margin-block) * -1);
    border-radius: var(--section-top-radius) var(--section-top-radius) var(--section-bottom-radius) var(--section-bottom-radius);
    grid-column: fullwidth !important;
    overflow: clip;
}
section .section-image.left-wide {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
section .section-image.left-wide img {
    object-position: center top;
}
section .section-image.right-wide {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
section .section-image.right-wide img {
    object-position: center top;
}
section .section-image.bottom-left,
section .section-image.bottom-right {
    overflow: clip;
}
section .section-image.bottom-left img,
section .section-image.bottom-right img {
    object-fit: contain;
    object-position: bottom center;
}
section .section-image img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
section .inner {
    border-radius: var(--section-top-radius) var(--section-top-radius) var(--section-bottom-radius) var(--section-bottom-radius);
    overflow: clip;
}
section.rounded {
    --section-bottom-radius: var(--layout-border-radius);
}
section.rounded,
section.rounded-top {
    --section-top-radius: var(--layout-border-radius);
}
section.rounded-bottom {
    --section-bottom-radius: var(--layout-border-radius);
}
section.is-last {
    --section-bottom-radius: 0;
}
.section-bg-image {
    margin-bottom: calc(var(--section-margin-block) * -1);
}
.section-bg-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: left top;
}
.section-offset-image {
    margin-bottom: calc(var(--section-margin-block) * -1.99);
    max-width: min(50vw, 1000px);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    min-width: 300px;
}
.mobile-media-first > :not(.media-wrapper) {
    order: 2;
}
.mobile-media-first > .media-wrapper {
    order: 1;
}
.title-elements {
    position: relative;
    margin-bottom: var(--section-title-margin);
}
.title-elements.mb-large {
    margin-bottom: calc(var(--section-title-margin) * 2);
}
.title-elements + .carousel {
    margin-top: var(--section-title-margin);
}
.title-elements .section-subtitle,
.title-elements .section-title {
    margin-bottom: 0;
    text-wrap: pretty;
}
.title-elements .section-title ~ .section-subtitle {
    margin-top: var(--section-subtitle-spacing);
}
.title-elements .drag-explore {
    display: none;
}
.title-elements .drag-discover {
    float: right;
}
.title-elements ~ .carousel {
    margin-top: 80px;
}
.pretitle-icon {
    --width: clamp(80px, 7.81vw, 150px);
    max-width: var(--width);
    margin-bottom: calc(var(--width) * 0.5);
}
.section-features {
    width: 100%;
}
.text-center .pretitle-icon {
    margin-inline: auto;
    margin-bottom: 30px;
}
.section-title {
    color: var(--section-title-color);
}
.drag-explore {
    color: var(--color-primary);
    font-size: clamp(12px, 0.83vw, 16px);
    position: absolute;
    right: 0;
    bottom: 0;
}
.section-subtitle {
    color: var(--section-subtitle-color);
    font-weight: var(--typography-weight-md);
}
.section-label {
    margin-bottom: 1.2em;
}
.section-content,
.section-content ol,
.section-content p,
.section-content ul {
    color: var(--section-body-color);
}
.section-content.text-center .buttons-wrapper {
    justify-content: space-around;
}
.section-icon1 {
    
    --mt: calc(var(--section-margin-block) * -0.25);
    max-width: var(--width);
    margin-inline: auto;
    margin-block: var(--mt) var(--width);
    display: grid;
    place-items: center;
}


.scroll-logo {
    display: none;
  }

  .navbar.scrolled .normal-logo {
    display: none;
  }

  .navbar.scrolled .scroll-logo {
    display: block;
  }
  

@media (max-width: 768px) {
    .normal-logo, .scroll-logo {
      width: 150px !important; /* Adjust the value as needed */
    }
  }


.section-icon {
    --width: calc(var(--section-margin-block) * 0.75);
    --mt: calc(var(--section-margin-block) * -0.25);
    max-width: var(--width);
    margin-inline: auto;
    margin-block: var(--mt) var(--width);
}

.section-color.bg-darkblue,
.section-color.bg-primary {
    --section-title-color: var(--color-white);
    --section-subtitle-color: var(--color-accent);
    --section-body-color: var(--color-white);
}
.section-color.bg-darkblue .accordion,
.section-color.bg-primary .accordion {
    --fs: clamp(18px, 1.04vw, 20px);
    --fs-content: var(--fs);
    --bg: transparent;
    --bg-content: transparent;
    --color-icon: var(--color-accent);
    --color-content: var(--color);
    --border-color: var(--color);
}
.section-color.bg-darkblue ol,
.section-color.bg-darkblue ul,
.section-color.bg-primary ol,
.section-color.bg-primary ul {
    --marker-color: var(--color-lime) !important;
}
.section-color.bg-cyan-gradient {
    --section-title-color: var(--color-primary);
    --section-subtitle-color: var(--color-primary);
    --section-body-color: var(--color-primary);
}
.section-color.bg-cyan-gradient ul {
    --marker-color: var(--color-white);
}
.section-color.bg-cyan-gradient .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
}
.section-color.bg-cyan-gradient .button:not([data-type]) {
    --button-color: var(--color-white);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-cyan);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-primary);
}
.section-color.bg-lime-gradient {
    --section-title-color: var(--color-primary);
    --section-subtitle-color: var(--color-white);
    --section-body-color: var(--color-black);
}
.section-color.bg-lime-gradient ul {
    --marker-color: var(--color-white);
}
.section-color.bg-lime-gradient .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
}
.section-color.bg-white .button:not([data-type]) {
    --button-before-bg: var(--color-light);
}
section.scrolling_text {
    --section-z-index: 3;
}
section.scrolling_text .section-color {
    --scroll-color-from: var(--color-primary);
    --scroll-color-to: var(--color-accent);
}
section.scrolling_text .inner {
    position: relative;
}
section.scrolling_text .rotating-hashtag {
    margin-block: calc(var(--section-margin-block) * 0.5) 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
section.scrolling_text .scroll-icon {
    position: absolute;
    bottom: var(--section-margin-block);
    left: 50%;
    transform: translateX(-50%);
}
section.scrolling_text .section-title {
    margin-bottom: var(--section-margin-block);
    font-style: italic;
}
section.scrolling_text:has(.section-offset-image) .inner {
    position: relative;
    padding-block: calc(var(--section-padding-block) * 2) calc(var(--section-padding-block) * 1.5);
}
section.scrolling_text:has(.section-offset-image) .section-icon {
    --mt: calc(var(--section-margin-block) * -1.25);
}
section.scrolling_text:has(.section-offset-image) .scroll-icon {
    grid-column-start: content-end;
    transform: translateX(-100%);
    bottom: calc(var(--section-margin-block) * 0.5);
    left: 0;
}
section.scrolling_text:has(.section-offset-image) + section .inner {
    padding-top: calc(var(--section-padding-block) * 2);
}
section.scrolling_text:has(.bubbles):not(:has(.section-offset-image)) .inner {
    padding-bottom: calc(var(--section-padding-block) * 3);
}
section.scrolling_text:has(.bubbles):not(:has(.section-offset-image)) .scroll-icon {
    position: absolute;
    bottom: calc(var(--section-margin-block) * 3);
}
section.scrolling_text .section-color.bg-cyan-gradient {
    --scroll-color-from: var(--color-white);
    --scroll-color-to: var(--color-primary);
}
section.scrolling_text .section-color.bg-cyan-gradient .scroll-icon {
    --color: var(--color-primary);
}
section.scrolling_text .section-color.bg-cyan-gradient .rotating-hashtag {
    --parts-color: var(--color-white);
}
section.scrolling_text .section-color.bg-primary {
    --scroll-color-from: hsl(201, 58%, 26%);
    --scroll-color-to: var(--color-white);
}
section.fullwidth_media {
    --section-title-fs: clamp(30px, 4.69vw, 90px);
    --section-title-color: var(--color-white);
    --section-subtitle-color: var(--color-cyan);
}
section.fullwidth_media .fullwidth-video,
section.fullwidth_media picture {
    position: relative;
}
section.fullwidth_media .fullwidth-video:after,
section.fullwidth_media picture:after {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    top: 30%;
    background: transparent linear-gradient(180deg, hsl(from var(--color-black) h s l/0), hsl(from var(--color-black) h s l/1));
    opacity: 0.62;
    z-index: 1;
}
section.fullwidth_media .fullwidth-video img,
section.fullwidth_media .fullwidth-video video,
section.fullwidth_media picture img,
section.fullwidth_media picture video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
section.fullwidth_media .inner {
    display: grid;
    grid-template-areas: "content";
}
section.fullwidth_media .inner > * {
    grid-area: content;
    position: relative;
}
section.fullwidth_media .inner .media-overlay {
    z-index: 2;
    padding-block: var(--section-margin-block);
    place-self: end;
    text-align: center;
    width: 100%;
}
section.fullwidth_media .title-elements {
    margin-bottom: 0;
}
section.fullwidth_media .brandmark {
    width: calc(var(--section-title-fs) * 1.95);
    margin-inline: auto;
    margin-bottom: 30px;
}
section.fullwidth_media .brandmark > * {
    fill: var(--color-white);
}
section.fullwidth_media .section-title {
    font-size: var(--section-title-fs);
}
section.packages .animated-line-wrapper {
    inset-block: calc(var(--section-margin-block) * -0.5) calc(var(--section-margin-block) * 1.5);
    inset-inline: 0;
}
section.packages_homepage .animated-line-wrapper {
    inset-block: calc(var(--section-margin-block) * 3) calc(var(--section-margin-block) * 1.5);
}
section.advantages:has(.floating-bubbles) {
    z-index: 10;
}
.floating-bubbles > * {
    position: absolute;
    width: 30%;
    max-width: 490px;
}
.floating-bubbles > * > :not(.bubble2) {
    position: absolute;
    z-index: 2;
}
.floating-bubbles .bubble2 {
    position: relative;
    z-index: 3;
}
.floating-bubbles .left {
    bottom: 0;
    left: var(--layout-padding-inline);
}
.floating-bubbles .left .bubble3 {
    top: 10%;
    left: 80%;
    width: 35%;
}
.floating-bubbles .right {
    top: 0;
    right: var(--layout-padding-inline);
}
.floating-bubbles .right img {
    right: 0;
}
.floating-bubbles .right .bubble1 {
    top: -80%;
    width: 38%;
}
.floating-bubbles .right .bubble4 {
    top: 25%;
    right: 55%;
    width: 15%;
}
.floating-bubbles .right .bubble3 {
    top: -20%;
    left: 0;
    right: auto;
    width: 40%;
}
section.science {
    --offset: 20vh;
    z-index: 3;
}
section.science .inner {
    overflow: visible;
}
section.science .toggle-wrapper.science-toggle {
    justify-self: right;
    margin-bottom: var(--section-title-margin);
}
section.science .toggle-wrapper.science-toggle label {
    --fs: clamp(11px, 0.94vw, 18px);
    --br: clamp(21px, 1.82vw, 35px);
    --pad: clamp(10px, 0.83vw, 14px);
    border-radius: var(--br);
    border: 5px solid var(--color-white);
}
section.science .toggle-wrapper.science-toggle label > span {
    --check-color: var(--color-cyan);
    --color: var(--color-primary);
}
section.science .toggle-wrapper.science-toggle label > span.jb {
    ---color: var(--color-white);
}
section.science .toggle-wrapper.science-toggle .jb {
    --color: var(--color-white);
}
section.science .toggle-wrapper.science-toggle .jb:after {
    background: var(--color-primary);
}
section.science .toggle-wrapper.science-toggle [type="checkbox"]:checked ~ label > span {
    --check-color: var(--color-cyan);
}
section.science .toggle-wrapper.science-toggle [type="checkbox"]:checked ~ label .jb {
    --color: var(--color-primary);
}
section.science .toggle-wrapper.science-toggle [type="checkbox"]:checked ~ label .gk {
    --color: var(--color-white);
}
section.science .swiper-container {
    margin-block: var(--section-margin-block) calc(var(--section-margin-block) * -1.75);
}
#science-toggle-wrapper {
    position: sticky;
    margin: 0;
    top: clamp(30px, 1vw, 120px);
    margin-bottom: var(--offset);
    margin-bottom: calc(var(--section-margin-block) * 0.7);
    z-index: 2;
}
.science-process-wrapper {
    display: grid;
    gap: 20px;
    counter-reset: a;
}
.science-process {
    --bg: var(--color-primary);
    --color: var(--color-primary);
    --title-color: var(--color-primary);
    --counter-bg: var(--color-accent);
    --counter-color: var(--color-primary);
    --big-counter-color: var(--color-white);
    padding: clamp(30px, 3.13vw, 60px);
    background-color: var(--bg);
    transform-origin: 50% -140%;
    counter-increment: a;
    border-radius: 20px;
}
.science-process .process-title,
.science-process .text {
    color: var(--color);
}
.science-process .title {
    color: var(--title-color);
    font-size: var(--typography-h5-size);
    font-weight: var(--typography-weight-sb);
    line-height: 1.2;
}
.science-process .text {
    font-size: clamp(14px, 0.94vw, 18px);
}
.science-process .text-wrapper {
    display: grid;
    gap: 10px;
}
.science-process .process-title {
    display: grid;
    font-size: var(--typography-h3-size);
    line-height: 1.2;
}
.science-process .process-title,
.science-process .process-title:before {
    margin-bottom: 0.5em;
    font-weight: var(--typography-weight-bd);
    font-style: italic;
}
.science-process .process-title:before {
    display: block;
    content: counter(a, decimal-leading-zero);
    font-size: 16px;
    padding: 0.25em 0.5em;
    color: var(--counter-color);
    background-color: var(--counter-bg);
    width: auto;
    margin-right: auto;
    border-radius: 8px;
    line-height: 1;
}
.science-process#process-1,
.science-process#process-5 {
    --color: var(--color-white);
    --title-color: var(--color-accent);
}
.science-process#process-2,
.science-process#process-6 {
    --bg: var(--color-cyan);
    --counter-bg: var(--color-primary);
    --counter-color: var(--color-cyan);
}
.science-process#process-3,
.science-process#process-7 {
    --bg: var(--color-white);
    --big-counter-color: var(--color-cyan);
}
.science-process#process-4,
.science-process#process-8 {
    --bg: var(--color-platinum);
}
.is-gk .show-jb,
.show-gk {
    display: none !important;
}
.is-gk .show-gk {
    display: grid !important;
}
.process-icon {
    height: 70px;
    width: auto;
    margin-top: 40px;
}
div.swiper-container {
    --position: 25%;
    width: min(50vw, 1000px);
    aspect-ratio: 980/456;
    position: relative;
    margin-inline: auto;
    margin-block: var(--section-margin-block) 0;
    min-width: 300px;
}
div.swiper-container .image-container {
    width: 100%;
    height: 100%;
    position: relative;
}
div.swiper-container .image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}
div.swiper-container .before {
    position: absolute;
    inset: 0;
    width: var(--position);
}
div.swiper-container .swiper {
    position: absolute;
    inset: 0;
    cursor: pointer;
    opacity: 0;
    width: 100%;
    height: 100%;
}
div.swiper-container .swiper-line {
    position: absolute;
    inset: 0;
    width: clamp(2px, 0.31vw, 6px);
    height: 95%;
    background-color: var(--color-cyan);
    left: var(--position);
    transform: translateX(-50%);
    pointer-events: none;
}
div.swiper-container .swiper-button {
    position: absolute;
    top: 50%;
    left: var(--position);
    transform: translate(-50%, -50%);
    pointer-events: none;
    --size: clamp(40px, 5.21vw, 100px);
    width: var(--size);
    height: var(--size);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='104' viewBox='0 0 104 104'%3E%3Cg transform='translate(-1114 -7788)'%3E%3Ccircle data-name='Ellipse 565' cx='52' cy='52' r='52' transform='translate(1114 7788)' fill='%2334f6f2'/%3E%3Cpath data-name='Path 3515' d='M1147.3 7848v-13.41h4.37a7.625 7.625 0 0 1 3.708.855 6.128 6.128 0 0 1 2.43 2.358 6.864 6.864 0 0 1 .864 3.483 6.927 6.927 0 0 1-.864 3.483 6.093 6.093 0 0 1-2.43 2.376 7.625 7.625 0 0 1-3.708.855zm2.444-2.16h1.98a4.717 4.717 0 0 0 2.367-.567 3.994 3.994 0 0 0 1.557-1.584 4.921 4.921 0 0 0 .558-2.4 5.027 5.027 0 0 0-.549-2.421 3.8 3.8 0 0 0-1.557-1.568 4.894 4.894 0 0 0-2.376-.549h-2zm9.956 2.16v-9.792h2.214v2.178l-.18-.324a2.565 2.565 0 0 1 1.066-1.53 3.383 3.383 0 0 1 1.758-.432h.576v2.088h-.846a2.172 2.172 0 0 0-1.62.621 2.368 2.368 0 0 0-.612 1.737V7848zm8.98.216a4.292 4.292 0 0 1-1.78-.342 2.66 2.66 0 0 1-1.17-.981 2.67 2.67 0 0 1-.414-1.485 2.9 2.9 0 0 1 .36-1.449 2.872 2.872 0 0 1 1.114-1.071 5.577 5.577 0 0 1 1.91-.612l3.2-.522v1.8l-2.754.468a2.009 2.009 0 0 0-1.044.45 1.112 1.112 0 0 0-.342.846.957.957 0 0 0 .387.8 1.535 1.535 0 0 0 .963.3 2.642 2.642 0 0 0 1.307-.318 2.244 2.244 0 0 0 .882-.873 2.447 2.447 0 0 0 .315-1.227v-2.52a1.33 1.33 0 0 0-.5-1.053 1.94 1.94 0 0 0-1.305-.423 2.3 2.3 0 0 0-1.341.405 2.347 2.347 0 0 0-.855 1.071l-1.926-.936a3.4 3.4 0 0 1 .913-1.337 4.578 4.578 0 0 1 1.467-.891 5.091 5.091 0 0 1 1.836-.324 4.851 4.851 0 0 1 2.124.441 3.453 3.453 0 0 1 1.431 1.224 3.258 3.258 0 0 1 .513 1.827V7848h-2.231v-1.674l.5-.036a3.961 3.961 0 0 1-.9 1.053 3.8 3.8 0 0 1-1.188.648 4.59 4.59 0 0 1-1.472.225zm11.5 3.744a5.619 5.619 0 0 1-2.034-.36 4.84 4.84 0 0 1-1.611-1 3.783 3.783 0 0 1-.981-1.5l2.2-.828a2.04 2.04 0 0 0 .855 1.107 2.792 2.792 0 0 0 1.575.423 2.841 2.841 0 0 0 1.269-.27 2 2 0 0 0 .855-.783 2.364 2.364 0 0 0 .306-1.233v-2.234l.45.54a3.351 3.351 0 0 1-1.35 1.332 4.038 4.038 0 0 1-1.926.45 4.768 4.768 0 0 1-2.448-.63 4.5 4.5 0 0 1-1.692-1.728 4.978 4.978 0 0 1-.612-2.466 4.914 4.914 0 0 1 .612-2.466 4.511 4.511 0 0 1 1.674-1.7 4.689 4.689 0 0 1 2.412-.621 3.96 3.96 0 0 1 1.935.459 3.863 3.863 0 0 1 1.4 1.323l-.324.594v-2.16h2.225v9.305a4.269 4.269 0 0 1-.621 2.286 4.39 4.39 0 0 1-1.692 1.584 5.145 5.145 0 0 1-2.475.576zm-.108-6.534a2.564 2.564 0 0 0 1.328-.333 2.366 2.366 0 0 0 .891-.927 2.811 2.811 0 0 0 .321-1.366 2.764 2.764 0 0 0-.333-1.359 2.48 2.48 0 0 0-.9-.945 2.477 2.477 0 0 0-1.305-.342 2.621 2.621 0 0 0-1.332.342 2.42 2.42 0 0 0-.927.945 2.764 2.764 0 0 0-.333 1.359 2.713 2.713 0 0 0 .333 1.35 2.456 2.456 0 0 0 .918.936 2.607 2.607 0 0 0 1.341.34z' fill='%23193153'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
}
.has-animated-line {
    overflow: hidden;
}
.has-animated-line .container {
    position: relative;
    z-index: 2;
}
.animated-line-wrapper {
    position: absolute;
    inset-block: calc(var(--section-margin-block) * 1.5);
    inset-inline: -5vw -8vw;
    color: var(--color-accent);
}
.animated-line-wrapper svg {
    display: block;
    width: 100%;
}
.animated-line-wrapper .path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
@keyframes dash {
    0% {
        stroke-dashoffset: 1;
    }
    to {
        stroke-dashoffset: 0;
    }
}
@media (orientation: portrait) {
    section.fullwidth_media {
        --section-title-color: var(--color-white);
        --section-subtitle-color: var(--color-cyan);
    }
    section.fullwidth_media picture {
        aspect-ratio: 1;
    }
}
.section-media-wrapper a {
    display: block;
}
@media screen and (max-width: 667px) {
    .animated-line-wrapper svg {
        transform: scale(1.5);
        transform-origin: top center;
    }
}
@media screen and (max-width: 1209px) {
    .section-image {
        aspect-ratio: 800/510;
        border-radius: 0 !important;
    }
    .section-image,
    .section-media-wrapper {
        margin-top: var(--section-margin-block);
    }
}
@media (min-width: 821px) {
    section:has(.section-image) {
        position: relative;
    }
    section:has(.section-image) .section-content {
        align-content: center;
        justify-items: left;
        display: grid;
    }
    section .section-image {
        width: 100%;
        height: auto;
    }
    section .section-image.bottom {
        margin-top: calc(var(--section-margin-block) * 0.5);
    }
    section .section-image:not(.bottom) {
        margin-top: 0;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 50%;
    }
    section .section-image.right-wide {
        left: 50%;
    }
    section .section-image.right-wide img {
        object-position: left center;
    }
    section .section-image.left-wide img {
        object-position: right center;
    }
    section .section-image.bottom-left,
    section .section-image.bottom-right {
        top: auto;
        height: calc(100% - var(--section-margin-block));
    }
    section .section-image.bottom-right {
        left: 50%;
    }
    section .section-bg-image {
        position: absolute;
        bottom: 0;
        left: 50%;
        height: 100%;
        margin-bottom: 0;
    }
    section .section-bg-image img {
        height: 100%;
        width: 100%;
        object-fit: contain;
        object-position: left top;
    }
    section .section-bg-image.bottom-left {
        left: auto;
        right: 50%;
    }
    section .section-bg-image.bottom-left,
    section .section-bg-image.bottom-right {
        height: calc(100% - var(--section-margin-block) * 0.5);
    }
    section .title-elements:has(.drag-explore) > * {
        max-width: 60%;
    }
    section .title-elements .drag-explore {
        display: flex;
    }
    section.split-screen {
        display: grid;
        grid-template-columns: minmax(var(--container-padding-inline), 1fr) minmax(0, calc(var(--container-max-width) / 2)) minmax(0, calc(var(--container-max-width) / 2)) minmax(var(--container-padding-inline), 1fr);
        position: relative;
    }
    section.split-screen > .media-wrapper {
        order: unset;
        width: 100%;
        height: auto;
        object-fit: cover;
        align-self: flex-start;
    }
    section.split-screen > .media-wrapper:first-child {
        grid-column: 1/3;
    }
    section.split-screen > .media-wrapper:last-child {
        grid-column: 3/-1;
    }
    section.split-screen > :not(.media-wrapper) {
        order: unset;
        display: grid;
        align-content: center;
        justify-items: start;
    }
    section.split-screen > :not(.media-wrapper):first-child {
        padding-left: 0;
        grid-column: 2/3;
        padding-right: clamp(32px, 6.25vw, 120px);
    }
    section.split-screen > :not(.media-wrapper):first-child:before {
        grid-column: 1/2;
    }
    section.split-screen > :not(.media-wrapper):last-child {
        padding-right: 0;
        padding-left: clamp(1rem, 5vw, 3rem);
        grid-column: 3/4;
    }
    section.split-screen > :not(.media-wrapper):last-child:before {
        grid-column: 4/5;
    }
    section.split-screen > :not(.media-wrapper):before {
        content: "";
        position: absolute;
        inset: 0;
        background: inherit;
    }
    section .section-image.left-wide {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    section .section-image.right-wide {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .contact-text {
        display: grid;
        gap: 30px;
        margin-top: 0.625em;
    }
    .contact-text .title-elements {
        line-height: 1.2;
    }
    .contact-text > * {
        margin-bottom: 0;
    }
    .contact-text .hours {
        margin-bottom: 20px;
    }
    .contact-text .social {
        margin-top: 20px;
    }
    .text-center .section-text {
        margin-inline: auto;
    }
    .science-process .content {
        position: relative;
        padding-right: 50%;
    }
    .science-process .content:after {
        position: absolute;
        bottom: 0;
        right: 0;
        display: block;
        content: counter(a, decimal-leading-zero);
        font-size: calc(var(--typography-h1-size) * 2.54);
        font-weight: var(--typography-weight-bd);
        color: var(--big-counter-color);
        line-height: 1;
    }
}
@media screen and (max-width: 820px) {
    .horiz-scroller .panel:not(:first-child):nth-child(2n) {
        aspect-ratio: 375/600 !important;
    }
}
/*! Flickity v2.1.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative;
}
.flickity-enabled:focus {
    outline: none;
}
.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
}
.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    margin-bottom: 1.875rem;
}
.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing;
}
.flickity-button {
    --bg: var(--color-accent);
    --icon-color: var(--color-primary);
    position: relative;
    display: inline-block;
    background: var(--bg);
    border: none;
}
.flickity-button:hover {
    cursor: pointer;
}
.flickity-button:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--color-dark);
}
.flickity-button:active {
    opacity: 0.8;
}
.flickity-button:disabled {
    --bg: var(--color-white);
    cursor: auto;
    pointer-events: none;
}
.flickity-button-icon {
    fill: var(--icon-color);
}
.flickity-prev-next-button {
    font-size: var(--nav-size);
    width: 1em;
    aspect-ratio: 1/1;
    border-radius: 50%;
    left: calc(50% - var(--nav-size));
    margin-top: 0.667em;
}
.flickity-prev-next-button.previous {
    transform: translateX(-10px);
}
.flickity-prev-next-button.next {
    transform: translateX(10px);
}
.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px;
}
.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 30%;
    top: 30%;
    width: 40%;
    height: 40%;
}
.flickity-page-dots {
    position: absolute;
    width: auto;
    bottom: -25px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
}
.flickity-rtl .flickity-page-dots {
    direction: rtl;
}
.flickity-page-dots .dot {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 8px 0 0;
    background: var(--color-white);
    border-radius: 50%;
    cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
    background: var(--color-dark);
}
.carousel {
    --width: calc(100vw - var(--layout-padding-inline) * 2);
    --spacing: var(--layout-grid-gap);
    --nav-size: clamp(30px, 3.65vw, 70px);
}
.carousel:not(.flickity-enabled) {
    position: relative;
}
.carousel:not(.flickity-enabled):before {
    display: block;
    content: "Loading...";
    padding-inline: 30px;
    pading-block: 30px;
    text-align: center;
}
.carousel:not(.flickity-enabled) > * {
    display: none;
}
.carousel.flickity-enabled,
.carousel.flickity-enabled .flickity-viewport {
    overflow: visible;
}
.carousel.testimonials-wrapper .flickity-slider > * {
    min-height: 100%;
}
.carousel .slide,
.carousel.testimonials-wrapper .flickity-slider > * > * {
    width: var(--width);
}
.carousel .flickity-slider > * {
    min-height: 100%;
    display: flex;
}
.carousel .flickity-slider > :not(:first-child) {
    margin-left: var(--spacing);
}
.carousel .card {
    min-height: 100%;
}
.gallery-slider picture {
    position: relative;
    height: clamp(150px, 25vw, 378px);
}
.gallery-slider picture img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: clamp(6px, 1.04vw, 20px);
}
.gallery-slider.logos picture {
    height: 95px;
}
.gallery-slider.logos picture:not(:first-child) {
    margin-left: 80px;
}
.gallery-slider.logos picture:not(:first-child):before {
    position: absolute;
    top: 0;
    left: -38px;
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: var(--color-primary);
    margin-right: 32px;
}
.horiz-scroller {
    --spacing: 20px;
    --width: calc(100vw - var(--layout-padding-inline) * 2);
    --br: 20px;
    --padding: clamp(30px, 3.13vw, 60px);
    overflow: visible;
}
.horiz-scroller:not(.flickity-enabled) {
    display: flex;
    gap: var(--spacing);
}
.horiz-scroller.flickity-enabled .flickity-viewport {
    overflow: visible;
}
.horiz-scroller.flickity-enabled .flickity-viewport .panel:not(:first-child) {
    margin-left: var(--spacing);
}
.horiz-scroller .panel {
    --title-color: var(--color-white);
    --subtitle-color: var(--color-cyan);
    min-height: 100%;
    min-width: 300px;
    width: 34.6vw;
    max-width: 665px;
    flex-shrink: 0;
}
.horiz-scroller .panel:first-child .inner-content {
    max-width: max(280px, 83%);
}
.horiz-scroller .panel:not(:first-child) {
    display: flex;
    flex-flow: column;
    justify-content: end;
    gap: var(--spacing);
    padding: var(--padding);
}
.horiz-scroller .panel:not(:first-child):nth-child(2n) {
    background-color: var(--color-primary);
    border-radius: var(--br);
    aspect-ratio: 665/740;
    align-items: flex-end;
}
.horiz-scroller .panel:not(:first-child):nth-child(2n) .inner-content {
    max-width: 80%;
    margin-right: auto;
}
.horiz-scroller .panel:not(:first-child):nth-child(odd) {
    --title-color: var(--color-primary);
    padding: 0;
    max-width: 526px;
}
.horiz-scroller .panel:not(:first-child):nth-child(odd) .inner-content {
    border-radius: var(--br);
    padding: var(--padding);
    background-color: var(--color-cyan);
}
.horiz-scroller .panel:not(:first-child):nth-child(odd) .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
}
.horiz-scroller .panel:not(:first-child):nth-child(odd) img {
    border-radius: var(--br);
    flex-grow: 1;
    min-height: 0;
}
.horiz-scroller .panel:not(:first-child) .title {
    display: flex;
    align-items: center;
    gap: 8px;
}
.horiz-scroller .panel:not(:first-child) .title,
.horiz-scroller .panel:not(:first-child) p {
    margin-bottom: 0;
    color: var(--title-color);
    font-weight: var(--typography-weight-bd);
    font-style: italic;
}
.horiz-scroller .panel:not(:first-child) .subtitle {
    color: var(--subtitle-color);
    margin-bottom: 4px;
    font-style: italic;
    font-weight: var(--typography-weight-bd);
}
.horiz-scroller .panel:not(:first-child) p {
    font-weight: var(--typography-weight-md);
}
.horiz-scroller .panel img {
    object-fit: cover;
    border-radius: var(--br);
}
.horiz-scroller .panel.stack {
    display: grid;
    grid-template-areas: "stack";
    padding: 0;
}
.horiz-scroller .panel.stack > * {
    grid-area: stack;
}
.horiz-scroller .panel.stack .inner-content {
    z-index: 2;
    padding: var(--padding);
}
.horiz-scroller .panel.stack img {
    width: 100%;
    height: 100%;
}
.testimonials-wrapper {
    margin-top: clamp(16px, 1.56vw, 30px);
}
@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        .gallery-slider .flickity-viewport {
            margin-left: 2vw;
            animation: galleryReveal linear forwards;
            animation-timeline: view(y);
            animation-range: entry 5vh;
        }
        @keyframes galleryReveal {
            to {
                margin-left: 0;
            }
        }
    }
}
@media (min-width: 668px) {
    .carousel:not(.gallery-slider) {
        --width: 40vw;
    }
}
@media (min-width: 1210px) {
    .carousel:not(.gallery-slider) {
        --width: calc((100vw - (2 * var(--layout-padding-inline)) - (2 * var(--spacing))) / 3);
    }
    .carousel.wide-cards {
        --width: calc((100vw - (2 * var(--layout-padding-inline)) - (2 * var(--spacing))) / 1.6);
    }
    .carousel.wide-cards .card {
        max-width: 1082px;
        --img-ratio: 540/430;
        flex-direction: row;
    }
    .carousel.wide-cards .card picture {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .carousel.wide-cards .card > * {
        width: 50%;
        height: 100%;
    }
    .carousel.wide-cards .card > :not(img, picture) {
        padding: var(--padding);
        padding-top: calc(var(--padding) * 1.5);
    }
    .carousel.wide-cards .card-content {
        align-content: start;
    }
}
.tabs-wrapper:not(.simple) .tabs {
    border-bottom: var(--tabs-border-bottom, 2px solid var(--color-dark));
}
.tabs-wrapper:not(.simple) .tab {
    cursor: pointer;
    border: none;
    border-radius: 0;
    background-color: var(--color-light);
    padding: var(--tab-padding, 0.625rem 1.5rem);
}
.tabs-wrapper:not(.simple) .tab.is-active {
    background-color: var(--color-dark);
    color: var(--color-white);
    text-decoration: none;
}
.tabs {
    margin-bottom: var(--tabs-margin-bottom, 1rem);
}
.tab {
    border: none;
    background: none;
    border-radius: 0;
}
.tab.is-active {
    text-decoration: underline;
}
.content-tabs {
    margin-bottom: var(--content-tabs-margin-bottom, 1rem);
}
.content-tab {
    display: none;
}
.content-tab.is-active {
    display: block;
}
#toast {
    --fs: clamp(14px, 0.94vw, 18px);
    visibility: hidden;
    width: calc(100vw - 60px);
    max-width: 500px;
    background-color: var(--color-success);
    text-align: center;
    border-radius: 16px;
    padding: 16px;
    position: fixed;
    z-index: 1007;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    font-size: var(--fs);
    box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.6);
}
#toast,
#toast a:not(.button) {
    color: var(--color-white) !important;
}
#toast a:not(.button) {
    text-decoration: underline;
}
#toast.info {
    background-color: var(--color-dark);
}
#toast.warning {
    background-color: var(--color-alert);
}
#toast.error {
    background-color: var(--color-error);
}
@keyframes toastIn {
    0% {
        bottom: 0;
        opacity: 0;
    }
    to {
        bottom: 30px;
        opacity: 1;
    }
}
@keyframes toastOut {
    0% {
        bottom: 30px;
        opacity: 1;
    }
    to {
        bottom: 0;
        opacity: 0;
    }
}
body.toast-active a,
body.toast-active div,
body.toast-active label {
    animation: toastErrorCursor 1s;
}
body.toast-active #toast {
    --toast_timing: var(--toast_timing, 2500ms);
    visibility: visible;
    animation: toastIn 0.5s;
}
body.toast-active #toast:not(.persist) {
    animation: toastIn 0.5s, toastOut 0.5s var(--toast_timing);
}
@keyframes toastErrorCursor {
    0% {
        cursor: default;
    }
    1% {
        cursor: not-allowed;
    }
    99% {
        cursor: not-allowed;
    }
    to {
        cursor: default;
    }
}
body.toast-active:has(#toast.persist):after {
    content: "";
    display: block;
    z-index: 1006;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.4);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.ticker-wrapper {
    overflow-y: clip;
    position: relative;
}
.ticker-wrapper:before {
    content: attr(data-text);
    opacity: 0;
}
.ticker {
    position: absolute;
    top: 0;
    left: 0;
    height: inherit;
    overflow: hidden;
    display: grid;
    white-space: nowrap;
}
.hide {
    display: none !important;
}
.show-for-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.is-show-dm {
    display: none;
}
@media screen and (min-width: 668px) {
    .is-hide-sm {
        display: none !important;
    }
}
@media screen and (min-width: 821px) {
    .is-hide-md {
        display: none !important;
    }
}
@media screen and (min-width: 1210px) {
    .is-hide-lg {
        display: none !important;
    }
}
@media screen and (min-width: 1701px) {
    .is-hide-xl {
        display: none !important;
    }
}
@media screen and (max-width: 667px) {
    .is-hide-xs-only,
    .is-show-lg,
    .is-show-md,
    .is-show-sm,
    .is-show-xl {
        display: none !important;
    }
}
@media screen and (min-width: 668px) and (max-width: 820px) {
    .is-hide-sm-only,
    .is-show-lg,
    .is-show-md,
    .is-show-xl {
        display: none !important;
    }
}
@media screen and (min-width: 821px) and (max-width: 1209px) {
    .is-hide-md-only,
    .is-show-lg,
    .is-show-xl {
        display: none !important;
    }
}
@media screen and (min-width: 1210px) and (max-width: 1700px) {
    .is-hide-lg-only,
    .is-show-xl {
        display: none !important;
    }
}
@media screen and (min-width: 1701px) {
    .is-hide-xl-only {
        display: none !important;
    }
}
@media screen and (min-width: 64rem) {
    .is-hide-dm {
        display: none !important;
    }
    .is-show-dm {
        display: inherit !important;
    }
}
.is-show-mouse,
.is-show-touch,
.is-show-touch-mouse {
    display: none;
}
@media (pointer: coarse) {
    .is-show-touch {
        display: inherit;
    }
    .is-hide-touch {
        display: inherit !important;
    }
}
@media (pointer: fine), (pointer: none) {
    .is-show-mouse {
        display: inherit;
    }
    .is-hide-mouse {
        display: none !important;
    }
}
@media (pointer: fine) and (any-pointer: coarse) {
    .is-show-touch-mouse {
        display: inherit;
    }
    .is-hide-touch-mouse {
        display: none !important;
    }
}
#locations-map {
    min-height: 80dvh;
    width: 100vw;
    position: relative;
}
#locations-map-wrapper {
    position: relative;
    display: grid;
    gap: 30px;
}
.map-legend {
    background-color: var(--color-white);
    border-radius: 30px;
    z-index: 2;
    display: flex;
    gap: 14px;
    padding: 16px;
    margin: -30px 0 -30px 30px;
}
.map-legend .key {
    --bg: var(--color-primary);
    display: flex;
    align-items: center;
    font-size: 12px;
    gap: 5px;
}
.map-legend .key:before {
    content: "";
    display: block;
    border-radius: 50%;
    width: 1.2em;
    height: 1.2em;
    background-color: var(--bg);
}
.map-legend .key.coming-soon {
    --bg: var(--color-warning);
}
.map-legend .key.closed {
    --bg: var(--color-error);
}
#locations-sidebar {
    --button-fs: clamp(12px, 0.83vw, 16px);
    display: flex;
    flex-direction: column;
}
#locations-sidebar .button {
    --pad-block: 0.75em;
    --fs: var(--button-fs);
}
#locations-sidebar .form-title {
    --color: var(--color-primary);
    --icon-color: var(--color-cyan);
    margin-bottom: 16px;
}
#locations-sidebar .form-subtitle {
    font-weight: var(--typography-weight-normal);
    line-height: 1.1;
}
#locations-sidebar {
    --spacing: clamp(0px, 2.6vw, 50px);
    --padding: 30px;
    margin: var(--spacing);
    border-radius: clamp(1px, 1.56vw, 30px);
    overflow: hidden;
    background-color: var(--color-platinum);
}
#locations-sidebar > * {
    padding: var(--padding);
}
#locations-sidebar form {
    background-color: var(--color-white);
}
#locations-search-wrapper {
    width: 100%;
    margin-top: 10px;
}
#locations-search-wrapper input {
    --form-input-padding: 10px 20px;
    --form-input-radius: 10px;
    background-color: var(--color-light);
    border: 2px solid transparent;
    font-size: clamp(12px, 0.83vw, 16px);
    padding-block: 0.9em;
}
#locations-search-wrapper input[aria-invalid="true"] {
    border-color: var(--color-error);
}
#locations-results-wrapper {
    flex-grow: 1;
    overflow-y: auto;
    height: 100dvh;
    margin-bottom: var(--padding);
    display: grid;
    align-items: start;
    gap: 20px;
}
.search-actions {
    display: flex;
    gap: 30px;
    align-items: flex-end;
    margin-top: 20px;
}
.search-actions > * {
    display: flex;
    gap: 0.5em;
    align-items: center;
    color: var(--color-primary);
    font-weight: var(--typography-weight-md);
    font-size: 12px;
    cursor: pointer;
}
.search-actions > * .icon {
    font-size: 1.2em;
}
.search-actions > :hover {
    color: var(--color-black);
}
.is-show-single a.button.disable-for-single {
    opacity: 0.5;
    pointer-events: none;
}
.locations-search-bar {
    --fs: clamp(18px, 1.25vw, 24px);
    --button-fs: clamp(16px, 0.94vw, 18px);
    --padding: 1.25em;
    background-color: hsl(from var(--color-white) h s l/.74);
    padding: var(--padding);
    border-radius: 4.1667em;
    margin-top: 60px;
}
.locations-search-bar .flex-grid.gap {
    gap: 14px;
    width: 100%;
}
.locations-search-bar .item {
    --icon-size: 3em;
    --icon-color: var(--color-accent);
    margin-right: 1em;
}
.locations-search-bar .item .icon {
    color: var(--color-accent);
    width: var(--icon-size);
}
.locations-search-bar .item span {
    font-size: var(--fs);
}
.locations-search-bar input {
    font-size: var(--button-fs);
    background-color: var(--color-white);
    border: 1px solid transparent;
    border-radius: 4.875em;
    padding: 1em;
    line-height: 1.5;
    padding-block: 1em;
}
.search-filters {
    background: var(--color-light);
    padding-block: 20px;
    padding-inline: var(--padding);
    width: calc(100% + var(--padding) * 2);
    margin-left: calc(var(--padding) * -1);
    margin-bottom: calc(var(--padding) * -1);
    margin-top: 20px;
}
.filter-button-wrapper {
    position: relative;
    z-index: 2;
    background-image: linear-gradient(90deg, var(--color-light) 0, var(--color-light) 45%, transparent 50%, transparent);
}
#filters-wrapper {
    display: grid;
    align-items: center;
    justify-items: left;
    overflow: hidden;
}
#filters-wrapper > * {
    grid-area: 1/1;
}
#filters-wrapper.open .filters {
    opacity: 1;
    transform: translateX(0);
}
.filters {
    display: flex;
    gap: 16px;
    z-index: 1;
}
.filters .filter-toggle {
    font-size: 32px;
    margin-left: auto;
}
.location-status {
    --pill-fs: 12px;
    --pill-bgcolor: var(--color-cyan);
    --pill-color: var(--color-primary);
}
.closed {
    --pill-bgcolor: var(--color-error);
}
.closed,
.coming-soon {
    --pill-color: var(--color-white);
}
.coming-soon {
    --pill-bgcolor: var(--color-warning);
}
.location-card {
    --bg-color: var(--color-white);
    --title-color: var(--color-primary);
    --title-fs: var(--typography-h6-size);
    --icons-color: var(--color-primary);
    --address-color: var(--color-black);
    --padding: 16px;
    background-color: var(--bg-color);
    padding: var(--padding);
    display: grid;
    gap: var(--padding);
    border-radius: 13px;
}
.location-card picture {
    border-radius: 20px;
    aspect-ratio: 495/195;
    overflow: hidden;
}
.location-card picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.location-card .address,
.location-card .meta {
    font-size: 12px;
}
.location-card .distance {
    color: var(--title-color);
}
.location-card .distance,
.location-card .icons,
.location-card .meta {
    display: flex;
    gap: 8px;
    align-items: center;
}
.location-card .distance .icon,
.location-card .icons .icon,
.location-card .meta .icon {
    font-size: 1.33em;
}
.location-card .content {
    display: grid;
}
.location-card .title {
    font-size: var(--title-fs);
    font-weight: var(--typography-weight-bd);
    color: var(--title-color);
}
.location-card .address,
.location-card p {
    color: var(--address-color);
}
.location-card p {
    margin-block: 10px 10px;
    line-height: 1.2;
}
.location-card .footer {
    display: flex;
    gap: 16px;
    align-items: center;
}
.location-card .footer .icons {
    flex-grow: 1;
    justify-content: right;
    font-size: 26px;
    display: flex;
    gap: 16px;
}
.location-card .footer .icons > * {
    fill: var(--icons-color);
    cursor: pointer;
}
.location-card .footer .icons > :hover {
    opacity: 0.8;
}
.location-card.is-active {
    --bg-color: var(--color-primary);
    --title-color: var(--color-white);
    --icons-color: var(--color-cyan);
    --address-color: var(--color-white);
}
.location-card.is-active .button {
    --button-before-bg: var(--color-white);
}
.location-card.no-location {
    --padding: 30px;
    --title-fs: var(--typography-h5-size);
}
.custom-clustericon {
    background: var(--cluster-color, var(--color-primary));
    color: #fff;
    border-radius: 100%;
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
}
.map-location {
    --size: 30px;
    --location-color: var(--color-primary);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background-color: var(--location-color);
}
.map-location:not(.is-active) svg {
    display: none;
}
.map-location svg {
    width: 100%;
    height: 100%;
}
.map-location.closed {
    --location-color: var(--color-error);
}
.map-location.coming-soon {
    --location-color: var(--color-warning);
}
.map-location.is-active {
    transform: scale(2.53);
    background-color: transparent;
}
.map-location.is-active .outer {
    animation: pulse-animation 2s infinite;
    transform-origin: center;
}
.user-origin {
    width: 76px;
    height: 76px;
}
.user-origin .outer {
    animation: pulse-animation 2s infinite;
    transform-origin: center;
}
.gm-style .gm-style-iw-c,
.gm-style .gm-style-iw-d {
    background-color: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.gm-style .gm-style-iw-tc {
    display: none !important;
}
.map-location-link {
    display: block;
    font-size: clamp(16px, 1.04vw, 20px);
    font-family: var(--typography-body-font);
    font-weight: var(--typography-weight-bd);
    color: var(--color-primary);
    background-color: var(--color-white);
    padding: 0.4em 1em 0.5em;
    border-radius: 30px;
    box-shadow: 0 2px 7px 1px rgba(0, 0, 0, 0.16);
}
.map-location-link:after {
    display: inline-block;
    content: "";
    margin-left: 0.5em;
    width: 1em;
    height: 1em;
    background: transparent
        url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill='%2334f6f2' d='M7 3v2H2v11h11v-5h2v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11-3v8h-2V3.413l-7.793 7.794-1.414-1.414L14.585 2H10V0z' data-name='Path 3221'/%3E%3C/svg%3E")
        no-repeat;
    background-size: 100%;
}
.map-location-link sup {
    transform: translateY(13%);
    display: inline-block;
}
@keyframes pulse-animation {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    75% {
        opacity: 0.33;
    }
    to {
        transform: scale(1);
        opacity: 0;
    }
}
@media (min-width: 821px) {
    #locations-map {
        min-height: 100dvh;
    }
    .map-legend {
        position: absolute;
        right: var(--layout-border-radius);
        bottom: 30px;
        margin: 0;
    }
    #locations-map-wrapper {
        display: grid;
        gap: unset;
        grid-template-areas: "stack";
        place-items: center;
    }
    #locations-map-wrapper > * {
        grid-area: stack;
    }
    #locations-sidebar {
        --spacing: clamp(0px, 2.6vw, 50px);
        --padding: 30px;
        margin-top: calc(var(--js-header-height) + var(--spacing));
        height: calc(100vh - var(--js-header-height) - var(--spacing) * 2);
        width: clamp(320px, 25vw, 510px);
        align-self: start;
        justify-self: left;
        z-index: 2;
    }
    #locations-results-wrapper {
        max-height: 100%;
    }
}
.location-name {
    display: flex;
    flex-flow: wrap;
}
.membership,
.theme--lime {
    --color-accent: var(--color-lime);
}
.membership .section-color.bg-lime-gradient .button:not([data-type]),
.theme--lime .section-color.bg-lime-gradient .button:not([data-type]) {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-white);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: hsl(from var(--color-black) h s l/0.5);
    --button-after-bg: var(--color-white);
}
.membership section.fullwidth_media,
.theme--lime section.fullwidth_media {
    --section-subtitle-color: var(--color-accent);
}
.membership section.fullwidth_media .button,
.theme--lime section.fullwidth_media .button {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-lime-gradient-right);
}
.membership .app-button,
.theme--lime .app-button {
    --hover-bg: var(--color-accent);
    --hover-color: var(--color-primary);
}
.membership .button:not([data-type]),
.theme--lime .button:not([data-type]) {
    --button-color: var(--color-primary);
    --button-hover-color: var(--color-primary);
    --button-arrow-color: var(--color-primary);
    --button-before-bg: var(--color-white);
    --button-after-bg: var(--color-lime-gradient-right);
}
.single-location .item {
    font-size: clamp(16px, 1.04vw, 20px);
}
.single-location .brandmark-wrapper {
    font-size: clamp(60px, 5.73vw, 110px);
    width: 1em;
    height: 1em;
    margin-bottom: 0.5em;
}
.contact-links {
    display: grid;
    justify-items: left;
}
.contact-links a {
    text-decoration: none;
    line-height: 1.3;
}
.contact-links a:hover {
    text-decoration: underline;
}
.location-social {
    margin-top: calc(var(--button-wrapper-gap) * 1.5);
}
.location_info .gallery-slider {
    margin-top: var(--section-margin-block);
}
.location-contact-wrapper {
    margin-top: clamp(30px, 3.65vw, 70px);
}
.location-contact-wrapper img.profile {
    width: min(20vw, 160px);
    border-radius: 50%;
    object-fit: cover;
    aspect-ratio: 1/1;
}
.location-contact-wrapper .contact-name {
    font-size: clamp(22px, 1.88vw, 36px);
    line-height: 1.1;
}
.location-contact-wrapper .contact-title {
    margin-top: 4px;
    color: var(--color-primary-50);
    font-size: clamp(16px, 1.15vw, 22px);
    line-height: 1.1;
}
.location-contact-wrapper .contact-track-wrapper {
    margin-top: 1em;
    font-size: clamp(14px, 0.94vw, 18px) !important;
}
.features-wrapper {
    --icon-height: clamp(50px, 3.85vw, 74px);
    margin-top: clamp(16px, 1.56vw, 30px);
}
.feature-icon {
    height: var(--icon-height);
    aspect-ratio: 1/1;
    fill: var(--color-accent);
}
.feature-category {
    color: var(--color-accent);
}
.location_features {
    --color: var(--color-cyan);
    --color-hr: var(--color-white);
}
.location_features hr {
    color: var(--color-hr);
    border-width: 2px;
}
.location_features .name .pill {
    font-style: normal;
    border-radius: 1em;
}
.location_features .name > span {
    display: flex;
    align-items: center;
    gap: 0.5em;
}
.location_features .package-features {
    --color: var(--color-white);
    --color-icon: var(--color-accent);
    --plus-color: var(--color-accent);
}
.packages-slider-wrapper {
    margin-bottom: calc(var(--section-margin-block) * 1.5);
    counter-reset: b;
}
.package-slide {
    --bg: var(--color-cyan-gradient);
    --padding: clamp(30px, 2.6vw, 50px);
    --padding-left: calc(var(--padding) * 1.6);
    --title-color: var(--color-primary);
    --title-size: clamp(32px, 3.65vw, 70px);
    --subtitle-color: var(--color-accent);
    --desc-color: var(--color-primary);
    --icon-color: var(--color-primary);
    --arrow-size: calc(var(--title-size) * 1.26);
    --discover-fs: clamp(16px, 1.04vw, 20px);
    --discover-bg: var(--color-primary);
    --discover-color: var(--color-primary);
    counter-increment: b;
    display: grid;
    place-items: end center;
    background: var(--bg);
    padding-block: var(--padding);
    padding-inline: var(--padding-left) var(--padding);
    border-radius: 20px;
    aspect-ratio: 3/2;
    overflow: clip;
    min-height: 0 !important;
    max-width: 800px;
}
.package-slide .content {
    display: grid;
    justify-items: left;
    align-items: start;
}
.package-slide .circle-button {
    position: absolute;
    top: var(--padding);
    right: var(--padding);
    width: var(--arrow-size) !important;
    height: var(--arrow-size) !important;
}
.package-slide .discover-more {
    position: absolute;
    bottom: calc(var(--padding) * 1);
    left: var(--padding-left);
    font-size: var(--discover-fs);
    width: 100%;
    align-items: center;
    gap: 0.5em;
    overflow: hidden;
    color: var(--discover-color);
    display: none;
}
.package-slide .discover-more:before {
    content: "";
    display: block;
    width: 2.2em;
    height: 2.2em;
    mask: var(--icon-plus-circle);
    mask-repeat: no-repeat;
    background: var(--discover-bg);
    transition: transform 0.25s;
    position: relative;
    z-index: 2;
}
.package-slide .package-title {
    color: var(--title-color);
    font-size: var(--title-size);
    position: relative;
    font-weight: var(--typography-weight-bd);
    line-height: 1;
    font-style: italic;
}
.package-slide .package-title:before {
    position: absolute;
    right: 100%;
    content: counter(b, decimal-leading-zero);
    font-size: 0.28em;
    line-height: 1.8;
    margin-right: 0.5em;
    font-weight: var(--typography-weight-md);
}
.package-slide .package-subtitle {
    font-size: clamp(20px, 1.46vw, 28px);
    color: var(--subtitle-color);
    font-weight: var(--typography-weight-md);
}
.package-slide .package-desc {
    font-size: clamp(16px, 1.04vw, 20px);
    color: var(--desc-color);
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: height 0.25s, visibility 0.25s, opacity 0.2s;
}
.package-slide .pill {
    margin-bottom: 20px;
}
.package-slide:first-child {
    --subtitle-color: var(--color-white);
}
.package-slide:first-child .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
}
.package-slide:nth-child(2) {
    --bg: var(--color-primary);
    --title-color: var(--color-white);
    --desc-color: var(--color-white);
    --icon-color: var(--color-accent);
    --discover-bg: var(--color-cyan);
    --discover-color: var(--color-white);
}
.package-slide:nth-child(2) .pill {
    --pill-bgcolor: var(--color-cyan);
    --pill-color: var(--color-primary);
}
.package-slide:nth-child(2) .circle-button {
    --bg: var(--color-cyan);
    --color: var(--color-primary);
}
.package-slide:nth-child(3) {
    --bg: var(--color-white);
    --subtitle-color: var(--color-sky);
    --icon-color: var(--color-accent);
    --discover-bg: var(--color-cyan-gradient);
}
.package-slide:nth-child(3) .pill {
    --pill-bgcolor: var(--color-primary);
    --pill-color: var(--color-white);
}
.package-slide:nth-child(3) .circle-button {
    --bg: var(--color-cyan);
    --color: var(--color-white);
}
.circle-button {
    --bg: var(--color-primary);
    --color: var(--color-accent);
    border-radius: 50%;
    background-color: var(--bg);
    display: block;
    position: relative;
    overflow: hidden;
    rotate: -45deg;
}
.circle-button:after,
.circle-button:before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color);
    mask-image: var(--icon-arrow-short);
    mask-position: center;
    mask-size: 36%;
    mask-repeat: no-repeat;
    transition: transform 0.25s;
}
.circle-button:after {
    transform: translateX(calc(var(--arrow-size) * -1.1));
}
.link-block {
    --padding: clamp(30px, 2.6vw, 50px);
    --padding-left: calc(var(--padding) * 1.6);
    --title-size: var(--typography-h4-size);
    --icon-color: var(--color-primary);
    --arrow-size: calc(var(--title-size) * 2);
    --bg: var(--color-primary);
    --title-color: var(--color-primary);
    --desc-color: var(--color-white);
    display: grid;
    place-items: end center;
    padding-block: var(--padding);
    padding-inline: var(--padding-left) var(--padding);
    border-radius: 20px;
    aspect-ratio: 3/2;
    min-height: 0 !important;
    max-width: 800px;
    position: relative;
}
.link-block:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: var(--bg);
    transition: transform 0.5s ease;
    border-radius: 20px;
    z-index: 1;
}
.link-block .content {
    display: grid;
    justify-items: left;
    align-items: start;
    z-index: 2;
}
.link-block .circle-button {
    --bg: var(--color-cyan);
    --color: var(--color-primary);
    position: absolute;
    top: var(--padding);
    right: var(--padding);
    width: var(--arrow-size) !important;
    height: var(--arrow-size) !important;
    z-index: 2;
}
.link-block .title {
    color: var(--title-color);
    font-size: var(--title-size);
    position: relative;
    font-weight: var(--typography-weight-bd);
    line-height: 1;
}
.link-block span {
    font-size: clamp(16px, 0.94vw, 18px);
    color: var(--desc-color);
}
.link-block:first-child {
    --title-color: var(--color-cyan);
}
.link-block:nth-child(2) {
    --bg: var(--color-cyan-gradient);
    --title-color: var(--color-primary);
    --desc-color: var(--color-white);
}
.link-block:nth-child(2) .circle-button {
    --bg: var(--color-white);
    --color: var(--color-primary);
}
.link-block:nth-child(3) {
    --bg: var(--color-white);
    --desc-color: var(--color-primary);
}
.link-block:nth-child(3) .circle-button {
    --bg: var(--color-cyan);
    --color: var(--color-primary);
}
section:has(.bubbles) {
    position: relative;
}
section:has(.bubbles) .container {
    z-index: 2;
}
.bubbles {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-bottom-left-radius: var(--section-bottom-radius);
    border-bottom-right-radius: var(--section-bottom-radius);
}
.bubbles canvas {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw !important;
    height: 50%;
    max-height: 50vh;
}
.map-wrapper {
    border-radius: clamp(16px, 1.56vw, 30px);
    overflow: clip;
    aspect-ratio: 660/530;
}
.map {
    object-fit: cover;
    width: 100%;
    height: 100%;
    background: var(--color-light);
}
.back-button {
    --color: var(--color-primary);
    --icon-color: var(--color-accent);
    display: inline-flex;
    align-items: flex-end;
    min-width: fit-content;
    color: var(--color);
    line-height: 1;
    font-size: var(--typography-paragraph-size);
}
.back-button .icon {
    font-size: 1.5em;
    margin-right: 0.5em;
    fill: var(--icon-color);
}
.hashtag {
    font-weight: var(--typography-header-weight);
    font-style: italic;
    line-height: 1em;
}
.item {
    --icon-size: 1.2em;
    --icon-color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: 0.5em;
}
.item .icon {
    fill: var(--icon-color);
    height: var(--icon-size);
    flex-shrink: 0;
}
.card.testimonial-item {
    --title-color: var(--color-dark);
    display: flex;
    align-items: flex-end;
    max-width: 530px;
}
.card.testimonial-item .card-content {
    padding-inline: var(--padding);
}
.card.testimonial-item .card-title {
    color: var(--title-color);
    font-size: var(--title-size);
    font-weight: var(--typography-weight-sb);
}
.card.testimonial-item .author-wrapper {
    margin-bottom: 0;
}
.rating-wrapper {
    --color: var(--color-accent);
    --bg: var(--color-light);
    display: flex;
    gap: 6px;
    font-size: 24px;
    margin-bottom: clamp(16px, 1.56vw, 30px);
}
.rating-wrapper svg {
    fill: var(--color);
}
.rating-wrapper svg .bg {
    fill: var(--bg);
}
.author-wrapper {
    --name-size: clamp(16px, 1.04vw, 20px);
    --name-color: var(--color-dark);
    --title-color: var(--color-medium);
    --margin: clamp(16px, 1.56vw, 30px);
    display: flex;
    gap: 18px;
    align-items: center;
    min-height: 80px;
}
.author-wrapper:first-child {
    margin-bottom: var(--margin);
}
.author-wrapper:last-child {
    margin-top: var(--margin);
}
.author-wrapper .name {
    color: var(--name-color);
    font-size: var(--name-size);
    font-weight: var(--typography-weight-sb);
}
.author-wrapper .title {
    color: var(--title-color);
    font-weight: var(--typography-weight-md);
}
.author-image {
    width: 80px;
    height: 80px;
}
.author-image img {
    object-fit: cover;
    border-radius: 50%;
}
.author-content {
    flex: 1;
}
.author-content > * {
    display: block;
}
.rotating-hashtag {
    --color: var(--color-primary);
    --parts-color: var(--color-accent);
    display: flex;
    align-items: center;
    margin-inline: auto;
    font-size: clamp(20px, 1.67vw, 32px);
    font-weight: var(--typography-weight-bd);
    color: var(--color);
    font-style: italic;
}
.rotating-hashtag .end {
    position: relative;
}
.rotating-hashtag .initial {
    opacity: 0;
}
.rotating-hashtag .parts {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
}
.rotating-hashtag .ticker :not(.first) {
    color: var(--parts-color);
}
.scroll-icon {
    --color: var(--color-white);
    height: 40px;
    color: var(--color);
}
.scroll-icon svg {
    display: block;
    height: 100%;
}
.scroll-icon .ball {
    animation: 2s mouse-scroll infinite ease-in-out;
}
@keyframes mouse-scroll {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    to {
        transform: translateY(15%);
        opacity: 0;
    }
}
.app-buttons {
    --bg: var(--color-white);
    --color: var(--color-primary);
    --hover-bg: var(--color-primary);
    --hover-color: var(--color-accent);
    --size: 70px;
    --br: 50px;
    display: flex;
    gap: 20px;
}
.app-button {
    font-size: var(--size);
    width: 1em;
    height: 1em;
    border-radius: var(--br);
    position: relative;
    background: var(--bg);
    margin-top: 40px;
    display: block;
}
.app-button svg {
    display: block;
    position: absolute;
    height: 0.35em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    fill: var(--icon-color);
}
.app-button:hover {
    background: var(--hover-bg);
}
.app-button:hover svg {
    fill: var(--hover-color);
}
.animated-app-buttons {
    --bg: var(--color-white);
    --color: var(--color-primary);
    --hover-bg: var(--color-accent);
    --hover-color: var(--color-primary);
    --gap: 12px;
    --fs: clamp(14px, 0.94vw, 18px);
    --size: 70px;
    --br: 50px;
    --timing: 300ms ease-in-out;
    display: flex;
    align-items: center;
    gap: var(--gap);
    margin-top: calc(var(--fs) * 3);
    transition: gap var(--timing);
    position: relative;
    border-radius: var(--br);
    overflow: clip;
    justify-self: center;
}
.animated-app-buttons:after,
.animated-app-buttons:before {
    position: absolute;
    display: block;
    content: "";
    inset-block: 0;
    left: 0;
    width: 100%;
    background: var(--bg);
    z-index: 1;
    max-width: 100%;
    transition: max-width var(--timing);
    border-top-right-radius: var(--br);
    border-bottom-right-radius: var(--br);
}
.animated-app-buttons:after {
    left: auto;
    right: 0;
    border-radius: 0;
    border-top-left-radius: var(--br);
    border-bottom-left-radius: var(--br);
}
.animated-app-buttons > * {
    margin-top: 0;
    z-index: 2;
}
.animated-app-buttons span {
    display: flex;
    align-items: center;
    font-size: var(--fs);
    color: var(--color);
    font-weight: var(--typography-weight-sb);
}
.animated-app-buttons span:after {
    display: inline-block;
    content: "";
    mask: var(--icon-button-arrow);
    mask-repeat: no-repeat;
    background-color: var(--color);
    aspect-ratio: 26/16;
    height: 1em;
    margin-left: 0.5em;
    transition: max-width 0.5s;
}
.animated-app-buttons:hover {
    --gap: 30px;
}
.animated-app-buttons:hover:after {
    max-width: 0;
}
.animated-app-buttons:hover span {
    --color: var(--color-white);
}
.animated-app-buttons:hover:after,
.animated-app-buttons:hover:before {
    max-width: 0;
}
.story-wrapper {
    display: grid;
    gap: calc(var(--section-padding-block) * 0.667);
}
.story-wrapper .pin-spacer {
    z-index: 1 !important;
}
.story {
    display: grid;
    gap: 30px;
    text-align: center;
    position: relative;
}
.story-picture picture {
    margin-top: 10px;
}
#story-search {
    --section-title-fs: clamp(30px, 4.69vw, 90px);
    --section-title-color: var(--color-white);
    --section-subtitle-color: var(--color-cyan);
    padding-block: var(--section-margin-block);
    aspect-ratio: 800/510;
    display: grid;
    z-index: 2;
    position: relative;
    z-index: 3;
}
#story-search,
#story-search .content-grid {
    align-content: end;
}
#story-search #story-img-end {
    position: absolute;
    inset: 0;
    z-index: -1;
}
#story-search picture {
    border-radius: var(--layout-border-radius);
    aspect-ratio: unset;
}
#story-img {
    clip-path: none;
    border-radius: 30vw;
    z-index: -1;
    position: relative;
    margin: 0;
    height: 100%;
}
#story-img:after {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    top: 30%;
    background: transparent linear-gradient(180deg, hsl(from var(--color-black) h s l/0), hsl(from var(--color-black) h s l/1));
    opacity: 0.62;
    z-index: 1;
}
#story-img img {
    clip-path: none;
    object-fit: cover;
    object-position: center;
}
#jobs-list {
    display: grid;
    gap: 40px;
}
.dept {
    --fs: var(--typography-h5-size);
    --fw: var(--typography-weght-md);
    display: grid;
    gap: 20px;
}
.dept-name {
    line-height: 1;
    margin-bottom: 0.5em;
    font-size: var(--fs);
}
.dept-name,
.job {
    color: var(--color-primary-50);
    font-weight: var(--fw);
}
.job {
    --title-color: var(--color-primary) !important;
    --bg: var(--color-white);
    background-color: var(--bg);
    padding: 1.3em 1.7em;
    display: block;
    border-radius: 20px;
    transition: background-color 0.25s, color 0.25s;
}
.job .flex-grid {
    gap: 20px;
    align-items: center;
}
.job:hover {
    --bg: var(--color-primary);
    --title-color: var(--color-white) !important;
}
.job > * {
    color: var(--color-primary-50) !important;
}
.job .title {
    color: var(--title-color);
    font-size: var(--fs);
}
@media (hover: hover) {
    .package-slide {
        display: block;
    }
    .package-slide .discover-more {
        display: flex;
    }
    .package-slide .discover-more span {
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 0.25s, opacity 0.25s;
    }
    .package-slide .content {
        margin-bottom: calc(var(--padding) * 2);
    }
    .package-slide:hover .package-desc {
        height: auto;
        visibility: visible;
        opacity: 1;
    }
    .package-slide:hover .discover-more:before {
        transform: rotate(180deg);
    }
    .package-slide:hover .discover-more span {
        opacity: 1;
        transform: translateX(0);
    }
    .package-slide:hover .circle-button:before {
        transform: translateX(calc(var(--arrow-size) * 1.1));
    }
    .package-slide:hover .circle-button:after {
        transform: translateX(0);
    }
    .link-block:hover:before {
        transform: scale(1.05);
    }
    .link-block:hover .title {
        text-decoration: underline;
    }
    .link-block:hover .circle-button:before {
        transform: translateX(calc(var(--arrow-size) * 1.1));
    }
    .link-block:hover .circle-button:after {
        transform: translateX(0);
    }
}
@media screen and (max-width: 820px) {
    .location-contact-wrapper img.profile {
        margin-bottom: 10px;
    }
    .location-contact-wrapper .item {
        --icon-size: 2em;
    }
    .locations-search-bar {
        margin-top: 20px;
    }
    #story-search {
        aspect-ratio: 800/1000;
    }
}
@media (min-width: 668px) {
    .job .cell:has(.button) {
        display: flex;
        justify-content: right;
    }
}
@media (min-width: 821px) {
    .location_features .col-md-6:first-child {
        padding-right: var(--layout-grid-gap);
    }
    .location_features .col-md-6:last-child {
        padding-left: var(--layout-grid-gap);
    }
    .packages-slider-wrapper.carousel {
        --width: calc((100vw - (var(--layout-padding-inline) * 2) - (var(--spacing) * 2)) / 2);
    }
    .packages-slider-wrapper.carousel .package-slide {
        aspect-ratio: 800/550;
    }
    .story {
        align-items: center;
        grid-template-columns: repeat(12, 1fr);
        text-align: left;
    }
    .story > * {
        grid-row: 1;
    }
    .story .story-picture {
        grid-column: auto/span 6;
        aspect-ratio: 800/510;
        width: 100%;
        height: auto;
    }
    .story picture {
        margin: 0;
    }
    .story .story-inner {
        padding-block: var(--layout-grid-gap);
        grid-column: auto/span 5;
        grid-column-start: 8;
    }
    .story:nth-child(2n) .story-inner {
        grid-column-start: 1;
    }
    .story:nth-child(2n) .story-picture {
        grid-column-start: 7;
    }
}
@media (min-width: 1210px) {
    .story {
        gap: 0;
    }
    .story .story-inner {
        grid-column: auto/span 4;
        grid-column-start: 8;
    }
    .story:nth-child(2n) .story-inner {
        grid-column-start: 2;
    }
    .packages-slider-wrapper.carousel {
        --width: calc((100vw - (var(--layout-padding-inline) * 2) - (var(--spacing) * 2)) / 2);
    }
}
