@charset "UTF-8";
.container {
  width: calc(100% - 2 * var(--component-padding));
  margin-left: auto;
  margin-right: auto;
}

.grid, .flex, .inline-flex,
[class^=flex\@], [class*=" flex@"],
[class^=inline-flex\@], [class*=" inline-flex@"] {
  --gap: 0px;
  --gap-x: var(--gap);
  --gap-y: var(--gap);
  gap: var(--gap-y) var(--gap-x);
}
.grid > *, .flex > *, .inline-flex > *,
[class^=flex\@] > *, [class*=" flex@"] > *,
[class^=inline-flex\@] > *, [class*=" inline-flex@"] > * {
  --sub-gap: 0px;
  --sub-gap-x: var(--sub-gap);
  --sub-gap-y: var(--sub-gap);
}

.grid {
  --grid-columns: 12;
  display: flex;
  flex-wrap: wrap;
}
.grid > * {
  flex-basis: 100%;
  max-width: 100%;
  min-width: 0;
}

/* #region (Safari < 14.1 fallback) */
@media not all and (min-resolution: 0.001dpcm) {
  @supports not (translate: none) {
    .grid, .flex[class*=gap-], .inline-flex[class*=gap-] {
      gap: 0px;
      margin-bottom: calc(-1 * var(--gap-y));
      margin-left: calc(-1 * var(--gap-x));
    }
    .grid > *, .flex[class*=gap-] > *, .inline-flex[class*=gap-] > * {
      margin-bottom: var(--sub-gap-y);
    }
    .grid {
      --offset: var(--gap-x);
      --gap-modifier: 0;
      --offset-modifier: 1;
    }
    .grid > * {
      margin-left: var(--offset);
    }
    .flex[class*=gap-] > *, .inline-flex[class*=gap-] > * {
      margin-left: var(--sub-gap-x);
    }
  }
}
/* #endregion */

.gap-xxxs {
  --gap-x: var(--space-xxxs);
  --gap-y: var(--space-xxxs);
}
.gap-xxxs > * {
  --sub-gap-x: var(--space-xxxs);
  --sub-gap-y: var(--space-xxxs);
}

.gap-xxs {
  --gap-x: var(--space-xxs);
  --gap-y: var(--space-xxs);
}
.gap-xxs > * {
  --sub-gap-x: var(--space-xxs);
  --sub-gap-y: var(--space-xxs);
}

.gap-xs {
  --gap-x: var(--space-xs);
  --gap-y: var(--space-xs);
}
.gap-xs > * {
  --sub-gap-x: var(--space-xs);
  --sub-gap-y: var(--space-xs);
}

.gap-sm {
  --gap-x: var(--space-sm);
  --gap-y: var(--space-sm);
}
.gap-sm > * {
  --sub-gap-x: var(--space-sm);
  --sub-gap-y: var(--space-sm);
}

.gap-md {
  --gap-x: var(--space-md);
  --gap-y: var(--space-md);
}
.gap-md > * {
  --sub-gap-x: var(--space-md);
  --sub-gap-y: var(--space-md);
}

.gap-lg {
  --gap-x: var(--space-lg);
  --gap-y: var(--space-lg);
}
.gap-lg > * {
  --sub-gap-x: var(--space-lg);
  --sub-gap-y: var(--space-lg);
}

.gap-xl {
  --gap-x: var(--space-xl);
  --gap-y: var(--space-xl);
}
.gap-xl > * {
  --sub-gap-x: var(--space-xl);
  --sub-gap-y: var(--space-xl);
}

.col-6 {
  --span: 6;
}

.col-10 {
  --span: 10;
}

.col-12 {
  --span: 12;
}

 .col-6, .col-10, .col-12 {
  flex-basis: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
  max-width: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
}

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

@media (min-width: 32rem) {
  .col-6\@xs {
    --span: 6;
  }
   .col-6\@xs {
    flex-basis: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
    max-width: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
  }
  @media not all and (min-resolution: 0.001dpcm) {
  }
}
@media (min-width: 48rem) {
  .gap-sm\@sm {
    --gap-x: var(--space-sm);
    --gap-y: var(--space-sm);
  }
  .gap-sm\@sm > * {
    --sub-gap-x: var(--space-sm);
    --sub-gap-y: var(--space-sm);
  }
  .col-3\@sm {
    --span: 3;
  }
  .col-4\@sm {
    --span: 4;
  }
  .col-5\@sm {
    --span: 5;
  }
  .col-6\@sm {
    --span: 6;
  }
  .col-7\@sm {
    --span: 7;
  }
  .col-8\@sm {
    --span: 8;
  }
  .col-10\@sm {
    --span: 10;
  }
  .col-12\@sm {
    --span: 12;
  }
   .col-3\@sm, .col-4\@sm, .col-5\@sm, .col-6\@sm, .col-7\@sm, .col-8\@sm, .col-10\@sm, .col-12\@sm {
    flex-basis: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
    max-width: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
  }
  .offset-1\@sm {
    --offset: 1;
  }
  .offset-2\@sm {
    --offset: 2;
  }
  .offset-1\@sm, .offset-2\@sm {
    margin-left: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--offset) / var(--grid-columns) + (var(--offset) + var(--offset-modifier, 0)) * var(--sub-gap-x));
  }
  @media not all and (min-resolution: 0.001dpcm) {
  }
}
@media (min-width: 64rem) {
  .gap-xl\@md {
    --gap-x: var(--space-xl);
    --gap-y: var(--space-xl);
  }
  .gap-xl\@md > * {
    --sub-gap-x: var(--space-xl);
    --sub-gap-y: var(--space-xl);
  }
  .col-3\@md {
    --span: 3;
  }
  .col-4\@md {
    --span: 4;
  }
  .col-6\@md {
    --span: 6;
  }
  .col-8\@md {
    --span: 8;
  }
  .col-9\@md {
    --span: 9;
  }
   .col-3\@md, .col-4\@md, .col-6\@md, .col-8\@md, .col-9\@md {
    flex-basis: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
    max-width: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
  }
  .col\@md {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }
  @media not all and (min-resolution: 0.001dpcm) {
  }
}
@media (min-width: 80rem) {
  .col-2\@lg {
    --span: 2;
  }
  .col-4\@lg {
    --span: 4;
  }
  .col-8\@lg {
    --span: 8;
  }
   .col-2\@lg, .col-4\@lg, .col-8\@lg {
    flex-basis: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
    max-width: calc((100% - (var(--grid-columns) - var(--gap-modifier, 1)) * var(--sub-gap-x)) * var(--span) / var(--grid-columns) + (var(--span) - 1) * var(--sub-gap-x));
  }
  @media not all and (min-resolution: 0.001dpcm) {
  }
}
@media (min-width: 90rem) {
  @media not all and (min-resolution: 0.001dpcm) {
  }
}
*, *::after, *::before {
  box-sizing: inherit;
}

* {
  font: inherit;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, p, blockquote,
a, code, em, img, s,
small, strong, sub, var,
b, i, center,
dl, dt, dd, ol, ul, li, caption,
article, details, embed,
figure, figcaption, footer, header,
menu, nav, section, summary,
time, mark, audio, video, hr {
  margin: 0;
  padding: 0;
  border: 0;
}

html {
  box-sizing: border-box;
}

body {
  background-color: var(--color-bg, white);
}

article, details, figcaption, figure,
footer, header, menu, nav, section, main {
  display: block;
}

ol, ul, menu {
  list-style: none;
}

blockquote {
  quotes: none;
}

button, input, select {
  margin: 0;
}

.btn, .link, .reset {
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input::-ms-clear {
  display: none;
}

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

[data-theme] {
  background-color: var(--color-bg, hsl(0deg, 0%, 100%));
  color: var(--color-contrast-high, hsl(210deg, 7%, 21%));
}

:root {
  --space-unit: 1rem;
}

:root, * {
  --space-xxxxs: calc(0.125 * var(--space-unit));
  --space-xxxs: calc(0.25 * var(--space-unit));
  --space-xxs: calc(0.375 * var(--space-unit));
  --space-xs: calc(0.5 * var(--space-unit));
  --space-sm: calc(0.75 * var(--space-unit));
  --space-md: calc(1.25 * var(--space-unit));
  --space-lg: calc(2 * var(--space-unit));
  --space-xl: calc(3.25 * var(--space-unit));
  --space-xxl: calc(5.25 * var(--space-unit));
  --space-xxxl: calc(8.5 * var(--space-unit));
  --space-xxxxl: calc(13.75 * var(--space-unit));
  --component-padding: var(--space-md);
}

:root {
  --radius-sm: calc(var(--radius, 0.375em)/2);
  --radius-md: var(--radius, 0.375em);
  --radius-lg: calc(var(--radius, 0.375em)*2);
  --shadow-ring: 0 0 0 1px hsla(0, 0%, 0%, 0.05);
  --shadow-xs: 0 0.1px 0.3px hsla(0, 0%, 0%, 0.06),
                0 1px 2px hsla(0, 0%, 0%, 0.12);
  --shadow-sm: 0 0.3px 0.4px hsla(0, 0%, 0%, 0.025),
                0 0.9px 1.5px hsla(0, 0%, 0%, 0.05),
                0 3.5px 6px hsla(0, 0%, 0%, 0.1);
  --shadow-md: 0 0.9px 1.5px hsla(0, 0%, 0%, 0.03),
                0 3.1px 5.5px hsla(0, 0%, 0%, 0.08),
                0 14px 25px hsla(0, 0%, 0%, 0.12);
  --shadow-lg: 0 1.2px 1.9px -1px hsla(0, 0%, 0%, 0.014),
                0 3.3px 5.3px -1px hsla(0, 0%, 0%, 0.038),
                0 8.5px 12.7px -1px hsla(0, 0%, 0%, 0.085),
                0 30px 42px -1px hsla(0, 0%, 0%, 0.15);
  --shadow-xl: 0 1.5px 2.1px -6px hsla(0, 0%, 0%, 0.012),
                0 3.6px 5.2px -6px hsla(0, 0%, 0%, 0.035),
                0 7.3px 10.6px -6px hsla(0, 0%, 0%, 0.07),
                0 16.2px 21.9px -6px hsla(0, 0%, 0%, 0.117),
                0 46px 60px -6px hsla(0, 0%, 0%, 0.2);
  --inner-glow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075);
  --inner-glow-top: inset 0 1px 0.5px hsla(0, 0%, 100%, 0.075);
  --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
}

:root {
  --heading-line-height: 1.2;
  --body-line-height: 1.4;
}

body {
  font-size: var(--text-base-size, 1rem);
  font-family: var(--font-primary, sans-serif);
  color: var(--color-contrast-high, hsl(210deg, 7%, 21%));
  font-weight: var(--body-font-weight, normal);
}

h1, h2, h3, h4 {
  color: var(--color-contrast-higher, hsl(204deg, 28%, 7%));
  line-height: var(--heading-line-height, 1.2);
  font-weight: var(--heading-font-weight, 700);
}

h1 {
  font-size: var(--text-xxl, 2rem);
}

h2 {
  font-size: var(--text-xl, 1.75rem);
}

h3 {
  font-size: var(--text-lg, 1.375rem);
}

h4 {
  font-size: var(--text-md, 1.125rem);
}

small {
  font-size: var(--text-sm, 0.75rem);
}

a, .link {
  color: var(--color-primary, hsl(250deg, 84%, 54%));
  text-decoration: underline;
}

strong {
  font-weight: bold;
}

s {
  text-decoration: line-through;
}

.text-component h1, .text-component h2, .text-component h3, .text-component h4 {
  line-height: calc(var(--heading-line-height) * var(--line-height-multiplier, 1));
  margin-bottom: calc(var(--space-unit) * 0.3125 * var(--text-space-y-multiplier, 1));
}
.text-component h2, .text-component h3, .text-component h4 {
  margin-top: calc(var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1));
}
.text-component p, .text-component blockquote, .text-component ul li, .text-component ol li {
  line-height: calc(var(--body-line-height) * var(--line-height-multiplier, 1));
}
.text-component ul, .text-component ol, .text-component p, .text-component blockquote, .text-component .text-component__block {
  margin-bottom: calc(var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1));
}
.text-component ul, .text-component ol {
  list-style-position: inside;
}
.text-component ul ul, .text-component ul ol, .text-component ol ul, .text-component ol ol {
  padding-left: 1em;
  margin-bottom: 0;
}
.text-component ul {
  list-style-type: disc;
}
.text-component ol {
  list-style-type: decimal;
}
.text-component img {
  display: block;
  margin: 0 auto;
}
.text-component figcaption {
  text-align: center;
  margin-top: calc(var(--space-unit) * 0.5);
}
.text-component em {
  font-style: italic;
}
.text-component hr {
  margin-top: calc(var(--space-unit) * 1.875 * var(--text-space-y-multiplier, 1));
  margin-bottom: calc(var(--space-unit) * 1.875 * var(--text-space-y-multiplier, 1));
  margin-left: auto;
  margin-right: auto;
}
.text-component > *:first-child {
  margin-top: 0;
}
.text-component > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 48rem) {
  .text-component__block--left,
  .text-component__block--right {
    width: 45%;
  }
  .text-component__block--left img,
  .text-component__block--right img {
    width: 100%;
  }
  .text-component__block--left {
    float: left;
    margin-right: calc(var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1));
  }
  .text-component__block--right {
    float: right;
    margin-left: calc(var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1));
  }
}
@media (min-width: 90rem) {
  .text-component__block--outset {
    width: calc(100% + 10.5 * var(--space-unit));
  }
  .text-component__block--outset img {
    width: 100%;
  }
  .text-component__block--outset:not(.text-component__block--right) {
    margin-left: calc(-5.25 * var(--space-unit));
  }
  .text-component__block--left, .text-component__block--right {
    width: 50%;
  }
  .text-component__block--right.text-component__block--outset {
    margin-right: calc(-5.25 * var(--space-unit));
  }
}
:root {
  --icon-xxxs: 8px;
  --icon-xxs: 12px;
  --icon-xs: 16px;
  --icon-sm: 24px;
  --icon-md: 32px;
  --icon-lg: 48px;
  --icon-xl: 64px;
  --icon-xxl: 96px;
  --icon-xxxl: 128px;
}

.icon {
  --size: 1em;
  font-size: var(--size);
  height: 1em;
  width: 1em;
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}

.icon--xs {
  --size: var(--icon-xs);
}

.icon--sm {
  --size: var(--icon-sm);
}

.icon--lg {
  --size: var(--icon-lg);
}

.icon--xxl {
  --size: var(--icon-xxl);
}

@keyframes icon-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.icon use {
  color: inherit;
  fill: currentColor;
}

.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  font-size: var(--btn-font-size, 1em);
  padding-top: var(--btn-padding-y, 0.5em);
  padding-bottom: var(--btn-padding-y, 0.5em);
  padding-left: var(--btn-padding-x, 0.75em);
  padding-right: var(--btn-padding-x, 0.75em);
  border-radius: var(--btn-radius, 0.25em);
}

.btn--sm {
  font-size: var(--btn-font-size-sm, 0.8em);
}

:root {
  --z-index-header: 3;
  --z-index-popover: 5;
  --z-index-fixed-element: 10;
  --z-index-overlay: 15;
}

:root {
  --display: block;
}

.is-hidden {
  display: none !important;
}

html:not(.js) .no-js\:is-hidden {
  display: none !important;
}
.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

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

.flex-center {
  justify-content: center;
  align-items: center;
}

.flex-grow {
  flex-grow: 1;
}

