@layer reset, base, layout, components, typography, utilities;

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

  body,
  h1,
  h2,
  h3,
  h4,
  p,
  ul,
  ol,
  li,
  figure,
  figcaption,
  blockquote,
  dl,
  dd,
  img,
  picture,
  video {
    margin: 0;
  }

  a {
    color: inherit;
    text-decoration: none;

    &:not([class]) {
      text-decoration-skip-ink: auto;
    }
  }

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

  input,
  button,
  textarea,
  select {
    font: inherit;
  }

  address {
    font-style: normal;
  }

  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
    }
  }
}

@layer base {
  html {
    scrollbar-gutter: stable;

    &:focus-within {
      scroll-behavior: smooth;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    html:focus-within {
      scroll-behavior: auto;
    }
  }

  body {
    -webkit-text-size-adjust: 100%;
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    .shopify-section-header,
    .shopify-section-footer {
      flex: none;
    }

    .content-for-layout {
      flex: 1;
    }

    &.template-gift-card {
      display: block;
      min-height: 0;
    }

    &:not(.is-tabbable) {
      a[href],
      button:not([disabled]),
      input:not([disabled]):not([type='hidden']),
      select:not([disabled]),
      textarea:not([disabled]),
      iframe,
      details,
      summary,
      [tabindex],
      [contenteditable='true'] {
        &:focus {
          outline: 0;
        }
      }
    }

    &:has(dialog:is(.drawer, .modal)[open], :is(.drawer, .modal)[popover]:popover-open) {
      overflow: hidden;
    }
  }

  /**
   * Forms.
   */
  input,
  textarea,
  select {
    background-color: transparent;
    border: 1px solid currentColor;
    border-radius: 0;
    color: currentColor;
    padding-block: var(--spacing-12);
    padding-inline: var(--spacing-12);
    vertical-align: middle;
    width: 100%;

    &::placeholder {
      color: currentColor;
    }

    &[type='checkbox'],
    &[type='radio'] {
      cursor: pointer;
      padding: 0;
      width: auto;

      &:disabled {
        cursor: not-allowed;
        opacity: 0.5;

        & + label {
          cursor: not-allowed;
          opacity: 0.5;
        }
      }
    }

    &[type='checkbox'],
    &[type='radio'].as-checkbox {
      appearance: none;
      border: 1px solid currentColor;
      height: 18px;
      position: relative;
      width: 18px;

      &:checked {
        background-color: currentColor;

        &::before {
          background-color: var(--color-white);
          content: '';
          height: 90%;
          left: 50%;
          mask-image: url('data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiBpY29uX19jaGVjayIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik0yMSA2LjI4NUw5Ljg0IDE5LjAxOEwzIDEzTDQuMzE5IDExLjUxTDkuNjYgMTYuMTk2TDE5LjUyNSA1TDIxIDYuMjg1WiIgLz4KPC9zdmc+');
          position: absolute;
          top: 50%;
          transform: translate(-50%, -50%);
          width: 90%;
        }
      }
    }

    &[type='radio'] {
      appearance: none;
      border: 1px solid currentColor;
      height: 12px;
      position: relative;
      width: 12px;

      &:checked::before {
        background-color: currentColor;
        content: '';
        display: block;
        height: 68%;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 68%;
      }
    }

    &.input-small {
      font-size: var(--font-size-small);
      min-height: var(--button-height-small);
      padding-block: var(--spacing-4);
      padding-inline: var(--spacing-8);

      @supports (-webkit-touch-callout: none) {
        font-size: var(--font-size-medium);
      }
    }
  }

  :is(input[type='checkbox'], input[type='radio']).bracket-checkbox {
    border: none;
    height: 10px;
    margin: 0;
    position: relative;
    width: 18px;

    &::after {
      background-color: currentColor;
      content: '';
      mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxMSIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE5IDExIj4KICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTUuNTE2IDBoMi42ODh2MTAuOGgtMi42ODh2LS45MjRoMS42MzJWLjkyNGgtMS42MzJ6TTAgMGgyLjY4OHYuOTI0SDEuMDU2djguOTUyaDEuNjMydi45MjRIMHoiLz4KPC9zdmc+Cg==');
      mask-size: 100% 100%;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
    }

    &:checked {
      background: none;

      &::before {
        background-color: currentColor;
        height: 7px;
        mask-image: none;
        width: 7px;
      }
    }
  }

  select {
    appearance: none;
    background-image: var(--chevron-down-icon);
    background-position: calc(100% - var(--spacing-16)) center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-inline-end: var(--spacing-48);
  }

  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .form-group {
    display: grid;
    gap: var(--spacing-16);
    grid-template-columns: repeat(2, minmax(0, 1fr));

    & > * {
      grid-column: 1 / -1;
    }

    & > .button {
      place-self: start;
    }

    .form-group-half {
      grid-column: auto;
    }
  }

  .form-field {
    &:has(input[type='checkbox']:not(.visually-hidden), input[type='radio']:not(.visually-hidden)) {
      align-items: center;
      display: flex;
      gap: var(--spacing-12);

      input {
        flex-shrink: 0;
        margin: 0;
      }

      label {
        margin-block-end: 0;
      }
    }
  }

  label,
  legend,
  .label {
    display: block;
    margin-block-end: var(--spacing-8);
  }

  /**
   * Tables.
   */
  table {
    border-collapse: collapse;
    overflow-y: auto;
    table-layout: fixed;
    text-align: left;
    width: 100%;

    thead {
      background-color: var(--color-border);
    }

    th,
    td {
      border: 1px solid var(--color-border);
      padding-block: var(--spacing-8);
      padding-inline: var(--spacing-8);
    }
  }

  @media (min-width: 1024px) {
    table th,
    table td {
      padding-block: var(--spacing-12);
      padding-inline: var(--spacing-12);
    }
  }

  table th,
  .th {
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-medium);
  }

  @media (min-width: 1024px) {
    table th,
    .th {
      font-size: var(--font-size-medium);
    }
  }

  /**
   * Lists.
   */
  ul,
  ol {
    padding-inline-start: var(--spacing-24);
  }
}

