@charset "UTF-8";
:root {
  --color-black-hsl: 0, 0%, 0%;
  --color-black: hsl(var(--color-black-hsl));
  --color-darker-grey-hsl: 0, 0%, 20%;
  --color-darker-grey: hsl(var(--color-darker-grey-hsl));
  --color-dark-grey-hsl: 0, 0%, 53%;
  --color-dark-grey: hsl(var(--color-dark-grey-hsl));
  --color-grey-hsl: 282, 9%, 72%;
  --color-grey: hsl(var(--color-grey-hsl));
  --color-light-grey-hsl: 0, 0%, 94%;
  --color-light-grey: hsl(var(--color-light-grey-hsl));
  --color-lighter-grey-hsl: 0, 0%, 97%;
  --color-lighter-grey: hsl(var(--color-lighter-grey-hsl));
  --color-white-hsl: 0, 100%, 100%;
  --color-white: hsl(var(--color-white-hsl));
  --color-red-hsl: 356, 93%, 53%;
  --color-red: hsl(var(--color-red-hsl));
  --color-red-dark-hsl: 356, 93%, 43%;
  --color-red-dark: hsl(var(--color-red-dark-hsl));
  --color-red-light-hsl: 356, 93%, 73%;
  --color-red-light: hsl(var(--color-red-light-hsl));
  --color-violet-hsl: 265, 100%, 83%;
  --color-violet: hsl(var(--color-violet-hsl));
  --color-violet-dark-hsl: 265, 100%, 73%;
  --color-violet-dark: hsl(var(--color-violet-dark-hsl));
  --color-violet-mid-hsl: 264.78, 100%, 90.98%;
  --color-violet-mid: hsl(var(--color-violet-mid-hsl));
  --color-violet-light-hsl: 276, 100%, 97%;
  --color-violet-light: hsl(var(--color-violet-light-hsl));
  --color-violet-lighter-hsl: 276, 100%, 99%;
  --color-violet-lighter: hsl(var(--color-violet-lighter-hsl));
  --color-violet-bright-hsl: 283, 100%, 75%;
  --color-violet-bright: hsl(var(--color-violet-bright-hsl));
  --color-main-hsl: var(--color-red-hsl);
  --color-main: hsl(var(--color-main-hsl));
  --color-main-dark-hsl: var(--color-red-dark-hsl);
  --color-main-dark: hsl(var(--color-main-dark-hsl));
  --color-main-light-hsl: var(--color-red-light-hsl);
  --color-main-light: hsl(var(--color-main-light-hsl));
  --color-accent-hsl: var(--color-violet-hsl);
  --color-accent: hsl(var(--color-accent-hsl));
  --color-accent-dark-hsl: var(--color-violet-dark-hsl);
  --color-accent-dark: hsl(var(--color-accent-dark-hsl));
  --color-accent-mid-hsl: var(--color-violet-mid-hsl);
  --color-accent-mid: hsl(var(--color-accent-mid-hsl));
  --color-accent-light-hsl: var(--color-violet-light-hsl);
  --color-accent-light: hsl(var(--color-accent-light-hsl));
  --color-accent-lighter-hsl: var(--color-violet-lighter-hsl);
  --color-accent-lighter: hsl(var(--color-accent-lighter-hsl));
  --color-accent-bright-hsl: var(--color-violet-bright-hsl);
  --color-accent-bright: hsl(var(--color-accent-bright-hsl));
  --color-text: var(--color-black);
  --color-error: var(--color-red-dark);
  --color-success: green;
  --color-notice: #E9FEFF;
  --font-family-text: "SeasonSans", Helvetica, Arial, sans-serif;
  --font-weight-text: 300;
  --line-height-text: 1.5;
  --font-family-display: "SeasonMix", Helvetica, Arial, sans-serif;
  --font-weight-display: 700;
  --line-height-display: 1.3;
  --content-width: 58.5rem;
  --content-width-sm: 46.5rem;
  --content-spacing: 1.2rem;
  --content-spacing-sm: calc(var(--content-spacing) * 0.8);
  --content-spacing-lg: calc(var(--content-spacing) * 2.4);
  --rad: 10px;
  --rad-lg: 30px;
  --z-index-filters: 90;
  --z-index-header: 100;
  --z-index-search: 250;
  --z-index-menu: 200;
  --z-index-dialog: 300;
  --z-index-notice: 400;
  --gap: 1.5rem;
  --ease-in: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --background-image-noise: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==");
}
@media (max-width: 767px) {
  :root {
    --content-spacing: 0.8rem;
  }
}