.flex-basis-0 {
  flex-basis: 0;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

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

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

[class^=aspect-ratio], [class*=" aspect-ratio"] {
  --aspect-ratio: calc(16/9);
  position: relative;
  height: 0;
  padding-bottom: calc(100% / (var(--aspect-ratio)));
}
[class^=aspect-ratio] > *, [class*=" aspect-ratio"] > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
[class^=aspect-ratio] > *:not(iframe), [class*=" aspect-ratio"] > *:not(iframe) {
  -o-object-fit: cover;
     object-fit: cover;
}

.aspect-ratio-16\:9 {
  --aspect-ratio: calc(16/9);
}

.aspect-ratio-4\:3 {
  --aspect-ratio: calc(4/3);
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.hide {
  display: none;
}

.margin-auto {
  margin: auto;
}

.margin-top-sm {
  margin-top: var(--space-sm);
}

.margin-top-md {
  margin-top: var(--space-md);
}

.margin-top-lg {
  margin-top: var(--space-lg);
}

.margin-top-xl {
  margin-top: var(--space-xl);
}

.margin-bottom-xxxs {
  margin-bottom: var(--space-xxxs);
}

.margin-bottom-xxs {
  margin-bottom: var(--space-xxs);
}

.margin-bottom-xs {
  margin-bottom: var(--space-xs);
}

.margin-bottom-sm {
  margin-bottom: var(--space-sm);
}

.margin-bottom-md {
  margin-bottom: var(--space-md);
}

.margin-bottom-lg {
  margin-bottom: var(--space-lg);
}

.margin-bottom-xl {
  margin-bottom: var(--space-xl);
}

.margin-right-xxs {
  margin-right: var(--space-xxs);
}

.margin-left-xxxs {
  margin-left: var(--space-xxxs);
}

.margin-x-auto {
  margin-left: auto;
  margin-right: auto;
}

.margin-y-lg {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.margin-y-xl {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.padding-xs {
  padding: var(--space-xs);
}

.padding-sm {
  padding: var(--space-sm);
}

.padding-md {
  padding: var(--space-md);
}

.padding-0 {
  padding: 0;
}

.padding-top-xxxs {
  padding-top: var(--space-xxxs);
}

.padding-top-xxs {
  padding-top: var(--space-xxs);
}

.padding-top-xs {
  padding-top: var(--space-xs);
}

.padding-top-sm {
  padding-top: var(--space-sm);
}

.padding-top-md {
  padding-top: var(--space-md);
}

.padding-top-lg {
  padding-top: var(--space-lg);
}

.padding-top-xl {
  padding-top: var(--space-xl);
}

.padding-top-xxl {
  padding-top: var(--space-xxl);
}

.padding-bottom-xs {
  padding-bottom: var(--space-xs);
}

.padding-bottom-sm {
  padding-bottom: var(--space-sm);
}

.padding-bottom-md {
  padding-bottom: var(--space-md);
}

.padding-bottom-lg {
  padding-bottom: var(--space-lg);
}

.padding-bottom-xl {
  padding-bottom: var(--space-xl);
}

.padding-bottom-xxl {
  padding-bottom: var(--space-xxl);
}

.padding-x-md {
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}

.padding-x-xl {
  padding-left: var(--space-xl);
  padding-right: var(--space-xl);
}

.padding-y-xxs {
  padding-top: var(--space-xxs);
  padding-bottom: var(--space-xxs);
}

.padding-y-xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}

.padding-y-sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}

.padding-y-md {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}

.padding-y-lg {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.padding-y-xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.padding-y-xxl {
  padding-top: var(--space-xxl);
  padding-bottom: var(--space-xxl);
}

.padding-y-xxxl {
  padding-top: var(--space-xxxl);
  padding-bottom: var(--space-xxxl);
}

.align-middle {
  vertical-align: middle;
}

 .text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-xs {
  font-size: var(--text-xs, 0.6875rem);
}

.text-sm {
  font-size: var(--text-sm, 0.75rem);
}

.text-base {
  font-size: var(--text-unit, 1rem);
}

.text-md {
  font-size: var(--text-md, 1.125rem);
}

.text-lg {
  font-size: var(--text-lg, 1.375rem);
}

.text-xl {
  font-size: var(--text-xl, 1.75rem);
}

.text-xxl {
  font-size: var(--text-xxl, 2rem);
}

.text-uppercase {
  text-transform: uppercase;
}

.letter-spacing-md {
  letter-spacing: 0.05em;
}

.letter-spacing-lg {
  letter-spacing: 0.1em;
}

.font-light {
  font-weight: 300;
}

.font-bold {
  font-weight: 700;
}

.font-italic {
  font-style: italic;
}

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

.text-space-y-md {
  --text-space-y-multiplier: 1.25 !important;
}

.text-space-y-lg {
  --text-space-y-multiplier: 1.5 !important;
}

.line-height-md {
  --heading-line-height: 1.15;
  --body-line-height: 1.4;
}
.line-height-md:not(.text-component) {
  line-height: 1.4;
}

.line-height-lg {
  --heading-line-height: 1.22;
  --body-line-height: 1.58;
}
.line-height-lg:not(.text-component) {
  line-height: 1.58;
}

.line-height-1 {
  line-height: 1 !important;
}

[class^=color-], [class*=" color-"] {
  --color-o: 1;
}

.color-inherit {
  color: inherit;
}

.color-contrast-lower {
  color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), var(--color-o, 1));
}

.color-contrast-low {
  color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), var(--color-o, 1));
}

.color-contrast-medium {
  color: hsla(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l), var(--color-o, 1));
}

.color-contrast-high {
  color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), var(--color-o, 1));
}

.color-contrast-higher {
  color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--color-o, 1));
}

.color-primary {
  color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), var(--color-o, 1));
}

.color-accent-light {
  color: hsla(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l), var(--color-o, 1));
}

.color-accent-lighter {
  color: hsla(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l), var(--color-o, 1));
}

.color-white {
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), var(--color-o, 1));
}

[class^=color-gradient], [class*=" color-gradient"] {
  color: transparent !important;
  -webkit-background-clip: text;
          background-clip: text;
}

.width-80\% {
  width: 80%;
}

.width-100\% {
  width: 100%;
}

.height-100\% {
  height: 100%;
}

:root {
  --max-width-xxxxxs: 17.5rem;
  --max-width-xxxxs: 20rem;
  --max-width-xxxs: 26rem;
  --max-width-xxs: 32rem;
  --max-width-xs: 38rem;
  --max-width-sm: 48rem;
  --max-width-md: 64rem;
  --max-width-lg: 80rem;
  --max-width-xl: 90rem;
  --max-width-xxl: 100rem;
  --max-width-xxxl: 120rem;
  --max-width-xxxxl: 150rem;
}

.max-width-xs {
  max-width: var(--max-width-xs);
}

.max-width-sm {
  max-width: var(--max-width-sm);
}

.max-width-lg {
  max-width: var(--max-width-lg);
}

[class^=max-width-adaptive], [class*=" max-width-adaptive"] {
  max-width: 32rem;
}

@media (min-width: 48rem) {
  .max-width-adaptive-sm, .max-width-adaptive-md, .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 48rem;
  }
}
@media (min-width: 64rem) {
  .max-width-adaptive-md, .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 64rem;
  }
}
@media (min-width: 80rem) {
  .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 80rem;
  }
}
@media (min-width: 90rem) {
  .max-width-adaptive-xl {
    max-width: 90rem;
  }
}

.shadow-xs {
  box-shadow: var(--shadow-xs);
}

.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}
:where(.inner-glow, .inner-glow-top)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}

.inner-glow::after {
  box-shadow: var(--inner-glow);
}

.inner-glow-top::after {
  box-shadow: var(--inner-glow-top);
}

.position-relative {
  position: relative;
}

.position-sticky {
  position: sticky;
}

.top-0 {
  top: 0;
}

.z-index-1 {
  z-index: 1;
}

.z-index-2 {
  z-index: 2;
}

.z-index-3 {
  z-index: 3;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.opacity-10\% {
  opacity: 0.1;
}

.opacity-50\% {
  opacity: 0.5;
}

.opacity-60\% {
  opacity: 0.6;
}

.opacity-70\% {
  opacity: 0.7;
}

.opacity-80\% {
  opacity: 0.8;
}

.border {
  border: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-o-base, 0.1));
}

.border-top {
  border-top: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-o-base, 0.1));
}

.border-bottom {
  border-bottom: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-o-base, 0.1));
}

[class^=border-], [class*=" border-"] {
  --border-o: 1;
}

.border-contrast-higher {
  border-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-o, 1));
}

.border-primary-light {
  border-color: hsla(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l), var(--border-o, 1));
}

.border-accent {
  border-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), var(--border-o, 1));
}

.border-opacity-10\% {
  --border-o: 0.1;
}

.border-opacity-20\% {
  --border-o: 0.2;
}

.border-opacity-80\% {
  --border-o: 0.8;
}

.radius-sm {
  border-radius: var(--radius-sm);
}

.radius-md {
  border-radius: var(--radius-md);
}

.radius-lg {
  border-radius: var(--radius-lg);
}

.radius-top-left-0 {
  border-top-left-radius: 0;
}

.radius-top-right-0 {
  border-top-right-radius: 0;
}

.radius-bottom-right-0 {
  border-bottom-right-radius: 0;
}

.radius-bottom-left-0 {
  border-bottom-left-radius: 0;
}

.bg, [class^=bg-], [class*=" bg-"] {
  --bg-o: 1;
}

.bg-dark {
  background-color: hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), var(--bg-o));
}

.bg {
  background-color: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), var(--bg-o));
}

.bg-light {
  background-color: hsla(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l), var(--bg-o));
}

.bg-lighter {
  background-color: hsla(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l), var(--bg-o));
}

.bg-contrast-lower {
  background-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), var(--bg-o, 1));
}

.bg-contrast-high {
  background-color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), var(--bg-o, 1));
}

.bg-contrast-higher {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--bg-o, 1));
}

.bg-opacity-10\% {
  --bg-o: 0.1;
}

.bg-opacity-50\% {
  --bg-o: 0.5;
}

.bg-opacity-90\% {
  --bg-o: 0.9;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

[class^=flip], [class*=" flip"],
[class^=-rotate], [class*=" -rotate"],
[class^=rotate], [class*=" rotate"],
[class^=-translate], [class*=" -translate"],
[class^=translate], [class*=" translate"],
[class^=-scale], [class*=" -scale"],
[class^=scale], [class*=" scale"],
[class^=-skew], [class*=" -skew"] [class^=skew],
[class*=" skew"] {
  --translate: 0;
  --rotate: 0;
  --skew: 0;
  --scale: 1;
  transform: translate3d(var(--translate-x, var(--translate)), var(--translate-y, var(--translate)), var(--translate-z, 0)) rotateX(var(--rotate-x, 0)) rotateY(var(--rotate-y, 0)) rotateZ(var(--rotate-z, var(--rotate))) skewX(var(--skew-x, var(--skew))) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, var(--scale))) scaleY(var(--scale-y, var(--scale)));
}

.visible {
  visibility: visible;
}