@layer components {
  /**
   * Shopify elements.
   */
  shopify-accelerated-checkout {
    --shopify-accelerated-checkout-button-block-size: var(--button-height);
  }

  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: var(--button-height);
    --shopify-accelerated-checkout-button-border-radius: var(--button-border-radius);
  }

  .shopify-payment-button__more-options {
    font-size: var(--font-size-small) !important;
  }

  /**
   * Custom elements.
   */
  video-element {
    display: contents;
  }

  /**
   * Pagination.
   */
  .pagination {
    align-items: center;
    display: flex;
    gap: var(--spacing-12);
    justify-content: center;
    margin-block: var(--spacing-32);

    &:empty {
      display: none;
    }

    .page {
      &.current {
        font-weight: var(--font-weight-bold);
      }
    }
  }

  /**
   * States and messaging.
   */
  .errors {
    color: var(--color-cherry-red);

    ul {
      display: flex;
      flex-direction: column;
      font-size: var(--font-size-small);
      gap: var(--spacing-8);
      list-style: none;
      margin-block-end: var(--spacing-16);
      padding: 0;
    }
  }

  .error {
    color: var(--color-cherry-red);
  }

  .success {
    color: var(--color-filthy-olive);
    margin-block-end: var(--spacing-16);
  }

  /**
   * Icons.
   */
  .icon {
    --size: 24px;
    display: inline-block;
    fill: currentColor;
    height: var(--size);
    vertical-align: middle;
    width: var(--size);
  }

  .icon__arrow-long {
    width: 30px;
    height: 10px;
  }

  /**
   * Images.
   */
  .image {
    background-color: var(--color-filthy-white-tint);
    color: transparent;
  }

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

  .image-square {
    aspect-ratio: 1;
  }

  .image-container {
    background-color: var(--color-filthy-white-tint);
    position: relative;
    z-index: 0;

    .image-container__hover {
      inset: 0;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }

    .image-container__badges {
      left: var(--spacing-8);
      position: absolute;
      top: var(--spacing-8);
      z-index: 2;
    }

    @media (hover: hover) {
      &:hover {
        .image-container__hover {
          opacity: 1;
        }
      }
    }
  }

  /**
   * Buttons.
   */
  .button,
  .shopify-payment-button
  /** triple selector to improve specificity */
  .shopify-payment-button__button--unbranded.shopify-payment-button__button--unbranded.shopify-payment-button__button--unbranded,
  .bh-sl-container button {
    /**
     * Resets button defaults.
     */
    background: none;
    border: 0;
    color: inherit;
    padding: 0;

    /**
     * Button styles.
     */
    align-items: center;
    background: none;
    background-color: var(--button-background-color, var(--color-black));
    border: var(--button-border, 0);
    border-radius: var(--button-border-radius);
    color: inherit;
    color: var(--button-color, var(--color-white));
    cursor: var(--button-cursor, pointer);
    display: inline-flex;
    font-weight: var(--font-weight-medium);
    font-size: var(--button-font-size, var(--font-size-medium));
    gap: var(--spacing-8);
    justify-content: center;
    max-width: 100%;
    min-height: var(--button-min-height, var(--button-height));
    min-width: var(--button-min-width, 188px);
    opacity: var(--button-opacity, 1);
    padding: 0;
    padding-block: var(--button-padding-block, var(--spacing-12));
    padding-inline: var(--button-padding-inline, 1.75rem);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition:
      color 0.1s ease,
      background-color 0.1s ease;
    white-space: nowrap;

    &:not([disabled], .button--no-hover):hover {
      --button-background-color: var(--color-filthy-olive);
      --button-color: var(--color-black);
    }

    &:not([disabled]):active {
      --button-background-color: var(--color-black);
      --button-color: var(--color-white);
    }

    &[disabled] {
      --button-background-color: var(--color-filthy-white);
      --button-color: var(--color-black);
      --button-cursor: not-allowed;
    }

    &.button--alt {
      --button-min-width: 0;

      &::before {
        --line-out-animation: button-alt-line-out var(--line-animation-duration, 0s) ease-out forwards;
        --line-in-animation: button-alt-line-in var(--line-animation-duration, 0s) ease-out forwards;
        animation: var(--line-out-animation);
        background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjIiIGhlaWdodD0iMTEiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMjIgMTEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yMTkuMDI5IDkuMjU0Yy4zOTktLjA5LjgxNy0uMTQ3IDEuMjU2LjAxNy41OTYuMjIzIDEuMjQxLjQzNyAxLjUyLjcyNS4wNjYuMDY5LS4xODcuMjE3LS4zOTYuMjA1LTEuNzIxLS4wOTctMy40NDguMDEyLTUuMTY3LS4xOTMtLjA5LS4wMS0uMTkzLS4wMS0uMjg5LS4wMDktMi4wMTEuMDE3LTQuMDIyLS4wMi02LjAzOS0uMTkyLTEuMjUzLjA2NC0yLjQ5My0uMTE3LTMuNzQxLS4xNS0xLjU0Mi0uMDQtMy4wODQtLjA1LTQuNjI0LS4xMTItMS40NDQtLjA1OS0yLjg5Mi0uMjE0LTQuMzI2LS4yNDItMS40NDUtLjAyNy0yLjg3My0uMTExLTQuMzA4LS4xNjctMS4zNTItLjA1MS0yLjcwMi0uMTMzLTQuMDUzLS4xODEtMi4zMTMtLjA4Mi00LjYyNy0uMTUtNi45NDItLjIyMmE1IDUgMCAwIDAtLjI4NyAwYy0xLjM1OS4wNS0yLjY0Ny0uMjU4LTQuMDEzLS4yMTUtMS4yNTIuMDQtMi40OTMtLjA1LTMuNzIyLS4yYTUgNSAwIDAgMC0uODQ1LS4wMzljLTEuMjM1LjA3OC0yLjQ5OC0uMDQtMy43NDQtLjA1Ny0zLjc2MS0uMDUtNy41MTMtLjMzNC0xMS4yNzUtLjQzLTEuMzMxLS4wMzMtMi43MDMtLjA3NC00LjAyNi0uMjUtLjM0Ni0uMDQ2LS43NTYtLjAzMy0xLjEzNC0uMDM1LS40NzgtLjAwMi0uOTU0LjAzLTEuNDMuMDEtMi4wMjItLjA4LTQuMDQ2LS4xMzMtNi4wNjYtLjIwNi0yLjAxNC0uMDczLTQuMDI3LS4yMTctNi4wNTMtLjI2Ni0xLjkzLS4wNDctMy44NjQtLjEzOC01Ljc5Ni0uMjItNC45MTktLjIxMS05Ljg0LS4zNC0xNC43NTctLjU3NS0xLjQ0Mi0uMDctMi45MDItLjA1NS00LjMyLS4yNDZhMyAzIDAgMCAwLS41NjktLjAyNWMtMS42MS4wOTYtMy4yNzQtLjA5OC00Ljg5OS0uMDY5LS45NzIuMDE4LTEuOTIyLS4wOTMtMi44MzMtLjIzNC0uMzc4LS4wNTgtLjcyMi0uMDYtMS4xMTMtLjA2LTEuOTE2LjAwMy0zLjg0LS4wMzMtNS43NzItLjEyLS43NjgtLjAzNS0xLjU0MS0uMDM3LTIuMzEtLjA0LTEuMDcxLS4wMDQtMS45MjgtLjA5OS0yLjIyNi0uNS0uMDI3LS4wMzgtLjI5NS0uMDc5LS40NjMtLjA5My0uMjY1LS4wMjMtLjM1OC4wMjItLjI5Mi4xMDguMDIyLjAzLS4wMDguMDYyLS4wMDcuMDkzIDAgLjExLS4yMTIuMTc1LS41MDIuMTcxLS43NjgtLjAwOS0xLjU0MS0uMDQtMi4zMTItLjA1OUM5MCA1LjE0OCA4OC44NCA1LjExMSA4Ny42ODggNS4xYy0uNjg2LS4wMDgtMS4zNC0uMDctMi4wMTItLjExNi0uNzYzLS4wNS0xLjExNy0uMjMtMS41MTYtLjQxLS40MjQuMTYxLS44NzYuMzA0LTEuNjUyLjI2MS0yLjk4My0uMTY1LTUuOTY2LS4xMDItOC45NTctLjMyNy0uOTM5LS4wNy0xLjkxOS0uMDItMi44OC0uMDUyLTIuNzA0LS4wOTItNS40MDktLjE5OC04LjExMi0uMzAxLS4zODQtLjAxNS0uODA1LS4wMTktMS4xNDYtLjA3NS0xLjMxNi0uMjE3LTIuNjU4LS4xNDItMy45NzEtLjE3Ni0xLjA3Mi0uMDI3LTIuMTA3LS4wNDMtMy4xNDQtLjE4M2E3IDcgMCAwIDAtMS42OTItLjA0NmMtLjczMi4wODItMS41MjIuMDMtMi4yODUtLjAwMi0zLjY2Mi0uMTU1LTcuMzIyLS4zMjYtMTAuOTg2LS40MzVhOSA5IDAgMCAxLTEuNjU4LS4xOTVBMy4yIDMuMiAwIDAgMCAzNi44NzYgM2MtMS4yODYuMTA1LTIuNjY3LjAwNy0zLjk2OC4wNzItLjg0Ny0uMTAxLTEuNjk3LS4xNzgtMi41NTgtLjExLTIuMTEtLjExMi00LjIyLS4yMi02LjMyOC0uMzM2LS40NjctLjAyNi0uOTI1LS4xODMtMS4zODQtLjEwOC0uNzMyLjEyLTEuNDY5LjAzLTIuMjM3LS4wMDUtMS42MzQtLjA3NS0zLjI3NS0uMjA1LTQuOTA3LS4xNTZhMyAzIDAgMCAxLS4yOS0uMDA4Yy0yLjc4NC0uMTc0LTUuNTc2LS4yMzktOC4zNjQtLjM2LS44NjktLjAzOC0xLjcxOS0uMDgtMi41ODEtLjA2OWE3MiA3MiAwIDAgMS0yLjU4OC0uMDA4Yy0uMzY3LS4wMDgtLjc1Mi0uMDcyLTEuMTEtLjEyNi0uMTY1LS4wMjYtLjQyLS4xLS40MDUtLjEzNC4xMzUtLjMyOC0uNDktLjY5LjEwNi0xQy40NDcuNTUzLjQ0Ni40MTYuNTUyLjNjLjI5Mi0uMzIuNzY2LS4zNzEgMS45OC0uMjE3cS4xNC4wMTcuMjc4LjAzNkwyLjc2NC4wOTVjLjA0LjIxLjA3Ni40Mi4xMTkuNjMuMDE3LjA4LjMzNC4xNDguNjM1LjEzNS4zNTQtLjAxNS43LS4wNDcgMS4wNTgtLjA0OC4xNDEtLjAwMS4zMDcuMDYxLjQ2NS4wOTZxLS4yOTEuMTE1LS41ODUuMjI3Yy0uMTc2LS4wMTYtLjM2LS4wNDgtLjUyMy0uMDQ0LS4xNjIuMDA0LS40LjAzMS0uNDMzLjA3LS4wNjUuMDc1LS4wOC4xNzIuMDA3LjI0OC4xMTcuMTAyLjY1OS4xOTQuOTEyLjE3OC4wODItLjAwNi4xOTctLjAyNS4yMS0uMDQ3LjA4My0uMTQxLjE3NC0uMjg1LS4yMTMtLjQxOWwuNTkzLS4yNGMuMjYuMDMzLjUxOC4wNzIuNzgzLjA5OC41NjcuMDU1IDEuMDE1LjE2MiAxLjM2LjMyMi0uMzk1LjA0Ni0uOTA1LS4xMi0xLjI0LjAyNy0uMDQxLjAxOC0uMDQ3LjA1LS4wMzQuMDc1LjAxLjAxOC4wOS4wNTEuMTE3LjA1LjQyNC0uMDIxLjYwMS0uMjA2IDEuMTQ1LS4xNS4wOC0uMTY3LjQyOS0uMjQ3LjkyMi0uMjE1LjUzLjAzNCAxLjA1NS4xIDEuNTY1LjE3LjM2LjA0OS42OTYuMDczIDEuMDQuMDUtLjM3OC4wMzctLjYzMy4xMTEtLjY0LjI0My0uMDA0LjA1MS4wNzQuMTQxLjE4LjE1Ny41LjA3NSAxLjAxNC4xMTYgMS40MjYtLjA2MmwtMS4wNTEtLjMzMWMtLjA0LS4wODgtLjE3Ni0uMTktLjEwNS0uMjYzLjE2LS4xNjIuNzY3LS4yMjMgMS4xNDktLjEzLjQ4LjExOC45NC4yNDYgMS4zOTkuMzczLjIyMy4wNjIuMzk0LjE1Ny42MzkuMTk0LjU0Ni4wODMuNDIzLjE3Ni4yMzguMjg3LS4xMTkuMDctLjQwNi4xNTYtLjAyMi4yMjQuMjA2LjAzNy41NDYuMDEzLjc4OC0uMDEyLjYyNC0uMDY3LjU2NS0uMjg4LjgwMy0uNDQyLjEyLS4wNzguNDktLjEwMy43My0uMDQ5LjE2NC4wMzcuMzA5LjA4NC40NjguMTI1cS4yMzYuMDYuNDc5LjExN2MxLjUyNC4wMTQgMi44OS0uMTkxIDQuNDA4LS4xODcuNTU1LS4xMzggMS4wOTkuMDIgMS42NjQuMDY2LjQ0Ny0uMDkuOTA0LS4xOCAxLjMzNC0uMjY1cTIuNDA1LjQ2NSA0LjYzMS41NzNsLjIzOC4xNzNjLjE5NS4xNDIuNTE4LjE3Ni44NTMuMDgzLjIwNS0uMDU3LjM3OC0uMTI3LjU3Ni0uMTk0LjI5Mi4wMjMuNTg4LjAzNC44Ni4wNy41MTQuMDY3LjkxMS4wNTMgMS4yODYtLjA2OWExLjc0IDEuNzQgMCAwIDEgMS4wMDkgMGMuMTQ4LjA0My4zMTQuMDkyLjQ5MS4xMTIuNTYzLjA2MS43MTQuMjAxLjg1Ny4zNjIuMTMxLjE0OC41Mi4yNDUuODQ4LjIwOC43NC0uMDgyIDEuNDk2LS4wNTMgMi4yNy0uMDA1IDEuMjkuMDggMi40NzcuMDQgMy41MDgtLjE5My4wNjQtLjAxNC4xODgtLjAwMy4yODQtLjAwNGwtLjA2Ny0uMDI4Yy4yNTYuMTQuNDk2LjI5MyAxLjEwNi4yMTYuMTcyLS4wMjEuMzMzLS4wNTQuNTEzLS4wNjYgMS4wMDctLjA2NiAxLjkwNC4wMiAyLjY1NC4yOThxLjI5NC4xMDUuNjAyLjIxMmMuNTM1LS4xNzEuOTctLjM2NSAxLjg2Ni0uMzA4LjE3NS4wMS40MjMtLjAwMy41MzQtLjAzOS45Mi0uMjk4IDIuMjYzLS4yMTQgMy4yNzItLjMxNmwxLjAzOS4yNDYtLjA0NC0uMDI5Yy0uMDkuMDgtLjE5LjE1Ny0uMjY1LjIzOS0uMDUzLjA2LjA2Ni4xMDEuMzA4LjExMy4wOS4wMDQuMjQyLjAwNS4yNi0uMDEuMTMyLS4xLjIzNS0uMjA2LjM0OC0uMzFsLS4wNTYuMDE5Yy4wOTMuMDEuMjI3LjAxMy4yNzMuMDMzLjM2NC4xNjUuNzQ0LjI4IDEuNDMuMjcyLjU2Ny0uMDA2LjY3Ni4wNTIuNzI2LjIxNi4wMTkuMDYyLS4wMzIuMTIyLS4wMTYuMTg0LjAyMi4wNzkuMzU5LjE3LjYuMTcgMS4yNDMuMDAyIDIuNDIyLS4wMTkgMy4zODctLjMuNjE4LS4xODEgMS41MzEtLjIxNyAyLjM5Ny0uMDU0LjcwNy4xMzIgMS4wNS0uMDIgMS41ODYtLjEyNC4zNzguMDcyLjc4Mi4xNzQgMS4yMjguMjI4LjU3OC4wNyAxLjIyOC0uMTAzIDEuODAzLjEyNC4zNzkuMTQ5Ljg1Ny4yNzIgMS4yOTIuNDA2LjAwMi0uMDAyLS4xOTcuMDAzLS4xOTcuMDAzbC4xNDMuMDIyYy4zODktLjAyOS43NDIuMDExIDEuMDk4LjA4NC4zNjcuMDc1Ljc0LjA4MiAxLjA0My0uMDEuNjQtLjE5MyAxLjM5Ny0uMjgyIDIuMzMtLjE5IDEuODAxLjE3NyAzLjYyMi4xMTIgNS4zMDIuMjYxbDEuMjgyLS4yNDRjLjc2OC4xMiAxLjUwNC0uMDgxIDIuMjA4LjAyOS42MTMuMDk2IDEuMjk4LjEwNCAxLjg2OS4yNjkuNTA2LjE0NiAxLjE2Ny4yMzUgMS43MTcuMzQuMTYtLjAyNi4yNzgtLjAzMy4zMTYtLjA1NS4zMTctLjE4My43MS0uMjQ3IDEuMzgtLjA5OC4yNi4wNTguNTQ0LS4wMTcuNTI3LS4xMTgtLjAxLS4wNi0uMDg5LS4xMjMtLjEtLjE4NS0uMDM4LS4xOTUuMTQ2LS4yOS40NzEtLjI1OS4zLjAyOS41LjA4NC41NjYuMTg4LjA0LjA2Mi4xMzMuMTIyLjE4Ni4xODMuMDkxLjEwNS4zNDQuMTUyLjYyMi4xOS4wODkuMDEzLjE5NS4wMjIuMjg1LjAyIDEuNDUyLS4wNDcgMi44MjkuMTE5IDQuMjExLjI5LjUyLjA2MyAxLjA2OC4wOTQgMS42MTIuMTRsLjQ3LS40NDVjLjY2NC0uMTEgMS41MzUuMDI2IDIuMTY3LS4xNC45NDctLjI1IDEuODM2LS4yIDIuNzEuMTU3LjI5NC4xMi44MjIuMTgyIDEuMjM5LjI3My41MTIuMTEyIDEuMDg5LjExMiAxLjUyOC0uMDEyLjEzNS0uMDM3LjIyNS0uMDkuMzQ0LS4xMzUuNjI5LS4yMjguNjE0LS4yMjUgMS4yNjMuMTE4LjIuMTA2LjUwMy4xOTcuNzk0LjI4My4wNy4wMi4yODMtLjAwNy40Mi0uMDIxLjAxOC0uMDAyLS4wMTItLjA2LS4wNTQtLjA4Ni0uMDg3LS4wNTgtLjE5Ny0uMTEzLS4yOTgtLjE3bC0uMDc1LjAxOHExLjI1OC4wNSAyLjA5NC0uMjIzbC0uMTA4LS4wMmMuMTExLjA1NC4xOTYuMTE2LjMzNi4xNjEuODM0LjI2OSAxLjc4OS4zMyAyLjYwMi4xNjYuNTQtLjEwOSAxLjAzNC0uMjQyIDEuNjA4LS4zMzEuMzAzLS4wNDcuNzI4LS4wMjcgMS4xMDEtLjAyNy4yMzIgMCAuNDU5LjE2OC4yOTYuMjI0LS4zMDUuMTA2LS42NDIuMjAyLS45NjUuMzAybC4wODItLjAyMmMtLjEzNS4wMzItLjM2OC4wNTYtLjM5MS4wOTktLjA2My4xMTYtLjAzNy4yNC0uMDQ3LjM2LS4wMTQuMTc4LjI3OS4yODcuNzg2LjM1Ni4yNjguMDM3LjUxOS4wOS43ODQuMTI5LjA2OS4wMS4xNzMtLjAwNC4yNTEtLjAxMy4xNzktLjAyMi4xMjktLjA2OC4wNTUtLjE0NC0uMjM2LS4yNDQtLjIxNC0uMjQzLjM0MS0uMzI2LjMyNC0uMDQ4LjY1OS0uMDkyLjk1My0uMTU0LjU5OC0uMTI3IDEuMTcyLS4yNjQgMS43NTctLjM5OHEuOTc4LjQ1OSAyLjQxMi41NzVsLS4wNTUtLjAwN2MuNDIyLjI2NSAxLjA3OS40NjMgMS43OTEuNjQ1LjI3Mi4wNy41NzEuMDYyLjc4Ny4wMDguMjA1LS4wNS4zMjctLjEzMy40OTctLjIuMTgtLjA3LjQ4NS0uMDcuNzIuMDA4LjI3My4wOS41MTMuMTkyLjc4NS4yODJhMSAxIDAgMCAwIC4yNzMtLjAwM2MuMDc5LS4wMS4xOTMtLjAzNy4xODgtLjA1OGEuMzcuMzcgMCAwIDAtLjEzMy0uMTczYy0uMjcxLS4yMi4wNi0uMzQ4LjUyNy0uNDU1LjE5Mi0uMDQ1LjY2OC0uMDE0LjczMy4wNjguMjE1LjI2OS44NS4zMTUgMS41MDQuMzY1bC0uMDU4LS4wMTRjLjE0My4wMy4yOTYuMDU3LjQyOS4wOTIuMzc5LjEuNjA5LjA0MS44MTktLjA0OGwtLjA3Ni4wMmMuMzc0LS4wNDMuNDg5LS4xNTYuNjk0LS4yNTIuNDAzLS4xODggMS40MTMtLjIzNyAyLjAwOS0uMTA1Ljg5Ni4xOTggMS43NzMuNDA4IDIuNjM1LjYyMi4xMTIuMDI4LjA3Ny4xMTYuMTQ1LjE3My4xMDYuMDkuNDU5LjE1NS42NTkuMTE4cS41ODYtLjEwOSAxLjEzNy0uMjMzYy4yMTgtLjA1LjExOC0uMTQ2LS4yMTItLjIwOS0uMDc5LS4wMTUtLjIxOC0uMDAyLS4yNzUtLjAyLS4xMjUtLjA0LS4yOTgtLjA5Ni0uMjk0LS4xMzcuMDA0LS4wMzguMjE3LS4wOTYuMzM5LS4wOTIuMzc5LjAxMi43NTkuMDUgMS4xNC4wNzYuNDQxLjAzMi42NTQuMTIuNjg1LjI2My4wMTIuMDYuMDM2LjEzLjE0MS4xNzguMDk1LjA0My4zMDguMDg0LjQ2NC4wODdzLjQyMS0uMDMyLjQ0MS0uMDY4Yy4wOC0uMTQ2LjA1NS0uMy4xMzEtLjQ0Ni4wMjQtLjA0Ni4yMi0uMDk4LjM3LS4xMDUuMTQxLS4wMDYuMzY3LjAzLjQ3Ny4wNy4xMi4wNDUuMTE3LjEyLjIyNi4xNy4wOTcuMDQ2LjM0NC4xMTMuNDA2LjEwNC44NDctLjEzNSAxLjg0NC0uMDc0IDIuNzQzLS4xMzguMzg2LS4wMjcuNzk0LjAyOS45MzYuMTcuMjE1LjIxMi45NDEuMjMyIDEuMjczLjM5My0uMDcxLjAwNS0uMTUyLjAwNS0uMjExLjAxNy0uMDI1LjAwNS0uMDA2LjA0OS4wMDEuMDVxLjI3LjAxNi4xNTItLjA4NmMuMzczLjA0Mi44NzQuMTAyLjk5LS4wMzYuMjY5LS4zMTYuODY2LS4zMzMgMS43MjYtLjIxOS4yNzMuMDM2LjU2OC4wNDguODUzLjA3My41ODEuMDUyLjczNi4xNDcuNTQyLjM0OC0uMDUzLjA1NS0uMTUuMTA3LS4xNTcuMTYzLS4wMTguMTI4LjQ4NS4yNTkuNzU4LjE5LjUzNC0uMTM0IDEuMTc0LS4xNjUgMS44MzMtLjE4LjM2My0uMDA3LjgyNy0uMDEyIDEuMTEyLjA1Mi45MzkuMjEgMS44MjQuMjEyIDIuNzQuMDk4LjE3LS4wMjEuMzU2LS4wMzcuNTQxLS4wNC4yOTQtLjAwNC41NzguMDI3Ljc1Mi4xMi41NzUuMzEgMS4zODEuMzIyIDIuMjg2LjI4OS41NTEtLjAyLjQzNS0uMjQ5Ljk4OS0uMjY1LjEzNS4wNzguMjYxLjE2NS40MzMuMjQzLjE3Ni4wOC42MDUuMTEuNzcyLjA1OC4zOTEtLjExOS43NTMtLjI0OCAxLjE2MS0uMzYuMDg4LS4wMjUuMzMxLjAwMy40OTYuMDE3LjAyOS4wMDMuMDM5LjA1OC4wNDcuMDg5LjA3LjI1My4xODcuMjg0Ljc2OC4yLjA4Mi0uMDEyLjE0OS0uMDM0LjIyNC0uMDUuMzE2LS4wNy42NzctLjEwNCAxLjA3MS0uMDUxLjgwNC4xMDYuOTEtLjEyNCAxLjMwNi0uMjUzLjUyNS4wMiAxLjEwMi4wNjMgMS42NjQuMDYxIDEuMzA3LS4wMDMgMi40OC4wOTMgMy40MzUuNDU0LjIyOC4wODcuNjUuMDE4Ljc5Mi0uMTE4LjAzLS4wMjguMDE2LS4wNjQuMDU3LS4wODkuMDg1LS4wNS4xOTMtLjA5NS4yOTYtLjE0NS42MTQuMTY3IDEuMTc1LjM0MyAxLjM5Ni42MTMtLjI2OC4wNzEtLjU1NS4xNDMtLjgyMS4yMjItLjA1MS4wMTUtLjA2MS4wNjktLjAxNy4wODcuMTA3LjA0NS4yODkuMTE1LjM4Ni4xMS4zNi0uMDE5LjczMy0uMDQ3IDEuMDM0LS4xMDQuNTUxLS4xMDQuNzExLS4zMzMgMS4zMi0uNDM2LjU1Mi0uMDk0LjY2OS0uMTEgMS40ODIuMDk2bC4wMDYtLjAwMmMtLjE1MS4wMjctLjM4MS4wNDMtLjQzNi4wODYtLjEwMy4wODIuMjI2LjEzMi42MTQuMDkuMDg3LS4wMDkuMTYyLS4wMjcuMjQ4LS4wMzhxLjEyNy0uMDE2LjI2LS4wM2wuNTQxLS4wNWMuMzI1LS4xNjUtLjI0NS0uMjgxLS4zNjgtLjQyMi0uMTczLS4xOTcuMzE4LS4zNjUuOTM3LS4zMTMuNDcuMDQuOTM2LjA4OCAxLjQwMy4xMzJsLS4wOTMtLjAzNmMtLjAyMS4xNTYtLjAwOC4zNDMuNTg2LjM3MyAxLjAzMS4wNTEgMS40NTMuMjkgMS44ODUuNTM4bC0uMDk3LS4wNjguMDc0LjA1MmMuMTc1LS4wNjYuMzQ3LS4xMzMuNTI1LS4xOTguMjAxLS4wNzQuNDY4LS4xMDQuNzExLS4wMTQuNTUuMjAxIDEuMTM4LjI1MiAxLjc5Ny4xMzguNzI2LS4xMjUgMS4yMy4wMzMgMS43MzYuMTkyTDE4OC45NyA4Yy40MjMuMDkuMjk1LjIzMi40NjYuMzQuMDYxLjAzOC4yNjMuMDYxLjQxMS4wOC4wMjkuMDA0LjE2MS0uMDQ0LjE1MS0uMDY2LS4wOS0uMjE3LS4yMTgtLjQzMy0uMjg1LS42NDgtLjAxLS4wMzEuMjQ2LS4wNjYuMzk2LS4wOWEuOS45IDAgMCAxIC4yNjYuMDEyYy4yODUuMTMxLjU4NS4yNjMuODEuNDA0LjE3OC4xMTIuMjM0LjI0LjM5My4zNTVhLjk1Ljk1IDAgMCAwIC40MDUuMTNjLjczMy0uMDI0IDEuMjY3LjA0OCAxLjY2Mi4yODQuMS4wNi41My4xMDQuNzgyLjEgMS4wMjYtLjAxMyAyLjA3OC4wMTUgMi45NjctLjE4Ni40NDUtLjEgMS4xNjItLjA4OSAxLjYyNC4wNDUuNTc4LjE2OC43MjguMDkyIDEuMDEyLS4wNTIuMjM1LS4xMTkuNTM4LS4wODguODcxLjA1NS4wNTkuMDI1LjA3NS4wNjIuMTM2LjA4Ni4yODYuMTEuNzczLjEyNC45NjEuMDIzLjIzNC0uMTI0LjQyNi0uMjU4LjY1Ni0uMzgzLjE0LS4wNzUuNTI2LS4wNDkuNjU0LjA0NC4xMjIuMDg3LjE4MS4xODQuMzI5LjI2Ni4zNDUuMTk0LjkyOS4yODIgMS40NTguMjI2YTc1IDc1IDAgMCAwIDEuODE5LS4yMTJjLjM4Mi0uMDUuNDc0LS4xNjYuNDIxLS4zbC0uMDExLjAyN2MuMjc0LS4wMTQuNTQ2LS4wMzUuODI1LS4wMzkuMzMzLS4wMDQuNTcyLjA5Ni40MzkuMTgtLjEyNC4wNzctLjMyMS4xNDMtLjQwOC4yMjQtLjAzOS4wMzguMDY2LjEyLjE4Mi4xNS4xMzQuMDM2LjM1My4wNDIuNTMzLjA0Ny4wNjMuMDAyLjEzLS4wMzQuMTgyLS4wNTYuMjQzLS4xMDcuNTc0LS4xNC45NjYtLjA2OC42NzQuMTI2IDEuMzcuMjM4IDEuOTQxLjQyNS4yNjcuMDg4LjY1MS4xMzkuOTg2LjIwNC4xOTQuMDM4LjUwOS0uMDE5LjYxNC0uMTEuMDYzLS4wNTIuMTEzLS4xMDYuMTc3LS4xNjhsMi43NTMtLjA1OGMuMjk5LS4wMDcuNTAxLjAzLjcxOC4xMTcuNTE1LjIwNy42NTUuMjEgMS4wNjYuMDg2bC43NjctLjIzN2MtLjAyNC4wMDUuMDQ5LjAzLS4wMzYuMDE3TTk5LjI5OSA0LjU2N2wtLjQ3Ni0uMDUzLjA1OC4wNzdjLjE1Ni0uMDExLjMxNC0uMDIyLjQzNS0uMDI5LS4yNjUuMDI4LS4zMjQuMDYtLjE3LjA3MS4wNDEuMDAzLjEwMi0uMDQzLjE1NC0uMDY2TTMyLjU4IDIuNjI4cS0uMzA3LjAxMS0uMDg0LS4wMzVsLjAzLjA2NGMtLjE4My4wMTYtLjIyMy0uMDA0LS4xMDEtLjA1NmExIDEgMCAwIDEgLjE1NC4wMjdtLTExLjQ3Ny0uNDkzYy4xODMtLjAyOS40NDgtLjA1MS42MTQtLjEwNS4wNzUtLjAyNS0uMDI1LS4xMTQtLjA4Mi0uMTcxYS45LjkgMCAwIDAtLjI1Ny0uMDI0Yy0uMTc4LjAxLS4zNjkuMDIyLS41MS4wNTMtLjE0LjAzMS0uMjI1LjA4Ni0uMzM0LjEzek0xNDYuMjgxIDYuOTVjLjI2NS4wMjIuNTM0LjA1Mi44MDQuMDY1LjMxNS4wMTUuNTE2LS4wMzguNTU0LS4xMzQuMDIxLS4wNTQtLjAxMi0uMTE1LS4wNzEtLjE2OS0uMDgyLS4wNzctLjM5OS0uMDg1LS43LS4wMy0uMzEyLjA1OS0uNTY1LjEzLS41ODcuMjY4bS01LjM1Ny0uNjMzYy0uMTM4LjAyOS0uMjkyLjA1Mi0uNDEyLjA4OC0uMTc0LjA1Mi0uMTMuMTA3LjEwNy4xNDUuMDc5LjAxMy4xODguMDI0LjI2Mi4wMTcuMjY3LS4wMjQuMzY5LS4xMTYuMjI4LS4yMDMtLjAzNC0uMDItLjEyMi0uMDMxLS4xODUtLjA0N20xLjYxMS0uMDU5Yy4yMDEuMDY5LjM5LjEzNS41ODMuMi4xODguMDYyLjM1OS4wNi40MzUtLjAxNi4wNS0uMDUuMTAxLS4xMzQuMDI0LS4xNTdhNC40IDQuNCAwIDAgMC0uNzE2LS4xMzVjLS4wNjQtLjAwOC0uMTkyLjA2Mi0uMzI2LjEwOE01NC44MjYgMy40NTRjLjA3Ni0uMDE2LjE5NC0uMDI4LjIwNi0uMDUuMDEyLS4wMi0uMDY2LS4wNi0uMTM2LS4wNzYtLjE5Ny0uMDQyLS4zNzQtLjAzLS40NTcuMDM1LS4wMjIuMDE3LjA1Ni4wNjMuMTIzLjA3OC4wNjcuMDE2LjE3Ny4wMS4yNjQuMDEzTTguMjggMS40NzRjLjA0My0uMDE3LjExOC0uMDMyLjEyMy0uMDUuMDAzLS4wMi0uMDYxLS4wNDMtLjA5Ni0uMDY1LS4wNDQuMDE2LS4xMi4wMy0uMTIzLjA0OC0uMDA0LjAyLjA2LjA0NC4wOTYuMDY2bTE3IC41NjJjLS4wNDgtLjAyMS0uMTEzLS4wNjMtLjE0NS0uMDYxLS4yNDQuMDExLS4yNi4wNS0uMDM5LjA5OC4wMjguMDA2LjEyMS0uMDI0LjE4NC0uMDM3bTE5MS4wNzQgNy42ODIuMTkyLS4wNGMtLjA1LS4wMjMtLjA5Ni0uMDU5LS4xNTQtLjA2My0uMDU2LS4wMDQtLjEyNi4wMjMtLjE5LjAzN3oiLz4KPC9zdmc+Cg==');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        clip-path: inset(0 100% 0 0);
        content: '';
        display: block;
        height: 27.5%;
        left: 50%;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transition: clip-path 0.25s ease-out;
        transform: translate(-50%, -50%);
        width: 150%;
        z-index: 1;
      }

      body.is-ready &::before {
        --line-animation-duration: 0.25s;
      }

      &:not([disabled], .button--no-hover):hover,
      a:hover &,
      &:not([disabled]):active,
      &[disabled] {
        --button-background-color: initial;
        --button-color: initial;
      }

      &:not([disabled]):hover,
      a:hover &,
      &[disabled] {
        &::before {
          animation: var(--line-in-animation);
        }
      }
    }

    &.button--secondary {
      --button-background-color: rgba(0, 0, 0, 0.1);
      --button-border: 1px solid var(--color-white);
      --button-color: var(--color-white);
      --button-min-width: 0;
      backdrop-filter: blur(4px);

      &:not([disabled], .button--no-hover):hover {
        --button-background-color: var(--color-white);
        --button-color: var(--color-black);
      }
    }

    &.button--small {
      --button-font-size: var(--font-size-small);
      --button-min-height: var(--button-height-small);
      --button-min-width: 0;
      --button-padding-block: 0.4375rem;
      --button-padding-inline: 0.625rem;
    }

    &.button--outlined {
      --button-background-color: transparent;
      --button-border: 1px solid currentColor;
      --button-color: currentColor;

      &:not([disabled], .button--no-hover):hover {
        --button-background-color: var(--color-black);
        --button-border: 1px solid var(--color-black);
        --button-color: var(--color-white);
      }
    }
  }

  @keyframes button-alt-line-in {
    0% {
      clip-path: inset(0 100% 0 0);
    }

    100% {
      clip-path: inset(0 0 0 0);
    }
  }

  @keyframes button-alt-line-out {
    0% {
      clip-path: inset(0 0 0 0);
    }

    100% {
      clip-path: inset(0 0 0 100%);
    }
  }

  /**
   * Call to actions.
   */
  .cta-tertiary,
  .cta-large-text,
  .cta-small-text,
  .icon-button {
    /**
     * Resets button defaults.
     */
    background: none;
    border: 0;
    color: inherit;
    padding: 0;
  }

  .cta-tertiary {
    align-items: center;
    display: inline-flex;
    font-family: var(--font-body);
    font-weight: var(--font-weight-regular);
    font-size: 0.75rem;
    gap: var(--spacing-8);
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: uppercase;

    &::before {
      background-color: currentColor;
      content: '';
      display: inline-block;
      flex-shrink: 0;
      height: 8px;
      margin-top: -1px;
      transition:
        opacity 0.25s ease-out,
        margin-right 0.25s ease-out;
      width: 8px;
    }

    &:not([disabled]):hover,
    a:hover & {
      &::before {
        opacity: 0;
        margin-right: -16px;
      }
    }

    &:not([disabled]):active {
      opacity: 0.5;
    }

    &.cta-tertiary--no-bullet {
      &::before {
        display: none;
      }
    }
  }

  .cta-large-text {
    cursor: pointer;
    font-family: var(--font-body);
    font-weight: var(--font-weight-regular);
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1.25;
    text-decoration: underline;
    text-transform: uppercase;
    text-underline-offset: 4px;

    &:not([disabled]):hover {
      text-decoration-color: transparent;
    }

    &:not([disabled]):active {
      opacity: 0.5;
    }
  }

  .cta-small-text {
    text-decoration: underline;
    text-underline-offset: 3px;

    &:is(a, button) {
      cursor: pointer;
    }

    &:is(a, button):not([disabled]):hover {
      text-decoration-color: transparent;
    }

    &:is(a, button):not([disabled]):active {
      opacity: 0.5;
    }
  }

  /**
   * Icon buttons.
   */
  .icon-button {
    --default-color: currentColor;
    align-items: center;
    border: 1px solid var(--default-color);
    color: var(--default-color);
    cursor: pointer;
    display: flex;
    height: var(--size, 26px);
    justify-content: center;
    transition:
      background-color 0.1s ease-out,
      color 0.1s ease-out,
      filter 0.1s ease-out;
    width: var(--size, 26px);

    .icon {
      --size: var(--icon-size, 100%);
      display: block;
    }

    &:not([disabled], .is-loading):hover {
      background-color: var(--default-color);

      svg {
        filter: invert(1);
      }
    }

    &[disabled] {
      cursor: not-allowed;
      opacity: 0.3;
    }

    &.is-loading {
      background-color: var(--color-black);
      border-color: var(--color-black);

      svg {
        opacity: 0.4;
        filter: invert(1);
      }

      &::before {
        animation: icon-button-loading-ring 2s infinite linear;
        background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICA8cGF0aCBmaWxsPSIjN2M3OTAwIiBkPSJNMCAxMi41QzAgNS41OTYgNS41OTYgMCAxMi41IDB2MUM2LjE0OSAxIDEgNi4xNDkgMSAxMi41UzYuMTQ5IDI0IDEyLjUgMjQgMjQgMTguODUxIDI0IDEyLjVoMUMyNSAxOS40MDQgMTkuNDA0IDI1IDEyLjUgMjVTMCAxOS40MDQgMCAxMi41Ii8+Cjwvc3ZnPgo=');
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: 50% 50%;
        content: '';
        display: block;
        height: 85%;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 85%;
      }
    }
  }

  @keyframes icon-button-loading-ring {
    from {
      transform: translate(-50%, -50%) rotate(0);
    }

    to {
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }

  /**
   * Pills and swatches.
   */
  .pill {
    background-color: var(--color-background);
    border-radius: 20px;
    color: var(--color-text);
    cursor: pointer;
    display: block;
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-regular);
    margin: 0;
    opacity: var(--pill-opacity, 1);
    outline: 1px solid var(--color-border);
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-12);
    text-align: center;

    &.pill--small {
      padding-block: var(--spacing-2);
      padding-inline: var(--spacing-8);
    }

    &.pill--swatch {
      aspect-ratio: 1;
      background-position: center;
      background-size: cover;
      border: 2px solid var(--color-background);
      border-radius: 50%;
      font-size: 0;
      outline: 1px solid var(--color-border);
      padding-block: 0;
      padding-inline: 0;
      width: 30px;

      &.pill--small {
        width: 24px;
      }
    }

    :is(input[type='radio'], input[type='checkbox']):checked + & {
      outline-color: var(--color-text);
    }

    :is(input[type='radio'], input[type='checkbox']):disabled + & {
      cursor: not-allowed;
      opacity: 0.25;
    }
  }

  /**
   * Bubble + badge.
   */
  .bubble,
  .badge {
    --bubble-size: 18px;
    align-items: center;
    background-color: var(--color-pickle-green);
    color: var(--color-black);
    display: flex;
    font-size: var(--font-size-small);
    justify-content: center;
    line-height: normal !important;
    max-height: var(--bubble-size);
    min-width: var(--bubble-size);
    min-height: var(--bubble-size);
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-4);
    text-align: center;
    white-space: nowrap;

    &.bubble--small {
      --bubble-size: 16px;
      font-size: 0.625rem;
      padding-block: var(--spacing-4);
      padding-inline: var(--spacing-4);
    }
  }

  /**
   * Backdrop.
   */
  dialog,
  [popover] {
    &::backdrop {
      --starting-opacity: 0;
      --ending-opacity: 1;
      background-color: var(--color-backdrop);
      opacity: var(--starting-opacity);
      transition:
        opacity 0.25s ease-in-out,
        overlay 0.25s allow-discrete,
        display 0.25s allow-discrete;
    }

    &:popover-open,
    &[open] {
      &::backdrop {
        opacity: var(--ending-opacity);
      }
    }

    &.no-transition::backdrop {
      transition: none;
    }

    @starting-style {
      &:popover-open,
      &[open] {
        &::backdrop {
          opacity: var(--starting-opacity);
        }
      }
    }
  }

  /**
   * Drawer.
   */
  .drawer {
    --vertical-spacing: var(--spacing-16);
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 100%;
    width: 544px;

    &:is(dialog, [popover]) {
      --starting-translate-x: 100%;
      --starting-translate-y: 0;
      --ending-translate-x: 0;
      --ending-translate-y: 0;
      border: none;
      inset: unset;
      max-height: 100%;
      padding-block: 0;
      padding-inline: 0;
      position: fixed;
      right: 0;
      top: 0;
      transform: translate(var(--starting-translate-x), var(--starting-translate-y));
      transition:
        transform 0.25s ease-in-out,
        overlay 0.25s allow-discrete,
        display 0.25s allow-discrete;
      z-index: 12;

      &:popover-open,
      &[open] {
        transform: translate(var(--ending-translate-x), var(--ending-translate-y));
      }

      @starting-style {
        &:popover-open,
        &[open] {
          transform: translate(var(--starting-translate-x), var(--starting-translate-y));
        }
      }
    }
  }

  .drawer-block {
    display: flex;
    flex-direction: column;
    gap: var(--vertical-spacing);
    padding-block: var(--vertical-spacing);
    padding-inline: var(--container-gutter);

    &:not(.flex-body) + & {
      padding-block-start: 0;
    }
  }

  .drawer-header {
    display: flex;
    gap: var(--vertical-spacing);
  }

  /**
   * Modal.
   */
  .modal {
    background-color: var(--color-background);
    height: min-content;
    max-height: 90%;
    max-width: 90%;
    width: min-content;

    &:is(dialog, [popover]) {
      --starting-translate-y: -48%;
      --starting-translate-x: -50%;
      --starting-opacity: 0;
      --ending-translate-y: -50%;
      --ending-opacity: 1;
      border: none;
      inset: unset;
      left: 50%;
      opacity: var(--starting-opacity);
      top: 50%;
      transform: translate(var(--starting-translate-x), var(--starting-translate-y));
      transition:
        transform 0.25s ease-in-out,
        opacity 0.25s ease-in-out,
        overlay 0.25s allow-discrete,
        display 0.25s allow-discrete;
      z-index: 12;

      &:popover-open,
      &[open] {
        opacity: var(--ending-opacity);
        transform: translate(var(--starting-translate-x), var(--ending-translate-y));
      }

      @starting-style {
        &:popover-open,
        &[open] {
          opacity: var(--starting-opacity);
          transform: translate(var(--starting-translate-x), var(--starting-translate-y));
        }
      }
    }
  }

  /**
   * Rich text.
   */
  .rte {
    font-size: 0.875rem;

    p {
      &:not(:last-child) {
        margin-block-end: var(--spacing-24);
      }

      &:empty {
        display: none;
      }
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .text-h1,
    .text-h2,
    .text-h3,
    .text-h4,
    .text-h5,
    .text-h6,
    [class*='lg\:text-h'] {
      &:not(:first-child) {
        margin-block-start: 2.75rem !important;
      }

      &:not(:last-child) {
        margin-block-end: var(--heading-margin) !important;
      }
    }

    ul,
    ol {
      margin-block: var(--spacing-24);
      padding-inline-start: var(--spacing-24);

      &:first-child {
        margin-block-start: 0;
      }

      &:last-child {
        margin-block-end: 0;
      }

      li {
        margin-block: 1.25rem;

        &:first-of-type {
          margin-block-start: 0;
        }

        &:last-of-type {
          margin-block-end: 0;
        }
      }
    }

    a {
      text-decoration: underline;
    }
  }

  .rte-highlight {
    background-color: var(--color-black);
    color: var(--color-white);
    display: block;
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-4);
    width: max-content;
  }

  @media (min-width: 1024px) {
    .rte {
      h1,
      h2,
      h3,
      h4,
      h5,
      h6,
      .text-h1,
      .text-h2,
      .text-h3,
      .text-h4,
      .text-h5,
      .text-h6,
      [class*='lg\:text-h'] {
        &:not(:first-child) {
          margin-block-start: 5rem !important;
        }
      }
    }
  }

  /**
   * Shapes.
   */
  .triangle {
    --size: 10px;
    display: block;
    border-style: solid;
    border-width: calc(var(--size) / 2) 0px calc(var(--size) / 2) var(--size);
    border-color: transparent transparent transparent currentColor;
    height: 0;
    rotate: -180deg;
    width: 0;
  }

  .triangle--right {
    rotate: none;
  }

  .triangle--down {
    rotate: 90deg;
  }

  /**
   * Cursor component.
   */
  cursor-component {
    display: block;
    height: 100px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    width: 100px;

    img {
      transform-origin: center top;
    }

    &.is-active {
      opacity: 1;
    }
  }

  /**
   * Select dropdown.
   */
  .select-dropdown {
    --header-padding: var(--spacing-4);
    --header-triangle-size: 6px;
    --dropdown-background-color: var(--color-filthy-white-tint);
    --option-active-background-color: var(--color-filthy-white);
    position: relative;
    z-index: 1;
  }

  .select-dropdown__header {
    align-items: center;
    border-block-end: 1px solid currentColor;
    cursor: pointer;
    display: flex;
    gap: var(--spacing-8);
    padding-block-end: var(--header-padding);
    user-select: none;

    .triangle {
      --size: var(--header-triangle-size);
      margin-inline-start: auto;
    }

    .select-dropdown.is-open & .triangle--down {
      rotate: -90deg;
    }

    .select-dropdown--top & {
      padding-block-start: var(--header-padding);
    }

    &:hover .triangle {
      color: var(--color-filthy-olive);
    }
  }

  .select-dropdown__dropdown {
    background-color: var(--dropdown-background-color);
    left: 0;
    min-width: max-content;
    max-width: calc(100vw - (var(--container-gutter) * 2));
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    width: 100%;

    .select-dropdown.is-open & {
      opacity: 1;
      pointer-events: auto;
    }
  }

  .select-dropdown--top .select-dropdown__dropdown {
    top: 0;
    transform: translateY(-100%);
  }

  .select-dropdown__option {
    cursor: pointer;
    padding-block: var(--spacing-8);
    padding-inline: var(--spacing-8);
    user-select: none;

    &.is-active,
    &:hover {
      background-color: var(--option-active-background-color);
    }

    .select-dropdown:has(.select-dropdown__option:hover) &:not(:hover) {
      background-color: transparent;
    }
  }

  select-dropdown select {
    background: none;
    border-block-start: 0;
    border-inline: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    padding-block: 0 var(--spacing-4);
    padding-inline: 0;
    text-transform: uppercase;
  }

  @media (min-width: 1024px) {
    select-dropdown select {
      font-size: 0.875rem;
      line-height: 1.33333333;
    }
  }

  /**
   * Basic page.
   */
  .basic-page,
  .shopify-policy__container {
    display: grid;
    gap: 5.875rem var(--grid-tight-column-gap);
    grid-template-columns: var(--grid-template-columns);
    margin-block: var(--spacing-top, 5.1875rem) var(--spacing-bottom, 6rem) !important;
    margin-inline: auto;
    max-width: var(--max-content-width) !important;
    padding-inline: var(--container-gutter) !important;
    width: 100%;
  }

  .basic-page__body,
  .shopify-policy__title,
  .shopify-policy__body {
    grid-column: 1 / span 12;
  }

  .basic-page__body {
    align-items: start;
    display: flex;
    flex-direction: column;
    gap: inherit;
  }

  .basic-page__title,
  .shopify-policy__title {
    position: relative;
    text-align: left !important;

    &::before {
      background-color: currentColor;
      bottom: -14px;
      content: '';
      display: block;
      height: 95px;
      left: 0;
      mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9Ijk2IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNiA5NiI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTS42MzUgOS42MjJDLjUgOC45NTIuNzg0IDguMjA3LjIzOCA3LjU5NS4xMjggNy40Ny4xNyA3LjEyOS4yNSA2LjkzNGMuMjQ2LS41OTEuNDY4LTEuMTI2LjExNC0xLjc5Qy4wNzggNC42MDkuMzA4IDQuMTA1Ljc4NiAzLjdjLjE1LS4xMjguMTQtLjQzMy4yMzMtLjY0NC4wOTgtLjIyMi40MDUtLjM0NC41ODItLjIwNC4xNjguMTMyLjM1LjMzNi4zOC41My4wMzMuMjA4LS4xMjMuNDQtLjE2NS42NjYtLjA5NS41MDUuMDkuNjg0LjgyOC44MDJsLjA3LS4wNDhjLS40MjUuMTk1LS41NzcuNTMxLS4zODYuOTQ4LjEyNC4yNy40MS40NzIuMjk3Ljg1Ni0uMjgyLjA5LS41ODguMTctLjg4LjI4NS0uMjg1LjExMi0uNDc0LjUzMy0uMzcuNzg4LjIzOC41ODUuNDk2IDEuMTYyLjcyNCAxLjc1LjA4Ny4yMjQtLjIzMi41NDItLjU2Mi41ODktLjA3OC4wMTEtLjE1OC4wMS0uMjM3LjAycy0uMTU3LjAyOC0uMjM1LjA0M2wuMDc3LjA4Ni0uNTcxLS41NzN6bS43OTItNC4wNTgtLjEyNC0uMDg0LS4wMTcuMTM3ek0xLjIgMzAuMjE4Yy0uNjQ4LS4yMTYtMS4wMjItLjY0OC0uOTI2LTEuMjAzLjE4OC0xLjA5OS4zNjYtMi4xOTIuMjE1LTMuMzEzLS4wMjktLjIxNS40MDYtLjUyNS43MDUtLjU0LjQ2OC0uMDIyIDEuMDU0LjY5LjkyIDEuMTU2LS4wMzcuMTMtLjE5MS4yNi0uMzIzLjMxOS0uMjMyLjEwMy0uNDIuMjMtLjM5OC41LjAyLjIzNS4wOC40NzEuMTQ4LjcuMDkuMjk4LjMyMi42MDUuMjgzLjg3OS0uMDY0LjQ1NS0uMjQ1Ljg5My0uMjA4IDEuMzcyLjAwMi4wMzMtLjI3Mi4wODYtLjQxNy4xM00uOTU0IDM0LjI0Yy41ODguNjQ1LjY0NCAxLjQ0OC41MzUgMi4yMzQtLjE0MSAxLjAxNS0uNDAyIDIuMDE0LS42MiAzLjAxOC0uMDEuMDQ5LS4xMTYuMTI0LS4xNDcuMTExLS4xMjgtLjA1Mi0uMzQtLjEyMi0uMzUtLjIwNi0uMTEtLjk0MS0uMjQ1LTEuODg2LS4yNTUtMi44MzItLjAxLS44ODMuMjI2LTEuNzMuOTAxLTIuMzgxek0uNjggNzEuMjQ1Yy4wOTQuMzkzLjE3LjY4Mi4yMjQuOTc2LjAwNS4wMjgtLjEyMy4xMDQtLjE5Ni4xMTctLjA2NS4wMS0uMTQ3LS4wMjYtLjIwNy0uMDY1YS40LjQgMCAwIDEtLjE0OC0uMTU4LjUuNSAwIDAgMS0uMDUyLS4yMzFjLjAyNS0uNzEyLS4xMTUtMS40MzguMTg4LTIuMTI0LS4xODctLjY5OS0uMy0xLjQwNi0uMjIyLTIuMTMuMDE1LS4xMzcuMDcyLS4zMzIuMTczLS4zODguMjQxLS4xMzQuNDQuMDA5LjYxNi4xOTguMTYxLjE3NS4zNzUuMzA1LjUxNy40OS4xNS4xOTcuMjAzLjQyOC0uMDM4LjYzMS0uMTE3LjEtLjMxNS4yNDgtLjI5OC4zNC4xNzEuOTIxLS4yNjMgMS42OC0uNTU4IDIuMzQ0Ii8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEuMDY1IDEwLjA4Yy4wMzguMTQzLjA2My4yOTEuMTE5LjQyNy4wMjcuMDY1LjExMS4xMDguMTcyLjE2LjA2LjA1LjE4My4xMi4xNzQuMTQzLS4zNDUuOTIyLjM4NyAxLjg3OC0uMDkgMi43OTItLjAzNC4wNjUtLjEwNy4xNzEtLjE0Mi4xNjQtLjE0NS0uMDMyLS4zMTUtLjA2Ni0uNDE0LS4xNjItLjEwNC0uMTAzLS4xNjYtLjI3Mi0uMTk1LS40MjEtLjA2MS0uMzEtLjEzMy0uNjMtLjExOC0uOTQzLjAyNy0uNTY3LS4wOTMtMS4wNzktLjMyMS0xLjYtLjE3NS0uNC4wMi0uNzY2LjM4NS0xLjAxOGwtLjA2NC0uMDNjLjEwOC4yNzMuMjY0LjQ5OS41Ny41NzR6TTIuMTg2IDk0Ljk3MmMtLjYyNS4xODItMS4yMy4wOC0xLjktLjE0My0uMDE2LS40MzctLjE1NC0uOTM3LS4wMTYtMS4zNDMuMTYtLjQ3LjEwOS0uOTE0LjE1LTEuMzcuMDA1LS4wNjUuMDgzLS4xOC4xMjItLjE3OC4xNC4wMDguMzM3LjAxLjQwNy4wOTcuMTkzLjIzOC4zMzIuNTIuNDczLjc1M2wtLjQ5MSAxLjAzNiAxLjE5IDEuMTk4ek0xLjUwNSA1MC42OWMtLjI5Mi41MzMtLjU4MSAxLjA2OS0uODgzIDEuNTk3LS4wMy4wNTUtLjE4OC4xMDUtLjIuMDg5LS4wOS0uMTEzLS4yMzYtLjI1NS0uMjItLjM2Ny4wODMtLjYwMi40MjQtMS4xOTIuMDI2LTEuODA0LS4wMy0uMDQ3LS4wMDItLjE2MS4wMzctLjIxNi4xMTgtLjE2Ny4yNDUtLjE0OC40MDUtLjAzNy4xOS4xMzQuNDMuMi42MTMuMzQuMTA5LjA4Ni4xNDguMjYuMjIyLjM5OE0uMjY5IDU3LjczNWMwLS41MTUtLjAwNS0uNzU0LjAwMi0uOTkuMDAyLS4wNzguMDMyLS4xNTUuMDUtLjIzMi4wNTEuMDQzLjE1LjA4OC4xNDguMTI5LS4wMy42ODguNjA4IDEuMDkuNzE1IDEuNzA3LjAxNy4wOTctLjE1LjI5Mi0uMjY4LjMyOWEuNTEuNTEgMCAwIDEtLjQzLS4xMDRjLS4zMjItLjMwNy0uMjEyLS43My0uMjE3LS44MzlNLjUxNiAyMS43MTljLS41Ny0xLjA5LS42MjItMi4yMzgtLjM3OS0zLjQxNS4wMjQtLjExNS4xMzQtLjI3LjIzNS0uMy4xNjctLjA0Ny4yNy4wOTIuMjY3LjI5LS4wMDYuNDY0LS4yMDQuOTA4LS4wNTYgMS4zOS4yMTQuNzAyLjAzMyAxLjM5OS0uMTE4IDIuMDl6TTEuMTMgNzkuMDQ0bC0uMjQyLjUwM2MtLjE3NS0uMTMtLjQ1NS0uMjI3LS41MDYtLjM5NC0uMTMtLjQzMy0uMTcyLS44OTUtLjIxMy0xLjM1LS4wMDctLjA3Ni4xNi0uMTg2LjI2Ni0uMjQ0LjA0LS4wMjQuMTUuMDM3LjIwMy4wODUuNDM5LjQxMi4zNzUuOTc0LjQ5MSAxLjRNMS4yMDIgNjMuMzZjLS4wMTYuMTYtLjAzMi4zOTMtLjA2NC42MjQtLjA0LjI5Mi0uMjQxLjQ1Ni0uNDYyLjM3OC0uMjM1LS4wODMtLjM4OC0uMjMzLS40LS41MDYtLjAxNS0uMzkzLS4wNi0uNzg4LjM3My0xLjAyLjIyNS0uMTIuNTE2LS4wMTIuNTMyLjIxNXpNLjk0MyA4Ni4wMTZsLS41MjcuNjg2Yy0uMjg0LS40MjItLjE4NC0uODYtLjAzNS0xLjI3OC4wMzYtLjEwMi4yMzYtLjE1My4zNjgtLjIwNi4wMTgtLjAwOC4xMTcuMDk2LjEyLjE1Mi4wMTQuMjI5LjAwNi40NTcuMDA2LjY4NnpNLjE0MSA0NS4wNzNjLjAxMy0uMTAxLjAyLS4yNTkuMDU4LS40MDcuMDE3LS4wNjcuMDk3LS4xMTguMTUtLjE3Ni4wOTIuMDg2LjI0Ni4xNi4yNjQuMjU5LjA0Mi4yMjMuMDQ1LjQ2Mi4wMDYuNjg1LS4wMi4xMTMtLjE2NS4yMDQtLjI1My4zMDQtLjA3NS0uMTI3LS4xNjEtLjI1LS4yMi0uMzgzLS4wMjgtLjA2NS0uMDA1LS4xNTMtLjAwNS0uMjgyTTEuMDE4IDM0LjE4NGMtLjE3Ny0uMTUyLS4zNzYtLjI4NS0uNTItLjQ2Mi0uMDg3LS4xMDYtLjA5OS0uMjgtLjExNy0uNDI3LS4wMDQtLjAzLjExMS0uMS4xNzctLjEwNy4yNzUtLjAzLjQ1My4xMzEuNDgyLjM3NC4wMjYuMjE4LS4wNDkuNDQ4LS4wODIuNjc0ek0uNDYyIDg5LjMzNmMtLjIzLS4wMjctLjM0LS4yMjktLjI1Ni0uNDg0LjA1OS0uMTguMTc2LS4yMzkuMzI5LS4xODcuMjQyLjA4My40My4zNTUuMzEzLjQ4OC0uMDg3LjA5OC0uMjU1LjEyNC0uMzg2LjE4M00xLjEzNCA4Mi4xNDRjLS4xLS4yMjQtLjA3Ny0uNDQ3LjEwNC0uNTk4LjA5LS4wNzQuMjgtLjEuMzg5LS4wNTkuMTE1LjA0My4yMTQuMTgzLjI3NC4zMDMuMDgyLjE2LjAwNi4zMjItLjE3Ni4zNDQtLjIwNi4wMjMtLjQyLS4wMjItLjYzMS0uMDM3ek0uODkgODMuOTI2Yy0uMDM3LjA0OC0uMDc4LjE0LS4xMS4xMzYtLjE3Ni0uMDE4LS4yMzktLjEyLS4xNTctLjI1Ni4wMjQtLjA0LjEzMS0uMDYzLjE3OS0uMDQyLjA0NC4wMi4wNi4xMDUuMDg4LjE2MiIvPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0uODc1IDg2LjA1NmMuMy4wMDcuNjAzLS4wMS44OTYuMDM3LjA3Mi4wMTEuMTI2LjIyLjE1OS4zNDYuMDEzLjA1Mi0uMDM4LjE1OS0uMDg0LjE3N2EuMjYuMjYgMCAwIDEtLjIxNi0uMDMzYy0uMTE3LS4wODktLjIxLS4yMDktLjMyMS0uMzA2YTQgNCAwIDAgMC0uMzYtLjI2NmMtLjAwNi4wMDUtLjA3NC4wNDUtLjA3NC4wNDVNLjQ0OCA3NS45NWMuMjUuMDU4LjQ2NS4yOTkuNDA0LjUxLS4wMy4xMDMtLjE5My4yMi0uMzEuMjM2LS4yMTMuMDMtLjM5NC0uMjE4LS4zNDYtLjQ4NC4wMTktLjEwMi4xNjgtLjE4LjI1Mi0uMjYyTTEuMTg1IDY1LjkxYy4wNTguMTc1LS4wMDIuMjg0LS4xNzEuMzU3LS4xNzUuMDc0LS4zMjYuMDM5LS4zNDctLjE0NC0uMDE0LS4xMjIuMDg4LS4yNTkuMTM4LS4zODl6TTEuMDk0IDgyLjA5N2wtLjI4LjI5N3EtLjA1LS4wNzQtLjEtLjE0NmwuNDItLjEwNXpNLjUzOSAyNC41N2MuMDIxLjEwNS0uMDU2LjIzMy0uMTAzLjM0NS0uMDA2LjAxMy0uMTQyLS4wMDItLjE0Ni0uMDE4LS4wMjUtLjEyLS4wNzgtLjI2Ni0uMDMzLS4zNjIuMDkxLS4xOTYuMjM4LS4xNzkuMjgyLjAzNE00Ljg5MSAyOS40NzlsLjE2NS4wODItLjE4LjA1ek0xLjYzMiAxNi4yMjdsLS4xNTctLjEwOXEuMTkzLS4xNzcuMzI4LjAyNnpNLjYyIDEuMjY3Yy0uMDUyLjAzMy0uMTA0LjA5My0uMTU2LjA5Mi0uMDQ2IDAtLjA5Mi0uMDY3LS4xMzktLjEwNS4wNS0uMDMzLjEwMS0uMDk2LjE0OS0uMDkzLjA1LjAwMy4wOTcuMDY4LjE0NS4xMDZNLjQ5NS4xNDdDLjcxMi4wOTMuOTI5LjAwNyAxLjE0OSAwYy4wNzUtLjAwMi4yLjE4My4yMjMuMjk4LjAzMS4xNTctLjEyNi4yOC0uMy4yMDNDLjg4LjQxNi43MjkuMjM4LjU2LjF6TS40NjUgMjEuNzczYy4yMDgtLjA0My40MTMtLjEwMS42MjItLjEyNi4yMi0uMDI1LjI4Mi4wODQuMTYuMjY2LS4wMjguMDQxLS4xMjIuMDc4LS4xNjQuMDYyLS4xOS0uMDc4LS4zNzQtLjE3NC0uNTYzLS4yNnpNMS40NDEgNTMuNDgxbC0uMTc1LjI5Mi0uMzMtLjI0Yy4wNTItLjA1My4xMDctLjE1LjE1NS0uMTQ2LjExOC4wMDcuMjMzLjA2LjM1LjA5NE0xLjI4MiA1NS4wNDdjLjA4Ni4wOTQuMjM3LjE4Ni4yMzIuMjctLjAwNi4xMDQtLjEzNS4yMDUtLjIyNy4yOTItLjAxLjAxLS4xOC0uMS0uMTcyLS4xMjkuMDM0LS4xNDQuMTA0LS4yOC4xNjctLjQzM000LjI3OSAzNy43NGMtLjA0Ni4wNDktLjExLjE0OS0uMTM0LjE0LS4xMTctLjA0NC0uMjIzLS4xMTctLjMzMi0uMTguMTE5LS4wNDQuMjM2LS4wOTguMzU5LS4xMjMuMDI0LS4wMDUuMDcuMTA2LjEwNy4xNjJNLjY3IDQxLjMxOGMuMTg5LjEwOS4zMTguMjQyLjE3MS40Ny0uMDA0LjAwNi0uMTItLjAzMy0uMTIyLS4wNTUtLjAwNy0uMTM1LjAwNS0uMjcxLjAxLS40MDh6TTIuMTIgOTUuMDIyYy4xMDguMDg1LjIyNi4xNjIuMzE4LjI2Mi4wMjQuMDI3LS4wMS4xNTEtLjA1My4xOS0uMTM1LjEyNS0uMjgzLjA4NS0uMzE0LS4xMDctLjAyLS4xMi4wNjgtLjI2LjExLS4zOTMuMDA1LS4wMDItLjA2LjA0Ny0uMDYuMDQ3TTIuNjQ0IDQuODQ5bC4wNDgtLjEzMy0uMTM2LjA1M2MuMDQ4LjAxNC4wOTYuMDI5LjE1Mi4wMzguMDA2LS4wMDYtLjA2NC4wNDItLjA2NC4wNDIiLz4KICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNLjU2LjEwMkMuNDk0LjA0Ni41MzIuMTQyLjUuMTQ1LjQ5NC4xNDcuNTYuMTAyLjU2LjEwMk00LjE5OSA2LjExOGwtLjA1Mi0uMTYzLjE0Ni4wMnpNLjczIDQxLjMyNWwtLjE2NS0uMDUzLjEwMi4wNDh6TTEuMjcgNDkuMTM3Yy4wNSAwIC4xMS0uMDIuMTM5LjAwMy4xMTcuMDkuMDkuMTk0LS4wOC4yNy0uMDIuMDA5LS4xMDMtLjA4NC0uMTIzLS4xNDEtLjAxMi0uMDM1LjA0My0uMDkxLjA2NS0uMTMyIi8+Cjwvc3ZnPgo=');
      mask-size: 100% 100%;
      position: absolute;
      width: 5px;
    }

    &::after {
      background-color: currentColor;
      bottom: 0;
      content: '';
      display: block;
      height: 16px;
      left: 0;
      mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyODYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyODYgMTYiPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik05Ni4zODQgMTQuMjU1Yy40ODQtLjIzNi45NjQtLjQ4MSAxLjQ1NS0uNzA2LjI1LS4xMTQuNDY2LS4wMzEuNzMuMDgxLjk5Ni40MjUgMi4wMjYuNjgyIDMuMTA5LjI3YS43Ni43NiAwIDAgMSAuNTIxLjAwNmMuNTY0LjI0MS44MjEtLjEyOCAxLjA3My0uNTAzLjEzNS0uMi4yMDctLjUwNy41MDYtLjQ0MS4xMjMuMDI3LjE2MS4zMzguMjk4LjQyMS4yOTYuMTguNjM4LjI4NC45NDkuNDQzLjI2NS4xMzQuMzM2LjM2OC4yMTkuNzExLTIuOTAyLjM5Ni01LjgzLjE5Ny04Ljg2LS4yODJNMzAuMjY3IDE0LjA1OWMuNDQ0LS4xMDguNzctLjE5NCAxLjEwMy0uMjU0LjAzMi0uMDA3LjExOC4xMzguMTMzLjIyMS4wMS4wNzQtLjAzLjE2Ni0uMDczLjIzNWEuNDYuNDYgMCAwIDEtLjE4LjE2Ny41Ni41NiAwIDAgMS0uMjYxLjA1OWMtLjgwNS0uMDMtMS42MjYuMTMtMi40MDMtLjIxNC0uNzkuMjEzLTEuNTkuMzQtMi40MDguMjUyLS4xNTYtLjAxNy0uMzc3LS4wODItLjQ0LS4xOTYtLjE1MS0uMjczLjAxLS40OTkuMjI0LS42OTcuMTk4LS4xODIuMzQ1LS40MjQuNTU1LS41ODUuMjIyLS4xNy40ODQtLjIyOS43MTQuMDQzLjExMS4xMzMuMjguMzU3LjM4NC4zMzcgMS4wNDItLjE5MyAxLjkuMjk4IDIuNjUyLjYzMk0yNDcuODE5IDEyLjUxM2MtLjY3NC41NC0xLjExNiAxLjE1My0uNjQzIDIuMDU2YS4zNC4zNCAwIDAgMSAuMDExLjI2Yy0uMDMyLjA3Mi0uMTI4LjE1Ny0uMi4xNjItLjc0MS4wNS0uNzYtLjk2OC0xLjQ2Mi0xLjAxLS4wNDItLjAwMy0uMTEtLjI5OC0uMDkxLS40NDcuMDY2LS41MjMuMTU4LTEuMDQzLjI1My0xLjU2Mi4wNzUtLjQwNy42ODYtLjY5NiAxLjA2LS40NjUuNDI4LjI2NSAxLjAwMS40MjEgMS4wMjMgMS4wOHpNMTYxLjM1OCAxMi42NDRjLjI1NC4zNy40NDcuODE0Ljc4IDEuMDg2LjIzNy4xOTUuNjY0LjE1NiAxLjAwNC4yMzIuNDM4LjA5OC44NzUuMjAxIDEuMzA4LjMyLjA1OC4wMTUuMTM3LjE0OC4xMjEuMjAxLS4wNDQuMTQyLS4xNDMuMzktLjIwMi4zODUtLjk5My0uMDg2LTEuOTY0LjA0NS0yLjk0My4xODktLjQzMi4wNjMtLjg5NC0uMDMtMS4zMzItLjExLS4wODUtLjAxNS0uMjE5LS4zNzEtLjE2My0uNDQ4LjQ2My0uNjMuOTY0LTEuMjMgMS40NTUtMS44NHpNMjc3LjUyNCAxNC40Yy0uMTAyLjMyNy0uMTExLjY4My0uMjUuNzQzLS42NDcuMjgzLTEuNDM1LjAwNC0yLjA1Ny40OTctLjEwNS4wODQtLjM2Mi4wNTctLjUxMS0uMDA2YTIwIDIwIDAgMCAxLTEuNjc2LS44Yy0uMDY3LS4wMzctLjAzMS0uMzA2LS4wMDMtLjQ2MS4wMTEtLjA2My4xMTctLjEzLjE5Mi0uMTU3LjA4Mi0uMDI4LjE5NC0uMDQ0LjI2NS0uMDEuOTE4LjQ0IDEuODgxLjQ0OCAyLjg2LjMxNC4zNS0uMDQ3LjcwMS0uMDcyIDEuMTgtLjEyTTU3LjEwNyAxMi4zNTVjLjIwNy43MDYuMDkyIDEuMzkxLS4xNjEgMi4xNS0uNDk1LjAxNi0xLjA2LjE3Mi0xLjUyLjAxNi0uNTMtLjE4LTEuMDMzLS4xMjItMS41NS0uMTY5LS4wNzMtLjAwNi0uMjAyLS4wOTMtLjItLjEzOC4wMDktLjE1OS4wMS0uMzguMTEtLjQ2LjI2OS0uMjE4LjU4Ny0uMzc2Ljg1MS0uNTM2bDEuMTcyLjU1NiAxLjM1NS0xLjM0NXpNNy4wMTQgMTMuMTI1Yy42MDIuMzMgMS4yMDkuNjU3IDEuODA2Ljk5OC4wNjIuMDM1LjExOC4yMTMuMS4yMjctLjEyNy4xMDMtLjI4OC4yNjctLjQxNS4yNDktLjY4LS4wOTQtMS4zNDctLjQ4LTIuMDQtLjAzLS4wNTMuMDM0LS4xODIuMDAzLS4yNDQtLjA0MS0uMTktLjEzNS0uMTY4LS4yNzgtLjA0Mi0uNDYuMTUxLS4yMTUuMjI1LS40ODYuMzg1LS42OTIuMDk2LS4xMjMuMjkzLS4xNjguNDUtLjI1MU0xNjguNzc1IDE1LjAyOGMtLjY5NS0uMDQ3LTEuMzkyLS4wOC0yLjA4My0uMTUzYS41NC41NCAwIDAgMS0uMzcxLS4yOTRjLS4wNDgtLjEzIDAtLjM0My4wODQtLjQ3LjE5My0uMjkyLjQxLS41NzYuNjYyLS44MTcuMDk3LS4wOTIuNC0uMTMzLjQ2OC0uMDYzLjQwMy40MjcuNzgxLjg4MiAxLjEzIDEuMzU1LjA4OS4xMjEuMDQyLjM0My4wNjguNTAzLjAxMS0uMDE0LjA0Mi0uMDYxLjA0Mi0uMDYxTTYzLjQxMyAxNC4zODhjLS4zNzEuMTgtLjY5LjMzMy0xLjAwNi40ODktLjczLjM1OS0xLjM5OC4xNDMtMi4wNDUtLjIyMi0uMDY4LS4wMzgtLjE1My0uMTczLS4xMzItLjIxNi4wNjEtLjEyNy4xNTctLjMxMS4yNjUtLjMzLjc4NC0uMTQgMS42MjItLjA2OCAyLjI3Ni0uNjc3LjA0MS0uMDM4LjM0Ny4xMDIuNDE2LjIyMy4xMi4yMTcuMTU0LjQ4My4yMjYuNzMzTTE1My45NDEgMTQuMzg3Yy42OTUtLjEwNy45MjQtMS4wNTUgMS42ODgtMS4xMDguMjU2LS4wMTguNTE2LS4wMDIuNzgtLjAwMi0uNjUzIDEuMjM0LS42ODYgMS4yNS0yLjQ2OCAxLjExTTE4OS4wMDIgMTMuOTA3Yy0xLjA0Ni4xMy0xLjc5NCAxLjAyLTIuODUgMS4xMi0uMDcuMDA2LS4xNjktLjA0My0uMjE0LS4xLS4wNDYtLjA2LS4wNzgtLjE3LS4wNTctLjIzOC4wNTItLjE2NS4wOTktLjQwNi4yMi0uNDYuNTUyLS4yNSAxLjExMy0uNTQgMS43LS42MjguMzktLjA1OS44MjcuMTk4IDEuMjQ0LjMxNHpNMTQuOTg0IDE0LjUyM2MtLjU4NCAwLS44NTMuMDA1LTEuMTIyLS4wMDItLjA4Ny0uMDAzLS4xNzQtLjAzNi0uMjYyLS4wNTYuMDQ5LS4wNTkuMS0uMTcuMTQ2LS4xNjguNzc5LjAzNCAxLjIzMy0uNjg4IDEuOTMxLS44MS4xMS0uMDE4LjMzLjE3Mi4zNzMuMzA0YS41OC41OCAwIDAgMS0uMTE4LjQ4NmMtLjM0OC4zNjUtLjgyNi4yNC0uOTQ5LjI0Nk0xNTEuOTE0IDE0LjU1N2MtLjg5LjI5OC0xLjY2Ny4yNDItMi40MzkuMDgzLS4xMTctLjAyNS0uMjcxLS4yMjUtLjI3NS0uMzQ3LS4wMDQtLjE0OS4wOTYtLjM2LjIxOS0uNDM5LjIwMy0uMTMuNTE1LS4zMDguNjg2LS4yMzcuNTk5LjI0NiAxLjE1Ny41OSAxLjgwOS45NE0yMTUuNzA0IDEzLjY0Yy4xNDguMDg0LjM0Ny4xMzQuNDMuMjYuMDc2LjExOC4xMDIuMzgyLjAyMy40NjctLjQyMy40NjgtLjk0LjgtMS42MDMuNzU0LS4xNDYtLjAxLS4zMTQtLjEzNS0uNDE2LS4yNTUtLjE3OC0uMjA3LS4xMTEtLjU2OS4xMjktLjY1My40ODgtLjE3Ljg1NS0uNjQ1IDEuNDM3LS41NzJNMjI2LjYzNyAxNS4yOTJjLS4yMzgtLjA0LS42NzMtLjEwOC0xLjEwNi0uMTktLjAzNC0uMDA3LS4wNzgtLjExMi0uMDY5LS4xNjEuMDE3LS4wOC4wNTgtLjIwMy4xMTUtLjIyYTIwIDIwIDAgMCAxIDEuNTM1LS40MTNjLjE1Ny0uMDM0LjM0LjA1LjUwOS4wOS4yMzEuMDU0LjUxMi40ODIuMzkzLjYwMy0uMTA5LjExLS4yNDMuMjAxLS4zODEuMjczLS4wNy4wMzctLjE3My4wMTctLjI2Mi4wMTh6TTM5LjA4OSAxMy41NWwuNTY5LjI3MmMtLjE0Ni4xOTktLjI1Ni41MTYtLjQ0NS41NzMtLjQ5LjE0Ny0xLjAxMy4xOTUtMS41MjguMjQxLS4wODYuMDA4LS4yMS0uMTgtLjI3Ni0uMy0uMDI3LS4wNDYuMDQyLS4xNzEuMDk3LS4yMy40NjUtLjQ5NyAxLjEwMS0uNDI1IDEuNTgzLS41NTZNNjcuNzMyIDEzLjY5OHEtLjk0Mi45MzYtMi40OTIuMTljLjAxOS0uMDYzLjAzOC0uMTgxLjA1Ny0uMTgxLjc4My0uMDEgMS41NjctLjAwOSAyLjQzNS0uMDA5TTY2LjU1NCAxLjUwNmMuMDQ1LS40ODQuMDYyLS43NDguMDk2LTEuMDA5LjA1Mi0uMzg3LjQxOS0uNjAzLjc3OS0uNDQ1LjE0My4wNjIuMzA2LjIxMy4zNC4zNTIuMDM2LjE0NS0uMDE5LjM5NC0uMTI3LjQ3Ny0uMjc1LjIxMS0uNjAzLjM1NS0xLjA4OC42MjVNMjEuMzQ2IDEzLjQ2OGMuMTguMDE4LjQ0NS4wMzYuNzA3LjA3Mi4zMy4wNDQuNTE2LjI3My40MjcuNTIyLS4wOTQuMjY2LS4yNjQuNDQtLjU3Mi40NTItLjQ0NS4wMTgtLjg5Mi4wNjktMS4xNTQtLjQyLS4xMzYtLjI1NS0uMDE0LS41ODUuMjQzLS42MDMuMDg4LS4wMDcuMTc2LS4wMTIuMzQ5LS4wMjNNODkuNTQ5IDE0LjE2MmMuNS0uNTY0IDEuMzktLjUxMyAxLjgwNi4xMTYuMDM1LjA1NC4wMjMuMTc1LS4wMTQuMjM1YS4zNi4zNiAwIDAgMS0uMjE1LjE1OCAyLjQgMi40IDAgMCAxLTEuNTcyLS4yNTFjLS4wMzYtLjAyLS4wMDUtLjE2NS0uMDA1LS4yNThNNDYuOTc2IDEzLjc2bC43NzYuNTk3Yy0uNDc3LjMyLS45NzIuMjA4LTEuNDQ2LjAzOS0uMTE1LS4wNDEtLjE3Mi0uMjY3LS4yMzMtLjQxNy0uMDA5LS4wMi4xMS0uMTMyLjE3Mi0uMTM2LjI1OS0uMDE1LjUxNy0uMDA2Ljc3Ni0uMDA2ek03OS40MjIgMTQuNTIyYzAtLjA3NS0uMDM3LS4xOTQuMDA1LS4yMzcuMjMtLjI0LjQ2My0uNDgzLjcyNy0uNjgxLjE3NC0uMTMuNTcuMDg2LjU5OS4yOS4wNDcuMzE4LS4xMjQuNjg4LS40Ny44MTgtLjIwOC4wNzktLjQ3MS4wMjctLjcwNy4wMDYtLjA1NC0uMDA1LS4wOTktLjEyMi0uMTU0LS4xOTZNODUuNDMgMTMuMjFjLjE4LjEyNi40MjYuMjMzLjU3NS40MTguMTc0LjIxNS4wOTUuNDg1LS4wNjIuNzA1LS4xNzMuMjQzLS40MzYuMjg0LS42ODYuMTkxYS41NS41NSAwIDAgMS0uMzA1LS4zNDcgMS43IDEuNyAwIDAgMSAuMDE3LS43NDRjLjAyNS0uMDk3LjI2Ny0uMTM1LjQ2MS0uMjIzTTExNS4yMDMgMTMuODQ0Yy0uMTA2LjE4NS0uMTU5LjQxLS4yNzQuNDQ3YTIgMiAwIDAgMS0uNzYzLjA2OGMtLjI5LS4wMjEtLjQxOS0uNDA5LS4xOTUtLjYxNC4xNzgtLjE2NC40MzQtLjM3Mi42MzEtLjM1LjIxNy4wMjYuNDA2LjI5My42MDEuNDVNMTkwLjM4MiAxLjIwOGMtLjA1Ni4wNy0uMTA4LjE0NS0uMTY3LjIxMi0uMjM0LjI2NS0uNDc3LjYyNC0uODY1LjQ3NS0uMzk1LS4xNTItLjg0OC0uMzMtLjk0My0uODQ5LS4wMTUtLjA4My0uMDAzLS4xOTcuMDQ1LS4yNi4wNDctLjA2LjE3Mi0uMTIuMjM3LS4xLjU5LjE4MiAxLjE3NS4zODIgMS43NjEuNTc3ek0yNzkuNTkyIDEzLjE3NGMuNDM5LjE2Mi44NjUuMDYgMS4zLS4wMzguNzA4LS4xNiAxLjE4OS4xMTUgMS40MzIuODIxLTEuMDg5LjM0NS0xLjc3Ny0uNjc5LTIuNzI1LS43ODh6Ii8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3MC45MzggMTQuNDM2Yy0uMTA3LjMyNS0uMjY3LjYyLS42NTYuNjIxLS40OTMuMDAzLS45ODctLjAzNy0xLjQ5Mi0uMDQ0LS4wMTUuMDE1LS4wNDYuMDYyLS4wNTcuMDc2LjE5OC0uMTI3LjQxNS0uMjU4LjYxMS0uNDEzLjUwNC0uMzk0IDEuMDYtLjQ2NyAxLjY2MS0uMzAyek0yNTAuMTczIDE1LjAzN2MtLjE0NC0uMDgzLS4zNzUtLjE0LS40MTEtLjI1Ny0uMDM3LS4xMjcuMDcyLS4zNDUuMTg0LS40NTNhLjY0LjY0IDAgMCAxIC40Ni0uMTcyYy4xNTIuMDE2LjM2NS4xNC40MDguMjY1LjA0My4xMjQtLjA1NS4zNTEtLjE2Ni40NTQtLjExMS4xMDUtLjMxMi4xMTMtLjQ3NS4xNjNNMTA3LjQ5NCAxMi43NzFjLjA4Mi4wMjcuMTc3LjAzNi4yNDIuMDg1LjA2OC4wNTIuMTYuMTUzLjE0OC4yMTMtLjA4NS40MjUtLjE4OS44NDctLjMwMiAxLjI2NS0uMDE2LjA1NS0uMTU2LjEzMy0uMTg2LjExNS0uMTQ0LS4wODYtLjM1NS0uMTgxLS4zODgtLjMxMi0uMTM4LS41NjIuMDgxLTEuMTEuNDg2LTEuMzY2TTE3Ny44MzYgMTQuMDU0Yy4xMzcuMDcuMzIzLjEwOC40MDEuMjIuMTU2LjIyMi4wNjYuNjExLS4xNTQuNjY2YTEuNSAxLjUgMCAwIDEtLjcyOS0uMDA0Yy0uMTMyLS4wMzctLjI4Ny0uMjQxLS4zMDEtLjM4My0uMDEyLS4xMDguMTYxLS4yNy4yODktLjM0OC4xNDMtLjA4Ni4zMjctLjEwNC40OTQtLjE1MU0yMDcuMTI4IDE0LjI5NmMuMTctLjE2Ny4zMjEtLjM4Ni41MjgtLjUuMjM1LS4xMjcuNTM2LS4xMjMuNzE4LjExNS4wODUuMTEuMTE0LjQyNy4wNy40NDgtLjMxMS4xNS0uNjQ0LjI3MS0uOTgzLjM0My0uMDY4LjAxNC0uMTg5LS4yMjQtLjMzMy0uNDA2TTUzLjI5IDEuNTY2Yy0uMTExLS4yMDEtLjA2LS4zNTQuMTY2LS40LjI0My0uMDUuNS0uMTA0Ljc0LS4wNzQuMTE3LjAxNC4yNzkuMjA0LjI5OS4zMzMuMDIuMTM4LS4wNTguMzY0LS4xNy40MzgtLjQxNy4yNzctLjc2Ny4xNi0xLjAzNi0uMjk3TTExOC4xNDYgMTMuNjk3Yy40MzQuMDE4LjY1Mi4zMDguNTQzLjU2MS0uMTE5LjI3Ni0uMzM1LjM4Ny0uNjI2LjM2Ny0uMzExLS4wMjItLjU3Mi0uMzQ3LS40MTMtLjU0NC4xNDctLjE4My4zNzktLjI5Ny40OTYtLjM4NE0yMDEuMDExIDE0LjcxNGMuMDAxLS4yMDcuMTQtLjM4Mi4zMDUtLjMwMi4yMTYuMTA1LjM3LjMzNC41NTIuNTEtLjA3OS4wNDEtLjE1OS4xMjItLjIzNS4xMTdhMS43IDEuNyAwIDAgMS0uNS0uMTA5Yy0uMDYtLjAyMy0uMDgyLS4xNDEtLjEyMi0uMjE2TTEzNS42NjMgMTMuMjUyYy4xMDEuMjE4LjI4Mi40MjIuMjY3LjYxMi0uMDI2LjM0LS4zOC41NjYtLjczMy41Ny0uMjE0LjAwMi0uNTg4LS4yOTUtLjU0NS0uNDYuMDM1LS4xMzcuMTIzLS4yOTcuMjM1LS4zNy4yMTItLjEzNS40NjEtLjIxMy43NzYtLjM1Mk0xODEuODk0IDYuNjIyYy4yNjYuMDMzLjQ4NC4xMzMuNTA2LjQzMy4wMTguMjQtLjI4LjQyMS0uNTM2LjM0NC0uMjM0LS4wNzEtLjUxNC0uNDQtLjQwNC0uNTY0LjA5OS0uMTEyLjI4Ny0uMTQ2LjQzNC0uMjEzTTE3NS40NjggMTMuMDg3Yy4yMjguMjE0LjQ0NC4zMzMuNTI5LjUxNC4xMTUuMjQxLS4xMjEuNDYyLS40MzIuNDUyLS4yNS0uMDA3LS41NS0uMDYtLjU0NC0uMzM3LjAwNS0uMTg2LjI0OS0uMzY2LjQ0Ny0uNjI5TTE4Mi4zMiAxMi4zOTljLjA3MS0uMjU0LjM5Ni0uNDAzLjU5Ni0uMjMyLjA5LjA3OC4xMzYuMzM2LjA3NS40MzItLjA3NC4xMTUtLjMwMS4yMi0uNDI3LjE4OC0uMTA3LS4wMjYtLjE2NS0uMjUxLS4yNDQtLjM4OU0yNzkuNTk5IDEzLjE3Yy4wNC41MTcuMDg1IDEuMDM0LjExNCAxLjU1MS4wMDQuMDc3LS4wNjguMTU5LS4xMDQuMjM4LS4xMDQtLjA5LS4zMDctLjE5NS0uMjk3LS4yNy4wNjgtLjUwOC4xODEtMS4wMDkuMjgtMS41MTIgMC0uMDAyLjAwNy0uMDA3LjAwNy0uMDA3TTIwOS44MTEgNC45MTVjLjI0OS4yNTUuNDM2LjM4Ni41MjguNTY2LjA0My4wODMtLjExNy4zODItLjE1NC4zNzYtLjIyMS0uMDM0LS40MzItLjEyOC0uNjQ2LS4yMDJ6TTI0MS4zNzQgMTQuNjQxYy4wODguMDA5LjE5OC0uMDEyLjI2LjAzMy4xMjYuMDkxLjMxNi4yMjEuMzExLjMzLS4wMDQuMTM2LS4xNDguMzIzLS4yOC4zOS0uMjgzLjE0Mi0uNTEyLS4wNDEtLjY5NC0uMjQ1LS4wNDktLjA1NC0uMDY5LS4yMjMtLjAzMi0uMjUzLjEyOC0uMTA2LjI4OC0uMTczLjQzNS0uMjU1TTE5MC4xMDIgOC4xOTRjLjI0LjA3OC41MDMuMTE4LjcwOC4yNS4xMDkuMDY4LS4yNjguMjU2LS42ODIuMTktLjE2LS4wMjQtLjMwNi0uMTM0LS40NTgtLjIwNnEuMjE1LS4xMTkuNDMyLS4yMzRNMTk1LjE5NyA2LjEzYy4yODQuMTE1LjQwNi4zNjUuMjM1LjU5LS4wODYuMTE2LS4zMDEuMjE0LS40NC4xOTMtLjI0Ny0uMDM1LS4zNTQtLjM0NS0uMjQyLS42MDguMDg0LS4xOTcuMjQ2LS4yNS40NDctLjE3Nk05Ni44MjcgOS42MDRjLjAxNS4wNTUtLjA0Ni4xNTctLjEuMjA1LS4xMzYuMTE3LS4yNDcuMDUtLjI3OC0uMTc4LS4wMzItLjIzMy0uMDkzLS40OC4xNDUtLjY1Ni4wOC4yMDguMTcxLjQxNC4yMzMuNjI5TTY5LjgyMiAxNC4wODFjLjE1OC4xNDIuMzIzLjIyMy4zNzMuMzUuMDk1LjI0MS0uMTkuNS0uNDU3LjQ1LS4zMTQtLjA2MS0uNjUtLjM3My0uNTMzLS40NzguMTcyLS4xNTQuNDItLjIyNS42MTctLjMyMk0yMjIuMjk4IDMuNjMxYy4xNC0uMTcuMjU5LS40MTMuNDUzLS41Mi4yMDktLjExNy42MjEuMjk1LjQ5LjQ2LS4xNjEuMjAyLS40MDYuMzM3LS42MTMuNXpNLjY2IDE0LjY2N2MtLjExNS0uMDE0LS4yOTMtLjAyMi0uNDYxLS4wNjUtLjA3Ni0uMDItLjEzNC0uMTEtLjE5OS0uMTY5LjA5Ny0uMTA1LjE4LS4yNzkuMjkzLS4zLjI1Mi0uMDQ3LjUyMi0uMDUuNzc0LS4wMDYuMTI4LjAyMy4yMzEuMTg2LjM0NS4yODYtLjE0NC4wODUtLjI4My4xODItLjQzNC4yNDktLjA3My4wMzItLjE3My4wMDUtLjMxOC4wMDVNMjcxLjA5MSAxNC4yNzNsLjIzNC4xMTRjLS4xMjQuMTEtLjI0My4yMjctLjM3OC4zMi0uMDE5LjAxNC0uMTY0LS4wODMtLjE3LS4xMzktLjAyNy0uMjEyLjA5My0uMzEzLjMxNC0uMjk1TTUwLjczMiAxNC4zMDVjLS4wMzEuMjYtLjI1OS4zODUtLjU0OC4yOS0uMjAzLS4wNjctLjI3LS4yLS4yMTEtLjM3My4wOTQtLjI3NC40MDItLjQ4Ny41NTItLjM1NC4xMS4wOTkuMTQuMjg4LjIwNy40MzdNNDIuNTk1IDEzLjU0NGMtLjI1My4xMTQtLjUwNS4wODctLjY3Ni0uMTE4YS41Mi41MiAwIDAgMS0uMDY2LS40NGMuMDQ4LS4xMy4yMDYtLjI0Mi4zNDItLjMxLjE4Mi0uMDkyLjM2NS0uMDA2LjM5LjIuMDI2LjIzMy0uMDI1LjQ3NS0uMDQzLjcxM3pNNDQuNjEyIDEzLjgyYy4wNTQuMDQyLjE1OC4wODkuMTU1LjEyNC0uMDIuMi0uMTM3LjI3Mi0uMjkxLjE3OS0uMDQ0LS4wMjctLjA3MS0uMTUtLjA0OC0uMjAzLjAyMi0uMDUuMTItLjA2OC4xODQtLjFNNDcuMDIgMTMuODM3Yy4wMS0uMzM5LS4wMS0uNjgxLjA0My0xLjAxMy4wMTMtLjA4Mi4yNS0uMTQzLjM5Mi0uMTguMDU5LS4wMTUuMTc5LjA0My4yLjA5NWEuMy4zIDAgMCAxLS4wMzguMjQ0Yy0uMS4xMzMtLjIzNi4yMzgtLjM0NS4zNjQtLjExLjEyNy0uMjA2LjI2Ni0uMzAyLjQwNy4wMDYuMDA2LjA1LjA4My4wNS4wODNNNzYuMzY4IDEzLjgxM2MuMTEzLS4xMjkuMjE0LS4yNjcuMzM4LS4zOC4xNzMtLjE1Ni4zNTQtLjE1LjQxMi4wMjUuMDQ3LjE0LjA2LjM1Ni0uMDE4LjQ1My0uMDk2LjEyLS4zMDIuMi0uNDYxLjItLjA5IDAtLjE4LS4xOTMtLjI3LS4yOTlNNzcuMTggMy4wNDhjLjA4Mi4yNC4xLjQ3NC0uMTE2LjY1NS0uMDM3LjAzMi0uMTUzLjAzLS4xOS0uMDAzLS4yMS0uMTg3LS4yMTItLjQyLS4wOTMtLjY1Mi4wMzUtLjA2NS4xMy0uMTM3LjE5OC0uMTM2LjA2OCAwIC4xMzUuMDg3LjIwMS4xMzZNOTIuMTYgMTIuOTczYy4xMS4wMDEuMjMuMTgyLjMxLjMwNC4wMjcuMDM4LS4wMzQuMTk1LS4wODYuMjE0LS4xNTcuMDU4LS4zMzMuMTE1LS40OTQuMS0uMjQ0LS4wMjMtLjMzNC0uMjEtLjE4LS4zOThhLjY1LjY1IDAgMCAxIC40NS0uMjJNODcuMDk2IDMuNTQ3Yy4wNzQtLjAxNi4xNTQtLjA1Ny4yMTgtLjAzOC4wNTUuMDE2LjEzMy4xMDUuMTI2LjE1My0uMDI4LjIyNS0uMTQ1LjI1NC0uMy4wNzUtLjAzOC0uMDQzLS4wMy0uMTI1LS4wNDQtLjE5TTEzOS4yMzkgMTMuMzg1bC4yLS40NDNjLjE0Mi4wNzguMzM3LjEyMi40MTMuMjQyLjEwOC4xNzEuMDAxLjMzMy0uMTk5LjRxLS4zMDIuMDk4LS40MTQtLjJNMTM2LjkzNyAxMi41ODFjLjE0My4wNjIuMzI1LjA5LjQyMy4xOTQuMTc2LjE5My4xMDIuNjk2LS4wNTEuNjQ3YS45My45MyAwIDAgMS0uNDAxLS4yNzZjLS4wOTEtLjEwOC0uMTMyLS4yNy0uMTU4LS40MTQtLjAwOC0uMDM3LjEyLS4xLjE4Ny0uMTVNMTMyLjc5NCAxMy4zODhjLS4wODIuMTQtLjEzOS4zMDMtLjI1MS40MTMtLjEzNi4xMzMtLjM1Ni0uMTMtLjM1NS0uNDM2IDAtLjA4Mi0uMDE1LS4xOC4wMjMtLjI0NC4wNzctLjEzNC4xODUtLjI1LjI4MS0uMzc0LjA5MS4xMzMuMTkyLjI2Mi4yNjkuNDAzLjAzNS4wNjYuMDIzLjE1OC4wMzMuMjM4TTIxOS4yNDkgMTMuNTg5Yy4wOTgtLjEzNy4xNjgtLjMxOS4zLS4zOTQuMTA4LS4wNjIuMjg5LjAwMS40MzcuMDEtLjAxOC4xNDUuMDA4LjMyNC0uMDY4LjQyN2EuNzMuNzMgMCAwIDEtLjQxOS4yNTVjLS4wNjIuMDEyLS4xNjQtLjE5Mi0uMjUtLjI5OE0zNS41OSAxNC4zMmMuMDY0LS4yODQuMzM3LS41MjYuNTc2LS40NTcuMTE3LjAzNC4yNS4yMTkuMjY3LjM1LjAzMy4yNDEtLjI0Ni40NDctLjU0OC4zOTItLjExNS0uMDIxLS4yMDMtLjE5LS4yOTYtLjI4NU0xODMgMTQuMjc3Yy4wNjUtLjAxLjE3My4wMzguMjA1LjA5My4wNzUuMTI5LS4wMjQuMjQ1LS4yNDIuMjI1LS4xNDMtLjAxNC0uMjc4LS4xMjItLjQxNy0uMTg5LjE1MS0uMDQ1LjI5OS0uMTA1LjQ1NC0uMTNNMjQuMjMxIDEzLjQ4NmMuMTk4LS4wNjUuMzIyLjAwMy40MDMuMTk0LjA4NC4xOTguMDQ1LjM2OS0uMTYyLjM5My0uMTM4LjAxNS0uMjkzLS4xLS40NC0uMTU2ek0xOTkuNjA2IDcuNjI3Yy0uMTEuMTExLS4yMDQuMjgtLjMzNi4zMTktLjIwNy4wNjEtLjM2My0uMjYzLS4yNzEtLjU1Ny4wNTktLjE5My4yMzMtLjI5Mi40MDctLjE4LjExMS4wNy4xMzcuMjc0LjIuNDE4TTE5Ni43OTggMTMuNzNjLS4yMDguMDE2LS4zNjgtLjA5Mi0uMzE3LS4yODIuMDI3LS4xMDEuMjQ2LS4xNy4zOTEtLjIxMS4wNi0uMDE3LjIwOS4wNjcuMjE2LjEyMS4wMzMuMjA2LS4wODMuMzMyLS4yOS4zNzFNMTk1LjkwMyAzLjI2Yy4xMjQuMDQuMjMzLjA1My4yMzYuMDc5LjAyOC4yMzQuMDQ3LjQ3LjA0Mi43MDQgMCAuMDQtLjEzMi4xMTYtLjE4Ny4xMDQtLjA3NC0uMDE2LS4xODktLjEwNi0uMTg3LS4xNTkuMDEyLS4yNC4wNi0uNDc4LjA5Ni0uNzI5TTE5NC45NjUgMi42OTRjLS4wOTEuMi0uMjQ3LjI2LS40MTQuMTE4LS4xMTUtLjA5OC0uMTc4LS4yNTYtLjI2NC0uMzg3LjE1Ni0uMDQzLjMxNS0uMTI5LjQ2Ni0uMTE3LjIxMS4wMTguMjc4LjE4MS4yMTIuMzg2TTE5MC40NSAxLjI2M2MtLjEwMy0uMjQzLS4yMTgtLjQ4Mi0uMy0uNzMxLS4wMi0uMDU5LjA0My0uMTkxLjEwMi0uMjIyLjE5Ny0uMS4zMjUtLjAxOC4zNzkuMi4wNzIuMjkzLS4wMTguNTE5LS4yNTUuNjk0ek0xNzQuMjk3IDE0Ljc1NGMuMDQuMDczLjEyOS4xNi4xMTMuMjE2LS4wNjQuMjA3LS4yMTguMjU3LS40LjEzNy0uMDY2LS4wNDQtLjEwMS0uMTMxLS4xNS0uMTk5ek0yMDAuMzE5IDUuMjVjLjA1OC4wNjEuMTM5LjExNC4xNzEuMTg3LjA4Ny4xOTQuMDIxLjM1Mi0uMTgxLjQxMS0uMDQ2LjAxMy0uMTktLjExOS0uMTgxLS4xNTUuMDQyLS4xNTQuMTIzLS4yOTcuMTkxLS40NDRNMTg2LjY2OCAxMS41MmwuMTQ2LjE4OGMtLjEzOS4wNS0uMjc1LjExNC0uNDE3LjEzNi0uMDQxLjAwNy0uMTAyLS4xMDgtLjE1NC0uMTY4ek0xODkuMDQ1IDEzLjkxNWMtLjEzNi0uMjE0LS4zMDQtLjQxNi0uMzg5LS42NS0uMDMyLS4wODYuMTE2LS4yNTUuMjExLS4zNjIuMDMxLS4wMzQuMTc2LS4wMTcuMjI0LjAyNi4wNTcuMDUuMTAxLjE2Mi4wODYuMjM1LS4wNDkuMjQ3LS4xMjcuNDg4LS4xODQuNzM3YS4zLjMgMCAwIDAgLjA1Mi4wMTRNMTg5Ljk4NSAxMS4wOTZjLjAwOS0uMDg3LjAzNC0uMTc3LjAyMS0uMjYtLjAzOS0uMjQuMDUyLS4zNTkuMjg4LS4zMjEuMDczLjAxMi4xMzMuMTA2LjE5OC4xNjItLjA2NS4wNTgtLjEyOC4xMTktLjE5NS4xNzNxLS4xOTkuMTU1LS4zOTguMzA3ek0xOTIuNzM2IDExLjYzbC0uMDU1LS4yNjIuMDEyLjE5MXpNMTkzLjczNSAxNC4yNWMuMDYyLjA1Ni4xNzUuMTIuMTY2LjE1NC0uMDQ3LjE4OC0uMTgzLjI0Ny0uMzYuMTY1LS4wNjctLjAzLS4xMTctLjA5NC0uMTc0LS4xNDJ6Ii8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTE5Mi42OTMgMTEuNTYuNDUzLjAxNy0uMDQyLS4ycS0uMTg1LjExOC0uMzY4LjI0N2ExIDEgMCAwIDEtLjA0My0uMDY1TTEwOC41NzggMTQuMTQ1Yy4xMTUtLjExMi4yMTYtLjI5MS4zNDktLjMyLjIxLS4wNDcuMTk1LjAzOS0uMDcyLjEyLS4wNzYuMDI1LS4xNDguMDctLjIyMi4xMDZ6TTExMS41MTQgNi44NDVsLS4yMjguMDUyLjA1Mi0uMTgzek0xMTYuMTMgMTMuNjUybC40NTEuMjA3Yy0uMDY3LjA1Ny0uMTI0LjEzMy0uMi4xNjktLjIwNS4wOTctLjM2NS4wMzEtLjQyLS4xODctLjAxMi0uMDQ1LjEwOS0uMTI1LjE2OS0uMTlNMTM0Ljk1MSA4Ljk0MWMtLjAyMS4wNDUtLjA0LjEyNi0uMDY0LjEyOC0uMDYxLjAwNS0uMTI0LS4wMjctLjE4Ni0uMDQ0LjAyLS4wNDguMDM5LS4xMzYuMDYxLS4xMzcuMDYzIDAgLjEyNi4wMzMuMTg5LjA1M005My45ODQgMTQuMzZjLjAyMy4wNjQuMDgxLjE0LjA2My4xODgtLjA4My4yMTQtLjIwNC4yMjktLjMwMi4wMzgtLjAyNy0uMDUyLS4wMDYtLjE2NC4wMzUtLjIwNS4wMzgtLjAzNy4xMzQtLjAxNi4yMDQtLjAyTTE2Ni4xNjkgMTEuNzM0Yy0uMDcyLjA0Mi0uMTQ4LjEyNS0uMjE1LjExOS0uMjU5LS4wMjUtLjMyMy0uMTQxLS4xNjItLjI3MmEuMy4zIDAgMCAxIC4yNTItLjA0MWMuMDU3LjAxOC4wODQuMTI2LjEyNS4xOTRNMTU4LjY4OCAxMy40NWMwIC4wODguMDI1LjE4My0uMDA3LjI1LS4wMzIuMDY5LS4xMjEuMTEtLjE4Ni4xNjItLjA1OS0uMTQ1LS4xMzItLjI4OC0uMTY3LS40MzktLjAwNy0uMDMyLjEyNy0uMTM4LjE5LS4xMzNzLjExOC4xMDcuMTcuMTZNMjg1LjExIDEwLjc2bC0uMDkxLjE5My0uMDctLjIwNXpNMjEyLjQ0MiAxMy4xN3EuMTk3LjA5OC4zOTMuMTk3Yy0uMDU4LjA1NC0uMTMzLjE2NC0uMTcyLjE1My0uMTQtLjA0NC0uMjY5LS4xMjctLjQwMy0uMTk1ek0yMTQuNTcyIDEzLjI4bC0uMTY5LjE1OGMtLjAzMy0uMDctLjEwMi0uMTQ4LS4wOS0uMjEuMDE0LS4wNjUuMTA0LS4xMTQuMTYtLjE3ek0yMjAuODkyIDEyLjkyOGMuMDQuMDU3LjExNS4xMTUuMTEzLjE3MS0uMDA2LjIwNy0uMTA4LjI2NC0uMjQyLjE0Mi0uMDQxLS4wMzgtLjA1MS0uMTQ2LS4wMy0uMjA1LjAxNy0uMDQ5LjEwMy0uMDczLjE1OS0uMTA4TTIxNy43MTUgNS43NDFjLjAyNC0uMjMtLjI5My0uNDIzLS4wNzUtLjY3NS4wMzguMDQ0LjExLjA5LjEwNy4xMy0uMDE0LjE3NC0uMDUxLjM0Ni0uMDc4LjUxOXpNMjE3LjIxNyAxMi40MTdsLS4wODEuMTY3LS4wNTQtLjE4ek0yNjcuMDY1IDE0LjI4MmwtLjAzNy0uMTguMTI0LjAyN3pNMjU2LjkyMSAxNC45M2MtLjEwNi4wNzItLjIxMi4yLS4zMTguMi0uMDg5IDAtLjE3OC0uMTUtLjI2Ni0uMjM0LjE0MS0uMDQ4LjI4LS4xMTIuNDI1LS4xMzMuMDQ0LS4wMDYuMTA2LjEwNy4xNTkuMTY2TTQyLjU0MiAxMy41OWwuMzM3LjMxNi0uMTY1LjExNC0uMTE5LS40NzZ6TTEwLjE3MSAxMy4xOTZsLjMzLjE5OS0uMjcyLjM3M2MtLjA1OS0uMDYtLjE2OC0uMTItLjE2NS0uMTc2LjAwOC0uMTMzLjA2OC0uMjYzLjEwNy0uMzk2TTExLjk0MiAxMy4zNzdjLjEwNi0uMDk4LjIxMS0uMjY4LjMwNS0uMjYzLjExOC4wMDcuMjMzLjE1NC4zMzIuMjU3LjAxLjAxMi0uMTEzLjIwMy0uMTQ2LjE5NS0uMTY0LS4wNC0uMzE3LS4xMTgtLjQ5LS4xODlNNzMuNjI1Ljc0M3YuMTQ4bC0uMTktLjA3NXpNNTcuMTY0IDEyLjQyOWMuMDk3LS4xMjMuMTgzLS4yNTUuMjk3LS4zNTkuMDMtLjAyOC4xNy4wMS4yMTUuMDYuMTQuMTUzLjA5Ni4zMi0uMTIxLjM1NS0uMTM3LjAyMy0uMjk0LS4wNzctLjQ0Ni0uMTI1LS4wMDItLjAwNS4wNTUuMDY5LjA1NS4wNjlNNzEuNjA4IDE0LjM0M2MuMDY0LS4wMjYuMTI5LS4wNzcuMTg0LS4wNjguMDU1LjAxLjEuMDc4LjE1LjEyMXpNNjMgOS45MjFsLjE5Ny4xMzQtLjI2LjM2NGMtLjA1Ni0uMDU3LS4xMzYtLjEwMy0uMTYyLS4xNzEtLjA4LS4yMDQuMDA1LS4zMTcuMjI0LS4zMjdNMTYxLjM4NiAxMi42NTdsLjA0My4zMzRjLS4wMi0uMTEtLjA0LS4yMi0uMDY2LS4zNC0uMDA1LS4wMDkuMDIzLjAwNi4wMjMuMDA2TTE3MS4wMDUgMTQuMzc0bC4wNjQuMTM1LS4xMzEtLjA2OXpNMTY5LjUwNSA4LjQ0NGMtLjA1NS4wNDctLjExMy4xMzYtLjE2NS4xMzEtLjA1MS0uMDA0LS4xMzYtLjEwMi0uMTMyLS4xNTNzLjEtLjA5Ny4xNTQtLjE0NHpNMTk3LjQzNCA1LjcwNGwuMTk2LS4wNzUtLjAxNi4xODN6TTE4OS44OTkgMTEuMTU3di0uMTY4cS0uMjIuMDkzLjA4OC4xMDFjLS4wMDEuMDA1LS4wODguMDY3LS4wODguMDY3Ii8+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTEwOC42MzMgMTQuMDUuMDE2LjE1N3EuMTg5LS4xNjQtLjA2Ny0uMDY5ek0xMDEuMzkyIDEyLjczN2wuMTk3LS4wNjQtLjAyOS4xODR6TTg5Ljk4Mi44NDdsLjE2Mi0uMDUtLjAyMS4xNDR6TTgwLjM3IDYuODEybC0uMTQ0LjA0LjAyMS0uMTI2ek05OC43NTUgNC4yMTFsLS4wNTktLjE1Ny4xNTQuMDE4ek05OC4xNzcgNi4zODNsLS4wNDktLjE1NC4xNDIuMDIzek0xNTcuNDM5IDE0LjIzOWwuMTYyLjE3NmMtLjA2MS4wNTMtLjEyNC4xNDctLjE4Mi4xNDRzLS4xMDktLjEwNS0uMTYzLS4xNjR6TTEyOS42MDIgNS4yMThsLjE0OC0uMDYtLjAxNC4xNDd6TTI1OS4zODkgMS4zNzhsLjE5NC0uMDY1LS4wMjIuMTc2ek0yNTguNDMxIDE0Ljc5MmwuMTM4LjE2NGMtLjA1Ni4wNDQtLjExNy4xMjctLjE2OC4xMjEtLjA1MS0uMDA1LS4wOTUtLjA5OC0uMTQtLjE1M3pNMjE3LjY3IDUuNzE0bC0uMzM5LS4xMjJjLjEyLjA0My4yNC4wODUuMzczLjEzOC4wMTIuMDExLS4wMzQtLjAxNi0uMDM0LS4wMTZNMjIwLjM4MyAxLjg0NGwuMDY3LjE5Mi0uMTc2LS4wMjJ6TS41MTYgMS4yM2wuMTQxLjE2NWMtLjA1Ni4wNDQtLjExNy4xMjktLjE3LjEyNC0uMDUxLS4wMDYtLjA5NS0uMS0uMTQxLS4xNTV6TTI0OS41MDIgMTIuNzI2cS4wODktLjA4MS4xODEtLjE2MWMuMDUyLjA2Mi4xNDkuMTI2LjE0NS4xODRzLS4xMDkuMTA4LS4xNjkuMTYyek0yNDcuNzcgMTIuNTg3bC4xNS0uMDI4LS4xLS4wNDh6TTUuMjU2IDEzLjM5YzAtLjA1NS0uMDIyLS4xMjQuMDA0LS4xNTcuMTAzLS4xMzMuMjItLjEwMS4zMDcuMDkxLjAxLjAyMi0uMDk2LjExNy0uMTYxLjE0LS4wMzkuMDEzLS4xMDMtLjA0OS0uMTUtLjA3NCIvPgo8L3N2Zz4K');
      mask-size: auto 100%;
      max-width: 285px;
      position: absolute;
      width: 102%;
    }
  }

  .policies-space-hide {
    display: none;
  }

  @media (min-width: 1024px) {
    .basic-page,
    .shopify-policy__container {
      margin-block: var(--spacing-top, 7.875rem) var(--spacing-bottom, 10.25rem) !important;
      row-gap: 7.75rem;
    }

    .basic-page__body,
    .shopify-policy__title,
    .shopify-policy__body {
      grid-column: 1 / span 8;
    }
  }

  /**
   * Category links.
   */
  .category-links {
    display: flex;
    gap: var(--spacing-8);
    list-style: none;
    overflow-x: auto;
    padding-inline: var(--container-gutter);
    scroll-padding-inline: var(--container-gutter);
  }

  .category-links__link {
    /**
     * Button reset.
     */
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    padding: 0;
    text-align: inherit;

    border: 1px solid var(--color-black);
    display: block;
    padding-block: 0.59375rem;
    padding-inline: 1.25rem;
    white-space: nowrap;

    &.is-current {
      background-color: var(--color-black);
      color: var(--color-white);
    }
  }

  @media (hover: hover) {
    .category-links__link:hover {
      background-color: var(--color-black);
      color: var(--color-white);
    }
  }
}

