/** Shopify CDN: Minification failed

Line 91:16 Expected identifier but found whitespace
Line 91:18 Unexpected "{"
Line 91:27 Expected ":"
Line 91:53 Expected ":"
Line 92:19 Expected identifier but found whitespace
Line 92:21 Unexpected "{"
Line 92:30 Expected ":"
Line 92:59 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:newsletter-signup (INDEX:53) */
.newsletter-signup-section .ns-wrap { box-sizing: border-box; padding: 16px; }
.newsletter-signup-section .ns-heading { margin: 0 0 8px; font-family: inherit; }
.newsletter-signup-section .ns-intro { margin: 0 0 16px; font-family: inherit; opacity: 0.85; }
.newsletter-signup-section .ns-row { margin-bottom: 14px; text-align: left; }
.newsletter-signup-section .ns-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.9rem;
  font-family: inherit;
}
.newsletter-signup-section .ns-required { margin-left: 2px; }
.newsletter-signup-section .ns-input {
  width: 100%;
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.4;
}
.newsletter-signup-section .ns-select {
  appearance: auto;
}
.newsletter-signup-section .ns-check-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
}
.newsletter-signup-section .ns-checkbox {
  width: auto;
  margin: 4px 0 0 0;
  flex-shrink: 0;
}
.newsletter-signup-section .ns-check-text {
  font-size: 0.9rem;
  line-height: 1.4;
}
.newsletter-signup-section .ns-actions { margin-top: 4px; }
.newsletter-signup-section .ns-submit {
  padding: 12px 24px;
  font-size: 1rem;
  font-family: inherit;
  cursor: pointer;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: currentColor;
  color: #fff;
  transition: opacity 0.15s ease;
}
.newsletter-signup-section .ns-submit:hover { opacity: 0.85; }
.newsletter-signup-section .ns-submit[disabled] { opacity: 0.5; cursor: wait; }
.newsletter-signup-section .ns-message {
  margin-top: 14px;
  font-size: 0.95rem;
  min-height: 1.4em;
}
.newsletter-signup-section .ns-message.is-success { color: #2a7a2a; }
.newsletter-signup-section .ns-message.is-error { color: #b22222; }
.newsletter-signup-section .ns-empty {
  padding: 12px;
  border: 1px dashed currentColor;
  opacity: 0.6;
  text-align: center;
}
/* END_SECTION:newsletter-signup */

/* START_SECTION:wistia-embed (INDEX:72) */
.wistia-section {
    padding-top: {{ section.settings.padding_top }}px;
    padding-bottom: {{ section.settings.padding_bottom }}px;
  }

  .wistia-section__heading {
    text-align: center;
    margin-bottom: 1.5rem;
  }

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

  .wistia-section__placeholder {
    background: #f0f0f0;
    border: 2px dashed #ccc;
    padding: 3rem;
    text-align: center;
    color: #666;
    border-radius: 4px;
    max-width: 900px;
    margin: 0 auto;
  }
/* END_SECTION:wistia-embed */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:css.vendor.nouislider (INDEX:85) */
.noUi-target,
  .noUi-target * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -ms-touch-action: none;
    touch-action: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  .noUi-target {
    position: relative;
  }

  .noUi-base,
  .noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
  }

  /* Wrapper for all connect elements.
    */
  .noUi-connects {
    overflow: hidden;
    z-index: 0;
  }

  .noUi-connect,
  .noUi-origin {
    will-change: transform;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    -ms-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -webkit-transform-style: preserve-3d;
    transform-origin: 0 0;
    transform-style: flat;
  }

  .noUi-connect {
    height: 100%;
    width: 100%;
  }

  .noUi-origin {
    height: 10%;
    width: 10%;
  }

  /* Offset direction
    */
  .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
    left: 0;
    right: auto;
  }

  /* Give origins 0 height/width so they don't interfere with clicking the
    * connect elements.
    */
  .noUi-vertical .noUi-origin {
    width: 0;
  }
  .noUi-horizontal .noUi-origin {
    height: 0;
  }
  .noUi-handle {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
  }
  .noUi-touch-area {
    height: 100%;
    width: 100%;
  }
  .noUi-state-tap .noUi-connect,
  .noUi-state-tap .noUi-origin {
    -webkit-transition: transform 0.3s;
    transition: transform 0.3s;
  }
  .noUi-state-drag * {
    cursor: inherit !important;
  }

  /* Slider size and handle placement;
    */
  .noUi-horizontal {
    height: 18px;
  }
  .noUi-horizontal .noUi-handle {
    width: 34px;
    height: 28px;
    right: -17px;
    top: -6px;
  }
  .noUi-vertical {
    width: 18px;
  }
  .noUi-vertical .noUi-handle {
    width: 28px;
    height: 34px;
    right: -6px;
    top: -17px;
  }
  .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
    left: -17px;
    right: auto;
  }

  /* Styling;
    * Giving the connect element a border radius causes issues with using transform: scale
    */
  .noUi-target {
    background: #fafafa;
    border-radius: 4px;
    border: 1px solid #d3d3d3;
    box-shadow:
      inset 0 1px 1px #f0f0f0,
      0 3px 6px -5px #bbb;
  }
  .noUi-connects {
    border-radius: 3px;
  }
  .noUi-connect {
    background: #3fb8af;
  }
  /* Handles and cursors;
    */
  .noUi-draggable {
    cursor: ew-resize;
  }
  .noUi-vertical .noUi-draggable {
    cursor: ns-resize;
  }
  .noUi-handle {
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #fff;
    cursor: default;
    box-shadow:
      inset 0 0 1px #fff,
      inset 0 1px 7px #ebebeb,
      0 3px 6px -3px #bbb;
  }
  .noUi-active {
    box-shadow:
      inset 0 0 1px #fff,
      inset 0 1px 7px #ddd,
      0 3px 6px -3px #bbb;
  }
  /* Handle stripes;
    */
  .noUi-handle:before,
  .noUi-handle:after {
    content: '';
    display: block;
    position: absolute;
    height: 14px;
    width: 1px;
    background: #e8e7e6;
    left: 14px;
    top: 6px;
  }
  .noUi-handle:after {
    left: 17px;
  }
  .noUi-vertical .noUi-handle:before,
  .noUi-vertical .noUi-handle:after {
    width: 14px;
    height: 1px;
    left: 6px;
    top: 14px;
  }
  .noUi-vertical .noUi-handle:after {
    top: 17px;
  }
  /* Disabled state;
    */
  [disabled] .noUi-connect {
    background: #b8b8b8;
  }
  [disabled].noUi-target,
  [disabled].noUi-handle,
  [disabled] .noUi-handle {
    cursor: not-allowed;
  }
  /* Base;
    *
    */
  .noUi-pips,
  .noUi-pips * {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .noUi-pips {
    position: absolute;
    color: #999;
  }
  /* Values;
    *
    */
  .noUi-value {
    position: absolute;
    white-space: nowrap;
    text-align: center;
  }
  .noUi-value-sub {
    color: #ccc;
    font-size: 10px;
  }
  /* Markings;
    *
    */
  .noUi-marker {
    position: absolute;
    background: #ccc;
  }
  .noUi-marker-sub {
    background: #aaa;
  }
  .noUi-marker-large {
    background: #aaa;
  }
  /* Horizontal layout;
    *
    */
  .noUi-pips-horizontal {
    padding: 10px 0;
    height: 80px;
    top: 100%;
    left: 0;
    width: 100%;
  }
  .noUi-value-horizontal {
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
  }
  .noUi-rtl .noUi-value-horizontal {
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
  }
  .noUi-marker-horizontal.noUi-marker {
    margin-left: -1px;
    width: 2px;
    height: 5px;
  }
  .noUi-marker-horizontal.noUi-marker-sub {
    height: 10px;
  }
  .noUi-marker-horizontal.noUi-marker-large {
    height: 15px;
  }
  /* Vertical layout;
    *
    */
  .noUi-pips-vertical {
    padding: 0 10px;
    height: 100%;
    top: 0;
    left: 100%;
  }
  .noUi-value-vertical {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding-left: 25px;
  }
  .noUi-rtl .noUi-value-vertical {
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
  }
  .noUi-marker-vertical.noUi-marker {
    width: 5px;
    height: 2px;
    margin-top: -1px;
  }
  .noUi-marker-vertical.noUi-marker-sub {
    width: 10px;
  }
  .noUi-marker-vertical.noUi-marker-large {
    width: 15px;
  }
  .noUi-tooltip {
    display: block;
    position: absolute;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #fff;
    color: #000;
    padding: 5px;
    text-align: center;
    white-space: nowrap;
  }
  .noUi-horizontal .noUi-tooltip {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
    bottom: 120%;
  }
  .noUi-vertical .noUi-tooltip {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    right: 120%;
  }
  .noUi-horizontal .noUi-origin > .noUi-tooltip {
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
    left: auto;
    bottom: 10px;
  }
  .noUi-vertical .noUi-origin > .noUi-tooltip {
    -webkit-transform: translate(0, -18px);
    transform: translate(0, -18px);
    top: auto;
    right: 28px;
  }
/* END_SNIPPET:css.vendor.nouislider */

/* START_SNIPPET:element.accordion (INDEX:86) */
:root {
    --element-accordion-py: var(--size-4-5);
    --element-accordion-px: 0;
    --element-accordion-border-width: var(--size-0-25);
    --element-accordion-border-style: solid;
    --element-accordion-color-primary: var(--color-primary);
    --element-accordion-color-secondary: var(--color-secondary);
    --element-accordion-shade-border: 16%;
    --element-accordion-shade-border-hover: 100%;
    --element-accordion-transition-duration: 200ms;
    --element-accordion-transition-easing: ease-in-out;
    --element-accordion-icon-size: var(--size-4);
  }

  .element-accordion {
    /* Layout & Typography */
    --_py: var(--element-accordion-py);
    --_px: var(--element-accordion-px);
    --_border-width: var(--element-accordion-border-width);
    --_border-style: var(--element-accordion-border-style);

    /* Colors */
    --_color-primary: var(--element-accordion-color-primary);
    --_color-secondary: var(--element-accordion-color-secondary);
    --_shade-border: var(--element-accordion-shade-border);
    --_shade-border-hover: var(--element-accordion-shade-border-hover);

    /* Transition */
    --_transition-duration: var(--element-accordion-transition-duration);
    --_transition-easing: var(--element-accordion-transition-easing);

    --element-icon-size: var(--element-accordion-icon-size);

    display: block;
    padding-inline: var(--_px);
    border-width: 0;
    border-style: var(--_border-style);
    border-block-end-width: var(--_border-width);
    border-block-end-color: color-mix(in srgb, var(--_color-primary) var(--_shade-border), transparent);

    @media only screen and (max-width: 768px) {
      --_py: var(--size-3);
    }

    &:hover {
      --_shade-border: var(--_shade-border-hover);
    }
  }

  details {
    &::details-content,
    .element-accordion__content {
      block-size: 0;
      opacity: 0;
      overflow-y: clip;
      interpolate-size: allow-keywords;
      transition: content-visibility var(--_transition-duration) allow-discrete,
        opacity var(--_transition-duration) var(--_transition-easing) var(--_transition-duration),
        block-size var(--_transition-duration) var(--_transition-easing),
        padding-block var(--_transition-duration) var(--_transition-easing);
    }

    &[open] {
      &::details-content,
      .element-accordion__content {
        block-size: auto;
        opacity: 1;
        overflow-y: visible;

        @starting-style {
          block-size: 0;
          opacity: 0;
          overflow-y: clip;
        }
      }
    }
  }

  summary {
    list-style-type: none;

    &::-webkit-details-marker {
      display: none;
    }
  }

  .element-accordion__toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: var(--size-4);
    padding-block: var(--_py);
    overflow-wrap: break-word;
    cursor: pointer;
  }

  .element-accordion__content {
    padding-block-end: var(--_py);
    padding-inline: var(--size-0-25);
  }

  .element-accordion__toggle-open {
    display: none;

    details[open] & {
      display: inline;
    }
  }

  .element-accordion__toggle-close {
    details[open] & {
      display: none;
    }
  }
/* END_SNIPPET:element.accordion */