@font-face {
  font-family: SeasonSans;
  src: url("/fonts/SeasonSans-TRIAL-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: SeasonSans;
  src: url("/fonts/SeasonSans-TRIAL-RegularItalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: SeasonSans;
  src: url("/fonts/SeasonSans-TRIAL-SemiBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: SeasonSans;
  src: url("/fonts/SeasonSans-TRIAL-SemiBoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: SeasonMix;
  src: url("/fonts/SeasonMix-TRIAL-Medium.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
:root {
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@media (max-width: 339px) {
  .hide-sm-mobile-down {
    display: none !important;
  }
}
@media (min-width: 340px) {
  .hide-sm-mobile-up {
    display: none !important;
  }
}
@media (max-width: 399px) {
  .hide-mobile-down {
    display: none !important;
  }
}
@media (min-width: 400px) {
  .hide-mobile-up {
    display: none !important;
  }
}
@media (max-width: 479px) {
  .hide-lg-mobile-down {
    display: none !important;
  }
}
@media (min-width: 480px) {
  .hide-lg-mobile-up {
    display: none !important;
  }
}
@media (max-width: 639px) {
  .hide-sm-tablet-down {
    display: none !important;
  }
}
@media (min-width: 640px) {
  .hide-sm-tablet-up {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hide-tablet-down {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hide-tablet-up {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  .hide-lg-tablet-down {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .hide-lg-tablet-up {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  .hide-sm-desktop-down {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  .hide-sm-desktop-up {
    display: none !important;
  }
}
@media (max-width: 1439px) {
  .hide-desktop-down {
    display: none !important;
  }
}
@media (min-width: 1440px) {
  .hide-desktop-up {
    display: none !important;
  }
}
@media (max-width: 1799px) {
  .hide-lg-desktop-down {
    display: none !important;
  }
}
@media (min-width: 1800px) {
  .hide-lg-desktop-up {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .hide-nav-down {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hide-nav-up {
    display: none !important;
  }
}
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style-type: "";
}

button,
input,
select,
textarea {
  margin: 0;
}

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

img,
video {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

td:not([align]),
th:not([align]) {
  text-align: left;
}

/* end minireset.css */
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  outline: none;
}

html {
  background: var(--color-white);
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
  color: var(--color-text);
  font-family: var(--font-family-text);
  font-weight: var(--font-weight-text);
  line-height: 1.3;
}
@media (max-width: 1023px) {
  body {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  body {
    font-size: 18px;
  }
}

:focus {
  outline: 2px solid var(--color-accent);
}

:focus:not(:focus-visible) {
  outline: none;
}

*[id] {
  scroll-margin-top: calc(var(--site-header-height) - 1px);
}

html.is-live-preview {
  scroll-behavior: unset;
}

@media (max-width: 479px) {
  :root {
    --gutter: 20px;
    --spacing: var(--content-spacing-lg);
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  :root {
    --gutter: 30px;
    --spacing: var(--content-spacing-lg);
  }
}
@media (min-width: 768px) {
  :root {
    --gutter: 60px;
    --spacing: var(--content-spacing-lg);
  }
}

.row {
  padding: var(--spacing) 0;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.container--wide {
  max-width: 1400px;
}

.container--full {
  max-width: none;
  padding: 0 var(--gutter);
}
@media (min-width: 480px) {
  .container--full {
    padding: 0 calc(var(--gutter) / 2);
  }
}

.container--edges {
  max-width: none;
  padding: 0;
}

.heading, .feature-video__title,
.h1,
.client__title,
.content h1,
.h2,
.product-titles__title,
.clients__title,
.content h2,
.h3,
.content h3,
.fui-page-title,
.h4,
.content h4,
.h5,
.tile__title,
.tile__subtitle,
.product-titles__price,
.marquee-item__title,
.feature-video__subtitle,
.content h5,
.fui-form .fui-heading,
.h6,
.content h6 {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-display);
  line-height: var(--line-height-display);
}
.heading a, .feature-video__title a,
.heading a:hover,
.h1 a,
.client__title a,
.content h1 a,
.h1 a:hover,
.h2 a,
.product-titles__title a,
.clients__title a,
.content h2 a,
.h2 a:hover,
.h3 a,
.content h3 a,
.fui-page-title a,
.h3 a:hover,
.h4 a,
.content h4 a,
.h4 a:hover,
.h5 a,
.tile__title a,
.tile__subtitle a,
.product-titles__price a,
.marquee-item__title a,
.feature-video__subtitle a,
.content h5 a,
.fui-form .fui-heading a,
.h5 a:hover,
.h6 a,
.content h6 a,
.h6 a:hover {
  color: inherit;
}

.h1, .client__title, .content h1 {
  font-size: 350%;
  color: var(--color-main);
  text-transform: uppercase;
  line-height: 1;
}
@media (min-width: 1024px) {
  .h1, .client__title, .content h1 {
    font-size: 450%;
  }
}

.h1--sm {
  font-size: 270%;
}
@media (min-width: 1024px) {
  .h1--sm {
    font-size: 400%;
  }
}

.h1--lg, .client__title:not(.client__title--long) {
  font-size: 400%;
}
@media (min-width: 1024px) {
  .h1--lg, .client__title:not(.client__title--long) {
    font-size: 500%;
  }
}

.h2, .product-titles__title, .clients__title, .content h2 {
  font-size: 240%;
  color: var(--color-main);
  text-transform: uppercase;
  line-height: 1;
}
@media (min-width: 1024px) {
  .h2, .product-titles__title, .clients__title, .content h2 {
    font-size: 280%;
  }
}

.h3, .content h3, .fui-page-title {
  font-size: 220%;
  color: var(--color-main);
  text-transform: uppercase;
  line-height: 1;
}

.h4, .content h4 {
  font-size: 160%;
  color: var(--color-main);
  text-transform: uppercase;
  line-height: 1;
}

.h5, .tile__title,
.tile__subtitle, .product-titles__price, .marquee-item__title, .feature-video__subtitle, .content h5, .fui-form .fui-heading {
  font-size: 130%;
  font-family: var(--font-family-text);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-black);
}
@media (min-width: 1024px) {
  .h5, .tile__title,
  .tile__subtitle, .product-titles__price, .marquee-item__title, .feature-video__subtitle, .content h5, .fui-form .fui-heading {
    font-size: 150%;
  }
}

.h6, .content h6 {
  font-size: 130%;
  font-family: var(--font-family-text);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-black);
}

.h7, .site-search__title {
  font-size: 100%;
  font-family: var(--font-family-text);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-black);
}

.h-basic, .clients__title, .h1-basic, .content .h1-basic {
  font-family: var(--font-family-text);
  font-weight: 700;
  color: var(--color-black);
  line-height: 1;
}

.h1-basic, .content .h1-basic {
  font-size: 320%;
}
@media (min-width: 1024px) {
  .h1-basic, .content .h1-basic {
    font-size: 480%;
  }
}

strong {
  font-weight: 700;
}

:root {
  --checkbox-size: 18px;
  --checkbox-indent: 30px;
  --checkbox-border-width: 1px;
}

.checkbox,
.fui-checkbox {
  margin: calc(var(--checkbox-size) / 3) 0;
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.checkbox input,
.fui-checkbox input {
  position: absolute;
  opacity: 0;
}

.checkbox--accent {
  --checkbox-checked-border-color: var(--color-accent);
  --checkbox-border-width: 2px;
}

label.checkbox,
.fui-checkbox-label {
  cursor: pointer;
}

.checkbox__label,
.fui-checkbox-label {
  display: block;
  position: relative;
  cursor: pointer;
  padding-left: var(--checkbox-indent);
}
.checkbox__label::before, .checkbox__label::after,
.fui-checkbox-label::before,
.fui-checkbox-label::after {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  transition: transform 0.2s cubic-bezier(0.54, 1.12, 0.38, 1.11);
  border-radius: 2px;
}
.checkbox__label::before,
.fui-checkbox-label::before {
  background: var(--checkbox-bg-color, transparent);
  border: var(--checkbox-border-width) solid var(--color-grey);
  transition: transform 0.05s;
}
.checkbox__label::after,
.fui-checkbox-label::after {
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: var(--checkbox-tick-color, var(--color-black));
  font-size: 70%;
  line-height: var(--checkbox-size);
  transform: scale(0);
}

input:disabled + .checkbox__label,
input:disabled + .fui-checkbox-label {
  color: var(--color-dark-grey);
}
input:disabled + .checkbox__label::before, input:disabled + .checkbox__label::after,
input:disabled + .fui-checkbox-label::before,
input:disabled + .fui-checkbox-label::after {
  opacity: 0.3;
}

input:not(:disabled):active + .checkbox__label::before,
input:not(:disabled):active + .fui-checkbox-label::before {
  background: var(--color-light-grey);
  transform: scale(0.97);
}
input:not(:disabled):active + .checkbox__label::after,
input:not(:disabled):active + .fui-checkbox-label::after {
  filter: brightness(0.95);
}

input:focus + .checkbox__label::before,
input:focus + .fui-checkbox-label::before {
  box-shadow: 0 0 0 1px var(--color-black);
}

input:checked + .checkbox__label::before,
input:checked + .fui-checkbox-label::before,
input[type=checkbox]:indeterminate + .checkbox__label::before,
input[type=checkbox]:indeterminate + .fui-checkbox-label::before {
  border-color: var(--checkbox-checked-border-color, var(--color-main));
}
input:checked + .checkbox__label::after,
input:checked + .fui-checkbox-label::after,
input[type=checkbox]:indeterminate + .checkbox__label::after,
input[type=checkbox]:indeterminate + .fui-checkbox-label::after {
  transform: scale(1);
}

input:checked + .checkbox__label::after,
input:checked + .fui-checkbox-label::after {
  content: "✔";
}

input[type=checkbox]:indeterminate + .checkbox__label::after,
input[type=checkbox]:indeterminate + .fui-checkbox-label::after {
  content: "-";
}

:root {
  --radio-size: 20px;
  --radio-indent: 30px;
  --radio-dot-size: 10px;
}

.radio,
.fui-radio {
  margin: calc(var(--radio-size) / 3) 0;
  padding-left: var(--radio-indent);
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.radio input,
.fui-radio input {
  position: absolute;
  opacity: 0;
}

label.radio,
.fui-radio-label {
  cursor: pointer;
}

.radio__label,
.fui-radio-label {
  display: block;
  position: relative;
  cursor: pointer;
}
.radio__label::before, .radio__label::after,
.fui-radio-label::before,
.fui-radio-label::after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--radio-indent));
  top: 3px;
  border-radius: 100%;
  transition: transform 0.2s cubic-bezier(0.54, 1.12, 0.38, 1.11);
}
.radio__label::before,
.fui-radio-label::before {
  border: 2px solid var(--color-grey);
  width: var(--radio-size);
  height: var(--radio-size);
}
.radio__label::after,
.fui-radio-label::after {
  margin: calc((var(--radio-size) - var(--radio-dot-size)) / 2);
  width: var(--radio-dot-size);
  height: var(--radio-dot-size);
  background: var(--color-accent);
  transform: scale(0);
}

input:disabled + .radio__label,
input:disabled + .fui-radio-label {
  color: var(--color-dark-grey);
}
input:disabled + .radio__label::before, input:disabled + .radio__label::after,
input:disabled + .fui-radio-label::before,
input:disabled + .fui-radio-label::after {
  opacity: 0.3;
}

input:not(:disabled):active + .radio__label::before,
input:not(:disabled):active + .fui-radio-label::before {
  background: var(--color-light-grey);
  transform: scale(0.97);
}
input:not(:disabled):active + .radio__label::after,
input:not(:disabled):active + .fui-radio-label::after {
  filter: brightness(0.95);
}

input:focus + .radio__label::before,
input:focus + .fui-radio-label::before {
  box-shadow: 0 0 0 5px var(--color-accent);
}

input:checked + .radio__label::before,
input:checked + .fui-radio-label::before {
  border-color: var(--color-accent);
}
input:checked + .radio__label::after,
input:checked + .fui-radio-label::after {
  transform: scale(1);
}

:root {
  --input-height: 60px;
  --input-padding-x: 20px;
  --input-padding-y: 15px;
}
@media (max-width: 767px) {
  :root {
    --input-height: 48px;
    --input-padding-x: 15px;
    --input-padding-y: 10px;
  }
}

.input, input.fui-input[type=text],
input.fui-input[type=number],
input.fui-input[type=email],
input.fui-input[type=tel],
input.fui-input[type=file],
input.fui-input[type=date],
input.fui-input[type=time],
textarea.fui-input,
select.fui-input,
select.fui-select {
  display: block;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  width: 100%;
  border: 1px solid var(--color-grey);
  height: var(--input-height);
  padding: var(--input-padding-y) var(--input-padding-x);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--rad);
}
.input::-moz-placeholder, input.fui-input[type=text]::-moz-placeholder, input.fui-input[type=number]::-moz-placeholder, input.fui-input[type=email]::-moz-placeholder, input.fui-input[type=tel]::-moz-placeholder, input.fui-input[type=file]::-moz-placeholder, input.fui-input[type=date]::-moz-placeholder, input.fui-input[type=time]::-moz-placeholder, textarea.fui-input::-moz-placeholder, select.fui-input::-moz-placeholder, select.fui-select::-moz-placeholder {
  font-size: inherit;
  color: inherit;
  opacity: 0.5;
}
.input::placeholder, input.fui-input[type=text]::placeholder,
input.fui-input[type=number]::placeholder,
input.fui-input[type=email]::placeholder,
input.fui-input[type=tel]::placeholder,
input.fui-input[type=file]::placeholder,
input.fui-input[type=date]::placeholder,
input.fui-input[type=time]::placeholder,
textarea.fui-input::placeholder,
select.fui-input::placeholder,
select.fui-select::placeholder {
  font-size: inherit;
  color: inherit;
  opacity: 0.5;
}
.input:focus, input.fui-input[type=text]:focus,
input.fui-input[type=number]:focus,
input.fui-input[type=email]:focus,
input.fui-input[type=tel]:focus,
input.fui-input[type=file]:focus,
input.fui-input[type=date]:focus,
input.fui-input[type=time]:focus,
textarea.fui-input:focus,
select.fui-input:focus,
select.fui-select:focus {
  outline: none;
  border-color: var(--color-accent);
  background-color: var(--color-accent-lighter);
}
.field--has-error .input, .field--has-error input.fui-input[type=text],
.field--has-error input.fui-input[type=number],
.field--has-error input.fui-input[type=email],
.field--has-error input.fui-input[type=tel],
.field--has-error input.fui-input[type=file],
.field--has-error input.fui-input[type=date],
.field--has-error input.fui-input[type=time],
.field--has-error textarea.fui-input,
.field--has-error select.fui-input,
.field--has-error select.fui-select {
  border-color: var(--color-error);
}

textarea.input,
textarea.fui-input {
  height: auto;
  padding: 20px;
}

select.input,
select.fui-input,
select.fui-select {
  background-repeat: no-repeat;
  background-image: url(/images/chevron-down.svg?4d3e85b817499c85301b471bc2aabed5);
  background-position: right 20px center;
  background-size: 16px 8px;
  padding-right: 30px;
}

.input--feature {
  background: var(--color-accent-light);
  border-color: var(--color-accent-light);
  height: 36px;
  padding: 7px 12px;
  font-size: 85%;
}
@media (min-width: 1200px) {
  .input--feature {
    height: 42px;
    padding: 10px 15px;
    font-size: 90%;
  }
}

.input--search {
  color: var(--color-text);
  /* clears the ‘X’ from Internet Explorer */
  /* clears the ‘X’ from Chrome */
}
.input--search::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
.input--search::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.input--search::-webkit-search-decoration, .input--search::-webkit-search-cancel-button, .input--search::-webkit-search-results-button, .input--search::-webkit-search-results-decoration {
  display: none;
}

.input-label, .fui-label,
.fui-legend {
  display: block;
  margin-bottom: 0.3em;
  font-size: 85%;
  font-weight: 700;
  color: var(--color-text);
}

.input-label--lg {
  font-size: 140%;
}

.input-wrapper {
  width: 100%;
  position: relative;
}

.input-group {
  display: flex;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  border-radius: var(--rad);
  height: var(--input-height);
}
.input-group .input, .input-group input.fui-input[type=text],
.input-group input.fui-input[type=number],
.input-group input.fui-input[type=email],
.input-group input.fui-input[type=tel],
.input-group input.fui-input[type=file],
.input-group input.fui-input[type=date],
.input-group input.fui-input[type=time],
.input-group textarea.fui-input,
.input-group select.fui-input,
.input-group select.fui-select {
  flex-grow: 1;
}
.input-group > * {
  border-radius: 0 !important;
  height: var(--input-height) !important;
}
.input-group > *:first-child {
  border-top-left-radius: var(--rad) !important;
  border-bottom-left-radius: var(--rad) !important;
}
.input-group > *:last-child {
  border-top-right-radius: var(--rad) !important;
  border-bottom-right-radius: var(--rad) !important;
}

.input__icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  place-content: center center;
  color: var(--color-blue);
  line-height: 0;
  font-size: 100%;
  z-index: 10;
}

:root {
  --btn-bg-color: transparent;
  --btn-color: var(--color-black);
  --btn-border-color: var(--color-black);
  --btn-hover-bg-color: var(--color-accent);
  --btn-hover-color: var(--color-black);
  --btn-hover-border-color: var(--color-black);
  --btn-border-width: 2px;
  --btn-padding: 1.3rem;
  --btn-height: 2.3rem;
  --btn-radius: var(--rad);
  --btn-font-size: 85%;
}
@media (max-width: 767px) {
  :root {
    --btn-padding: 1em;
    --btn-height: 36px;
  }
}

.btn, .site-menu__section--layout-rows .site-menu__list a, .fui-repeater-remove-btn, .fui-btn,
.fui-submit {
  display: inline-flex;
  gap: 0.75em;
  align-items: center;
  place-content: center center;
  padding-left: var(--btn-padding);
  padding-right: var(--btn-padding);
  height: var(--btn-height);
  position: relative;
  background-color: var(--btn-bg-color);
  border-radius: var(--btn-radius);
  border: var(--btn-border-width) solid transparent;
  border-color: var(--btn-border-color);
  color: var(--btn-color);
  font-family: var(--font-family);
  font-size: var(--btn-font-size);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  text-wrap: pretty;
  text-transform: uppercase;
  transition: 0.1s var(--ease-out);
  transition-property: opacity, background, border, filter, transform;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.btn:hover, .site-menu__section--layout-rows .site-menu__list a:hover, .fui-repeater-remove-btn:hover, .fui-btn:hover,
.fui-submit:hover, .btn:focus-visible, .site-menu__section--layout-rows .site-menu__list a:focus-visible, .fui-repeater-remove-btn:focus-visible, .fui-btn:focus-visible,
.fui-submit:focus-visible {
  border-color: var(--btn-hover-border-color);
  background-color: var(--btn-hover-bg-color);
  color: var(--btn-hover-color);
}
.btn:hover::before, .site-menu__section--layout-rows .site-menu__list a:hover::before, .fui-repeater-remove-btn:hover::before, .fui-btn:hover::before,
.fui-submit:hover::before, .btn:focus-visible::before, .site-menu__section--layout-rows .site-menu__list a:focus-visible::before, .fui-repeater-remove-btn:focus-visible::before, .fui-btn:focus-visible::before,
.fui-submit:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}
.btn:focus-visible, .site-menu__section--layout-rows .site-menu__list a:focus-visible, .fui-repeater-remove-btn:focus-visible, .fui-btn:focus-visible,
.fui-submit:focus-visible {
  outline-color: var(--btn-bg-color);
}
.btn[aria-selected=true], .site-menu__section--layout-rows .site-menu__list a[aria-selected=true], [aria-selected=true].fui-repeater-remove-btn, [aria-selected=true].fui-btn,
[aria-selected=true].fui-submit, .btn.btn--active, .site-menu__section--layout-rows .site-menu__list a.btn--active, .btn--active.fui-repeater-remove-btn, .btn--active.fui-btn,
.btn--active.fui-submit {
  background-color: var(--btn-active-bg-color, --btn-hover-bg-color);
  color: var(--btn-active-color, --btn-hover-color);
}
.btn::after, .site-menu__section--layout-rows .site-menu__list a::after, .fui-repeater-remove-btn::after, .fui-btn::after,
.fui-submit::after {
  content: "";
  position: absolute;
  inset: -4px;
}

select.btn, select.fui-repeater-remove-btn, select.fui-btn,
select.fui-submit {
  line-height: 1.5;
}

.btn--filled, .fui-btn,
.fui-submit {
  --btn-bg-color: var(--color-black);
  --btn-color: var(--color-white);
  --btn-border-color: var(--btn-bg-color);
  --btn-hover-bg-color: var(--color-accent);
  --btn-hover-color: var(--color-black);
  --btn-hover-border-color: var(--color-accent);
}

.btn--custom {
  --btn-hover-bg-color: color-mix(in srgb, var(--btn-bg-color) 92%, black);
  --btn-hover-border-color: var(--btn-hover-bg-color);
  --btn-hover-color: var(--btn-color);
}

.btn--stretch {
  width: 100%;
  justify-content: space-between;
}

.btn--sm {
  --btn-padding: 1.1em;
  --btn-height: 2.1rem;
  --btn-font-size: 80%;
}
@media (max-width: 767px) {
  .btn--sm {
    --btn-padding: 0.8em;
    --btn-height: 32px;
  }
}

.btn--lg, .fui-btn,
.fui-submit {
  --btn-padding: 1.5em;
  --btn-height: 3.5rem;
  --btn-font-size: 90%;
}

.btn--white {
  --btn-border-color: var(--color-white);
  --btn-color: var(--color-black);
  --btn-hover-background-color: var(--color-white);
  --btn-hover-border-color: var(--btn-border-color);
  --btn-hover-color: var(--btn-color);
}
.btn--white.btn--filled, .btn--white.fui-btn,
.btn--white.fui-submit {
  --btn-bg-color: var(--color-white);
  --btn-color: var(--color-black);
  --btn-border-color: var(--color-white);
  --btn-hover-bg-color: var(--color-violet-light);
  --btn-hover-color: var(--color-black);
  --btn-hover-border-color: var(--color-violet-light);
}
.theme-accent .btn--white {
  --btn-bg-color: var(--color-violet-light);
}
.theme-accent .btn--white.btn--outline {
  --btn-color: var(--color-white);
  --btn-hover-bg-color: hsla(var(--color-white-hsl), 10%);
  --btn-hover-color: var(--color-white);
}

.btn--accent, .fui-btn,
.fui-submit,
.btn--violet {
  --btn-border-color: var(--color-accent);
  --btn-color: var(--color-black);
  --btn-hover-background-color: var(--color-accent);
  --btn-hover-border-color: var(--btn-border-color);
  --btn-hover-color: var(--btn-color);
}
.btn--accent.btn--filled, .fui-btn,
.fui-submit,
.btn--violet.btn--filled {
  --btn-bg-color: var(--color-accent);
  --btn-color: var(--color-black);
  --btn-border-color: var(--color-accent);
  --btn-hover-bg-color: var(--color-accent-dark);
  --btn-hover-color: var(--color-black);
  --btn-hover-border-color: var(--color-accent-dark);
}
.theme-accent .btn--accent, .theme-accent .fui-btn,
.theme-accent .fui-submit,
.theme-accent .btn--violet {
  --btn-bg-color: var(--color-accent-dark);
}
.theme-accent .btn--accent.btn--outline, .theme-accent .btn--outline.fui-btn,
.theme-accent .btn--outline.fui-submit,
.theme-accent .btn--violet.btn--outline {
  --btn-color: var(--color-white);
  --btn-hover-bg-color: hsla(var(--color-white-hsl), 10%);
  --btn-hover-color: var(--color-white);
}

.btn--select {
  text-align: left;
  background-repeat: no-repeat;
  background-image: url(/images/chevron-down.svg?4d3e85b817499c85301b471bc2aabed5);
  background-position: right var(--btn-padding) center;
  background-size: 16px 8px;
  padding-right: 40px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.btn__text {
  white-space: nowrap;
  margin-bottom: -1px;
}

.btn__icon {
  font-size: 130%;
}

.btns {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6rem;
}
@media (min-width: 1024px) {
  .btns {
    gap: 1.2rem;
  }
}
.btns.btns--center, .text-center .btns {
  justify-content: center;
  text-align: center;
}
.btns.btns--right, .text-right .btns {
  justify-content: flex-end;
  text-align: right;
}

.btns--stacked {
  flex-direction: column;
}

@media (min-width: 1024px) {
  .btns--3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .btns--2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

[class^=icon-],
[class*=" icon-"] {
  display: inline-block;
}

.icon {
  fill: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}

.blur-up {
  transition: filter 1s var(--ease-out-quad);
}
.blur-up:not(.lazyloaded) {
  filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a' x='0' y='0' width='1' height='1'%3E%3CfeGaussianBlur stdDeviation='var(--rad)' result='b'/%3E%3CfeMorphology operator='dilate' radius='var(--rad)'/%3E %3CfeMerge%3E%3CfeMergeNode/%3E%3CfeMergeNode in='b'/%3E%3C/feMerge%3E%3C/filter%3E%3C/svg%3E#a");
}

:root {
  --fui-field-gutter: 1rem;
  --fui-field-min-width-2col: 15rem;
  --fui-error-color: var(--color-error);
  --fui-success-color: var(--color-success);
}

.fui-row:not(.fui-row-empty, :last-child) {
  margin-bottom: var(--fui-field-gutter);
}

.fui-row {
  display: flex;
}
.fui-row hr {
  margin: 0 !important;
}

.fui-group {
  background: hsla(var(--color-light-grey-hsl), 0.5);
  padding: 1em;
  padding-bottom: 1.25em;
}

.fui-i {
  text-align: left;
  margin-top: 4em;
  margin-bottom: 4em;
}
.fui-i:first-child {
  margin-top: 0;
}
.fui-i:last-child {
  margin-bottom: 0;
}

.fui-btn-wrapper {
  margin-block-start: calc(var(--fui-field-gutter) * 2);
  gap: 1em;
}

.fui-btn.fui-submit {
  padding-left: 3em;
  padding-right: 3em;
}

.fui-btn.fui-prev {
  padding-left: 3em;
  padding-right: 3em;
}

.fui-field-container:last-child, .fui-type-heading .fui-field-container, .fui-group .fui-field-container {
  margin-bottom: 0;
}

.fui-error-message {
  font-size: 75%;
  font-weight: 500;
  display: block;
  color: var(--fui-error-color);
  margin-top: 0.2em;
}

.fui-fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

.fui-label,
.fui-legend {
  margin-bottom: 0.2em;
  display: block;
  font-size: 85%;
  font-weight: 300;
}

.fui-legend {
  font-size: 110%;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.fui-group .fui-legend, .fui-repeater-row .fui-legend {
  font-size: 100%;
  color: var(--color-dark-blue);
}

.fui-page-title {
  margin-bottom: 0.5em;
}

.fui-hr {
  margin: var(--content-spacing) 0 !important;
}

.fui-required {
  color: var(--color-text);
}

.fui-instructions {
  color: var(--color-text);
  font-size: 72%;
  opacity: 0.8;
  margin-bottom: 0.3em;
}

textarea.fui-input {
  min-height: 100px;
}

.fui-input[data-field-has-error=true] {
  border-color: var(--fui-error-color) !important;
}

.fui-alert {
  border-radius: 5px;
  padding: 15px 20px;
  margin: 20px 0;
}

.fui-alert-success {
  background: var(--fui-success-color);
  color: var(--color-white);
}

.fui-alert-error {
  background: var(--fui-error-color);
  color: var(--color-white);
}

.fui-row-empty {
  margin: 0;
}

.formie-recaptcha-placeholder {
  margin-bottom: 1em;
}

.fui-layout-horizontal .fui-radio {
  margin-right: calc(var(--gutter) / 2);
}

.fui-prev {
  margin-right: 1em;
  background-color: var(--color-light-grey);
  border-color: var(--color-light-grey);
  color: var(--color-text);
}
.fui-prev:not(select):hover {
  background-color: var(--color-grey);
  border-color: var(--color-grey);
  color: var(--color-text);
}

.fui-signature-clear-btn {
  padding: 8px 15px;
}

.fui-type-signature {
  position: relative;
  width: 42rem;
  height: 18rem;
  max-width: 100%;
}
.fui-type-signature canvas {
  width: 100%;
  border: 1px solid var(--color-grey);
  border-radius: var(--rad);
  height: 150px;
}

.fui-field[data-conditionally-hidden] {
  display: block !important;
  overflow: hidden;
  height: 0;
  padding: 0;
  margin: 0 !important;
}
.fui-field[data-conditionally-hidden] .fui-field-container {
  display: none;
}

@keyframes loading {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fui-loading {
  position: relative;
  pointer-events: none;
  color: transparent !important;
  min-height: 1rem;
}
.fui-loading::after {
  position: absolute;
  display: block;
  height: 1rem;
  width: 1rem;
  margin-top: -0.5rem;
  margin-left: -0.5rem;
  border-width: 2px;
  border-style: solid;
  border-radius: 9999px;
  border-color: var(--color-white);
  animation: loading 0.5s infinite linear;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  left: 50%;
  top: 50%;
  z-index: 1;
}

.fui-loading.fui-loading-lg {
  min-height: 2rem;
}
.fui-loading.fui-loading-lg::after {
  height: 2rem;
  width: 2rem;
  margin-top: -1rem;
  margin-left: -1rem;
}

.fui-loading.fui-loading-sm {
  min-height: 0.75rem;
}
.fui-loading.fui-loading-sm::after {
  height: 0.75rem;
  width: 0.75rem;
  margin-top: -0.5rem;
  margin-left: -0.375rem;
}

.fui-loading.fui-loading-tiny {
  min-height: 0.5rem;
}
.fui-loading.fui-loading-tiny::after {
  height: 0.5rem;
  width: 0.5rem;
  margin-top: -6px;
  margin-left: -6px;
}

.btn.submit.fui-loading, .site-menu__section--layout-rows .site-menu__list a.submit.fui-loading, .submit.fui-loading.fui-repeater-remove-btn, .submit.fui-loading.fui-btn,
.submit.fui-loading.fui-submit {
  color: transparent !important;
}

.btn.submit.fui-loading::after, .site-menu__section--layout-rows .site-menu__list a.submit.fui-loading::after, .submit.fui-loading.fui-repeater-remove-btn::after, .submit.fui-loading.fui-btn::after,
.submit.fui-loading.fui-submit::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}

.btn.fui-loading, .site-menu__section--layout-rows .site-menu__list a.fui-loading, .fui-loading.fui-repeater-remove-btn, .fui-loading.fui-btn,
.fui-loading.fui-submit {
  color: transparent !important;
}

.fui-progress {
  display: flex;
  height: 1.6rem;
  overflow: hidden;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-navy);
  border-radius: 0.6rem;
  background-color: var(--color-light-grey);
  margin-bottom: 2rem;
}

.fui-progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: var(--color-yellow);
  transition: width 0.3s ease;
}

.fui-tabs {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  font-size: 70%;
  counter-reset: div;
}
@media (max-width: 767px) {
  .fui-tabs {
    display: none;
  }
}

.fui-tab {
  color: var(--color-text);
  margin-bottom: 0.6rem;
  margin-right: 0.6rem;
  display: flex;
  align-items: stretch;
}
.fui-tab:first-child {
  margin-left: 0;
}
.fui-tab:last-child {
  margin-right: 0;
}

.fui-tab a {
  text-decoration: none;
  border: 1px solid var(--color-grey) !important;
  border-bottom-color: var(--color-grey) !important;
  color: var(--color-text);
  display: flex;
  align-items: center;
  padding: 0.5rem 0.8rem 0.4rem;
  line-height: 1;
  border-radius: var(--rad);
}
.fui-tab a:hover {
  color: var(--color-blue);
}
.fui-tab a::before {
  content: counter(div) ". ";
  counter-increment: div;
  display: inline;
  margin-right: 3px;
}

.fui-tab-active a,
.fui-tab-complete a {
  font-weight: 700;
  color: var(--color-white) !important;
  background-color: var(--color-blue) !important;
  border-color: var(--color-blue) !important;
  border-bottom-color: var(--color-blue) !important;
}
.fui-tab-active a:hover,
.fui-tab-complete a:hover {
  color: var(--color-white);
}

.fui-tab-complete a {
  background-color: var(--color-dark-blue) !important;
  border-color: var(--color-dark-blue) !important;
  border-bottom-color: var(--color-dark-blue) !important;
}
.fui-tab-complete a:hover {
  color: var(--color-white);
}

.fui-table {
  font-size: 80%;
  border: 0 !important;
  margin-bottom: 1em !important;
}
.fui-table tr th,
.fui-table tr td {
  padding-right: 1em;
  border: 0 !important;
}
.fui-table tr td[data-col-remove] {
  vertical-align: middle;
  padding-right: 0;
}
.fui-table input.fui-input[type=text],
.fui-table input.fui-input[type=number],
.fui-table input.fui-input[type=email],
.fui-table input.fui-input[type=tel],
.fui-table input.fui-input[type=file],
.fui-table textarea.fui-input,
.fui-table select.fui-input,
.fui-table select.fui-select {
  padding: 8px 15px;
  height: 50px;
}

.fui-table-remove-btn {
  padding: 1em;
  background: 0;
  border: 0;
  color: var(--color-text);
  display: flex;
  align-items: center;
}

.fui-table-add-btn {
  padding: 8px 15px;
}

.fui-repeater-row {
  animation: repeater-row-in 0.3s ease;
  margin-bottom: var(--fui-field-gutter);
}
.fui-repeater-row > .fui-fieldset {
  display: flex;
  gap: 1em;
  align-items: flex-start;
  background: hsla(var(--color-light-blue-hsl), 0.5);
  padding: 1em;
  padding-bottom: 1.25em;
}
.fui-repeater-row > .fui-fieldset .fui-row:only-child .fui-field-container {
  margin-bottom: 0;
}
.fui-repeater-row > .fui-fieldset .fui-row:only-child .fui-subfield-fieldset {
  margin-bottom: 0;
}
.fui-repeater-row > .fui-fieldset .fui-field-rows {
  flex-grow: 1;
}
.fui-repeater-row > .fui-fieldset .fui-repeater-remove-btn {
  flex-shrink: 0;
}

@keyframes repeater-row-in {
  from {
    opacity: 0;
    transform: translateX(-1em);
  }
}
.fui-repeater-remove-btn {
  background-image: url("/staging/public_html/images/close-white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 50%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
  color: transparent !important;
}

.form-terms-box {
  background: var(--color-white);
  border-radius: var(--rad);
  border: 1px solid var(--color-light-grey);
  padding: 1rem;
}

.formie-duplicate-captcha-placeholder,
.formie-jscaptcha-placeholder {
  position: absolute;
}

.footer-form .fui-page {
  display: flex;
  gap: var(--fui-field-gutter);
}
.footer-form .fui-page-container {
  width: 100%;
}

:root {
  --iv-speed: 1.0s;
  --iv-slide-speed: 0.5s;
  --iv-delay: 0s;
  --translate-y: 0;
  --scale: 1;
}

@keyframes vis-hidden {
  to {
    visibility: hidden;
  }
}
@keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(var(--rotate-deg, 90deg));
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
}
@keyframes fade-out {
  to {
    opacity: 0;
  }
}
html:not(.no-js) .iv-once-children.iv-float-up > *,
html:not(.no-js) .iv-once.iv-float-up {
  transition: var(--iv-speed) var(--ease-out-quad);
  transition-property: transform, opacity;
}
html:not(.no-js) .iv-once-children.iv-float-up > *:not(.visible),
html:not(.no-js) .iv-once.iv-float-up:not(.visible) {
  opacity: 0;
  transform: translateY(1rem);
}

html:not(.no-js) .iv-once-children.iv-float-left > *,
html:not(.no-js) .iv-once.iv-float-left {
  transition: var(--iv-speed) var(--ease-out-quad);
  transition-property: transform, opacity;
}
html:not(.no-js) .iv-once-children.iv-float-left > *:not(.visible),
html:not(.no-js) .iv-once.iv-float-left:not(.visible) {
  opacity: 0;
  transform: translateX(1rem);
}

html:not(.no-js) .iv-delayed-children > *:nth-child(1),
html:not(.no-js) .iv-delayed:nth-child(1) {
  transition-delay: 0s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(2),
html:not(.no-js) .iv-delayed:nth-child(2) {
  transition-delay: 0.15s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(3),
html:not(.no-js) .iv-delayed:nth-child(3) {
  transition-delay: 0.3s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(4),
html:not(.no-js) .iv-delayed:nth-child(4) {
  transition-delay: 0.45s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(5),
html:not(.no-js) .iv-delayed:nth-child(5) {
  transition-delay: 0.6s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(6),
html:not(.no-js) .iv-delayed:nth-child(6) {
  transition-delay: 0.75s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(7),
html:not(.no-js) .iv-delayed:nth-child(7) {
  transition-delay: 0.9s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(8),
html:not(.no-js) .iv-delayed:nth-child(8) {
  transition-delay: 1.05s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(9),
html:not(.no-js) .iv-delayed:nth-child(9) {
  transition-delay: 1.2s;
}
html:not(.no-js) .iv-delayed-children > *:nth-child(10),
html:not(.no-js) .iv-delayed:nth-child(10) {
  transition-delay: 1.35s;
}

html:not(.no-js) .iv-zoom-in img {
  transition: calc(var(--iv-speed) * 2) var(--ease-out-quad);
  transition-property: transform;
}
html:not(.no-js) .iv-zoom-in:not(.visible) img {
  filter: blur(1px);
  transform: scale(1.1);
  opacity: 0;
}

html:not(.no-js) .iv-pop {
  transition: all var(--iv-speed) var(--ease-out-quad) var(--iv-delay, 0s);
}
html:not(.no-js) .iv-pop:not(.visible) {
  opacity: 0;
  transform: translateY(1rem);
}
html:not(.no-js) .iv-pop:nth-child(1) {
  transition-delay: 0s;
}
html:not(.no-js) .iv-pop:nth-child(2) {
  transition-delay: 0.15s;
}
html:not(.no-js) .iv-pop:nth-child(3) {
  transition-delay: 0.3s;
}
html:not(.no-js) .iv-pop:nth-child(4) {
  transition-delay: 0.45s;
}
html:not(.no-js) .iv-pop:nth-child(5) {
  transition-delay: 0.6s;
}
html:not(.no-js) .iv-pop:nth-child(6) {
  transition-delay: 0.75s;
}
html:not(.no-js) .iv-pop:nth-child(7) {
  transition-delay: 0.9s;
}
html:not(.no-js) .iv-pop:nth-child(8) {
  transition-delay: 1.05s;
}
html:not(.no-js) .iv-pop:nth-child(9) {
  transition-delay: 1.2s;
}
html:not(.no-js) .iv-pop:nth-child(10) {
  transition-delay: 1.35s;
}

html:not(.no-js) .iv-slide-right,
html:not(.no-js) .iv-slide-left {
  transition: all var(--iv-slide-speed) var(--ease-out-quad) var(--iv-delay, 0s);
}
html:not(.no-js) .iv-slide-right:not(.visible),
html:not(.no-js) .iv-slide-left:not(.visible) {
  opacity: 0;
  transform: translateX(-20rem);
}

html:not(.no-js) .iv-slide-left:not(.visible) {
  transform: translateX(20rem);
}

html:not(.no-js) .iv-delay-children > *:nth-child(1),
html:not(.no-js) .iv-delay:nth-child(1) {
  transition-delay: 0s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(2),
html:not(.no-js) .iv-delay:nth-child(2) {
  transition-delay: 0.15s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(3),
html:not(.no-js) .iv-delay:nth-child(3) {
  transition-delay: 0.3s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(4),
html:not(.no-js) .iv-delay:nth-child(4) {
  transition-delay: 0.45s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(5),
html:not(.no-js) .iv-delay:nth-child(5) {
  transition-delay: 0.6s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(6),
html:not(.no-js) .iv-delay:nth-child(6) {
  transition-delay: 0.75s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(7),
html:not(.no-js) .iv-delay:nth-child(7) {
  transition-delay: 0.9s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(8),
html:not(.no-js) .iv-delay:nth-child(8) {
  transition-delay: 1.05s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(9),
html:not(.no-js) .iv-delay:nth-child(9) {
  transition-delay: 1.2s;
}
html:not(.no-js) .iv-delay-children > *:nth-child(10),
html:not(.no-js) .iv-delay:nth-child(10) {
  transition-delay: 1.35s;
}

.content {
  line-height: var(--line-height-text);
  overflow-wrap: break-word;
}
.content a:not(.btn):not(.fui-btn):not(.fui-submit):not(.fui-repeater-remove-btn) {
  border-bottom: 1px solid;
  color: inherit;
  text-decoration: none;
}
.content a:not(.btn):not(.fui-btn):not(.fui-submit):not(.fui-repeater-remove-btn):hover, .content a:not(.btn):not(.fui-btn):not(.fui-submit):not(.fui-repeater-remove-btn):focus-visible {
  color: var(--color-accent);
}
.content p,
.content ul,
.content ol,
.content blockquote,
.content pre {
  margin-bottom: var(--content-spacing);
}
.content p:last-child,
.content ul:last-child,
.content ol:last-child,
.content blockquote:last-child,
.content pre:last-child {
  margin-bottom: 0;
}
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  margin-top: var(--content-spacing-lg);
  margin-bottom: var(--content-spacing);
}
.content h1:first-child,
.content h2:first-child,
.content h3:first-child,
.content h4:first-child,
.content h5:first-child,
.content h6:first-child {
  margin-top: 0;
}
.content h1:last-child,
.content h2:last-child,
.content h3:last-child,
.content h4:last-child,
.content h5:last-child,
.content h6:last-child {
  margin-bottom: 0;
}
.content ol {
  list-style-position: outside;
  margin-left: 1.5em;
}
.content ul {
  list-style: disc outside;
  margin-left: 1.2em;
}
.content ul ul {
  list-style-type: circle;
}
.content ul ul ul {
  list-style-type: square;
}
.content li {
  margin-top: var(--content-spacing-sm);
  margin-bottom: var(--content-spacing-sm);
}
.content blockquote {
  font-size: 120%;
  font-weight: 400;
  color: var(--color-main);
  border-top: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  padding: var(--content-spacing-sm) 0;
  margin-top: var(--content-spacing-lg);
  margin-bottom: var(--content-spacing-lg);
}
.content hr {
  margin: var(--content-spacing) 0;
  border: 0;
  border-top: 2px solid var(--color-black);
}
.content figure img {
  display: block;
}
.content figcaption {
  color: var(--color-dark-grey);
  font-size: 90%;
  text-align: center;
  margin-top: 1em;
}
.content table {
  width: 100%;
  border-bottom: 1px solid;
  font-size: 90%;
  margin: var(--content-spacing-lg) 0;
}
.content td,
.content th {
  padding: 15px 0;
  border-top: 1px solid;
  vertical-align: top;
}
.content th {
  font-weight: 600;
}
.content thead th {
  border-top: 3px solid;
  color: var(--color-accent);
}
.content > :first-child {
  margin-top: 0;
}
.content > :last-child {
  margin-bottom: 0;
}
.content[aria-hidden=true] {
  display: none;
}

.content--sm {
  --content-spacing: 0.75rem;
  --content-spacing-sm: 0.55rem;
  font-size: 80%;
}
.content--sm ul li {
  margin-top: 0;
}

.accordion {
  border-top: 2px solid var(--color-black);
  border-bottom: 2px solid var(--color-black);
}
.accordion:not(:last-of-type) {
  margin-bottom: -2px;
}

.accordion__heading {
  padding: var(--content-spacing) 0;
  list-style: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  gap: 0.2em;
  font-weight: 600;
  text-transform: uppercase;
}
.accordion__heading:focus:not(:focus-visible) {
  outline: none !important;
}
.accordion__heading::-webkit-details-marker {
  display: none;
}
.accordion__heading .icon {
  margin-left: auto;
  color: var(--theme-color);
  border-radius: 50%;
  font-size: 100%;
  flex-shrink: 0;
}

.accordion__title {
  margin-left: var(--content-spacing);
}

.accordion__content {
  padding-bottom: var(--content-spacing);
  max-width: var(--content-width);
}
.js-expander-item[open]:not(.item-closing) .dropdown-wrapper {
  opacity: 1;
}
.js-expander-item .dropdown-wrapper {
  transition: var(--expander-duration, 150ms) ease;
  transition-property: opacity;
  opacity: 0;
}
.js-expander-item[open] .show-collapsed {
  display: none;
}
.js-expander-item:not([open]) .show-expanded {
  display: none;
}
.js-expander-item .icon {
  --rotate-deg: -90deg;
  animation: rotate var(--expander-duration, 150ms) ease;
}
.js-expander-item .icon.show-expanded {
  animation-direction: reverse;
}

.js-expander-item-toggle {
  cursor: pointer;
}

.app {
  padding-top: calc(var(--site-header-height-static));
  overflow-x: hidden;
}
.app.is-menu-open {
  overflow: hidden;
  touch-action: none;
}

.app-inner {
  overflow-x: hidden;
}
.app-inner > :last-child.theme-white,
.app-inner > :last-child.bg-white {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

:root {
  --browse-header-height: 62px;
  --browse-gap: 26px;
  --browse-aside-width: 210px;
}
@media (min-width: 1024px) {
  :root {
    --browse-header-height: 72px;
  }
}

.browse-header-scroll {
  border-top: 1px solid var(--color-accent-light);
}
.is-scrolled-past-browse-header .browse-header-scroll {
  margin-bottom: calc(var(--browse-header-height));
}

.browse {
  display: flex;
  gap: var(--browse-gap);
}

.browse--header {
  transition: top 0.1s var(--ease-in-out);
  height: var(--browse-header-height);
  display: flex;
  align-items: center;
}
.is-scrolled-past-browse-header .browse--header {
  position: fixed;
  top: calc(var(--site-header-height));
  left: 0;
  right: 0;
  z-index: calc(var(--z-index-header) - 10);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media (min-width: 1024px) {
  .is-scrolled-past-browse-header .browse--header {
    padding-left: calc(var(--gutter) / 2);
    padding-right: calc(var(--gutter) / 2);
  }
}

.browse__aside {
  width: var(--browse-aside-width);
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .browse__aside {
    display: none;
  }
}
.browse--body .browse__aside {
  position: sticky;
  top: calc(var(--site-header-height));
  bottom: 0;
  align-self: flex-start;
  max-height: calc(100vh - var(--site-header-height));
  overflow-y: auto;
  transition: all 0.1s var(--ease-out-quad);
}
@media (max-width: 1023px) {
  .browse--body .browse__aside {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    background: var(--color-white);
    width: auto;
    max-height: none;
    padding: var(--gutter);
    align-self: auto;
    z-index: calc(var(--z-index-filters) + 1);
    border-top-left-radius: var(--rad);
    border-top-right-radius: var(--rad);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transform: translateY(100%);
    transition: transform 0.3s var(--ease-out-quad);
  }
}
.is-scrolled-past-browse-header .browse--body .browse__aside {
  top: calc(var(--site-header-height) + var(--browse-header-height));
}
@media (max-width: 1023px) {
  .is-scrolled-past-browse-header .browse--body .browse__aside {
    top: auto;
  }
}

@media (max-width: 1023px) {
  .is-filters-visible .browse--body .browse__aside {
    transform: translateY(0);
  }
}

.browse__main {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--browse-gap);
}

:root {
  --cards-scroller-padding: calc(var(--gutter) * 1);
}
@media (min-width: 1024px) {
  :root {
    --cards-scroller-padding: calc(var(--gutter) / 2);
  }
}

.cards-scroller {
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--cards-scroller-padding);
  scrollbar-width: none; /* Hide scrollbar for Firefox */
  -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
  max-width: 100%;
}
.cards-scroller::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome, Safari, and Opera */
}
.container--edges .cards-scroller {
  padding-left: var(--cards-scroller-padding);
  padding-right: var(--cards-scroller-padding);
}
.cards-scroller .card {
  scroll-snap-align: start;
  max-width: calc(100% / var(--cards-columns));
}
.cards-scroller .product-chip {
  scroll-snap-align: start;
  max-width: calc(100% / var(--card-count) - var(--product-chips-gap) * 0.5);
}
@media (min-width: 640px) {
  .cards-scroller::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100px;
    background: linear-gradient(to right, hsla(var(--color-accent-light-hsl), 0), hsla(var(--color-accent-light-hsl), 1));
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
    opacity: var(--card-scroller-can-scroll-right, 1);
  }
}

.cards-scroller--no-fader::after {
  display: none;
}

.cards-scroller__controls {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}

.cards-scroller__btn--next {
  right: 0;
}

.cards-scroller__btn--prev {
  left: 0;
}

:root {
  --cards-columns: 2;
  --cards-gap: 20px;
  --card-padding: 15px;
  --card-tag-size: 1.8rem;
}
@media (min-width: 768px) {
  :root {
    --cards-columns: 3;
  }
}
@media (min-width: 1280px) {
  :root {
    --cards-columns: 4;
  }
}
@media (min-width: 1800px) {
  :root {
    --cards-columns: 5;
  }
}

@media (min-width: 1280px) {
  .browse--filters-hidden {
    --cards-columns: 5;
  }
}
@media (min-width: 1800px) {
  .browse--filters-hidden {
    --cards-columns: 6;
  }
}

.cards {
  display: grid;
  grid-template-columns: repeat(var(--cards-columns), 1fr);
  gap: calc(var(--cards-gap) * 2) var(--cards-gap);
  transition: opacity 0.1s var(--ease-out-quad);
}
.is-loading .cards {
  opacity: 0.3;
  pointer-events: none;
}

.cards--no-wrap {
  display: flex;
  flex-wrap: nowrap;
  width: max(100%, var(--card-count) * 75%);
}
@media (min-width: 640px) {
  .cards--no-wrap {
    width: max(100%, var(--card-count) * 30%);
  }
}
@media (min-width: 1280px) {
  .cards--no-wrap {
    width: max(100%, var(--card-count) * 22%);
  }
}

.card {
  width: 100%;
  display: block;
  text-decoration: none;
  color: var(--color-text);
}
.card:hover, .card:focus-visible {
  color: var(--color-text);
}

.card__inner {
  display: flex;
  flex-direction: column;
  gap: var(--cards-gap);
}

.card__image {
  background: white;
  aspect-ratio: 0.75;
  position: relative;
}

.card__image-inner {
  position: absolute;
  inset: calc(var(--cards-gap) * 2) var(--cards-gap);
}
.card__image-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.card__image-overlay {
  position: absolute;
  inset: var(--card-padding);
  z-index: 20;
  pointer-events: none;
}

.card__image-hover {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: hsla(var(--color-violet-bright-hsl), 0.7);
  opacity: 0;
  transition: opacity 0.3s var(--ease-out-quad);
}
.card:hover .card__image-hover, .card:focus-visible .card__image-hover {
  opacity: 1;
}
.card__image-hover .btn, .card__image-hover .site-menu__section--layout-rows .site-menu__list a, .site-menu__section--layout-rows .site-menu__list .card__image-hover a, .card__image-hover .fui-btn,
.card__image-hover .fui-submit, .card__image-hover .fui-repeater-remove-btn {
  position: absolute;
  bottom: var(--card-padding);
  left: var(--card-padding);
  right: var(--card-padding);
}

.card__tags {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  width: 70%;
  gap: 0.5rem;
}

.card__tag {
  display: inline-flex;
  gap: 0.75em;
  align-items: center;
  place-content: center center;
  background-color: var(--color-black);
  border-radius: var(--rad);
  color: var(--color-white);
  font-size: 65%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-wrap: pretty;
  text-transform: uppercase;
  height: var(--card-tag-size);
  padding-top: 2px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.card__tag--sale {
  background-color: var(--color-red);
}

.card__colour {
  width: var(--card-tag-size);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid var(--color-black);
  position: absolute;
  top: 0;
  right: 0;
}

.card__title {
  font-size: 90%;
}

.card__brand {
  font-size: 90%;
  text-decoration: underline;
  margin-bottom: 0.3rem;
}

.card__price {
  font-size: 90%;
  font-weight: 700;
}
.card__price s {
  font-weight: 400;
  opacity: 0.5;
}

.card--promo {
  grid-column: 4;
  grid-row: 1;
  background: var(--color-main);
}

.checkout-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.checkout-hint {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--color-notice);
  color: var(--color-text);
  padding: 0.75rem 1rem;
  font-size: 80%;
  border-radius: var(--rad);
}
.checkout-hint .icon {
  font-size: 140%;
  flex-shrink: 0;
}

.checkout-items-forms {
  display: flex;
  flex-direction: column;
  gap: var(--checkout-gap);
}

.checkout-items {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  width: 100%;
  border-radius: var(--rad);
  overflow: hidden;
}

.checkout-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--checkout-padding);
  border-bottom: 1px solid var(--color-accent-light);
  font-size: 80%;
  line-height: 1.2;
  position: relative;
}
@media (max-width: 767px) {
  .checkout-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
}
.checkout-item:last-child {
  border-bottom: none;
}

.checkout-item__head,
.checkout-item__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 767px) {
  .checkout-item__head,
  .checkout-item__actions {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .checkout-item__actions {
    justify-content: flex-end;
  }
}
@media (max-width: 479px) {
  .checkout-item__actions {
    justify-content: space-between;
  }
}

.checkout-item__image {
  width: 100px;
  height: 100px;
  overflow: hidden;
  flex-grow: 0;
  flex-shrink: 0;
  position: relative;
}
@media (max-width: 767px) {
  .checkout-item__image {
    width: 60px;
    height: 60px;
  }
}
.checkout-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.checkout-item__title {
  display: block;
  text-decoration: none;
  color: inherit;
  flex: 1;
  font-size: 120%;
  font-weight: 700;
}
@media (max-width: 767px) {
  .checkout-item__title {
    font-size: 100%;
    padding-right: 1rem;
  }
}
.checkout-item__title span {
  font-size: 80%;
  opacity: 0.65;
  font-weight: 400;
}

.checkout-item__price {
  font-size: 120%;
  font-weight: 700;
  text-align: right;
  padding-left: 1rem;
}

.checkout-item__remove {
  position: absolute;
  top: calc(var(--checkout-padding) * 0.5);
  right: calc(var(--checkout-padding) * 0.5);
  opacity: 0.2;
  transition: opacity 0.2s var(--ease-out);
  font-size: 90%;
}
.checkout-item__remove:hover, .checkout-item__remove:focus-visible {
  opacity: 1;
}

.checkout-item__error {
  color: var(--color-error);
  font-size: 75%;
  font-weight: 700;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.checkout-item__error-icon {
  font-size: 150%;
  padding-right: 0.1em;
  margin-bottom: 0.1em;
}

:root {
  --checkout-notice-padding: 0.45em;
}

.checkout-notices {
  display: flex;
  flex-direction: column;
  background: var(--color-accent);
  color: var(--color-black);
  width: 100%;
  border-radius: var(--rad);
  overflow: hidden;
  position: relative;
  padding: calc(var(--checkout-padding) * 0.5) var(--checkout-padding);
}

.checkout-notices--errors {
  background: var(--color-error);
  color: var(--color-white);
}

.checkout-notices__title {
  font-size: 120%;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.3em;
  padding: var(--checkout-padding);
}

.checkout-notices__dismiss {
  position: absolute;
  top: calc(var(--checkout-padding) * 0.5);
  right: calc(var(--checkout-padding) * 0.5);
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  opacity: 0.2;
  transition: opacity 0.2s var(--ease-out);
  font-size: 80%;
}
.checkout-notices__dismiss:hover, .checkout-notices__dismiss:focus-visible {
  opacity: 1;
}
.checkout-notices__dismiss:focus-visible {
  outline: 2px solid var(--color-white);
}

.checkout-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--checkout-notice-padding) 0 var(--checkout-notice-padding) 1em;
  font-size: 80%;
  line-height: 1.3;
  position: relative;
}
.checkout-notice::before {
  content: "";
  display: block;
  width: 2px;
  background: var(--color-accent-light);
  position: absolute;
  bottom: calc(var(--checkout-notice-padding) * 1.2);
  top: calc(var(--checkout-notice-padding) * 1.2);
  left: 0;
  opacity: 0.5;
}
.checkout-notice:last-child {
  border-bottom: none;
}

.checkout-panel {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  border-radius: var(--rad);
}

.checkout-panel__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 120%;
  padding: var(--checkout-padding);
  border-bottom: 1px solid var(--color-accent-light);
}
@media (max-width: 479px) {
  .checkout-panel__title {
    font-size: 110%;
  }
}

.checkout-panel__subtitle {
  font-size: 140%;
  font-weight: 700;
}
@media (max-width: 479px) {
  .checkout-panel__subtitle {
    font-size: 130%;
  }
}

.checkout-panel__main {
  padding: var(--checkout-padding);
  border-bottom: 1px solid var(--color-accent-light);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-spacing);
}
.checkout-panel__main:last-child {
  border-bottom: none;
}

.checkout-panel__main--content,
.checkout-panel__content {
  font-size: 90%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-spacing);
}

.checkout-summary {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  border-radius: var(--rad);
  overflow: hidden;
}

.checkout-summary__head {
  padding: var(--checkout-padding);
  border-bottom: 1px solid var(--color-accent-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 120%;
}
@media (max-width: 479px) {
  .checkout-summary__head {
    font-size: 110%;
  }
}

.checkout-summary__head-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.checkout-summary__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--checkout-padding);
  border-bottom: 1px solid var(--color-accent-light);
  font-size: 80%;
  line-height: 1.2;
}

.checkout-summary__item--slim {
  padding: calc(var(--checkout-padding) * 0.75) var(--checkout-padding);
}

.checkout-summary__item--total {
  font-weight: 700;
  font-size: 100%;
}

.checkout-summary__item--input {
  padding: 0;
}
.checkout-summary__item--input > * {
  width: 100%;
  border-radius: 0;
  border: none;
}
.checkout-summary__item--input .input, .checkout-summary__item--input input.fui-input[type=text],
.checkout-summary__item--input input.fui-input[type=number],
.checkout-summary__item--input input.fui-input[type=email],
.checkout-summary__item--input input.fui-input[type=tel],
.checkout-summary__item--input input.fui-input[type=file],
.checkout-summary__item--input input.fui-input[type=date],
.checkout-summary__item--input input.fui-input[type=time],
.checkout-summary__item--input textarea.fui-input,
.checkout-summary__item--input select.fui-input,
.checkout-summary__item--input select.fui-select {
  padding: calc(var(--checkout-padding) * 0.75) var(--checkout-padding);
  height: auto;
  font-size: 140%;
  font-family: var(--font-family-display);
  letter-spacing: 0.05em;
}

.checkout-summary__item-image {
  width: 60px;
  height: 60px;
  overflow: hidden;
  flex-grow: 0;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .checkout-summary__item-image {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  .checkout-summary__item-image {
    width: 40px;
    height: 40px;
  }
}
.checkout-summary__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.checkout-summary__item-title {
  flex: 1;
}
.checkout-summary__item-title > span {
  font-size: 80%;
  opacity: 0.65;
}

:root {
  --checkout-padding: 1.5rem;
  --checkout-gap: 1rem;
}
@media (max-width: 1023px) {
  :root {
    --checkout-padding: 1.2rem;
  }
}

.checkout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gutter);
  padding-bottom: 3rem;
}
@media (max-width: 1023px) {
  .checkout {
    flex-direction: column;
    padding-bottom: 0;
  }
}

.checkout__main {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--checkout-gap);
  order: 1;
}
@media (min-width: 1024px) {
  .checkout__main {
    width: 65%;
  }
}
.checkout--empty .checkout__main {
  width: 100%;
  align-items: center;
}

.checkout__main-inner {
  display: flex;
  flex-direction: column;
  gap: var(--checkout-gap);
}

.checkout__aside {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--checkout-gap);
  order: 2;
}
@media (min-width: 1024px) {
  .checkout__aside {
    width: 35%;
  }
}
.checkout--empty .checkout__aside {
  display: none;
}

:root {
  --clients-controls-height: 4rem;
  --client-gap: 0.5rem;
}

.clients {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing);
}

.clients__head {
  text-align: center;
  max-width: 500px;
}
@media (min-width: 1024px) {
  .clients__head {
    max-width: var(--content-width);
    margin-top: calc(var(--content-spacing-lg) * 1);
    margin-bottom: calc(var(--content-spacing-lg) * 1);
  }
}

.clients__body {
  max-width: 100%;
  position: relative;
  transition: height 0.3s var(--ease-out-quad);
}

.clients__controls {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 50;
  height: var(--clients-controls-height);
}
@media (min-width: 1024px) {
  .clients__controls {
    left: 0;
    right: auto;
  }
}

.client {
  display: flex;
  justify-content: space-between;
  gap: calc(var(--client-gap) * 4);
  flex-direction: column;
}
@media (min-width: 1024px) {
  .client {
    flex-direction: row;
  }
}
.client[hidden] {
  visibility: hidden;
  pointer-events: none;
}
.client:nth-child(2n+1) {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.client__main {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--content-spacing);
  flex-grow: 0;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .client__main {
    display: contents;
  }
}
@media (min-width: 1024px) {
  .client__main {
    width: 40%;
  }
}

.client__aside {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: calc(var(--content-spacing) * 2);
  flex-grow: 0;
  flex-shrink: 1;
}
@media (max-width: 1023px) {
  .client__aside {
    display: contents;
  }
}
@media (min-width: 1024px) {
  .client__aside {
    width: 60%;
    min-width: 0;
  }
}

.client__info {
  display: flex;
  flex-direction: column;
  gap: var(--client-gap);
}
@media (max-width: 1023px) {
  .client__info {
    order: 3;
  }
}

.client__title {
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}
.client__bio {
  display: flex;
  flex-direction: column;
  gap: var(--client-gap);
  margin-top: calc(var(--client-gap) * 2);
}
@media (max-width: 1023px) {
  .client__bio {
    font-size: 110%;
  }
}
@media (min-width: 1024px) {
  .client__bio {
    margin-top: calc(var(--client-gap) * 4);
  }
}

.client__details {
  display: flex;
  flex-direction: column;
  max-width: 15rem;
}
@media (max-width: 1023px) {
  .client__details {
    order: 1;
  }
}
@media (min-width: 640px) {
  .client__details {
    font-size: 120%;
  }
}
@media (min-width: 1024px) {
  .client__details {
    margin-top: var(--clients-controls-height);
  }
}

.client__company {
  font-weight: 700;
  color: var(--color-main);
}

.client__socials {
  margin-top: calc(var(--client-gap) * 2);
}

.client__images {
  position: relative;
}
@media (max-width: 1023px) {
  .client__images {
    order: 2;
  }
}

.client__image {
  width: 100%;
  aspect-ratio: 16/12;
  position: relative;
  background: var(--color-white);
  overflow: hidden;
}
@media (max-width: 1023px) {
  .client__image {
    width: 75%;
  }
}
.client__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.client__image--secondary {
  aspect-ratio: 1;
  position: absolute;
  z-index: 10;
}
@media (max-width: 1023px) {
  .client__image--secondary {
    width: 35%;
    top: 4rem;
    right: 0;
    transform: translateX(0);
  }
}
@media (max-width: 639px) {
  .client__image--secondary {
    top: 2rem;
  }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .client__image--secondary {
    display: none;
  }
}
@media (min-width: 1280px) {
  .client__image--secondary {
    width: 32%;
    top: 3rem;
    left: 0;
    transform: translateX(-70%);
  }
}
@media (min-width: 1440px) {
  .client__image--secondary {
    width: 40%;
    top: 4rem;
  }
}

@media (max-width: 1023px) {
  .client__products {
    order: 4;
  }
}

.client__products-title {
  font-weight: 700;
}
@media (max-width: 1023px) {
  .client__products-title {
    font-size: 110%;
  }
}

.client__products-body {
  position: relative;
}

.client__products-controls {
  display: flex;
  align-items: center;
}

.client__products-control {
  color: var(--color-black);
}

.client-animate {
  transition: all 1.2s var(--ease-out-quad) var(--delay, 0s);
}
.client[hidden] .client-animate {
  opacity: 0;
  transform: translateX(-5rem);
  transition: all 0.2s var(--ease-out-quad);
}
.client[hidden].client--next .client-animate {
  transform: translateX(5rem);
}

.content-blocks {
  display: flex;
  flex-direction: column;
  gap: var(--content-spacing-lg);
}

:root {
  --crumbs-gap: 0.7em;
}

.crumbs {
  color: var(--color-main);
  display: flex;
  align-items: center;
  gap: var(--crumbs-gap);
  font-size: 80%;
  padding-left: 0.1em;
}

.crumbs--hidden {
  visibility: hidden;
}

.crumb {
  color: inherit;
  text-decoration: none;
}
.crumb:not(:first-child)::before {
  content: "/";
  display: inline;
  margin-right: var(--crumbs-gap);
}
.crumb span {
  text-decoration: underline;
}
.crumb:last-child span {
  text-decoration: none;
}
.crumb .icon {
  margin-bottom: 3px;
}

.dialog-container[aria-hidden=true] {
  display: none;
}

.dialog-container:not([aria-hidden=true]) {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: fixed;
  inset: 0;
  z-index: var(--z-index-dialog);
  overflow: auto;
}

.dialog-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  inset: 0;
}

.dialog {
  position: relative;
  background-color: var(--color-white);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
  border-radius: 8px;
  max-width: 90%;
  max-height: 90vh;
  overflow: hidden;
  margin: 5vh 0;
}

.dialog--image {
  width: 100%;
  height: 100%;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.dialog-container:not([aria-hidden=true]) > * {
  animation: fade-in 200ms 1 both;
}

.dialog-close {
  position: absolute;
  right: 2rem;
  top: 2rem;
  font-size: 1.5em;
  color: var(--color-black);
  z-index: 100;
  display: flex;
}

.dialog__image {
  position: absolute;
  inset: 0;
}
.dialog__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

:root {
  --dropdown-select-padding: 1rem;
}

.dropdown-select {
  position: relative;
  width: 100%;
  z-index: 50;
}
.dropdown-select .field--has-error .field__messages {
  margin-top: 1rem;
}

.dropdown-select__inner {
  position: relative;
  z-index: 50;
}

.dropdown-select__trigger {
  cursor: pointer;
  width: 100%;
  font-size: 90%;
  background: var(--color-lighter-grey);
  padding: var(--dropdown-select-padding);
  border-radius: var(--rad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
}
@media (max-width: 1023px) {
  .dropdown-select__trigger {
    font-size: 80%;
  }
}
.dropdown-select__trigger:hover, .dropdown-select__trigger[aria-expanded=true] {
  outline: 2px solid var(--color-accent);
  background: var(--color-accent-lighter);
}
.dropdown-select:has(.field--has-error) .dropdown-select__trigger {
  outline: 2px solid var(--color-error);
}
.dropdown-select:has(.field--has-success) .dropdown-select__trigger {
  background: var(--color-accent-light);
}

.dropdown-select__content {
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  width: 100%;
  background: var(--color-white);
  border-radius: var(--rad);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1rem 0.5rem rgba(0, 0, 0, 0.1);
}
.dropdown-select__content[aria-hidden=true] {
  display: none;
}

.dropdown-select__item {
  padding: var(--dropdown-select-padding);
  cursor: pointer;
  font-size: 80%;
  text-align: left;
  border-top: 1px solid var(--color-lighter-grey);
  display: flex;
  align-items: center;
  gap: var(--dropdown-select-padding);
  transition: background 0.1s var(--ease-out-quad);
}
.dropdown-select__item:hover, .dropdown-select__item:focus-visible {
  background: var(--color-accent-light);
}

.dropdown-select__item-icon {
  font-size: 150%;
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.1s var(--ease-out-quad);
}
.dropdown-select__item:hover .dropdown-select__item-icon, .dropdown-select__item:focus-visible .dropdown-select__item-icon {
  color: var(--color-black);
}

.feature-video {
  text-align: center;
  position: relative;
  height: calc(70vh - var(--site-header-height-static) - var(--content-spacing-lg));
}
@media (min-width: 1024px) {
  .feature-video {
    height: calc(100vh - var(--site-header-height-static) - var(--content-spacing-lg));
  }
}

.feature-video__titles {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2rem;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.feature-video:has(.video--is-playing) .feature-video__titles {
  display: none;
}

.feature-video__title {
  font-size: 260%;
  text-transform: uppercase;
  color: var(--color-main);
  line-height: 0.9;
  transform: translateY(-25%);
}
@media (min-width: 1024px) {
  .feature-video__title {
    font-size: 400%;
  }
}

.feature-video__subtitle {
  font-size: 160%;
  text-transform: uppercase;
  color: var(--color-white);
  line-height: 1;
  max-width: max(50%, 700px);
}
@media (min-width: 1024px) {
  .feature-video__subtitle {
    font-size: 210%;
  }
}

.feature-video__media {
  position: absolute;
  inset: 0;
  z-index: 10;
  overflow: hidden;
}
.feature-video__media .video,
.feature-video__media .video__main,
.feature-video__media .video__thumbnail {
  position: absolute;
  inset: 0;
}
.feature-video__media .video__thumbnail {
  padding-bottom: 0;
}
.feature-video__media .video__play {
  background: hsla(var(--color-black-hsl), 0.5);
}

:root {
  --filter-padding: 0.75rem;
}

.filter-wrapper {
  width: 100%;
  overflow: hidden;
}

.filters-head {
  --btn-padding: 1em;
  height: var(--btn-height);
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  transition: opacity 0.1s var(--ease-out-quad);
}
.is-loading .filters-head {
  opacity: 0.3;
  pointer-events: none;
}
.filters-head .btn, .filters-head .site-menu__section--layout-rows .site-menu__list a, .site-menu__section--layout-rows .site-menu__list .filters-head a, .filters-head .fui-btn,
.filters-head .fui-submit, .filters-head .fui-repeater-remove-btn {
  font-size: 80%;
}

.filters-head__main {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 1023px) {
  .filters-head__main {
    display: none;
  }
}

.filters-head__aside {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 1023px) {
  .filters-head__aside {
    width: 100%;
  }
  .filters-head__aside > * {
    width: 50%;
    max-width: none !important;
  }
}

.filters-bg {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: var(--z-index-filters);
  display: block;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s var(--ease-out-quad);
}
@media (min-width: 1024px) {
  .filters-bg {
    display: none;
  }
}
.is-filters-visible .filters-bg {
  opacity: 1;
}

.filters-overlay-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: opacity 0.1s var(--ease-out-quad);
}
@media (min-width: 1024px) {
  .filters-overlay-head {
    display: none;
  }
}
.is-loading .filters-overlay-head {
  opacity: 0.3;
  pointer-events: none;
}

.filters-overlay-body {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: opacity 0.1s var(--ease-out-quad);
}
@media (min-width: 1024px) {
  .filters-overlay-body {
    display: none;
  }
}
.is-loading .filters-overlay-body {
  opacity: 0.3;
  pointer-events: none;
}

.filter {
  border-top: 2px solid var(--color-grey);
  border-bottom: 2px solid var(--color-grey);
  transition: opacity 0.1s var(--ease-out-quad);
}
@media (max-width: 1023px) {
  .filter {
    border-top: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black);
  }
}
.filter + .filter {
  border-top: none;
}
.is-loading .filter {
  opacity: 0.3;
  pointer-events: none;
}

.filter__head {
  padding-top: var(--filter-padding);
  padding-bottom: var(--filter-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
}
.filter--disabled .filter__head {
  pointer-events: none;
}

.filter__title {
  font-weight: 700;
}
.filter--disabled .filter__title {
  opacity: 0.3;
}

.filter__icon {
  width: 12px;
  height: 12px;
  position: relative;
  transition: transform 0.2s var(--ease-out-quad);
}
.filter__icon::before, .filter__icon::after {
  content: "";
  position: absolute;
  background: var(--color-text);
  transition: transform 0.2s var(--ease-out-quad);
}
.filter__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}
.filter__icon::after {
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}
.filter--open .filter__icon {
  transform: rotate(180deg);
}
.filter--open .filter__icon::after {
  opacity: 0;
}
.filter--disabled .filter__icon {
  display: none;
}

.filter__body {
  display: none;
}
.filter--open .filter__body {
  display: block;
}
.filter--disabled .filter__body {
  display: none;
}
.filter__body > :last-child {
  margin-bottom: var(--filter-padding);
}

.filter__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.filter__item .checkbox {
  margin: 0;
}
.filter__item .checkbox__label {
  font-size: 78%;
}
.filter__item .checkbox__label::before {
  top: 0;
}
.filter__item .checkbox__label::after {
  font-size: 90%;
  top: 0;
}

:root {
  --flash-notice-padding: 1rem;
}

.flash-notice {
  position: fixed;
  bottom: var(--flash-notice-padding);
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-index-notice);
  background: hsl(var(--color-accent-hsl), 0.9);
  color: var(--color-white);
  border-radius: var(--rad);
  padding: 1rem 3rem;
  min-width: calc(1200px - var(--gutter) * 2);
  display: flex;
  justify-content: center;
  transition: all 0.3s var(--ease-out-quad);
}
@media (max-width: 1023px) {
  .flash-notice {
    min-width: calc(100vw - var(--gutter) * 2);
    max-width: calc(100vw - var(--gutter) * 2);
  }
}
.flash-notice[hidden] {
  opacity: 0;
  transform: translateX(-50%) translateY(200%);
}

.flash-notice--error {
  background: var(--color-error);
  opacity: 0.9;
}

.flash-notice__dismiss {
  position: absolute;
  top: 50%;
  right: var(--flash-notice-padding);
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0.5rem;
  margin: 0;
  opacity: 0.5;
  cursor: pointer;
  transition: opacity 0.2s var(--ease-out);
  line-height: 0;
}
.flash-notice__dismiss:hover, .flash-notice__dismiss:focus-visible {
  opacity: 1;
}
.flash-notice__dismiss:focus-visible {
  outline: 2px solid var(--color-white);
}

.flex-form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-spacing);
}

.flex-form--minimal {
  gap: calc(var(--content-spacing) * 0.5);
  font-size: 85%;
}

.flex-form--panel {
  max-width: 340px;
  margin: 0 auto;
  background: hsla(var(--color-white-hsl), 0.5);
  padding: 2rem;
  border-radius: var(--rad);
}

.field-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-spacing);
  border: none;
}

.field {
  width: 100%;
  border: none;
  text-align: left;
}

.field--half {
  width: calc(50% - var(--content-spacing) / 2);
}
@media (max-width: 479px) {
  .field--half {
    width: 100%;
  }
}

.field--required .input-label::after, .field--required .fui-label::after,
.field--required .fui-legend::after {
  content: "*";
  color: var(--color-text);
  margin-left: 0.25em;
}

.field__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
}

.field__main--inline {
  flex-direction: row;
  align-items: center;
}

.field-description {
  font-size: 85%;
  margin-bottom: 0.5em;
  opacity: 0.6;
}

p.has-error {
  background: var(--color-error);
  color: var(--color-white);
  padding: 0.3em 0.5em;
  margin-top: 0.2em;
  border-radius: var(--rad);
  font-size: 80%;
}

.field-help {
  font-size: 80%;
  margin-left: 1rem;
  font-weight: 300;
}
.field-help a {
  text-decoration: underline;
  color: inherit;
}

.field-help--link {
  text-decoration: underline;
  color: inherit;
}

.field-error {
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: var(--color-error);
  font-size: 80%;
}
.field-error .icon {
  font-size: 125%;
}

.field__message {
  font-size: 75%;
  font-style: italic;
  color: var(--color-text);
}

.field__message--error {
  color: var(--color-error);
}

.flex-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-spacing);
}

.flex-form--minimal {
  gap: calc(var(--content-spacing) * 0.5);
  font-size: 85%;
}

.flex-form--panel {
  max-width: 340px;
  margin: 0 auto;
  background: hsla(var(--color-white-hsl), 0.5);
  padding: 2rem;
  border-radius: var(--rad);
}

.field-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-spacing);
  border: none;
}

.field {
  width: 100%;
  border: none;
  text-align: left;
}

.field--half {
  width: calc(50% - var(--content-spacing) / 2);
}
@media (max-width: 479px) {
  .field--half {
    width: 100%;
  }
}

.field--required .input-label::after, .field--required .fui-label::after,
.field--required .fui-legend::after {
  content: "*";
  color: var(--color-text);
  margin-left: 0.25em;
}

.field__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
}

.field__main--inline {
  flex-direction: row;
  align-items: center;
}

.field-description {
  font-size: 80%;
  margin-bottom: 0.5em;
  opacity: 0.8;
}

p.has-error {
  background: var(--color-error);
  color: var(--color-white);
  padding: 0.3em 0.5em;
  margin-top: 0.2em;
  border-radius: var(--rad);
  font-size: 80%;
}

:root {
  --icon-btn-size: 34px;
}

.icon-btn {
  display: flex;
  align-items: stretch;
  place-content: center center;
  width: var(--icon-btn-size);
  height: var(--icon-btn-size);
  padding: 5px;
  line-height: 0;
  position: relative;
  transition: all 0.1s var(--ease-out);
}
.icon-btn::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: var(--color-accent-light);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0);
  transition: all 0.1s var(--ease-out);
}
.icon-btn:not([disabled]):hover::before, .icon-btn:not([disabled]):focus-visible::before {
  opacity: 1;
  transform: scale(1);
}
.icon-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.theme-accent-light .icon-btn {
  color: var(--color-black);
}
.theme-accent-light .icon-btn::before {
  background: var(--color-white);
}