@media (min-width: 32rem) {
  .flex-row\@xs {
    flex-direction: row;
  }
  .justify-between\@xs {
    justify-content: space-between;
  }
  .items-center\@xs {
    align-items: center;
  }
  .margin-bottom-sm\@xs {
    margin-bottom: var(--space-sm);
  }
  .padding-right-xxxxs\@xs {
    padding-right: var(--space-xxxxs);
  }
  .width-100\%\@xs {
    width: 100%;
  }
}
@media (min-width: 48rem) {
  .flex-row\@sm {
    flex-direction: row;
  }
  .justify-between\@sm {
    justify-content: space-between;
  }
  .items-center\@sm {
    align-items: center;
  }
  .order-1\@sm {
    order: 1;
  }
  .order-2\@sm {
    order: 2;
  }
  .margin-y-xl\@sm {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .padding-top-xl\@sm {
    padding-top: var(--space-xl);
  }
  .padding-top-xxl\@sm {
    padding-top: var(--space-xxl);
  }
  .padding-bottom-xl\@sm {
    padding-bottom: var(--space-xl);
  }
  .padding-bottom-xxl\@sm {
    padding-bottom: var(--space-xxl);
  }
  .padding-left-sm\@sm {
    padding-left: var(--space-sm);
  }
  .padding-left-md\@sm {
    padding-left: var(--space-md);
  }
  .padding-x-sm\@sm {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
  .padding-x-lg\@sm {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
  }
  .padding-y-md\@sm {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-y-xl\@sm {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .text-lg\@sm {
    font-size: var(--text-lg, 1.375rem);
  }
  .text-xl\@sm {
    font-size: var(--text-xl, 1.75rem);
  }
  .text-xxl\@sm {
    font-size: var(--text-xxl, 2rem);
  }
  .width-60\%\@sm {
    width: 60%;
  }
  .width-66\%\@sm {
    width: 66.6666666667%;
  }
  .width-80\%\@sm {
    width: 80%;
  }
  .width-90\%\@sm {
    width: 90%;
  }
}
@media (min-width: 64rem) {
  .flex\@md {
    display: flex;
  }
  .justify-end\@md {
    justify-content: flex-end;
  }
  .justify-between\@md {
    justify-content: space-between;
  }
  .items-start\@md {
    align-items: flex-start;
  }
  .margin-bottom-lg\@md {
    margin-bottom: var(--space-lg);
  }
  .margin-bottom-xl\@md {
    margin-bottom: var(--space-xl);
  }
  .padding-top-xxl\@md {
    padding-top: var(--space-xxl);
  }
  .padding-bottom-xxl\@md {
    padding-bottom: var(--space-xxl);
  }
  .padding-x-md\@md {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
  .padding-x-xl\@md {
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }
  .padding-y-xl\@md {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .text-center\@md {
    text-align: center;
  }
  .text-sm\@md {
    font-size: var(--text-sm, 0.75rem);
  }
  .text-base\@md {
    font-size: var(--text-unit, 1rem);
  }
  .width-50\%\@md {
    width: 50%;
  }
  .width-66\%\@md {
    width: 66.6666666667%;
  }
  .width-70\%\@md {
    width: 70%;
  }
  .position-sticky\@md {
    position: sticky;
  }
}
@media not all and (min-width: 64rem) {
  .display\@md {
    display: none !important;
  }
}
@media (min-width: 80rem) {
  .padding-y-xxl\@lg {
    padding-top: var(--space-xxl);
    padding-bottom: var(--space-xxl);
  }
}
:root, [data-theme=default] {
  --color-primary-darker: hsl(0, 0%, 0%);
  --color-primary-darker-h: 0;
  --color-primary-darker-s: 0%;
  --color-primary-darker-l: 0%;
  --color-primary-dark: hsl(0, 0%, 5%);
  --color-primary-dark-h: 0;
  --color-primary-dark-s: 0%;
  --color-primary-dark-l: 5%;
  --color-primary: hsl(0, 0%, 9%);
  --color-primary-h: 0;
  --color-primary-s: 0%;
  --color-primary-l: 9%;
  --color-primary-light: hsl(0, 0%, 15%);
  --color-primary-light-h: 0;
  --color-primary-light-s: 0%;
  --color-primary-light-l: 15%;
  --color-primary-lighter: hsl(0, 0%, 21%);
  --color-primary-lighter-h: 0;
  --color-primary-lighter-s: 0%;
  --color-primary-lighter-l: 21%;
  --color-accent-darker: hsl(32, 40%, 35%);
  --color-accent-darker-h: 32;
  --color-accent-darker-s: 40%;
  --color-accent-darker-l: 35%;
  --color-accent-dark: hsl(32, 40%, 41%);
  --color-accent-dark-h: 32;
  --color-accent-dark-s: 40%;
  --color-accent-dark-l: 41%;
  --color-accent: hsl(32, 40%, 47%);
  --color-accent-h: 32;
  --color-accent-s: 40%;
  --color-accent-l: 47%;
  --color-accent-light: hsl(32, 40%, 53%);
  --color-accent-light-h: 32;
  --color-accent-light-s: 40%;
  --color-accent-light-l: 53%;
  --color-accent-lighter: hsl(32, 40%, 59%);
  --color-accent-lighter-h: 32;
  --color-accent-lighter-s: 40%;
  --color-accent-lighter-l: 59%;
  --color-black: hsl(0, 0%, 9%);
  --color-black-h: 0;
  --color-black-s: 0%;
  --color-black-l: 9%;
  --color-white: hsl(180, 20%, 97%);
  --color-white-h: 180;
  --color-white-s: 20%;
  --color-white-l: 97%;
  --color-warning-darker: hsl(9, 100%, 23%);
  --color-warning-darker-h: 9;
  --color-warning-darker-s: 100%;
  --color-warning-darker-l: 23%;
  --color-warning-dark: hsl(9, 100%, 29%);
  --color-warning-dark-h: 9;
  --color-warning-dark-s: 100%;
  --color-warning-dark-l: 29%;
  --color-warning: hsl(9, 100%, 35%);
  --color-warning-h: 9;
  --color-warning-s: 100%;
  --color-warning-l: 35%;
  --color-warning-light: hsl(9, 100%, 41%);
  --color-warning-light-h: 9;
  --color-warning-light-s: 100%;
  --color-warning-light-l: 41%;
  --color-warning-lighter: hsl(9, 100%, 47%);
  --color-warning-lighter-h: 9;
  --color-warning-lighter-s: 100%;
  --color-warning-lighter-l: 47%;
  --color-success-darker: hsl(170, 78%, 26%);
  --color-success-darker-h: 170;
  --color-success-darker-s: 78%;
  --color-success-darker-l: 26%;
  --color-success-dark: hsl(170, 78%, 31%);
  --color-success-dark-h: 170;
  --color-success-dark-s: 78%;
  --color-success-dark-l: 31%;
  --color-success: hsl(170, 78%, 36%);
  --color-success-h: 170;
  --color-success-s: 78%;
  --color-success-l: 36%;
  --color-success-light: hsl(170, 78%, 42%);
  --color-success-light-h: 170;
  --color-success-light-s: 78%;
  --color-success-light-l: 42%;
  --color-success-lighter: hsl(170, 78%, 47%);
  --color-success-lighter-h: 170;
  --color-success-lighter-s: 78%;
  --color-success-lighter-l: 47%;
  --color-error-darker: hsl(9, 100%, 23%);
  --color-error-darker-h: 9;
  --color-error-darker-s: 100%;
  --color-error-darker-l: 23%;
  --color-error-dark: hsl(9, 100%, 29%);
  --color-error-dark-h: 9;
  --color-error-dark-s: 100%;
  --color-error-dark-l: 29%;
  --color-error: hsl(9, 100%, 35%);
  --color-error-h: 9;
  --color-error-s: 100%;
  --color-error-l: 35%;
  --color-error-light: hsl(9, 100%, 41%);
  --color-error-light-h: 9;
  --color-error-light-s: 100%;
  --color-error-light-l: 41%;
  --color-error-lighter: hsl(9, 100%, 47%);
  --color-error-lighter-h: 9;
  --color-error-lighter-s: 100%;
  --color-error-lighter-l: 47%;
  --color-bg-darker: hsl(180, 6%, 88%);
  --color-bg-darker-h: 180;
  --color-bg-darker-s: 6%;
  --color-bg-darker-l: 88%;
  --color-bg-dark: hsl(180, 7%, 92%);
  --color-bg-dark-h: 180;
  --color-bg-dark-s: 7%;
  --color-bg-dark-l: 92%;
  --color-bg: hsl(180, 40%, 98%);
  --color-bg-h: 180;
  --color-bg-s: 40%;
  --color-bg-l: 98%;
  --color-bg-light: hsl(180, 7%, 100%);
  --color-bg-light-h: 180;
  --color-bg-light-s: 7%;
  --color-bg-light-l: 100%;
  --color-bg-lighter: hsl(180, 6%, 100%);
  --color-bg-lighter-h: 180;
  --color-bg-lighter-s: 6%;
  --color-bg-lighter-l: 100%;
  --color-contrast-lower: hsl(180, 3%, 83%);
  --color-contrast-lower-h: 180;
  --color-contrast-lower-s: 3%;
  --color-contrast-lower-l: 83%;
  --color-contrast-low: hsl(180, 1%, 64%);
  --color-contrast-low-h: 180;
  --color-contrast-low-s: 1%;
  --color-contrast-low-l: 64%;
  --color-contrast-medium: hsl(180, 0%, 46%);
  --color-contrast-medium-h: 180;
  --color-contrast-medium-s: 0%;
  --color-contrast-medium-l: 46%;
  --color-contrast-high: hsl(0, 0%, 22%);
  --color-contrast-high-h: 0;
  --color-contrast-high-s: 0%;
  --color-contrast-high-l: 22%;
  --color-contrast-higher: hsl(0, 0%, 9%);
  --color-contrast-higher-h: 0;
  --color-contrast-higher-s: 0%;
  --color-contrast-higher-l: 9%;
}

[data-theme=dark] {
  --color-primary-darker: hsl(0, 0%, 86%);
  --color-primary-darker-h: 0;
  --color-primary-darker-s: 0%;
  --color-primary-darker-l: 86%;
  --color-primary-dark: hsl(0, 0%, 92%);
  --color-primary-dark-h: 0;
  --color-primary-dark-s: 0%;
  --color-primary-dark-l: 92%;
  --color-primary: hsl(0, 0%, 98%);
  --color-primary-h: 0;
  --color-primary-s: 0%;
  --color-primary-l: 98%;
  --color-primary-light: hsl(0, 0%, 99%);
  --color-primary-light-h: 0;
  --color-primary-light-s: 0%;
  --color-primary-light-l: 99%;
  --color-primary-lighter: hsl(0, 0%, 100%);
  --color-primary-lighter-h: 0;
  --color-primary-lighter-s: 0%;
  --color-primary-lighter-l: 100%;
  --color-accent-darker: hsl(32, 40%, 35%);
  --color-accent-darker-h: 32;
  --color-accent-darker-s: 40%;
  --color-accent-darker-l: 35%;
  --color-accent-dark: hsl(32, 40%, 41%);
  --color-accent-dark-h: 32;
  --color-accent-dark-s: 40%;
  --color-accent-dark-l: 41%;
  --color-accent: hsl(32, 40%, 47%);
  --color-accent-h: 32;
  --color-accent-s: 40%;
  --color-accent-l: 47%;
  --color-accent-light: hsl(32, 40%, 53%);
  --color-accent-light-h: 32;
  --color-accent-light-s: 40%;
  --color-accent-light-l: 53%;
  --color-accent-lighter: hsl(32, 40%, 59%);
  --color-accent-lighter-h: 32;
  --color-accent-lighter-s: 40%;
  --color-accent-lighter-l: 59%;
  --color-black: hsl(0, 0%, 9%);
  --color-black-h: 0;
  --color-black-s: 0%;
  --color-black-l: 9%;
  --color-white: hsl(0, 0%, 92%);
  --color-white-h: 0;
  --color-white-s: 0%;
  --color-white-l: 92%;
  --color-warning-darker: hsl(9, 100%, 23%);
  --color-warning-darker-h: 9;
  --color-warning-darker-s: 100%;
  --color-warning-darker-l: 23%;
  --color-warning-dark: hsl(9, 100%, 29%);
  --color-warning-dark-h: 9;
  --color-warning-dark-s: 100%;
  --color-warning-dark-l: 29%;
  --color-warning: hsl(9, 100%, 35%);
  --color-warning-h: 9;
  --color-warning-s: 100%;
  --color-warning-l: 35%;
  --color-warning-light: hsl(9, 100%, 41%);
  --color-warning-light-h: 9;
  --color-warning-light-s: 100%;
  --color-warning-light-l: 41%;
  --color-warning-lighter: hsl(9, 100%, 47%);
  --color-warning-lighter-h: 9;
  --color-warning-lighter-s: 100%;
  --color-warning-lighter-l: 47%;
  --color-success-darker: hsl(170, 78%, 26%);
  --color-success-darker-h: 170;
  --color-success-darker-s: 78%;
  --color-success-darker-l: 26%;
  --color-success-dark: hsl(170, 78%, 31%);
  --color-success-dark-h: 170;
  --color-success-dark-s: 78%;
  --color-success-dark-l: 31%;
  --color-success: hsl(170, 78%, 36%);
  --color-success-h: 170;
  --color-success-s: 78%;
  --color-success-l: 36%;
  --color-success-light: hsl(170, 78%, 42%);
  --color-success-light-h: 170;
  --color-success-light-s: 78%;
  --color-success-light-l: 42%;
  --color-success-lighter: hsl(170, 78%, 47%);
  --color-success-lighter-h: 170;
  --color-success-lighter-s: 78%;
  --color-success-lighter-l: 47%;
  --color-error-darker: hsl(9, 100%, 23%);
  --color-error-darker-h: 9;
  --color-error-darker-s: 100%;
  --color-error-darker-l: 23%;
  --color-error-dark: hsl(9, 100%, 29%);
  --color-error-dark-h: 9;
  --color-error-dark-s: 100%;
  --color-error-dark-l: 29%;
  --color-error: hsl(9, 100%, 35%);
  --color-error-h: 9;
  --color-error-s: 100%;
  --color-error-l: 35%;
  --color-error-light: hsl(9, 100%, 41%);
  --color-error-light-h: 9;
  --color-error-light-s: 100%;
  --color-error-light-l: 41%;
  --color-error-lighter: hsl(9, 100%, 47%);
  --color-error-lighter-h: 9;
  --color-error-lighter-s: 100%;
  --color-error-lighter-l: 47%;
  --color-bg-darker: hsl(0, 0%, 3%);
  --color-bg-darker-h: 0;
  --color-bg-darker-s: 0%;
  --color-bg-darker-l: 3%;
  --color-bg-dark: hsl(0, 0%, 5%);
  --color-bg-dark-h: 0;
  --color-bg-dark-s: 0%;
  --color-bg-dark-l: 5%;
  --color-bg: hsl(0, 0%, 9%);
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 9%;
  --color-bg-light: hsl(0, 0%, 13%);
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 13%;
  --color-bg-lighter: hsl(0, 0%, 15%);
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 15%;
  --color-contrast-lower: hsl(0, 0%, 18%);
  --color-contrast-lower-h: 0;
  --color-contrast-lower-s: 0%;
  --color-contrast-lower-l: 18%;
  --color-contrast-low: hsl(0, 0%, 32%);
  --color-contrast-low-h: 0;
  --color-contrast-low-s: 0%;
  --color-contrast-low-l: 32%;
  --color-contrast-medium: hsl(0, 0%, 46%);
  --color-contrast-medium-h: 0;
  --color-contrast-medium-s: 0%;
  --color-contrast-medium-l: 46%;
  --color-contrast-high: hsl(0, 0%, 69%);
  --color-contrast-high-h: 0;
  --color-contrast-high-s: 0%;
  --color-contrast-high-l: 69%;
  --color-contrast-higher: hsl(0, 0%, 84%);
  --color-contrast-higher-h: 0;
  --color-contrast-higher-s: 0%;
  --color-contrast-higher-l: 84%;
}

@media (min-width: 64rem) {
  :root, * {
    --space-xxxxs: calc(0.1875 * var(--space-unit));
    --space-xxxs: calc(0.375 * var(--space-unit));
    --space-xxs: calc(0.5625 * var(--space-unit));
    --space-xs: calc(0.75 * var(--space-unit));
    --space-sm: calc(1.125 * var(--space-unit));
    --space-md: calc(2 * var(--space-unit));
    --space-lg: calc(3.125 * var(--space-unit));
    --space-xl: calc(5.125 * var(--space-unit));
    --space-xxl: calc(8.25 * var(--space-unit));
    --space-xxxl: calc(13.25 * var(--space-unit));
    --space-xxxxl: calc(21.5 * var(--space-unit));
  }
}
:root {
  --radius: 0.375em;
  --shadow-xs: 0 0 0 1px hsla(0, 0%, 0%, 0.01),
  0 1px 3px -1px hsla(0, 0%, 0%, 0.1);
  --shadow-sm: 0 0.3px 0.4px hsla(0, 0%, 0%, 0.02),
  0 0.9px 1.5px hsla(0, 0%, 0%, 0.025),
   0 3.5px 6px hsla(0, 0%, 0%, 0.05);
}

:root {
  --font-primary: "aktiv-grotesk", system-ui, sans-serif;
  --font-secondary: "larken", serif;
  --text-base-size: 1.055em;
  --text-scale-ratio: 1.2;
  --body-line-height: 1.65;
  --heading-line-height: 1.2;
  --font-primary-capital-letter: 1;
  --font-secondary-capital-letter: 1;
  --text-unit: var(--text-base-size);
}

:root, * {
  --text-xs: calc((var(--text-unit) / var(--text-scale-ratio)) / var(--text-scale-ratio));
  --text-sm: calc(var(--text-xs) * var(--text-scale-ratio));
  --text-md: calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-lg: calc(var(--text-md) * var(--text-scale-ratio));
  --text-xl: calc(var(--text-lg) * var(--text-scale-ratio));
  --text-xxl: calc(var(--text-xl) * var(--text-scale-ratio));
  --text-xxxl: calc(var(--text-xxl) * var(--text-scale-ratio));
  --text-xxxxl: calc(var(--text-xxxl) * var(--text-scale-ratio));
}

@media (min-width: 48rem) {
  :root {
    --text-base-size: 1.055em;
    --text-scale-ratio: 1.4;
  }
}
body {
  font-family: var(--font-primary);
  --body-font-weight: 400;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-secondary);
  --heading-font-weight: 300;
}

/* Typography Sizes */
h1, .h1 {
  font-size: clamp(2.3rem, 2rem + 1.5vw, 3.13rem);
}

h2, .h2 {
  font-size: clamp(2.1rem, 1.909rem + 0.955vw, 2.63rem);
}

h3, .h3 {
  font-size: clamp(2rem, 1.864rem + 0.682vw, 2.38rem);
}

h4, .h4 {
  font-size: clamp(1.7rem, 1.591rem + 0.545vw, 2rem);
}

h5, .h5 {
  font-size: clamp(1.2rem, 1.091rem + 0.545vw, 1.5rem);
}

.padding-heading-bottom {
  padding-bottom: 1.5rem;
}

.font-secondary {
  font-family: var(--font-secondary);
}

mark {
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
  color: inherit;
}

.text-component {
  --line-height-multiplier: 1.045;
  --text-space-y-multiplier: 1.1;
}
.text-component > * {
  --text-unit: 1em;
  --space-unit: 1em;
}
.text-component blockquote {
  padding-left: 1em;
  border-left: 4px solid var(--color-contrast-lower);
  font-style: italic;
}
.text-component hr {
  background: var(--color-contrast-lower);
  height: 1px;
}
.text-component figcaption {
  font-size: var(--text-sm);
  color: var(--color-contrast-low);
}

.text-xxs {
  font-size: 0.7rem;
}

p i {
  font-style: italic;
  font-weight: 550;
}

.text-component h3 + p {
  padding-top: 1.25em;
}

.text-component h4 + p {
  padding-top: 1.25em;
}

:root {
  --btn-font-size: var(--text-md);
  --btn-padding-x: var(--space-sm);
  --btn-padding-y: var(--space-sm);
  --btn-radius: var(--radius-sm);
}

.btn {
  background: var(--color-bg-dark);
  color: var(--color-contrast-higher);
  cursor: pointer;
  font-family: var(--font-primary);
  font-weight: 600;
  text-transform: none;
  text-decoration: none;
  line-height: 1.35;
  letter-spacing: 0.015rem;
  transition: all 0.2s ease;
  will-change: transform;
}
.btn:focus {
  box-shadow: 0px 0px 0px 2px var(--color-bg), 0px 0px 0px 4px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
  outline: none;
}
.btn:active {
  transform: translateY(2px);
}

.btn--primary {
  background: var(--color-primary-darker);
  color: var(--color-white);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), 0px 1px 3px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25), 0px 2px 6px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.1), 0px 6px 10px -2px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25);
}
.btn--primary:hover {
  background: var(--color-accent-lighter);
  color: var(--color-primary-darker);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), 0px 1px 2px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25), 0px 1px 4px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.1), 0px 3px 6px -2px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25);
}
.btn--primary:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), 0px 1px 2px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25), 0px 1px 4px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.1), 0px 3px 6px -2px hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.25), 0px 0px 0px 2px var(--color-bg), 0px 0px 0px 4px var(--color-primary);
}