/* START_SNIPPET:element.button (INDEX:87) */
:root {
    /* Base Layout Variables */
    --element-button-display: inline-flex;
    --element-button-width: fit-content;
    --element-button-height: auto;
    --element-button-radius: var(--radius-xs);
    --element-button-flex-direction: row;
    --element-button-gap: var(--size-2);
    --element-button-justify-content: center;
    --element-button-align-items: center;
    --element-button-white-space: nowrap;
    --element-button-icon-size: var(--element-text-font-size--body-md);

    /* Base Spacing Variables */
    --element-button-padding-block: var(--size-3);
    --element-button-padding-inline: var(--size-5);
    --element-button-border-width: var(--size-0-25);

    /* Base Color Variables */
    --element-button-color-primary: initial;
    --element-button-color-secondary: initial;
    --element-button-shade-background: 0%;
    --element-button-shade-text: 0%;
    --element-button-shade-border: 20%;

    /* Typography Overrides */
    /* By default, the button will inherit the typography styles from element.text. Set these to other values to override. */
    /* --element-button-font-family: initial; */
    /* --element-button-font-family-fallback: initial; */
    /* --element-button-font-weight: initial; */
    /* --element-button-letter-spacing: initial; */
    /* --element-button-text-transform: initial; */
    /* --element-button-line-height: initial; */
    /* --element-button-color: initial; */

    /* Base Effect Variables */
    --element-button-box-shadow: initial;
    --element-button-transition-duration: 200ms;
    --element-button-transition-timing: ease;
    --element-button-transform: none;
    --element-button-backdrop-filter: none;
    --element-button-opacity: 1;

    /* Hover State Variables */
    --element-button-shade-background--hover: 8%;
    --element-button-shade-border--hover: 30%;

    /* Focus State Variables */
    --element-button-color-focus: var(--color-focus);
    --element-button-border-width--focus: var(--size-0-5);

    /* Active State Variables */
    --element-button-shade-background--active: 16%;
    --element-button-shade-border--active: var(--element-button-shade-border);

    /* Disabled State Variables */
    --element-button-shade-background--disabled: 12%;
    --element-button-shade-text--disabled: 70%;
    --element-button-shade-border--disabled: 12%;
  }

  /* Component Implementation */
  .element-button,
  .element-button--shopify-payment-wrapper .shopify-payment-button .shopify-payment-button__button--unbranded {
    /* Base Layout */
    --_display: var(--element-button-display);
    --_width: var(--element-button-width);
    --_height: var(--element-button-height);
    --_radius: var(--element-button-radius);
    --_flex-direction: var(--element-button-flex-direction);
    --_gap: var(--element-button-gap);
    --_justify-content: var(--element-button-justify-content);
    --_align-items: var(--element-button-align-items);
    --_white-space: var(--element-button-white-space);

    /* Base Spacing */
    --_padding-block: var(--element-button-padding-block);
    --_padding-inline: var(--element-button-padding-inline);
    --_border-width: var(--element-button-border-width);

    /* Base Colors */
    --_color-primary: var(--element-button-color-primary, var(--color-primary));
    --_color-secondary: var(--element-button-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-button-color-focus, var(--color-focus, #4a9afc));
    --_color-text: var(--_color-secondary);
    --_color-background: var(--_color-primary);
    --_outline: none;
    --_border: none;
    --_shade-background: var(--element-button-shade-background);
    --_shade-text: var(--element-button-shade-text);
    --_shade-border: var(--element-button-shade-border);
    --_box-shadow: var(--element-button-box-shadow, inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-text) var(--_shade-border), transparent));

    /* Base Effects */
    --_transition-duration: var(--element-button-transition-duration);
    --_transition-timing: var(--element-button-transition-timing);
    --_transform: var(--element-button-transform);
    --_backdrop-filter: var(--element-button-backdrop-filter);
    --_opacity: var(--element-button-opacity);

    /* Text Styles */
    --element-text-font-family: var(--element-button-font-family);
    --element-text-font-family-fallback: var(--element-button-font-family-fallback);
    --element-text-font-weight: var(--element-button-font-weight);
    --element-text-letter-spacing: var(--element-button-letter-spacing);
    --element-text-text-transform: var(--element-button-text-transform);
    --element-text-line-height: var(--element-button-line-height);
    --element-text-color: var(--element-button-color);
    --element-text-font-size: var(--element-button-font-size);

    /* Icon Styles */
    --element-icon-size: var(--element-button-icon-size);

    /* Base Styles */
    display: var(--_display);
    width: var(--_width);
    height: var(--_height);
    justify-content: var(--_justify-content);
    align-items: var(--_align-items);
    white-space: var(--_white-space);
    flex-direction: var(--_flex-direction);
    gap: var(--_gap);
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    border-radius: var(--_radius);
    background-color: color-mix(in srgb, var(--_color-text) var(--_shade-background), var(--_color-background));
    color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    box-shadow: var(--_box-shadow);
    outline: var(--_outline);
    border: var(--_border);
    transform: var(--_transform);
    backdrop-filter: var(--_backdrop-filter);
    opacity: var(--_opacity);
    transition: all var(--_transition-duration) var(--_transition-timing);
    cursor: pointer;
    line-height: 0;

    &:is(button.shopify-payment-button__button--unbranded) {
      width: 100%;
      line-height: var(--element-text-line-height--body-md);
      min-height: 32px;
    }

    &:has(> svg:only-child),
    &:has(> element-icon:only-child) {
      --_padding-inline: var(--_padding-block);
      --_display: flex;
    }

    /* Hover State */
    &:hover {
      --_shade-background: var(--element-button-shade-background--hover);
      --_shade-border: var(--element-button-shade-border--hover);
    }

    /* Focus State */
    &:focus-visible,
    input[type='radio']:focus-visible + & {
      --_border-width: var(--element-button-border-width--focus);
      --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
    }

    /* Disabled State */
    &:disabled,
    input[type='radio']:disabled + &,
    .disabled > input[type='radio'] + &,
    shopify-buy-it-now-button[disabled] > & {
      --_shade-background: var(--element-button-shade-background--disabled);
      --_shade-text: var(--element-button-shade-text--disabled);
      --_shade-border: var(--element-button-shade-border--disabled);

      &:is(:disabled),
      shopify-buy-it-now-button[disabled] > & {
        cursor: not-allowed;
      }
    }

    /* Active State */
    &:active,
    input[type='radio']:checked + & {
      --_shade-background: var(--element-button-shade-background--active);
      --_shade-border: var(--element-button-shade-border--active);
    }

    /* Variants */
    &.element-button--size-xs {
      --_padding-block: var(--size-2);
      --_padding-inline: var(--size-2);
    }

    &.element-button--size-sm {
      --_padding-block: var(--size-2);
      --_padding-inline: var(--size-4);
    }

    &.element-button--size-lg {
      --_padding-block: var(--size-4);
      --_padding-inline: var(--size-6);
    }

    &.element-button--inverted {
      --_color-text: var(--_color-primary);
      --_color-background: var(--_color-secondary);
    }

    &.element-button--transparent {
      --_color-background: transparent;

      &:disabled {
        --_shade-border: var(--element-button-shade-border--disabled);
        --_shade-background: 0%;
      }

      &:disabled:active {
        --_border-width: var(--element-button-border-width);
        --_shade-border: var(--element-button-shade-border--disabled);
      }
    }

    &.element-button--plain {
      --_color-background: transparent;
      --_color-text: var(--element-text-color--body, var(--_color-primary));
      --_box-shadow: none;

      &:focus-visible {
        --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
      }
    }

    &:is(.shopify-payment-button__button--unbranded):hover:not([disabled]) {
      background-color: color-mix(in srgb, var(--_color-secondary) var(--_shade-background), var(--_color-primary));
      color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    }
  }

  .element-button--shopify-payment-wrapper {
    --_radius: var(--element-button-radius);
    --_padding-block: var(--element-button-padding-block);
    --_line-height: var(--element-button-line-height, var(--element-text-line-height--body));
    --_font-size: var(--element-button-font-size, var(--element-text-font-size--body-md));

    --shopify-accelerated-checkout-button-border-radius: var(--_radius);
    --shopify-accelerated-checkout-button-block-size: calc((2 * var(--_padding-block)) + (var(--_line-height) * var(--_font-size)));

    font-family: var(--element-button-font-family, var(--element-text-font-family));
  }
/* END_SNIPPET:element.button */

/* START_SNIPPET:element.checkbox (INDEX:88) */
:root {
    --element-checkbox-size: var(--size-5);
    --element-checkbox-icon-size: var(--size-3-5);
    --element-checkbox-radius: 1px;
    --element-checkbox-gap: var(--size-2);
    --element-checkbox-outline-width: 1px;
    --element-checkbox-outline-width-active: 2px;
    --element-checkbox-font-family: initial;
    --element-checkbox-font-size: var(--element-text-font-size--body-md);
    --element-checkbox-letter-spacing: var(--element-text-letter-spacing--body);
    --element-checkbox-line-height: var(--element-text-line-height--body);
    --element-checkbox-font-weight: normal;

    --element-checkbox-color-primary: var(--color-primary);
    --element-checkbox-color-secondary: var(--color-secondary);
    --element-checkbox-color-focus: var(--color-focus);
    --element-checkbox-color-shadow: initial;
    --element-checkbox-color-background: var(--root-color-secondary);
    --element-checkbox-color-text: initial;
    --element-checkbox-outline-shade: 12%;
    --element-checkbox-shadow-inset: inset;
    --element-checkbox-shadow-horizontal-offset: 0;
    --element-checkbox-shadow-vertical-offset: 0;
    --element-checkbox-shadow-blur-radius: 0;
    --element-checkbox-shadow-spread-radius: initial;
    --element-checkbox-icon-opacity: 0;
  }

  .element-checkbox {
    /* Layout & Typography */
    --_size: var(--element-checkbox-size);
    --_icon-size: var(--element-checkbox-icon-size);
    --_radius: var(--element-checkbox-radius);
    --_gap: var(--element-checkbox-gap);
    --_outline-width: var(--element-checkbox-outline-width);
    --_outline-width-active: var(--element-checkbox-outline-width-active);
    --_font-family: var(
      --element-checkbox-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-checkbox-font-size);
    --_letter-spacing: var(--element-checkbox-letter-spacing);
    --_line-height: var(--element-checkbox-line-height);
    --_font-weight: var(--element-checkbox-font-weight);

    /* Colors */
    --_color-primary: var(--element-checkbox-color-primary);
    --_color-secondary: var(--element-checkbox-color-secondary);
    --_color-active: var(--color-focus);
    --_color-shadow: var(
      --element-checkbox-color-shadow,
      color-mix(
        in srgb,
        var(--root-color-primary) var(--_outline-shade),
        var(--root-color-secondary)
      )
    );
    --_color-background: var(--element-checkbox-color-background);
    --_color-text: var(--element-checkbox-color-text, var(--_color-primary));
    --_outline-shade: var(--element-checkbox-outline-shade);
    --_shadow-inset: var(--element-checkbox-shadow-inset);
    --_shadow-h-offset: var(--element-checkbox-shadow-horizontal-offset);
    --_shadow-v-offset: var(--element-checkbox-shadow-vertical-offset);
    --_shadow-blur: var(--element-checkbox-shadow-blur-radius);
    --_shadow-spread: var(--element-checkbox-shadow-spread-radius, var(--_outline-width));
    --_icon-opacity: var(--element-checkbox-icon-opacity, 0);

    @media (max-width: 768px) {
      --_size: var(--element-checkbox-size, var(--size-4));
      --_icon-size: var(--element-checkbox-icon-size, var(--size-3));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    color: var(--_color-text);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    line-height: var(--_line-height);
    font-weight: var(--_font-weight);
    cursor: pointer;

    input[type='checkbox'] {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    &:hover {
      --_color-background: color-mix(in srgb, var(--_color-primary) 4%, var(--_color-secondary));
    }

    &:hover:has(input[type='checkbox']:checked) {
      --_color-shadow: color-mix(in srgb, var(--_color-secondary) 12%, var(--_color-primary));
      --_color-background: color-mix(in srgb, var(--_color-secondary) 4%, var(--_color-primary));
    }

    &:has(input[type='checkbox']:checked) {
      --_icon-opacity: 1;
      --_color-background: var(--_color-primary);
      --_color-shadow: var(--_color-primary);
    }

    &:has(input[type='checkbox']:focus-visible) {
      --_color-shadow: var(--_color-active);
      --_outline-width: var(--_outline-width-active);
    }

    &:not(.element-checkbox--with-icon):has(input[type='checkbox']:focus-visible) {
      outline: 3px solid var(--color-focus);
    }

    &:has(input[type='checkbox']:disabled) {
      --_color-background: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
      --_color-shadow: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
    }
  }

  .element-checkbox__icon {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_shadow-inset) var(--_shadow-h-offset) var(--_shadow-v-offset) var(--_shadow-blur)
      var(--_shadow-spread) var(--_color-shadow);
    background-color: var(--_color-background);

    .element-icon, /* (legacy) */
    element-icon > svg {
      width: var(--_icon-size);
      height: var(--_icon-size);
      color: var(--_color-secondary);
      opacity: var(--_icon-opacity);
    }
  }
/* END_SNIPPET:element.checkbox */

/* START_SNIPPET:element.chip (INDEX:89) */
:root {
    --element-chip-radius: var(--radius-xs);
    --element-chip-px: var(--size-3);
    --element-chip-py: var(--size-1);
    --element-chip-gap: var(--size-1);
    --element-chip-border-width: var(--size-0-25);

    --element-chip-font-size: var(--element-text-font-size--body-sm);
    --element-chip-letter-spacing: var(--element-text-letter-spacing--body);
    --element-chip-line-height: var(--element-text-line-height--body);

    --element-chip-color-primary: var(--color-primary);
    --element-chip-color-secondary: var(--color-secondary);
    --element-chip-color-text: var(--element-chip-color-primary);
    --element-chip-color-background: var(--element-chip-color-secondary);
    --element-chip-color-border: var(--element-chip-color-primary);
    --element-chip-color-focus-outline: transparent;

    --element-chip-shade-inset-box-shadow: 12%;

    --element-chip-inset-box-shadow: initial;
  }

  .element-chip {
    /* Layout & Typography */
    --_radius: var(--element-chip-radius);
    --_px: var(--element-chip-px);
    --_py: var(--element-chip-py);
    --_gap: var(--element-chip-gap);
    --_border-width: var(--element-chip-border-width);
    --_font-family: var(
      --element-chip-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-chip-font-size);
    --_letter-spacing: var(--element-chip-letter-spacing);
    --_line-height: var(--element-chip-line-height);

    /* Colors */
    --_color-primary: var(--element-chip-color-primary);
    --_color-secondary: var(--element-chip-color-secondary);
    --_color-text: var(--element-chip-color-text);
    --_color-background: var(--element-chip-color-background);
    --_color-border: var(--element-chip-color-border);
    --_color-focus-outline: var(--element-chip-color-focus-outline);
    --_color-caption: color-mix(in srgb, var(--_color-text) var(--_shade-caption), transparent);
    --_shade-active: 100%;
    --_shade-hover: 4%;
    --_shade-caption: 30%;
    --_shade-inset-box-shadow: var(--element-chip-shade-inset-box-shadow);
    --_inset-box-shadow: var(
      --element-chip-inset-box-shadow,
      inset 0 0 0 var(--_border-width)
        color-mix(in srgb, var(--_color-border) var(--_shade-inset-box-shadow), transparent)
    );

    --element-icon-size: var(--size-4);
    --swatch-size: var(--size-4);

    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--_gap);
    border-radius: var(--_radius);
    padding-inline: var(--_px);
    padding-block: var(--_py);
    text-align: center;
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    line-height: var(--_line-height);
    background-color: var(--_color-background);
    color: var(--_color-text);
    box-shadow: var(--_inset-box-shadow);
    outline: 3px solid var(--_color-focus-outline);
    outline-offset: 0;
    cursor: pointer;
    text-decoration: none;

    &:hover {
      --_color-background: color-mix(in srgb, var(--_color-primary) var(--_shade-hover), var(--_color-secondary));
    }

    &:focus-visible {
      --_color-focus-outline: var(--color-focus);
      --_inset-box-shadow: transparent;
    }

    &:focus:not(:focus-visible),
    &:active {
      --_color-focus-outline: transparent;
      --_inset-box-shadow: inset 0 0 0 var(--_border-width)
        color-mix(in srgb, var(--_color-border) var(--_shade-inset-box-shadow), transparent);
    }

    & > * {
      pointer-events: none;
    }
  }

  .element-chip--active {
    --_color-text: var(--_color-secondary);
    --_color-background: color-mix(in srgb, var(--_color-primary) var(--_shade-active), transparent);
    --_shade-caption: 70%;

    &:hover {
      --_shade-active: 4%;
      --_color-background: color-mix(in srgb, var(--_color-secondary) var(--_shade-active), var(--_color-primary));
    }
  }

  .element-chip__caption {
    color: var(--_color-caption);
  }

  .element-chip__close-icon {
    --element-icon-size: var(--size-2-5);
    display: flex;
  }