.icon-btn--flush {
  --icon-btn-size: 24px;
  padding: 0;
}
@media (min-width: 1024px) {
  .icon-btn--flush {
    --icon-btn-size: 30px;
  }
}
.icon-btn--flush::before {
  inset: -5px;
}

.icon-btn__inner {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  place-content: center center;
}
.icon-btn__inner .icon {
  width: 90%;
  height: 90%;
}

.icon-btn__badge {
  --icon-btn-badge-size: 14px;
  position: absolute;
  bottom: calc(var(--icon-btn-badge-size) * -0.5 + 1px);
  right: calc(var(--icon-btn-badge-size) * -0.5 + 1px);
  background: var(--color-red);
  color: var(--color-white);
  font-size: 60%;
  font-weight: 700;
  width: var(--icon-btn-badge-size);
  aspect-ratio: 1;
  border-radius: 50%;
}
.icon-btn__badge span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
}

:root {
  --icon-cards-columns: 3;
  --icon-cards-gap: 1rem;
}

.icon-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--icon-cards-columns), 1fr);
  gap: var(--icon-cards-gap);
}
@media (max-width: 639px) {
  .icon-cards {
    grid-template-columns: repeat(1, 1fr);
  }
}

.icon-card {
  width: 100%;
  max-width: 220px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  margin: 0 auto;
}