.btn--cta {
  background: var(--color-accent);
  color: var(--color-primary-darker);
  box-shadow: inset 1px 1px 1px 0px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
}
.btn--cta:hover {
  background: var(--color-accent-dark);
  color: var(--color-primary-darker);
}

 .btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn--sm {
  font-size: 0.9em;
}

.button-arr {
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  border: 1px solid rgba(93, 93, 93, 0.2);
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  background-color: var(--color-black);
  color: #fff;
  border-radius: 0.6rem;
  font-weight: 400;
  font-size: 0.9em;
  padding: 0.75rem 1.5rem;
  padding-left: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color 0.3s;
  box-shadow: 0.9px 1.8px 1.8px hsla(0deg, 0%, 0%, 0.3);
}

.button__icon-wrapper {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  position: relative;
  color: rgb(130, 93, 51);
  background-color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.button-arr:hover {
  background-color: var(--color-accent-darker);
  border: 1px solid rgb(148, 111, 70);
}

.button-arr:hover .button__icon-wrapper {
  color: #000;
}

.alt-arr {
  background-color: var(--color-accent-darker);
  border: 1px solid rgb(148, 111, 70);
}

.alt-arr:hover {
  background-color: var(--color-black);
  border: 1px solid rgba(119, 119, 119, 0.2);
}

.button__icon-svg--copy {
  position: absolute;
  transform: translate(-150%, 150%);
}

.button-arr:hover .button__icon-svg:first-child {
  transition: transform 0.3s ease-in-out;
  transform: translate(150%, -150%);
}

.button-arr:hover .button__icon-svg--copy {
  transition: transform 0.3s ease-in-out 0.1s;
  transform: translate(0);
}

:root {
  --form-control-font-size: 1em;
  --form-control-padding-x: var(--space-xs);
  --form-control-padding-y: var(--space-xxs);
  --form-control-radius: var(--radius-sm);
}

body {
  overflow-x: hidden;
}

article, #maincontent {
  padding: 0;
  margin: 0;
}

.vh100 {
  height: 100dvh;
  height: 100vh;
}

.bg-ani-g {
  background: linear-gradient(-45deg, #44382a, #191919, #1d1d1d, #191919, #44382a);
  background-size: 400% 400%;
  animation: gradient 15s ease infinite;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.linky-lists {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.linky-lists li:first-child {
  flex-basis: 100%;
  color: rgb(169, 124, 72);
  padding: 1.5em 0 1.5em 0;
  background: none;
  border: 0;
  box-shadow: none;
}

.linky-list-label {
  font-size: 0.7em;
  letter-spacing: 0.125rem;
}

.linky-lists li {
  list-style: none;
  display: inline-flex;
  justify-content: space-between;
  padding: 1em;
  background: transparent;
  border: 1px solid rgba(238, 238, 238, 0.102);
  border-radius: 0.4em;
  transition: all 0.6s;
  margin: 0.4em 0.4em 0.4em 0;
  color: rgb(218, 218, 218);
  align-items: center;
  flex-basis: 100%;
  box-shadow: var(--shadow-sm);
}

.linky-lists li a {
  font-size: 0.9em;
  color: #fff;
  text-decoration: none;
  display: block;
  width: 100%;
}

.linky-lists li:first-child:hover {
  background: none;
}

.linky-lists li:hover {
  background: rgba(169, 124, 72, 0.065);
  border-color: rgba(204, 204, 204, 0.121);
  cursor: pointer;
}

.linky-lists li .li-svg {
  width: 1em;
  color: #fff;
}

.linky-lists li:hover .li-svg {
  color: rgb(193, 123, 44);
}

@media (min-width: 48rem) {
  .linky-lists li {
    list-style: none;
    flex-basis: 32%;
  }
}

.divi {
  display: flex;
  align-items: center;
}
.divi span {
  display: block;
  margin: 0 var(--space-xs);
  height: 10px;
  width: 10px;
  border-radius: 50%;
  transform: rotate(45deg);
  background-color: var(--color-accent-dark);
  opacity: 0.4;
}
.divi::before, .divi::after {
  content: "";
  display: block;
  height: 1px;
  width: auto;
  flex-grow: 1;
  background-color: var(--color-accent-dark);
  opacity: 0.2;
}
.full-bg {
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}

.banner-object {
  position: relative;
  background: rgba(0, 0, 0, 0.4);
  display: block;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.banner-object::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.6;
  z-index: 1;
}

.fade-dark {
  mix-blend-mode: darken;
  width: 100%;
  height: 100%;
}

.box-shadow {
  box-shadow: var(--shadow-xs);
  transition: all 0.2s;
}

.box-shadow:hover {
  box-shadow: var(--shadow-sm);
}

/*--- ScrollFade Specific ---*/
.scrollFade {
  opacity: 1;
  pointer-events: all;
}

.scrollFade--hidden {
  opacity: 0;
  pointer-events: none;
}

.scrollFade--visible {
  opacity: 1;
  pointer-events: all;
}

.scrollFade--animate {
  transition: opacity 0.6s ease-in-out;
}

.fade::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.4;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}

.fadey::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.8;
  z-index: 1;
}

.bg-grad-b {
  background: radial-gradient(ellipse 110% 70% at 25% 80%, rgb(48, 46, 42), transparent 85%), radial-gradient(ellipse 130% 60% at 75% 15%, rgb(59, 53, 47), transparent 75%), radial-gradient(ellipse 80% 90% at 20% 30%, rgb(36, 33, 30), transparent 60%), radial-gradient(ellipse 100% 40% at 60% 70%, rgb(24, 23, 22), transparent 50%), #000000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.padding-top-button {
  padding-top: 1em;
}

.bg-pale {
  background: rgba(233, 228, 215, 0.3);
}

.text-component.dark-li li {
  border-bottom: 1px solid #333;
  list-style-type: none;
}

.text-component.dark-li ul > li::before {
  background-color: #444;
}

strong {
  font-weight: 600;
}

.dark-li strong {
  color: rgb(194, 154, 108);
}

.text-component.light-li li {
  border-bottom: 1px solid #ccc;
  list-style-type: none;
}

.text-component.light-li ul > li::before {
  background-color: #888;
}

.light-li strong {
  color: rgb(20, 20, 20);
}

:root {
  /* general */
  --accordion-border-width: 1px;
  /* icon */
  --accordion-icon-size: 20px;
  --accordion-icon-stroke-width: 2px;
}

.accordion__item {
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-contrast-lower);
  border-radius: 0.2em;
  margin-bottom: 5px;
  box-shadow: var(--shadow-sm);
}

.accordion__header { /* button */
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  color: var(--color-accent-lighter);
}
.accordion__header .icon {
  --size: var(--accordion-icon-size);
}
.accordion__header .icon .icon__group {
  stroke-width: var(--accordion-icon-stroke-width);
}

.accordion__icon-arrow .icon__group,
.accordion__icon-arrow-v2 .icon__group,
.accordion__icon-plus .icon__group {
  will-change: transform;
  transform-origin: 50% 50%;
}

.accordion__icon-arrow .icon__group > * {
  transform-origin: 10px 14px;
}

.accordion__icon-arrow-v2 .icon__group > * {
  transform-origin: 50% 50%;
  stroke-dasharray: 20;
  transform: translateY(4px);
}
.accordion__icon-arrow-v2 .icon__group > *:first-child {
  stroke-dashoffset: 10.15;
}
.accordion__icon-arrow-v2 .icon__group > *:last-child {
  stroke-dashoffset: 10.15;
}

.accordion__icon-plus .icon__group {
  transform: rotate(-90deg);
}
.accordion__icon-plus .icon__group > * {
  transform-origin: 50% 50%;
}
.accordion__icon-plus .icon__group > *:first-child {
  transform: rotate(-90deg);
}

.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group { /* animated arrow icon */ }
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:first-child {
  transform: translateY(-8px) rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:last-child {
  transform: translateY(-8px) rotate(90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group { /* animated arrow icon v2 */
  transform: rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group > *:first-child, .accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group { /* animated plus icon */
  transform: rotate(0);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group > *:first-child {
  transform: rotate(0);
}

.accordion__panel {
  display: none;
  will-change: height;
  transform: translateZ(0px);
  background: rgba(41, 41, 41, 0.3);
}

.accordion__item--is-open > .accordion__panel {
  display: block;
}

/* animations */
.accordion[data-animation=on] .accordion__item--is-open .accordion__panel > * {
  animation: accordion-entry-animation 0.4s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group,
.accordion[data-animation=on] .accordion__icon-plus .icon__group {
  transition: transform 0.3s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group > *,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group > *,
.accordion[data-animation=on] .accordion__icon-plus .icon__group > * {
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}

@keyframes accordion-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.accordion__panel .text-component li {
  border: none;
}

.text-component ul > li::before {
  color: currentcolor !important;
}

.accordion__panel .text-component h4 {
  font-size: 1.3em;
  padding: 1em 2.5em 0.6em 0;
}

.accordion__panel .text-component h4 + p {
  margin-top: 1em;
}

:root {
  --anim-menu-btn-size: 48px;
  --anim-menu-btn-transition-duration: .2s;
  --anim-menu-btn-icon-size: 32px;
  --anim-menu-btn-icon-stroke: 2px;
}

.anim-menu-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--anim-menu-btn-size);
  height: var(--anim-menu-btn-size);
}

.anim-menu-btn__icon {
  position: relative;
  display: block;
  font-size: var(--anim-menu-btn-icon-size);
  width: 1em;
  height: var(--anim-menu-btn-icon-stroke);
  color: inherit;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  transform: scale(1);
}
.anim-menu-btn__icon::before, .anim-menu-btn__icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: inherit;
  border-radius: inherit;
}

.anim-menu-btn__icon--close {
  background-size: 100% 100%;
  will-change: transform, background-size;
  transition-property: transform, background-size;
  transition-duration: var(--anim-menu-btn-transition-duration, 0.2s);
}
.anim-menu-btn:active .anim-menu-btn__icon--close {
  transform: scale(0.9);
}
.anim-menu-btn__icon--close::before, .anim-menu-btn__icon--close::after {
  will-change: inherit;
  transition: inherit;
}
.anim-menu-btn__icon--close::before {
  transform: translateY(-0.25em) rotate(0);
}
.anim-menu-btn__icon--close::after {
  transform: translateY(0.25em) rotate(0);
}

.anim-menu-btn--state-b .anim-menu-btn__icon--close {
  background-size: 0% 100%;
}
.anim-menu-btn--state-b .anim-menu-btn__icon--close::before {
  transform: translateY(0) rotate(45deg);
}
.anim-menu-btn--state-b .anim-menu-btn__icon--close::after {
  transform: translateY(0) rotate(-45deg);
}

.anim-menu-btn__icon--arrow-left,
.anim-menu-btn__icon--arrow-right,
.anim-menu-btn__icon--arrow-up,
.anim-menu-btn__icon--arrow-down {
  border-radius: 50em;
  will-change: transform;
  transition-property: transform;
  transition-duration: var(--anim-menu-btn-transition-duration, 0.2s);
}
.anim-menu-btn:active .anim-menu-btn__icon--arrow-left,
.anim-menu-btn:active .anim-menu-btn__icon--arrow-right,
.anim-menu-btn:active .anim-menu-btn__icon--arrow-up,
.anim-menu-btn:active .anim-menu-btn__icon--arrow-down {
  transform: scale(0.9);
}
.anim-menu-btn__icon--arrow-left::before, .anim-menu-btn__icon--arrow-left::after,
.anim-menu-btn__icon--arrow-right::before,
.anim-menu-btn__icon--arrow-right::after,
.anim-menu-btn__icon--arrow-up::before,
.anim-menu-btn__icon--arrow-up::after,
.anim-menu-btn__icon--arrow-down::before,
.anim-menu-btn__icon--arrow-down::after {
  transform-origin: calc(var(--anim-menu-btn-icon-stroke) / 2) 50%;
  will-change: transform, width;
  transition-property: transform, width;
  transition-duration: var(--anim-menu-btn-transition-duration, 0.2s);
}
.anim-menu-btn__icon--arrow-left::before,
.anim-menu-btn__icon--arrow-right::before,
.anim-menu-btn__icon--arrow-up::before,
.anim-menu-btn__icon--arrow-down::before {
  transform: translateY(-0.25em) rotate(0);
}
.anim-menu-btn__icon--arrow-left::after,
.anim-menu-btn__icon--arrow-right::after,
.anim-menu-btn__icon--arrow-up::after,
.anim-menu-btn__icon--arrow-down::after {
  transform: translateY(0.25em) rotate(0);
}

.anim-menu-btn__icon--arrow-right {
  transform: rotate(180deg);
}
.anim-menu-btn:active .anim-menu-btn__icon--arrow-right {
  transform: rotate(180deg) scale(0.9);
}

.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-left::before, .anim-menu-btn--state-b .anim-menu-btn__icon--arrow-left::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-right::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-right::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-up::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-up::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-down::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-down::after {
  width: 50%;
}
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-left::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-right::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-up::before,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-down::before {
  transform: translateY(0) rotate(-45deg);
}
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-left::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-right::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-up::after,
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-down::after {
  transform: translateY(0) rotate(45deg);
}
.anim-menu-btn--state-b:active .anim-menu-btn__icon--arrow-up {
  transform: rotate(90deg) scale(0.9);
}
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-up {
  transform: rotate(90deg);
}
.anim-menu-btn--state-b:active .anim-menu-btn__icon--arrow-down {
  transform: rotate(-90deg) scale(0.9);
}
.anim-menu-btn--state-b .anim-menu-btn__icon--arrow-down {
  transform: rotate(-90deg);
}

.back-to-top {
  --size: 50px;
  width: var(--size);
  height: var(--size);
  display: flex;
  position: fixed;
  right: var(--space-md);
  bottom: var(--space-md);
  z-index: var(--z-index-fixed-element, 10);
  border-radius: 50%;
  background-color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), 0.9);
  transition: 0.2s;
  visibility: hidden;
  opacity: 0;
}
.back-to-top:hover {
  background-color: var(--color-contrast-higher);
}
.back-to-top .icon {
  --size: 20px;
  display: block;
  margin: auto;
  color: var(--color-bg);
}

.back-to-top--is-visible {
  visibility: visible;
  opacity: 1;
}

:root {
  --card-blocks-height: 320px;
  --card-blocks-btn-height: 50px;
}
@media (min-width: 64rem) {
  :root {
    --card-blocks-height: 480px;
    --card-blocks-btn-height: 60px;
  }
}

.card-blocks {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  height: var(--card-blocks-height);
  background-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 1);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.card-blocks::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.6;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}

.card-blocks:hover::after {
  opacity: 0.7;
}

.card-blocks__box {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  transition: all 0.4s ease-in-out;
  background-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0.1);
  color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) {
  .card-blocks__box {
    background-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0.1);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}

.card-blocks__box:hover {
  background-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0.2);
}

.card-blocks__btn {
  display: flex;
  align-items: center;
  height: var(--card-blocks-btn-height);
  transition: 0.4s;
}

.card-blocks__icon {
  font-size: 48px;
  transition: color 300ms;
  stroke: var(--color-accent);
}

.card-blocks:hover .card-blocks__icon {
  stroke: var(--color-white);
}

:root {
  --block-card-height: 480px;
  --block-card-btn-height: 50px;
}
@media (min-width: 64rem) {
  :root {
    --block-card-height: 480px;
    --block-card-btn-height: 70px;
  }
}