/* END_SNIPPET:element.chip */

/* START_SNIPPET:element.icon (INDEX:90) */
:root {
    --element-icon-size: 20px;
    --element-icon-width: initial;
    --element-icon-height: initial;
    --element-icon-color: inherit;
    --element-icon-opacity: 1;

    /* Stroke (legacy) */
    --element-icon-stroke-width: 2px;
    --element-icon-stroke-linejoin: miter;
  }

  element-icon {
    /* Layout & Typography */
    --_size: var(--element-icon-size);
    --_width: var(--element-icon-width, var(--_size));
    --_height: var(--element-icon-height, var(--_size));
    
    /* Colors */
    --_color: var(--element-icon-color);
    --_opacity: var(--element-icon-opacity);

    /* Stroke (legacy) */
    --_stroke-width: var(--element-icon-stroke-width);
    --_stroke-linejoin: var(--element-icon-stroke-linejoin);

    line-height: 0;
  }

  .element-icon, /* (legacy) */
  element-icon > svg {
    display: inline-block;
    vertical-align: middle;
    width: var(--_width);
    height: var(--_height);
    color: var(--_color);
    opacity: var(--_opacity);
  }

  /* Stroke (legacy) */
  .element-icon.element-icon--line {
    stroke-width: var(--_stroke-width);
    stroke-linejoin: var(--_stroke-linejoin);
  }
/* END_SNIPPET:element.icon */

/* START_SNIPPET:element.input (INDEX:93) */
:root {
    /* Base Layout Variables */
    --element-input-width: auto;
    --element-input-height: auto;
    --element-input-radius: var(--radius-xs);
    --element-input-padding-inline: var(--size-3);
    --element-input-padding-block: var(--size-3);

    /* Base Typography Variables */
    --element-input-font-family: var(--element-text-font-family--body), var(--element-text-font-family-fallback--body);
    --element-input-font-size: var(--element-text-font-size--body-md);
    --element-input-line-height: var(--element-text-line-height--body);
    --element-input-letter-spacing: var(--element-text-letter-spacing--body-md);
    --element-input-text-align: var(--element-text-text-align--body);

    /* Base Outline Variables */
    --element-input-box-shadow-horizontal-offset: 0;
    --element-input-box-shadow-vertical-offset: 0;
    --element-input-box-shadow-blur-radius: 0;
    --element-input-box-shadow-spread-radius: 1px;

    /* Base Colors Variables */
    --element-input-color-primary: initial;
    --element-input-color-secondary: initial;
    --element-input-box-shadow-shade: 12%;
    --element-input-background-shade: 0%;
    --element-input-text-shade: 70%;
    --element-input-text-shade-placeholder: 50%;
    --element-input-color-start-end: initial;

    /* Active State Variables */
    --element-input-box-shadow-spread-radius--active: 2px;
    --element-input-box-shadow-shade--active: var(--element-input-box-shadow-shade);
    --element-input-background-shade--active: var(--element-input-background-shade);
    --element-input-text-shade--active: 100%;
    --element-input-box-shadow-color--active: var(--color-focus, #0000ff);

    /* Focus State Variables */
    --element-input-box-shadow-spread-radius--focus: 2px;
    --element-input-box-shadow-shade--focus: var(--element-input-box-shadow-shade);
    --element-input-background-shade--focus: var(--element-input-background-shade);
    --element-input-text-shade--focus: var(--element-input-text-shade);
    --element-input-box-shadow-color--focus: var(--color-focus, #0000ff);

    /* Hover State Variables */
    --element-input-box-shadow-spread-radius--hover: 2px;
    --element-input-box-shadow-shade--hover: var(--element-input-box-shadow-shade);
    --element-input-background-shade--hover: 4%;
    --element-input-text-shade--hover: 100%;

    /* Disabled State Variables */
    --element-input-box-shadow-spread-radius--disabled: 2px;
    --element-input-box-shadow-shade--disabled: 8%;
    --element-input-background-shade--disabled: 8%;
    --element-input-text-shade--disabled: 20%;

    /* Error State Variables */
    --element-input-box-shadow-spread-radius--error: 2px;
    --element-input-box-shadow-shade--error: 8%;
    --element-input-background-shade--error: initial;
    --element-input-text-shade--error: 100%;
    --element-input-box-shadow-color--error: var(--color-error, #ff0000);
  }

  .element-input,
  .element-textarea {
    /* Base Layout*/
    --_width: var(--element-input-width);
    --_height: var(--element-input-height);
    --_radius: var(--element-input-radius);
    --_padding-inline: var(--element-input-padding-inline);
    --_padding-block: var(--element-input-padding-block);

    /* Base Typography */
    --_font-family: var(--element-input-font-family);
    --_font-size: var(--element-input-font-size);
    --_line-height: var(--element-input-line-height);
    --_letter-spacing: var(--element-input-letter-spacing);
    --_text-align: var(--element-input-text-align);

    /* Base Colors */
    --_color-primary: var(--element-input-color-primary, var(--root-color-primary, #000));
    --_color-secondary: var(--element-input-color-secondary, var(--root-color-secondary, #fff));
    --_color-error: var(--element-input-color-error);
    --_color-active: var(--element-input-color-active);
    --_shade-box-shadow: var(--element-input-box-shadow-shade);
    --_shade-background: var(--element-input-background-shade);
    --_shade-text: var(--element-input-text-shade);
    --_shade-text-placeholder: var(--element-input-text-shade-placeholder);
    --_color-text-start-end: var(--element-input-color-start-end, var(--_color-text));

    --_color-background: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));
    --_color-text: color-mix(in srgb, var(--_color-primary) var(--_shade-text), var(--_color-secondary));
    --_color-text-placeholder: color-mix(
      in srgb,
      var(--_color-primary) var(--_shade-text-placeholder),
      var(--_color-secondary)
    );
    --_color-box-shadow: color-mix(in srgb, var(--_color-primary) var(--_shade-box-shadow), var(--_color-secondary));

    /* Base Outline */
    --_box-shadow-horizontal-offset: var(--element-input-box-shadow-horizontal-offset);
    --_box-shadow-vertical-offset: var(--element-input-box-shadow-vertical-offset);
    --_box-shadow-blur-radius: var(--element-input-box-shadow-blur-radius);
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius);
    --_box-shadow: inset var(--_box-shadow-horizontal-offset) var(--_box-shadow-vertical-offset)
      var(--_box-shadow-blur-radius) var(--_box-shadow-spread-radius) var(--_color-box-shadow);

    box-shadow: var(--_box-shadow);
    border-radius: var(--_radius);
    background-color: var(--_color-background);
    width: var(--_width);
    height: var(--_height);

    & ~ button {
      --element-button-height: 100%;
    }
  }

  .element-input:has(.element-input__input:hover:not(:disabled)),
  .element-input:has(.element-input__textarea:hover:not(:disabled)),
  .element-textarea:hover:not(:disabled) {
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--hover);
    --_shade-box-shadow: var(--element-input-box-shadow-shade--hover);
    --_shade-background: var(--element-input-background-shade--hover);
    --_shade-text: var(--element-input-text-shade--hover);
  }

  .element-input:has(.element-input__input:active),
  .element-input:has(.element-input__textarea:active),
  .element-textarea:active {
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--active);
    --_shade-box-shadow: var(--element-input-box-shadow-shade--active);
    --_shade-background: var(--element-input-background-shade--active);
    --_shade-text: var(--element-input-text-shade--active);
    --_color-box-shadow: var(--element-input-box-shadow-color--active);
  }

  .element-input:has(.element-input__input:focus),
  .element-input:has(.element-input__textarea:focus),
  .element-textarea:focus {
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--focus);
    --_shade-box-shadow: var(--element-input-box-shadow-shade--focus);
    --_shade-background: var(--element-input-background-shade--focus);
    --_shade-text: var(--element-input-text-shade--focus);
    --_color-box-shadow: var(--element-input-box-shadow-color--focus);
  }

  .element-input:has(.element-input__input:disabled),
  .element-input:has(.element-input__textarea:disabled),
  .element-textarea:disabled {
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--disabled);
    --_shade-box-shadow: var(--element-input-box-shadow-shade--disabled);
    --_shade-background: var(--element-input-background-shade--disabled);
    --_shade-text: var(--element-input-text-shade--disabled);
    cursor: not-allowed;
  }

  .element-input:has(.element-input__input[aria-invalid='true']),
  .element-input:has(.element-input__textarea[aria-invalid='true']),
  .element-textarea[aria-invalid='true'] {
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--error);
    --_shade-box-shadow: var(--element-input-box-shadow-shade--error);
    --_shade-background: var(--element-input-background-shade--error);
    --_shade-text: var(--element-input-text-shade--error);
    --_color-box-shadow: var(--element-input-box-shadow-color--error);
  }

  .element-input,
  .element-textarea,
  .element-input__input,
  .element-input__textarea {
    display: flex;
    align-items: center;
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    line-height: var(--_line-height);
    letter-spacing: var(--_letter-spacing);
    color: var(--_color-text);
    padding-inline: var(--_padding-inline);

    &::-webkit-outer-spin-button,
    &::-webkit-inner-spin-button {
      -webkit-appearance: none;
    }

    &[type="number"] {
      -webkit-appearance: textfield;
      -moz-appearance: textfield;
      appearance: textfield;
      margin: 0;
    }
  }

  .element-textarea,
  .element-input__input,
  .element-input__textarea {
    border: none;
    outline: none;
    padding-block: var(--_padding-block);
    background: transparent;
    text-align: var(--_text-align);
    width: 100%;

    &::placeholder {
      color: var(--_color-text-placeholder);
    }
  }

  .element-input__start,
  .element-input__end {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--_color-text-start-end);
  }

  .element-input--inverted {
    --_color-secondary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-primary: var(--element-input-color-secondary, var(--color-secondary, #fff));
  }

  .element-input--transparent {
    --_color-primary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-secondary: transparent;
  }

  .element-input--inverted.element-input--transparent {
    --_color-primary: var(--element-input-color-secondary, var(--rootcolor-secondary, #fff));
    --_color-secondary: transparent;
  }

  .element-input--inline {
    --_radius: var(--radius-none);
    --_box-shadow: inset 0 calc(var(--_box-shadow-spread-radius) * -1) 0 0 var(--_color-box-shadow);
  }
/* END_SNIPPET:element.input */

/* START_SNIPPET:element.pagination (INDEX:94) */
.element-pagination {
    /* Layout */
    --_font-family: var(
      --element-pagination-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-pagination-font-size, var(--element-text-font-size--body-sm));
    --_letter-spacing: var(--element-pagination-letter-spacing, var(--element-text-letter-spacing--body));
    --_line-height: var(--element-pagination-line-height, var(--element-text-line-height--body));

    /* Colors */
    --_color-primary: var(--color-primary);
    --_shade-active: 40%;
    --_shade-hover: 70%;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--size-2);
    color: var(--_color-primary);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    line-height: var(--_line-height);
    width: 100%;
  }

  .element-pagination-page {
    padding: var(--size-2) var(--size-3);

    &:not(.element-pagination-page--current):hover {
      color: color-mix(in srgb, var(--_color-primary) var(--_shade-hover), transparent);
    }
  }

  .element-pagination-page--current {
    color: color-mix(in srgb, var(--_color-primary) var(--_shade-active), transparent);
  }
/* END_SNIPPET:element.pagination */

/* START_SNIPPET:element.placeholder (INDEX:95) */
.element-placeholder {
    fill: #999;
    background-color: #e1e1e1;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    display: block;
    padding: 30px 0;
  }

  .element-placeholder--no-padding {
    padding: 0;
  }
/* END_SNIPPET:element.placeholder */

/* START_SNIPPET:element.radio (INDEX:96) */
:root {
    --element-radio-size: var(--size-5);
    --element-radio-dot-size: var(--size-2-5);
    --element-radio-dot-opacity: 0;
    --element-radio-radius: 50%;
    --element-radio-gap: var(--size-2);
    --element-radio-border-width: 1px;
    --element-radio-border-width--focus: 2px;

    --element-radio-color-primary: initial;
    --element-radio-color-secondary: initial;
    --element-radio-color-focus: var(--color-focus);
    --element-radio-shade-background: 0%;
    --element-radio-shade-background--hover: 4%;
    --element-radio-shade-background--checked: 100%;
    --element-radio-shade-background--disabled: 8%;
    --element-radio-shade-border: 12%;
    --element-radio-shade-border--disabled: 8%;
  }

  .element-radio {
    /* Layout & Typography */
    --_size: var(--element-radio-size);
    --_dot-size: var(--element-radio-dot-size);
    --_dot-opacity: var(--element-radio-dot-opacity);
    --_radius: var(--element-radio-radius);
    --_gap: var(--element-radio-gap);
    --_border-width: var(--element-radio-border-width);

    /* Colors */
    --_color-primary: var(--element-radio-color-primary, var(--color-primary));
    --_color-secondary: var(--element-radio-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-radio-color-focus, var(--color-focus, #4a9afc));
    --_shade-background: var(--element-radio-shade-background);
    --_shade-border: var(--element-radio-shade-border);

    --_box-shadow: 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary));

    @media (max-width: 768px) {
      --_size: var(--radio-size, var(--size-4));
      --_dot-size: var(--radio-dot-size, var(--size-2));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    cursor: pointer;

    input[type='radio'] {
      position: absolute;
      opacity: 0;
      inset: 0;
      cursor: pointer;
    }

    &:hover {
      --_shade-background: var(--element-radio-shade-background--hover);
    }

    &:has(input[type='radio']:checked) {
      --_dot-opacity: 1;
      --_shade-background: var(--element-radio-shade-background--checked);
    }

    &:has(input[type='radio']:focus-visible) {
      --_border-width: var(--element-radio-border-width--focus);
      --_box-shadow: 0 0 0 var(--_border-width) var(--_color-focus);
    }

    &:has(input[type='radio']:disabled) {
      --_shade-background: var(--element-radio-shade-background--disabled);
      --_shade-border: var(--element-radio-shade-border--disabled);
      cursor: not-allowed;
    }
  }

  .element-radio__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_box-shadow);
    background-color: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));

    &::before {
      content: '';
      width: var(--_dot-size);
      height: var(--_dot-size);
      background-color: var(--_color-secondary);
      border-radius: 50%;
      opacity: var(--_dot-opacity);
    }
  }