.icon-card__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}

.icon-card__title {
  font-size: 100%;
  font-weight: 700;
}

.icon-card__icon {
  font-size: 135%;
  background: var(--color-black);
  color: var(--color-white);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.icon-card__subtitle {
  font-size: 80%;
  line-height: 1.4;
}

.icon-card__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.icon-card__link {
  font-size: 90%;
  line-height: 1.4;
  text-decoration: none;
  color: var(--color-black);
  padding: 0.1rem 1rem;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-weight: 700;
}
.icon-card__link span {
  white-space: nowrap;
}
.icon-card__link .icon {
  transition: transform 0.2s var(--ease-out-quad);
}
.icon-card__link:hover, .icon-card__link:focus-visible {
  color: var(--color-accent);
}
.icon-card__link:hover .icon, .icon-card__link:focus-visible .icon {
  transform: translateX(0.25rem);
}

:root {
  --info-cards-columns: 2;
  --info-cards-gap: 1rem;
}

.info-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--info-cards-columns), 1fr);
  gap: var(--info-cards-gap);
}
@media (max-width: 639px) {
  .info-cards {
    grid-template-columns: repeat(1, 1fr);
  }
}

.info-card {
  width: 100%;
  border: 1px solid var(--color-accent);
  padding: 1rem;
  border-radius: var(--rad);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

.info-card__title {
  font-size: 100%;
  font-weight: 700;
}

.info-card__icon {
  color: var(--color-accent);
  font-size: 135%;
}

.info-card__content {
  font-size: 80%;
  line-height: 1.4;
}

.input-autocomplete {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  width: 100%;
  z-index: 1000;
  border-radius: var(--btn-radius);
  overflow: hidden;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem;
  background: var(--color-white);
  padding: 1rem;
}
.is-menu-compacted .input-autocomplete {
  display: none;
}

.input-autocomplete-item {
  width: calc(20% - 1rem);
  padding: 0.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  border: 2px solid transparent;
  border-radius: var(--rad);
}
.input-autocomplete-item:hover, .input-autocomplete-item:focus-visible, .input-autocomplete-item[aria-selected=true] {
  border-color: var(--color-accent-light);
}
.input-autocomplete-item mark {
  background: transparent;
  color: inherit;
}

.input-autocomplete-item__titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.2rem;
}