@layer utilities {
  /**
   * Reset classes.
   */
  .button-reset {
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    padding: 0;
    text-align: inherit;
  }

  .list-reset {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  .disclosure-reset {
    summary {
      cursor: pointer;
      list-style: none;

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

      .icon__plus,
      .icon__minus {
        --size: 16px;
      }
    }

    &[open] {
      summary {
        .icon__plus {
          display: none;
        }
      }
    }

    &:not([open]) {
      summary {
        .icon__minus {
          display: none;
        }
      }
    }
  }

  accordion-item {
    --accordion-body-height: 0fr;

    [data-ref='accordion-item.body'] {
      align-items: start;
      display: grid;
      grid-template-rows: minmax(var(--accordion-body-height-min, 0), var(--accordion-body-height));
      opacity: 0;
      overflow: hidden;
      transition:
        grid-template-rows 0.25s ease-in-out,
        opacity 0.125s ease-out var(--opacity-transition-delay, 0.125s);

      & > *:first-child {
        overflow: hidden;
      }
    }

    &:not(.is-open) [data-ref='accordion-item.button'] .icon__minus,
    &.is-open [data-ref='accordion-item.button'] .icon__plus {
      display: none;
    }

    &.is-open {
      [data-ref='accordion-item.body'] {
        --accordion-body-height: 1fr;
        --opacity-transition-delay: 0s;
        opacity: 1;
      }
    }

    &.no-transition [data-ref='accordion-item.body'] {
      transition: none !important;
    }
  }

  .styled-accordion {
    --padding-block: var(--spacing-16);
    --space-between: var(--spacing-16);
    --accordion-body-height-min: calc(var(--padding-block) - var(--space-between));
    border-block: 1px solid currentColor;
    display: block;
    width: 100%;

    & + & {
      border-block-start: 0;
    }
  }

  .styled-accordion__button {
    align-items: center;
    display: flex;
    gap: var(--spacing-12);
    padding-block: var(--padding-block) var(--space-between);
    transition: margin-block-end 0.25s ease-in-out;
    width: 100%;

    .icon {
      --size: var(--icon-size, 16px);
      margin-inline-start: auto;
    }
  }

  .styled-accordion__body {
    &::after {
      content: '';
      display: block;
      height: var(--padding-block);
    }
  }

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

  .contents {
    display: contents;
  }

  .hidden,
  .hide-empty:empty {
    display: none !important;
  }

  .block {
    display: block;
  }

  .height-full {
    height: 100%;
  }

  .width-full {
    width: 100%;
  }

  .relative {
    position: relative;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .margin-0 {
    margin: 0;
  }

  .padding-0 {
    padding: 0;
  }

  .margin-top-auto {
    margin-block-start: auto;
  }

  .margin-right-auto {
    margin-inline-end: auto;
  }

  .margin-bottom-auto {
    margin-block-end: auto;
  }

  .margin-left-auto {
    margin-inline-start: auto;
  }

  .hide-scrollbar,
  .flex-body {
    -ms-overflow-style: none;
    scrollbar-width: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .flex,
  .inline-flex {
    display: flex;
    gap: var(--gap, 0);
  }

  .flex-inherit {
    display: flex;
    flex-direction: inherit;
    justify-content: inherit;
    align-items: inherit;
    gap: inherit;
    flex-wrap: inherit;
  }

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

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

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

  .flex-row-reverse {
    flex-direction: row-reverse;
  }

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

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

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

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

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

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

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

  .justify-between {
    justify-content: space-between;
  }

  .flex-gap-xxsmall {
    gap: var(--spacing-2);
  }

  .flex-gap-xsmall {
    gap: var(--spacing-4);
  }

  .flex-gap-small {
    gap: var(--spacing-8);
  }

  .flex-gap-medium {
    gap: var(--spacing-16);
  }

  .flex-gap-large {
    gap: var(--spacing-32);
  }

  .flex-gap-xlarge {
    gap: var(--spacing-64);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-body {
    flex-grow: 1;
    overflow-y: auto;
    position: relative;
  }

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

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

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

  .text-weight-regular {
    font-weight: var(--font-weight-regular);
  }

  .text-weight-medium {
    font-weight: var(--font-weight-medium);
  }

  .text-weight-bold {
    font-weight: var(--font-weight-bold);
  }

  .underline {
    text-decoration: underline;
  }

  .link-list {
    & > li {
      & > a {
        display: block;
        padding-block: calc(var(--spacing, 0) / 2);
      }

      &:first-of-type a {
        padding-block-start: 0;
      }

      &:last-of-type a {
        padding-block-end: 0;
      }
    }
  }

  .no-transition {
    transition: none !important;
  }

  .pointer {
    cursor: pointer;
  }

  .uppercase {
    text-transform: uppercase;
  }

  /**
   * Breakpoint-specific display.
   */
  @media (min-width: 768px) {
    .until-medium {
      display: none !important;
    }
  }

  @media (max-width: 767px) {
    .from-medium {
      display: none !important;
    }
  }

  @media (min-width: 1024px) {
    .until-large {
      display: none !important;
    }
  }

  @media (max-width: 1023px) {
    .from-large {
      display: none !important;
    }
  }
}

@layer typography {
  /**
   * Body.
   */
  body {
    color: var(--color-text);
  }

  body,
  .text-body,
  .text-body-xsmall,
  .text-body-small,
  .text-body-medium,
  .text-body-large {
    -webkit-font-smoothing: antialiased;
    font-family: var(--font-body);
    font-size: var(--font-size-medium);
    font-weight: var(--font-body-weight);
    letter-spacing: 0;
    line-height: 1.4;
    text-rendering: optimizespeed;
  }

  .text-body-xsmall {
    font-size: 0.625rem;
    line-height: 1;
  }

  .text-body-small {
    font-size: 0.75rem;
    line-height: 1.33333333;
    text-transform: uppercase;
  }

  .text-body-medium,
  .text-body-large {
    font-size: 0.875rem;
  }

  .text-body-medium {
    font-family: var(--font-heading);
  }

  /**
   * Headings.
   */
  :root {
    --text-h4-font-size: 1.125rem;
    --text-h4-letter-spacing: -0.015625rem;
    --text-h4-line-height: 0.88888889;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  [class*='text-h']:not([class*='lg:text-h']) {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    margin-block: 0;
    text-transform: uppercase;
  }

  h1,
  .text-h1 {
    font-size: 2rem;
    letter-spacing: -0.015625px;
    line-height: 0.875;
  }

  h2,
  .text-h2 {
    font-size: 1.5rem;
    letter-spacing: -0.015625rem;
    line-height: 1;
  }

  h3,
  .text-h3 {
    font-size: 1.5rem;
    letter-spacing: -0.015625rem;
    line-height: 0.83333333;
  }

  h4,
  .text-h4 {
    font-size: var(--text-h4-font-size);
    letter-spacing: var(--text-h4-letter-spacing);
    line-height: var(--text-h4-line-height);
  }

  h5,
  .text-h5 {
    font-size: 0.875rem;
    letter-spacing: 0;
    line-height: 1;
  }

  h6,
  .text-h6 {
    font-size: 0.625rem;
    letter-spacing: 0;
    line-height: 1;
  }

  .heading-margin {
    margin-block-end: var(--heading-margin);
  }

  @media (min-width: 1024px) {
    :root {
      --text-h4-font-size: 1.25rem;
      --text-h4-line-height: 0.9;
    }

    [class*='lg:text-h'] {
      font-family: var(--font-heading);
      font-weight: var(--font-heading-weight);
      margin-block: 0;
      text-transform: uppercase;
    }

    h1,
    .text-h1 {
      font-size: 2.5rem;
      letter-spacing: -0.03125rem;
      line-height: 0.9;
    }

    .text-h2 {
      font-size: 2rem;
      line-height: 0.875;
    }

    .text-h3 {
      font-size: 1.75rem;
      line-height: 0.85714286;
    }

    .lg\:text-h4 {
      font-size: var(--text-h4-font-size);
      letter-spacing: var(--text-h4-letter-spacing);
      line-height: var(--text-h4-line-height);
    }
  }

  /**
   * Custom.
   */
  :root {
    --text-cta-large-font-family: var(--font-body);
    --text-cta-large-font-size: 0.75rem;
    --text-cta-large-font-weight: var(--font-weight-regular);
    --text-cta-large-letter-spacing: 0;
    --text-cta-large-line-height: 1.08333333;
    --text-cta-large-text-transform: uppercase;
  }

  .text-tag,
  .badge {
    font-family: var(--font-body);
    font-size: 0.6875rem;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .text-display-large {
    font-family: var(--font-heading);
    font-size: 5rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.046875px;
    line-height: 0.9;
    text-transform: uppercase;
  }

  .text-display-small {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.03125px;
    line-height: 0.9;
    text-transform: uppercase;
  }

  .text-eyebrow-large,
  .rte-highlight {
    font-family: var(--font-body);
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .text-eyebrow-small {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1;
  }

  .text-cta-large,
  input,
  textarea,
  .button,
  .shopify-payment-button
  /** triple selector to improve specificity */
  .shopify-payment-button__button--unbranded.shopify-payment-button__button--unbranded.shopify-payment-button__button--unbranded {
    font-family: var(--text-cta-large-font-family);
    font-size: var(--text-cta-large-font-size);
    font-weight: var(--text-cta-large-font-weight);
    letter-spacing: var(--text-cta-large-letter-spacing);
    line-height: var(--text-cta-large-line-height);
    text-transform: var(--text-cta-large-text-transform);
  }

  .text-cta-small,
  .cta-small-text {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1;
  }

  @media (min-width: 768px) {
    .md\:text-cta-large {
      font-family: var(--text-cta-large-font-family);
      font-size: var(--text-cta-large-font-size);
      font-weight: var(--text-cta-large-font-weight);
      letter-spacing: var(--text-cta-large-letter-spacing);
      line-height: var(--text-cta-large-line-height);
      text-transform: var(--text-cta-large-text-transform);
    }
  }

  @media (min-width: 1024px) {
    .text-display-large {
      font-size: 10rem;
      letter-spacing: -0.09375rem;
    }

    .text-display-small {
      font-size: 5.5rem;
      letter-spacing: -0.046875px;
    }
  }
}