/* END_SNIPPET:element.radio */

/* START_SNIPPET:element.select (INDEX:97) */
element-select {
    display: inline-block;
    position: relative;
  }

  /* Ensure the custom element inherits the wrapper styles */
  element-select.element-select__wrapper {
    position: relative;
    display: inline-block;
  }

  element-select.element-select__wrapper select {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    /* Ensure the select is focusable and visible to screen readers */
    pointer-events: auto;
  }

  /* Focus state for the wrapper */
  element-select.element-select__wrapper--focused .element-button {
    --_box-shadow: 0 0 0 var(--element-input-box-shadow-spread-radius--focus) color-mix(in srgb, var(--color-primary) var(--element-input-box-shadow-shade--focus), transparent);
  }

  element-select select:focus-visible + .element-button {
    --_border-width: var(--element-input-box-shadow-spread-radius--focus);
    --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
  }

  /* Ensure the button takes full width */
  element-select .element-button {
    width: 100%;
    justify-content: space-between;
  }
/* END_SNIPPET:element.select */

/* START_SNIPPET:element.swatch (INDEX:98) */
:root {
    --element-swatch-size-small: var(--size-4);
    --element-swatch-size-large: var(--size-8);
    --element-swatch-size-mobile-ratio: 0.875; /* 3.5/4 for small, 6/8 for large (0.75) */
    --element-swatch-radius: var(--radius-full);
    --element-swatch-border-width: var(--size-0-25);
    --element-swatch-outline-width: 3px;
    --element-swatch-line-disabled-width: initial;

    --element-swatch-color-primary: var(--color-primary);
    --element-swatch-color-secondary: var(--color-secondary);
    --element-swatch-color-background: var(--color-primary);
    --element-swatch-color-background-image: none;
    --element-swatch-color-border: var(--color-primary);
    --element-swatch-color-disabled: none;
    --element-swatch-shade-inset: 16%;
    --element-swatch-shade-outer: 0%;
    --element-swatch-shade-outer-hover: 20%;
    --element-swatch-shade-outer-selected: 100%;
  }

  .element-swatch {
    /* Layout */
    --_size-small: var(--element-swatch-size-small);
    --_size-large: var(--element-swatch-size-large);
    --_size-mobile-ratio: var(--element-swatch-size-mobile-ratio);
    --_size: var(--_size-small);
    --_radius: var(--element-swatch-radius);
    --_border-width: var(--element-swatch-border-width);
    --_outline-width: var(--element-swatch-outline-width);
    --_line-disabled-width: var(
      --element-swatch-line-disabled-width,
      max(var(--size-0-25), calc(var(--_size) * 0.0625))
    );

    /* Colors */
    --_color-primary: var(--element-swatch-color-primary);
    --_color-secondary: var(--element-swatch-color-secondary);
    --_color-background: var(--element-swatch-color-background);
    --_color-background-image: var(--element-swatch-color-background-image);
    --_color-border: var(--element-swatch-color-border);
    --_color-disabled: var(--element-swatch-color-disabled);
    --_shade-inset: var(--element-swatch-shade-inset);
    --_shade-outer: var(--element-swatch-shade-outer);
    --_shade-outer-hover: var(--element-swatch-shade-outer-hover);
    --_shade-outer-selected: var(--element-swatch-shade-outer-selected);

    display: inline-block;
    background:
      var(--_color-disabled),
      var(--_color-background-image) center / contain,
      var(--_color-background);
    background-repeat: no-repeat;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow:
      0 0 0 2px color-mix(in srgb, var(--_color-secondary) 100%, transparent),
      0 0 0 var(--_outline-width) color-mix(in srgb, var(--_color-primary) var(--_shade-outer), transparent),
      inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-border) var(--_shade-inset), transparent);
    outline: 0;

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-small) * var(--_size-mobile-ratio));
    }

    label:hover &,
    &:hover {
      --_outline-width: 4px;
      --_shade-outer: var(--_shade-outer-hover);
    }

    &:focus,
    input:checked + &,
    .element-swatch--selected {
      --_shade-outer: var(--_shade-outer-selected);
    }
  }

  .element-swatch--large {
    --_size: var(--_size-large);

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-large) * var(--_size-mobile-ratio));
    }
  }

  .element-swatch--disabled,
  .disabled > input[type='radio'] + &,
  input:disabled + & {
    --_color-disabled: linear-gradient(
      to bottom right,
      transparent calc(50% - var(--_line-disabled-width)),
      var(--color-secondary) calc(50% - var(--_line-disabled-width)) calc(50% + var(--_line-disabled-width)),
      transparent calc(50% + var(--_line-disabled-width))
    );
  }
/* END_SNIPPET:element.swatch */

/* START_SNIPPET:element.text--body (INDEX:99) */
/* Public Body Variables */
  :root {
    /* Body Font Styles */
    --element-text-font-family--body: 'Arial';
    --element-text-font-family-fallback--body: 'sans-serif';
    --element-text-font-weight--body: var(--font-weight-400);
    --element-text-letter-spacing--body: var(--letter-space-md);
    --element-text-text-transform--body: none;
    
    /* Body Color */
    --element-text-color--body: initial;
    
    /* Body Font Sizes */
    --element-text-font-size--body: initial;
    --element-text-font-size--body-xs: var(--text-size-3);
    --element-text-font-size--body-sm: var(--text-size-3-5);
    --element-text-font-size--body-md: var(--text-size-4);
    --element-text-font-size--body-lg: var(--text-size-4-5);
    
    /* Body Line Heights */
    --element-text-line-height--body: var(--line-height-md);
    --element-text-line-height--body-xs: initial;
    --element-text-line-height--body-sm: initial;
    --element-text-line-height--body-md: initial;
    --element-text-line-height--body-lg: initial;
  }

  .element-text:is([class*="element-text--body"]) {
    /* Body Font Styles */
    --_font-family--body: var(--_font-family, var(--element-text-font-family--body));
    --_font-family-fallback--body: var(--_font-family-fallback, var(--element-text-font-family-fallback--body));
    --_font-weight--body: var(--_font-weight, var(--element-text-font-weight--body));
    --_letter-spacing--body: var(--_letter-spacing, var(--element-text-letter-spacing--body));
    --_text-transform--body: var(--_text-transform, var(--element-text-text-transform--body));

    /* Body Color */
    --_color--body: var(--_color, var(--element-text-color--body, currentColor));

    /* Body Font Sizes */
    --_font-size--body: var(--_font-size, var(--element-text-font-size--body));
    --_font-size--body-xs: var(--_font-size--body, var(--element-text-font-size--body-xs));
    --_font-size--body-sm: var(--_font-size--body, var(--element-text-font-size--body-sm));
    --_font-size--body-md: var(--_font-size--body, var(--element-text-font-size--body-md));
    --_font-size--body-lg: var(--_font-size--body, var(--element-text-font-size--body-lg));

    /* Body Line Heights */
    --_line-height--body: var(--_line-height, var(--element-text-line-height--body));
    --_line-height--body-xs: var(--element-text-line-height--body-xs, var(--_line-height--body));
    --_line-height--body-sm: var(--element-text-line-height--body-sm, var(--_line-height--body));
    --_line-height--body-md: var(--element-text-line-height--body-md, var(--_line-height--body));
    --_line-height--body-lg: var(--element-text-line-height--body-lg, var(--_line-height--body));

    font-family: var(--_font-family--body), var(--_font-family-fallback--body);
    font-weight: var(--_font-weight--body);
    letter-spacing: var(--_letter-spacing--body);
    text-transform: var(--_text-transform--body);
    color: var(--_color--body);

    &:where(.element-text--body-xs) {
      --_font-size: var(--_font-size--body-xs); 
      line-height: var(--_line-height--body-xs);
    }

    &:where(.element-text--body-sm) {
      font-size: var(--_font-size--body-sm);
      line-height: var(--_line-height--body-sm);
    }

    &:where(.element-text--body-md) {
      font-size: var(--_font-size--body-md);
      line-height: var(--_line-height--body-md);
    } 

    &:where(.element-text--body-lg) {
      font-size: var(--_font-size--body-lg);
      line-height: var(--_line-height--body-lg);
    }
  }
/* END_SNIPPET:element.text--body */