.input-autocomplete-item__title {
  display: block;
  font-size: 70%;
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}

.input-autocomplete-item__price {
  display: block;
  font-size: 70%;
  font-weight: 400;
  text-decoration: none;
  color: inherit;
}

.input-autocomplete-item__image {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  background: var(--color-white);
  border-radius: var(--rad);
  overflow: hidden;
}
.input-autocomplete-item__image img {
  position: absolute;
  top: 5%;
  left: 5%;
  width: 90%;
  height: 90%;
  -o-object-fit: contain;
     object-fit: contain;
}

:root {
  --link-btn-color: var(--color-black);
  --link-btn-hover-color: var(--color-accent);
  --link-btn-active-color: var(--color-accent);
  --link-btn-font-size: 85%;
}

.link-btn {
  display: inline-flex;
  gap: 0.75em;
  align-items: center;
  place-content: center center;
  position: relative;
  color: var(--link-btn-color);
  font-family: var(--font-family);
  line-height: 1;
  text-decoration: none;
  transition: 0.1s var(--ease-out);
  transition-property: opacity, background, border, filter, transform;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.link-btn:hover, .link-btn:focus-visible {
  color: var(--link-btn-hover-color);
}
.link-btn:hover::before, .link-btn:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}
.link-btn:focus-visible {
  outline-color: var(--link-btn-bg-color);
}
.link-btn[aria-selected=true], .link-btn.btn--active {
  color: var(--link-btn-active-color, --link-btn-hover-color);
}
.link-btn::after {
  content: "";
  position: absolute;
  inset: -4px;
}

:root {
  --load-more-bar-count: 0;
  --load-more-bar-total: 0;
}

.load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  transition: opacity 0.1s var(--ease-out-quad);
}
.is-loading .load-more {
  opacity: 0.3;
  pointer-events: none;
}

.load-more__text {
  font-size: 80%;
}

.load-more__bar {
  width: 100%;
  max-width: 212px;
  height: 4px;
  background-color: hsla(var(--color-black-hsl), 0.15);
}
.load-more__bar::before {
  content: "";
  display: block;
  width: calc(var(--load-more-bar-count) / var(--load-more-bar-total) * 100%);
  height: 100%;
  background-color: var(--color-black);
  transition: width 0.5s var(--ease-out-quad);
}

.loader {
  transition: all 0.5s var(--ease-in-out-quad);
  transform: translate3d(-50%, -50%, 0);
  color: var(--color-white);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  pointer-events: none;
  z-index: 1000;
}

.circular-loader {
  animation: rotate 2s linear infinite;
  height: 100%;
  width: 100%;
  transform-origin: center center;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}

.loader-path {
  stroke-dasharray: 150, 200;
  stroke-dashoffset: -10;
  animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  stroke-linecap: round;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124;
  }
}
@keyframes color {
  0% {
    stroke: var(--color-main);
  }
  40% {
    stroke: var(--color-main);
  }
  66% {
    stroke: var(--color-main);
  }
  80%, 90% {
    stroke: var(--color-main);
  }
}
:root {
  --logos-columns: 2;
  --logos-gap-x: 0;
  --logos-gap-y: 0;
}
@media (min-width: 640px) {
  :root {
    --logos-columns: 3;
  }
}
@media (min-width: 1280px) {
  :root {
    --logos-columns: 4;
  }
}

.logos {
  display: grid;
  grid-template-columns: repeat(var(--logos-columns), 1fr);
  gap: var(--logos-gap-y) var(--logos-gap-x);
}

.logo {
  width: 100%;
  aspect-ratio: 8/3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
}
@media (max-width: 639px) {
  .logo:nth-child(9) {
    display: none;
  }
}
@media (min-width: 1280px) {
  .logo:nth-child(9) {
    display: none;
  }
}

.logo__image {
  display: block;
  aspect-ratio: auto;
  position: absolute;
  inset: 1rem;
  width: auto;
}
@media (min-width: 640px) {
  .logo__image {
    inset: 1.75rem 2.75rem;
  }
}
.logo__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.marquee-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 640px) {
  .marquee-item {
    gap: 2rem;
  }
}

.marquee-item--logo {
  position: relative;
  overflow: hidden;
  width: var(--marquee-width);
  height: var(--marquee-height);
  background: var(--color-white);
  border-radius: var(--rad-lg);
}
.marquee--logos .marquee-item--logo {
  background: none;
  border-radius: 0;
}

.marquee-item__image {
  width: 60px;
  aspect-ratio: 1/1;
  position: relative;
}
@media (min-width: 640px) {
  .marquee-item__image {
    width: 100px;
  }
}
.marquee-item__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.marquee-item--logo .marquee-item__image {
  display: block;
  width: 100%;
  aspect-ratio: auto;
  position: absolute;
  inset: 0;
}
.marquee-item--logo .marquee-item__image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.marquee-item--fit .marquee-item__image {
  inset: 1rem;
  width: auto;
}
@media (min-width: 640px) {
  .marquee-item--fit .marquee-item__image {
    inset: 1.75rem;
  }
}
.marquee-item--fit .marquee-item__image img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.marquee-item__title {
  margin: 0;
  padding: 0;
}

.marquee-item__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

:root {
  --marquee-width: 55vw;
  --marquee-height: min(14rem, 60vh);
  --marquee-gap: 22px;
  --marquee-items: 0;
}
@media (min-width: 640px) {
  :root {
    --marquee-width: 45vw;
    --marquee-height: min(30rem, 74vh);
    --marquee-gap: 32px;
  }
}

.marquee-container {
  width: 100%;
  overflow: hidden;
}
.marquee-container[class*=" theme-"] {
  background-color: transparent !important;
}
.marquee-container + .marquee-container {
  padding-top: var(--marquee-gap);
}

.marquee-container--small {
  --marquee-width: 25vw;
  --marquee-height: min(4rem, 12vh);
  --marquee-gap: 3rem;
}
@media (min-width: 640px) {
  .marquee-container--small {
    --marquee-width: 20vw;
    --marquee-height: min(6rem, 20vh);
    --marquee-gap: 5rem;
  }
}
@media (min-width: 1024px) {
  .marquee-container--small {
    --marquee-width: 15vw;
  }
}

.marquee-container--logos {
  --marquee-width: 25vw;
  --marquee-height: min(6rem, 12vh);
  --marquee-gap: 12px;
}
@media (min-width: 1024px) {
  .marquee-container--logos {
    --marquee-width: 12vw;
  }
}

.marquee-track {
  /* stylelint-disable */
  width: calc(2 * (var(--marquee-items) * var(--marquee-width) + 4 * var(--marquee-gap) + var(--marquee-width) * 1.3 + var(--marquee-height) / 2 - var(--marquee-gap) / 2 + var(--marquee-height)));
  /* stylelint-enable */
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  gap: var(--marquee-gap);
}

.marquee {
  flex-shrink: 0;
  display: flex;
  align-content: flex-start;
  height: var(--marquee-height);
  gap: var(--marquee-gap);
}
.marquee-container--animate .marquee {
  animation: scroll calc(var(--marquee-items) * 10s) linear infinite;
  will-change: transform;
}
@media (max-width: 1023px) {
  .marquee-container--animate .marquee {
    animation: scroll calc(var(--marquee-items) * 5s) linear infinite;
  }
}
.marquee-container--static .marquee:nth-child(n+2) {
  display: none;
}

.marquee-item-group {
  display: flex;
  align-items: center;
  gap: var(--marquee-gap);
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--marquee-gap)));
  }
}
:root {
  --menu-toggle-width: 34px;
  --menu-toggle-height: calc(var(--menu-toggle-width) * 0.44);
  --menu-toggle-thickness: 2px;
}

.menu-toggle {
  position: relative;
  width: var(--menu-toggle-width);
  height: var(--menu-toggle-height);
}
.menu-toggle div {
  width: 100%;
  height: var(--menu-toggle-thickness);
  background: var(--color-black);
  position: absolute;
  left: 0;
  right: 0;
  transition: 0.25s var(--ease-out);
}
.menu-toggle div:nth-child(1) {
  top: 0;
}
.menu-toggle div:nth-child(2), .menu-toggle div:nth-child(3) {
  top: 50%;
}
.menu-toggle div:nth-child(4) {
  top: 100%;
}
.is-menu-open .menu-toggle div:nth-child(1), .menu-toggle.menu-toggle--close div:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}
.is-menu-open .menu-toggle div:nth-child(2), .menu-toggle.menu-toggle--close div:nth-child(2) {
  transform: rotate(45deg);
}
.is-menu-open .menu-toggle div:nth-child(3), .menu-toggle.menu-toggle--close div:nth-child(3) {
  transform: rotate(-45deg);
}
.is-menu-open .menu-toggle div:nth-child(4), .menu-toggle.menu-toggle--close div:nth-child(4) {
  top: 50%;
  width: 0% !important;
  left: 50%;
}
.menu-toggle.menu-toggle--close::before {
  content: "";
  display: block;
  position: absolute;
  inset: -2rem -1.5rem;
}
.menu-toggle.site-menu__link-handle div {
  background: var(--color-white);
}
.menu-toggle.site-menu__link-handle div:nth-child(4) {
  width: 75%;
}

.modifier {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.modifier--horizontal {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
.modifier--horizontal > * {
  height: 3.5rem !important;
}

.modifier__label {
  font-size: 90%;
}

.modifier__content {
  display: flex;
  gap: 1rem;
}

.page-header {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--gap);
}
@media (max-width: 1023px) {
  .page-header {
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .page-header {
    padding: var(--content-spacing-lg) 0;
  }
}

.page-header__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (min-width: 1024px) {
  .page-header__main {
    flex: 1;
  }
}

.page-header__aside {
  max-width: 570px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (min-width: 1024px) {
  .page-header__aside {
    flex: 1;
  }
}

@media (max-width: 1023px) {
  .page-header-links .row {
    padding-top: 0;
  }
}

.page {
  width: 100%;
  max-width: var(--content-width);
  position: relative;
}

.page--wide {
  max-width: 1440px;
}

.pro-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

:root {
  --product-chips-gap: 1rem;
  --product-chips-columns: 1;
  --product-chip-padding: 1.25rem;
}
@media (min-width: 480px) {
  :root {
    --product-chips-columns: 2;
  }
}

.product-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--product-chips-gap);
}
.product-chips > * {
  width: 100%;
}
@media (min-width: 480px) {
  .product-chips > * {
    width: calc(50% - var(--product-chips-gap) * 0.5);
  }
}

.product-chips--tiles {
  --product-chip-padding: 0.85rem;
}
.product-chips--tiles > * {
  width: calc(50% - var(--product-chips-gap) * 0.5);
}
@media (min-width: 480px) {
  .product-chips--tiles > * {
    width: calc(20% - var(--product-chips-gap) * 0.9);
  }
}

.product-chips--no-wrap {
  display: flex;
  flex-wrap: nowrap;
  width: max(100%, var(--card-count) * 75% + (var(--card-count) - 1) * var(--product-chips-gap) * 0.5);
}
@media (min-width: 480px) {
  .product-chips--no-wrap {
    width: calc(var(--card-count) * 50% + (var(--card-count) - 1) * var(--product-chips-gap) * 0.5);
  }
}

.product-chip {
  display: flex;
  align-items: center;
  text-decoration: none;
  gap: 0.5rem;
  border: 2px solid var(--color-accent-light);
  border-radius: var(--rad);
  color: inherit;
  transition: border-color 0.3s var(--ease-out-quad);
}
.product-chip:hover, .product-chip:focus-visible {
  border-color: var(--color-accent);
}
.product-chips--white .product-chip {
  background: var(--color-white);
  border: none;
}

.product-chip--tile {
  flex-direction: column;
  align-items: flex-start;
}

.product-chip__main {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-basis: 50%;
  padding: var(--product-chip-padding);
  font-size: 80%;
}
@media (min-width: 768px) {
  .product-chip__main {
    flex-basis: 60%;
    font-size: 90%;
  }
}
@media (min-width: 1024px) {
  .product-chip__main {
    font-size: 85%;
  }
}
.product-chip--tile .product-chip__main {
  width: 100%;
  order: 2;
  gap: 0.1rem;
}

.product-chip__aside {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-basis: 50%;
  padding: var(--product-chip-padding);
}
@media (min-width: 768px) {
  .product-chip__aside {
    flex-basis: 40%;
  }
}
.product-chip--tile .product-chip__aside {
  order: 1;
  width: 100%;
  padding-bottom: 0;
}

.product-chip__title mark {
  background-color: var(--color-accent-light);
}

.product-chip__brand {
  text-decoration: underline;
}

.product-chip__price {
  font-weight: 700;
}

.product-chip__image {
  width: 100%;
  position: relative;
  aspect-ratio: 1;
}
.product-chip__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

:root {
  --product-gallery-items: 0;
}

.product-gallery {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .product-gallery {
    min-height: calc(100vh - var(--site-header-height-static) - var(--product-page-crumbs-height) - var(--product-page-gap) - var(--product-page-gap) - var(--spacing));
  }
}

.product-gallery__main {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}

.product-gallery__images {
  border: 2px solid var(--color-accent-mid);
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
}

.product-gallery__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  height: 100%;
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Hide scrollbar for Firefox */
  -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
}
.product-gallery__track::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome, Safari, and Opera */
}
.product-gallery__track > .product-gallery__image-wrapper {
  scroll-snap-align: start;
  flex: 0 0 100%;
}