.block-card {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  height: var(--block-card-height);
  background-color: var(--color-contrast-lower);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.block-card:hover .block-card__btn {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0);
  color: var(--color-contrast-lower);
}
.block-card:hover .block-card__icon line:nth-child(1),
.block-card:hover .block-card__icon line:nth-child(2) {
  opacity: 1;
  transform: rotate(0deg);
  transition: opacity 0s 0.2s, transform 0.2s 0.2s var(--ease-in-out);
}
.block-card:hover .block-card__icon line:nth-child(3) {
  stroke-dashoffset: 96;
  transition: stroke-dashoffset 0.2s var(--ease-in-out);
}

.block-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.65;
}

.block-card__box {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.95);
  color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) {
  .block-card__box {
    background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.7);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}

.block-card__btn {
  display: flex;
  align-items: center;
  height: var(--block-card-btn-height);
  transition: 0.4s;
}

.block-card__icon {
  font-size: 48px;
}
.block-card__icon line:nth-child(1),
.block-card__icon line:nth-child(2) {
  transform-origin: 47px 24px;
  opacity: 0;
  transition: opacity 0s 0.2s, transform 0.2s var(--ease-in-out);
}
.block-card__icon line:nth-child(1) {
  transform: rotate(-45deg);
}
.block-card__icon line:nth-child(2) {
  transform: rotate(45deg);
}
.block-card__icon line:nth-child(3) {
  stroke-dasharray: 48;
  stroke-dashoffset: 72;
  transition: stroke-dashoffset 0.2s 0.2s var(--ease-in-out);
}

.small-card {
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: 0.2s;
}
.small-card img {
  display: block;
  width: 100%;
}
.small-card:hover {
  background-color: var(--color-bg-light);
  box-shadow: var(--shadow-md);
}
.small-card:hover .small-card__title {
  background-size: 100% 100%;
}

.small-card__title {
  background-repeat: no-repeat;
  will-change: background-size;
  transition: background-size 0.3s var(--ease-in-out);
  text-decoration: none;
  background-image: linear-gradient(transparent 50%, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2) 50%);
  background-size: 0% 100%;
  font-size: var(--text-md);
}

@media (min-width: 48rem) {
  .height-card {
    min-height: 20vh;
  }
}
/* -------------------------------- 

File#: _1_details-list
Title: Details List
Descr: Pairs of related information displayed in a list
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --details-list-border-width: 1px;
  --details-list-border-opacity: 0.15;
}

.details-list--rows .details-list__item {
  border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
}
.details-list--rows .details-list__item:last-child {
  border-bottom: none;
}

.details-list--cols .details-list__item {
  border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
}
.details-list--cols .details-list__item:last-child {
  border-right: none;
}

@media (min-width: 32rem) {
  .details-list--rows\@xs .details-list__item {
    border-right: 0;
    border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--rows\@xs .details-list__item:last-child {
    border-bottom: none;
  }
  .details-list--cols\@xs .details-list__item {
    border-bottom: 0;
    border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--cols\@xs .details-list__item:last-child {
    border-right: none;
  }
}
@media (min-width: 48rem) {
  .details-list--rows\@sm .details-list__item {
    border-right: 0;
    border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--rows\@sm .details-list__item:last-child {
    border-bottom: none;
  }
  .details-list--cols\@sm .details-list__item {
    border-bottom: 0;
    border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--cols\@sm .details-list__item:last-child {
    border-right: none;
  }
}
@media (min-width: 64rem) {
  .details-list--rows\@md .details-list__item {
    border-right: 0;
    border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--rows\@md .details-list__item:last-child {
    border-bottom: none;
  }
  .details-list--cols\@md .details-list__item {
    border-bottom: 0;
    border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--cols\@md .details-list__item:last-child {
    border-right: none;
  }
}
@media (min-width: 80rem) {
  .details-list--rows\@lg .details-list__item {
    border-right: 0;
    border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--rows\@lg .details-list__item:last-child {
    border-bottom: none;
  }
  .details-list--cols\@lg .details-list__item {
    border-bottom: 0;
    border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--cols\@lg .details-list__item:last-child {
    border-right: none;
  }
}
@media (min-width: 90rem) {
  .details-list--rows\@xl .details-list__item {
    border-right: 0;
    border-bottom: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--rows\@xl .details-list__item:last-child {
    border-bottom: none;
  }
  .details-list--cols\@xl .details-list__item {
    border-bottom: 0;
    border-right: var(--details-list-border-width) solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--details-list-border-opacity));
  }
  .details-list--cols\@xl .details-list__item:last-child {
    border-right: none;
  }
}
/* -------------------------------- 

File#: _1_download-list
Title: Download List
Descr: A list of downloadable files
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --dow-list-items-gap: var(--space-xs);
}

.dow-list {
  display: grid;
  gap: var(--dow-list-items-gap);
}

.dow-list__item {
  border-radius: var(--radius-md);
  background: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-xs);
}

.dow-list__metadata-list {
  display: flex;
  align-items: center;
  line-height: 1;
}
.dow-list__metadata-list > * {
  display: flex;
  align-items: center;
}
.dow-list__metadata-list > *:not(:last-child)::after { /* dot separator */
  content: "";
  display: block;
  flex-shrink: 0;
  --size: 5px;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: currentColor;
  margin: 0 var(--space-xs);
  opacity: 0.5;
}

/* animated button */
.dow-list__btn {
  --hover-transition-duration: .3s;
  overflow: hidden;
}
.dow-list__btn:hover .dow-list__btn-label, .dow-list__btn.dow-list__btn--is-loading .dow-list__btn-label {
  transform: scale(0.5);
  opacity: 0;
}
.dow-list__btn:hover .dow-list__icon-wrapper, .dow-list__btn.dow-list__btn--is-loading .dow-list__icon-wrapper {
  transform: translateY(0);
}

.dow-list__btn--reset .dow-list__btn-label, .dow-list__btn--reset:hover .dow-list__btn-label {
  transform: scale(1);
  opacity: 1;
}
.dow-list__btn--reset .dow-list__icon-wrapper, .dow-list__btn--reset:hover .dow-list__icon-wrapper {
  transform: translateY(100%);
}
.dow-list__btn--reset .dow-list__icon-group *, .dow-list__btn--reset:hover .dow-list__icon-group * {
  transition: none !important;
  animation: none !important;
}

.dow-list__btn-label {
  transition: opacity var(--hover-transition-duration), transform var(--hover-transition-duration);
}

.dow-list__icon-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(100%);
  transition: transform var(--hover-transition-duration);
}

.dow-list__icon {
  --size: 20px;
  display: block;
  width: 20px;
  height: 20px;
}
.dow-list__icon .dow-list__icon-group > *:nth-child(1) { /* arrow main leg */
  stroke-dashoffset: 0;
  stroke-dasharray: 16;
  transition: stroke-dashoffset 0.4s 0.3s var(--ease-in);
}
.dow-list__icon .dow-list__icon-group > *:nth-child(2), .dow-list__icon .dow-list__icon-group *:nth-child(3) { /* arrow smaller legs */
  opacity: 1;
  transform: rotate(0);
  transition: transform 0.3s var(--ease-out), opacity 0s 0.3s;
}
.dow-list__icon .dow-list__icon-group > *:nth-child(4) { /* loading circle */
  stroke-dashoffset: 50;
  stroke-dasharray: 50;
}
.dow-list__icon .dow-list__icon-group > *:nth-child(5) { /* checkmark final loading circle */
  stroke-dashoffset: 38;
  stroke-dasharray: 38;
  transition: stroke-dashoffset 0.7s;
}
.dow-list__icon .dow-list__icon-group > *:nth-child(6) { /* checkmark */
  stroke-dashoffset: 24;
  stroke-dasharray: 24;
  transition: stroke-dashoffset 0.5s 0.2s var(--ease-out);
}
.dow-list__icon .dow-list__icon-group > *:nth-child(7) { /* exclamation point final loading circle */
  stroke-dashoffset: 25;
  stroke-dasharray: 25;
  transition: stroke-dashoffset 0.45s;
}
.dow-list__icon .dow-list__icon-group > *:nth-child(8) { /* exclamation point leg */
  stroke-dashoffset: 10;
  stroke-dasharray: 10;
  transition: stroke-dashoffset 0.3s 0.2s var(--ease-out);
}
.dow-list__icon .dow-list__icon-group > *:nth-child(9) { /* exclamation point dot */
  transform-origin: 10px 17.5px;
  transform: scale(0);
  transition: transform 0.3s 0.5s var(--ease-out-back);
}

.dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(1) {
  stroke-dashoffset: 16;
}
.dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(2), .dow-list__btn--is-loading .dow-list__icon-group *:nth-child(3) {
  opacity: 0;
  transform-origin: 10px 18px;
}
.dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(2) {
  transform: rotate(45deg);
}
.dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(3) {
  transform: rotate(-45deg);
}
.dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(4) {
  animation: dow-list-obj-4-anim 1s 0.6s infinite;
}

@media not all and (pointer: fine) { /* user hasn't pointing device (e.g., touch device) */
  .dow-list__icon .dow-list__icon-group { /* hide arrow icon */ }
  .dow-list__icon .dow-list__icon-group > *:nth-child(1), .dow-list__icon .dow-list__icon-group > *:nth-child(2), .dow-list__icon .dow-list__icon-group > *:nth-child(3) {
    display: none;
  }
  .dow-list__btn--is-loading .dow-list__icon-group > *:nth-child(4) {
    animation-delay: 0s;
  }
  .dow-list__btn:hover .dow-list__btn-label { /* keep btn label visible */
    transform: scale(1);
    opacity: 1;
  }
  .dow-list__btn.dow-list__btn--is-loading .dow-list__btn-label {
    opacity: 0;
  }
}
@keyframes dow-list-obj-4-anim {
  from {
    stroke-dashoffset: 50;
  }
  to {
    stroke-dashoffset: 150;
  }
}
.dow-list__btn--success .dow-list__icon-group > *:nth-child(4) {
  display: none; /* hide loading circle */
}
.dow-list__btn--success .dow-list__icon-group > *:nth-child(5) {
  stroke-dashoffset: 114;
}
.dow-list__btn--success .dow-list__icon-group > *:nth-child(6) {
  stroke-dashoffset: 0;
}

.dow-list__btn--error {
  animation: dow-list-btn-error-anim 0.4s 0.5s;
}
.dow-list__btn--error .dow-list__icon-group > *:nth-child(4) {
  display: none; /* hide loading circle */
}
.dow-list__btn--error .dow-list__icon-group > *:nth-child(7) {
  stroke-dashoffset: 75;
}
.dow-list__btn--error .dow-list__icon-group > *:nth-child(8) {
  stroke-dashoffset: 0;
}
.dow-list__btn--error .dow-list__icon-group > *:nth-child(9) {
  transform: scale(1);
}

@keyframes dow-list-btn-error-anim {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(4px);
  }
  40%, 80% {
    transform: translateX(-4px);
  }
}
.feature-v9:hover .feature-v9__block:not(:hover) .feature-v9__content {
  opacity: 0.5;
}
.feature-v9:hover .feature-v9__block:not(:hover)::after {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.8);
  -webkit-backdrop-filter: grayscale(100%);
          backdrop-filter: grayscale(100%);
}

.feature-v9__block {
  position: relative;
  display: flex;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: var(--space-xl) var(--space-md);
  min-height: 350px;
}
.feature-v9__block::before, .feature-v9__block::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  transition: 0.2s;
}
.feature-v9__block::before {
  height: 70%;
  background: linear-gradient(hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0), hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.8));
  mix-blend-mode: multiply;
}
.feature-v9__block::after {
  height: 100%;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0);
}
.feature-v9__block:hover .feature-v9__content {
  transform: translateY(-10px);
}
@media (min-width: 48rem) {
  .feature-v9__block {
    min-height: 450px;
  }
}
@media (min-width: 64rem) {
  .feature-v9__block {
    min-height: 600px;
  }
}
@media (min-width: 80rem) {
  .feature-v9__block {
    min-height: 700px;
  }
}

.feature-v9__content {
  position: relative;
  z-index: 2;
  color: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: auto auto 0;
  transition: 0.2s;
}

.feature-v9__link {
  color: var(--color-black);
  text-decoration: none;
  display: inline-block;
  padding: var(--space-xs) var(--space-md);
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.8);
  border-radius: var(--radius-md);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transition: background-color 0.2s;
}
.feature-v9__link:hover {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 1);
}

/* -------------------------------- 

File#: _1_google-maps
Title: Google Maps
Descr: Google Maps component
Usage: codyhouse.co/license

-------------------------------- */
.google-maps {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.google-maps--ratio-4\:1 {
  padding-bottom: 25%;
}

.google-maps--ratio-3\:1 {
  padding-bottom: 33%;
}

.link-fx-1 {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 6px 0 0;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.link-fx-1 .icon {
  position: absolute;
  right: 0;
  bottom: -1px;
  vertical-align: middle;
  transform: translateX(100%) rotate(90deg);
  font-size: 24px;
}
.link-fx-1 .icon circle {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 0.2s;
}
.link-fx-1 .icon line {
  transition: transform 0.4s;
  transform-origin: 13px 15px;
}
.link-fx-1 .icon line:last-child {
  transform-origin: 19px 15px;
}
.link-fx-1:hover .icon circle {
  stroke-dashoffset: 200;
  transition: stroke-dashoffset 0.2s 0.1s;
}
.link-fx-1:hover .icon line {
  transform: rotate(-180deg);
}
.link-fx-1:hover .icon line:last-child {
  transform: rotate(180deg);
}

:root {
  --list-space-y: 0.375em;
  --list-offset: 1em;
  --list-line-height-multiplier: 1;
}

.text-component ul.list-0 {
  margin-left: 0;
}

.text-component li.border-none {
  border: 0;
}

.text-component {
  padding-left: 0;
  list-style: circle;
}
.text-component ul, .text-component ol {
  list-style: none;
  margin: 0 1em 0 1em;
  margin-top: calc(var(--list-space-y) * 3 * var(--text-space-y-multiplier, 1));
  margin-bottom: calc(var(--list-space-y) * 7 * var(--text-space-y-multiplier, 1));
  padding-top: calc(var(--list-space-y) * 3 * var(--text-space-y-multiplier, 1));
  padding-right: var(--list-offset);
}
.text-component li {
  padding-bottom: calc(var(--list-space-y) * 3 * var(--text-space-y-multiplier, 1));
  margin-bottom: calc(var(--list-space-y) * 3 * var(--text-space-y-multiplier, 1));
  line-height: calc(var(--body-line-height) * var(--list-line-height-multiplier));
  border-bottom: 1px solid #eee;
}

/* #region (ul + ol) */
.text-component ul,
.text-component ol {
  --list-offset: calc(var(--list-bullet-size) + var(--list-bullet-margin-right));
}
.text-component ul ul, .text-component ul ol,
.text-component ol ul,
.text-component ol ol {
  padding-left: 0;
}
.text-component ul li,
.text-component ol li {
  padding-left: var(--list-offset);
}
.text-component ul li::before,
.text-component ol li::before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--list-bullet-size);
  height: var(--list-bullet-size);
  vertical-align: middle;
  position: relative;
  top: -0.1em;
  left: calc(var(--list-bullet-margin-right) * -1);
  margin-left: calc(var(--list-bullet-size) * -1);
}

.text-component ul {
  --list-bullet-size: 7px;
  --list-bullet-margin-right: 12px;
}
.text-component ul > li::before {
  content: "";
  border-radius: 50%;
  color: hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0.7);
  background-color: currentColor;
}
.text-component ul ul li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}

.text-component ol {
  --list-bullet-size: 26px;
  --list-bullet-margin-right: 6px;
  --list-bullet-font-size: 14px;
  counter-reset: list-items;
}
.text-component ol > li {
  counter-increment: list-items;
}
.text-component ol ol {
  counter-reset: list-items;
}
.text-component ol > li::before {
  content: counter(list-items);
  font-size: var(--list-bullet-font-size, 14px);
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
  color: var(--color-contrast-higher);
  line-height: 1;
  border-radius: 50%;
}
.text-component ol ol > li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 2px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
}