/* START_SNIPPET:element.text--heading (INDEX:100) */
/* Public Heading Variables */
  :root {
    /* Heading Font Styles */
    --element-text-font-family--heading: 'Arial';
    --element-text-font-family-fallback--heading: 'sans-serif';
    --element-text-font-weight--heading: var(--font-weight-700);
    --element-text-letter-spacing--heading: var(--letter-space-md);
    --element-text-text-transform--heading: none;
    
    /* Heading Color */
    --element-text-color--heading: initial;
    
    /* Heading Font Sizes */
    --element-text-font-size--heading: initial;
    --element-text-font-size--heading-2xl: var(--text-size-12);
    --element-text-font-size--heading-xl: var(--text-size-8);
    --element-text-font-size--heading-lg: var(--text-size-6);
    --element-text-font-size--heading-md: var(--text-size-5);
    --element-text-font-size--heading-sm: var(--text-size-4-5);
    --element-text-font-size--heading-xs: var(--text-size-4);
    --element-text-font-size--heading-2xs: var(--text-size-3-5);
    
    /* Heading Line Heights */
    --element-text-line-height--heading: var(--line-height-md);
    --element-text-line-height--heading-2xl: initial;
    --element-text-line-height--heading-xl: initial;
    --element-text-line-height--heading-lg: initial;
    --element-text-line-height--heading-md: initial;
    --element-text-line-height--heading-sm: initial;
    --element-text-line-height--heading-xs: initial;
    --element-text-line-height--heading-2xs: initial;
  } 

  .element-text:is([class*="element-text--heading"]) {
    /* Heading Font Styles */
    --_font-family--heading: var(--_font-family, var(--element-text-font-family--heading));
    --_font-family-fallback--heading: var(--_font-family-fallback, var(--element-text-font-family-fallback--heading));
    --_font-weight--heading: var(--_font-weight, var(--element-text-font-weight--heading));
    --_letter-spacing--heading: var(--_letter-spacing, var(--element-text-letter-spacing--heading));
    --_text-transform--heading: var(--_text-transform, var(--element-text-text-transform--heading));

    /* Heading Color */
    --_color--heading: var(--_color, var(--element-text-color--heading, currentColor));

    /* Heading Font Sizes */
    --_font-size--heading: var(--_font-size, var(--element-text-font-size--heading));
    --_font-size--heading-2xl: var(--_font-size--heading, var(--element-text-font-size--heading-2xl));
    --_font-size--heading-xl: var(--_font-size--heading, var(--element-text-font-size--heading-xl));
    --_font-size--heading-lg: var(--_font-size--heading, var(--element-text-font-size--heading-lg));
    --_font-size--heading-md: var(--_font-size--heading, var(--element-text-font-size--heading-md));
    --_font-size--heading-sm: var(--_font-size--heading, var(--element-text-font-size--heading-sm));
    --_font-size--heading-xs: var(--_font-size--heading, var(--element-text-font-size--heading-xs));

    /* Heading Line Heights */
    --_line-height--heading: var(--_line-height, var(--element-text-line-height--heading));
    --_line-height--heading-2xl: var(--element-text-line-height--heading-2xl, var(--_line-height--heading));
    --_line-height--heading-xl: var(--element-text-line-height--heading-xl, var(--_line-height--heading));
    --_line-height--heading-lg: var(--element-text-line-height--heading-lg, var(--_line-height--heading));
    --_line-height--heading-md: var(--element-text-line-height--heading-md, var(--_line-height--heading));
    --_line-height--heading-sm: var(--element-text-line-height--heading-sm, var(--_line-height--heading));
    --_line-height--heading-xs: var(--element-text-line-height--heading-xs, var(--_line-height--heading));

    font-family:var(--_font-family--heading), var(--_font-family-fallback--heading);
    font-weight: var(--_font-weight--heading);
    letter-spacing: var(--_letter-spacing--heading);
    text-transform: var(--_text-transform--heading);
    color: var(--_color--heading);

    &:where(.element-text--heading-2xs) {
      font-size: var(--_font-size--heading-2xs);
      line-height: var(--_line-height--heading-2xs);
    }
  
    &:where(.element-text--heading-xs) {
      font-size: var(--_font-size--heading-xs);
      line-height: var(--_line-height--heading-xs);
    }

    &:where(.element-text--heading-sm) {
      font-size: var(--_font-size--heading-sm);
      line-height: var(--_line-height--heading-sm);
    }

    &:where(.element-text--heading-md) {
      font-size: var(--_font-size--heading-md);
      line-height: var(--_line-height--heading-md);
    }

    &:where(.element-text--heading-lg) {
      font-size: var(--_font-size--heading-lg);
      line-height: var(--_line-height--heading-lg);
    }

    &:where(.element-text--heading-xl) {
      font-size: var(--_font-size--heading-xl);
      line-height: var(--_line-height--heading-xl);
    }

    &:where(.element-text--heading-2xl) {
      font-size: var(--_font-size--heading-2xl);
      line-height: var(--_line-height--heading-2xl);
    }
  }
/* END_SNIPPET:element.text--heading */