.product-gallery__image-wrapper {
  aspect-ratio: 1/1;
  width: 100%;
  position: relative;
}
.product-gallery__thumbs .product-gallery__image-wrapper {
  width: 60px;
  border: 2px solid var(--color-accent-mid);
  cursor: pointer;
}
@media (min-width: 1024px) {
  .product-gallery__thumbs .product-gallery__image-wrapper {
    width: 100px;
  }
}
.product-gallery__image-wrapper[data-active=true] {
  border-color: var(--color-accent);
}

.product-gallery__image {
  position: absolute;
  inset: 10%;
}
.product-gallery__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.product-gallery__thumbs {
  display: flex;
  gap: 1rem;
  flex-wrap: nowrap;
  width: 100%;
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Hide scrollbar for Firefox */
  -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
}
.product-gallery__thumbs > .product-gallery__image-wrapper {
  scroll-snap-align: start;
  flex-shrink: 0;
}

.product-gallery__controls {
  width: 100%;
  max-width: 160px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-white);
  border-radius: var(--rad);
  padding: 0.15rem;
  font-size: 85%;
}
@media (min-width: 1024px) {
  .product-gallery__controls {
    max-width: 220px;
    bottom: 1.5rem;
    padding: 0.25rem;
    font-size: 100%;
  }
}

.product-gallery__index {
  font-weight: 700;
}

.product-gallery__control {
  line-height: 0;
  font-size: 90%;
  transition: background 0.1s var(--ease-out);
  padding: 0.5rem;
  border-radius: var(--rad);
}
.product-gallery__control:hover, .product-gallery__control:focus-visible {
  background: var(--color-accent-light);
}
@media (min-width: 1024px) {
  .product-gallery__control {
    font-size: 110%;
    padding: 0.75rem;
  }
}

:root {
  --product-page-gap: 24px;
  --product-page-title-height: 260px;
  --product-page-crumbs-height: 20px;
}

.product-page {
  display: grid;
  gap: 24px;
  grid-template-areas: "crumbs" "title" "gallery" "purchase" "details";
}
@media (min-width: 768px) {
  .product-page {
    display: flex;
  }
}

.product-page__left,
.product-page__right {
  width: 100%;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  gap: var(--product-page-gap);
}
@media (max-width: 767px) {
  .product-page__left,
  .product-page__right {
    display: contents;
  }
}

@media (min-width: 768px) {
  .product-page__right {
    position: sticky;
    top: calc(var(--site-header-height-static) + var(--product-page-gap));
    transition: top 0.2s var(--ease-out);
    height: calc(100vh - var(--site-header-height-static) - var(--product-page-gap) - var(--product-page-gap));
    padding-top: calc(var(--product-page-crumbs-height) + var(--product-page-gap));
  }
}

.product-page__titles {
  grid-area: title;
}
@media (min-width: 1024px) {
  .product-page__titles {
    height: var(--product-page-title-height);
  }
}

.product-page__purchase {
  grid-area: purchase;
}
@media (min-width: 768px) {
  .product-page__purchase {
    flex-basis: 100%;
    max-height: 300px;
    margin-bottom: var(--product-page-gap);
  }
}

.product-page__crumbs {
  grid-area: crumbs;
  height: var(--product-page-crumbs-height);
}

.product-page__gallery {
  grid-area: gallery;
}
@media (max-width: 1023px) {
  .product-page__gallery {
    overflow: hidden;
  }
}

.product-page__details {
  grid-area: details;
}

.product-purchase,
.product-purchase__form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--content-spacing-sm);
}
@media (min-width: 1024px) {
  .product-purchase,
  .product-purchase__form {
    gap: var(--content-spacing-lg);
  }
}

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

.product-titles__brand {
  font-size: 110%;
  color: inherit;
  text-decoration: underline;
}

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

.qty-input {
  --input-border-width: 2px;
  --input-border-color: var(--color-grey);
  --input-max-width: 80px;
  display: flex;
  align-items: stretch;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  width: 100%;
  border: var(--input-border-width) solid var(--input-border-color);
  height: var(--input-height);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--rad);
}
@media (max-width: 479px) {
  .qty-input {
    --input-padding-x: 0.5rem;
  }
}

.qty-input--minimal {
  --input-height: 44px;
  --input-border-width: 1px;
  --input-border-color: var(--color-accent-light);
  --input-padding-x: 10px;
  --input-max-width: 44px;
}

.qty-input__btn {
  color: var(--color-black);
  display: flex;
  align-items: center;
  place-content: center center;
  padding: var(--input-padding-y) var(--input-padding-x);
  border-radius: var(--rad);
  border: var(--input-border-width) solid transparent;
  opacity: 0.5;
}
.qty-input__btn:hover, .qty-input__btn:focus-visible {
  opacity: 1;
}
.qty-input__btn:focus-visible {
  outline: none;
  border-color: var(--color-black);
  z-index: 2;
}
.qty-input--minimal .qty-input__btn {
  font-size: 80%;
}

.qty-input__input {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: none;
  padding: var(--input-padding-y) var(--input-padding-x);
  width: 100%;
  max-width: var(--input-max-width);
  text-align: center;
  /* Remove native number input spin buttons for all browsers */
  /* Chrome, Safari, Edge, Opera */
  /* Firefox */
  -moz-appearance: textfield;
}
.qty-input__input::-webkit-outer-spin-button, .qty-input__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

:root {
  --radio-size: 20px;
  --radio-indent: 30px;
  --radio-dot-size: 10px;
}

.radio-btn {
  margin: calc(var(--radio-size) / 3) 0;
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.radio-btn input {
  position: absolute;
  opacity: 0;
}

label.radio-btn {
  cursor: pointer;
}

.radio-btn__label {
  position: relative;
  display: inline-flex;
  gap: 0.75em;
  align-items: center;
  place-content: center center;
  padding-right: var(--btn-padding);
  height: var(--btn-height);
  background-color: var(--btn-bg-color);
  border-radius: var(--btn-radius);
  border: var(--btn-border-width) solid transparent;
  border-color: var(--btn-border-color);
  color: var(--btn-color);
  font-family: var(--font-family);
  font-size: 85%;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  text-wrap: pretty;
  text-transform: uppercase;
  transition: 0.1s var(--ease-out);
  transition-property: opacity, background, border, filter, transform;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.radio-btn__label:hover, .radio-btn__label:focus-visible {
  border-color: var(--btn-hover-border-color);
  background-color: var(--btn-hover-bg-color);
  color: var(--btn-hover-color);
}
.radio-btn__label:hover::before, .radio-btn__label:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}
.radio-btn__label .icon {
  opacity: 0;
  font-size: 125%;
}

.radio-btn__label-icon {
  display: flex;
  align-items: center;
  place-content: center center;
  background: var(--color-light-grey);
  border-radius: calc(var(--btn-radius) - var(--btn-border-width));
  width: calc(var(--btn-height) - var(--btn-border-width) * 2);
  height: calc(var(--btn-height) - var(--btn-border-width) * 2);
}
.radio-btn__label:hover .radio-btn__label-icon, .radio-btn__label:focus-visible .radio-btn__label-icon {
  background: hsla(var(--color-white-hsl), 0.2);
}

input:disabled + .radio-btn__label {
  opacity: 0.3;
}

input:not(:disabled):active + .radio-btn__label::before {
  background: var(--color-light-grey);
  transform: scale(0.97);
}
input:not(:disabled):active + .radio-btn__label::after {
  filter: brightness(0.95);
}

input:focus + .radio-btn__label::before {
  box-shadow: 0 0 0 5px var(--color-accent);
}

input:checked + .radio-btn__label {
  border-color: var(--color-black);
  background-color: var(--color-black);
  color: var(--color-white);
}
input:checked + .radio-btn__label .radio-btn__label-icon {
  background: var(--color-darker-grey);
}
input:checked + .radio-btn__label .icon {
  opacity: 1;
}
input:checked + .radio-btn__label::before {
  border-color: var(--color-accent);
}
input:checked + .radio-btn__label::after {
  transform: scale(1);
}

:root {
  --radio-cards-columns: 2;
  --radio-cards-gap: 1rem;
  --radio-card-padding: 1rem;
}
@media (max-width: 1023px) {
  :root {
    --radio-card-padding: 0.8rem;
  }
}

.radio-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--radio-cards-columns), 1fr);
  gap: var(--radio-cards-gap);
}
@media (max-width: 767px) {
  .radio-cards {
    --radio-indent: 22px;
  }
}

.radio-card {
  width: 100%;
  font-size: 90%;
  background: var(--color-lighter-grey);
  padding: var(--radio-card-padding);
  border-radius: var(--rad);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}
.radio-card:has(.radio) {
  padding: 0;
}
.radio-card:has(.radio) .radio {
  width: 100%;
  flex-basis: 100%;
  display: flex;
  margin: 0;
  padding: 0;
  position: relative;
}
.radio-card:has(.radio) .radio .radio__label {
  padding: var(--radio-card-padding);
  padding-left: calc(var(--radio-indent) * 2);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  flex-basis: 100%;
}
@media (max-width: 767px) {
  .radio-card:has(.radio) .radio .radio__label {
    font-size: 90%;
  }
}
.radio-card:has(.radio) .radio .radio__label::before, .radio-card:has(.radio) .radio .radio__label::after {
  left: calc(0.75 * var(--radio-indent));
  top: calc(50% - var(--radio-size) / 2);
}
@media (max-width: 767px) {
  .radio-card:has(.radio) .radio .radio__label::before, .radio-card:has(.radio) .radio .radio__label::after {
    left: calc(0.6 * var(--radio-indent));
  }
}
.radio-card:has(.radio) .radio .radio__label .price {
  text-align: right;
}
.radio-card:has(input[type=radio]:checked) {
  background: var(--color-accent-light);
  box-shadow: 0 0 0 2px var(--color-accent);
  border-color: var(--color-accent);
}
.radio-card a {
  color: inherit;
}

.radio-card--new:last-child {
  grid-column: span 2;
}

.radio-card--wide {
  grid-column: span 2;
}
.radio-card--wide:has(.radio) .radio .radio__label {
  flex-direction: row;
  justify-content: space-between;
}

:root {
  --scroll-jacked-height: calc(200vh - var(--site-header-height-static));
}

.scroll-jacked {
  position: relative;
  /* This must be taller than the viewport so there’s room for content to scroll
     while the background remains sticky. */
  width: 100vw;
  min-height: var(--scroll-jacked-height);
  overflow: clip; /* prevents any sticky layer quirks / bleeding */
  display: flex;
  align-items: center;
  place-content: center center;
}

.scroll-jacked__bg {
  position: absolute;
  top: var(--site-header-height-static);
  left: 0;
  width: 100%;
  height: calc(100vh - var(--site-header-height-static));
  z-index: 0;
}
.scroll-jacked.is-in-viewport .scroll-jacked__bg {
  position: fixed;
}
.scroll-jacked.is-after-viewport .scroll-jacked__bg {
  position: absolute;
  top: auto;
  bottom: 0;
}

.scroll-jacked__content {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 300vh;
  min-height: var(--scroll-jacked-height);
  margin-top: 100vh;
  margin-bottom: 100vh;
}

.special-offers__content--not-interactive {
  pointer-events: none;
}

.search-flicker {
  display: flex;
  gap: 0.2rem;
  opacity: 0.5;
}

.search-flicker__flicks {
  display: inline-block;
  width: 150px;
  margin-left: 1px;
  position: relative;
  overflow: hidden;
  --items: 7;
  --fade: 0.15s;
  --hold: 1.8s;
  --step: calc(var(--hold) + (var(--fade) * 2));
  --cycle: calc(var(--step) * var(--items));
  /* stagger each span */
}
.search-flicker__flicks span {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(-100%);
  animation: rotate var(--cycle) linear infinite;
  will-change: opacity, transform;
  /* helps avoid "pre-start" oddities */
  animation-fill-mode: both;
}
.search-flicker__flicks span:nth-child(1) {
  animation-delay: calc(var(--step) * (0));
}
.search-flicker__flicks span:nth-child(2) {
  animation-delay: calc(var(--step) * (1));
}
.search-flicker__flicks span:nth-child(3) {
  animation-delay: calc(var(--step) * (2));
}
.search-flicker__flicks span:nth-child(4) {
  animation-delay: calc(var(--step) * (3));
}
.search-flicker__flicks span:nth-child(5) {
  animation-delay: calc(var(--step) * (4));
}
.search-flicker__flicks span:nth-child(6) {
  animation-delay: calc(var(--step) * (5));
}
.search-flicker__flicks span:nth-child(7) {
  animation-delay: calc(var(--step) * (6));
}

/* full cycle = 2.1s * 7 items = 14.7s */
@keyframes rotate {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  /* fade in (0.15s of 14.7s) */
  1.020% {
    opacity: 1;
    transform: translateY(0);
  }
  /* hold (1.8s, so 1.95s total from start = 1.6s of 14.7s) */
  13.265% {
    opacity: 1;
    transform: translateY(0);
  }
  /* fade out (2.1s total slot = 2.1s of 14.7s) */
  14.285% {
    opacity: 0;
    transform: translateY(100%);
  }
  /* ✅ hidden for the rest of the loop */
  100% {
    opacity: 0;
    transform: translateY(100%);
  }
}
.site-footer {
  background: var(--color-black);
  color: var(--color-white);
  text-align: center;
}

.site-footer__container {
  padding: 0;
}

.site-footer__section {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gutter);
}
@media (max-width: 767px) {
  .site-footer__section {
    flex-direction: column;
    justify-content: center;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
@media (max-width: 639px) {
  .site-footer__section {
    gap: calc(var(--gutter) * 2);
  }
}
.site-footer__section + .site-footer__section {
  padding-top: calc(var(--gutter) / 2);
}

@media (max-width: 767px) {
  .site-footer__section--marquee {
    padding-top: var(--content-spacing) !important;
    padding-bottom: var(--content-spacing);
  }
}
.is-checkout .site-footer__section--marquee {
  display: none;
}

@media (min-width: 768px) {
  .site-footer__section--cols {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}
@media (min-width: 768px) {
  .site-footer__section--cols > * {
    width: 33.33%;
  }
}

.is-checkout .site-footer__section--primary {
  justify-content: flex-start;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .is-checkout .site-footer__section--primary {
    flex-direction: row;
    justify-content: center;
    margin-bottom: var(--content-spacing);
  }
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  color: var(--color-white);
}

.is-checkout .site-footer__col--list {
  align-items: flex-start;
  width: 25%;
}
@media (max-width: 767px) {
  .is-checkout .site-footer__col--list {
    align-items: center;
    width: 100%;
  }
}

.site-footer__col--logo {
  max-width: 200px;
}
@media (max-width: 767px) {
  .site-footer__col--logo {
    order: 3;
    max-width: 200px;
  }
}
.is-checkout .site-footer__col--logo {
  order: 3;
  flex: 1;
  max-width: none;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .is-checkout .site-footer__col--logo {
    display: none;
  }
}
.is-checkout .site-footer__col--logo a {
  max-width: 80px;
}

@media (max-width: 767px) {
  .site-footer__col--socials {
    order: -1;
  }
}

.site-footer__col--text {
  font-size: 80%;
}
@media (min-width: 768px) {
  .site-footer__col--text:first-child {
    align-items: flex-start;
    text-align: left;
  }
}
@media (min-width: 768px) {
  .site-footer__col--text:last-child {
    align-items: flex-end;
    text-align: right;
  }
}
.site-footer__col--text a {
  color: inherit;
}

.site-footer__list {
  color: var(--color-white);
}
.site-footer__list li a {
  color: inherit;
  display: block;
  padding: 0.1rem 0;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}
.site-footer__list li a:hover, .site-footer__list li a:focus-visible {
  color: var(--color-accent);
  text-decoration: underline;
}
.is-checkout .site-footer__list li a {
  color: var(--color-white);
  text-decoration: none;
  text-transform: none;
  text-align: left;
  font-size: 85%;
  font-weight: normal;
}

.site-footer__logo {
  width: 100%;
  max-width: 250px;
}

.is-checkout .site-footer__btn--our-story {
  display: none;
}

:root {
  --site-header-compact-height: 50px;
  --site-header-height: 128px;
  --site-header-height-static: 122px;
  --site-header-padding: 14px;
  --site-header-gutter: var(--gutter);
  --site-top-bar-height: 0px;
  --site-top-bar-active-height: 0px;
}
@media (min-width: 480px) {
  :root {
    --site-header-gutter: calc(var(--gutter) / 2);
  }
}
@media (min-width: 1200px) {
  :root {
    --site-header-compact-height: 69px;
    --site-header-height: 122px;
    --site-header-height-static: 122px;
    --site-header-padding: 25px;
  }
}

.is-menu-compacted:not(.is-search-open) {
  --site-header-height: var(--site-header-compact-height);
  --site-header-padding: 8px;
}
@media (min-width: 1200px) {
  .is-menu-compacted:not(.is-search-open) {
    --site-header-padding: 14px;
  }
}

.is-checkout {
  --site-header-height: 70px;
  --site-header-height-static: var(--site-header-height);
  --site-header-padding: 14px;
}
@media (min-width: 1200px) {
  .is-checkout {
    --site-header-height: 90px;
    --site-header-height-static: var(--site-header-height);
    --site-header-padding: 24px;
  }
}

.site-header {
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--site-header-height);
  background: var(--color-white);
  transition: height 0.1s var(--ease-in-out);
  z-index: var(--z-index-header);
}
.is-scrolled-off-top .site-header {
  overflow: hidden;
}
.site-header::before {
  content: "";
  position: fixed;
  top: calc(-1 * var(--site-top-bar-height));
  left: 0;
  width: 100%;
  height: calc(var(--site-header-height) + var(--site-top-bar-active-height, 0px) + var(--site-top-bar-height));
  box-shadow: 0 0 0.5em hsla(var(--color-accent-hsl), 0.35);
  z-index: -1;
  transition: 0.1s var(--ease-in-out);
  pointer-events: none;
  opacity: 0;
}
.is-scrolled-off-top:not(.is-menu-open) .site-header::before {
  opacity: 1;
  top: 0;
}

.site-header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: var(--site-header-padding) var(--site-header-gutter) var(--site-header-padding) var(--site-header-gutter);
  transition: padding-top 0.1s var(--ease-in-out), padding-bottom 0.1s var(--ease-in-out);
}
.site-header__container + .site-header__container {
  padding-top: 0;
}

.site-header__row, .site-search__row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .site-header__row, .site-search__row {
    flex-wrap: wrap;
    gap: calc(var(--site-header-padding) * 2) var(--site-header-padding);
  }
}
.is-checkout .site-header__row, .is-checkout .site-search__row {
  height: calc(var(--site-header-height) - var(--site-header-padding) * 2);
}