/* #endregion */
/* #region (border) */
.list--border li:not(:last-child), .text-component .list--border li:not(:last-child) {
  border-bottom: 1px solid var(--color-contrast-lower);
}
.list--border ul, .list--border ol, .text-component .list--border ul, .text-component .list--border ol {
  border-top: 1px solid var(--color-contrast-lower);
}

/* #endregion */
/* #region (icons) */
.list--icons, .text-component .list--icons {
  --list-bullet-size: 24px;
  --list-bullet-margin-right: 8px;
  --list-offset: calc(var(--list-bullet-size) + var(--list-bullet-margin-right));
}
.list--icons ul, .list--icons ol, .text-component .list--icons ul, .text-component .list--icons ol {
  padding-left: var(--list-offset);
}

.list__icon {
  position: relative;
  width: var(--list-bullet-size);
  height: var(--list-bullet-size);
  margin-right: var(--list-bullet-margin-right);
}
.list__icon:not(.top-0) {
  top: calc((1em * var(--body-line-height) * var(--list-line-height-multiplier) - var(--list-bullet-size)) / 2);
}

/* #endregion */
.loader {
  z-index: 100;
  color: #fff;
  width: 100%;
  height: 100dvh;
  position: fixed;
  inset: 0% 0% auto;
}

.loader__bg {
  background-color: #222222;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.loader__container {
  z-index: 2;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.loader__bg-bar {
  z-index: 1;
  transform-origin: 0%;
  transform-style: preserve-3d;
  background-color: #ccc;
  width: 100%;
  height: 0.1em;
  position: absolute;
  inset: auto 0% 0%;
  transform: scale3d(0, 1, 1);
}

.loader__logo-wrap {
  justify-content: center;
  align-items: center;
  width: 8em;
  height: 2em;
  display: flex;
  position: relative;
}

.loader__logo-item {
  width: 100%;
  position: absolute;
}

.loader__logo-item.is--base {
  opacity: 0.2;
}

.loader__logo-item.is--top {
  -webkit-clip-path: inset(0% 101% 0% 0%);
  clip-path: inset(0% 101% 0% 0%);
}

.loader__logo-img {
  width: 100%;
  display: block;
}

.loader__text-wrap {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: 3.5em;
}

.loader__text-el {
  text-transform: uppercase;
  white-space: nowrap;
  margin-bottom: -0.25em;
  padding-bottom: 0.25em;
  position: absolute;
  font-size: 0.5em;
  letter-spacing: 0.125rem;
  color: #ccc;
}

[data-load-reset] {
  opacity: 0;
}

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

.footer-logo {
  width: 200px;
  height: auto;
  display: block;
  margin-bottom: var(--space-sm);
}

.footer-logo-bodies {
  width: 160px;
  height: auto;
  display: block;
  opacity: 0.5;
  padding: 0 0 var(--space-md) 0;
  text-align: left;
}

#footerLinks h4 {
  font-size: 1.2em;
  margin-bottom: 1.5em;
}

.footer__link {
  color: var(--color-contrast-medium);
  text-decoration: none;
  transition: color 0.2s;
  font-size: 14px;
}
.footer__link:hover {
  color: var(--color-accent-light);
  text-decoration: none;
}

.footer__link-icon {
  display: inline-flex;
  width: 30px;
  height: 30px;
  color: var(--color-contrast-lower);
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 1);
  border-radius: 50%;
  transition: 0.2s;
}
.footer__link-icon .icon {
  font-size: 16px;
  margin: auto;
}
.footer__link:hover .footer__link-icon {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 1);
  color: var(--color-bg);
}

@media (min-width: 48rem) {
  .footer-logo-bodies {
    width: 160px;
    height: auto;
    display: block;
    opacity: 0.5;
  }
}
/* -------------------------------- 

File#: _1_modal-window
Title: Modal Window
Descr: A modal dialog used to display critical information
Usage: codyhouse.co/license

-------------------------------- */
.modal {
  position: fixed;
  z-index: var(--z-index-overlay, 15);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
}
.modal:not(.modal--is-visible) {
  pointer-events: none;
  background-color: transparent;
}

.modal--is-visible {
  opacity: 1;
  visibility: visible;
}

/* close buttons */
.modal__close-btn {
  display: flex;
  flex-shrink: 0;
  border-radius: 50%;
  transition: 0.2s;
  cursor: pointer;
}
.modal__close-btn .icon {
  display: block;
  margin: auto;
}

.modal__close-btn--outer { /* close button - outside the modal__content */
  --size: 48px;
  width: var(--size);
  height: var(--size);
  position: fixed;
  top: var(--space-sm);
  right: var(--space-sm);
  z-index: var(--z-index-fixed-element, 10);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.9);
  transition: 0.2s;
}
.modal__close-btn--outer .icon {
  color: var(--color-white); /* icon color */
  transition: transform 0.3s var(--ease-out-back);
}
.modal__close-btn--outer:hover {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 1);
}
.modal__close-btn--outer:hover .icon {
  transform: scale(1.1);
}

.modal__close-btn--inner { /* close button - inside the modal__content */
  --size: 32px;
  width: var(--size);
  height: var(--size);
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  transition: 0.2s;
}
.modal__close-btn--inner .icon {
  color: inherit; /* icon color */
}
.modal__close-btn--inner:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

/* animations */
:root {
  --modal-transition-duration: 0.2s; /* fallback (i.e., unless specified differently in the variations 👇) */
}

@media (prefers-reduced-motion: no-preference) {
  .modal--animate-fade {
    --modal-transition-duration: 0.2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-fade.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-scale,
  .modal--animate-translate-up,
  .modal--animate-translate-down,
  .modal--animate-translate-right,
  .modal--animate-translate-left {
    --modal-transition-duration: 0.2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-scale .modal__content,
  .modal--animate-translate-up .modal__content,
  .modal--animate-translate-down .modal__content,
  .modal--animate-translate-right .modal__content,
  .modal--animate-translate-left .modal__content {
    will-change: transform;
    transition: transform var(--modal-transition-duration) var(--ease-out);
  }
  .modal--animate-scale.modal--is-visible,
  .modal--animate-translate-up.modal--is-visible,
  .modal--animate-translate-down.modal--is-visible,
  .modal--animate-translate-right.modal--is-visible,
  .modal--animate-translate-left.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-scale.modal--is-visible .modal__content,
  .modal--animate-translate-up.modal--is-visible .modal__content,
  .modal--animate-translate-down.modal--is-visible .modal__content,
  .modal--animate-translate-right.modal--is-visible .modal__content,
  .modal--animate-translate-left.modal--is-visible .modal__content {
    transform: scale(1); /* reset all transformations */
  }
  .modal--animate-slide-up,
  .modal--animate-slide-down,
  .modal--animate-slide-right,
  .modal--animate-slide-left {
    --modal-transition-duration: 0.8s;
    transition: opacity 0s var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-slide-up .modal__content,
  .modal--animate-slide-down .modal__content,
  .modal--animate-slide-right .modal__content,
  .modal--animate-slide-left .modal__content {
    will-change: transform;
    transition: transform var(--modal-transition-duration) var(--ease-out);
  }
  .modal--animate-slide-up.modal--is-visible,
  .modal--animate-slide-down.modal--is-visible,
  .modal--animate-slide-right.modal--is-visible,
  .modal--animate-slide-left.modal--is-visible {
    transition: background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-slide-up.modal--is-visible .modal__content,
  .modal--animate-slide-down.modal--is-visible .modal__content,
  .modal--animate-slide-right.modal--is-visible .modal__content,
  .modal--animate-slide-left.modal--is-visible .modal__content {
    transform: scale(1); /* reset all transformations */
  }
  /* scale */
  .modal--animate-scale .modal__content {
    transform: scale(0.95);
  }
  /* translate */
  .modal--animate-translate-up .modal__content {
    transform: translateY(40px);
  }
  .modal--animate-translate-down .modal__content {
    transform: translateY(-40px);
  }
  .modal--animate-translate-right .modal__content {
    transform: translateX(-40px);
  }
  .modal--animate-translate-left .modal__content {
    transform: translateX(40px);
  }
  /* slide */
  .modal--animate-slide-up .modal__content {
    transform: translateY(100%);
  }
  .modal--animate-slide-down .modal__content {
    transform: translateY(-100%);
  }
  .modal--animate-slide-right .modal__content {
    transform: translateX(-100%);
  }
  .modal--animate-slide-left .modal__content {
    transform: translateX(100%);
  }
}
/* load content - optional */
.modal--is-loading .modal__content {
  visibility: hidden;
}
.modal--is-loading .modal__loader {
  display: flex;
}

.modal__loader { /* loader icon */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: none;
  pointer-events: none;
}

/* --image */
.modal-img-btn {
  position: relative;
  cursor: pointer;
}
.modal-img-btn::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0);
  transition: background 0.2s;
}
.modal-img-btn:hover::after {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.7);
}
.modal-img-btn:hover .modal-img-btn__icon-wrapper {
  opacity: 1;
}

.modal-img-btn__icon-wrapper {
  position: absolute;
  z-index: 2;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.7);
  opacity: 0;
  transition: opacity 0.2s;
}
.modal-img-btn__icon-wrapper .icon {
  color: var(--color-white);
}

/* -------------------------------- 

File#: _1_reveal-effects
Title: Reveal Effects
Descr: A collection of reveal effects targeting specific elements as they enter the viewport
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --reveal-fx-duration: 0.6s;
  --reveal-fx-timing-function: var(--ease-out);
}

.reveal-fx {
  opacity: 0;
  transition: opacity, transform var(--reveal-fx-timing-function);
  transition-duration: var(--reveal-fx-duration);
}
.reveal-fx::before {
  display: none;
  content: "reveal-fx";
}

.reveal-fx--translate, .reveal-fx--translate-up {
  transform: translateY(50px);
}

.reveal-fx--translate-right {
  transform: translateX(-50px);
}

.reveal-fx--translate-left {
  transform: translateX(50px);
}

.reveal-fx--translate-down {
  transform: translateY(-50px);
}

.reveal-fx--scale {
  transform: scale(0.8);
}

.reveal-fx--scale-up {
  transform: translateY(50px) scale(0.8);
}

.reveal-fx--scale-right {
  transform: translateX(-50px) scale(0.8);
}

.reveal-fx--scale-left {
  transform: translateX(50px) scale(0.8);
}

.reveal-fx--scale-down {
  transform: translateY(-50px) scale(0.8);
}

.reveal-fx--rotate, .reveal-fx--rotate-down, .reveal-fx--rotate-right, .reveal-fx--rotate-left, .reveal-fx--rotate-up {
  perspective: 1000px;
}
.reveal-fx--rotate > *, .reveal-fx--rotate-down > *, .reveal-fx--rotate-right > *, .reveal-fx--rotate-left > *, .reveal-fx--rotate-up > * {
  transition: transform var(--reveal-fx-duration) var(--reveal-fx-timing-function);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.reveal-fx--rotate > *, .reveal-fx--rotate-down > * {
  transform-origin: top;
  transform: rotateX(-45deg);
}

.reveal-fx--rotate-right > * {
  transform-origin: left center;
  transform: rotateY(45deg);
}

.reveal-fx--rotate-left > * {
  transform-origin: right center;
  transform: rotateY(-45deg);
}

.reveal-fx--rotate-up > * {
  transform-origin: bottom;
  transform: rotateX(45deg);
}

.reveal-fx--text-mask {
  overflow: hidden;
}
.reveal-fx--text-mask > * {
  display: inline-block;
  transform: translateY(100%);
  transition: transform var(--reveal-fx-duration) var(--reveal-fx-timing-function);
  will-change: transform;
}

[class*=reveal-fx--translate], [class*=reveal-fx--scale] {
  will-change: opacity, transform;
}

.reveal-fx--text-mask > *, [class*=reveal-fx--rotate] > * {
  will-change: transform;
}

.reveal-fx--clip-x > *,
.reveal-fx--clip-y > * {
  transition: opacity, -webkit-clip-path var(--ease-out);
  transition: opacity, clip-path var(--ease-out);
  transition: opacity, clip-path var(--ease-out), -webkit-clip-path var(--ease-out);
  transition-duration: var(--reveal-fx-duration);
}

.reveal-fx--clip-x > * {
  -webkit-clip-path: polygon(10% 0%, 90% 0%, 90% 100%, 10% 100%);
          clip-path: polygon(10% 0%, 90% 0%, 90% 100%, 10% 100%);
}

.reveal-fx--clip-y > * {
  -webkit-clip-path: polygon(0% 50%, 100% 50%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 50%, 100% 50%, 100% 100%, 0% 100%);
}

.reveal-fx--is-visible {
  opacity: 1;
}
.reveal-fx--is-visible[class*=reveal-fx--translate], .reveal-fx--is-visible[class*=reveal-fx--scale], .reveal-fx--is-visible[class*=reveal-fx--rotate] > *, .reveal-fx--is-visible.reveal-fx--text-mask > * {
  transform: translate(0);
}
.reveal-fx--is-visible.reveal-fx--clip-x > *, .reveal-fx--is-visible.reveal-fx--clip-y > * {
  opacity: 1;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* -------------------------------- 

File#: _1_smooth-scrolling
Title: Smooth Scrolling
Descr: Replace the default browser behaviour (jump) with a smooth scrolling transition
Usage: codyhouse.co/license

-------------------------------- */
html {
  scroll-behavior: smooth;
}

.sticky-hero {
  position: relative;
  z-index: 1;
  -webkit-transform: translate3D(0, 0, 0);
  -webkit-backface-visibility: hidden;
}

.sticky-hero__media {
  position: relative;
  position: sticky;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.9s var(--ease-in-out);
}

.sticky-hero--overlay-layer .sticky-hero__media::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.9;
}

.sticky-hero--media-is-fixed.sticky-hero--overlay-layer .sticky-hero__media::after {
  opacity: 0.9;
}

.sticky-hero--media-is-fixed.sticky-hero--scale .sticky-hero__media {
  transform: scale(0.9);
}

.sticky-hero__video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sticky-hero__video video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  max-width: none;
}

.sticky-hero__content {
  position: relative;
  z-index: 2;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateZ(0);
}

/* -------------------------------- 

File#: _1_tabs
Title: Tabs
Descr: A list of content sections (panels), accessible one at a time using control labels
Usage: codyhouse.co/license

-------------------------------- */
.tabs__control {
  text-decoration: none;
  color: var(--color-contrast-medium);
}
.tabs__control:focus {
  outline: 2px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
  outline-offset: 2px;
}
.tabs__control:hover {
  color: var(--color-contrast-high);
}

.tabs__control[aria-selected=true] {
  color: var(--color-contrast-high);
  text-decoration: underline;
}

.testimonial__block-wrapper {
  position: relative;
}
.testimonial__block-wrapper blockquote {
  position: relative;
  z-index: 1;
}
.testimonial__block-wrapper .icon {
  position: absolute;
  top: -0.5em;
  left: 0em;
}

/* -------------------------------- 

File#: _2_article-preview-v4
Title: Article Preview v4
Descr: Blog post excerpt, containing a link to the article page and a preview image
Usage: codyhouse.co/license

-------------------------------- */
.story-v4 {
  position: relative;
  z-index: 1;
}

.story-v4__title {
  color: var(--color-contrast-higher);
  -webkit-text-decoration-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
          text-decoration-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
  transition: 0.2s;
}
.story-v4__title:hover {
  -webkit-text-decoration-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 1);
          text-decoration-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 1);
}

.story-v4__img-link {
  display: block;
}
.story-v4__img-link img {
  display: block;
  width: 100%;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  transition: 0.3s var(--ease-out);
}
.story-v4__img-link:hover img {
  -webkit-clip-path: polygon(2% 2%, 98% 2%, 98% 98%, 2% 98%);
          clip-path: polygon(2% 2%, 98% 2%, 98% 98%, 2% 98%);
}