/* START_SNIPPET:element.text--rte (INDEX:101) */
/* Public RTE Variables */
  :root {
    /* Body Font Stack */
    --element-text-font-family--rte-body: var(--element-text-font-family--body);
    --element-text-font-family-fallback--rte-body: var(--element-text-font-family-fallback--body);
    --element-text-font-weight--rte-body: var(--element-text-font-weight--body);
    --element-text-letter-spacing--rte-body: var(--element-text-letter-spacing--body);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);
    --element-text-text-transform--rte-body: var(--element-text-text-transform--body);

    /* Body Font Sizes */
    --element-text-font-size--rte-body: var(--element-text-font-size--body-md);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);

    /* Heading Font Stack */
    --element-text-font-family--rte-heading: var(--element-text-font-family--heading);
    --element-text-font-family-fallback--rte-heading: var(--element-text-font-family-fallback--heading);
    --element-text-font-weight--rte-heading: var(--element-text-font-weight--heading);
    --element-text-letter-spacing--rte-heading: var(--element-text-letter-spacing--heading);
    --element-text-text-transform--rte-heading: var(--element-text-text-transform--heading);

    /* Heading Font Sizes */
    --element-text-font-size--rte-heading-h1: var(--element-text-font-size--heading-xl);
    --element-text-line-height--rte-heading-h1: var(--element-text-line-height--heading-xl);
    --element-text-font-size--rte-heading-h2: var(--element-text-font-size--heading-lg);
    --element-text-line-height--rte-heading-h2: var(--element-text-line-height--heading-lg);
    --element-text-font-size--rte-heading-h3: var(--element-text-font-size--heading-md);
    --element-text-line-height--rte-heading-h3: var(--element-text-line-height--heading-md);
    --element-text-font-size--rte-heading-h4: var(--element-text-font-size--heading-sm);
    --element-text-line-height--rte-heading-h4: var(--element-text-line-height--heading-sm);
    --element-text-font-size--rte-heading-h5: var(--element-text-font-size--heading-xs);
    --element-text-line-height--rte-heading-h5: var(--element-text-line-height--heading-xs);
    --element-text-font-size--rte-heading-h6: var(--element-text-font-size--heading-xs);
  }

  .element-text.element-text--rte {
    /* Body Font Stack */
    --_font-family--rte-body: var(--element-text-font-family--rte-body);
    --_font-family-fallback--rte-body: var(--element-text-font-family-fallback--rte-body);
    --_font-weight--rte-body: var(--element-text-font-weight--rte-body);
    --_letter-spacing--rte-body: var(--element-text-letter-spacing--rte-body);
    --_text-transform--rte-body: var(--element-text-text-transform--rte-body);

    /* Body Font Sizes */
    --_line-height--rte-body: var(--element-text-line-height--rte-body);
    --_font-size--rte-body: var(--element-text-font-size--rte-body);

    /* Heading Font Stack */
    --_font-family--rte-heading: var(--element-text-font-family--rte-heading);
    --_font-family-fallback--rte-heading: var(--element-text-font-family-fallback--rte-heading);
    --_font-weight--rte-heading: var(--element-text-font-weight--rte-heading);
    --_letter-spacing--rte-heading: var(--element-text-letter-spacing--rte-heading);
    --_text-transform--rte-heading: var(--element-text-text-transform--rte-heading);

    /* Heading Font Sizes */
    --_font-size--rte-heading-h1: var(--element-text-font-size--rte-heading-h1);
    --_line-height--rte-heading-h1: var(--element-text-line-height--rte-heading-h1);
    --_font-size--rte-heading-h2: var(--element-text-font-size--rte-heading-h2);
    --_line-height--rte-heading-h2: var(--element-text-line-height--rte-heading-h2);
    --_font-size--rte-heading-h3: var(--element-text-font-size--rte-heading-h3);
    --_line-height--rte-heading-h3: var(--element-text-line-height--rte-heading-h3);
    --_font-size--rte-heading-h4: var(--element-text-font-size--rte-heading-h4);
    --_line-height--rte-heading-h4: var(--element-text-line-height--rte-heading-h4);
    --_font-size--rte-heading-h5: var(--element-text-font-size--rte-heading-h5);
    --_line-height--rte-heading-h5: var(--element-text-line-height--rte-heading-h5);
    --_font-size--rte-heading-h6: var(--element-text-font-size--rte-heading-h6);
    --_line-height--rte-heading-h6: var(--element-text-line-height--rte-heading-h6);

    font-size: var(--_font-size--rte-body);
    font-family: var(--_font-family--rte-body), var(--_font-family-fallback--rte-body);
    font-weight: var(--_font-weight--rte-body);
    letter-spacing: var(--_letter-spacing--rte-body);
    text-transform: var(--_text-transform--rte-body);
    line-height: var(--_line-height--rte-body);

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-family: var(--_font-family--rte-heading), var(--_font-family-fallback--rte-heading);
      font-weight: var(--_font-weight--rte-heading);
      letter-spacing: var(--_letter-spacing--rte-heading);
      text-transform: var(--_text-transform--rte-heading);
      margin: 0 0 var(--size-4);

      @media only screen and (min-width: 769px) {
        margin: 0 0 var(--size-5);
      }
    }

    h6 {
      font-size: var(--_font-size--rte-heading-h6);
      line-height: var(--_line-height--rte-heading-h6);
    }

    h5 {
      font-size: var(--_font-size--rte-heading-h5);
      line-height: var(--_line-height--rte-heading-h5);
    }

    h4 {
      font-size: var(--_font-size--rte-heading-h4);
      line-height: var(--_line-height--rte-heading-h4);
    }

    h3 {
      font-size: var(--_font-size--rte-heading-h3);
      line-height: var(--_line-height--rte-heading-h3);
    }

    h2 {
      font-size: var(--_font-size--rte-heading-h2);
      line-height: var(--_line-height--rte-heading-h2);
    }

    h1 {
      font-size: var(--_font-size--rte-heading-h1);
      line-height: var(--_line-height--rte-heading-h1);
    }

    a {
      text-decoration: underline;
    }

    p {
      margin-bottom: var(--size-8);

      &:last-child {
        margin-bottom: 0;
      }
    }

    & table {
      @media only screen and (max-width: 768px) {
        & td,
        & th {
          padding: 6px 8px;
        }
      }
    }

    .table-wrapper {
      max-width: 100%;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    .video-wrapper {
      position: relative;
      overflow: hidden;
      max-width: 100%;
      padding-bottom: 56.25%;

      & iframe,
      & video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
  }
/* END_SNIPPET:element.text--rte */

/* START_SNIPPET:element.text (INDEX:102) */
:root {
    --element-text-font-family: initial;
    --element-text-font-family-fallback: initial;
    --element-text-font-weight: initial;
    --element-text-letter-spacing: initial;
    --element-text-text-transform: initial;
    --element-text-line-height: initial;
    --element-text-color: initial;
    --element-text-font-size: initial;
  }

  .element-text {
    /* Base Typography Variables */
    --_font-family: var(--element-text-font-family);
    --_font-family-fallback: var(--element-text-font-family-fallback);
    --_font-weight: var(--element-text-font-weight);
    --_letter-spacing: var(--element-text-letter-spacing);
    --_text-transform: var(--element-text-text-transform);
    --_line-height: var(--element-text-line-height);
    --_color: var(--element-text-color, currentColor);
    --_font-size: var(--element-text-font-size);

    font-family: var(--_font-family), var(--_font-family-fallback);
    font-weight: var(--_font-weight);
    letter-spacing: var(--_letter-spacing);
    text-transform: var(--_text-transform);
    line-height: var(--_line-height);
    color: var(--_color);
    font-size: var(--_font-size);
    margin: 0;
    -webkit-font-smoothing: antialiased;

    &.element-text--price {
      sup {
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--align-start {
      text-align: start;
    }

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

    &.element-text--align-end {
      text-align: end;
    }

    &.element-text--align-justify {
      text-align: justify;
    }

    &.element-text--break-word {
      word-break: break-word;
    }

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

    &.element-text--visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }

    &.element-text--line-through {
      text-decoration: line-through;
    }

    &.element-text--line-through.element-text--price-superscript {
      text-decoration: none;

      span {
        text-decoration: line-through;
      }
      
      sup {
        text-decoration: line-through;
        position: relative;
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--underline {
      text-decoration: underline;
    }

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

    &.element-text--lowercase {
      text-transform: lowercase;
    }

    &.element-text--capitalize {
      text-transform: capitalize;
    }
  }
/* END_SNIPPET:element.text */

/* START_SNIPPET:layout.grid (INDEX:133) */
/* Public Layout Grid Tokens */
  :root {
    /* Layout Grid Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-grid-gap-size-none: 0px;
    --layout-grid-gap-size-3xs: var(--gap-size-3xs);
    --layout-grid-gap-size-2xs: var(--gap-size-2xs);
    --layout-grid-gap-size-xs: var(--gap-size-xs);
    --layout-grid-gap-size-sm: var(--gap-size-sm);
    --layout-grid-gap-size-md: var(--gap-size-md);
    --layout-grid-gap-size-lg: var(--gap-size-lg);
    --layout-grid-gap-size-xl: var(--gap-size-xl);
    --layout-grid-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Grid Line Sizes - These are assigned by the value passed to the 'lines' param */
    --layout-grid-line-size-none: 0px;
    --layout-grid-line-size-xs: var(--line-size-xs);
    --layout-grid-line-size-sm: var(--line-size-sm);
    --layout-grid-line-size-md: var(--line-size-md);
    --layout-grid-line-size-lg: var(--line-size-lg);
    --layout-grid-line-size-xl: var(--line-size-xl);

    --layout-grid-line-color-shade: 12%;
  }
/* END_SNIPPET:layout.grid */

/* START_SNIPPET:layout.stack (INDEX:134) */
/* Public Layout Stack Tokens */
  :root {
    /* Layout Stack Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-stack-gap-size-none: 0px;
    --layout-stack-gap-size-3xs: var(--gap-size-3xs);
    --layout-stack-gap-size-2xs: var(--gap-size-2xs);
    --layout-stack-gap-size-xs: var(--gap-size-xs);
    --layout-stack-gap-size-sm: var(--gap-size-sm);
    --layout-stack-gap-size-md: var(--gap-size-md);
    --layout-stack-gap-size-lg: var(--gap-size-lg);
    --layout-stack-gap-size-xl: var(--gap-size-xl);
    --layout-stack-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Stack Default Layout */
    --layout-stack-margin: 0;
  }
/* END_SNIPPET:layout.stack */

/* START_SNIPPET:list.active-filters (INDEX:136) */
.active-filters__reset-all-link {
    text-decoration: none;
  }
/* END_SNIPPET:list.active-filters */

/* START_SNIPPET:list.checkbox-filter (INDEX:137) */
:root {
    --checkbox-filter-count-color: color-mix(in srgb, currentColor 30%, transparent);
  }

  .checkbox-filter {
    display: block;
  }

  .checkbox-filter__item {
    line-height: 0;
  }

  .checkbox-filter__count {
    color: var(--checkbox-filter-count-color);
  }
/* END_SNIPPET:list.checkbox-filter */

/* START_SNIPPET:list.hot-reload (INDEX:139) */
list-hot-reload {
    display: block;
    width: 100%;
  }

  list-hot-reload[loading] {
    opacity: 0.5;
    pointer-events: none;
  }
/* END_SNIPPET:list.hot-reload */

/* START_SNIPPET:list.price-range (INDEX:140) */
:root {
    --price-range-slider-height: 6px;
    --price-range-slider-handle-size: 12px;
    --price-range-slider-handle-hover-size: 14px;
    --price-range-slider-target-color: #f4f4f4;
    --price-range-slider-handle-color: #000;
    --price-range-slider-handle-box-shadow-color: #fff;
    --price-range-slider-connect-color: #000;
  }

  .price-range {
    --_slider-height: var(--price-range-slider-height);
    --_slider-handle-size: var(--price-range-slider-handle-size);
    --_slider-handle-hover-size: var(--price-range-slider-handle-hover-size);
    --_slider-target-color: var(--price-range-slider-target-color);
    --_slider-handle-color: var(--price-range-slider-handle-color);
    --_slider-handle-box-shadow-color: var(--price-range-slider-handle-box-shadow-color);
    --_slider-connect-color: var(--price-range-slider-connect-color);
  }

  .price-range__slider-wrapper {
    padding-block: calc((var(--_slider-handle-hover-size) - var(--_slider-height)) / 2);
  }

  .price-range__slider {
    cursor: pointer;
  }

  .price-range .noUi-horizontal {
    height: var(--_slider-height);
  }

  .price-range .noUi-horizontal .noUi-handle {
    border: 0;
    border-radius: 50%;
    background: var(--_slider-handle-color);
    box-shadow: 0 0 1px 2px var(--_slider-handle-box-shadow-color);
    width: var(--_slider-handle-size);
    height: var(--_slider-handle-size);
    cursor: pointer;
    right: calc(var(--_slider-handle-size) / 2 * -1);
    top: calc(var(--_slider-height) / 2 - var(--_slider-handle-size) / 2);

    &:hover,
    &:focus {
      --_slider-handle-size: var(--_slider-handle-hover-size);
    }

    &:before,
    &:after {
      content: none;
    }
  }

  .price-range .noUi-target {
    background: var(--_slider-target-color);
    border: 0;
    box-shadow: none;
  }

  .price-range .noUi-connect {
    background: var(--_slider-connect-color);
  }
/* END_SNIPPET:list.price-range */

/* START_SNIPPET:list.view-controller (INDEX:143) */
.view-controller {
    display: contents;
  }
/* END_SNIPPET:list.view-controller */

/* START_SNIPPET:overlay.drawer (INDEX:157) */
:root {
  --overlay-drawer-size: 480px;
  --overlay-drawer-gutter: var(--gap-size-none); /* better name? */
  --overlay-drawer-label-margin-bottom: var(--size-4);

  --overlay-drawer-padding-inline: var(--size-4);
  --overlay-drawer-padding-inline--xs: initial;
  --overlay-drawer-padding-inline--sm: initial;
  --overlay-drawer-padding-inline--md: initial;
  --overlay-drawer-padding-inline--lg: initial;
  --overlay-drawer-padding-inline--xl: initial;

  --overlay-drawer-padding-block: var(--size-8);
  --overlay-drawer-padding-block--xs: initial;
  --overlay-drawer-padding-block--sm: initial;
  --overlay-drawer-padding-block--md: initial;
  --overlay-drawer-padding-block--lg: initial;
  --overlay-drawer-padding-block--xl: initial;

  --overlay-drawer-background: initial;
  --overlay-drawer-overlay-color: rgba(0, 0, 0, 0.5);

  --overlay-drawer-z-index: 9999;
  --overlay-drawer-transition-duration: 0.3s;
  --overlay-drawer-transition-timing-function: ease-in-out;
}

/* Scroll lock when drawer is open */
html:has(.overlay-drawer[open='true']),
body:has(.overlay-drawer[open='true']) {
  overflow: hidden;
}

.overlay-drawer {
  --_width: calc(100% - var(--overlay-drawer-gutter));
  --_max-width: var(--overlay-drawer-size);

  --_padding-inline--xs: var(--overlay-drawer-padding-inline--xs, var(--overlay-drawer-padding-inline));
  --_padding-inline--sm: var(--overlay-drawer-padding-inline--sm, var(--_padding-inline--xs));
  --_padding-inline--md: var(--overlay-drawer-padding-inline--md, var(--_padding-inline--sm));
  --_padding-inline--lg: var(--overlay-drawer-padding-inline--lg, var(--_padding-inline--md));
  --_padding-inline--xl: var(--overlay-drawer-padding-inline--xl, var(--_padding-inline--lg));
  --_padding-inline: var(--_padding-inline--xs);

  --_padding-block--xs: var(--overlay-drawer-padding-block--xs, var(--overlay-drawer-padding-block));
  --_padding-block--sm: var(--overlay-drawer-padding-block--sm, var(--_padding-block--xs));
  --_padding-block--md: var(--overlay-drawer-padding-block--md, var(--_padding-block--sm));
  --_padding-block--lg: var(--overlay-drawer-padding-block--lg, var(--_padding-block--md));
  --_padding-block--xl: var(--overlay-drawer-padding-block--xl, var(--_padding-block--lg));
  --_padding-block: var(--_padding-block--xs);

  --_background: var(--overlay-drawer-background, var(--color-secondary, #fff));

  display: block;
  position: fixed;
  inset: 0;
  height: 100%;
  width: 100%;
  transition-property: background-color;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  cursor: pointer;
  z-index: var(--overlay-drawer-z-index);

  &[open='false'] {
    pointer-events: none;
  }

  &[open='true'] {
    background-color: var(--overlay-drawer-overlay-color);
  }
}

.overlay-drawer__inner {
  background: var(--_background);
  cursor: initial;
  position: absolute;
  width: var(--_width);
  max-width: var(--_max-width);
  top: 0;
  transition-property: transform;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  height: 100%;
  overflow-y: auto;
  padding-inline: var(--_padding-inline);
  padding-block: var(--_padding-block);

  .overlay-drawer--start & {
    left: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--start[open='true'] & {
    transform: translateX(100%);
  }

  .overlay-drawer--end & {
    right: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--end[open='true'] & {
    transform: translateX(-100%);
  }
}

.overlay-drawer__header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-block-end: var(--overlay-drawer-label-margin-bottom);

  &:has(.overlay-drawer__label) {
    justify-content: space-between;
  }
}

.overlay-drawer__close-button {
  line-height: 0;
}
/* END_SNIPPET:overlay.drawer */

/* START_SNIPPET:section.collection-feed (INDEX:181) */
:root {
    --section-collection-feed-control-bar-background: #fff;
    --section-collection-feed-sticky-offset: 24px;
    --section-collection-feed-sticky-border-color: #000;
  }

  .collection-feed {
    --_control-bar-background: var(--section-collection-feed-control-bar-background);
    --_control-bar-sticky-offset: var(--section-collection-feed-sticky-offset);
    --_control-bar-sticky-border-color: var(--section-collection-feed-sticky-border-color);

    display: block;
  }

  .collection-feed__sidebar {
    --element-text-font-size--body-md: var(--element-text-font-size--body-sm);
    --element-input-font-size: var(--element-text-font-size--body-md);
  }

  .collection-feed__active-filters {
    border-width: 0;
    border-style: var(--element-accordion-border-style);
    border-block-end-width: var(--element-accordion-border-width);
    border-block-end-color: color-mix(in srgb, var(--element-accordion-color-primary) var(--element-accordion-shade-border), transparent);
    padding-block-end: var(--size-3);
  }

  .collection-feed__control-bar {
    --element-button-icon-size: 1.5em;

    background-color: var(--_control-bar-background);
    padding-block: var(--size-2);
    transition: 0.3s ease-in-out;
    transition-property: padding-block;
    margin-block-end: calc(var(--gap-size-sm) - var(--size-2));

    &[data-sticky='stuck'] {
      padding-inline: var(--_control-bar-sticky-offset);
      padding-block: 0;
      z-index: 3;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0;
      border-bottom: 1px solid var(--_control-bar-sticky-border-color);
    }
  }

  .collection-feed__sort-layout-controls {
    display: flex;
    align-items: center;
    gap: var(--size-2);
  }

  .collection-feed__count {
    display: none;
    opacity: 0.7;
  }
  .collection-feed__view-buttons {
    --element-button-padding-block: var(--size-1);
    --element-button-padding-inline: var(--size-1);
    --element-icon-stroke-width: 1px;

    display: none;
  }

  .collection-feed__view-button {
    --element-icon-opacity: 0.5;
  }

  .collection-feed--feed-view-standard [data-feed-view='standard'],
  .collection-feed--feed-view-compact [data-feed-view='compact'],
  .collection-feed--feed-view-list [data-feed-view='list'] {
    --element-icon-opacity: 1;
  }
/* END_SNIPPET:section.collection-feed */

/* START_SNIPPET:section.slideshow (INDEX:182) */
@keyframes slide-fade-y {
    0% {
      opacity: 0;
      transform: translateY(var(--slide-fade-translate-y, 30px));
    }

    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes countdown {
    from {
      stroke-dashoffset: 22px;
    }

    to {
      stroke-dashoffset: 0;
    }
  }

  .slideshow {
    --autoplay-interval: 8s;
    --slide-text-color: #fff;
    --slide-fade-translate-y: 30px;

    position: relative;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: var(--size-16);
  }

  .slideshow--flex-spacing.slideshow {
    margin-top: 0;
  }

  .slideshow-slide__content-desktop a,
  .slideshow-slide__content-mobile a {
    color: var(--color-links);
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: color 0.1s linear;
  }

  .slideshow-slide__content-desktop a:hover,
  .slideshow-slide__content-mobile a:hover,
  .slideshow-slide__content-desktop a:focus,
  .slideshow-slide__content-mobile a:focus {
    color: var(--color-link-hover);
  }

  [data-scroll-class] {
    opacity: 0;
    animation-delay: 0.2s;
  }

  .slideshow__wrapper {
    display: flex;
    overflow: hidden;
  }

  .slideshow--single-slide .slideshow__wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  .slideshow-slide {
    flex-shrink: 0;
    width: 100%;
  }

  .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform;
  }

  /* Slide element animation */
  .slide-element {
    --slide-fade-translate-y: 30px;

    animation: slide-fade-y 0.75s cubic-bezier(0.4, 0, 0.2, 1) both paused;
    animation-delay: calc(100ms + 50ms * var(--slide-index, 0) + 100ms * var(--slide-element-index, 0));
  }

  .slideshow--text-animation-none .slide-element {
    opacity: 1 !important;
    animation: none !important;
  }

  /* stylelint-disable selector-class-pattern */
  .slideshow--text-animation-fadeIn .slide-element {
    --slide-fade-translate-y: 0px;
  }

  .slideshow--text-animation-fadeInUp .slide-element {
    --slide-fade-translate-y: 30px;
  }

  .slideshow--text-animation-fadeInDown .slide-element {
    --slide-fade-translate-y: -30px;
  }
  /* stylelint-enable selector-class-pattern */

  .slide {
    opacity: 1;
  }

  /* Slide animation playback control */
  .slideshow--animate .slide-element {
    animation-play-state: running;
  }

  .slide--active .slide-element {
    animation-play-state: running;
  }

  .shopify-section:first-child .slideshow {
    margin-top: 0;
  }

  .slideshow--width-content {
    max-width: 1400px;
    padding-right: var(--size-1-5);
    padding-left: var(--size-1-5);
    margin-right: auto;
    margin-left: auto;
  }

  .slideshow--width-standard {
    width: 95%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  .slideshow-slide__image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .slideshow-slide__content-background-link {
    color: var(--slide-text-color);
    text-decoration: none;
  }

  .slideshow-slide__background-link:focus::before {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    content: '';
    border: 2px solid var(--slide-text-color, #fff);
  }

  .slideshow-slide__content {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 80%;
    padding: var(--size-4);
    color: var(--slide-text-color);
    text-align: center;
    transform: translate(-50%, -50%);
    transition: none !important;
  }

  .slideshow-slide__content--mobile-left {
    text-align: left;
  }

  .slideshow-slide__content--mobile-center {
    text-align: center;
  }

  .slideshow-slide__content--mobile-right {
    text-align: right;
  }

  .slideshow-slide__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .slideshow-slide__overlay {
    position: absolute;
    inset: 0;
  }

  .slideshow--content-hidden .slideshow-slide__content {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .slideshow-slide__content-desktop {
    display: none;
  }

  .slideshow-slide__content-mobile {
    display: block;
  }

  .slideshow-slide__heading {
    margin-top: 0;
    margin-bottom: var(--size-2-5);
    font-family: var(--heading-font-family);
    font-size: var(--text-size-6-5);
    font-style: var(--heading-font-style);
    font-weight: var(--heading-font-weight);
    line-height: var(--line-height-md);
    letter-spacing: var(--heading-letter-spacing);
    word-wrap: break-word;
  }

  .slideshow-slide__subheading {
    margin-top: var(--size-3);
    margin-bottom: var(--size-2-5);
    font-family: var(--subheading-font-family);
    font-size: var(--text-size-4);
    line-height: var(--line-height-lg);
    word-wrap: break-word;
  }

  .slideshow-slide__preheading {
    margin-top: var(--size-3);
    margin-bottom: var(--size-2-5);
    font-family: var(--subheading-font-family);
    font-size: var(--text-size-4);
    line-height: var(--line-height-lg);
    word-wrap: break-word;
  }

  /* Base button styles */
  .slideshow-slide__button {
    display: inline-block;
    padding: var(--size-2-5) var(--size-4);
    margin: var(--size-5) var(--size-1-5) 0;
    font-family: var(--button-font-family);
    font-size: var(--body-sm-font-size);
    font-weight: var(--font-weight-700);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--radius-xs);
    transition: all 0.2s ease;
  }

  .slideshow-slide__button:hover,
  .slideshow-slide__button:focus {
    outline: none;
  }

  .slideshow-slide__button:focus,
  .slideshow-slide__button:focus:hover {
    box-shadow:
      0 0 0 2px var(--color-secondary),
      0 0 0 5px rgb(17 153 255 / 40%),
      0 3px 8px var(--color-border-softer);
  }

  .slideshow-slide__button:not(.disabled):hover {
    box-shadow: 0 3px 8px var(--color-border-softer);
  }

  .slideshow-slide__button--primary {
    color: var(--color-button-text);
    background-color: var(--color-button-background);
    border: 1px solid var(--color-button-background);
  }

  .slideshow-slide__button--primary:active {
    background: var(--color-button-background-focus);
    border: 1px solid var(--color-button-background-focus);
  }

  .slideshow-slide__button--primary.disabled,
  .slideshow-slide__button--primary:disabled {
    color: var(--color-button-text);
    cursor: default;
    background-color: var(--color-button-disable);
    border: 1px solid var(--color-button-disable);
  }

  .slideshow-slide__button--primary:not(.disabled):hover {
    background: var(--color-button-background-hover);
    border: 1px solid var(--color-button-background-hover);
  }

  .slideshow-slide__button--secondary {
    color: var(--color-button-secondary-text);
    background-color: var(--color-button-secondary-background);
    border: 1px solid var(--color-button-secondary-border);
  }

  .slideshow-slide__button--secondary:active {
    background-color: var(--color-button-secondary-background-focus);
    border-color: var(--color-button-secondary-border);
  }

  .slideshow-slide__button--secondary.disabled,
  .slideshow-slide__button--secondary:disabled {
    color: rgb(255 255 255 / 50%);
    cursor: default;
    background-color: transparent;
    border: 1px solid rgb(255 255 255 / 30%);
  }

  .slideshow-slide__button--secondary:not(.disabled):hover {
    background: var(--color-button-secondary-background-hover);
    border: 1px solid var(--color-button-secondary-border-hover);
  }

  /* stylelint-disable */
  .slideshow-slide__button-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    width: 100%;
  }

  .slideshow-slide__button-wrapper .slideshow-slide__button {
    flex: 1 1 0;
  }

  .slideshow-slide__button--button--primary,
  .slideshow-slide__button--button--secondary,
  .slideshow-slide__button--button--link-style {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--button-font-weight);
    letter-spacing: var(--button-letter-spacing);
    text-transform: var(--button-font-capitalization);
    font-style: var(--button-font-style);
    box-sizing: border-box;
    margin: var(--size-2) 0 0 0 !important;
  }

  .slideshow-slide__button--button--primary {
    font-size: var(--button-primary-font-size) !important;
    line-height: var(--button-primary-line-height);
    border-radius: var(--button-primary-border-radius);
    height: auto;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    transition: all var(--button-transition-speed) ease-in-out;
    padding: calc(0.375em - 1px) 1em !important;
    color: var(--button-primary-text-color);
    background-color: var(--button-primary-bg-color);
    border: 1px solid var(--button-primary-border-color);
  }

  .slideshow-slide__button--button--primary:hover,
  .slideshow-slide__button--button--primary:focus {
    color: var(--button-primary-text-color-highlight);
    background-color: var(--button-primary-bg-color-highlight);
    border: 1px solid var(--button-primary-border-color-highlight);
  }

  .slideshow-slide__button--button--secondary {
    font-size: var(--button-secondary-font-size) !important;
    line-height: var(--button-secondary-line-height);
    border-radius: var(--button-secondary-border-radius);
    height: auto;
    max-width: 100%;
    white-space: normal;
    transition: all var(--button-transition-speed) ease-in-out;
    padding: calc(0.375em - 1px) 1em !important;
    color: var(--button-secondary-text-color);
    background-color: var(--button-secondary-bg-color);
    border: 1px solid var(--button-secondary-border-color);
  }

  .slideshow-slide__button--button--secondary:hover,
  .slideshow-slide__button--button--secondary:focus {
    color: var(--button-secondary-text-color-highlight);
    background-color: var(--button-secondary-bg-color-highlight);
    border: 1px solid var(--button-secondary-border-color-highlight);
  }

  .slideshow-slide__button--button--link-style {
    border: none;
    border-bottom: var(--button-link-underline-thickness) var(--button-link-underline-style);
    border-radius: 0;
    font-size: var(--button-link-style-font-size) !important;
    line-height: var(--button-link-style-line-height);
    padding: 0 !important;
    height: auto;
    max-width: 100%;
    white-space: normal;
    background: transparent;
    transition: all var(--button-transition-speed) linear;
    text-align: center;
    color: var(--button-link-text-color);
    border-bottom-color: var(--button-link-text-color);
  }

  .slideshow-slide__button--button--link-style:hover,
  .slideshow-slide__button--button--link-style:focus {
    color: var(--button-link-text-color-highlight);
    border-bottom-color: var(--button-link-text-color-highlight) !important;
    background: transparent;
    box-shadow: none !important;
  }

  @media screen and (max-width: 480px) {
    .slideshow-slide__button-wrapper {
      flex-direction: column;
      width: 100%;
      gap: 10px;
    }

    .slideshow-slide__button-wrapper .slideshow-slide__button {
      width: 100%;
    }
  }
  /* stylelint-enable selector-class-pattern */

  /* Styling for when the grab cursor is enabled */
  .slideshow--grab-cursor .slideshow-slide {
    cursor: grab;
  }

  .slideshow--grab-cursor .slideshow-slide:active {
    cursor: grabbing;
  }

  .slideshow--grab-cursor .slideshow-slide__content-background-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    text-decoration: none;
    display: block;
  }

  .slideshow--grab-cursor .slideshow-slide__button,
  .slideshow--grab-cursor .slideshow-slide__content a:not(.slideshow-slide__content-background-link),
  .slideshow--grab-cursor .slideshow-slide__content button {
    position: relative;
    z-index: 10;
    pointer-events: auto;
  }

  .slideshow--grab-cursor .slideshow-slide__preheading a,
  .slideshow--grab-cursor .slideshow-slide__heading a,
  .slideshow--grab-cursor .slideshow-slide__subheading a {
    position: relative;
    z-index: 10;
    pointer-events: auto;
  }

  /* Pagination styles */
  .slideshow-pagination {
    position: absolute;
    display: flex;
    justify-content: center;
    padding: 0 !important;
    list-style: none;
  }

  .slideshow--pagination-color .slideshow-pagination__button {
    background-color: var(--pagination-color) !important;
  }

  .slideshow-pagination__dot {
    margin: 0;
  }

  .slideshow-pagination__button {
    display: inline-block;
    width: 7px;
    height: 7px;
    padding: 0;
    margin: 0 7.5px;
    cursor: pointer;
    outline: none;
    background-color: var(--slide-text-color, #fff) !important;
    border: none;
    border-radius: 50%;
    opacity: 0.25;
    transition:
      transform 300ms cubic-bezier(0.4, 0, 0.2, 1),
      opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }

  .slideshow-pagination__button:focus-visible {
    outline: 2px solid var(--slide-text-color, #fff);
    outline-offset: 2px;
  }

  .slideshow-pagination__button[data-selected='true'],
  .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.25);
  }

  /* Base navigation arrow styles for all types */
  .slideshow .swiper-button-prev,
  .slideshow .swiper-button-next {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    padding: 5px;
    margin-top: 0;
    color: var(--slide-text-color);
    cursor: pointer;
    background-color: transparent;
  }

  .slideshow .swiper-button-prev {
    right: auto;
    left: 35px;
  }

  .slideshow .swiper-button-next {
    right: 35px;
    left: auto;
  }

  .slideshow .swiper-button-prev:disabled,
  .slideshow .swiper-button-next:disabled {
    cursor: default;
    opacity: 0.25;
  }

  .slideshow .swiper-button-prev::after,
  .slideshow .swiper-button-next::after {
    content: '';
  }

  /* Normal arrow style */
  .slideshow--arrow-style-normal .swiper-button-prev {
    opacity: 0;
    transform: translate(-10px, -50%);
  }

  .slideshow--arrow-style-normal .swiper-button-next {
    opacity: 0;
    transform: translate(10px, -50%);
  }

  .slideshow--arrow-style-normal .swiper-button-prev::before,
  .slideshow--arrow-style-normal .swiper-button-next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 22px;
    height: 22px;
    content: '';
    border-color: var(--slide-text-color);
    border-style: solid;
    border-width: 2px 2px 0 0;
    transition: transform 0.2s ease;
  }

  .slideshow--arrow-style-normal .swiper-button-prev::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .slideshow--arrow-style-normal .swiper-button-next::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .slideshow--arrow-style-normal .swiper-button-prev:hover::before {
    transform: translate(-30%, -50%) rotate(-135deg) scale(1.2);
  }

  .slideshow--arrow-style-normal .swiper-button-next:hover::before {
    transform: translate(-70%, -50%) rotate(45deg) scale(1.2);
  }

  /* Circle arrow style */
  .slideshow--arrow-style-circle .swiper-button-prev,
  .slideshow--arrow-style-circle .swiper-button-next {
    top: auto;
    bottom: 25px;
    z-index: 100;
    width: 44px;
    height: 44px;
    pointer-events: auto;
    background: hsla(0, 0%, 100%, 0.75);
    border-radius: 50%;
    opacity: 1;
    transition: background-color 0.3s ease-in-out;
  }

  .slideshow--arrow-style-circle .swiper-button-prev {
    left: 35px;
    transform: translateY(0);
  }

  .slideshow--arrow-style-circle .swiper-button-next {
    right: 35px;
    transform: translateY(0);
  }

  .slideshow--arrow-style-circle .swiper-button-prev svg,
  .slideshow--arrow-style-circle .swiper-button-next svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
  }

  .slideshow--arrow-style-circle .swiper-button-prev svg .arrow,
  .slideshow--arrow-style-circle .swiper-button-next svg .arrow {
    fill: #333;
  }

  .slideshow--arrow-style-circle .swiper-button-prev:hover,
  .slideshow--arrow-style-circle .swiper-button-next:hover {
    background-color: #fff;
  }

  .slideshow--arrow-style-circle .slideshow-pagination {
    pointer-events: none;
  }

  .slideshow--arrow-style-circle .slideshow-pagination__button {
    pointer-events: auto;
  }

  /* Animation only for normal style */
  .slideshow--animate.slideshow--arrow-style-normal .swiper-button-prev,
  .slideshow--animate.slideshow--arrow-style-normal .swiper-button-next {
    opacity: 1;
    transform: translate(0, -50%);
    transition:
      opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 0.4s;
  }

  .slideshow .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
  }

  .circle-timer {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
  }

  .circle-timer__svg {
    display: block;
    width: 14px;
    height: 14px;
    transform: rotateZ(270deg);
  }

  .circle-timer__background {
    opacity: 0.4;
    fill: none;
    stroke: var(--slide-text-color);
    stroke-width: 2px;
    stroke-linecap: round;
    stroke-dasharray: 22px; /* Circumference of the circle */
  }

  .circle-timer__countdown {
    fill: none;
    stroke: var(--slide-text-color);
    stroke-width: 2px;
    stroke-linecap: round;
    stroke-dasharray: 22px; /* Circumference of the circle */
    animation: countdown var(--autoplay-interval) linear infinite;
  }

  /* Styles related to autoplay. */
  [data-autoplay='true'] .slideshow-pagination__button {
    background-color: var(--slide-text-color, #fff);
    opacity: 0.25;
  }

  /* Hide the timer when autoplay is disabled. */
  [data-autoplay='false'] .circle-timer {
    display: none !important;
  }

  /* When autoplay is paused. */
  [data-autoplay-active='false'] .circle-timer,
  [data-autoplay-active='false'] .circle-timer__svg,
  [data-autoplay-active='false'] .circle-timer__background,
  [data-autoplay-active='false'] .circle-timer__countdown {
    display: none !important;
  }

  /* Support for themes that don't have the timer animation. */
  .slideshow--timer-disabled .circle-timer {
    display: none !important;
  }

  /* Hide the timer for inactive dots. */
  .slideshow-pagination__button:not([data-selected='true']) .circle-timer,
  .slideshow-pagination__button:not(.swiper-pagination-bullet-active) .circle-timer {
    display: none !important;
  }

  /* Dot style when autoplay is active. */
  [data-autoplay='true'][data-autoplay-active='true'] .slideshow-pagination__button[data-selected='true'],
  [data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active {
    background-color: transparent !important;
    opacity: 1;
  }

  /* Dot style when autoplay is paused */
  [data-autoplay='true'][data-autoplay-active='false'] .slideshow-pagination__button[data-selected='true'],
  [data-autoplay='true'][data-autoplay-active='false'] .swiper-pagination-bullet-active {
    background-color: var(--slide-text-color, #fff);
    opacity: 1;
  }

  /* Support for themes that don't have the timer animation. */
  .slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true']
    .slideshow-pagination__button[data-selected='true'],
  .slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active {
    background-color: var(--pagination-color, #fff) !important;
    opacity: 1;
  }

  /* Pause animation on hover */
  [data-autoplay='true'][data-hover='true'] .circle-timer__countdown {
    animation-play-state: paused !important;
  }

  /* Fit screen height */

  /* Desktop with first-child */
  .slideshow--height-fit-screen.slideshow--section:first-child .slideshow-slide__image-wrapper {
    height: calc(100vh - var(--header-height, 0px));
  }

  @media screen and (width >= 1024px) {
    .slideshow {
      margin-top: var(--size-20);
    }

    .slideshow--width-content {
      padding-right: 25px;
      padding-left: 25px;
    }

    .slideshow-slide__button {
      padding: var(--size-3-5) var(--size-7);
      margin-top: var(--size-7-5);
      font-size: var(--text-size-5);
    }
  }
/* END_SNIPPET:section.slideshow */

/* START_SNIPPET:style.normalize (INDEX:204) */
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */

  /*
  Document
  ========
  */

  /**
  Use a better box model (opinionated).
  */

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

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the line height in all browsers.
  3. Prevent adjustments of font size after orientation changes in iOS.
  4. Use a more readable tab size (opinionated).
  */

  html {
    font-family:
      system-ui,
      'Segoe UI',
      Roboto,
      Helvetica,
      Arial,
      sans-serif,
      'Apple Color Emoji',
      'Segoe UI Emoji'; /* 1 */
    line-height: 1.15; /* 2 */
    -webkit-text-size-adjust: 100%; /* 3 */
    tab-size: 4; /* 4 */
  }

  /*
  Sections
  ========
  */

  /**
  Remove the margin in all browsers.
  */

  body {
    margin: 0;
  }

  /*
  Text-level semantics
  ====================
  */

  /**
  Add the correct font weight in Chrome and Safari.
  */

  b,
  strong {
    font-weight: bolder;
  }

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the odd 'em' font sizing in all browsers.
  */

  code,
  kbd,
  samp,
  pre {
    font-family:
      ui-monospace,
      SFMono-Regular,
      Consolas,
      'Liberation Mono',
      Menlo,
      monospace; /* 1 */
    font-size: 1em; /* 2 */
  }

  /**
  Add the correct font size in all browsers.
  */

  small {
    font-size: 80%;
  }

  /**
  Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
  */

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /*
  Tabular data
  ============
  */

  /**
  Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
  */

  table {
    border-color: currentcolor;
  }

  /*
  Forms
  =====
  */

  /**
  1. Change the font styles in all browsers.
  2. Remove the margin in Firefox and Safari.
  */

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }

  /**
  Correct the inability to style clickable types in iOS and Safari.
  */

  button,
  [type='button'],
  [type='reset'],
  [type='submit'] {
    -webkit-appearance: button;
  }

  /**
  Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
  */

  legend {
    padding: 0;
  }

  /**
  Add the correct vertical alignment in Chrome and Firefox.
  */

  progress {
    vertical-align: baseline;
  }

  /**
  Correct the cursor style of increment and decrement buttons in Safari.
  */

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /**
  1. Correct the odd appearance in Chrome and Safari.
  2. Correct the outline style in Safari.
  */

  [type='search'] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }

  /**
  Remove the inner padding in Chrome and Safari on macOS.
  */

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
  1. Correct the inability to style clickable types in iOS and Safari.
  2. Change font properties to 'inherit' in Safari.
  */

  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }

  /*
  Interactive
  ===========
  */

  /*
  Add the correct display in Chrome and Safari.
  */

  summary {
    display: list-item;
  }
/* END_SNIPPET:style.normalize */

/* START_SNIPPET:style.primitive-tokens (INDEX:205) */
:root {
    /* Core Sizes */
    --size-0-25: 0.0625rem; /* 1px */
    --size-0-5: 0.125rem; /* 2px */
    --size-1: 0.25rem; /* 4px */
    --size-1-5: 0.375rem; /* 6px */
    --size-2: 0.5rem; /* 8px */
    --size-2-5: 0.625rem; /* 10px */
    --size-3: 0.75rem; /* 12px */
    --size-3-5: 0.875rem; /* 14px */
    --size-4: 1rem; /* 16px */
    --size-4-5: 1.125rem; /* 18px */
    --size-5: 1.25rem; /* 20px */
    --size-5-5: 1.375rem; /* 22px */
    --size-6: 1.5rem; /* 24px */
    --size-6-5: 1.625rem; /* 26px */
    --size-7: 1.75rem; /* 28px */
    --size-7-5: 1.875rem; /* 30px */
    --size-8: 2rem; /* 32px */
    --size-8-5: 2.125rem; /* 34px */
    --size-9: 2.25rem; /* 36px */
    --size-9-5: 2.375rem; /* 38px */
    --size-10: 2.5rem; /* 40px */
    --size-11: 2.75rem; /* 44px */
    --size-12: 3rem; /* 48px */
    --size-14: 3.5rem; /* 56px */
    --size-16: 4rem; /* 64px */
    --size-18: 4.5rem; /* 72px */
    --size-20: 5rem; /* 80px */
    --size-24: 6rem; /* 96px */
    --size-28: 7rem; /* 112px */
    --size-32: 8rem; /* 128px */

    /* Text Sizes */
    --text-size-2: 0.5rem; /* 8px */
    --text-size-2-5: 0.625rem; /* 10px */
    --text-size-3: 0.75rem; /* 12px */
    --text-size-3-5: 0.875rem; /* 14px */
    --text-size-4: 1rem; /* 16px */
    --text-size-4-5: 1.125rem; /* 18px */
    --text-size-5: 1.25rem; /* 20px */
    --text-size-5-5: 1.375rem; /* 22px */
    --text-size-6: 1.5rem; /* 24px */
    --text-size-6-5: 1.625rem; /* 26px */
    --text-size-7: 1.75rem; /* 28px */
    --text-size-7-5: 1.875rem; /* 30px */
    --text-size-8: 2rem; /* 32px */
    --text-size-8-5: 2.125rem; /* 34px */
    --text-size-9: 2.25rem; /* 36px */
    --text-size-9-5: 2.375rem; /* 38px */
    --text-size-10: 2.5rem; /* 40px */
    --text-size-11: 2.75rem; /* 44px */
    --text-size-12: 3rem; /* 48px */
    --text-size-14: 3.5rem; /* 56px */
    --text-size-16: 4rem; /* 64px */
    --text-size-18: 4.5rem; /* 72px */
    --text-size-20: 5rem; /* 80px */
    --text-size-24: 6rem; /* 96px */
    --text-size-28: 7rem; /* 112px */
    --text-size-32: 8rem; /* 128px */

    /* Line */
    --line-size-none: 0px;
    --line-size-xs: 0.5px;
    --line-size-sm: 1px;
    --line-size-md: 2px;
    --line-size-lg: 4px;
    --line-size-xl: 8px;

    /* Gap */
    --gap-size-none: 0px;
    --gap-size-3xs: var(--size-0-5);
    --gap-size-2xs: var(--size-1);
    --gap-size-xs: var(--size-2);
    --gap-size-sm: var(--size-4);
    --gap-size-md: var(--size-8);
    --gap-size-lg: var(--size-12);
    --gap-size-xl: var(--size-16);
    --gap-size-2xl: var(--size-24);

    /* Radius */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-none: 0px;
    --radius-full: 999px;

    /* Dropshadow */
    --shadow-none: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    --shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.08);
    --shadow-md: 0px 2px 4px -1px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0px 8px 16px -4px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0px 16px 32px -6px rgba(0, 0, 0, 0.12);
    --shadow-2xl: 0px 16px 64px -12px rgba(0, 0, 0, 0.22);

    /* Font Weights */
    --font-weight-100: 100;
    --font-weight-200: 200;
    --font-weight-300: 300;
    --font-weight-400: 400;
    --font-weight-500: 500;
    --font-weight-600: 600;
    --font-weight-700: 700;
    --font-weight-800: 800;
    --font-weight-900: 900;

    /* Letter Spacings */
    --letter-space-2xs: -0.05em;
    --letter-space-xs: -0.03em;
    --letter-space-sm: -0.015em;
    --letter-space-md: 0em;
    --letter-space-lg: 0.015em;
    --letter-space-xl: 0.03em;
    --letter-space-2xl: 0.05em;
    --letter-space-3xl: 0.08em;
    --letter-space-4xl: 0.12em;

    /* Line Heights */
    --line-height-2xs: 0.9;
    --line-height-xs: 1;
    --line-height-sm: 1.1;
    --line-height-md: 1.2;
    --line-height-lg: 1.5;
    --line-height-xl: 1.7;
    --line-height-2xl: 2;

    /* Color Shades */
    --shade-0: 0%;
    --shade-4: 4%;
    --shade-8: 8%;
    --shade-12: 12%;
    --shade-16: 16%;
    --shade-20: 20%;
    --shade-30: 30%;
    --shade-40: 40%;
    --shade-50: 50%;
    --shade-60: 60%;
    --shade-70: 70%;
    --shade-80: 80%;
    --shade-90: 90%;
    --shade-100: 100%;
  }
/* END_SNIPPET:style.primitive-tokens */