.site-header__search {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.1s var(--ease-in-out), transform 0.1s var(--ease-in-out);
  z-index: 10;
}
@media (max-width: 1199px) {
  .site-header__search {
    width: 100%;
    order: 10;
  }
}
@media (min-width: 1200px) {
  .site-header__search {
    max-width: 680px;
    width: 50%;
  }
}
.site-header__search form,
.site-header__search .input-wrapper {
  max-width: 680px;
  width: 100%;
  position: relative;
}
.is-menu-compacted:not(.is-search-open) .site-header__search {
  pointer-events: none;
  opacity: 0;
  transform: translateY(-0.25rem);
}
.is-checkout .site-header__search {
  display: none;
}

.site-header__toggle {
  display: block;
}
.is-checkout .site-header__toggle {
  display: none;
}
@media (min-width: 1200px) {
  .site-header__toggle {
    display: none;
  }
}

.site-header__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.3rem;
  min-height: 34px;
}
@media (min-width: 1200px) {
  .site-header__actions {
    width: 25%;
  }
}
.is-checkout .site-header__actions {
  display: none;
}

@media (max-width: 1199px) {
  .site-header__logo {
    position: absolute;
    top: var(--site-header-padding);
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    place-content: center center;
    height: 34px;
    pointer-events: none;
    transition: all 0.1s var(--ease-in-out);
  }
}
@media (min-width: 1200px) {
  .site-header__logo {
    width: 25%;
  }
  .is-checkout .site-header__logo {
    width: auto;
    position: absolute;
    top: var(--site-header-padding);
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    place-content: center center;
    height: 34px;
    pointer-events: none;
    transition: all 0.1s var(--ease-in-out);
  }
}

.site-header__logo-link {
  display: block;
  position: relative;
  text-decoration: none;
}
@media (max-width: 1199px) {
  .site-header__logo-link {
    aspect-ratio: 214/41;
    width: 106px;
  }
}
@media (min-width: 1200px) {
  .site-header__logo-link {
    aspect-ratio: 193/24;
    width: 200px;
  }
}
.is-checkout .site-header__logo-link {
  aspect-ratio: 214/41;
  width: 130px;
}
@media (max-width: 1199px) {
  .is-checkout .site-header__logo-link {
    width: 106px;
  }
}
@media (min-width: 1200px) {
  .is-checkout .site-header__logo-link {
    width: 130px;
  }
}

.site-header__logo-inner {
  position: absolute;
  inset: 0;
}
.site-header__logo-inner img {
  position: absolute;
}

.site-header__logo-device {
  top: 0;
  left: -47.16%;
  width: 33.96%;
  transform: translateY(-22%);
  transition: opacity 0.1s var(--ease-in-out), transform 0.1s var(--ease-in-out);
}
@media (min-width: 1200px) {
  .site-header__logo-device {
    width: 22.79%;
    left: 0;
  }
}
.is-menu-compacted .site-header__logo-device {
  transform: translateY(-22%) translateX(-100%) scale(0);
  opacity: 0;
}
.is-checkout .site-header__logo-device {
  top: 0;
  left: -47.16%;
  width: 33.96%;
}

.site-header__logo-label {
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.1s var(--ease-in-out), left 0.1s var(--ease-in-out);
}
@media (min-width: 1200px) {
  .site-header__logo-label {
    left: 32.13%;
    width: 67.87%;
  }
}
.is-checkout .site-header__logo-label {
  left: 0;
  width: 100%;
}
@media (min-width: 1200px) {
  body:not(.is-checkout) .is-menu-compacted .site-header__logo-label {
    left: 0;
  }
}

.site-header__aside {
  display: none;
  align-items: center;
  gap: 0.5em;
}
.is-checkout .site-header__aside {
  display: flex;
}
@media (max-width: 1199px) {
  .is-checkout .site-header__aside {
    font-size: 115%;
  }
}

.site-header__aside--right {
  text-align: right;
}

:root {
  --site-menu-compact-height: var(--site-header-compact-height);
  --site-menu-height: 55px;
  --site-menu-transition-duration: 0.2s;
  --site-menu-transition-ease: var(--ease-out-quad);
  --site-menu-transition-delay: 0s;
  --site-menu-gap: 1.5rem;
}

.is-menu-compacted {
  --site-menu-height: var(--site-menu-compact-height);
}

.site-menu {
  width: 100%;
  position: fixed;
  top: var(--site-header-compact-height);
  left: 0;
  right: 0;
  z-index: var(--z-index-menu);
  transition: all 0.1s var(--ease-in-out);
  height: var(--site-menu-height);
  display: flex;
  align-items: stretch;
  pointer-events: none;
}
@media (max-width: 1199px) {
  .site-menu {
    top: calc(var(--site-header-height));
    bottom: 0;
    height: calc(100vh - var(--site-header-height));
    overflow-y: scroll;
    background: var(--color-white);
    display: none;
  }
  .is-menu-open .site-menu {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .is-menu-compacted .site-menu {
    top: 0;
  }
  .is-checkout .site-menu {
    display: none;
  }
}

.site-menu__bg {
  transition: transform var(--site-menu-transition-duration) var(--site-menu-transition-ease), opacity 0.1s linear, height var(--site-menu-transition-duration) var(--site-menu-transition-ease);
  position: fixed;
  top: var(--site-header-height);
  left: 0;
  right: 0;
  z-index: calc(var(--z-index-header) - 1);
  opacity: 0;
  overflow: hidden;
  background: var(--color-white);
  pointer-events: none;
}
@media (max-width: 1199px) {
  .site-menu__bg {
    height: auto !important;
  }
}
.is-menu-open .site-menu__bg {
  transform: translateY(0);
  pointer-events: auto;
  opacity: 1;
}
.site-menu__underlay {
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  inset: 0;
  z-index: calc(var(--z-index-header) - 2);
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.1s var(--ease-out);
}
.is-menu-open .site-menu__underlay, .is-search-open .site-menu__underlay {
  opacity: 1;
  transition: opacity 0.5s var(--ease-out);
}

.site-menu__pages {
  display: flex;
  align-items: stretch;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 1199px) {
  .site-menu__pages {
    background: var(--color-white);
    align-self: flex-start;
    flex-wrap: wrap;
    gap: var(--site-header-gutter);
    padding: 0 var(--site-header-gutter) var(--site-header-gutter);
    align-content: flex-start;
  }
}

.site-menu__li {
  display: flex;
  align-items: stretch;
  pointer-events: auto;
}
@media (max-width: 1199px) {
  .site-menu__li {
    width: calc(50% - var(--site-header-gutter) / 2);
  }
}
@media (max-width: 1199px) and (min-width: 480px) {
  .site-menu__li {
    width: calc(32.7% - var(--site-header-gutter) / 2);
  }
}
@media (max-width: 1199px) and (min-width: 640px) {
  .site-menu__li {
    width: calc(32.5% - var(--site-header-gutter) / 2);
  }
}
@media (max-width: 1199px) {
  .site-menu__li[data-id=brands], .site-menu__li[data-id=shop-all] {
    width: 100%;
  }
}

.site-menu__link {
  text-decoration: none;
}
@media (max-width: 1199px) {
  .site-menu__link {
    width: 100%;
    display: flex;
    align-items: flex-end;
    place-content: center center;
    background: var(--color-darker-grey);
    color: var(--color-white);
    font-weight: 700;
    font-size: 110%;
    text-transform: uppercase;
    text-align: center;
    padding: 1rem;
    aspect-ratio: 10/8;
  }
  .site-menu__li[data-id=brands] .site-menu__link, .site-menu__li[data-id=shop-all] .site-menu__link {
    height: 50px;
    padding: 0.5rem 1rem;
    background: var(--color-accent);
    color: var(--color-text);
    border-radius: var(--btn-radius);
    align-items: center;
  }
  .site-menu__li[data-id=brands] .site-menu__link:hover, .site-menu__li[data-id=brands] .site-menu__link:focus-visible, .site-menu__li[data-id=shop-all] .site-menu__link:hover, .site-menu__li[data-id=shop-all] .site-menu__link:focus-visible {
    background: var(--color-accent-dark);
  }
  .site-menu__li[data-id=shop-all] .site-menu__link {
    background: var(--color-black);
    color: var(--color-white);
  }
  .site-menu__li[data-id=shop-all] .site-menu__link:hover, .site-menu__li[data-id=shop-all] .site-menu__link:focus-visible {
    background: var(--color-darker-grey);
  }
}
@media (min-width: 1200px) {
  .site-menu__link {
    color: var(--color-text);
    padding: 16px 19px;
    display: flex;
    align-items: center;
    font-size: 90%;
  }
  .site-menu__link:hover, .site-menu__link:focus-visible, .site-menu__li[aria-expanded=true] .site-menu__link {
    color: var(--color-red);
  }
}

.site-menu__section {
  transition: opacity var(--site-menu-transition-duration) var(--site-menu-transition-ease) 0.25s, transform var(--site-menu-transition-duration) var(--site-menu-transition-ease) 0.25s;
}
@media (max-width: 1199px) {
  .site-menu__section {
    background: var(--color-white);
    padding: 0;
    position: fixed;
    inset: var(--site-header-height) 0 0 0;
    z-index: 200;
    overflow: hidden auto;
    transition: top var(--site-menu-transition-duration) var(--site-menu-transition-ease), opacity var(--site-menu-transition-duration) var(--site-menu-transition-ease), transform var(--site-menu-transition-duration) var(--site-menu-transition-ease);
  }
  .site-menu__section[hidden] {
    display: flex !important;
    visibility: hidden;
    transition: opacity var(--site-menu-transition-duration) var(--site-menu-transition-ease), transform var(--site-menu-transition-duration) var(--site-menu-transition-ease), visibility var(--site-menu-transition-duration) var(--site-menu-transition-ease);
    opacity: 0;
    transform: translateX(100%);
  }
}
@media (min-width: 1200px) {
  .site-menu__section {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  .site-menu__section[hidden], .is-menu-hidden .site-menu__section {
    display: block !important;
    visibility: hidden;
    transition: opacity var(--site-menu-transition-duration) var(--site-menu-transition-ease) var(--site-menu-transition-delay), transform var(--site-menu-transition-duration) var(--site-menu-transition-ease) var(--site-menu-transition-delay), visibility 0s var(--site-menu-transition-ease);
    opacity: 0;
  }
}

.site-menu__section-inner {
  width: 100%;
}
@media (max-width: 1199px) {
  .site-menu__section-inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-menu-link-gap);
  }
}
@media (min-width: 1200px) {
  .site-menu__section-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--site-menu-link-gap);
    border-top: 2px solid var(--color-violet-light);
  }
}
@media (min-width: 1200px) {
  .site-menu__section--layout-rows .site-menu__section-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1199px) {
  .site-menu__section-title {
    position: relative;
    width: 100%;
    height: 60px;
    padding: calc(var(--gutter) - var(--site-header-padding)) 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid var(--color-violet-light);
  }
  .site-menu__section-title button {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--gutter);
    width: 2rem;
    background: var(--color-white);
    font-size: 200%;
  }
  .site-menu__section-title span {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-size: 120%;
    font-weight: 700;
  }
}
@media (min-width: 1200px) {
  .site-menu__section-title {
    display: none;
  }
}

.site-menu__col {
  padding: var(--site-menu-gap);
}
@media (max-width: 1199px) {
  .site-menu__col {
    width: 50%;
    padding-bottom: calc(var(--site-menu-gap) / 2);
  }
}
@media (min-width: 1200px) {
  .site-menu__col {
    border-right: 2px solid var(--color-violet-light);
  }
}
.site-menu__section--layout-rows .site-menu__col {
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (max-width: 1199px) {
  .site-menu__section--layout-rows .site-menu__col {
    text-align: left;
    align-items: flex-start;
  }
}
.site-menu__section--layout-rows .site-menu__col + .site-menu__col {
  border-top: 2px solid var(--color-violet-light);
}

.site-menu__title a {
  display: block;
  font-weight: 700;
  color: var(--color-red);
  text-decoration: none;
  font-size: 95%;
  padding: 5px 0;
}
.site-menu__title a:hover, .site-menu__title a:focus-visible {
  text-decoration: underline;
}
.site-menu__title:first-child > a {
  padding-top: 0;
}
.site-menu__title:last-child > a {
  padding-bottom: 0;
}
.site-menu__list-wrapper + .site-menu__title {
  margin-top: var(--site-menu-gap);
}

.site-menu__section--layout-columns .site-menu__list a {
  text-decoration: none;
  display: block;
  padding: 5px 0;
  color: var(--color-text);
  font-size: 85%;
}
.site-menu__section--layout-columns .site-menu__list a:hover, .site-menu__section--layout-columns .site-menu__list a:focus-visible {
  text-decoration: underline;
}
li:last-child .site-menu__section--layout-columns .site-menu__list a {
  padding-bottom: 0;
}
.site-menu__section--layout-columns .site-menu__list li[data-id=shop-all] {
  display: none;
}
.site-menu__section--layout-rows .site-menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
@media (max-width: 1199px) {
  .site-menu__section--layout-rows .site-menu__list {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
@media (min-width: 1200px) {
  .site-menu__section--layout-rows .site-menu__list {
    padding-top: 1rem;
  }
}
.site-menu__section--layout-rows .site-menu__list a {
  text-wrap: nowrap;
}

@media (max-width: 1199px) {
  .site-menu__list-wrapper {
    overflow: scroll hidden;
    width: calc(100% + var(--gutter));
    padding-top: 1rem;
  }
}

.site-menu__brands {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding-top: 0.5rem;
}
@media (min-width: 1200px) {
  .site-menu__brands {
    padding-top: 1rem;
  }
}
.site-menu__brands a {
  display: block;
  position: relative;
  aspect-ratio: 3;
  width: 140px;
}
@media (min-width: 1200px) {
  .site-menu__brands a {
    width: 220px;
  }
}
.site-menu__brands a .site-menu__brand-link-inner {
  position: absolute;
  inset: 0.45rem 0.95rem;
}
@media (min-width: 1200px) {
  .site-menu__brands a .site-menu__brand-link-inner {
    inset: 0.65rem 1.25rem;
  }
}
.site-menu__brands a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.site-notice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--z-index-notice);
  background: var(--color-black);
  color: var(--color-white);
  padding: calc(var(--gutter) / 2);
  display: flex;
  justify-content: center;
  transition: opacity 0.1s var(--ease-in-out), transform 0.1s var(--ease-in-out);
}
.site-notice[hidden] {
  opacity: 0;
  transform: translateY(100%);
}

.site-notice__inner {
  width: 100%;
  max-width: 800px;
  text-align: center;
  position: relative;
  font-size: 90%;
}

.site-notice__title {
  font-size: 110%;
  font-weight: 700;
  margin-bottom: 0.3em;
}

.site-notice__close {
  position: absolute;
  top: calc(var(--gutter) / 2);
  right: calc(var(--gutter) / 2);
  fill: var(--color-white);
  font-size: 120%;
}

.site-search {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-index-search);
  opacity: 0;
  transition: opacity 0.1s var(--ease-out-quad);
  pointer-events: none;
  padding-bottom: 2rem;
  max-height: 100vh;
  overflow: hidden scroll;
  -webkit-overflow-scrolling: touch;
}
.is-search-open .site-search {
  opacity: 1;
  pointer-events: auto;
}
.is-search-open .site-search .site-header__toggle {
  visibility: hidden;
  pointer-events: none;
}

.site-search-bg {
  background: var(--color-white);
  opacity: 0;
  transform: translateY(-100%);
  transition: all 0.1s var(--ease-out-quad);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: calc(var(--z-index-search) - 1);
}
.is-search-open .site-search-bg {
  opacity: 1;
  transform: translateY(0);
}

.site-search__row {
  display: flex;
  align-items: flex-start;
  gap: var(--browse-gap);
  margin-top: calc(var(--browse-gap) * 2);
}

.site-search__aside {
  width: var(--browse-aside-width);
  flex-shrink: 0;
  overflow: hidden;
  overflow-wrap: break-word;
}
.site-search__aside .site-search__aside--expanded {
  width: 100%;
}

.site-search__main {
  width: 100%;
}

.site-search__title {
  margin-bottom: 1rem;
}

.site-search__list {
  list-style: none;
}
.site-search__list li {
  font-size: 90%;
}
.site-search__list li a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 0.2rem 0;
}
.site-search__list li a:hover, .site-search__list li a:focus-visible {
  text-decoration: underline;
}
.site-search__list li a mark {
  background: var(--color-accent-light);
}