.divider {
  display: flex;
  align-items: center;
}
.divider span {
  display: block;
  margin: 0 var(--space-xs);
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  background-color: var(--color-contrast-lower);
}
.divider::before, .divider::after {
  content: "";
  display: block;
  height: 1px;
  width: auto;
  flex-grow: 1;
  background-color: var(--color-contrast-lower);
}

@media (min-width: 64rem) {
  .contact .google-maps {
    height: auto;
    padding-bottom: 0;
  }
}
:root {
  --dropdown-item-padding: var(--space-xxs) var(--space-sm);
}

.dropdown {
  position: relative;
}

.dropdown__menu {
  min-width: 120px;
  border-radius: var(--radius-md);
  padding: var(--space-xxxs) 0;
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  z-index: var(--z-index-popover, 5);
  position: absolute;
  left: 0;
  top: 100%;
  --space-unit: 1rem;
  --text-unit: 1rem;
  font-size: var(--text-unit);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0s 0.2s;
}

@media (pointer: fine) {
  .dropdown__wrapper:hover > .dropdown__menu,
  .dropdown__sub-wrapper:hover > .dropdown__menu {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s;
  }
  .dropdown__sub-wrapper:hover > .dropdown__menu {
    left: 100%;
  }
}
@media not all and (pointer: fine) {
  .dropdown__trigger-icon {
    display: none;
  }
}
.dropdown__item {
  display: block;
  text-decoration: none;
  color: var(--color-contrast-high);
  padding: var(--dropdown-item-padding);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: 0.2s;
  font-size: 0.8rem;
}
.dropdown__item:hover, .dropdown__item.dropdown__item--hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
}

.dropdown__separator {
  height: 1px;
  background-color: var(--color-contrast-lower);
  margin: var(--dropdown-item-padding);
}

.dropdown__sub-wrapper {
  position: relative;
}
.dropdown__sub-wrapper > .dropdown__item {
  position: relative;
  padding-right: calc(var(--space-sm) + 12px);
}
.dropdown__sub-wrapper > .dropdown__item .icon {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  right: var(--space-xxs);
  top: calc(50% - 6px);
}
.dropdown__sub-wrapper > .dropdown__menu {
  top: calc(var(--space-xxs) * -1);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

.dropdown__menu {
  top: calc(100% + 4px);
}

.dropdown__sub-wrapper .dropdown__menu {
  top: calc(var(--space-xxs) * -1);
}

@media (pointer: fine) {
  .dropdown__menu--is-visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s;
  }
}
.dropdown__menu--is-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0s 0.2s;
}

.dropdown__sub-wrapper > .dropdown__menu--is-visible,
.dropdown__sub-wrapper > .dropdown__menu--is-hidden {
  left: 100%;
}
.dropdown__sub-wrapper > .dropdown__menu--is-visible.dropdown__menu--left,
.dropdown__sub-wrapper > .dropdown__menu--is-hidden.dropdown__menu--left {
  left: -100%;
}

:root {
  --feature-v8-gap: var(--space-xl);
}

.feature-v8 {
  position: relative;
  z-index: 1;
}

.feature-v8__main-content {
  padding-bottom: calc(var(--feature-v8-gap) * 2);
}

.feature-v8__sub-content {
  margin-top: calc(var(--feature-v8-gap) * -1);
}

.compare-slider {
  position: relative;
}
.compare-slider img {
  display: block;
  width: 100%;
  pointer-events: none;
}

.compare-slider__inner {
  position: relative;
}

.compare-slider__img {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  overflow: hidden;
}

.compare-slider__caption {
  position: absolute;
  bottom: 0;
  font-size: var(--text-sm);
  padding: var(--space-sm);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.75);
  color: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

.compare-slider__img--original .compare-slider__caption {
  right: 0;
}

.compare-slider__img--modified .compare-slider__caption {
  left: 0;
}

.compare-slider__handle {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 44px;
  width: 44px;
  border-radius: 50%;
  color: var(--color-contrast-higher);
  background-color: var(--color-bg);
  box-shadow: var(--shadow-sm);
  cursor: grab;
  will-change: left;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%) translateX(-50%) scale(0);
  margin-left: -1px;
}

.compare-slider--is-dragging .compare-slider__handle {
  cursor: grabbing;
  box-shadow: var(--shadow-sm), 0 0 0 4px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.5);
}

.compare-slider__input-handle {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}

.compare-slider__input-handle:focus + .compare-slider__handle {
  color: var(--color-primary);
  box-shadow: var(--shadow-sm), 0 0 0 4px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.5);
}

.compare-slider__img--modified {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  transform: translateZ(0);
  border-right: 2px solid var(--color-bg);
  will-change: width;
}
.compare-slider__img--modified img {
  height: 100%;
  width: auto;
  max-width: none;
}

.compare-slider--in-viewport .compare-slider__img--modified {
  width: 50%;
  animation: compare-slider-bounce-in 0.7s;
}

.compare-slider__caption {
  opacity: 0;
  transform: translateY(20px);
}

.compare-slider--in-viewport .compare-slider__caption {
  opacity: 1;
  transform: translateY(0);
}

.compare-slider--in-viewport .compare-slider__caption--is-hidden {
  opacity: 0;
  visibility: hidden;
}

.compare-slider__img--original .compare-slider__caption--is-hidden {
  transform: translateX(30px);
}

.compare-slider__img--modified .compare-slider__caption--is-hidden {
  transform: translateX(-30px);
}

.compare-slider__handle {
  display: block;
  display: flex;
  opacity: 0;
}

.compare-slider--in-viewport .compare-slider__handle {
  transition: transform 0.3s 0.7s, opacity 0s 0.7s;
  transform: translateY(-50%) translateX(-50%) scale(1);
  opacity: 1;
}

.compare-slider__input-handle {
  display: block;
}

.compare-slider--reduced-motion .compare-slider__img--modified {
  animation: none;
}

.compare-slider--reduced-motion .compare-slider__handle,
.compare-slider--reduced-motion .compare-slider__caption {
  transition: none;
}

@keyframes compare-slider-bounce-in {
  0% {
    width: 0%;
  }
  60% {
    width: 55%;
  }
  100% {
    width: 50%;
  }
}
/* --------------------------------

File#: _2_modal-window-full-screen
Title: Full Screen Modal Window
Descr: A full screen modal window
Usage: codyhouse.co/license

-------------------------------- */
.testimonial-lines {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.testimonial-lines__controls {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 23.3333%;
  display: flex;
}

.testimonial-lines__main {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.testimonial-lines__button {
  background-color: rgba(34, 34, 34, 0);
  border: 1px solid rgba(136, 136, 136, 0.2);
  border-radius: 0.25em;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  padding: 0;
  display: flex;
  cursor: pointer;
  transition: all 0.5s;
}

.testimonial-lines__button:hover {
  background-color: rgba(170, 119, 51, 0.8);
  border: 1px solid rgba(136, 85, 51, 0.781);
}

.testimonial-lines__arrow {
  width: 0.75em;
  color: #ccc;
}

.testimonial-lines__main-details {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-lines__count {
  width: 1ch;
  display: inline-block;
}

.testimonial-lines__p {
  margin-bottom: 0;
  font-size: 0.88em;
  letter-spacing: 0.125rem;
  text-transform: uppercase;
  line-height: 1.4;
  color: white;
}

.testimonial-lines__p.is--faded {
  opacity: 0.5;
}

.testimonial-lines__collection {
  width: 100%;
}

.testimonial-lines__list {
  width: 100%;
  display: grid;
  position: relative;
}

.testimonial-lines__item {
  grid-column-gap: 4em;
  grid-row-gap: 4em;
  opacity: 0;
  visibility: hidden;
  flex-flow: column;
  grid-area: 1/1;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.testimonial-lines__item.is--active {
  opacity: 100;
  visibility: visible;
}

.testimonial-lines__h {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 300;
  line-height: 1.4;
  font-style: italic;
  color: #ccc;
  text-indent: 0.4em;
}

.text-line-mask {
  padding-bottom: 0.2em;
  margin-bottom: -0.2em;
}

.testimonial-lines__item-details {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-lines__item-visual {
  aspect-ratio: 1;
  border-radius: 100em;
  width: 5em;
  overflow: hidden;
}

.testimonial-lines__item-img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 60%;
}

@media screen and (max-width: 767px) {
  .testimonial-lines {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }
  .testimonial-lines__controls {
    order: 9999;
    width: 100%;
  }
  .testimonial-lines__main {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }
  .testimonial-lines__item {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }
  .testimonial-lines__item-visual {
    width: 3.5em;
  }
}
:root {
  --mega-nav-height: 90px;
  --mega-nav-content-max-width: var(--max-width-lg); /* set max-width for navigation content */
}
@media (min-width: 48rem) {
  :root {
    --mega-nav-height: 90px;
  }
}

.mega-nav {
  height: var(--mega-nav-height);
  width: 100%;
  z-index: var(--z-index-header, 3);
  box-shadow: inset 0px -1px 0px hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 0.6); /* border bottom */
  background: rgb(30, 31, 30);
}

/* change mega-nav style if menu = expanded */
.mega-nav--expanded {
  background: rgb(30, 31, 30);
}

@media (min-width: 48rem) {
  .mega-nav {
    box-shadow: none;
    background: none;
  }
  .mega-nav--expanded {
    background: rgb(30, 31, 30);
  }
}
.mega-nav__container {
  width: calc(100% - 2 * var(--component-padding));
  height: 100%;
  max-width: var(--mega-nav-content-max-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* logo */ 
.mega-nav__logo {
  display: block;
  width: 220px;
  height: auto;
}
.mega-nav__logo > * { /* logo SVG */
  width: inherit;
  height: inherit;
}

/* mobile buttons */
.mega-nav__icon-btns {
  display: flex;
  align-items: center;
}

.mega-nav__icon-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px; /* icon size */
  color: var(--color-contrast-high); /* icon color */
  cursor: pointer;
  transition: 0.2s;
}
.mega-nav__icon-btn .icon {
  display: block;
}
.mega-nav__icon-btn .icon__group {
  stroke-width: 1.5px; /* icon stroke width */
}
.mega-nav__icon-btn .icon__group > * {
  transition: transform 0.3s var(--ease-in-out), stroke-dashoffset 0.3s, opacity 0.3s;
}

/* animated menu button */
.mega-nav__icon-btn--menu .icon__group > * {
  stroke-dasharray: 24;
}
.mega-nav__icon-btn--menu .icon__group > *:nth-child(1) {
  transform-origin: 12px 6px;
}
.mega-nav__icon-btn--menu .icon__group > *:nth-child(2) {
  stroke-dashoffset: 0;
}
.mega-nav__icon-btn--menu .icon__group > *:nth-child(3) {
  transform-origin: 12px 18px;
}
.mega-nav__icon-btn--menu.mega-nav__icon-btn--state-b .icon__group > *:nth-child(1) {
  transform: translateY(6px) rotate(-45deg);
}
.mega-nav__icon-btn--menu.mega-nav__icon-btn--state-b .icon__group > *:nth-child(2) {
  stroke-dashoffset: 24;
}
.mega-nav__icon-btn--menu.mega-nav__icon-btn--state-b .icon__group > *:nth-child(3) {
  transform: translateY(-6px) rotate(45deg);
}

/* animated arrow icon */
.mega-nav__arrow-icon {
  font-size: 16px; /* icon size */
  color: currentColor; /* icon color */
  transition: color 0.2s;
}
.mega-nav__arrow-icon .icon {
  display: block;
}
.mega-nav__arrow-icon .icon__group {
  stroke-width: 1px; /* icon stroke width */
  will-change: transform;
  transform-origin: 8px 8px;
  transition: transform 0.3s var(--ease-out);
}
.mega-nav__arrow-icon .icon__group > * {
  stroke-dasharray: 17;
  transform-origin: 8px 8px;
  transform: translateY(3px);
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}
.mega-nav__arrow-icon .icon__group > *:first-child {
  stroke-dashoffset: 8.5;
}
.mega-nav__arrow-icon .icon__group > *:last-child {
  stroke-dashoffset: 8.5;
}

/* label/divider */
.mega-nav__label {
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: var(--text-sm);
}

/* card */
.mega-nav__card img {
  transition: opacity 0.3s;
}
.mega-nav__card img:hover {
  opacity: 0.85;
}

.mega-nav__card-title {
  color: var(--color-contrast-higher);
  text-decoration: none;
}
.mega-nav__card-title:hover {
  text-decoration: underline;
}

/* --------------------------------

--mobile - style affecting only small screens 👇

-------------------------------- */
.mega-nav--mobile {
  /* sub navigation */
}
.mega-nav--mobile .mega-nav__icon-btns--desktop {
  display: none; /* hide --desktop icon buttons */
}
.mega-nav--mobile .mega-nav__nav {
  display: none;
  position: absolute;
  top: var(--mega-nav-height);
  left: 0;
  width: 100%;
  min-height: calc(100svh - var(--mega-nav-height) - var(--mega-nav-offset-y, 0px)); /* set --mega-nav-offset-y in JS */
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background-color: rgb(30, 31, 30);
  box-shadow: var(--shadow-lg);
}
.mega-nav--mobile .mega-nav__nav--is-visible, .mega-nav--mobile .mega-nav__search--is-visible {
  display: block;
}
.mega-nav--mobile .mega-nav__nav--is-visible > *, .mega-nav--mobile .mega-nav__search--is-visible > * {
  animation: mega-nav-entry-animation 0.5s var(--ease-out);
}
.mega-nav--mobile .mega-nav__nav-inner, .mega-nav--mobile .mega-nav__search-inner {
  padding: var(--space-md) 0;
  width: calc(100% - 2 * var(--component-padding));
  max-width: var(--mega-nav-content-max-width);
  min-height: 100lvh;
  margin-left: auto;
  margin-right: auto;
}
.mega-nav--mobile .mega-nav__label { /* label/divider */
  margin: var(--space-lg) 0 var(--space-xs);
}
.mega-nav--mobile .mega-nav__item { /* main navigation items */
  border-bottom: 1px solid var(--color-contrast-lower);
}
.mega-nav--mobile .mega-nav__sub-items {
  font-size: var(--text-sm);
}
.mega-nav--mobile .mega-nav__control { /* navigation main controls (buttons/links) */
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 1em;
  text-align: left;
  padding: var(--space-md) 0 var(--space-md) 0;
  color: var(--color-contrast-higher);
  text-decoration: none;
  cursor: pointer;
}
.mega-nav--mobile a[aria-current=page] { /* current page */
  color: var(--color-primary);
}
.mega-nav--mobile .mega-nav__arrow-icon {
  margin-left: auto;
  margin-right: 12px;
}
.mega-nav--mobile .mega-nav__btn { /* button */
  width: 100%;
  margin: var(--space-sm) 0;
  font-size: var(--text-md);
}
.mega-nav--mobile .mega-nav__sub-nav-wrapper { /* sub navigation content */
  display: none;
  padding: 0 0 var(--space-lg) 0;
  overflow: hidden;
}
.mega-nav--mobile .mega-nav__sub-items { /* list of sub items */ }
.mega-nav--mobile .mega-nav__sub-items:not(:last-child) {
  margin-bottom: var(--space-sm);
}
.mega-nav--mobile .mega-nav__sub-item { /* sub item */
  border-bottom: 1px solid #333;
}
.mega-nav--mobile .mega-nav__sub-link { /* sub link */
  display: block;
  color: var(--color-contrast-higher);
  text-decoration: none;
  padding: var(--space-sm) 0;
}
.mega-nav--mobile .mega-nav__quick-link { /* search quick links */
  display: block;
  color: var(--color-contrast-higher);
  text-decoration: none;
  border-bottom: 1px solid var(--color-contrast-lower);
  padding: var(--space-xs) 0;
}
.mega-nav--mobile .mega-nav__sub-nav--layout-1 { /* layout 1 -> tabbed content */ }
.mega-nav--mobile .mega-nav__sub-nav--layout-1 .mega-nav__sub-items {
  margin-bottom: 0;
}
.mega-nav--mobile .mega-nav__sub-nav--layout-1 .mega-nav__tabs {
  display: none; /* hide tabbed content on smaller screens */
}
.mega-nav--mobile .mega-nav__sub-nav--layout-3 { /* layout 3 -> gallery */
  padding-top: var(--space-md);
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); /* auto add new cols */
}
.mega-nav--mobile .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group { /* animated arrow icon */ }
.mega-nav--mobile .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group > *:first-child {
  transform: translateY(-3px) rotate(-90deg);
}
.mega-nav--mobile .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group > *:last-child {
  transform: translateY(-3px) rotate(90deg);
}
.mega-nav--mobile .mega-nav__item--expanded .mega-nav__sub-nav-wrapper {
  display: block;
}
.mega-nav--mobile .mega-nav__item--expanded .mega-nav__sub-nav-wrapper > * {
  animation: mega-nav-entry-animation 0.5s var(--ease-out);
}

/* --------------------------------

--desktop - style affecting only big screens 👇

-------------------------------- */
.mega-nav--desktop {
  /* tabs */
  /* icon animation on click */
  /* icon buttons */
}
.mega-nav--desktop .mega-nav__icon-btns--mobile, .mega-nav--desktop .mega-nav__sub-nav-wrapper, .mega-nav--desktop .mega-nav__search, .mega-nav--desktop .mega-nav__label {
  display: none;
}
.mega-nav--desktop .mega-nav__container {
  padding-top: 1.7em;
}
.mega-nav--desktop .mega-nav__logo {
  flex-shrink: 0;
  margin-right: var(--space-lg);
}
.mega-nav--desktop .mega-nav__nav {
  flex-grow: 1;
  height: 100%;
}
.mega-nav--desktop .mega-nav__nav-inner {
  height: 100%;
  display: flex;
  justify-content: flex-end; /* navigation layout - change to "flex-end" to push the navigation to the right */
}
.mega-nav--desktop .mega-nav__items {
  display: flex;
  height: 100%;
}
.mega-nav--desktop .mega-nav__item {
  display: flex;
  align-items: center;
}
.mega-nav--desktop .mega-nav__control {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 1.35rem;
  height: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-contrast-higher);
  text-decoration: none;
  transition: 0.2s;
}
.mega-nav--desktop .mega-nav__control::after { /* marker */
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-contrast-lower);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.mega-nav--desktop .mega-nav__control .mega-nav__arrow-icon {
  margin-left: var(--space-xxs);
}
.mega-nav--desktop .mega-nav__control:hover {
  cursor: pointer;
  color: var(--color-contrast-high);
}
.mega-nav--desktop .mega-nav__sub-nav-wrapper, .mega-nav--desktop .mega-nav__search {
  position: absolute;
  top: var(--mega-nav-height);
  left: 0;
  width: 100%;
  background-color: rgb(30, 31, 30);
  box-shadow: var(--shadow-lg);
  max-height: calc(100vh - var(--mega-nav-height) - var(--mega-nav-offset-y, 0px)); /* set --mega-nav-offset-y in JS */
  overflow: auto;
}
.mega-nav--desktop .mega-nav__sub-nav, .mega-nav--desktop .mega-nav__search-inner {
  width: calc(100% - 2 * var(--component-padding));
  margin: 0 auto;
  padding: var(--space-xl) 0;
}
.mega-nav--desktop .mega-nav__sub-nav .mega-nav__label, .mega-nav--desktop .mega-nav__search-inner .mega-nav__label {
  display: block;
}
.mega-nav--desktop .mega-nav__sub-nav {
  max-width: var(--mega-nav-content-max-width);
}
.mega-nav--desktop .mega-nav__search-inner {
  max-width: var(--max-width-xs); /* reduce max-width for search content */
}
.mega-nav--desktop .mega-nav__label {
  margin-bottom: var(--space-md);
  font-size: var(--text-sm);
}
.mega-nav--desktop .mega-nav__sub-item:not(:last-child) {
  margin-bottom: var(--space-xxs);
}
.mega-nav--desktop .mega-nav__sub-link {
  font-size: 0.875em;
  color: var(--color-contrast-higher);
  text-decoration: none;
}
.mega-nav--desktop .mega-nav__sub-link:hover {
  text-decoration: underline;
}
.mega-nav--desktop .mega-nav__quick-link { /* search quick links */
  display: inline-block;
  margin-bottom: var(--space-xxs);
  font-size: var(--text-sm);
  color: var(--color-contrast-higher);
  text-decoration: none;
}
.mega-nav--desktop .mega-nav__quick-link:hover {
  text-decoration: underline;
}
.mega-nav--desktop .mega-nav__btn {
  font-size: var(--text-sm);
  margin-left: var(--space-sm);
}
.mega-nav--desktop .mega-nav__sub-items {
  margin-bottom: 2em;
}
.mega-nav--desktop .mega-nav__sub-nav--layout-1 { /* layout 1 -> tabbed content */ }
.mega-nav--desktop .mega-nav__sub-nav--layout-1 .mega-nav__sub-items {
  display: none; /* hide links */
}
.mega-nav--desktop .mega-nav__sub-nav--layout-1 .mega-nav__tabs {
  display: flex;
}
.mega-nav--desktop .mega-nav__sub-nav--layout-2 { /* layout 2 -> multi lists */
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-sm);
}
.mega-nav--desktop .mega-nav__sub-nav--layout-3 { /* layout 3 -> gallery */
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}
.mega-nav--desktop .mega-nav__sub-nav--layout-4 { /* layout 4 -> single list */
  text-align: center;
}
.mega-nav--desktop .mega-nav__sub-nav--layout-4 .mega-nav__sub-link {
  font-size: var(--text-lg);
}
.mega-nav--desktop .mega-nav__tabs-controls > *:not(:last-child) {
  border-bottom: 1px solid var(--color-contrast-lower);
}
.mega-nav--desktop .mega-nav__tabs-control {
  display: block;
  width: 100%;
  padding: var(--space-xs);
  overflow: hidden;
  color: var(--color-contrast-higher);
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s;
}
.mega-nav--desktop .mega-nav__tabs-control .icon {
  opacity: 0;
  transform: translateX(-10px);
  transition: transform 0.5s var(--ease-out), opacity 0.5s;
}
.mega-nav--desktop .mega-nav__tabs-control:hover, .mega-nav--desktop .mega-nav__tabs-control[aria-selected=true] {
  color: var(--color-primary);
}
.mega-nav--desktop .mega-nav__tabs-control[aria-selected=true] .icon {
  opacity: 1;
  transform: translateX(0px);
}
.mega-nav--desktop .mega-nav__tabs-img {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-lg);
  transition: opacity 0.3s;
}
.mega-nav--desktop .mega-nav__tabs-img:hover {
  opacity: 0.85;
}
.mega-nav--desktop .mega-nav__item--expanded .mega-nav__control {
  background-color: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), 0.3);
}
.mega-nav--desktop .mega-nav__item--expanded .mega-nav__control::after { /* marker */
  opacity: 1;
}
.mega-nav--desktop .mega-nav__item--expanded .mega-nav__sub-nav-wrapper {
  display: block;
}
.mega-nav--desktop .mega-nav__item--expanded .mega-nav__sub-nav {
  animation: mega-nav-entry-animation 0.5s var(--ease-out);
}
.mega-nav--desktop:not([data-hover=on]) .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group {
  transform: rotate(-90deg);
}
.mega-nav--desktop:not([data-hover=on]) .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group > *:first-child, .mega-nav--desktop:not([data-hover=on]) .mega-nav__item--expanded .mega-nav__arrow-icon .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}
.mega-nav--desktop .mega-nav__icon-btn {
  border-radius: 50%;
  margin-left: var(--space-xxxxs);
}
.mega-nav--desktop .mega-nav__icon-btn:hover,
.mega-nav--desktop .mega-nav__icon-btn--state-b {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.05);
}
.mega-nav--desktop .mega-nav__search--is-visible {
  display: block;
}
.mega-nav--desktop .mega-nav__search--is-visible .mega-nav__search-inner {
  animation: mega-nav-entry-animation 0.5s var(--ease-out);
}