.social-links {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.social-link {
  --social-link-size: 38px;
  width: var(--social-link-size);
  height: var(--social-link-size);
  border-radius: 50%;
  background: var(--color-white);
  color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: calc(var(--social-link-size) * 0.1875) calc(var(--social-link-size) * 0.1875) calc(var(--social-link-size) * 0.2) calc(var(--social-link-size) * 0.2);
  line-height: 0;
  transition: all 0.2s ease;
}
.social-link:hover, .social-link:focus-visible {
  background: var(--color-accent);
}
.social-link .icon {
  width: 100%;
  height: auto;
  max-height: 100%;
  fill: currentColor;
}

.social-link--icon {
  --social-link-size: 24px;
  background: none;
  padding: 0;
}
@media (min-width: 640px) {
  .social-link--icon {
    --social-link-size: 32px;
  }
}
.social-link--icon:hover, .social-link--icon:focus-visible {
  background: none;
  color: var(--color-accent);
}

:root {
  --special-offers-image-size: 300px;
}

.special-offers {
  min-height: calc(100vh - var(--site-header-height-static));
  display: flex;
  align-items: stretch;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (min-width: 1024px) {
  .special-offers {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.special-offers__container {
  position: absolute;
  inset: 0;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.special-offers__heading {
  color: var(--color-accent);
  font-size: 500%;
  font-family: var(--font-family-display);
  text-transform: uppercase;
  line-height: 0.85;
  text-align: center;
}
@media (min-width: 1024px) {
  .special-offers__heading {
    font-size: 700%;
  }
}
.special-offers__heading span {
  display: block;
}

.special-offers__main {
  position: absolute;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  place-content: center center;
}

.special-offers__images {
  position: absolute;
  inset: var(--gutter);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.special-offers__image-wrapper {
  position: relative;
  width: calc(100% - var(--special-offers-image-size));
  height: var(--special-offers-image-size);
}
.special-offers__image-wrapper > * {
  position: absolute;
  top: 0;
  left: 0;
}
.special-offers__image-wrapper:nth-child(1) > * {
  left: 5%;
}
.special-offers__image-wrapper:nth-child(2) > * {
  left: 100%;
}
.special-offers__image-wrapper:nth-child(3) > * {
  left: 30%;
}
.special-offers__image-wrapper:nth-child(4) > * {
  left: 90%;
}
.special-offers__image-wrapper:nth-child(5) > * {
  left: 15%;
}

.special-offers__image {
  width: var(--special-offers-image-size);
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
  background: var(--color-white);
}
.special-offers__image img {
  position: absolute;
  top: 8%;
  left: 8%;
  width: 84%;
  height: 84%;
  -o-object-fit: contain;
     object-fit: contain;
}

:root {
  --stepper-line-width: 1px;
  --stepper-line-color: var(--color-black);
  --stepper-bg-color: var(--color-accent-light);
  --stepper-color: var(--stepper-line-color);
  --stepper-circle-size: 10px;
  --stepper-circle-size-active: 14px;
  --stepper-circle-size-diff: calc(var(--stepper-circle-size-active) - var(--stepper-circle-size));
  --stepper-title-offset: 8px;
}
@media (min-width: 1024px) {
  :root {
    --stepper-title-offset: 10px;
  }
}

@media (max-width: 1023px) {
  .stepper-row {
    padding: 2rem 0 1rem;
  }
}

.stepper-wrapper {
  padding: var(--content-spacing) var(--gutter) var(--content-spacing) var(--gutter);
}

.stepper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.stepper::before {
  content: "";
  display: block;
  position: absolute;
  left: var(--stepper-circle-size);
  right: var(--stepper-circle-size);
  top: 50%;
  height: var(--stepper-line-width);
  background: var(--stepper-line-color);
  border-radius: 2px;
}

.stepper-step {
  text-align: center;
  position: relative;
  z-index: 10;
  text-decoration: none;
  color: inherit;
}

.stepper-step__inner {
  display: flex;
  flex-wrap: wrap;
  place-content: center center;
  gap: 5px;
}

.stepper-step__circle {
  width: var(--stepper-circle-size);
  height: var(--stepper-circle-size);
  border-radius: 50%;
  background: var(--stepper-bg-color);
  color: var(--stepper-color);
  display: flex;
  align-items: center;
  place-content: center center;
  text-align: center;
  position: relative;
}
.stepper-step__circle::before {
  content: "";
  display: block;
  background: var(--stepper-line-color);
  position: absolute;
  inset: calc(var(--stepper-line-width) * -1);
  border-radius: 50%;
  z-index: -1;
}
.stepper-step--complete .stepper-step__circle {
  --stepper-line-width: 2px;
  --stepper-bg-color: var(--stepper-line-color);
  --stepper-color: var(--color-white);
}
.stepper-step--active .stepper-step__circle {
  --stepper-line-width: 2px;
  --stepper-circle-size: var(--stepper-circle-size-active);
  --stepper-bg-color: var(--color-accent-bright);
}

.stepper-step__tick {
  display: none;
  line-height: 0;
  font-size: 55%;
}
.stepper-step--complete .stepper-step__tick {
  display: block;
}

.stepper-step__number {
  display: block;
}
.stepper-step--complete .stepper-step__number {
  display: none;
}

.stepper-step__title {
  font-size: 75%;
  position: absolute;
  bottom: calc(100% + var(--stepper-title-offset));
}
@media (min-width: 1024px) {
  .stepper-step__title {
    font-size: 90%;
  }
}
.stepper-step--active .stepper-step__title {
  bottom: calc(100% + var(--stepper-title-offset) - var(--stepper-circle-size-diff) / 2);
}

.thumbs-wrapper {
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Hide scrollbar for Firefox */
  -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
  padding-top: 1rem;
}
@media (max-width: 639px) {
  .thumbs-wrapper {
    margin-right: calc(var(--gutter) * -1);
    padding-right: var(--gutter);
  }
}
.thumbs-wrapper::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome, Safari, and Opera */
}
.thumbs-wrapper .thumb {
  scroll-snap-align: start;
}

.thumbs {
  flex-wrap: nowrap;
  display: flex;
  gap: 10px;
}
@media (max-width: 1023px) {
  .thumbs {
    gap: 6px;
  }
}

.thumb {
  display: block;
  aspect-ratio: 1/1;
  background-color: var(--color-grey);
  text-decoration: none;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .thumb {
    width: 115px;
  }
}
@media (min-width: 1024px) {
  .thumb {
    width: 190px;
  }
}

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

.thumb__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  place-content: flex-end center;
  text-align: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.3);
  transition: background 0.3s var(--ease-out-quad);
}
.thumb:hover .thumb__overlay, .thumb:focus-visible .thumb__overlay {
  background: rgba(0, 0, 0, 0.5);
}

.thumb__title {
  color: var(--color-white);
  font-size: 90%;
  text-transform: uppercase;
}

:root {
  --tiles-columns: 2;
  --tiles-gap-x: 0;
  --tiles-gap-y: 34px;
  --tile-padding: 15px;
  --tile-offset-y: 50px;
  --tile-offset-x: 10px;
}
@media (min-width: 768px) {
  :root {
    --tiles-columns: 4;
    --tiles-gap-x: 0;
    --tiles-gap-y: 0;
    --tile-offset-y: 50px;
    --tile-offset-x: 20px;
  }
}
@media (min-width: 1280px) {
  :root {
    --tiles-columns: 4;
  }
}

.tiles {
  display: grid;
  grid-template-columns: repeat(var(--tiles-columns), 1fr);
  gap: var(--tiles-gap-y) var(--tiles-gap-x);
  transition: opacity 0.1s var(--ease-out-quad);
  padding: var(--tile-offset-y) var(--tile-offset-x) var(--tile-offset-y) var(--tile-offset-x);
}
.is-loading .tiles {
  opacity: 0.3;
  pointer-events: none;
}

.tile-wrapper {
  width: 100%;
  position: relative;
  aspect-ratio: 0.745;
  z-index: 1;
  transition: all 0.25s var(--ease-out-quad);
}
@media (max-width: 767px) {
  .tile-wrapper:nth-child(1) {
    z-index: 12;
  }
  .tile-wrapper:nth-child(2) {
    z-index: 11;
  }
  .tile-wrapper:nth-child(3) {
    z-index: 10;
  }
  .tile-wrapper:nth-child(4) {
    z-index: 9;
  }
  .tile-wrapper:nth-child(5) {
    z-index: 8;
  }
  .tile-wrapper:nth-child(6) {
    z-index: 7;
  }
  .tile-wrapper:nth-child(7) {
    z-index: 6;
  }
  .tile-wrapper:nth-child(8) {
    z-index: 5;
  }
  .tile-wrapper:nth-child(9) {
    z-index: 4;
  }
  .tile-wrapper:nth-child(10) {
    z-index: 3;
  }
  .tile-wrapper:nth-child(11) {
    z-index: 2;
  }
  .tile-wrapper:nth-child(12) {
    z-index: 1;
  }
}
.tile-wrapper:not(.visible) {
  opacity: 0;
  transform: translate(-3rem, 3rem);
}

.tile {
  position: absolute;
  inset: 0 calc(var(--tile-offset-x) * -1);
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.tile-wrapper:nth-child(2n+1) .tile {
  top: calc(var(--tile-offset-y) * -1);
  bottom: calc(var(--tile-offset-y) * 1);
}
@media (min-width: 768px) {
  .tile-wrapper:nth-child(2n+1) .tile {
    top: calc(var(--tile-offset-y) * 1);
    bottom: calc(var(--tile-offset-y) * -1);
  }
}
.tile-wrapper:nth-child(2n) .tile {
  top: calc(var(--tile-offset-y) * 1);
  bottom: calc(var(--tile-offset-y) * -1);
}
@media (min-width: 768px) {
  .tile-wrapper:nth-child(2n) .tile {
    top: calc(var(--tile-offset-y) * -1);
    bottom: calc(var(--tile-offset-y) * 1);
  }
}

.tile__image {
  position: absolute;
  inset: 0;
  z-index: 5;
}
.tile__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.tile__image::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: hsla(var(--color-black-hsl), 0.2);
  z-index: 10;
}

.tile__main {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: var(--tile-padding);
  color: var(--color-white);
}

.tile__title,
.tile__subtitle {
  color: inherit;
  font-size: 170%;
  text-align: center;
}
@media (min-width: 1024px) {
  .tile__title,
  .tile__subtitle {
    font-size: 190%;
  }
}

.tile__title {
  order: 2;
}

.tile__subtitle {
  order: 1;
  opacity: 0;
  transition: all 0.3s var(--ease-out-quad);
  transform: scale(0.9);
}
.tile:hover .tile__subtitle, .tile:focus-visible .tile__subtitle {
  opacity: 1;
  transform: scale(1);
}

.tile__overlay {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: var(--background-image-noise);
  background-color: hsla(var(--color-violet-bright-hsl), 0.7);
  opacity: 0;
  transition: opacity 0.6s var(--ease-out-quad);
}
.tile:hover .tile__overlay, .tile:focus-visible .tile__overlay {
  opacity: 1;
}

.tile__icon {
  font-size: 200%;
  color: var(--color-white);
  transform: rotate(0);
  opacity: 0;
  transition: all 0.4s var(--ease-out-quad);
}
.tile:hover .tile__icon, .tile:focus-visible .tile__icon {
  opacity: 1;
  transform: scale(1.5) rotate(-45deg);
}

.video {
  position: relative;
}
.video:first-child {
  margin-top: 0;
}
.video:last-child {
  margin-bottom: 0;
}

.video--default::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.video__main {
  position: relative;
}
.video--default .video__main {
  position: absolute;
  inset: 0;
}

.media .video,
.media .video__main {
  position: absolute;
  inset: 0;
}
.media .video__thumbnail {
  height: 100%;
}

.video__thumbnail {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  z-index: 3;
  overflow: hidden;
}
.video__thumbnail img,
.video__thumbnail video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 1s var(--ease-out-quad);
}
.video:not(.feature__media):hover .video__thumbnail img, .video:not(.feature__media):focus-visible .video__thumbnail img,
.video:not(.feature__media):hover .video__thumbnail video,
.video:not(.feature__media):focus-visible .video__thumbnail video {
  transform: scale(1.05);
}
.video:not(.feature__media) .video__thumbnail::before {
  content: "";
  background: hsla(var(--color-black-hsl), 0.1);
  position: absolute;
  inset: 0;
  z-index: 10;
}
.no-js .video__thumbnail {
  z-index: 1 !important;
}
.video--is-playing .video__thumbnail {
  z-index: 1;
}

.video__video {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-black);
  width: 100%;
  height: 100%;
  z-index: 2;
}
.no-js .video__video[hidden] {
  display: block !important;
}

.video__play {
  position: absolute;
  inset: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  place-content: center center;
  align-items: center;
  background: linear-gradient(0deg, hsla(var(--color-black-hsl), 0.44) 0%, hsla(var(--color-black-hsl), 0) 40%);
}
.video__play::before {
  transition: all 0.3s var(--ease-out-quad);
  transform: translate3d(-50%, -50%, 0);
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90px;
  height: 90px;
  border: 1px solid var(--color-white);
  border-radius: 50%;
}
@media (min-width: 1024px) {
  .video__play::before {
    width: 110px;
    height: 110px;
  }
}
.video__play::after {
  transition: all 0.3s var(--ease-out-quad);
  transform: translate3d(-50%, -50%, 0);
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: 12px;
  width: 0;
  height: 0;
  border-left: 25px solid var(--color-white);
  border-top: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 15px solid transparent;
}
@media (min-width: 1024px) {
  .video__play::after {
    border-left: 25px solid var(--color-white);
    border-top: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid transparent;
    margin-left: 12px;
  }
}
.video__play:hover::before {
  transform: translate3d(-50%, -50%, 0) scale(1.1);
}
.video__play:hover::after {
  transform: translate3d(-50%, -50%, 0) scale(1.1);
}

.color-white {
  color: var(--color-white) !important;
}

.bg-white {
  background-color: var(--color-white) !important;
}

.color-lighter-grey {
  color: var(--color-lighter-grey) !important;
}

.bg-lighter-grey {
  background-color: var(--color-lighter-grey) !important;
}

.color-light-grey {
  color: var(--color-light-grey) !important;
}

.bg-light-grey {
  background-color: var(--color-light-grey) !important;
}

.color-grey {
  color: var(--color-grey) !important;
}

.bg-grey {
  background-color: var(--color-grey) !important;
}

.color-dark-grey {
  color: var(--color-dark-grey) !important;
}

.bg-dark-grey {
  background-color: var(--color-dark-grey) !important;
}

.color-darker-grey {
  color: var(--color-darker-grey) !important;
}

.bg-darker-grey {
  background-color: var(--color-darker-grey) !important;
}

.color-black {
  color: var(--color-black) !important;
}

.bg-black {
  background-color: var(--color-black) !important;
}

.color-main {
  color: var(--color-main) !important;
}

.bg-main {
  background-color: var(--color-main) !important;
}

.color-main-dark {
  color: var(--color-main-dark) !important;
}

.bg-main-dark {
  background-color: var(--color-main-dark) !important;
}

.color-main-light {
  color: var(--color-main-light) !important;
}

.bg-main-light {
  background-color: var(--color-main-light) !important;
}

.color-accent {
  color: var(--color-accent) !important;
}

.bg-accent {
  background-color: var(--color-accent) !important;
}

.color-accent-dark {
  color: var(--color-accent-dark) !important;
}

.bg-accent-dark {
  background-color: var(--color-accent-dark) !important;
}

.color-accent-light {
  color: var(--color-accent-light) !important;
}

.bg-accent-light {
  background-color: var(--color-accent-light) !important;
}

.theme-white-vars,
.theme-white,
.theme-white + .theme-echo {
  --theme-bg-color: var(--color-white);
  --theme-color: var(--color-text);
  --theme-accent-color: var(--color-main);
  --theme-accent-contrast-color: var(--color-white);
}
.row.theme-white + .theme-white-vars,
.row.theme-white + .theme-white,
.row.theme-white + .theme-white + .theme-echo {
  padding-top: 0;
}

.theme-light-grey-vars,
.theme-light-grey,
.theme-light-grey + .theme-echo {
  --theme-bg-color: var(--color-light-grey);
  --theme-color: var(--color-text);
  --theme-accent-color: var(--color-main);
  --theme-accent-contrast-color: var(--color-white);
}
.row.theme-light-grey + .theme-light-grey-vars,
.row.theme-light-grey + .theme-light-grey,
.row.theme-light-grey + .theme-light-grey + .theme-echo {
  padding-top: 0;
}

.theme-main-vars,
.theme-main,
.theme-main + .theme-echo {
  --theme-bg-color: var(--color-main);
  --theme-color: var(--color-accent-light);
  --theme-accent-color: var(--color-accent);
  --theme-accent-contrast-color: var(--color-white);
}
.row.theme-main + .theme-main-vars,
.row.theme-main + .theme-main,
.row.theme-main + .theme-main + .theme-echo {
  padding-top: 0;
}

.theme-accent-vars,
.theme-accent,
.theme-accent + .theme-echo {
  --theme-bg-color: var(--color-accent);
  --theme-color: var(--color-white);
  --theme-accent-color: var(--color-main);
  --theme-accent-contrast-color: var(--color-white);
}
.row.theme-accent + .theme-accent-vars,
.row.theme-accent + .theme-accent,
.row.theme-accent + .theme-accent + .theme-echo {
  padding-top: 0;
}

.theme-accent-light-vars,
.theme-accent-light,
.theme-accent-light + .theme-echo {
  --theme-bg-color: var(--color-accent-light);
  --theme-color: var(--color-text);
  --theme-accent-color: var(--color-accent);
  --theme-accent-contrast-color: var(--color-text);
}
.row.theme-accent-light + .theme-accent-light-vars,
.row.theme-accent-light + .theme-accent-light,
.row.theme-accent-light + .theme-accent-light + .theme-echo {
  padding-top: 0;
}

[class*=theme-],
[class*=" theme-"] {
  background-color: var(--theme-bg-color) !important;
  color: var(--theme-color) !important;
}
[class*=theme-] .color-accent,
[class*=" theme-"] .color-accent {
  color: var(--theme-accent-color, --theme-color, --color-text) !important;
}

.text-xs {
  font-size: 80% !important;
}

.text-sm {
  font-size: 90% !important;
}

.text-lg {
  font-size: 115% !important;
}

.text-xl {
  font-size: 130% !important;
}

.text-2xl {
  font-size: 160% !important;
}

.text-bold {
  font-weight: bold !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-lower {
  text-transform: lowercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-upper {
  text-transform: uppercase !important;
}

.color-black {
  color: var(--color-black) !important;
}

.color-red {
  color: var(--color-red) !important;
}

.color-red-dark {
  color: var(--color-red-dark) !important;
}

.m-0 {
  margin: 0rem !important;
}

.mt-0 {
  margin-top: 0rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.ml-0 {
  margin-left: 0rem !important;
}

.mr-0 {
  margin-right: 0rem !important;
}

.mh-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

.mv-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.p-0 {
  padding: 0rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.pl-0 {
  padding-left: 0rem !important;
}

.pr-0 {
  padding-right: 0rem !important;
}

.ph-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.pv-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.m-xs {
  margin: 1rem !important;
}

.mt-xs {
  margin-top: 1rem !important;
}

.mb-xs {
  margin-bottom: 1rem !important;
}

.ml-xs {
  margin-left: 1rem !important;
}

.mr-xs {
  margin-right: 1rem !important;
}

.mh-xs {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mv-xs {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.p-xs {
  padding: 1rem !important;
}

.pt-xs {
  padding-top: 1rem !important;
}

.pb-xs {
  padding-bottom: 1rem !important;
}

.pl-xs {
  padding-left: 1rem !important;
}

.pr-xs {
  padding-right: 1rem !important;
}

.ph-xs {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.pv-xs {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.m-sm {
  margin: 2rem !important;
}

.mt-sm {
  margin-top: 2rem !important;
}

.mb-sm {
  margin-bottom: 2rem !important;
}

.ml-sm {
  margin-left: 2rem !important;
}

.mr-sm {
  margin-right: 2rem !important;
}

.mh-sm {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.mv-sm {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.p-sm {
  padding: 2rem !important;
}

.pt-sm {
  padding-top: 2rem !important;
}

.pb-sm {
  padding-bottom: 2rem !important;
}

.pl-sm {
  padding-left: 2rem !important;
}

.pr-sm {
  padding-right: 2rem !important;
}

.ph-sm {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.pv-sm {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.m-lg {
  margin: 3rem !important;
}

.mt-lg {
  margin-top: 3rem !important;
}

.mb-lg {
  margin-bottom: 3rem !important;
}

.ml-lg {
  margin-left: 3rem !important;
}

.mr-lg {
  margin-right: 3rem !important;
}

.mh-lg {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.mv-lg {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.p-lg {
  padding: 3rem !important;
}

.pt-lg {
  padding-top: 3rem !important;
}

.pb-lg {
  padding-bottom: 3rem !important;
}

.pl-lg {
  padding-left: 3rem !important;
}

.pr-lg {
  padding-right: 3rem !important;
}

.ph-lg {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.pv-lg {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.m-xl {
  margin: 4rem !important;
}

.mt-xl {
  margin-top: 4rem !important;
}

.mb-xl {
  margin-bottom: 4rem !important;
}

.ml-xl {
  margin-left: 4rem !important;
}

.mr-xl {
  margin-right: 4rem !important;
}

.mh-xl {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.mv-xl {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.p-xl {
  padding: 4rem !important;
}

.pt-xl {
  padding-top: 4rem !important;
}

.pb-xl {
  padding-bottom: 4rem !important;
}

.pl-xl {
  padding-left: 4rem !important;
}

.pr-xl {
  padding-right: 4rem !important;
}

.ph-xl {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.pv-xl {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.content-spacing {
  margin-top: var(--content-spacing);
  margin-bottom: var(--content-spacing);
}
.content-spacing:first-child {
  margin-top: 0;
}
.content-spacing:last-child {
  margin-bottom: 0;
}

.content-spacing-lg, .page {
  margin-top: var(--content-spacing-lg);
  margin-bottom: var(--content-spacing-lg);
}
.content-spacing-lg:first-child, .page:first-child {
  margin-top: 0;
}
.content-spacing-lg:last-child, .page:last-child {
  margin-bottom: 0;
}

.flex {
  display: flex;
  gap: var(--content-spacing);
}

.flex-gutter {
  gap: var(--gutter);
}

.flex-stack {
  display: flex;
  gap: var(--content-spacing);
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .flex-stack {
    flex-flow: row nowrap;
  }
}

.items-center {
  align-items: center;
}

.items-stretch {
  align-items: stretch;
}

.items-even > * {
  flex: 1;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.text-link {
  text-decoration: underline;
}
.text-link:hover, .text-link:focus-visible {
  opacity: 0.7;
}

@media (max-width: 639px) {
  .compact-brs br {
    display: none;
  }
}

@media print {
  @page {
    margin: 0.5cm;
  }
  h1,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
    page-break-after: avoid;
  }
  p {
    orphans: 3;
    widows: 3;
  }
  pre,
  blockquote {
    page-break-inside: avoid;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr {
    page-break-inside: avoid;
  }
}