/* animations */
@keyframes mega-nav-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
/* used in JS - detect when the menu needs to switch from --mobile to --desktop layout */
[class*=mega-nav--desktop]::before {
  display: none;
  content: "mobile";
}

@media (min-width: 32rem) {
  .mega-nav--desktop\@xs::before {
    content: "desktop";
  }
}
@media (min-width: 48rem) {
  .mega-nav--desktop\@sm::before {
    content: "desktop";
  }
}
@media (min-width: 64rem) {
  .mega-nav--desktop\@md::before {
    content: "desktop";
  }
}
@media (min-width: 80rem) {
  .mega-nav--desktop\@lg::before {
    content: "desktop";
  }
}
@media (min-width: 90rem) {
  .mega-nav--desktop\@xl::before {
    content: "desktop";
  }
}
.sticky-steps {
  min-height: 100dvh;
  position: relative;
  overflow: clip;
}

.sticky-steps__container {
  margin-left: auto;
  margin-right: auto;
}

.sticky-steps__collection {
  min-height: 100dvh;
  display: flex;
  position: relative;
}

.sticky-steps__list {
  grid-column-gap: 30dvh;
  grid-row-gap: 30dvh;
  flex-flow: column;
  flex: 1;
  padding-top: calc(50dvh - 7.5em);
  padding-bottom: calc(50dvh - 7.5em);
  display: flex;
}

.sticky-steps__text {
  grid-column-gap: 1em;
  grid-row-gap: 2em;
  flex-flow: column;
  width: 50%;
  padding-right: 6em;
  display: flex;
}

.sticky-steps__eyebrow {
  opacity: 0.6;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 0.125rem;
  font-weight: 500;
  color: var(--color-accent-lighter);
}

.sticky-steps__h2 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.1;
  font-size: var(--text-xl);
  color: white;
}

.sticky-steps__p {
  opacity: 0.6;
  margin-bottom: 0;
  font-size: var(--text-base);
  line-height: 1.7;
  color: white;
}

.sticky-steps__media {
  width: 50%;
  height: 100%;
  padding-left: 4em;
  position: absolute;
  top: 0;
  right: 0;
}

.sticky-steps__sticky {
  align-items: center;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  position: sticky;
  top: 0;
}

.sticky-steps__visual {
  aspect-ratio: 3/4;
  border-radius: 0.4em;
  width: 100%;
  position: relative;
}

.sticky-steps__cover-image {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.sticky-steps__cover-image_wash {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(38, 38, 38) 0%, rgb(38, 38, 38) 35%, rgb(38, 38, 38) 100%);
  opacity: 0.6;
  z-index: 2;
}

@media screen and (min-width: 992px) {
  [data-sticky-steps-item-status] .sticky-steps__visual {
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    opacity: 0;
    visibility: hidden;
  }
  [data-sticky-steps-item-status=before] .sticky-steps__visual,
  [data-sticky-steps-item-status=active] .sticky-steps__visual {
    opacity: 1;
    visibility: visible;
  }
  [data-sticky-steps-item-status] .sticky-steps__text {
    transition: opacity 0.5s ease-in-out;
    opacity: 0.25;
  }
  [data-sticky-steps-item-status=active] .sticky-steps__text {
    opacity: 1;
  }
}
@media screen and (max-width: 991px) {
  .sticky-steps__list {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .sticky-steps__text {
    width: 100%;
    padding-bottom: 3em;
    padding-right: 0;
  }
  .sticky-steps__sticky {
    min-height: auto;
    position: relative;
    top: auto;
  }
  .sticky-steps__media {
    width: 100%;
    height: auto;
    padding-left: 0;
    position: relative;
    top: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .sticky-steps__text {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }
  .sticky-steps__list {
    grid-column-gap: 5dvh;
    grid-row-gap: 5dvh;
    flex-flow: column;
    flex: 1;
    padding-top: calc(4dvh - 2.5em);
    padding-bottom: calc(2dvh - 2.5em);
    display: flex;
  }
}
.tab-layout__wrap {
  z-index: 1;
  grid-row-gap: 3em;
  flex-flow: wrap;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  position: relative;
}

.tab-layout__col {
  width: 50%;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.tab-content__inner {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 100%;
  padding-top: 1em;
  padding-bottom: 0;
  padding-right: 2.5em;
  display: flex;
}

.tab-content__top {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.tab-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3.5em;
  font-weight: 300;
  line-height: 1.1;
}

.tab-visual__wrap {
  aspect-ratio: 1.6;
  height: 50em;
  position: relative;
}

.tab-visual__item {
  visibility: hidden;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.tab-visual__item.active {
  visibility: visible;
}

.tab-visual__inner {
  border: 1px solid var(--color-contrast-low);
  border-radius: 0.5em;
  width: 100%;
  height: 100%;
  padding: 0.5em;
  overflow: hidden;
}

.tab-image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0% 50%;
     object-position: 0% 50%;
  border-radius: 0.25em;
  width: 100%;
  height: 100%;
  position: relative;
}

.tab-content__wrap {
  width: 100%;
  max-width: 36em;
  height: 100%;
  margin-left: auto;
  margin-right: 0;
}

.tab-content__bottom {
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 30em;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.tab-content__item {
  color: #dbdbdb;
  width: 100%;
  padding-top: 2em;
  padding-bottom: 2em;
  text-decoration: none;
  transition: opacity 0.25s;
  position: relative;
}

.tab-content__item-main {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.content-item__nr {
  color: #fff;
  background-color: var(--color-contrast-low);
  border: 1px solid var(--color-contrast-low);
  border-radius: 100em;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  margin-top: 0.2em;
  font-size: 0.75em;
  font-weight: 300;
  transition: transform 0.4s cubic-bezier(0.625, 0.05, 0, 1);
  display: flex;
}

.content-item__heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
  font-weight: 300;
  line-height: 1;
}

.tab-content__item-detail {
  width: 100%;
  height: 0;
  padding-left: 4em;
  overflow: hidden;
}

.tab-description {
  margin-bottom: 0;
  font-size: 1em;
}

.tab-description__spacer {
  padding-top: 1em;
}

.tab-content__item-bottom {
  background-color: var(--color-contrast-lower);
  width: 100%;
  height: 1px;
  transition: background-color 0.2s;
  position: absolute;
  inset: auto 0% 0%;
}

.tab-progress {
  transform-origin: 0%;
  transform-style: preserve-3d;
  background-color: var(--color-accent-darker);
  width: 100%;
  height: 1px;
  transform: scale3d(0, 1, 1);
}

@media screen and (max-width: 991px) {
  .tab-layout__col {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .tab-content__inner {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }
  .tab-content__top {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }
  .tab-visual__wrap {
    height: auto;
    padding-left: 0;
    padding-right: 0;
  }
  .tab-visual__item {
    overflow: hidden;
  }
  .tab-content__wrap {
    max-width: none;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .tab-layout__wrap {
    grid-row-gap: 2em;
  }
  .tab-heading {
    font-size: 2.8em;
  }
  .tab-visual__item {
    border-radius: 0.25em;
  }
  .tab-content__bottom {
    max-width: none;
  }
  .tab-content__item-main {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }
  .content-item__nr {
    margin-top: -0.2em;
  }
  .content-item__heading {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 479px) {
  .tab-heading {
    font-size: 3em;
  }
  .tab-visual__inner {
    border-style: none;
    border-radius: 0.25em;
    padding: 0;
  }
  .tab-image {
    aspect-ratio: auto;
  }
  .tab-content__item {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .tab-content__item-main {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }
  .content-item__nr {
    flex: none;
  }
  .content-item__heading {
    font-size: 1.5em;
  }
  .tab-content__item-detail {
    padding-left: 3em;
  }
}