@charset "UTF-8";

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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0
}

[role=list],
ul[role=tablist],
ul[role=listbox],
ol[role=list] {
    list-style: none
}

html:focus-within {
    scroll-behavior: smooth
}

body {
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.5
}

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

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

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

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

    *,
    *:before,
    *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }
}

body {
    font-family: var(--font-b-family);
    background-color: var(--color-default-background);
    color: rgb(var(--color-default-text))
}

.color-custom,
.color[class*=color-] {
    color: rgb(var(--color-foreground));
    background-color: rgba(var(--color-background))
}

.color-soft {
    --color-foreground: var(--color-default-text);
    --color-background: var(--color-soft-background);
    --color-accent: var(--color-foreground)
}

.color-default,
.color-default-with-accent-1 {
    --color-foreground: var(--color-default-text);
    --color-background: var(--color-default-background);
    --color-gradient: var(--color-gradient-background)
}

.color-default-with-accent-1 {
    --color-accent: var(--color-accent-1)
}

.color-inverse,
.color-inverse-with-accent-2 {
    --color-gradient: var(--color-gradient-text)
}

.color-inverse {
    --color-foreground: var(--color-default-background);
    --color-background: var(--color-default-text)
}

.color-inverse-with-accent-2 {
    --color-foreground: var(--color-default-background);
    --color-background: var(--color-default-text);
    --color-accent: var(--color-accent-2)
}

.color-accent-1 {
    --color-foreground: var(--color-default-background);
    --color-background: var(--color-accent-1);
    --color-accent: var(--color-foreground);
    --color-gradient: var(--color-gradient-accent-1)
}

.color-accent-2 {
    --color-foreground: var(--color-default-text);
    --color-background: var(--color-accent-2);
    --color-accent: var(--color-foreground);
    --color-gradient: var(--color-gradient-accent-2)
}

.color-accent-3 {
    --color-foreground: var(--color-default-background);
    --color-background: var(--color-accent-3);
    --color-accent: var(--color-foreground);
    --color-gradient: var(--color-gradient-accent-3)
}

.color-soft-background {
    background-color: rgba(var(--color-default-text), var(--color-soft-background-opacity))
}

.color-soft-background--default-color {
    --color-foreground: var(--color-default-text)
}

.soft-background {
    background-color: rgba(var(--color-default-text), var(--soft-background-opacity))
}

.soft-background--default-text {
    color: rgb(var(--color-default-background)) !important
}

.color-accent,
.rte a {
    color: rgb(var(--color-accent, currentColor)) !important
}

.color-gradient {
    background: rgb(var(--color-background));
    background: var(--color-gradient)
}

.color-gradient--fixed {
    background-attachment: fixed
}

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

div[class*=--x-small] {
    --height: var(--section-height-x-small)
}

div[class*=--small] {
    --height: var(--section-height-small)
}

div[class*=--medium] {
    --height: var(--section-height-medium)
}

div[class*=--large] {
    --height: var(--section-height-large)
}

div[class*=--x-large] {
    --height: var(--section-height-x-large)
}

[class*=--landscape] {
    --aspect-ratio: 56.25%
}

[class*=--portrait] {
    --aspect-ratio: 150%
}

[class*=--square],
[class*=--circle] {
    --aspect-ratio: 100%
}

.scroll-lock {
    overflow: hidden;
    touch-action: none
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: rgba(var(--color-default-background))
}

#MainContent {
    flex: 1;
    background-color: rgb(var(--color-default-background))
}

.template-password {
    display: grid
}

.container {
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-gutter);
    padding-right: var(--container-gutter)
}

.container--capped {
    max-width: 1600px
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

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

.overflow {
    overflow: initial !important
}

.section-vertical-spacer {
    padding-top: calc(var(--padding-top, 1) * var(--vertical-spacer));
    padding-bottom: calc(var(--padding-bottom, 1) * var(--vertical-spacer))
}

.vertical-spacer {
    padding-top: var(--vertical-spacer);
    padding-bottom: var(--vertical-spacer)
}

.vertical-spacer--reduced {
    padding-top: var(--container-gutter);
    padding-bottom: var(--container-gutter)
}

#MainContent.template-index>:first-child .section-vertical-spacer {
    padding-top: calc((var(--padding-top, 1) * var(--vertical-spacer)) + var(--header-transparent-buffer, 0))
}

.shopify-section--span-height:first-child>div {
    display: grid;
    height: 100%
}

.section-vertical-spacer>.section-span-height-wrapper {
    display: grid;
    height: 100%
}

.section-form {
    display: grid;
    gap: 50px;
    justify-items: center;
    width: 100%
}

.section-form--start {
    justify-items: start;
    align-content: start
}

.section-form>form {
    min-width: min(540px, 100%);
    max-width: 540px;
    margin: 0 auto
}

.section-form+.product-grid {
    margin-top: var(--vertical-spacer)
}

.section-form+.collection {
    padding-top: calc(var(--vertical-spacer) / 2)
}

.template-search,
.template-account,
.template-activate_account,
.template-addresses,
.template-login,
.template-order,
.template-register,
.template-reset_password {
    display: grid
}

.border-radius {
    border-radius: var(--radius);
    overflow: hidden
}

.hide,
[hidden] {
    display: none
}

@media (max-width: 750px) {
    .hide-mobile {
        display: none !important
    }
}

@media (min-width: 751px) {
    .hide-tablet-and-up {
        display: none !important
    }
}

@media (min-width: 751px) and (max-width: 991px) {
    .hide-tablet {
        display: none !important
    }
}

@media (max-width: 990px) {
    .hide-mobile-and-tablet {
        display: none !important
    }
}

@media (min-width: 991px) {
    .hide-desktop {
        display: none !important
    }
}

h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.large-heading {
    font-size: calc(var(--font-size) + (var(--font-size) * var(--font-h-base-size) / 100));
    font-family: var(--font-h-family);
    font-style: var(--font-h-style);
    font-weight: var(--font-h-weight);
    letter-spacing: calc(var(--font-h-letter-spacing) / 1000 * 1em);
    line-height: 1.2;
    word-wrap: break-word
}

body.capitalize-headings :is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6),
body.capitalize-buttons :is(.button--primary, .button--secondary, button.shopify-payment-button__button--unbranded),
body.capitalize-navigation :is(.menu-list-item, .menu-dropdown__link) {
    text-transform: uppercase
}

.h0 {
    --font-size: 3.125rem
}

@media (min-width: 751px) {
    .h0 {
        --font-size: 4.063rem
    }
}

@media (min-width: 991px) {
    .h0 {
        --font-size: 5rem
    }
}

h1,
.h1 {
    --font-size: 1.875rem
}

@media (min-width: 751px) {

    h1,
    .h1 {
        --font-size: 2.5rem
    }
}

@media (min-width: 991px) {

    h1,
    .h1 {
        --font-size: 3.125rem
    }
}

h2,
.h2 {
    --font-size: 1.625rem
}

@media (min-width: 751px) {

    h2,
    .h2 {
        --font-size: 2.1875rem
    }
}

@media (min-width: 991px) {

    h2,
    .h2 {
        --font-size: 2.2rem
    }
}

h3,
.h3 {
    --font-size: 1.375rem
}

h4,
.h4 {
    --font-size: 1rem
}

@media (min-width: 751px) {

    h3,
    .h3 {
        --font-size: 1.5rem
    }

    .h4 {
        --font-size: 1.35rem
    }
}

@media (min-width: 991px) {

    h3,
    .h3 {
        --font-size: 1.75rem
    }

    .h4 {
        --font-size: 1.5rem
    }
}

h5,
.h5 {
    --font-size: .75rem
}

h6,
.h6 {
    --font-size: .65rem
}

body,
.body-text,
.large-subtext,
.small-subtext,
.large-body-text,
.small-body-text,
.small-caption,
.caption,
.small-text {
    font-size: calc(var(--font-size) + (var(--font-size)*var(--font-b-base-size)/100));
    font-family: var(--font-b-family);
    font-style: var(--font-b-style);
    font-weight: var(--font-b-weight);
    letter-spacing: calc(var(--font-b-letter-spacing) / 1000 * 1em + var(--letter-spacing, 0px));
    line-height: var(--font-b-line-height)
}

body,
.body-text {
    --font-size: 1.125rem
}

@media (min-width: 751px) {

    body,
    .body-text {
        --font-size: 1.1875rem
    }
}

@media (min-width: 991px) {

    body,
    .body-text {
        --font-size: 1.25rem
    }
}

.large-heading {
    --font-size: 3.75rem
}

@media (min-width: 751px) {
    .large-heading {
        --font-size: 5rem
    }
}

@media (min-width: 991px) {
    .large-heading {
        --font-size: 6.25rem
    }
}

.large-subtext,
.small-subtext {
    --font-size: .875rem;
    --letter-spacing: 2px;
    text-transform: uppercase
}

@media (min-width: 751px) {
    .large-subtext {
        --font-size: 1rem
    }
}

@media (min-width: 991px) {
    .large-subtext {
        --font-size: 1.125rem
    }
}

.large-body-text {
    --font-size: 1.375rem
}

@media (min-width: 751px) {
    .large-body-text {
        --font-size: 1.6875rem
    }
}

@media (min-width: 991px) {
    .large-body-text {
        --font-size: 1.875rem
    }
}

.small-body-text {
    --font-size: 1.125rem
}

.caption {
    --font-size: 1rem
}

.small-caption {
    --font-size: .875rem
}

.small-text {
    --font-size: .75rem
}

a {
    color: currentColor;
    text-decoration: inherit
}

label {
    cursor: pointer
}

.rte {
    word-wrap: break-word
}

.rte a {
    border-bottom: 1px solid rgb(var(--color-accent, var(--color-foreground)));
    transition: opacity .15s ease-in-out
}

.rte>:first-child {
    margin-top: 0
}

.rte>p {
    margin-top: 1em;
    margin-bottom: 1em
}

.rte>p:last-child {
    margin-bottom: 0
}

.rte>p:not(:first-child) {
    margin-top: 20px
}

.rte img {
    border-radius: var(--radius)
}

.rte a:hover {
    opacity: .75
}

.rte h1 {
    margin: 56px 0 36px
}

.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
    margin: 50px 0 32px
}

.rte ul {
    list-style-type: disc
}

.rte ol,
.rte ul {
    padding: 0;
    margin: 1em;
    text-align: start
}

.rte ol>*+*,
.rte ul>*+* {
    margin-top: 5px
}

.rte blockquote {
    background-color: rgba(var(--color-foreground), .04);
    border-left: 10px solid rgb(var(--color-foreground));
    margin: 40px 0 60px;
    padding: 30px;
    border-radius: var(--radius);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.rte table {
    display: block;
    overflow-x: auto;
    white-space: nowrap
}

loess-3d-model {
    display: block;
    padding-bottom: 100%
}

loess-3d-model .shopify-model-viewer-ui,
loess-3d-model model-viewer {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 1
}

.product__xr-button {
    margin-top: 20px !important
}

@media (max-width: 750px) {
    .product__xr-button:not([data-shopify-xr-hidden]) {
        display: flex
    }
}

@media (min-width: 751px) {
    .product__xr-button[data-shopify-xr-hidden] {
        display: none
    }
}

.product__xr-button>span {
    width: 14px;
    margin-right: 10px !important
}

.article-tags {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0;
    z-index: 2
}

.article-tags--no-spacing {
    margin: 0
}

.article-tags:not(:only-child) {
    margin-top: 20px
}

.article-tags--no-margin {
    margin-top: 0 !important
}

.article-tags__tag>a {
    padding: .2em .8em;
    background-color: rgba(var(--color-foreground), .04);
    border: 1px solid rgba(var(--color-foreground), .2)
}

.breadcrumb {
    display: inline-flex;
    padding: 0;
    margin-top: 0;
    margin-bottom: 5px
}

.breadcrumb__item+.breadcrumb__item:before {
    content: "/";
    display: inline-block;
    margin-left: 5px;
    margin-right: 3px
}

.breadcrumb__link {
    transition: opacity .15s ease-in-out
}

@media (hover: hover) {
    .breadcrumb__link:not([aria-current=page]):hover {
        opacity: .75
    }
}

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role=button],
.additional-checkout-buttons iframe {
    --button-text-color: var(--color-background, var(--color-default-background));
    --button-background-color: var(--color-accent, var(--color-foreground, var(--color-default-text)));
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: .5em 1.4em;
    font-size: calc(1rem + (1rem * var(--font-b-base-size)/100));
    line-height: 1.5;
    cursor: pointer;
    border-radius: var(--button-radius);
    border-style: solid;
    border-width: 3px;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-appearance: none;
    appearance: none;
    transition: outline .15s ease-in-out
}

.button>span {
    display: flex
}

.button[disabled] {
    opacity: .5;
    cursor: default
}

.button--x-small {
    font-size: .75rem;
    padding: .4em .9em
}

.button--small {
    font-size: .8rem
}

.button--large {
    font-size: 1.125rem
}

.button--link {
    text-decoration: none
}

.button--narrow {
    padding: .2em 1em
}

.button--primary {
    color: rgb(var(--button-text-color, var(--color-default-background)));
    background-color: rgba(var(--button-background-color), var(--opacity, 1));
    border-color: rgba(var(--button-background-color), 0);
    outline: 0px solid rgba(var(--button-background-color), 0);
    font-family: var(--buttons-text-font);
    font-size: var(--buttons-text-size);
    font-weight: var(--buttons-text-weight);
    letter-spacing: calc(var(--buttons-text-letter-spacing) / 1000 * 1em)
}

.button--secondary {
    color: rgb(var(--button-background-color));
    background-color: rgba(var(--color-background, transparent), var(--button-outline-opacity));
    border-color: rgb(var(--button-background-color));
    backdrop-filter: blur(var(--button-outline-blur));
    -webkit-backdrop-filter: blur(var(--button-outline-blur));
    outline: 0px solid rgba(var(--button-background-color), 0);
    font-family: var(--buttons-text-font);
    font-size: var(--buttons-text-size);
    font-weight: var(--buttons-text-weight);
    letter-spacing: calc(var(--buttons-text-letter-spacing) / 1000 * 1em)
}

.button--inherit {
    --button-background-color: var(--color-foreground, var(--color-default-text));
    color: inherit;
    background-color: inherit;
    border-color: inherit;
    outline-color: inherit
}

.button--soft {
    color: rgb(var(--color-default-background))
}

.button--secondary-no-backdrop {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none
}

.button--subdued {
    background-color: rgba(var(--color-foreground), .04);
    border: 1px solid rgba(var(--color-foreground), .2);
    color: rgb(var(--color-foreground))
}

.button--inverse {
    color: rgb(var(--button-text-color));
    border-color: rgba(var(--button-text-color), 0)
}

.button--plain {
    padding: 0;
    border-width: 0;
    background-color: transparent;
    color: rgb(var(--color-foreground))
}

.button--full-width {
    justify-content: var(--button-alignment, center);
    width: 100%
}

.button--center {
    margin: 0 auto
}

.button--icon {
    display: flex;
    gap: 12px;
    padding: 0;
    min-width: 30px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: rgb(var(--color-foreground, var(--color-default-text)));
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .4)
}

.button--icon.button--plain {
    border-width: 0
}

.button--icon .icon {
    transition: transform .1s ease-in-out
}

.button--icon[aria-expanded=true]:not(.button--icon-before) .icon {
    transform: rotate(180deg) translateY(1px)
}

.button--play-small,
.button--play-large {
    border-radius: 50%;
    outline: 0px solid rgba(var(--button-background-color), 0)
}

.button--no-cursor {
    cursor: initial
}

.button--play-large.button {
    color: rgb(var(--button-text-color));
    background-color: rgb(var(--button-background-color));
    border: 1.5px solid rgb(var(--color-accent, var(--color-foreground)));
    padding: 15px 15px 15px 17px
}

.button--play-large.button--plain {
    color: var(--button-background-color);
    background-color: transparent
}

.button--play-large.button--plain {
    border-style: solid
}

.button--play-small.button {
    border-width: 2px;
    padding: 6px 6px 6px 7px
}

.button--play-small>.icon--play {
    width: 7px;
    height: 8px
}

.button--spacing-top {
    margin-top: 15px
}

.button-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: var(--text-x-axis, center)
}

@media (max-width: 750px) {
    .button-group {
        justify-content: var(--text-x-axis-mobile, var(--text-x-axis, center))
    }
}

button.shopify-payment-button__button--unbranded {
    width: 100%;
    justify-content: center;
    font-size: 1.125rem;
    padding: .5em 1em;
    color: rgb(var(--button-text-color));
    font-family: var(--buttons-text-font);
    font-size: var(--buttons-text-size);
    font-weight: var(--buttons-text-weight);
    letter-spacing: calc(var(--buttons-text-letter-spacing) / 1000 * 1em);
    background-color: rgba(var(--button-background-color), var(--opacity, 1));
    border-color: rgba(var(--button-background-color), 0)
}

.shopify-payment-button__button--branded {
    z-index: auto
}

.shopify-payment-button__button+.shopify-payment-button__button--hidden {
    display: none
}

button[name=checkout]+.additional-checkout-buttons {
    margin-top: 10px
}

button[name=checkout]+.additional-checkout-buttons [role=button] {
    border-radius: var(--button-radius) !important
}

.product-form__submit[aria-disabled=true]+.shopify-payment-button .shopify-payment-button__button[disabled],
.product-form__submit[disabled]+.shopify-payment-button .shopify-payment-button__button[disabled] {
    cursor: not-allowed;
    opacity: .5
}

@media (min-width: 751px) {
    .button--icon {
        width: auto;
        height: auto
    }
}

@media (hover: hover) {

    .button--primary:hover,
    .button--secondary:hover,
    .button--play-large:hover,
    button.shopify-payment-button__button--unbranded:hover:not([disabled]):hover {
        outline: 2.5px solid rgba(var(--button-background-color), .4)
    }

    .button--no-hover {
        outline: 0 !important
    }

    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        background-color: rgb(var(--color-accent, var(--color-foreground, var(--color-default-text))))
    }
}

.shopify-payment-button__button+button {
    color: rgb(var(--color-foreground))
}

button.shopify-payment-button__more-options {
    font-size: .875rem
}

loess-stagger-items .card {
    opacity: 0
}

.card {
    display: block;
    position: relative;
    padding-bottom: 15px
}

.card__image-wrapper {
    display: block;
    position: relative;
    border-radius: var(--radius);
    transition: transform .1s ease-out
}

.card-badges {
    position: absolute;
    display: inline-flex;
    flex-wrap: wrap;
    width: calc(100% - 10px);
    gap: 5px;
    top: -5px;
    left: 5px;
    z-index: 2
}

.card-badges[class*=-right] {
    justify-content: end
}

.card-badges[class*=bottom-] {
    top: auto;
    bottom: -5px
}

.card-badges[class$=-middle] {
    justify-content: center
}

.card-badges__badge {
    padding: 0 7px;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--card-badge-radius);
    border: 1px solid rgba(var(--color-foreground), .2)
}

.card-badges__badge--large {
    padding: 6px 12px
}

.card-badges__badge--sale {
    color: rgb(var(--sale-badge-foreground, var(--color-foreground)));
    background-color: rgb(var(--sale-badge-background, var(--color-background)))
}

.card-badges__badge--sold-out {
    color: rgb(var(--sold-out-badge-foreground, var(--color-foreground)));
    background-color: rgb(var(--sold-out-badge-background, var(--color-background)))
}

.card-badges__badge--custom {
    color: rgb(var(--custom-badge-foreground, var(--color-foreground)));
    background-color: rgb(var(--custom-badge-background, var(--color-background)))
}

.card__quick-view-icon {
    display: flex;
    position: absolute;
    top: 5px;
    right: 5px;
    padding: 8px;
    z-index: 2;
    border-radius: var(--radius);
    background-color: rgb(var(--color-background, var(--color-default-background)))
}

.card__quick-view-icon--bottom {
    top: auto;
    bottom: 10px
}

.card__image {
    display: block;
    position: relative;
    padding-bottom: var(--aspect-ratio);
    -webkit-mask-image: -webkit-radial-gradient(white, black)
}

.card__image--background {
    background-color: rgba(var(--color-foreground, var(--color-default-text)), var(--color-soft-background-opacity))
}

.card__image img {
    border-radius: var(--radius);
    transition: transform .15s ease-out, scale .15s ease-out, opacity .15s ease-out, visibility .15s ease-out;
    padding: var(--image-padding, 0);
    height: 100%
}

.card__image>svg {
    position: absolute;
    fill: currentColor;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%)
}

.card__primary-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: var(--image-fit, cover);
    object-position: center
}

.card__secondary-image {
    display: none;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: var(--image-fit, cover);
    object-position: center
}

.card__image--zoom-on-hover>.card__secondary-image {
    transform: translate(-50%, -50%) scale(1)
}

.card__top-button {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 10px;
    padding: 0 10px;
    width: 100%;
    opacity: 0;
    z-index: 2;
    visibility: hidden;
    transform: translateY(3px);
    transition: transform .1s ease-out, opacity .1s ease-out, visibility .1s ease-out
}

.card__top-button .button--secondary {
    background-color: rgba(var(--color-background, transparent), var(--button-outline-opacity));
    border-color: rgb(var(--button-background-color))
}

.card__metadata:not(:first-child) {
    margin-top: 15px
}

.card__metadata {
    display: grid;
    align-content: center;
    gap: 2px
}

.card__metadata-vendor {
    word-break: break-word
}

.card__metadata--centered {
    justify-items: center;
    justify-content: center;
    text-align: center
}

.card__title {
    font-weight: 700
}

.card__description {
    margin-top: 20px
}

.card__reviews {
    font-size: .65rem;
    margin-top: 5px
}

.card-swatches {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 15px 4px 20px;
    padding: 0;
    z-index: 1
}

.card-swatches--count {
    margin-left: 0
}

.card__metadata--centered .card-swatches {
    justify-content: center
}

.card-swatches>li {
    display: inline-flex;
    white-space: nowrap
}

.card-swatches__button {
    position: relative;
    height: 20px;
    width: 20px;
    font-size: 0;
    background-color: var(--swatch-color);
    border-radius: var(--button-radius);
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .3);
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25px 25px
}

.card-swatches__button:after {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    padding: 12px;
    border-radius: var(--custom-color-swatch-radius, var(--button-radius));
    border: 2px solid rgb(var(--color-foreground, var(--color-default-text)));
    opacity: 0;
    transform: scale(.85);
    transition: transform .1s ease-out, opacity .1s ease-out
}

.card-swatches__button--active:after {
    opacity: .75;
    transform: scale(1)
}

.card-swatches__button--material {
    background-size: cover
}

.card__bottom-button {
    margin-top: 15px
}

.card__category {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    opacity: .75
}

@media (min-width: 751px) {
    .card-swatches__button {
        height: 20px;
        width: 20px
    }

    .card-swatches__button:after {
        padding: 12px
    }
}

@media (hover: hover) {
    .card:hover .card__image-wrapper--lift-on-hover {
        transform: translateY(-2px)
    }

    .card__quick-view-icon--hover {
        opacity: 0;
        visibility: hidden;
        transform: translateY(3px);
        transition: transform .1s ease-out, opacity .1s ease-out, visibility .1s ease-out
    }

    .card:hover .card__title {
        text-decoration: underline;
        text-underline-offset: 3px;
        text-decoration-thickness: 1px;
        text-decoration-color: rgba(var(--color-foreground), .75)
    }

    .card__secondary-image {
        display: block
    }

    .card__image-wrapper--multiple:hover .card__primary-image {
        opacity: 0;
        visibility: hidden
    }

    .card__image-wrapper--multiple:hover .card__secondary-image {
        opacity: 1;
        visibility: visible
    }

    .card__image-wrapper:hover>.card__image--zoom-on-hover.card__image--alternate-hover .card__primary-image {
        scale: .95
    }

    .card__image-wrapper:hover>.card__image--zoom-on-hover .card__primary-image {
        scale: 1.02
    }

    .card__image-wrapper:hover>.card__image--zoom-on-hover.card__image--alternate-hover .card__primary-image {
        scale: .9
    }

    .card__image-wrapper--multiple:hover>.card__image--zoom-on-hover.card__image--alternate-hover>.card__primary-image {
        transform: scale(.95)
    }

    .card__image-wrapper--multiple:hover>.card__image--zoom-on-hover>.card__secondary-image {
        transform: translate(-50%, -50%) scale(1.02)
    }

    .card__image-wrapper--multiple:hover>.card__image--zoom-on-hover.card__image--alternate-hover>.card__secondary-image {
        transform: translate(-50%, -50%) scale(.9)
    }

    .card:hover .card__quick-view-icon--hover,
    .card:hover .card__top-button {
        opacity: 1;
        visibility: visible;
        transform: translateY(0)
    }
}

button[aria-controls=CartDrawer] {
    cursor: pointer
}

#CartDrawer .drawer__content {
    overflow-y: auto;
    padding-bottom: 20px;
    height: 100%
}

.cart--drawer {
    padding: 32px 16px
}

.is-empty+.cart-progress--drawer {
    display: none
}

.cart-progress--drawer {
    padding: 25px 16px 5px;
    text-align: center
}

.cart-progress--drawer .free-shipping-bar {
    margin-top: 10px
}

loess-cart-drawer-items:not(.is-empty)>.cart-progress--drawer {
    display: block
}

.cart--drawer .cart-items,
.cart--drawer .cart-items thead,
.cart--drawer .cart-items tbody {
    display: block;
    width: 100%
}

.cart--drawer .cart-items thead tr {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.cart--drawer .cart-item {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.cart--drawer .cart-item:last-child {
    margin-bottom: 0;
    border-bottom: 0
}

.cart--drawer .cart-item {
    display: grid;
    grid-template: repeat(2, auto) / repeat(4, 1fr);
    column-gap: 15px;
    row-gap: 25px
}

.cart--drawer .cart-item__image {
    max-width: 70px
}

.cart--drawer .cart-item__details {
    grid-column: 2 / 4
}

.cart--drawer .cart-item__quantity {
    grid-column: 2 / 5
}

.cart--drawer .cart-item__totals {
    display: flex;
    align-items: start;
    justify-content: end
}

.drawer-footer__inner.drawer-footer__inner--cart {
    display: block;
    padding: 10px 16px 25px;
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

@supports (-moz-appearance:none) {
    .drawer-footer__inner.drawer-footer__inner--cart {
        padding-bottom: 95px
    }
}

.drawer-footer__inner--cart .cart-notes {
    display: block;
    padding-top: 10px
}

.drawer-footer__inner--cart .cart-notes__label {
    margin: 0 auto
}

.drawer-footer__inner--cart .cart-notes__textarea {
    margin-top: 20px
}

.drawer-footer__inner--cart .cart-notes__textarea:focus-within {
    box-shadow: none;
    background-color: transparent
}

.drawer-footer__inner--cart>.cart-checkout-button {
    display: block
}

.drawer-footer__inner--cart .cart-notes+.cart-checkout-button {
    margin-top: 20px
}

.drawer-footer button[name=checkout] {
    margin-top: 15px
}

.cart-drawer__checkout-button {
    display: inline-flex;
    gap: 7px;
    padding: 3px 0;
    pointer-events: none
}

.cart-drawer__checkout-button>span {
    margin: 0
}

.drawer-footer .spinner__value {
    stroke: rgb(var(--color-background))
}

loess-cart-drawer-items:not(.is-empty)>.cart-form+.cart-drawer-recommendations {
    display: block;
    margin-top: -20px
}

.cart-drawer-recommendations {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity));
    padding: 40px 16px
}

.cart-drawer-recommendations__heading {
    padding-bottom: 40px
}

.cart-drawer-recommendations__heading h2 {
    font-size: 1.625rem
}

.cart-drawer-recommendations ul {
    --columns: 2;
    padding-bottom: 20px
}

@media (min-width: 751px) {
    .cart-drawer-recommendations ul {
        padding-top: 7px;
        padding-bottom: 30px
    }
}

.cart-notification-wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99;
    pointer-events: none
}

.cart-notification-wrapper[open] {
    overflow-y: scroll;
    pointer-events: auto
}

.cart-notification-wrapper:after {
    content: "";
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    background-color: rgb(var(--overlay-background));
    transition: opacity .15s ease-out, visibility .15s ease-out
}

.cart-notification-wrapper[open]:after {
    visibility: visible;
    opacity: var(--overlay-background-opacity)
}

.cart-notification {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    top: 30px;
    left: var(--container-gutter);
    right: var(--container-gutter);
    max-width: 400px;
    z-index: 100;
    transform: translateY(-10px);
    padding: 40px var(--container-gutter);
    background-color: rgb(var(--color-default-background));
    transition: opacity .15s ease-out, visibility .15s ease-out
}

.cart-notification-wrapper[open] .cart-notification {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.cart-notification-wrapper__inner {
    position: relative
}

.cart-notification__inner {
    display: grid;
    gap: 40px
}

.cart-notification__inner>:first-child {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center
}

.cart-notification__inner>.cart-progress {
    margin-bottom: 10px
}

.cart-notification__product {
    display: flex;
    align-items: start;
    overflow-y: auto
}

.cart-notification__product>img {
    min-width: 70px;
    max-width: 70px
}

.cart-notification__product-metadata {
    display: grid;
    padding-left: 20px
}

.cart-notification__buttons>*:not(:last-child) {
    margin-bottom: 10px
}

.cart-notification__buttons>:last-child {
    display: block;
    margin: 20px auto 0;
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-thickness: 1px;
    text-decoration-color: currentColor
}

@media (min-width: 751px) {
    .cart-notification {
        left: auto;
        right: calc(var(--container-gutter) + 20px);
        min-width: 360px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.button[aria-expanded=false]>.icon--collapse {
    display: none
}

.button[aria-expanded=false]>.icon--expand {
    display: block
}

.button[aria-expanded=true]>.icon--collapse {
    display: block
}

.button[aria-expanded=true]>.icon--expand {
    display: none
}

.collapsible-panel {
    display: block;
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden
}

.collapsible-panel[open] {
    height: auto;
    opacity: 1;
    visibility: visible
}

@media (hover: hover) {
    .collapsible-content__button:hover {
        outline: 2.5px solid rgba(var(--color-foreground), .4)
    }
}

loess-stagger-items .collection-card {
    opacity: 0
}

.collection-card {
    --color-border: var(--color-background);
    display: grid;
    background-color: rgba(var(--color-soft-background)) !important;
    border-width: 0;
    border-radius: var(--radius)
}

.collection-card:not(.collection-card--below) {
    align-items: end
}

.collection-card:is(.collection-card--overlay) {
    align-items: center
}

.collection-card--gradient:after,
.collection-card--overlay:after {
    content: "";
    grid-area: 1/-1;
    opacity: var(--overlay-opacity);
    z-index: 1;
    border-radius: inherit
}

.collection-card--gradient:after {
    height: 50%;
    background: linear-gradient(180deg, rgba(var(--color-foreground), 0), rgba(var(--color-foreground), 1))
}

.collection-card--overlay:after {
    height: 100%;
    background: rgb(var(--color-foreground))
}

.collection-card:is(.collection-card--button, .collection-card--offset, .collection-card--overlay, .collection-card--gradient, .collection-card--outline-button)>* {
    grid-area: 1/-1
}

.collection-card__image-wrapper {
    border-radius: var(--image-wrapper-radius, var(--radius));
    overflow: hidden
}

.collection-card--frame {
    padding: 10% 10% 5%;
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity)) !important
}

.collection-card__image {
    transition: transform .15s ease-in-out
}

.collection-card__image:not([class*=--auto]) {
    position: relative;
    padding-bottom: var(--aspect-ratio)
}

.collection-card__image:not([class*=--auto])>* {
    position: absolute;
    object-fit: cover;
    height: 100%
}

.collection-card__image.collection-card__image--placeholder {
    position: relative;
    padding-bottom: 100%
}

.collection-card__image>svg {
    position: absolute;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    fill: rgba(var(--color-foreground-placeholder), .4)
}

.collection-card__title {
    z-index: 2;
    text-align: var(--button-alignment, center)
}

.collection-card__title>.button-group {
    justify-content: var(--button-alignment)
}

.collection-card:not(.collection-card--below):not(.collection-card--frame)>.collection-card__title {
    margin: 10px;
    justify-self: var(--button-alignment)
}

.collection-card__title--margin {
    margin-bottom: 20px !important
}

.collection-card--frame>.collection-card__title {
    margin-top: 5%;
    justify-self: var(--button-alignment)
}

.collection-card--offset>.collection-card__title {
    margin-bottom: -20px !important
}

.collection-card--below .collection-card__image-wrapper {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.collection-card--below .button {
    border-top-right-radius: 0;
    border-top-left-radius: 0
}

@media (hover: hover) {
    .collection-card:hover .collection-card__image {
        transform: scale(1.02)
    }
}

.columns {
    --columns: var(--columns-mobile)
}

.columns--single {
    --columns: 1 !important
}

.columns--single>p {
    justify-self: center
}

.column-wrapper {
    --column-padding: 30px;
    position: relative;
    border-radius: var(--radius);
    padding: var(--column-padding)
}

.column-wrapper--bottom-flush {
    padding-bottom: 0
}

.column-wrapper--soft-background {
    background-color: rgba(var(--color-foreground, var(--color-default-text)), var(--color-soft-background-opacity)) !important
}

.column-wrapper--bordered {
    border: 1px solid rgba(var(--color-foreground), .1)
}

.column {
    display: grid;
    text-align: var(--text-x-axis, center);
    align-content: var(--text-y-axis, start);
    text-align: var(--text-x-axis);
    height: 100%
}

.column-link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1
}

.column-link>img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .15s ease-in-out
}

@media (min-width: 751px) and (max-width: 990px) {
    .columns {
        --columns: var(--columns-tablet)
    }
}

@media (min-width: 991px) {
    .columns {
        --columns: var(--columns-large)
    }

    .column-wrapper {
        --column-padding: 40px
    }
}

@media (hover: hover) {
    .column-link:hover>img {
        transform: translateY(-50%) scale(1.02)
    }
}

loess-cursor {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    background-color: #fff;
    pointer-events: none;
    z-index: 10;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    scale: .85;
    transition: opacity .2s ease-in-out, visibility .2s ease-in-out, scale .2s ease-in-out
}

loess-cursor .icon {
    transition: none
}

@media screen and (pointer: fine) {
    .slideshow-hero:not(.slideshow-hero--cursor-disabled) {
        cursor: none
    }

    loess-cursor {
        display: flex;
        justify-content: center;
        align-items: center
    }

    loess-cursor.active {
        opacity: 1;
        visibility: visible;
        scale: 1
    }

    loess-cursor.left .icon {
        transform: rotate(180deg)
    }
}

#SideBarMenu .drawer__content {
    font-family: var(--navigation-text-font);
    font-size: 1rem;
    letter-spacing: calc(var(--navigation-text-letter-spacing) / 1000 * 1em)
}

.drawer {
    --gap: 25px;
    display: flex;
    position: fixed;
    flex-direction: column;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 100vh;
    max-height: 100vh;
    color: var(--color-foreground);
    background-color: rgb(var(--color-background));
    z-index: 99;
    opacity: 0;
    visibility: hidden
}

.drawer--inner {
    position: absolute
}

.drawer[position=left] {
    left: 0;
    right: auto;
    transform: translate(-10%)
}

.drawer[position=right] {
    left: auto;
    right: 0;
    transform: translate(10%)
}

.drawer[open] {
    visibility: visible;
    transform: translate(0)
}

.drawer:not([open]) {
    pointer-events: none
}

.drawer:after {
    content: "";
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    background: rgb(var(--overlay-background))
}

.drawer[position=left]:after {
    left: 100%
}

.drawer[position=right]:after {
    right: 100%
}

.drawer[open]:after {
    visibility: visible;
    opacity: var(--overlay-background-opacity)
}

.drawer__inner {
    display: grid;
    grid-template-rows: 1fr auto;
    height: 100%
}

.drawer__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid rgba(var(--color-foreground), .2)
}

.drawer__header--start {
    align-items: start;
    padding: 20px 16px
}

.drawer__header-icons {
    display: grid;
    grid-auto-flow: column;
    gap: 20px
}

.drawer__login-button {
    gap: 10px
}

.drawer__content {
    position: relative;
    overflow: hidden
}

.drawer__content nav {
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%
}

.drawer-menu {
    display: grid;
    gap: 15px;
    padding: var(--gap) 0;
    margin: 0
}

.drawer-menu--panel {
    margin-top: 10px;
    padding: 20px 0;
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.drawer-menu__back-button {
    column-gap: 10px;
    padding: var(--gap);
    margin-bottom: -20px
}

.drawer-menu__back-button>svg {
    transform: rotate(90deg) scale(1.5)
}

.drawer-images {
    display: grid;
    padding: 10px var(--gap) 20px;
    gap: 30px
}

.drawer-image {
    display: block;
    padding: 5px var(--gap);
    padding-right: 0;
    max-width: 50%
}

.drawer-footer {
    background-color: rgb(var(--color-background, var(--color-default-background)));
    z-index: 5
}

.drawer-footer--sticky {
    position: sticky;
    bottom: 0;
    margin-top: 20px
}

.drawer-footer__inner {
    display: grid;
    justify-content: center;
    align-content: start;
    gap: 20px;
    height: 100%;
    padding: 40px var(--gap)
}

.drawer-footer__inner--background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.drawer-footer__selectors {
    display: inline-grid;
    grid-auto-flow: column;
    justify-content: center;
    column-gap: 40px
}

@media (min-width: 751px) {
    .drawer {
        max-width: 400px
    }

    .drawer__header {
        padding-top: var(--gap)
    }

    .drawer-menu__back-button {
        justify-content: start
    }
}

loess-predictive-search {
    width: 100%
}

.header-search {
    --color-background: var(--color-default-background);
    --color-foreground: var(--color-default-text);
    position: absolute;
    top: 0;
    width: 100%;
    background-color: rgb(var(--color-background));
    min-height: 100%
}

.header-search__top {
    display: flex;
    margin-left: auto
}

input:is(.header-search__input) {
    border-radius: 0
}

.header-search__close-button {
    justify-content: end
}

@media (max-width: 750px) {
    .header-search {
        display: flex;
        align-items: center
    }

    .header-search__form {
        display: flex;
        margin: 10px 0
    }

    .header-search__input-group {
        width: calc(100% - 40px)
    }

    .header-search__top {
        order: 1
    }
}

@media (min-width: 751px) {
    .header-search__form {
        padding: 25px 0 30px
    }

    .header-search__top {
        justify-content: space-between
    }

    input:is(.header-search__input) {
        --form-input-height: 60px;
        font-family: var(--font-h-family);
        font-size: 2.5rem;
        padding: 25px 10px 15px 0
    }

    input:is(.header-search__input):focus-within {
        background-color: transparent
    }

    button:is(.header-search__search-button) {
        right: 0
    }
}

@media (min-width: 990px) {
    input:is(.header-search__input) {
        --form-input-height: 80px;
        font-size: 3.125rem
    }
}

.form {
    display: grid;
    row-gap: 30px;
    margin: 0 auto;
    padding: var(--vertical-spacer) 20px;
    width: 100%
}

.form-message {
    display: inline-flex;
    gap: 10px;
    align-items: center
}

.input-group {
    display: flex;
    align-items: center;
    position: relative
}

.input-group--hidden {
    display: none
}

.input__field {
    font-size: 1rem
}

.input__field,
.input__select {
    border-radius: 0;
    border-width: 0 0 .1rem;
    border-bottom-color: rgb(var(--color-foreground));
    color: rgb(var(--color-foreground));
    height: var(--form-input-height);
    padding: 20px 10px 0;
    width: 100%;
    background: transparent;
    transition: background-color .1s ease-in, box-shadow .1s ease-in
}

.input__field--has-button {
    padding-right: 50px
}

.input__field--has-input,
.input__field:focus-within {
    outline: none;
    box-shadow: 0 1.5px rgb(var(--color-foreground));
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.input__field--no-background:focus-within {
    background-color: transparent
}

label:is(.input__label) {
    position: absolute;
    top: calc((var(--form-input-height) / 2) - .5em);
    left: 10px;
    cursor: pointer;
    line-height: 1;
    pointer-events: none;
    transform-origin: top left;
    transition: transform .1s ease-in
}

.input__select-wrapper {
    position: relative;
    display: inline-flex;
    width: 100%;
    align-items: end
}

.input__select {
    -webkit-appearance: none;
    appearance: none;
    font-size: 1rem
}

.input__select+span {
    position: absolute;
    right: 0;
    bottom: 5px;
    pointer-events: none
}

.input__label--select {
    transform: scale(.7) translateY(-15px) translate(.7px)
}

.input__label--radio {
    padding: 0;
    transform: scale(.7) translateY(-15px) translate(-8px);
    margin-bottom: -7px
}

:focus-within~.input__label,
.input__field--has-input~.input__label {
    transform: scale(.7) translateY(-15px) translate(.7px)
}

.input__subtext {
    line-height: 1.4rem
}

.input__textarea {
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2);
    color: rgb(var(--color-foreground, var(--color-default-text)));
    background-color: transparent;
    padding: 10px;
    min-height: 180px;
    height: 100%;
    width: 100%;
    resize: vertical
}

.input__textarea::placeholder {
    color: rgba(var(--color-foreground), .75)
}

.input__button {
    position: absolute;
    right: 10px;
    height: var(--form-input-height)
}

.input__checkbox-wrapper {
    display: inline-flex;
    align-items: center;
    width: 100%
}

.input__checkbox-wrapper>.input__checkbox {
    display: flex;
    align-items: center
}

.input__checkbox {
    position: relative;
    margin-right: 10px
}

.input__checkbox--disabled+* {
    opacity: .5
}

input[type=checkbox] {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(var(--color-foreground), .2);
    border-radius: var(--button-radius);
    cursor: pointer;
    transition: background-color .1s ease-out
}

input[type=checkbox]:disabled {
    background: linear-gradient(to top left, transparent 50%, rgba(var(--color-foreground), .3) 50%, rgba(var(--color-foreground), .3) calc(50% + 1px), transparent 0)
}

input[type=checkbox]:checked {
    background: rgb(var(--color-foreground))
}

.collection-filter__input--color input[type=checkbox]:checked:after {
    content: "";
    position: absolute;
    top: -7px;
    left: -7px;
    padding: 14px;
    border-radius: var(--custom-color-swatch-radius, var(--button-radius));
    border: 2px solid rgb(var(--color-foreground, var(--color-default-text)));
    opacity: 1;
    transform: scale(.85);
    transition: transform .1s ease-out, opacity .1s ease-out
}

input[type=checkbox]+svg {
    opacity: 0;
    transform: scale(.5);
    position: absolute;
    width: 100%;
    height: 7px;
    transition: all .15s ease-in-out
}

input[type=checkbox]:checked+svg {
    opacity: 1;
    transform: scale(1);
    fill: rgb(var(--color-background))
}

input[type=search]::-ms-clear {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

@media (min-width: 751px) {
    .form {
        padding: var(--vertical-spacer)
    }

    .form--no-image {
        max-width: 600px;
        margin: 0 auto
    }
}

.free-shipping-bar {
    display: block;
    position: relative;
    margin-top: 20px;
    height: 8px;
    border-radius: var(--radius);
    overflow: hidden;
    background: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.free-shipping-bar:before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgb(var(--color-foreground, var(--color-default-text)));
    transform: scaleX(var(--progress));
    transform-origin: left;
    transition: transform .2s ease
}

h2[is=loess-heading] {
    display: inline-flex;
    opacity: 0
}

h2.animate .text-wrapper {
    position: relative;
    display: inline-block;
    overflow: hidden
}

h2.animate .word {
    transform-origin: 0 100%;
    display: inline-block
}

@media (max-width: 750px) {
    loess-hero-navigation .scroller li {
        scroll-snap-stop: always
    }
}

loess-slider[auto-play] .slideshow-hero__button[disabled] {
    opacity: 1 !important
}

loess-slider[auto-play] .slideshow-hero__button[active]:after {
    animation: hero-navigation-bar calc(var(--auto-play-duration)) linear forwards;
    animation-play-state: var(--auto-play-state, paused)
}

@media (min-width: 991px) {
    loess-hero-navigation .scroller {
        scroll-snap-type: initial !important
    }
}

@keyframes hero-navigation-bar {
    0% {
        transform: scaleX(0%)
    }

    to {
        transform: scaleX(1)
    }
}

loess-icon {
    display: flex
}

.icon {
    fill: currentColor;
    transition: transform .1s ease-in-out
}

.icon--reverse {
    transform: rotateY(-180deg)
}

.media-with-text {
    --height: auto;
    --height-mobile: auto;
    --height-large: auto;
    display: flex;
    flex-direction: column;
    min-height: var(--height)
}

.media-with-text[hidden] {
    display: none
}

:not(.section-vertical-spacer)>.section>.media-with-text .rich-text-wrapper {
    padding-left: 0;
    padding-right: 0
}

.media-with-text__text {
    z-index: 1
}

.media-with-text__media-wrapper {
    display: grid;
    position: relative;
    padding: 0
}

.media-with-text__media-wrapper--padding {
    margin: var(--container-gutter)
}

.media-with-text__media {
    display: block;
    position: relative;
    overflow: hidden
}

.media-with-text__media:not(.media-with-text__media--transparent):not(.media-with-text__media--fit) {
    background-color: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.media-with-text__media--auto {
    position: relative
}

.media-with-text__media--auto>* {
    position: absolute;
    height: 100%;
    object-fit: cover
}

.media-with-text__media>loess-video {
    display: block;
    width: 100%
}

.media-with-text__media>svg {
    fill: rgba(var(--color-foreground, var(--color-default-text)), .4)
}

.media-with-text__play {
    --color-background: var(--color-default-text);
    --color-accent: var(--color-default-background);
    position: absolute;
    bottom: 16px;
    left: 16px;
    height: auto !important
}

.media-with-text__play>.button {
    background-color: rgb(var(--color-background));
    border-radius: 50%;
    border-width: 0;
    width: 30px;
    height: 30px;
    color: rgb(var(--color-foreground))
}

@media (max-width: 750px) {
    .media-with-text[class*=media-with-text-mobile] {
        height: 100%;
        min-height: var(--height-mobile)
    }

    .media-with-text-mobile--small {
        --height-mobile: 230px
    }

    .media-with-text-mobile--medium {
        --height-mobile: 330px
    }

    .media-with-text-mobile--large {
        --height-mobile: 430px
    }

    .media-with-text-mobile--x-large {
        --height-mobile: 530px
    }

    .media-with-text-mobile--fullscreen {
        --height-mobile: 100vh
    }

    .media-with-text--reverse-mobile>.media-with-text__text {
        order: 1
    }

    .media-with-text__text {
        align-self: start
    }

    .media-with-text:not(.media-with-text--reverse-mobile)>.media-with-text__media-wrapper {
        margin-top: auto
    }

    :not(.section-vertical-spacer)>.section>:not(.media-with-text--reverse-mobile)>.media-with-text__media {
        padding-bottom: 16px
    }

    :not(.section-vertical-spacer)>.section .media-with-text--reverse-mobile>.media-with-text__media,
    :not(.section-vertical-spacer)>.section .media-with-text--reverse-mobile:last-child .rich-text-wrapper {
        padding-bottom: 0
    }

    .media-with-text__media--fill {
        height: var(--height-mobile, var(--height))
    }

    .media-with-text__media--fill>* {
        height: 100%;
        object-fit: cover
    }
}

@media (min-width: 751px) {
    .media-with-text[class*=media-with-text-large] {
        min-height: var(--height-large)
    }

    .media-with-text-large--small {
        --height-large: 275px
    }

    .media-with-text-large--medium {
        --height-large: 390px
    }

    .media-with-text-large--large {
        --height-large: 505px
    }

    .media-with-text-large--x-large {
        --height-large: 620px
    }

    .media-with-text-large--fullscreen {
        --height-large: 100vh
    }

    .media-with-text {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    :not(.section-vertical-spacer)>.section .media-with-text {
        gap: var(--container-gutter)
    }

    .media-with-text--reverse-large>.media-with-text__text {
        order: 1
    }

    .media-with-text__text {
        align-self: var(--text-y-axis-large, center)
    }

    .media-with-text__text--full {
        padding-left: max(calc((100vw - calc(var(--container-width) - (var(--container-gutter)) * 2)) / 2), var(--container-gutter));
        padding-right: var(--container-gutter)
    }

    .media-with-text__media {
        position: relative;
        height: 100%
    }

    .media-with-text__media--fit>*,
    .media-with-text__media--fill>* {
        position: absolute;
        height: 100%
    }

    .media-with-text__media--fit>* {
        right: 0;
        width: -moz-fit-content;
        width: fit-content;
        object-fit: contain
    }

    .media-with-text__media--fill>*,
    .media-with-text__media--expand>* {
        object-fit: cover
    }

    .media-with-text__media--expand {
        display: flex
    }

    .media-with-text__media--fill {
        height: var(--height-large, var(--height));
        min-height: 100%
    }

    .media-with-text__media:not([class*=media-with-text__media--]) {
        align-self: center
    }

    .media-with-text__play {
        height: auto;
        left: 40px;
        bottom: 40px
    }

    .media-with-text__play>.button {
        width: 50px;
        height: 50px
    }
}

@media (min-width: 991px) {
    .media-with-text-large--small {
        --height-large: 410px
    }

    .media-with-text-large--medium {
        --height-large: 590px
    }

    .media-with-text-large--large {
        --height-large: 770px
    }

    .media-with-text-large--x-large {
        --height-large: 950px
    }
}

.menu-list {
    display: inline-flex;
    flex-wrap: wrap;
    font-family: var(--navigation-text-font);
    font-style: var(--navigation-text-style);
    font-weight: var(--navigation-text-weight);
    font-size: 1rem;
    letter-spacing: calc(var(--navigation-text-letter-spacing) / 1000 * 1em);
    margin: 0;
    padding: 0;
    row-gap: 20px;
    column-gap: 30px
}

.menu-list--stacked {
    display: grid;
    gap: 10px
}

.menu-list--centered {
    justify-content: center
}

.menu-list-item {
    display: block;
    transition: transform .1s ease-in-out
}

.menu-list-item.has-dropdown:hover:before {
    content: attr(data-title);
    position: absolute;
    bottom: 0;
    height: 100%;
    margin-left: -25px;
    padding-left: 25px;
    padding-right: 45px;
    opacity: 0
}

.header-bottom .menu-list-item.has-dropdown:hover:before {
    height: 50%
}

.menu-list-item>span {
    margin-left: 5px
}

.menu-list-item--inlined {
    display: inline-block
}

.menu-list-item:focus:after,
.menu-list-item:hover:after,
.menu-mega-links__heading:hover:after {
    transform: scaleX(1)
}

.menu-list-item:after,
.menu-mega-links__heading:after {
    content: "";
    display: block;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .15s ease-in-out
}

.menu-dropdown {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 2px);
    width: 100%;
    max-width: 220px;
    margin-left: -25px;
    padding: 15px 0;
    color: rgb(var(--color-foreground, var(--color-default-text)));
    background-color: rgb(var(--color-background, var(--color-default-background)));
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .1);
    border-radius: var(--radius);
    visibility: hidden;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .15s ease-in-out, visibility .15s ease-in-out, transform .15s ease-in-out
}

.menu-dropdown:not([hidden]),
:focus-within>.menu-dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0)
}

.menu-dropdown__item {
    position: relative;
    width: 100%;
    border-radius: 0
}

.menu-dropdown__link {
    display: inline-flex;
    justify-content: space-between;
    padding: 4px 25px;
    width: 100%;
    font-size: 1rem
}

.menu-dropdown__link:not(.menu-dropdown__link--panel)>span {
    transform: rotate(-90deg);
    align-self: center
}

.menu-dropdown__item:hover,
.menu-dropdown__link--active {
    background-color: rgba(var(--color-foreground, var(--color-default-text)), var(--color-soft-background-opacity))
}

.menu-dropdown .menu-dropdown {
    top: -16px;
    left: calc(100% + 27px)
}

.menu-mega {
    display: block;
    position: absolute;
    top: calc(100% + 2px);
    left: 50%;
    transform: translate(-50%, 4px);
    width: 100%;
    color: rgb(var(--color-foreground, var(--color-default-text)));
    background-color: rgb(var(--color-background, var(--color-default-background)));
    border-radius: var(--radius);
    visibility: hidden;
    opacity: 0;
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .1);
    transition: opacity .1s ease-in-out, visibility .1s ease-in-out, transform .15s ease-in-out
}

.menu-mega__inner {
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
    column-gap: 50px;
    padding: 40px 0;
    max-height: calc(100vh - (var(--announcement-bar-height) + var(--header-height)));
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s ease-in-out, visibility .15s ease-in-out
}

.header-top[class$=-center] .menu-mega__inner,
.header-bottom[class*=--center] .menu-mega__inner {
    justify-content: center
}

.menu-mega:not([hidden]),
:focus-within>.menu-mega {
    transform: translate(-50%)
}

.menu-mega:not([hidden]),
.menu-mega:not([hidden]) .menu-mega__inner,
:focus-within>.menu-mega,
:focus-within>.menu-mega .menu-mega__inner {
    visibility: visible;
    opacity: 1
}

.menu-mega__links-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: -40px -10px
}

.menu-mega-links {
    flex: 1 1 165px;
    max-width: 200px;
    margin: 40px 10px
}

.menu-mega-links>* {
    min-width: 165px
}

.menu-mega-links__image-wrapper {
    margin-bottom: 15px
}

.menu-mega-links__heading-wrapper:not(:only-child) {
    display: block;
    margin-bottom: 20px
}

.menu-mega-links__list {
    padding: 0;
    margin-top: 20px
}

.menu-mega-links__heading--centered {
    margin: 0 auto
}

.menu-mega-links__image,
.menu-mega-image__image>img {
    transition: transform .1s ease-out
}

.menu-mega-links__heading,
.menu-mega-links__list>li {
    display: block;
    width: -moz-fit-content;
    width: fit-content
}

.menu-mega-links__list a:after {
    content: "";
    display: block;
    height: 1px;
    opacity: 0;
    background-color: currentColor;
    transition: opacity .1s ease-in-out
}

a.menu-mega-links__list>li:hover>a:after {
    opacity: 1
}

ul.menu-mega-links__list>li:hover>a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(var(--color-foreground), .75)
}

.menu-mega-links>*:hover .menu-mega-links__image,
a>.menu-mega-image__image:hover>img {
    transform: scale(1.02)
}

.menu-mega-images {
    display: grid;
    grid-auto-flow: column;
    align-content: start;
    column-gap: 10px
}

.menu-mega-images>* {
    display: flex;
    flex-direction: column;
    min-width: 250px;
    max-width: 250px
}

.menu-mega-image__heading {
    margin-top: 15px
}

.menu-mega-image__heading>span {
    display: inline-flex;
    margin-left: 10px
}

.modal {
    z-index: 6;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 8;
    visibility: hidden
}

.modal[open] {
    visibility: visible
}

.modal:after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    background: rgb(var(--overlay-background));
    transition: opacity .3s ease-out, visibility .3s ease-out
}

.modal[open]:after {
    visibility: visible;
    opacity: var(--overlay-background-opacity)
}

.modal__inner {
    position: fixed;
    top: var(--container-gutter);
    right: var(--container-gutter);
    bottom: var(--container-gutter);
    left: var(--container-gutter);
    background-color: rgb(var(--color-default-background));
    display: grid;
    align-content: center;
    padding: var(--container-gutter);
    margin: 0 auto;
    z-index: 1;
    transform: translateY(100px)
}

.modal[open] .modal__inner {
    transform: translateY(0)
}

.modal__close-button {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    background-color: rgb(var(--color-default-text));
    color: rgb(var(--color-default-background));
    border-radius: var(--radius);
    z-index: 1
}

.modal__close-button:focus-within {
    outline: none;
    box-shadow: none
}

.modal__close-button>svg {
    pointer-events: none
}

.modal__close-button--padded {
    top: 5px;
    right: 5px
}

.modal__inner-dynamic-content {
    overflow-y: auto;
    z-index: 0
}

.modal__inner iframe {
    margin: 0 auto
}

.modal__spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px;
    margin-left: -15px
}

.modal__spinner .spinner__value {
    stroke: rgb(var(--color-default-text))
}

@media (min-width: 751px) {
    .modal__inner {
        padding: var(--vertical-spacer);
        top: 50%;
        left: 50%;
        transform: translate(-50%, calc(-50% + 100px))
    }

    .modal__inner--fit {
        min-width: 250px;
        min-height: 250px;
        padding: var(--container-gutter)
    }

    .modal[open] .modal__inner {
        transform: translate(-50%, -50%)
    }

    .modal__inner--fullscreen {
        top: var(--container-gutter);
        right: var(--container-gutter);
        bottom: var(--container-gutter);
        left: var(--container-gutter);
        max-width: var(--container-width);
        transform: translateY(100px)
    }

    .modal__inner--fullscreen-quick-view {
        padding: 0;
        max-width: calc(var(--container-width) - 10%)
    }

    .modal[open] .modal__inner--fullscreen {
        transform: translateY(0)
    }

    .modal__inner--video {
        width: 90vw;
        height: calc(50.625vw + var(--container-gutter));
        max-height: calc(90vh + var(--container-gutter));
        max-width: 160vh;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0
    }

    .modal__close-button--sticky {
        position: sticky;
        margin-left: auto;
        margin-top: -30px
    }
}

.overlay {
    position: fixed;
    background-color: rgba(var(--overlay-background) / var(--overlay-background-opacity));
    width: 100%;
    height: 100%;
    transition: opacity .1s ease-in-out, visibility .1s ease-in-out;
    opacity: 0;
    visibility: hidden;
    z-index: 2
}

.overlay[open] {
    opacity: 1;
    visibility: visible
}

.pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px
}

.pagination__nav {
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    padding: 0;
    margin: 0
}

.pagination__nav-item {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 38px;
    height: 38px
}

.pagination__nav-item>a[rel=prev]>svg {
    transform: rotate(180deg)
}

.pagination__nav-item svg {
    pointer-events: none
}

.pagination__nav-item {
    border-radius: var(--radius)
}

.pagination__nav-item[aria-current] {
    color: rgb(var(--color-background, var(--color-default-background)));
    background-color: rgb(var(--color-foreground, var(--color-default-text)))
}

.pagination__nav-item>a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    border-radius: inherit
}

@media (hover: hover) {
    .pagination__nav-item:not([aria-current]):hover>a {
        background-color: rgba(var(--color-foreground), .1)
    }
}

.payment-icons {
    display: inline-flex;
    flex-wrap: wrap;
    column-gap: 10px;
    justify-content: center;
    margin: 0;
    padding: 0
}

.payment-icons svg {
    height: 100%
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp,
.pswp:focus {
    outline: 0
}

.pswp,
.pswp__button,
.pswp__item,
.pswp__scroll-wrap {
    overflow: hidden
}

.pswp {
    --pswp-bg: var(--color-pswp-background);
    --pswp-placeholder-bg: var(--color-pswp-background);
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgba(79, 79, 79, .4);
    --pswp-preloader-color-secondary: rgba(255, 255, 255, .9);
    --pswp-icon-color: #fff;
    --pswp-icon-color-secondary: #4f4f4f;
    --pswp-icon-stroke-color: #4f4f4f;
    --pswp-icon-stroke-width: 2px;
    --pswp-error-text-color: var(--pswp-icon-color);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--pswp-root-z-index);
    display: none;
    touch-action: none;
    opacity: .003;
    contain: layout style size;
    -webkit-tap-highlight-color: transparent
}

.pswp * {
    box-sizing: border-box
}

.pswp img {
    max-width: none
}

.pswp--open {
    display: block
}

.pswp,
.pswp__bg {
    transform: translateZ(0);
    will-change: opacity
}

.pswp__bg {
    opacity: .005;
    background: var(--pswp-bg)
}

.pswp__bg,
.pswp__container,
.pswp__content,
.pswp__img,
.pswp__item,
.pswp__scroll-wrap,
.pswp__zoom-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.pswp__img,
.pswp__zoom-wrap {
    width: auto;
    height: auto
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: grab
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: grabbing
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
    cursor: zoom-out
}

.pswp__button,
.pswp__container,
.pswp__counter,
.pswp__img {
    -webkit-user-select: none;
    user-select: none
}

.pswp__item {
    z-index: 1
}

.pswp__hidden {
    display: none !important
}

.pswp__content {
    pointer-events: none
}

.pswp__content>* {
    pointer-events: auto
}

.pswp__error-msg-container {
    display: grid
}

.pswp__error-msg {
    margin: auto;
    font-size: 1em;
    line-height: 1;
    color: var(--pswp-error-text-color)
}

.pswp__button--close {
    right: var(--container-gutter);
    top: var(--container-gutter)
}

.pswp .pswp__hide-on-close {
    opacity: .005;
    will-change: opacity;
    transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
    z-index: 10;
    pointer-events: none
}

.pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto
}

.pswp__button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: var(--button-radius);
    background-color: #fff;
    border: 1px solid rgb(var(--color-default-text), .2);
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-touch-callout: none
}

.pswp__button:active,
.pswp__button:focus,
.pswp__button:hover {
    transition: none;
    padding: 0;
    box-shadow: none;
    opacity: 1
}

.pswp__img--with-bg,
div.pswp__img--placeholder {
    background: var(--pswp-placeholder-bg)
}

.pswp__top-bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    z-index: 10;
    pointer-events: none !important
}

.pswp--one-slide .pswp__button--arrow,
.pswp--zoomed-in .pswp__zoom-icn-bar-v,
.pswp__button--zoom {
    display: none
}

.pswp__top-bar>* {
    pointer-events: auto;
    will-change: opacity
}

.pswp__button--arrow {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    transform: translateY(-50%)
}

.pswp__button--arrow:disabled {
    display: none;
    cursor: default
}

.pswp__button--arrow .pswp__icn {
    top: 50%;
    margin-top: -30px;
    width: 40px;
    height: 40px;
    background: 0 0;
    border-radius: 0
}

.pswp--has_mouse .pswp__button--arrow {
    visibility: visible
}

.pswp__button--arrow--prev {
    right: auto;
    left: var(--container-gutter)
}

.pswp__button--arrow--next {
    right: var(--container-gutter)
}

.pswp__button--arrow--next .pswp__icn {
    left: auto;
    right: 14px;
    transform: scaleX(-1)
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block
}

.pswp__preloader {
    position: relative;
    overflow: hidden;
    width: 50px;
    height: 60px;
    margin-right: auto
}

.pswp__preloader .pswp__icn {
    opacity: 0;
    transition: opacity .2s linear;
    animation: .6s linear infinite pswp-clockwise
}

.pswp__preloader--active .pswp__icn {
    opacity: .85
}

@keyframes pswp-clockwise {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.placeholder {
    position: relative;
    overflow: hidden
}

.placeholder>svg {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.popover-wrapper {
    position: relative
}

.popover-wrapper--left>.popover {
    left: -5px;
    right: auto
}

.popover-wrapper--right>.popover {
    left: auto;
    right: -5px
}

.popover-wrapper--center>.popover {
    left: calc(-50% - 10px)
}

.popover {
    position: absolute;
    top: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
    min-width: 150px;
    width: max-content;
    color: rgb(var(--color-foreground, var(--color-default-text)));
    background-color: rgb(var(--color-background, var(--color-default-background)));
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .1);
    border-radius: var(--radius);
    transition: all .15s cubic-bezier(.5, 0, .175, 1)
}

.popover[open] {
    opacity: 1;
    visibility: visible;
    transform: translateY(3px)
}

.popover--top {
    top: auto;
    bottom: 40px
}

.popover-menu-list {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    margin: 0;
    padding: 15px 0;
    max-height: 270px;
    max-width: 160px
}

.popover-menu-list__item {
    font-size: .8125rem;
    width: 100%;
    border-radius: 0
}

.popover-menu-list__item>:not(.popover-menu-list__link--active):hover,
.popover-menu-list__link--active {
    background-color: rgba(var(--color-foreground, var(--color-default-text)), var(--color-soft-background-opacity))
}

.popover-menu-list__link {
    padding: 5px 25px;
    width: 100%
}

.popover-menu-list__link>span {
    white-space: nowrap
}

@media (min-width: 751px) {
    .popover-menu-list {
        max-width: 220px
    }
}

.price-range {
    display: block;
    padding-bottom: 10px
}

.price-range__range-group {
    position: relative;
    margin: 30px 0
}

.no-js .price-range__range-group {
    display: none
}

.price-range__inputs {
    display: grid;
    grid-auto-flow: column;
    gap: 10px
}

.price-range__input-group {
    display: flex;
    flex-direction: column
}

.price-range__input-wrapper {
    position: relative
}

.price-range__symbol {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%)
}

.price-range__input {
    display: flex;
    color: rgb(var(--color-foreground));
    border: 1px solid rgba(var(--color-foreground), .5);
    background: transparent;
    width: 100%;
    padding: 5px 10px 5px 20px;
    -webkit-appearance: none;
    appearance: none;
    border-radius: var(--radius)
}

.price-range__input::placeholder {
    color: rgb(var(--color-foreground), .5)
}

.price-slider {
    height: 1.5px;
    position: relative;
    background: rgba(var(--color-foreground), .2);
    border-radius: var(--radius)
}

.price-slider__progress {
    height: 100%;
    left: 0%;
    right: 100%;
    position: absolute;
    border-radius: var(--radius);
    background: rgb(var(--color-foreground))
}

.price-range {
    position: relative
}

.price-range__range {
    position: absolute;
    width: 100%;
    height: 1.5px;
    top: -4px;
    left: -2px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none
}

input[type=range]::-webkit-slider-thumb {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background: rgb(var(--color-foreground));
    pointer-events: auto;
    -webkit-appearance: none;
    cursor: pointer;
    box-shadow: 0 0 6px #0000000d
}

input[type=range]::-moz-range-thumb {
    height: 12px;
    width: 12px;
    border: none;
    border-radius: 50%;
    background: rgb(var(--color-foreground));
    pointer-events: auto;
    -moz-appearance: none;
    cursor: pointer;
    box-shadow: 0 0 6px #0000000d
}

@media (min-width: 751px) {
    .price-range__range-group {
        margin: 20px 0
    }

    input[type=range]::-webkit-slider-thumb {
        height: 10px;
        width: 10px
    }

    input[type=range]::-moz-range-thumb {
        height: 10px;
        width: 10px
    }
}

.price-details {
    display: grid;
    justify-items: inherit;
    justify-content: inherit
}

.price .price-item {
    margin: 0 10px 0 0
}

.price:not(.price--show-badge) .price-item--last:last-of-type {
    margin: 0
}

.price--show-badge {
    display: inline-flex;
    gap: 30px;
    align-items: center
}

.price--sold-out .price__availability,
.price__regular {
    display: block
}

.price__sale,
.price__availability,
.price .price__badge-sale,
.price .price__badge-sold-out,
.price--on-sale .price__regular,
.price--on-sale .price__availability {
    display: none
}

.price--sold-out .price__badge-sold-out,
.price--on-sale .price__badge-sale {
    display: inline-block
}

.price--on-sale {
    justify-content: inherit
}

.price--on-sale .price__sale {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: inherit
}

.price--on-sale .price-item--regular {
    text-decoration: line-through;
    color: rgba(var(--color-foreground), .75)
}

.price__unit-price {
    display: inline-flex;
    margin-top: -4px;
    opacity: .75
}

.quantity {
    color: rgba(var(--color-foreground, var(--color-default-text)));
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    border-radius: var(--button-radius);
    min-height: 35px
}

.quantity:after {
    pointer-events: none;
    content: "";
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    left: 1px;
    border-radius: var(--button-radius);
    box-shadow: 0 0 0 1px rgba(var(--color-foreground, var(--color-default-text)), .2);
    z-index: 1
}

.quantity__input {
    color: currentColor;
    opacity: .85;
    text-align: center;
    background-color: transparent;
    border: 0;
    width: 30px;
    -webkit-appearance: none;
    appearance: none
}

.quantity__button {
    flex-shrink: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(var(--color-foreground, var(--color-default-text)))
}

.quantity__button:first-child {
    margin-left: 1px
}

.quantity__button:last-child {
    margin-right: 1px
}

.quantity__button svg {
    fill: currentColor;
    pointer-events: none
}

.quantity__button:not(:focus-visible):not(.focused),
.quantity__input:not(:focus-visible):not(.focused) {
    box-shadow: inherit;
    background-color: inherit
}

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
    box-shadow: 0 0 0 10rem rgb(var(--color-background, var(--color-default-background))) inset !important;
    -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background, var(--color-default-background))) inset !important
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.quantity__input[type=number] {
    -moz-appearance: textfield
}

.remove__button {
    display: inline-flex;
    width: -moz-fit-content;
    width: fit-content;
    text-decoration: underline
}

.social-media {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    padding: 0;
    margin: 0;
    color: rgb(var(--color-foreground))
}

.social-media--centered {
    justify-content: center
}

.social-media__link {
    display: block
}

.social-media__link>.icon {
    display: block
}

.hidden {
    display: none !important
}

.border-bottom {
    outline: .5px solid rgba(var(--color-foreground), .2)
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

iframe {
    width: 100%;
    display: block;
    border: 0;
    aspect-ratio: 16/9
}

@media (max-width: 750px) {
    iframe {
        width: 100%
    }
}

#admin-bar-iframe {
    aspect-ratio: initial
}

.view-all-bottom {
    padding-top: var(--vertical-spacer)
}

.hide-scrollbar {
    scrollbar-width: none;
    overflow-x: auto;
    overflow-y: hidden
}

.hide-scrollbar::-webkit-scrollbar {
    display: none
}

.header-template {
    display: grid
}

.header-template .rich-text-wrapper:not(.vertical-spacer--inherit) {
    padding-top: calc(var(--padding-top, 1) * var(--vertical-spacer));
    padding-bottom: calc(var(--padding-bottom, 1) * var(--vertical-spacer))
}

img {
    transition: opacity .15s cubic-bezier(.5, 0, .175, 1)
}

img[reveal=true] {
    opacity: 0
}

img[reveal=false] {
    opacity: 1
}

[parallax=true]>loess-video {
    transform: scale(1.7);
    transition: opacity .15s cubic-bezier(.5, 0, .175, 1)
}

[parallax=true]>img[reveal=true] {
    opacity: 0
}

[parallax=true]>img[reveal=false] {
    opacity: 1
}

.shopify-challenge__container {
    display: grid;
    gap: 20px;
    padding: var(--vertical-spacer) var(--container-gutter)
}

.shopify-challenge__button {
    margin-top: 20px !important
}

.skip-to-content-link:focus {
    z-index: 9999;
    position: fixed;
    width: auto;
    height: auto;
    clip: auto;
    padding: .5em 1em;
    color: rgb(var(--color-default-text));
    background-color: rgb(var(--color-default-background));
    border: 1.5px solid rgb(var(--color-default-text))
}

*:focus-visible {
    outline: .2rem solid rgba(var(--color-foreground, var(--color-default-text)), .75);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px rgb(var(--color-background)), 0 0 5px 4px rgba(var(--color-foreground), .2)
}

.padding-top-0 {
    padding-top: 0 !important
}

.border-bottom-none {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important
}

.no-radius {
    border-radius: 0
}

@media (max-width: 750px) {
    .spr-summary .spr-starrating {
        justify-content: center
    }
}

.spr-review-reportreview {
    float: left !important
}

loess-scroller,
loess-hero-scroller {
    display: block;
    position: relative
}

loess-hero-scroller>.scroller {
    padding-top: 3px
}

.scroller {
    display: grid;
    grid-template-columns: repeat(auto-fit, calc(100% / var(--columns) - var(--container-gap) * (calc(var(--columns) - 1) / var(--columns))));
    justify-content: safe var(--scroller-alignment, center);
    gap: var(--container-gap);
    padding: 0;
    margin-top: 0;
    margin-bottom: 0
}

.scroller-center-align {
    scroll-snap-align: center
}

.scroller--fixed-columns {
    grid-template-columns: repeat(var(--columns), 1fr)
}

.scroller>li {
    scroll-snap-align: start
}

.scroller--padding-bottom>li {
    padding-bottom: 30px
}

.scroller-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    min-height: var(--vertical-spacer)
}

.scroller-bar.color-soft {
    background: none
}

.scroller-progress-bar {
    display: block;
    grid-column-start: 2;
    justify-self: center;
    width: 100%;
    height: 1px;
    position: relative;
    background-color: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.scroller-progress-bar:before {
    content: "";
    position: absolute;
    background-color: rgb(var(--color-foreground, var(--color-default-text)));
    transform-origin: left;
    transform: scaleX(var(--scroller-progress));
    top: -1.5px;
    bottom: -1.5px;
    right: 0;
    left: 0
}

.scroller-progress-bar--transition:before {
    transition: transform .25s ease-in-out
}

.scroller-buttons {
    grid-column-start: 3;
    justify-self: end
}

loess-scroller:not([columns-mobile]):not([columns-large])>.scroller-bar,
loess-hero-scroller:not([columns-mobile]):not([columns-large])>.scroller-bar {
    display: none
}

@media (max-width: 750px) {
    ul:is(.scroller-mobile) {
        grid-auto-flow: column;
        grid-template-columns: none;
        grid-auto-columns: calc(100% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)));
        max-width: 100vw
    }

    .scroller-mobile--full-width {
        padding-left: var(--container-gutter);
        padding-right: var(--container-gutter);
        padding-top: var(--vertical-spacer)
    }

    loess-scroller:not([columns-mobile])>ul+.scroller-bar,
    loess-hero-scroller:not([columns-mobile])>ul+.scroller-bar {
        display: none
    }

    .scroller-bar {
        padding-top: 30px
    }
}

@media (max-width: 750px) {
    .scroller-mobile {
        overflow-y: hidden;
        padding-left: var(--container-gutter) !important;
        padding-right: var(--container-gutter) !important;
        margin-left: calc(-1 * var(--container-gutter));
        margin-right: calc(-1 * var(--container-gutter));
        scroll-padding: var(--container-gutter)
    }

    .scroller--mobile-flush {
        margin-left: calc(-2 * var(--container-gutter)) !important;
        margin-right: calc(-2 * var(--container-gutter)) !important
    }

    loess-scroller:not([columns-mobile])>.scroller-bar,
    loess-hero-scroller:not([columns-mobile])>.scroller-bar {
        display: none
    }
}

@media (min-width: 751px) and (max-width: 990px) {
    ul:is(.scroller-tablet) {
        grid-auto-flow: column;
        grid-template-columns: none;
        grid-auto-columns: calc(100% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)))
    }

    loess-scroller[columns-tablet]>ul+.scroller-bar,
    loess-hero-scroller[columns-tablet]>ul+.scroller-bar {
        display: grid !important
    }

    loess-scroller:not([columns-tablet])>ul+.scroller-bar,
    loess-hero-scroller:not([columns-tablet])>ul+.scroller-bar {
        display: none
    }

    .scroller-bar {
        padding-top: 30px
    }

    .scroller-tablet {
        overflow-y: hidden;
        padding-left: var(--container-gutter) !important;
        padding-right: var(--container-gutter) !important;
        margin-left: calc(-1 * var(--container-gutter));
        margin-right: calc(-1 * var(--container-gutter));
        scroll-padding: var(--container-gutter)
    }

    .scroller--tablet-flush {
        margin-left: calc(-2 * var(--container-gutter)) !important;
        margin-right: calc(-2 * var(--container-gutter)) !important
    }

    loess-scroller:not([columns-tablet])>.scroller-bar,
    loess-hero-scroller:not([columns-tablet])>.scroller-bar {
        display: none
    }
}

@media (max-width: 990px) {
    .scroller--flush {
        margin-left: calc(-2 * var(--container-gutter)) !important;
        margin-right: calc(-2 * var(--container-gutter)) !important
    }
}

@media (min-width: 991px) {
    ul:is(.scroller-large) {
        grid-auto-flow: column;
        grid-template-columns: none;
        grid-auto-columns: calc(100% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)))
    }

    loess-scroller[columns-large]>ul+.scroller-bar,
    loess-hero-scroller[columns-large]>ul+.scroller-bar {
        display: grid !important
    }

    loess-scroller:not([columns-large])>ul+.scroller-bar,
    loess-hero-scroller:not([columns-large])>ul+.scroller-bar {
        display: none
    }

    loess-scroller:not([columns-large])>.scroller-bar,
    loess-hero-scroller:not([columns-large])>.scroller-bar {
        display: none
    }

    .scroller-bar {
        padding-top: 50px
    }

    .scroller-progress-bar {
        width: 60%
    }
}

.scroller-tabs {
    display: block;
    overflow: auto;
    margin: 0 calc(-1 * var(--container-gutter)) var(--vertical-spacer);
    padding: 0 var(--container-gutter)
}

.scroller-tabs--centered {
    text-align: center
}

.scroller-tabs__inner {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: 30px;
    padding: 0;
    margin: 0;
    color: rgb(var(--color-foreground, var(--color-default-text)));
    box-shadow: 0 -1px rgb(var(--color-foreground, var(--color-default-text))) inset
}

.scroller-tabs__item {
    padding-bottom: 15px;
    box-shadow: 0 0 inset;
    transition: box-shadow .1s ease-in-out
}

.scroller-tabs__item[active] {
    box-shadow: 0 -4px rgb(var(--color-foreground, var(--color-default-text))) inset
}

.scroller-tabs__item:hover:not([active]) {
    opacity: .7
}

@media (min-width: 991px) {
    .scroller-tabs {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0
    }
}

.section {
    position: relative;
    align-items: var(--text-y-axis, center);
    min-height: var(--height, auto)
}

.section--padded {
    padding-top: var(--vertical-spacer);
    padding-bottom: var(--vertical-spacer)
}

.section-link-bottom {
    display: flex;
    justify-content: center;
    padding: var(--vertical-spacer);
    margin-bottom: calc(-1 * var(--vertical-spacer))
}

@media (max-width: 750px) {
    .section.section-vertical-spacer .hero-offset:not(.media-with-text--reverse-mobile) .rich-text-wrapper {
        padding-top: 0
    }
}

.section-heading {
    display: grid;
    grid-auto-flow: column;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: var(--vertical-spacer)
}

.section-heading--centered {
    justify-content: center;
    justify-items: center;
    text-align: center
}

.section-heading:not(.section-heading--centered).section-heading--capped {
    max-width: calc(2 / 3 * 100%)
}

.section-heading--right {
    justify-content: end
}

.section-heading--reduced {
    padding-bottom: calc(var(--vertical-spacer) / 2)
}

.section-heading--aligned {
    align-items: center
}

.section-heading--padded {
    padding: 20px 0
}

.section-heading__link {
    display: inline-flex;
    gap: 15px;
    color: inherit
}

.section-heading__link-arrow-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(var(--color-foreground, var(--color-default-text)));
    color: rgb(var(--color-background, var(--color-default-background)));
    width: 18px;
    height: 18px;
    border-radius: var(--button-radius);
    overflow: hidden
}

.section-heading__link-arrows {
    display: flex;
    gap: 15px;
    transform: translate(-10px);
    transition: transform .25s ease-in-out
}

@media (hover: hover) {
    .section-heading__link:hover .section-heading__link-arrows {
        transform: translate(11px)
    }

    .section-heading__link:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
        text-decoration-thickness: 1px
    }
}

@media (max-width: 750px) {
    .section-heading {
        grid-auto-flow: row;
        row-gap: 20px
    }

    .section-heading--centered>.section-heading__link {
        margin: 0 auto
    }
}

@media (min-width: 751px) {
    .section-heading {
        column-gap: 10%;
        row-gap: 25px
    }

    .section-heading--centered {
        grid-auto-flow: row
    }

    .section-heading--padded {
        padding: 30px 0
    }

    .section-heading__heading,
    .section-heading__subheading {
        grid-column-start: 1
    }
}

@media (max-width: 990px) {
    .section-heading__link {
        order: 1
    }

    .section-heading--mobile-spaced {
        grid-auto-flow: column;
        justify-content: space-between
    }
}

@media (min-width: 991px) {
    .section-heading {
        row-gap: 20px
    }

    .section-heading--centered {
        grid-template-columns: 1fr 3fr 1fr;
        column-gap: 20px
    }

    .section-heading--centered>.section-heading__heading {
        grid-column-start: 2;
        justify-self: center
    }

    .section-heading--centered>.section-heading__link {
        grid-column-start: 3;
        justify-self: end
    }

    .section-heading--centered>.section-heading__subheading {
        grid-column-start: 2;
        grid-row-start: 1;
        justify-self: center
    }
}

#MainContent.template-index>.shopify-section--slideshow-hero:first-child .rich-text-wrapper {
    padding-top: calc(var(--vertical-spacer) / 2 + var(--header-transparent-buffer, 0))
}

.slideshow-hero {
    display: grid;
    position: relative
}

.slideshow-hero>* {
    grid-area: 1 / -1
}

.slideshow-hero--height-buffer {
    --buffer-height: 60px
}

.slideshow-hero--height-buffer-short {
    --buffer-height: 20px !important
}

.slideshow-hero--height-buffer-large {
    --buffer-height: 80px
}

.slideshow-hero--height-buffer .banner {
    min-height: calc(var(--height) + var(--buffer-height))
}

.slideshow-hero--height-buffer .rich-text-wrapper {
    padding-bottom: calc(var(--vertical-spacer) + var(--buffer-height))
}

.slideshow-hero__thumbnails {
    align-self: end;
    padding-bottom: 8px;
    z-index: 2
}

.slideshow-hero__thumbnails:not(.slideshow-hero__thumbnails--offset) button {
    background-color: rgba(var(--color-background), var(--button-outline-opacity));
    backdrop-filter: blur(var(--button-outline-blur));
    -webkit-backdrop-filter: blur(var(--button-outline-blur))
}

.slideshow-hero__thumbnails--offset {
    grid-area: initial;
    padding-bottom: 0;
    margin-top: -75px;
    margin-bottom: -50px
}

.slideshow-hero__thumbnails--offset .scroller {
    padding-top: 20px;
    padding-bottom: 20px
}

.slideshow-hero__thumbnails--offset li {
    box-shadow: #0e1e251f 0 2px 4px, #0e1e2552 0 2px 16px
}

.slideshow-hero__button {
    display: inline-flex;
    gap: 16px;
    justify-content: flex-start;
    border-radius: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-top: 1px solid rgba(var(--color-foreground), .4);
    font-size: .875rem;
    font-weight: 700;
    padding: 16px;
    position: relative
}

.slideshow-hero__button>* {
    pointer-events: none
}

.slideshow-hero__button-thumbnail>* {
    max-width: 42px;
    max-height: 42px
}

.slideshow-hero__button-thumbnail--default img,
.slideshow-hero__button-thumbnail--custom img {
    object-fit: contain;
    aspect-ratio: 1;
    display: flex;
    object-position: 50% 50% !important;
    justify-content: center
}

.slideshow-hero__button-thumbnail--icon,
.slideshow-hero__button-thumbnail--custom {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px
}

.slideshow-hero__button-thumbnail--custom>svg {
    position: absolute;
    fill: currentColor
}

.slideshow-hero__button:before,
.slideshow-hero__button:after {
    content: "";
    position: absolute;
    background-color: rgb(var(--color-foreground));
    transform-origin: left;
    top: 0;
    right: 0;
    left: 0
}

.slideshow-hero__button:after {
    height: 1px
}

.slideshow-hero__button:after {
    height: 3px;
    top: -2px;
    transform: scaleX(0%);
    transition: opacity .25s ease-in-out
}

.slideshow-hero__button[active]:after {
    transform: scaleX(1)
}

.slideshow-hero__scroller-bar {
    --color-foreground: var(--color-default-background);
    align-items: end;
    padding-bottom: 50px;
    pointer-events: none;
    z-index: 2
}

@media (max-width: 750px) {
    .slideshow-hero__button--mobile-active:after {
        transform: scaleX(1)
    }
}

@media (min-width: 751px) {
    .slideshow-hero__thumbnails:not(.slideshow-hero__thumbnails--offset) {
        padding-bottom: 20px
    }
}

@media (max-width: 990px) {
    .slideshow-hero__thumbnails {
        width: 100%;
        max-width: var(--container-width);
        margin-left: auto;
        margin-right: auto;
        padding-left: var(--container-gutter);
        padding-right: var(--container-gutter)
    }

    .slideshow-hero__cursor-progress {
        display: none
    }
}

@media (min-width: 991px) {
    .slideshow-hero__cursor-progress {
        display: none;
        position: absolute;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .slideshow-hero__cursor-progress--visible {
        display: block
    }

    .slideshow-hero__cursor-progress .slider-progress-bar__circle {
        stroke-width: 10px;
        transform: rotate(-90deg) scale(.34)
    }

    .slideshow-hero__thumbnails .scroller {
        padding-left: max(calc((100vw - calc(var(--container-width) - (var(--container-gutter)) * 2)) / 2), var(--container-gutter));
        padding-right: max(calc((100vw - calc(var(--container-width) - (var(--container-gutter)) * 2)) / 2), var(--container-gutter))
    }
}

@media (hover: hover) {
    .slideshow-hero__button:not([active]):after {
        opacity: 0;
        transform: scaleX(1)
    }

    .slideshow-hero__button:not([active]):hover:after {
        opacity: 1
    }
}

.slider {
    display: block
}

.slider__slide {
    position: relative
}

.slider__slide:not(.active) {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.slider .media-with-text__text:not(.media-with-text__text--full)>.rich-text-wrapper {
    padding-left: var(--container-gutter) !important;
    padding-right: var(--container-gutter) !important
}

.slider__slide.media-with-text {
    gap: 0 !important
}

.slider__slide .media-with-text__media {
    background-color: transparent !important
}

.slider__controls {
    right: 5px;
    bottom: 45px
}

@media (max-width: 750px) {
    .shopify-section--slideshow loess-scroller .slider__controls {
        top: 5px
    }

    #MainContent>:first-child.shopify-section--slideshow-hero .banner-mobile--fullscreen {
        min-height: calc(100vh - var(--header-group-height) - (var(--has-buttons-showing) * 45px)) !important
    }

    .shopify-section--slideshow-hero .banner-mobile--fullscreen {
        min-height: calc(100vh - (var(--has-buttons-showing) * 45px)) !important
    }
}

@media (min-width: 751px) {
    .slider__controls {
        right: 15px;
        bottom: 15px
    }

    #MainContent>:first-child.shopify-section--slideshow-hero .banner-large--fullscreen {
        min-height: calc(100vh - var(--header-group-height) - (var(--has-buttons-showing) * 45px)) !important
    }

    .shopify-section--slideshow-hero .banner-large--fullscreen {
        min-height: calc(100vh - (var(--has-buttons-showing) * 45px)) !important
    }
}

.slider-buttons {
    display: inline-flex;
    gap: 10px
}

.slider-buttons>button {
    outline: 0px solid rgba(var(--color-foreground, var(--color-default-text)), 0)
}

.slider-buttons__previous[disabled],
.slider-buttons__next[disabled] {
    background-color: rgb(var(--color-soft-background))
}

.slider-buttons__previous:not([disabled]),
.slider-buttons__next:not([disabled]) {
    transition: outline .15s ease-in-out
}

.slider-buttons__previous,
.slider-buttons__next {
    min-width: 40px;
    min-height: 40px;
    border-width: 1px
}

@media (hover: hover) {

    .slider-buttons__previous:not([disabled]):hover,
    .slider-buttons__next:not([disabled]):hover {
        outline: 4px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
    }
}

.slider__controls {
    display: flex;
    position: absolute;
    width: 25px;
    height: 25px;
    pointer-events: none;
    z-index: 2
}

.slider-progress-bar__circle {
    fill: transparent;
    stroke: rgb(var(--color-foreground));
    stroke-width: 30px;
    stroke-dasharray: 471;
    stroke-dashoffset: 471;
    transform: rotate(-90deg) scale(.06);
    transform-origin: center
}

.slider-progress-bar__circle--animation {
    animation: slider-progress-bar calc(var(--auto-play-duration)) linear forwards;
    animation-play-state: var(--auto-play-state, paused)
}

.slider-progress-bar__circle--faded {
    stroke: rgb(var(--color-foreground), .15);
    stroke-dasharray: 0;
    stroke-dashoffset: 0;
    animation: none
}

@keyframes slider-progress-bar {
    to {
        stroke-dashoffset: 0
    }
}

.spinner {
    animation: spinner-turn 1s linear infinite;
    max-width: 30px;
    width: 100%
}

@keyframes spinner-turn {
    50% {
        transform: rotate(180deg)
    }

    to {
        transform: rotate(720deg)
    }
}

.spinner__value {
    animation: spinner-stroke 1s linear infinite;
    fill: none;
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    stroke-linecap: round;
    stroke-width: 4
}

.spinner__value {
    stroke: rgb(var(--color-foreground, var(--color-default-text)))
}

@keyframes spinner-stroke {
    50% {
        stroke-dashoffset: 0
    }

    to,
    to {
        stroke-dashoffset: 50
    }
}

.stars {
    --star-background: rgba(var(--color-foreground), .2);
    --star-foreground: currentColor;
    --rating-percentage: calc(var(--star-rating) / 5 * 100% - 1.5px)
}

.stars:before {
    content: "\2605\2605\2605\2605\2605";
    letter-spacing: 3px;
    background: linear-gradient(90deg, var(--star-foreground) var(--rating-percentage), var(--star-background) var(--rating-percentage));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.stars--color-default {
    --color-foreground: var(--color-default-text)
}

.tap {
    display: flex;
    gap: 10px;
    position: relative;
    align-items: center;
    cursor: pointer
}

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

.tap:before {
    content: "";
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px
}

loess-video {
    -webkit-mask-image: -webkit-radial-gradient(white, black)
}

iframe.video-iframe {
    object-fit: unset;
    height: var(--video-height, 100%);
    width: var(--video-width, 100%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0
}

iframe.video-iframe-full {
    position: absolute;
    height: calc(100% + 200px);
    width: auto;
    top: 50%;
    left: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%)
}

@media (min-aspect-ratio: 16/9) {
    iframe.video-iframe {
        --video-height: 56.25vw
    }

    iframe.video-iframe-full {
        width: 100%
    }
}

@media (max-aspect-ratio: 16/9) {
    iframe.video-iframe {
        --video-width: 177.78vh;
        height: calc(var(--height-mobile) + 200px)
    }

    iframe.video-iframe-full {
        height: calc(100% + 400px)
    }
}

.announcement {
    --gap: 5rem;
    position: relative;
    font-family: var(--font);
    display: flex;
    overflow: hidden;
    align-items: center;
    gap: var(--gap)
}

.announcement:hover .announcement__content {
    animation-play-state: paused
}

.announcement__content {
    flex-shrink: 0;
    display: flex;
    justify-content: space-around;
    gap: var(--gap);
    min-width: 100%;
    padding: 0;
    animation: AnnouncementScroll var(--scroll-speed, 45s) linear infinite
}

.announcement__content--reverse {
    animation-direction: reverse
}

@keyframes AnnouncementScroll {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(calc(-100% - var(--gap)))
    }
}

.announcement-utility-bar {
    display: flex;
    flex-direction: column
}

.utility-bar {
    display: flex;
    justify-content: center;
    padding: 10px 0;
    min-height: 50px
}

.utility-bar:not(.utility-bar--center) {
    justify-content: space-between
}

.utility-bar>:not(:only-child):last-child {
    margin-left: 50px
}

.utility-bar--icons-right>:not(:only-child):last-child {
    margin-left: 0;
    margin-right: 50px
}

.utility-bar--icons-right {
    flex-direction: row-reverse
}

.utility-bar--icons-left>.utility-bar__cross-border {
    margin-left: auto
}

.utility-bar--icons-right>.utility-bar__cross-border {
    margin-right: auto
}

.utility-bar__cross-border {
    display: inline-grid;
    grid-auto-flow: column;
    column-gap: 40px
}

.announcement-bar {
    padding: 10px 0;
    min-height: 50px;
    display: flex;
    align-items: center
}

.announcement-bar-soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.announcement-bar--link {
    flex-direction: row
}

.announcement-bar__link {
    align-items: baseline;
    justify-content: center
}

.announcement-bar__link,
.announcement-bar__text {
    display: flex;
    width: 100%
}

.announcement-bar__link>.button,
.announcement-bar__text>.button {
    margin-left: 15px
}

.announcement-bar__text {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    line-height: 1.5
}

.announcement-bar__button {
    padding: 0 10px;
    border-width: 1px;
    font-size: .75rem
}

.announcement-bar__panel {
    border-top: 1px solid transparent;
    transition: border .25s ease-in-out
}

.announcement-bar__panel[open] {
    border-color: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

@media (max-width: 750px) {
    .utility-bar {
        display: none
    }

    .announcement-bar__panel--has-image .rich-text-wrapper {
        padding-top: 0
    }
}

@media (min-width: 751px) {
    .announcement-utility-bar--reverse {
        flex-direction: column-reverse
    }

    .announcement-bar__button {
        padding: 0 1.2em
    }

    .announcement-bar__panel-close-wrapper {
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .announcement-bar__panel-close-button {
        display: flex;
        justify-content: end;
        align-items: center;
        height: var(--vertical-spacer)
    }
}

@media (min-width: 991px) {
    .announcement-bar-merged {
        display: grid;
        grid-template-columns: 1fr 3fr 1fr;
        align-items: center
    }

    .announcement-bar-merged--centered {
        grid-template-columns: none;
        grid-auto-flow: column;
        column-gap: 70px;
        justify-content: center
    }

    .announcement-bar-merged>*:last-child {
        justify-self: end
    }

    .announcement-bar-merged>* {
        display: flex
    }

    .announcement-bar__text {
        justify-content: center
    }
}

@media (hover: hover) {
    .announcement-bar__button {
        --button-background-color: var(--color-foreground, var(--color-default-text))
    }
}

.banner {
    --height: auto;
    --height-mobile: auto;
    --height-large: auto;
    display: grid;
    position: relative;
    height: 100%;
    min-height: var(--height)
}

.banner>*,
.banner:after {
    grid-area: 1 / -1
}

.banner:after {
    content: "";
    z-index: 1;
    pointer-events: none;
    background-color: rgba(var(--color-background, var(--color-default-text)), var(--overlay-opacity))
}

.banner--no-radius:after {
    border-radius: 0
}

.banner__text .rte>p {
    opacity: 1
}

.vertical-spacer .banner:after {
    border-radius: var(--radius)
}

.banner--link>.banner__text {
    pointer-events: none
}

.banner__text {
    align-self: var(--text-y-axis, center);
    z-index: 2
}

.banner__text--overlay {
    color: rgb(var(--color-foreground, var(--color-default-background)))
}

.banner__text--overlay .button:not(.button--color-overriden) {
    --color-foreground: var(--color-default-background);
    --color-background: var(--color-default-text)
}

.banner__text--overlay .button--color-overriden.button--primary {
    background-color: rgb(var(--color-accent, var(--color-default-text)))
}

.banner__media {
    position: relative;
    overflow: hidden
}

.banner__media>* {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%;
    -webkit-user-select: none;
    user-select: none
}

.banner__media>svg {
    fill: rgba(var(--color-background, var(--color-default-text)), var(--overlay-opacity));
    width: auto
}

.banner--auto>.banner__media>* {
    position: initial
}

@media (max-width: 750px) {
    .banner[class*=banner-mobile] {
        min-height: var(--height-mobile)
    }

    .banner-mobile--x-small {
        --height-mobile: 100px
    }

    .banner-mobile--small {
        --height-mobile: 230px
    }

    .banner-mobile--medium {
        --height-mobile: 330px
    }

    .banner-mobile--large {
        --height-mobile: 430px
    }

    .banner-mobile--x-large {
        --height-mobile: 530px
    }

    .banner-mobile--16-9 {
        --height-mobile: 56.25vw
    }

    .banner-mobile--fullscreen {
        --height-mobile: 100vh
    }

    .banner-mobile--auto>.banner__media>* {
        position: initial
    }

    .banner__media--auto>*,
    .banner__media--mobile-auto>* {
        position: absolute !important
    }

    .banner--no-radius-mobile {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0
    }

    .banner--no-radius-mobile:after {
        border-radius: 0
    }

    .banner--no-radius-mobile.border-radius+.banner-text-below-mobile {
        border-bottom-left-radius: var(--radius);
        border-bottom-right-radius: var(--radius)
    }
}

@media (min-width: 751px) {
    .banner[class*=banner-large] {
        min-height: var(--height-large)
    }

    .banner-large--x-small {
        --height-large: 160px
    }

    .banner-large--small {
        --height-large: 300px
    }

    .banner-large--medium {
        --height-large: 430px
    }

    .banner-large--large {
        --height-large: 560px
    }

    .banner-large--x-large {
        --height-large: 728px
    }

    .banner-large--16-9 {
        --height-large: auto;
        aspect-ratio: 16/9
    }

    .banner-large--fullscreen {
        --height-large: 100vh
    }

    .banner-large--auto>.banner__media>* {
        position: initial
    }

    .banner__media--auto>*,
    .banner__media--large-auto>* {
        position: absolute !important
    }

    .banner__text {
        align-self: var(--text-y-axis-large, var(--text-y-axis), center)
    }
}

@media (min-width: 991px) {
    .banner-large--x-small {
        --height-large: 230px
    }

    .banner-large--small {
        --height-large: 360px
    }

    .banner-large--medium {
        --height-large: 500px
    }

    .banner-large--large {
        --height-large: 650px
    }

    .banner-large--x-large {
        --height-large: 845px
    }
}

@media (min-width: 1100px) {
    .banner-large--x-small {
        --height-large: 300px
    }

    .banner-large--small {
        --height-large: 420px
    }

    .banner-large--medium {
        --height-large: 600px
    }

    .banner-large--large {
        --height-large: 750px
    }

    .banner-large--x-large {
        --height-large: 1000px
    }
}

.blog-grid--padding {
    row-gap: var(--column-padding, 40px)
}

.blog-post {
    align-content: space-between
}

.collapsible-content-list {
    --spacer: 20px
}

.collapsible-content-list__category {
    margin-bottom: var(--spacer)
}

.collapsible-content-list--centered .collapsible-content-list__category {
    text-align: center
}

.collapsible-content-list__category:first-child {
    margin-top: 10px
}

.collapsible-content-list__category:not(:first-child) {
    margin-top: calc(var(--spacer) + 10px)
}

.collapsible-content {
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.collapsible-content__title {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--spacer) 0;
    font-weight: 700
}

.collapsible-content-list--centered .collapsible-content__title {
    justify-content: center;
    text-align: center
}

.collapsible-content__button {
    border-width: 1px;
    margin-left: var(--spacer);
    border-color: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.collapsible-content__button[aria-expanded=true] .icon {
    transform: rotate(180deg) translateY(0) !important
}

.collapsible-content-list--centered .collapsible-content-text {
    text-align: center
}

.collapsible-content-text>* {
    margin-bottom: calc(var(--spacer) + 10px)
}

@media (min-width: 991px) {
    .collapsible-content-list {
        max-width: calc(2 / 3 * 100%);
        margin: 0 auto
    }
}

.contact--soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.contact-form {
    --height-mobile: auto;
    --height-large: auto;
    display: grid;
    align-items: center
}

.contact-form--bordered {
    border: 1px solid rgba(var(--color-foreground), .1)
}

.contact-form__heading {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    padding-bottom: calc(var(--vertical-spacer) / 2)
}

.contact-form--reverse>.contact-form__image,
.contact-form--reverse>.contact-form__placeholder {
    order: 1
}

.contact-form__image {
    position: relative;
    height: 100%;
    overflow: hidden;
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.contact-form__image>* {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.contact-form__form .form {
    text-align: center
}

.contact-form .input-group>div {
    width: 100%
}

.contact-form__textarea {
    padding-top: 20px
}

.contact-form__placeholder {
    position: relative;
    height: 100%;
    overflow: hidden;
    background-color: rgb(var(--color-foreground));
    min-height: var(--height-mobile)
}

.contact-form__placeholder>svg {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    transform: translate(-50%, -50%);
    fill: rgba(var(--color-background), .4);
    pointer-events: none
}

@media (max-width: 750px) {
    .contact-form[class*=contact-form-mobile]>.contact-form__image {
        min-height: var(--height-mobile)
    }

    .contact-form-mobile--small {
        --height-mobile: 120px
    }

    .contact-form-mobile--medium {
        --height-mobile: 225px
    }

    .contact-form-mobile--large {
        --height-mobile: 350px
    }

    .contact-form-mobile--auto>.contact-form__image>* {
        position: initial
    }
}

@media (min-width: 751px) {
    .contact-form {
        grid-auto-flow: column;
        grid-auto-columns: 50%
    }

    .contact-form__placeholder {
        min-height: var(--height-large)
    }

    .contact-form[class*=contact-form-large]>.contact-form__image {
        min-height: var(--height-large)
    }

    .contact-form-large--small {
        --height-large: var(--section-height-small)
    }

    .contact-form-large--medium {
        --height-large: var(--section-height-medium)
    }

    .contact-form-large--large {
        --height-large: var(--section-height-large)
    }

    .contact-form-large--auto>.contact-form__image>* {
        position: initial
    }
}

.cookie-banner {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .1) !important;
    transition: transform .15s ease-in-out;
    z-index: 2
}

.cookie-banner[hidden] {
    transform: translateY(100%)
}

.cookie-banner__inner {
    --spacing: 30px;
    display: grid;
    gap: var(--spacing);
    padding: var(--spacing) 0;
    text-align: center
}

.cookie-banner__buttons {
    display: inline-grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px
}

.cookie-banner__buttons>* {
    justify-content: center;
    width: 100%
}

@media (min-width: 750px) {
    .cookie-banner__inner {
        gap: 40px;
        grid-auto-flow: column;
        justify-content: center;
        align-items: center;
        text-align: left
    }
}

#Recover,
#Recover+div {
    display: none
}

#Recover:target {
    display: block
}

#Recover:target+div {
    display: block
}

#Recover:target~#Login,
#Recover:target~#Login+div {
    display: none
}

#Recover,
#Login {
    scroll-margin-top: 20rem
}

#Recover {
    margin-bottom: 0
}

.customers-form {
    display: grid;
    gap: 30px;
    justify-items: center
}

.customers-form .input-group {
    width: 100%
}

.customers-form button {
    margin-top: 20px
}

.account {
    display: grid;
    gap: 50px
}

.account-orders {
    gap: 20px
}

.order-history>tbody>tr+tr {
    margin-top: 20px
}

.account-addresses {
    display: grid;
    gap: 40px;
    justify-items: center;
    text-align: center;
    border: 1px solid rgb(var(--color-foreground, --color-default-text));
    border-radius: var(--radius);
    padding: 40px 20px
}

.account-orders>div {
    width: 100%
}

.customer table {
    table-layout: auto;
    border-collapse: collapse;
    box-shadow: none;
    width: 100%;
    font-size: 1.6rem;
    position: relative
}

.customer th,
.customer td {
    font-weight: 400;
    line-height: 1;
    border: none;
    padding: 0
}

.customer tbody td {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.customer td:empty {
    display: initial
}

.customer tbody tr {
    border-top: .01rem solid rgba(var(--color-foreground), .08)
}

.customer thead:after,
.customer tfoot:before {
    content: "";
    height: 1px;
    width: 100%;
    display: block;
    position: absolute;
    left: 0;
    background: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.customer tfoot>tr>td {
    padding-top: 20px
}

.customer tbody ul {
    padding: 0
}

.addresses [aria-expanded=false]~div[id] {
    display: none
}

.addresses [aria-expanded=true]~div[id] {
    display: block;
    text-align: center
}

.addresses [aria-expanded=true]~div[id] h2 {
    margin-bottom: 30px
}

.addresses li [aria-expanded=true]~div[id] {
    margin-top: 50px
}

.addresses li>h2,
.addresses li>div:first-of-type {
    margin-bottom: 20px
}

.addresses ul {
    list-style: none;
    padding-left: 0;
    text-align: center
}

@media (max-width: 750px) {

    .customer thead,
    .customer th,
    .customer tfoot td:first-of-type {
        display: none
    }

    .customer td {
        display: flex;
        text-align: right;
        align-items: center
    }

    .customer td:before {
        color: rgba(var(--color-foreground), .75);
        content: attr(data-label);
        padding-right: 20px;
        flex-grow: 1;
        text-align: left
    }

    .customer td:first-of-type {
        display: flex;
        align-items: center
    }

    .customer tr {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        width: 100%
    }
}

@media (min-width: 751px) {
    .account-orders.section-form {
        gap: 40px
    }

    .customer th,
    .customer td:first-of-type {
        text-align: left;
        padding-left: 0
    }

    .customer thead th {
        padding-bottom: 10px;
        opacity: .75
    }

    .customer tbody td {
        padding-top: 20px
    }

    .order-details thead th:nth-last-child(-n+3),
    .order-details td:nth-last-child(-n+3) {
        text-align: right
    }

    .order-details .price__sale {
        justify-content: end
    }

    .order-details tfoot>tr>td:first-child {
        text-align: left
    }
}

@media (min-width: 991px) {
    .account {
        grid-template-columns: 3fr 1fr
    }

    .account-addresses {
        position: sticky;
        top: calc(var(--vertical-spacer) / 2 + var(--header-height, 0) * var(--enable-sticky-header));
        align-content: center;
        max-width: 500px;
        height: max-content;
        padding: 50px 25px
    }
}

.featured-collection {
    row-gap: 25px;
    padding-top: 5px
}

@media (hover: hover) {
    .featured-collection--lift-on-hover-padding {
        padding-top: 7px
    }
}

.shopify-section--footer>div {
    border-top: calc(1px * var(--enable-separator-line)) solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.footer-soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.footer-top {
    padding-top: 40px
}

.footer-top>div {
    margin-bottom: 50px
}

.footer-top h4:first-child,
.footer-top>div>img:first-child,
.footer-block-blog img {
    margin-bottom: 20px
}

.footer-top .button {
    margin-top: 20px
}

.footer-top>div:last-child {
    margin-bottom: 0
}

.footer-image-placeholder {
    max-width: var(--image-width);
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(var(--vertical-spacer)) 0
}

.footer-top+.footer-bottom {
    padding: calc(1.5 * var(--vertical-spacer)) 0 var(--vertical-spacer)
}

.footer__services {
    display: flex;
    flex-direction: column;
    align-items: center
}

.footer__payment-icons {
    display: inline-flex
}

.footer__localization-selectors {
    display: grid;
    grid-auto-flow: column;
    column-gap: 40px
}

.footer__contact-form {
    margin-top: 20px
}

.footer__contact-form .button {
    margin-top: 0
}

.footer__copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.footer__copyright>:last-child:not(:only-child) {
    margin-left: 10px
}

@media (max-width: 750px) {
    .footer-menu {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .footer__follow-on-shop {
        margin-bottom: 20px
    }

    .footer-menu .button {
        margin-top: 0
    }

    .footer-menu>h2:first-child {
        margin-bottom: 0
    }

    .footer-menu__panel {
        padding-left: 20px
    }

    div>.footer-menu__panel:only-child {
        padding-left: 0;
        height: auto;
        opacity: 1;
        visibility: visible
    }

    .footer-menu__panel>.menu-list {
        padding-top: 20px
    }

    .footer__payment-icons {
        order: 1;
        margin-top: 10px;
        margin-bottom: 25px
    }

    .footer__localization-selectors {
        margin-bottom: 20px
    }
}

@media (min-width: 751px) {
    .footer-top {
        display: flex;
        flex-wrap: wrap;
        margin-left: -20px;
        padding-top: 0
    }

    .footer-top>div {
        width: var(--width);
        padding-left: 20px;
        padding-top: 30px;
        margin-bottom: 0
    }

    .footer-top>div>img {
        max-width: var(--image-width, 100%)
    }

    .footer-top__newsletter:not(:last-child) .input-group {
        margin-right: 20px
    }

    .footer-menu__panel {
        padding-left: 0;
        height: auto;
        opacity: 1;
        visibility: visible;
        line-height: 0
    }

    .footer__services {
        flex-direction: row
    }

    .footer__services--spaced {
        justify-content: space-between;
        width: 100%
    }

    .footer__services--spaced .popover {
        left: auto;
        right: -5px
    }

    .footer__copyright {
        margin-top: 20px
    }

    .footer__copyright--start {
        justify-content: start;
        width: 100%
    }
}

@media (min-width: 991px) {
    .footer-top>div {
        padding-top: 50px
    }

    .footer-top+.footer-bottom {
        padding-top: var(--vertical-spacer)
    }
}

.shopify-section--footer-password {
    color: rgb(var(--color-default-text));
    background-color: rgb(var(--color-default-background))
}

.footer-password {
    display: grid;
    justify-content: center;
    gap: 10px;
    padding: 40px 0;
    text-align: center
}

.footer-password__store-note {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center
}

.footer-password svg {
    margin-left: 10px
}

.footer-password__login-button {
    border-bottom: 1px solid rgb(var(--color-foreground, var(--color-default-text)));
    border-radius: 0
}

@media (min-width: 751px) {
    .footer-password {
        grid-auto-flow: column;
        justify-content: space-between
    }
}

.shopify-section--header {
    z-index: 5
}

.header {
    display: block;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border .15s ease-in-out;
    position: relative
}

.header--transparent {
    --color-foreground: var(--transparent-color-foreground);
    color: rgb(var(--color-foreground));
    background: transparent !important
}

.header-wrapper {
    padding: 8px 0
}

.header-top {
    display: grid;
    gap: 20px;
    grid-template-areas: "burger logo icons";
    grid-template-columns: auto 1fr auto;
    align-items: center
}

.header-top__burger {
    grid-area: burger;
    justify-self: start
}

.header-icons__optional {
    grid-area: optional-icons
}

.header-icons__account {
    background-color: transparent;
    color: rgb(var(--color-foreground))
}

.header-logo {
    justify-self: start;
    padding: 10px 0
}

.header-logo>* {
    display: flex;
    color: currentColor
}

.header-logo a {
    position: relative;
    border: none;
    word-break: break-word
}

.header-logo:not(.header-logo--image) {
    max-width: 220px
}

.header-logo__image {
    height: auto;
    width: 100%;
    transition: opacity .15s ease-in-out
}

.header-logo__image--alternate {
    position: absolute;
    top: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.header--transparent .header-logo__image--alternate {
    opacity: 1
}

.header--transparent .header-logo__image:not(:last-child) {
    opacity: 0
}

.header--transparent>.border-bottom {
    max-width: calc(var(--container-width) - 2 * var(--container-gutter));
    margin: 0 auto
}

.header:not(.header--transparent)>.border-bottom {
    max-width: 100%
}

.header-logo--centered {
    justify-self: center
}

.header-menu {
    grid-area: menu;
    display: none
}

.header-icons,
.header-icons__optional {
    display: inline-grid;
    grid-auto-flow: column;
    justify-self: start;
    column-gap: 20px
}

.header-icons {
    grid-area: icons;
    justify-self: end
}

.header-top__burger>.icon--burger,
.header-icons svg,
.header-icons__optional svg {
    transition: color .15s ease-in-out
}

[aria-controls=PopupIconToggle] {
    display: none
}

.header-cart-icon {
    position: relative
}

.header-cart-icon__count {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(var(--color-accent, var(--color-foreground)));
    color: rgb(var(--color-background));
    border-radius: 50%;
    width: 18px;
    height: 18px;
    right: -10px;
    top: -5px;
    pointer-events: none
}

.header-cart-icon__count--default-background {
    background-color: rgb(var(--color-default-text));
    color: rgb(var(--color-default-background))
}

.header-bottom {
    display: none
}

@media (max-width: 750px) {
    [class*=header-top--center] {
        grid-template-columns: 1fr 2fr 1fr
    }

    .header-icons__optional {
        display: none
    }
}

@media (min-width: 751px) {
    .header-wrapper:not(.header-wrapper--collapse-menu-on-tablet) {
        padding-top: calc(16px + calc(16px * var(--padding-percentage) / 100));
        padding-bottom: calc(16px + calc(16px * var(--padding-percentage) / 100))
    }

    .header-top {
        gap: 25px
    }

    .header-top--center-hidden {
        grid-template-columns: 1fr 2fr 1fr
    }

    .header-top--left-inline,
    .header-top--left-center {
        grid-template-areas: "logo menu icons"
    }

    .header-top--left-inline {
        grid-template-columns: auto 1fr
    }

    .header-top--left-center {
        grid-template-columns: 1fr 6fr;
        justify-items: center
    }

    .header-top--left-below {
        grid-template-areas: "logo icons";
        grid-template-columns: 1fr auto
    }

    .header-top--center-inline {
        grid-template-areas: "menu logo icons";
        grid-template-columns: 1fr auto 1fr
    }

    .header-top--center-below {
        grid-template-areas: "optional-icons logo icons";
        grid-template-columns: 1fr 2fr 1fr
    }

    .header-top:not(.header-top--left-hidden):not(.header-top--center-hidden)>.header-top__burger {
        display: none
    }

    .header-menu {
        display: block;
        padding: 10px 0
    }

    .header-icons {
        column-gap: 25px
    }

    .header-bottom {
        display: flex;
        padding: 10px 0;
        padding-top: calc(10px + calc(10px * var(--padding-percentage) / 100))
    }

    .header-bottom--center-below {
        justify-content: center
    }
}

@media (min-width: 751px) and (max-width: 990px) {
    .header-wrapper--collapse-menu-on-tablet>.header-top {
        gap: 25px;
        grid-template-areas: "burger logo icons";
        grid-template-columns: auto 1fr auto
    }

    .header-wrapper--collapse-menu-on-tablet>[class*=header-top--center] {
        grid-template-columns: 1fr 2fr 1fr
    }

    .header-wrapper--collapse-menu-on-tablet>.header-top>.header-top__burger {
        display: flex !important
    }

    .header-wrapper--collapse-menu-on-tablet :is(.header-menu, .header-bottom, .header-icons__optional) {
        display: none
    }
}

@media (min-width: 991px) {
    .header-wrapper {
        padding-top: calc(24px + calc(24px * var(--padding-percentage) / 100));
        padding-bottom: calc(24px + calc(24px * var(--padding-percentage) / 100))
    }

    .header-top {
        grid-gap: 40px !important
    }

    .header-wrapper--collapse-menu-on-tablet>.header-top--center-below .header-icons__search {
        display: none
    }

    .header-bottom {
        padding-top: calc(20px + calc(20px * var(--padding-percentage) / 100));
        padding-bottom: 5px
    }

    .header-icons :is(button, a) svg {
        transition: opacity .15s ease-out
    }
}

@media (hover: hover) {
    .header-icons :is(button, a):hover svg {
        opacity: .7
    }
}

.shopify-section--header-alternate {
    color: rgb(var(--color-default-text));
    background-color: rgb(var(--color-default-background))
}

.header-alternate {
    display: grid;
    justify-items: center;
    align-items: center;
    row-gap: 10px;
    padding: 20px 0
}

.header-alternate__logo {
    display: block;
    max-width: var(--logo-width)
}

@media (min-width: 751px) {
    .header-alternate {
        grid-auto-flow: column;
        padding: 30px 0
    }

    .header-alternate--password {
        justify-content: space-between
    }
}

.image--placeholder {
    background-color: rgb(var(--color-default-background))
}

.image--placeholder>svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    fill: rgb(var(--color-default-text), .5)
}

a.image img {
    transition: transform .15s ease-in-out
}

@media (max-width: 750px) {
    .banner-mobile--auto>.image>* {
        position: relative
    }

    .banner--no-radius-mobile:after {
        display: none
    }
}

@media (min-width: 751px) {
    .banner-large--auto>.image>* {
        position: relative
    }
}

@media (hover: hover) {
    a.image:hover img {
        transform: scale(1.02)
    }
}

.shopify-section--image-hotspots+.shopify-section--image-hotspots>.section--full-width>div {
    padding-top: 0;
    margin-top: calc(var(--enable-section-margin-top) * (-1 * var(--vertical-spacer) + var(--container-gap)))
}

.image-hotspots {
    display: grid;
    grid-template-columns: repeat(var(--columns), calc(100% / var(--columns) - ((var(--columns) - 1) * var(--container-gap)) / var(--columns)));
    justify-content: safe center;
    gap: var(--container-gap);
    padding: 0;
    margin-top: 0;
    margin-bottom: 0
}

.image-hotspot {
    position: relative;
    padding-bottom: var(--aspect-ratio);
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.image-hotspot>img {
    object-fit: cover;
    position: absolute;
    height: 100%
}

.image-hotspot-placeholder {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute
}

.image-hotspot-placeholder>svg {
    position: absolute;
    height: 100%;
    left: 50%;
    transform: translate(-50%);
    fill: rgba(var(--color-foreground), .4)
}

.hotspot-wrapper {
    opacity: 0;
    position: absolute;
    top: var(--y-axis);
    left: var(--x-axis)
}

.hotspot {
    min-width: 20px;
    min-height: 20px;
    margin-left: -10px;
    margin-top: -10px;
    border: 0;
    border-radius: 50%;
    background-color: rgb(var(--color-default-background));
    color: rgb(var(--color-default-text));
    box-shadow: var(--box-shadow);
    transition: transform .1s ease-in-out
}

@media (hover: hover) {
    .hotspot:hover {
        transform: scale(1.2)
    }

    .hotspot:hover>.hotspot__dot {
        transform: scale(.6)
    }

    .hotspot:active {
        transform: scale(1)
    }

    .hotspot:active>.hotspot__dot {
        transform: scale(1)
    }
}

.hotspot__dot {
    background-color: rgb(var(--color-default-text));
    width: 6px;
    height: 6px;
    border-radius: 50%;
    transition: transform .1s ease-in-out
}

.hotspot[aria-expanded=true]>.hotspot__dot {
    display: none
}

.hotspot[aria-expanded=false]>.hotspot__close {
    display: none
}

.hotspot__close {
    display: flex;
    height: 12px;
    width: 12px
}

.hotspot__close>.icon {
    height: auto;
    transform: none !important
}

.hotspot-popover {
    min-height: max-content;
    border: 0;
    box-shadow: var(--box-shadow)
}

.hotspot-popover__inner {
    display: inline-flex;
    padding: 20px;
    width: 100%;
    background-color: rgb(var(--color-default-background));
    color: rgb(var(--color-default-text))
}

.hotspot-popover__inner-media {
    height: max-content;
    max-width: 75px;
    margin-right: 10px
}

svg.hotspot-popover__inner-media {
    max-height: 75px
}

.hotspot-popover__inner-metadata {
    display: grid;
    align-content: center;
    flex-grow: 1
}

.hotspot-popover__inner-metadata__vendor {
    word-break: break-word
}

@media (max-width: 750px) {
    .hotspot-popover {
        top: calc(20px + var(--y-axis));
        width: calc(100vw - (2 * var(--container-gutter)) - 20px);
        left: 50%;
        transform: translate(-50%)
    }

    .hotspot-popover--left {
        left: calc(100% + 3px)
    }

    .hotspot-popover--right {
        left: -3px
    }

    .hotspot-popover[open] {
        transform: translate(-50%, 3px)
    }
}

@media (min-width: 751px) {
    .hotspot-popover {
        top: 10px;
        left: 15px;
        width: 275px
    }

    .hotspot-popover--top {
        top: auto;
        bottom: calc(100% - var(--y-axis) + 30px)
    }

    .hotspot-popover--left {
        left: auto;
        right: calc(100% + 15px)
    }
}

@media (min-width: 991px) {
    .hotspot {
        min-width: 30px;
        min-height: 30px;
        margin-left: -15px;
        margin-top: -15px
    }

    .hotspot__dot {
        width: 8px;
        height: 8px
    }
}

.image-split {
    position: relative;
    -webkit-user-select: none;
    user-select: none
}

.image-split--border-radius {
    border-radius: var(--radius)
}

.image-split__panel {
    position: relative
}

.image-split--border-radius .banner__media {
    border-radius: var(--radius)
}

.image-split__panel {
    -webkit-clip-path: inset(0 calc(100% - var(--initial-drag-position)) 0 0);
    clip-path: inset(0 calc(100% - var(--initial-drag-position)) 0 0)
}

.image-split__panel--second {
    -webkit-clip-path: inset(0 0 0 var(--initial-drag-position));
    clip-path: inset(0 0 0 var(--initial-drag-position))
}

.image-split__panel>.banner__media {
    height: 100%;
    width: 100%
}

.image-split__text {
    display: flex;
    flex-direction: column;
    justify-content: var(--text-position, flex-end);
    position: absolute;
    height: 100%;
    top: 0
}

.image-split__text>h3 {
    padding: calc(var(--container-gutter) / 2)
}

.image-split__panel--second .image-split__text {
    text-align: right;
    left: auto;
    right: 0
}

.image-split__cursor-wrapper {
    background-color: transparent !important
}

.image-split__cursor {
    display: grid;
    position: relative;
    top: 50%;
    left: var(--initial-drag-position);
    height: 100%;
    width: max-content;
    cursor: grab;
    color: rgb(var(--color-default-text));
    align-content: center;
    justify-items: center;
    touch-action: none;
    will-change: transform;
    transform: translate(-50%, -50%)
}

.image-split__cursor:active {
    cursor: grabbing
}

.image-split__cursor:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 2px;
    background-color: rgb(var(--color-default-background))
}

.image-split__cursor--inverse-colors {
    color: rgb(var(--color-default-background))
}

.image-split__cursor--inverse-colors:before {
    background-color: rgb(var(--color-default-text))
}

.image-split__cursor-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50px;
    z-index: 1;
    pointer-events: none;
    transition: transform .15s ease-in-out;
    background-color: rgb(var(--color-default-background))
}

.image-split__cursor--inverse-colors .image-split__cursor-inner {
    background-color: rgb(var(--color-default-text))
}

@media (hover: hover) {
    .image-split__cursor:hover .image-split__cursor-inner {
        transform: scale(1.2)
    }
}

.logo {
    display: flex;
    justify-content: center;
    border-radius: var(--radius);
    position: relative;
    padding-bottom: var(--aspect-ratio, 100%)
}

.logo--soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.logo.color-soft:not(.column-wrapper--soft-background) {
    background-color: transparent
}

.logo__image {
    width: var(--width);
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: var(--logo-opacity);
    transition: opacity .1s ease-in
}

.logo__placeholder {
    position: absolute;
    width: 100%;
    height: 100%
}

.logo__placeholder>svg {
    fill: rgb(var(--color-foreground), var(--logo-opacity));
    height: 100%;
    width: 100%
}

.logo__link {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1
}

@media (max-width: 750px) {
    .logo-list-mobile--centered {
        display: flex;
        justify-content: center
    }

    .logo-list-mobile--centered>.logo {
        padding-bottom: 0;
        aspect-ratio: 1;
        width: calc(100% / var(--columns-mobile))
    }
}

@media (min-width: 751px) {
    .logo-list-large--centered {
        display: flex;
        justify-content: center
    }

    .logo-list-large--centered>.logo {
        padding-bottom: 0;
        aspect-ratio: 1;
        width: calc(100% / var(--columns-large))
    }
}

@media (hover: hover) {

    .logo__link:hover+.logo__image,
    .logo__link:hover+.logo__placeholder>svg {
        opacity: 1
    }
}

.article-wrapper {
    max-width: 800px;
    margin: 0 auto
}

.article {
    display: grid;
    gap: 30px
}

.article__blog-post-letter p:first-of-type:first-letter {
    --first-letter-size: 3.125rem;
    font-size: var(--first-letter-size);
    font-family: var(--font-h-family);
    font-style: var(--font-h-style);
    font-weight: var(--font-h-weight);
    line-height: 1;
    padding-right: 5px
}

.article-buttons {
    display: inline-flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 20px
}

.article-buttons+.collapsible-panel>.input-group {
    margin-top: 20px
}

.article-comments {
    --spacer: 30px;
    margin-top: 20px;
    width: 100%;
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.article-comments-list-wrapper {
    padding-top: var(--spacer);
    padding-bottom: var(--spacer)
}

.article-comments-list {
    padding: 50px 10px 20px
}

.article-comments-list>*+* {
    margin-top: 40px
}

.article-comment {
    display: grid;
    gap: 20px
}

.article-comment-form-wrapper {
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.article-comment-form-wrapper:not(:only-child) {
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.article-comment-form {
    display: grid;
    gap: 40px
}

.article-comment-form-top {
    display: grid;
    gap: 20px
}

.article-comment-form__subtext {
    margin-top: 20px
}

.article-comment-form__subtext>p {
    display: inline
}

.article-comment-form__button {
    display: flex;
    justify-content: center;
    padding: var(--vertical-spacer)
}

.article-comments-pagination {
    padding-bottom: 20px
}

.article-comments-form__title {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--spacer) 0
}

.article-comments-form__button {
    border-width: 1px;
    margin-left: var(--spacer);
    border-color: rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.article-comments-form__button[aria-expanded=true] .icon {
    transform: rotate(180deg) translateY(0) !important
}

.article-previous-next-links {
    display: inline-grid;
    gap: 25px;
    width: 100%
}

.article-previous-next-links h3 {
    margin-bottom: 25px
}

.article-previous-next {
    display: inline-flex;
    gap: 15px
}

.article-previous-next__image-wrapper {
    position: relative;
    padding-bottom: 100%
}

.article-previous-next__image-wrapper>img {
    position: absolute;
    object-fit: cover;
    height: 100%
}

.article-previous-next img {
    max-width: 90px
}

.article-previous-next time {
    display: block;
    padding-top: 5px;
    opacity: .75
}

@media (min-width: 751px) {
    .article {
        gap: 60px
    }

    .article__blog-post-letter:first-letter {
        --first-letter-size: 4.063rem
    }

    .article-comments-list {
        padding: 50px 20px
    }

    .article-comment {
        align-items: start;
        gap: 40px;
        grid-template-columns: 1fr 2fr
    }

    .article-comment-form {
        gap: 50px
    }

    .article-comment-form-top {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px
    }

    .article-previous-next-links {
        grid-auto-flow: column
    }

    .article-previous-next-links--split {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 991px) {
    .article__blog-post-letter:first-letter {
        --font-size: 5rem
    }

    .article-comments-list {
        padding: 50px 40px 40px
    }
}

.blog-filter {
    justify-content: end;
    flex-wrap: wrap
}

.cart-progress {
    display: grid;
    gap: 5px;
    font-size: .875rem
}

.cart-progress a {
    text-decoration: underline
}

.cart-progress--mobile {
    margin-top: -10px;
    margin-bottom: var(--vertical-spacer)
}

.cart-progress--large {
    text-align: center;
    margin-bottom: var(--vertical-spacer)
}

.cart-empty,
.cart-form,
.cart-progress--drawer,
.cart-drawer-recommendations {
    display: none
}

.is-empty>.cart-empty {
    display: block;
    height: 100%
}

.cart-empty .rich-text {
    gap: 15px
}

loess-cart-items:not(.is-empty)>.cart-form,
loess-cart-drawer-items:not(.is-empty)>.cart-form {
    display: block
}

.cart {
    --gap: 20px;
    display: grid;
    gap: var(--vertical-spacer)
}

.cart-items th,
.cart-items td {
    padding: 0;
    border: 0
}

.cart-items th {
    opacity: .75;
    text-align: left;
    padding-bottom: 10px
}

.cart-item__details {
    display: grid;
    gap: 2px
}

.cart-item__details a {
    font-weight: 700
}

.cart-item__quantity-wrapper {
    display: grid;
    gap: 10px
}

.cart-item__link {
    display: flex;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.cart-item__image-container {
    display: inline-flex;
    align-items: start
}

.cart-item__media {
    position: relative
}

.cart-item__image {
    height: auto;
    max-width: 90px
}

.cart__items--disabled {
    pointer-events: none
}

.cart-item__price-wrapper {
    text-align: right
}

.cart-item__old-price {
    opacity: .75
}

.product-option+dl {
    margin-top: 10px
}

.product-option * {
    display: inline
}

.product-option>dt {
    font-weight: 700
}

.cart-item-discounts {
    padding: 0;
    margin-bottom: 0
}

.cart-item-discounts__item {
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgb(var(--color-accent-1))
}

.cart-blocks {
    display: grid;
    gap: 40px;
    border: 1px solid rgba(var(--color-default-text), .4);
    border-radius: var(--radius);
    padding: calc(var(--gap) * 2) var(--gap)
}

.cart-notes {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.cart-notes__label {
    display: inline-flex;
    align-content: center;
    gap: 5px
}

.cart-notes__textarea {
    border-color: rgba(var(--color-foreground, var(--color-default-text)), .2);
    min-height: 100px;
    height: -moz-fit-content;
    height: fit-content
}

.cart-checkout-button {
    display: grid;
    gap: 25px
}

.cart-express-icons {
    display: grid;
    gap: 10px;
    padding: 25px
}

.cart-errors {
    display: none
}

.cart-errors--visible {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding-bottom: 20px
}

.loading-overlay {
    width: 30px
}

.cart-item .loading-overlay:not(.hidden)~* {
    display: none
}

@media (max-width: 750px) {

    .cart-items,
    .cart-items thead,
    .cart-items tbody {
        display: block;
        width: 100%
    }

    .cart-items thead tr {
        display: flex;
        justify-content: space-between;
        margin-bottom: 25px;
        border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
    }

    .cart-item {
        margin-bottom: 25px;
        padding-bottom: 25px;
        border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
    }

    .cart-item:last-child {
        margin-bottom: 0;
        border-bottom: 0
    }

    .cart-item {
        display: grid;
        grid-template: repeat(2, auto) / repeat(4, 1fr);
        column-gap: 15px;
        row-gap: 25px
    }

    .cart-item__image {
        max-width: 70px
    }

    .cart-item__details {
        grid-column: 2 / 4
    }

    .cart-item__quantity {
        grid-column: 2 / 5
    }

    .cart-item__totals {
        display: flex;
        align-items: start;
        justify-content: end
    }
}

@media (min-width: 751px) {
    #MainCart .cart {
        gap: calc(var(--vertical-spacer) - var(--gap))
    }

    #MainCart .cart-items {
        border-spacing: 0;
        border-collapse: collapse
    }

    #MainCart .cart-items thead th:first-child {
        width: 60%
    }

    #MainCart .cart-items thead th:not(:first-child) {
        padding-left: 25px
    }

    #MainCart .cart-items thead th:last-child {
        text-align: right
    }

    #MainCart .cart-item__totals>.loading-overlay {
        margin-left: auto
    }

    #MainCart .cart-items th,
    #MainCart .cart-items tbody tr {
        border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
    }

    #MainCart .cart-items tbody tr:last-child {
        border: 0
    }

    #MainCart .cart-items td {
        vertical-align: top;
        padding-top: 25px;
        padding-bottom: 25px
    }

    #MainCart .cart-items td+td {
        padding-left: 25px
    }

    #MainCart .cart-item__media {
        position: relative;
        width: 90px
    }
}

@media (min-width: 751px) and (max-width: 990px) {
    .cart-progress--mobile {
        max-width: 50%
    }
}

@media (min-width: 991px) {
    #MainCart .cart {
        --gap: 50px;
        grid-template-columns: 2fr 1fr;
        gap: var(--vertical-spacer)
    }

    #MainCart .cart-items {
        align-self: start
    }

    #MainCart .cart-items td {
        padding-top: 45px;
        padding-bottom: 45px
    }

    #MainCart .cart-item__media {
        width: 90px;
        min-width: 90px
    }

    #MainCart .cart-item__details {
        width: 300px
    }

    .cart-blocks {
        position: sticky;
        align-content: center;
        gap: 50px;
        max-width: 500px;
        height: max-content;
        padding: var(--gap) calc(var(--gap) / 2)
    }
}

.shopify-section-main-collection .section {
    overflow: initial
}

loess-product-filters {
    display: flex;
    position: relative;
    height: 100%
}

loess-product-filters[loading]:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-background), .4);
    z-index: 2
}

.collection {
    padding: calc(var(--padding-top) * var(--vertical-spacer)) 0 calc(var(--padding-bottom) * var(--vertical-spacer))
}

.collection-bar {
    display: grid
}

.collection-bar--active-filters {
    row-gap: 20px
}

.collection-utility-bar {
    display: grid;
    align-items: center
}

.collection-utility-bar__buttons {
    display: inline-grid;
    grid-auto-flow: column;
    gap: 20px;
    width: max-content;
    margin-bottom: 15px
}

.collection-utility-bar__buttons button,
.collection-utility-bar__buttons label {
    font-weight: 700
}

.collection-utility-bar button {
    font-size: .875rem
}

.collection-utility-bar__sorting {
    display: inline-flex;
    align-items: center
}

.collection-utility-bar__sorting label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0
}

.collection-utility-bar__sorting select {
    padding: 0 10px;
    border-width: 0;
    cursor: pointer;
    height: 30px
}

.collection-utility-bar__sorting span {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%)
}

.collection-utility-bar__count {
    font-size: .75rem
}

loess-product-filters[loading] .collection-utility-bar__count-text {
    display: none
}

loess-product-filters:not([loading]) .collection-utility-bar__count>.spinner {
    display: none
}

loess-product-filters[loading] .collection-utility-bar__count>.spinner {
    display: block
}

.collection-bar__sorting {
    display: inline-grid;
    grid-auto-flow: column;
    gap: 10px;
    align-items: center
}

.collection-bar__sorting>select {
    font: inherit
}

.collection-aside__title {
    color: rgb(var(--color-foreground));
    line-height: 1.1;
    margin-bottom: 40px
}

.collection-filters {
    overflow-y: auto;
    padding-right: 20px
}

.collection-filter {
    padding: 17px 10px
}

.collection-filter--color .collapsible-panel {
    overflow: visible
}

.collection-filter__list-item:not(:last-child) {
    margin-bottom: 10px
}

.collection-filter__label {
    justify-content: space-between;
    width: 100%
}

.collection-filter__list {
    color: rgb(var(--color-foreground));
    padding: 15px 0 5px;
    margin: 0
}

.collection-filter__input {
    display: inline-flex;
    align-items: center;
    width: 100%
}

.collection-filter__input--color input[type=checkbox] {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px
}

.collection-filter__input>div {
    display: flex;
    align-items: center
}

.collection-filter__count {
    color: rgb(var(--color-foreground));
    margin-left: auto
}

.input__checkbox--disabled+*+* {
    color: rgba(var(--color-foreground), .5)
}

.collection-filter__more-button {
    position: relative;
    color: rgba(var(--color-foreground), .75);
    margin: 10px 0 20px
}

.collection-filter__more-button:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    height: 1px;
    background-color: rgba(var(--color-foreground), .75)
}

.collection-filter__more-button[aria-expanded=true]>:first-child {
    display: none
}

.collection-filter__more-button[aria-expanded=false]>:last-child {
    display: none
}

.collection-active-filters {
    justify-content: start
}

.collection-active-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 15px;
    border-radius: var(--button-radius);
    border: 1px solid rgba(var(--color-foreground), .2);
    transition: border .1s ease-out
}

.collection-active-filter__color {
    width: 14px;
    height: 14px;
    border-radius: var(--button-radius);
    border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .3);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px
}

.collection-active-filter--solid {
    border-color: rgb(var(--color-foreground))
}

.collection-active-filter>span {
    display: flex
}

#FilterProductGrid {
    height: 100%
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: calc(3 * var(--container-gap)) var(--container-gap);
    padding: 20px 0;
    margin: 0
}

.product-grid-empty {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center
}

#FilterProductGrid>.product-grid:only-child {
    padding-bottom: 0
}

.product-grid-empty {
    padding: 100px 0
}

@media (min-width: 751px) {
    .collection-aside {
        color: rgb(var(--color-foreground))
    }

    .collection-filter {
        border-top: 1px solid rgba(var(--color-foreground), .2)
    }

    .collection-filter__list-item:not(:last-child) {
        margin-bottom: 3px
    }

    .collection-aside.drawer {
        --color-foreground: var(--color-default-text);
        --color-background: var(--color-default-background);
        padding: 30px
    }

    .collection-aside__close-button {
        align-self: start;
        margin-left: -5px;
        margin-bottom: 20px
    }

    .collection-aside:not(.drawer) .collection-aside__close-button {
        display: none
    }

    .collection-bar--active-filters {
        row-gap: 30px
    }

    .collection-utility-bar {
        grid-auto-flow: column;
        gap: 30px;
        justify-content: space-between
    }

    .collection-utilit-bar--right-aligned {
        justify-content: end
    }

    .collection-utility-bar__buttons {
        margin-bottom: 0;
        gap: 30px
    }

    .collection-utility-bar__count {
        font-size: .875rem
    }

    .product-grid-empty {
        padding: 150px 0
    }

    .product-grid {
        padding: 40px 0
    }
}

@media (min-width: 991px) {
    .collection--filters-large>.collection-aside {
        align-self: start;
        position: sticky;
        background-color: transparent
    }

    .collection--filters-large {
        display: grid;
        grid-template-columns: 280px 1fr;
        column-gap: 10px
    }

    .collection--filters-large .collection-bar {
        grid-auto-flow: column;
        grid-template-columns: 1fr auto;
        align-items: end;
        gap: 30px
    }

    .collection--filters-large .collection-bar--active-filters {
        margin-bottom: -10px
    }
}

@media (hover: hover) {
    .collection-active-filter:hover {
        border-color: rgb(var(--color-foreground))
    }
}

.filters-mobile {
    --color-foreground: var(--color-default-text);
    --color-background: var(--color-default-background);
    --color-accent: var(--color-default-text);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    padding: var(--container-gutter) 0
}

.filters-mobile-header__top {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.filters-mobile-header .scroller-tabs {
    padding-top: 20px;
    box-shadow: 0 -1px rgba(var(--color-foreground, var(--color-default-text)), .2) inset;
    margin-bottom: 0
}

.filters-mobile-header .scroller-tabs__inner {
    box-shadow: none
}

.filters-mobile .drawer__content {
    overflow-y: auto
}

.filters-mobile-footer {
    border-top: 1px solid rgba(var(--color-foreground), .2);
    padding: 30px 0
}

.filters-mobile-footer__button {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px
}

.shopify-section--main-gift-card {
    margin-bottom: var(--vertical-spacer)
}

.main-gift-card {
    display: grid;
    height: 100%
}

.main-gift-card>div {
    grid-area: 1 / -1
}

.gift-cards {
    display: grid;
    gap: 20px;
    width: 100%;
    margin: 20px 0;
    max-width: 700px
}

.gift-cards--vertical {
    max-width: 550px
}

.gift-card {
    display: flex;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
    padding-bottom: 66.85%;
    position: relative;
    box-shadow: #3c40434d 0 1px 2px, #3c404326 0 1px 3px 1px;
    background-color: rgb(var(--color-background))
}

.gift-cards--vertical>.gift-card {
    padding-bottom: 150%
}

.gift-card>svg,
.gift-card>img {
    object-fit: cover;
    height: 100%;
    width: 100%
}

.gift-card:last-child {
    background-color: #fff
}

.gift-card__code-wrapper {
    display: flex;
    flex-direction: column
}

.gift-card__code {
    border: 0;
    text-align: center
}

.gift-card__qr-code {
    margin: 10px auto 0;
    width: 120px;
    height: 120px
}

.gift-card__expired-message {
    display: inline-flex;
    align-items: center
}

.gift-card>* {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

@media (min-width: 751px) {
    .gift-cards {
        grid-auto-flow: column
    }
}

.shopify-section--main-password:not(:first-child):not(:only-child)>.main-password {
    padding: var(--vertical-spacer) 0
}

.shopify-section--main-password:first-child:not(:only-child)>.main-password {
    padding-bottom: var(--vertical-spacer)
}

.main-password {
    display: grid
}

.main-password--full-height {
    height: 100%
}

.main-password>div {
    grid-area: 1 / -1
}

.main-password .rich-text-wrapper {
    padding-bottom: calc(var(--vertical-spacer) + var(--vertical-spacer) * (1 * var(--enable-social-icons)))
}

.main-password .rich-text {
    overflow-y: auto
}

.main-password .input-group {
    width: 100%
}

.main-password__modal-content {
    display: grid;
    gap: 20px;
    text-align: center
}

.main-password__social {
    z-index: 2;
    align-self: end;
    justify-self: center;
    margin-bottom: 10px;
    background-color: transparent !important
}

.main-password__modal-content .input-group {
    margin: 0 auto;
    max-width: 400px;
    width: 100%
}

@media (min-width: 751px) {
    .main-password__modal .modal__inner {
        min-width: 650px;
        height: calc(100% - (2 * var(--container-gutter)))
    }

    .main-password .input-group {
        max-width: 400px
    }
}

.main-product-wrapper {
    position: relative
}

.main-product {
    display: grid;
    column-gap: var(--container-gap)
}

.main-product--soft-wrapper {
    background-color: rgb(var(--color-default-background))
}

.main-product-soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.main-product__media-gallery {
    position: relative
}

.main-product__media-zoom-button {
    position: absolute;
    display: flex;
    align-items: center;
    top: 16px;
    right: 16px;
    width: 30px;
    height: 30px;
    padding: 0;
    justify-content: center;
    border-radius: var(--radius);
    z-index: 1;
    transition: background-color .1s ease-out
}

.main-product-soft-background {
    background-color: rgba(var(--color-default-text), var(--soft-background-opacity));
    position: absolute;
    width: 100%
}

.main-product-soft-background--fixed-soft {
    height: 100%
}

.main-product-soft-background--fixed-soft-top,
.main-product-soft-background--fixed-soft-bottom {
    height: 50%
}

.main-product-soft-background--fixed-soft-bottom {
    bottom: 0
}

.main-product-soft-background+div {
    position: relative
}

.main-product__media-gallery-wrapper {
    position: relative
}

.main-product__media-gallery[sticky] {
    position: sticky;
    top: calc(30px + var(--header-height, 0) * var(--enable-sticky-header))
}

.main-product__media-gallery__inner {
    position: relative;
    display: flex;
    align-items: start;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    padding-bottom: var(--aspect-ratio, 100%)
}

.main-product__media-gallery__inner--background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.main-product__media-gallery__inner-media {
    display: inline-flex;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    position: relative;
    scroll-snap-align: start
}

.main-product__media-gallery__inner-media--image {
    padding-bottom: var(--aspect-ratio, 100%)
}

.main-product__media-gallery__inner-media img {
    position: absolute;
    object-fit: cover
}

.main-product__media-gallery__inner-media img[reveal=true] {
    transform: scale(1)
}

.main-product-media__thumbnails {
    --columns: 5;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: calc(100% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)));
    gap: var(--container-gap);
    margin: 0;
    padding: var(--container-gap) var(--container-gutter);
    scroll-padding: var(--container-gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100vw
}

.main-product-media__thumbnails button {
    background: transparent
}

.main-product-media__thumbnails button.soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.main-product-media__thumbnails::-webkit-scrollbar {
    display: none
}

.main-product-media__thumbnails>li {
    display: flex;
    align-items: start;
    scroll-snap-align: start;
    height: 100%;
    width: 100%
}

.main-product-media__thumbnails>li>button:focus-visible {
    outline: 2px solid rgba(var(--color-foreground, var(--color-default-text)), 1);
    outline-offset: 0px;
    box-shadow: none
}

.main-product-media__thumbnail>.main-product-media__thumbnail-icon {
    position: absolute;
    top: 5px;
    right: 5px
}

.main-product-media__thumbnail>.main-product-media__thumbnail-icon--play {
    padding: 7px
}

.main-product-media__thumbnail>.main-product-media__thumbnail-icon--model {
    padding: 6px
}

.main-product-media__thumbnail-icon>.icon--play {
    width: 7px;
    height: 7px
}

.main-product-media__thumbnail-icon>.icon--model {
    width: 9px;
    height: 9px
}

.main-product-media__thumbnails button {
    border: 0;
    padding: 0;
    cursor: pointer;
    border-radius: var(--radius);
    width: 100%
}

.main-product-media__thumbnail {
    position: relative;
    border-radius: min(4px, var(--radius))
}

.main-product-media__thumbnail img {
    position: absolute;
    height: 100%;
    border-radius: inherit
}

.main-product-media__thumbnail:after {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border-radius: min(4px, var(--radius));
    border: 2px solid rgb(var(--color-accent, var(--color-default-text)));
    opacity: 0;
    transform: scale(.95);
    transition: transform .1s ease-out, opacity .1s ease-out
}

.product-media__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 100%;
    padding: var(--container-gutter);
    padding-bottom: 5px
}

.product-media__buttons>.slider-dots {
    justify-self: center;
    margin-left: 0
}

.product-media__video {
    display: flex;
    width: 100%
}

.product-media__video video {
    max-width: 100%;
    height: auto;
    cursor: pointer
}

button[aria-current=true] .main-product-media__thumbnail:after {
    opacity: 1;
    transform: scale(1)
}

.main-product__blocks>*+* {
    margin-top: 30px
}

.main-product__block-text {
    text-transform: initial
}

.main-product__block-text--uppercase {
    text-transform: uppercase
}

.main-product__block-price {
    display: grid;
    row-gap: 20px
}

.main-product__block-price .price--show-badge {
    flex-wrap: wrap;
    row-gap: 15px;
    column-gap: 30px
}

.main-product__block-price .card-badges__badge:first-child {
    margin-right: 5px
}

.main-product__block-price-installments-banner {
    margin-top: 20px
}

.main-product__block-variant-picker {
    display: grid;
    gap: 30px
}

.product-variation__wrapper {
    line-height: 20px
}

.product-variation__list {
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 10px
}

@media (hover: hover) {
    .main-product__block-variant-picker .card-swatches__button {
        position: relative;
        cursor: pointer
    }

    .main-product__block-variant-picker .card-swatches__button>span {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: center;
        position: absolute;
        border-radius: var(--button-radius);
        top: -10px;
        left: 80%;
        font-size: .75rem;
        width: -moz-fit-content;
        width: fit-content;
        padding: 1em;
        clip: auto;
        background: rgb(var(--color-background));
        color: rgb(var(--color-foreground));
        border: 1px solid rgb(var(--color-foreground), .2);
        text-align: center;
        pointer-events: none;
        z-index: 1;
        opacity: 0;
        font-weight: 700
    }

    .main-product__block-variant-picker .card-swatches__button:hover>span {
        opacity: 1
    }
}

loess-variant-radios fieldset {
    border: 0;
    padding: 0;
    margin: 0
}

loess-variant-radios legend {
    font-weight: 700;
    transform-origin: 10px 0;
    transform: scale(.6) translateY(-15px) translate(-8px) !important
}

.input__list {
    display: inline-flex;
    flex-wrap: wrap;
    column-gap: 7px;
    row-gap: 15px
}

input[type=radio]+label {
    display: inline-flex;
    padding: .3em .85em;
    cursor: pointer;
    position: relative;
    margin-right: 6px
}

.card-swatches__button--large {
    width: 31px;
    height: 31px;
    background-size: 31px 31px;
    background-repeat: no-repeat;
    background-position: center
}

label.card-swatches__button--large:after,
.card-swatches__button--large:after {
    padding: 17.5px
}

input[type=radio]+label:not(.card-swatches__button) {
    border: 1px solid rgb(var(--color-foreground), .2);
    color: rgba(var(--color-foreground));
    border-radius: var(--button-radius)
}

input[type=radio]+label:not(.card-swatches__button):hover {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

input[type=radio]+label:not(.card-swatches__button):after {
    content: "";
    position: absolute;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    top: -5px;
    left: -5px;
    padding: 12px;
    border-radius: var(--button-radius);
    border: 2px solid rgb(var(--color-foreground, var(--color-default-text)));
    opacity: 0;
    transform: scale(.85);
    transition: transform .15s ease-in-out, opacity .15s ease-in-out
}

input[type=radio]:checked+label:after,
.card-swatches__button--active:after {
    opacity: .75;
    transform: scale(1)
}

input[type=radio]:focus-visible+label:after {
    box-shadow: 0 0 0 2px rgb(var(--color-foreground))
}

input[type=radio].disabled+label {
    background: linear-gradient(to bottom right, transparent calc(50% - 1px), rgba(var(--color-foreground), .4) 50%, transparent calc(50% + 1px)) no-repeat
}

.product-form__buttons .spinner {
    max-height: 24px
}

.product-form__buttons .spinner__value {
    stroke: rgb(var(--color-background))
}

.product-form__buttons>.button--secondary .spinner__value {
    stroke: rgb(var(--color-accent, var(--color-foreground)))
}

.main-product__block-quantity-selector {
    margin-top: 20px;
    margin-bottom: -10px
}

.main-product__block-quantity-selector label {
    font-weight: 700;
    display: inline-block;
    padding-top: 10px;
    margin-bottom: 10px
}

.main-product__block-collapsible-tab {
    border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2);
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), .2)
}

.main-product__block-collapsible-tab .collapsible-content-title {
    padding: 15px 10px;
    border-radius: 0;
    transition: background-color .15s ease-out
}

.main-product__block-collapsible-tab .button {
    width: 100%;
    justify-content: space-between
}

.main-product__block-collapsible-tab .collapsible-content-text>div {
    padding: 15px 10px 40px
}

.main-product__block-collapsible-tab+.main-product__block-collapsible-tab {
    margin-top: 0;
    border-top: 0
}

.main-product__block-related-products__inner {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--container-gap);
    row-gap: 20px;
    border-radius: var(--radius);
    padding: 0
}

.main-product__block-related-products__inner li {
    flex-basis: calc(50% - var(--container-gap))
}

@media (min-width: 1100px) {
    .main-product__block-related-products__inner li {
        flex-basis: calc(25% - var(--container-gap))
    }
}

.main-product__block-related-products__inner a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--container-gap)
}

.main-product__block-related-products__inner a>div {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.main-product__media-gallery__inner:not([animation-style=slide])>div {
    position: absolute;
    z-index: 0
}

.main-product__media-gallery__inner:not([animation-style=slide])>div[active] {
    z-index: 1
}

.main-product__media-gallery__inner[animation-style=fade]>div {
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s ease-out, visibility .15s ease-out
}

.main-product__media-gallery__inner[animation-style=fade]>div[active] {
    opacity: 1;
    visibility: visible
}

.main-product__blocks>*:first-child {
    margin-top: 0
}

.main-product__blocks>*:not(.main-product__block-label) {
    display: block
}

.main-product__block-label {
    display: inline-flex;
    line-height: 0;
    margin-top: 40px;
    margin-right: 30px
}

.main-product__block-label+.main-product__block-label {
    margin-top: 10px
}

.main-product__block-label svg:first-child {
    height: 2rem;
    width: 2rem
}

.main-product__block-label .modal__inner {
    background-color: #ffa07a;
    min-width: 650px;
    height: calc(100% - (2 * var(--container-gutter)))
}

.main-product__block-label--no-icon {
    vertical-align: bottom;
    line-height: 3.2
}

.main-product__block-label__inner {
    display: inline-flex;
    align-items: center;
    column-gap: 10px
}

.main-product__block-label-underline {
    text-decoration: underline
}

.main-product__block-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 20px
}

.main-product__block-inventory__inner {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center
}

.main-product__block-share:last-child {
    margin-top: 50px
}

.main-product__block-share__inner {
    display: flex;
    align-items: center
}

.main-product__block-share__input {
    margin: 20px 0
}

.main-product__block-share__icons {
    column-gap: 10px;
    margin-left: 25px
}

.product-form__buttons {
    display: grid;
    row-gap: 15px;
    padding: 15px 0
}

.product-form__submit {
    min-height: 44px
}

.pickup-availability-info {
    display: flex;
    gap: 10px;
    margin-top: 20px
}

.pickup-availability-info>svg {
    margin-top: 4px
}

.pickup-availability-button {
    font-size: .875rem;
    text-decoration: underline;
    margin-top: 10px
}

#ShowPickupAvailabilityDrawer .drawer__content {
    overflow-y: auto;
    padding-bottom: 100px;
    height: 100%
}

.pickup-availability-list {
    padding: 32px 16px;
    margin: 0
}

.pickup-availability-list__item {
    display: grid;
    grid-auto-flow: column;
    gap: 10px;
    justify-content: start
}

.pickup-availability-list__item:not(:first-child) {
    padding-top: 25px;
    margin-top: 25px;
    border-top: 1px solid rgba(var(--color-foreground), .2)
}

.pickup-availability-list__item>svg {
    margin-top: 7px
}

.pickup-availability-list__item-info {
    display: grid;
    row-gap: 10px
}

@media (max-width: 750px) {
    .main-product {
        row-gap: 30px
    }

    #MainContent.template-index>.shopify-section--featured-product:first-child .main-product-margin-mobile {
        margin-top: calc(-1 * var(--padding-top, 1) * var(--vertical-spacer))
    }

    #MainContent.template-index>.shopify-section--featured-product:first-child .main-product-padding-mobile,
    .shopify-section--featured-product .main-product-padding-mobile {
        padding-top: 0
    }

    .main-product__media-gallery {
        margin-left: calc(-1 * var(--container-gutter));
        margin-right: calc(-1 * var(--container-gutter))
    }

    .main-product__blocks {
        max-width: calc(100vw - 2 * (var(--container-gutter)))
    }
}

@media (min-width: 751px) {
    .main-product {
        grid-template-columns: repeat(12, 1fr)
    }

    .main-product__media-gallery-wrapper,
    .main-product__blocks {
        grid-column: span 6
    }

    .main-product__media-gallery {
        display: grid;
        border-radius: var(--radius)
    }

    .main-product__media-gallery__inner {
        border-radius: var(--radius)
    }

    .main-product__media-zoom-button {
        top: 5px;
        right: 5px
    }

    .main-product-media__thumbnails {
        --columns: 5;
        padding: 5px 2px;
        margin: -2px 0;
        grid-auto-columns: calc(100% / var(--columns) - (2.5 * var(--container-gap) / var(--columns) * (var(--columns) - 1)));
        overflow-x: hidden;
        overflow-y: auto
    }

    .product-media__buttons {
        display: inline-flex;
        padding: 20px 0 0
    }

    .product-media__buttons>.slider-dots {
        margin-left: 30px
    }

    .main-product__blocks {
        padding-left: 30px
    }
}

@media (min-width: 991px) {
    .main-product__media-gallery-wrapper {
        grid-column: span 7
    }

    .main-product__media-gallery__inner--no-thumbnails {
        grid-column: 1 / span 7
    }

    .main-product__media--thumbnails-left,
    .main-product__media--thumbnails-right {
        display: grid;
        grid-template-columns: repeat(7, 1fr)
    }

    .main-product__media--thumbnails-left>.main-product__media-gallery__inner {
        grid-column: 2 / span 6
    }

    .main-product__media--thumbnails-right>.main-product__media-gallery__inner {
        grid-column: 1 / span 6
    }

    .main-product__media--thumbnails-left>.main-product__media-gallery__inner,
    .main-product__media--thumbnails-right>.main-product__media-gallery__inner {
        grid-row: 1;
        order: 1
    }

    .main-product__media--thumbnails-left .main-product-media__thumbnails,
    .main-product__media--thumbnails-right .main-product-media__thumbnails {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: auto;
        align-content: start;
        padding: 1px 2px
    }

    .main-product__media--thumbnails-left .main-product-media__thumbnails,
    .main-product__media--thumbnails-right .main-product-media__thumbnails {
        max-height: calc((((min(100vw, 1600px) - (2 * var(--container-gutter))) / 2) - (var(--container-gap) / 2)) / var(--largest-image-aspect-ratio) + 2px)
    }

    .main-product__media-gallery--fixed.main-product__media--thumbnails-left .main-product-media__thumbnails,
    .main-product__media-gallery--fixed.main-product__media--thumbnails-right .main-product-media__thumbnails {
        max-height: calc((((min(100vw, 1600px) - (4 * var(--container-gutter))) / 2) - (var(--container-gap) / 2)) / var(--largest-image-aspect-ratio) + 2px)
    }

    .main-product--half-half .main-product__media--thumbnails-left .main-product-media__thumbnails,
    .main-product--half-half .main-product__media--thumbnails-right .main-product-media__thumbnails {
        max-height: calc((((min(100vw, 1600px) - (2 * var(--container-gutter))) / 2.33) - (var(--container-gap) / 2)) / var(--largest-image-aspect-ratio))
    }

    .main-product--half-half .main-product__media-gallery--fixed.main-product__media--thumbnails-left .main-product-media__thumbnails,
    .main-product--half-half .main-product__media-gallery--fixed.main-product__media--thumbnails-right .main-product-media__thumbnails {
        max-height: calc((((min(100vw, 1600px) - (4 * var(--container-gutter))) / 2.33) - (var(--container-gap) / 2)) / var(--largest-image-aspect-ratio))
    }

    .product-modal .main-product--half-half .main-product__media--thumbnails-left .main-product-media__thumbnails,
    .product-modal .main-product--half-half .main-product__media--thumbnails-right .main-product-media__thumbnails {
        max-height: calc((((min((100vw - (4 * var(--container-gutter))), (1600px - 10vw - (2 * var(--container-gutter))))) / 2.33) - (var(--container-gap) / 2)) / var(--largest-image-aspect-ratio))
    }

    .main-product__blocks {
        grid-column: span 5;
        padding-left: 60px
    }
}

@media (hover: hover) {
    .main-product__media-zoom-button {
        background-color: rgba(var(--color-default-text), .3) !important
    }

    .main-product__media-gallery__inner[image-zoom=true]:hover {
        cursor: zoom-in
    }

    .main-product__media-gallery__inner[image-zoom=true]:hover+.main-product__media-zoom-button,
    .main-product__media-zoom-button:hover {
        cursor: zoom-in;
        background-color: rgba(var(--color-default-text), 1) !important
    }

    .main-product__block-collapsible-tab .collapsible-content-title:not(div):hover {
        background-color: rgba(var(--color-soft-background))
    }
}

.product-modal .modal__inner {
    padding: 0;
    max-height: calc(100vh - (2 * var(--container-gutter)));
    top: 50%;
    transform: calc(translateY(-50%) + 100px)
}

.product-modal .modal__inner--fit-height {
    height: calc(100% - (2 * var(--container-gutter)));
    align-content: start
}

.product-modal[open] .modal__inner--fullscreen {
    transform: translateY(-50%)
}

@media (max-width: 750px) {

    .shopify-section--main-product .section-vertical-spacer,
    .shopify-section--main-product .vertical-spacer {
        padding-top: 0
    }
}

@media (min-width: 751px) {
    .product-modal .modal__inner--fit-height {
        height: -moz-fit-content;
        height: fit-content;
        overflow-y: auto
    }
}

@media (min-width: 991px) {

    .main-product--half-half .main-product__blocks,
    .main-product--half-half .main-product__media-gallery-wrapper {
        grid-column: span 6
    }
}

.gift-card-recipient {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 40px 0
}

.gift-card-recipient__fields {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.media-collage {
    display: grid;
    gap: var(--container-gap)
}

.media-collage:empty {
    padding: 0;
    padding-bottom: var(--vertical-spacer)
}

.media-collage:is(.media-collage--small) {
    --height: 150px
}

.media-collage:is(.media-collage--medium) {
    --height: 180px
}

.media-collage:is(.media-collage--large) {
    --height: 210px
}

.media-collage:is(.media-collage--x-large) {
    --height: 240px
}

.media-collage--blocks-3 {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column
}

.media-collage--blocks-3>:first-child {
    grid-column: 1 / -1
}

.media-collage--blocks-3>:not(:first-child) {
    grid-column: span 1;
    grid-row: 2 / 3
}

.media-collage-block {
    display: grid;
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.media-collage-block__media {
    position: relative;
    overflow: hidden;
    min-height: var(--height)
}

.media-collage-block__media>*,
.media-collage-block__media img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.media-collage-block__media loess-video {
    border-radius: var(--radius)
}

.media-collage-block__media svg {
    width: 100%;
    height: 100%;
    fill: rgba(var(--color-foreground), .4)
}

.media-collage-block__media--overlaid {
    grid-area: 1 / -1
}

.media-collage-block__overlaid-text {
    grid-area: 1 / -1;
    margin: var(--container-gutter);
    align-self: var(--text-y-axis-large);
    justify-self: var(--text-x-axis-large);
    z-index: 1
}

.media-collage-block__overlaid-text:is(.color) {
    background-color: rgba(var(--color-background), var(--overlay-opacity));
    backdrop-filter: blur(var(--overlay-blur));
    -webkit-backdrop-filter: blur(var(--overlay-blur))
}

@media (max-width: 750px) {
    .media-collage-block__overlaid-text {
        margin: var(--height) auto var(--container-gutter);
        width: calc(100% - (2 * var(--container-gutter)))
    }
}

@media (min-width: 751px) {
    .media-collage:is(.media-collage--small) {
        --height: 300px
    }

    .media-collage:is(.media-collage--medium) {
        --height: 365px
    }

    .media-collage:is(.media-collage--large) {
        --height: 440px
    }

    .media-collage:is(.media-collage--x-large) {
        --height: 520px
    }

    .media-collage-block__overlaid-text {
        max-width: calc(2 / 3 * 100%)
    }
}

@media (max-width: 990px) {
    .media-collage--blocks-3>:not(:first-child)>.media-collage-block__media {
        min-height: auto;
        padding-bottom: calc(var(--height) * 9/16)
    }
}

@media (min-width: 991px) {
    .media-collage:is(.media-collage--small) {
        --height: 400px
    }

    .media-collage:is(.media-collage--medium) {
        --height: 500px
    }

    .media-collage:is(.media-collage--large) {
        --height: 600px
    }

    .media-collage:is(.media-collage--x-large) {
        --height: 700px
    }

    .media-collage:not(.media-collage--blocks-1) {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: column
    }

    .media-collage:not(.media-collage--blocks-1)>:first-child {
        grid-column: 1 / span 2
    }

    .media-collage:not(.media-collage--blocks-1)>:not(:first-child) {
        grid-column: 3 / span 1
    }

    .media-collage--reverse-blocks-large:not(.media-collage--blocks-1)>:first-child {
        grid-column-start: 2
    }

    .media-collage--reverse-blocks-large:not(.media-collage--blocks-1)>:not(:first-child) {
        grid-column-start: 1
    }

    .media-collage--blocks-3>:first-child {
        grid-row: 1 / 3
    }

    .media-collage--blocks-3>:not(:first-child) {
        grid-row: span 1
    }

    .media-collage--blocks-3>:not(:first-child)>.media-collage-block__media {
        min-height: auto
    }
}

@media (min-width: 991px) and (min-aspect-ratio: 16/9) {
    .media-collage:not(.media-collage--blocks-1) iframe.video-iframe-full {
        width: auto
    }

    .media-collage--blocks-1 iframe.video-iframe-full {
        height: calc(100% + 400px)
    }
}

.newsletter {
    --height: auto;
    --height-mobile: auto;
    --height-large: auto;
    display: grid;
    min-height: var(--height)
}

.newsletter-text {
    gap: 20px
}

.newsletter-form {
    display: grid;
    gap: 20px;
    justify-items: var(--text-x-axis, center);
    width: 100%
}

:not(.newsletter-text--row)>.newsletter-form {
    max-width: 450px
}

.newsletter-form .input-group {
    width: 100%
}

.newsletter-media {
    position: relative;
    overflow: hidden;
    background-color: rgba(var(--color-soft-background))
}

.newsletter-media>* {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.newsletter--full>.newsletter-text.rich-text-wrapper {
    padding-top: calc(var(--padding-top) * var(--vertical-spacer));
    padding-bottom: calc(var(--padding-bottom) * var(--vertical-spacer))
}

@media (min-width: 751px) {
    .newsletter-text {
        gap: 40px
    }

    .newsletter-text--row.rich-text-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--container-gutter);
        align-items: end
    }

    .newsletter-text--row.rich-text-wrapper>* {
        width: 100%
    }
}

@media (max-width: 990px) {
    .newsletter--reverse-mobile>.newsletter-text {
        order: 1
    }

    .newsletter-media[class*=newsletter-media-mobile] {
        min-height: var(--height-mobile)
    }

    .newsletter-media-mobile--small {
        --height-mobile: var(--section-height-small)
    }

    .newsletter-media-mobile--medium {
        --height-mobile: var(--section-height-medium)
    }

    .newsletter-media-mobile--large {
        --height-mobile: var(--section-height-large)
    }

    .newsletter-media-mobile--auto img {
        position: initial
    }
}

@media (min-width: 991px) {
    .newsletter--has-image {
        grid-template-columns: repeat(2, 1fr)
    }

    .newsletter--has-image>.newsletter-text {
        grid-template-columns: none;
        align-content: center
    }

    .newsletter-text--row.newsletter-text {
        justify-content: stretch
    }

    .newsletter--reverse-large>.newsletter-text {
        order: 1
    }

    .newsletter--full.newsletter--has-image>.newsletter-text {
        padding-left: max(calc((100vw - calc(var(--container-width) - (var(--container-gutter)) * 2)) / 2), var(--container-gutter))
    }

    .newsletter--full.newsletter--has-image.newsletter--reverse-large>.newsletter-text {
        padding-left: var(--container-gutter);
        padding-right: max(calc((100vw - calc(var(--container-width) - (var(--container-gutter)) * 2)) / 2), var(--container-gutter))
    }

    .newsletter--has-image .newsletter-form {
        max-width: 450px
    }

    .newsletter-media[class*=newsletter-media-large] {
        min-height: var(--height-large)
    }

    .newsletter-media-large--small {
        --height-large: var(--section-height-small)
    }

    .newsletter-media-large--medium {
        --height-large: var(--section-height-medium)
    }

    .newsletter-media-large--large {
        --height-large: var(--section-height-large)
    }

    .newsletter-media-large--auto img {
        position: initial
    }
}

.page-heading {
    margin: 0 auto var(--vertical-spacer)
}

.page-content {
    margin: 0 auto
}

@media (min-width: 751px) {
    .page-heading {
        max-width: calc(2 / 3 * 100%)
    }
}

@media (min-width: 991px) {
    .page-content--small {
        max-width: 50%
    }

    .page-content--medium {
        max-width: 70%
    }

    .page-content--large {
        max-width: none
    }
}

.shopify-policy__title {
    margin-bottom: var(--vertical-spacer)
}

.shopify-policy__container {
    padding: var(--vertical-spacer) var(--container-gutter)
}

.popup {
    position: fixed;
    padding: var(--container-gutter);
    width: 100%;
    z-index: 6;
    opacity: 0;
    visibility: hidden
}

.popup[open] {
    opacity: 1;
    visibility: visible
}

.popup-overlay {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    background-color: rgba(var(--overlay-background) / var(--overlay-background-opacity));
    transition: opacity .3s ease-out, visibility .3s ease-out
}

.popup[open]+.popup-overlay,
.popup[open] .popup__inner {
    opacity: 1;
    visibility: visible
}

.popup--top {
    max-width: 500px
}

.popup:not(.popup--no-image):not(.popup--top) {
    max-width: 760px
}

.popup__close-button {
    position: absolute;
    top: 0;
    right: 0;
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
    border-radius: var(--radius);
    z-index: 1
}

.popup__close-button>svg {
    pointer-events: none
}

.popup__close-button--padded {
    top: 5px;
    right: 5px
}

.popup__inner {
    position: relative;
    background-color: rgb(var(--color-background));
    opacity: 0;
    visibility: hidden;
    box-shadow: #3c40434d 0 1px 2px, #3c404326 0 1px 3px 1px;
    transition: opacity .3s ease-out, visibility .3s ease-out
}

.popup__image {
    min-height: var(--image-height);
    position: relative;
    height: 100%;
    overflow: hidden
}

.popup__image--small {
    --image-height: 120px
}

.popup__image--medium {
    --image-height: 160px
}

.popup__image--large {
    --image-height: 200px
}

.popup__image--x-large {
    --image-height: 240px
}

.popup__image>* {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.popup__content {
    display: grid;
    gap: 20px;
    align-content: center;
    padding-top: 40px;
    padding-bottom: 40px;
    text-align: var(--text-x-axis)
}

.popup__icon {
    justify-content: var(--text-x-axis)
}

@media (max-width: 750px) {
    .popup {
        bottom: 0
    }
}

@media (min-width: 751px) {
    .popup--center {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .popup:not(.popup--center) {
        bottom: 0
    }

    .popup--bottom-left {
        left: 0
    }

    .popup--bottom-center {
        left: 50%;
        transform: translate(-50%)
    }

    .popup--bottom-right {
        right: 0
    }

    .popup--no-image {
        max-width: 500px
    }

    .popup:not(.popup--no-image):not(.popup--top)>.popup__inner {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 50%
    }

    .popup--right .popup__image {
        order: 1
    }

    .popup__image--small:not(.popup__image--top) {
        --image-height: 300px
    }

    .popup__image--medium:not(.popup__image--top) {
        --image-height: 400px
    }

    .popup__image--large:not(.popup__image--top) {
        --image-height: 500px
    }

    .popup__image--x-large:not(.popup__image--top) {
        --image-height: 600px
    }
}

.predictive-search-results {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(100vh - var(--announcement-bar-height) - var(--header-height) + 15px);
    background-color: rgba(var(--color-soft-background))
}

.predictive-search-results[hidden],
.predictive-search-results__spinner {
    display: none
}

.predictive-search-results[loading]>.predictive-search-results__spinner {
    display: flex;
    justify-content: center;
    align-self: start;
    min-width: 100%;
    margin-right: calc(-2 * var(--container-gutter))
}

.predictive-search-results__list {
    width: 100%;
    height: 100%;
    overflow-y: auto
}

.predictive-search-results__heading {
    text-transform: uppercase;
    border-bottom: 1px solid rgba(var(--color-foreground), .2);
    letter-spacing: 1px;
    padding-bottom: 10px
}

.predictive-search-results__suggestion-page-wrapper {
    display: flex;
    column-gap: var(--vertical-spacer);
    row-gap: calc(var(--vertical-spacer) / 2)
}

.predictive-search-results__suggestion-page-wrapper>* {
    flex: 1
}

.predictive-search-results__heading:not(:first-child) {
    margin-top: var(--vertical-spacer)
}

.predictive-search__results-list {
    display: grid;
    row-gap: 30px;
    padding: 0;
    align-content: start
}

.predictive-search__results-list--suggestions {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 15px
}

.predictive-search__results-list--suggestions mark {
    background-color: transparent
}

.predictive-search__results-list--suggestions span {
    font-weight: 700
}

.predictive-search__item {
    display: flex;
    align-items: start
}

.predictive-search__item--centered {
    align-items: center
}

.predictive-search__item-metadata {
    display: grid;
    padding-left: 20px;
    align-self: center
}

.predictive-search-results__soft-background .predictive-search__image {
    background-color: rgba(var(--color-soft-background))
}

.predictive-search__image {
    max-width: 50px
}

.predictive-search__image--large {
    max-width: 110px
}

.predictive-search__item-title {
    font-weight: 700
}

@media (hover: hover) {

    .predictive-search__results-list--suggestions a:hover,
    .predictive-search__item:hover .predictive-search__item-title {
        text-decoration: underline
    }
}

@media (max-width: 750px) {
    .predictive-search-results__spinner {
        padding: 20px 0
    }

    .predictive-search-results[loading]>.predictive-search-results__spinner {
        height: 100%
    }

    .predictive-search-results__suggestion-page-wrapper {
        flex-direction: column
    }

    .predictive-search-results__list {
        padding-top: 20px
    }

    .predictive-search__results-list:not(.predictive-search__results-list--suggestions):last-child {
        padding-bottom: 120px
    }

    .predictive-search__view-all {
        position: fixed;
        bottom: 0;
        width: 100%;
        padding: var(--container-gutter);
        margin: 0 calc(-1 * var(--container-gutter));
        border-top: 1px solid rgba(var(--color-foreground), .2);
        background-color: rgb(var(--color-background))
    }

    .predictive-search__view-all>button {
        justify-content: center;
        width: 100%
    }
}

@media (min-width: 751px) {
    .predictive-search-results[loading]>.predictive-search-results__spinner {
        min-height: 150px
    }

    .predictive-search-results__list {
        padding-top: 40px;
        padding-bottom: 100px
    }

    .predictive-search__results-list {
        gap: 30px 10px;
        grid-template-columns: repeat(2, 1fr);
        align-items: center
    }

    .predictive-search__results-list--suggestions {
        column-gap: 30px;
        row-gap: 5px;
        flex-direction: row
    }

    .predictive-search__image {
        max-width: 110px
    }

    .predictive-search__view-all {
        display: flex;
        justify-content: center;
        padding: var(--vertical-spacer) 0 calc(var(--vertical-spacer) * 2)
    }
}

@media (min-width: 991px) {
    .predictive-search__results-list {
        grid-template-columns: repeat(4, 1fr)
    }

    .predictive-search__view-all {
        padding-bottom: var(--vertical-spacer)
    }
}

.promo-banner-border {
    background-color: rgba(var(--border-color));
    padding: var(--border-thickness)
}

.promo-banner {
    display: grid;
    position: relative;
    min-height: calc(100px + var(--banner-height-increase));
    border-radius: var(--radius);
    overflow: hidden
}

.promo-banner__link {
    position: absolute;
    height: 100%;
    width: 100%
}

.promo-banner__text-wrapper {
    display: grid;
    align-items: center;
    height: 100%
}

.promo-banner__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    padding: 30px;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content
}

.promo-banner__text>.button {
    margin-top: 10px;
    z-index: 1;
    pointer-events: none
}

.promo-banner__image,
.promo-banner__video {
    position: relative;
    height: 100%;
    overflow: hidden;
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.promo-banner__image>img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.promo-banner__image>svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    fill: rgba(var(--color-foreground), .4);
    width: 100%;
    pointer-events: none
}

.promo-banner__collection {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    height: 100%;
    gap: 10px;
    padding: 20px 16px
}

.promo-banner__collection-background {
    display: flex;
    fill: rgba(var(--color-foreground), .4)
}

.promo-banner__collection-background>img {
    border-radius: var(--radius)
}

.promo-banner__video {
    display: block;
    position: relative;
    height: 100%
}

.promo-banner__video>* {
    position: absolute;
    height: 100%;
    width: auto;
    top: 50%;
    left: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%)
}

@media (max-aspect-ratio: 16/9) {
    .promo-banner__video>* {
        height: calc(100% + 300px)
    }
}

@media (min-aspect-ratio: 16/9) {
    .promo-banner__video>* {
        height: calc(100% + 400px)
    }
}

.promo-banner__video>img {
    width: 100%;
    object-fit: cover
}

.promo-banner__video svg {
    fill: rgba(var(--color-foreground), .4)
}

@media (max-width: 750px) {

    .promo-banner__image,
    .promo-banner__video {
        min-height: calc(150px + var(--banner-height-increase))
    }
}

@media (min-width: 751px) {
    .promo-banner {
        grid-auto-flow: column;
        grid-auto-columns: 1fr
    }

    .promo-banner__text--inline {
        flex-wrap: wrap;
        flex-direction: row;
        gap: 30px
    }

    .promo-banner__text--inline>.button {
        margin: 0
    }

    .promo-banner__collection {
        margin: 0 auto;
        padding: 10px;
        justify-content: center
    }

    .promo-banner__collection img,
    .promo-banner__collection svg {
        width: 100%;
        max-height: calc(100px + var(--banner-height-increase))
    }
}

@media (min-width: 991px) {
    .promo-banner {
        margin: 0 auto
    }

    .promo-banner-large-contained {
        max-width: calc(2 / 3 * 100%);
        min-width: 750px;
        margin: 0 auto
    }
}

.shopify-section--promotion {
    position: relative
}

.promotion-soft-background {
    position: absolute;
    width: 100%;
    background-color: rgba(var(--color-soft-background))
}

.promotion-soft-background--full {
    height: 100%
}

.promotion-soft-background--top {
    height: 50%
}

.promotion-soft-background--bottom {
    bottom: 0;
    height: 50%
}

.promotion {
    position: relative;
    display: grid
}

.promotion-media {
    display: grid;
    gap: var(--container-gap);
    grid-template-columns: repeat(12, 1fr);
    align-content: center;
    padding-bottom: var(--vertical-spacer)
}

.promotion-media--rotate>:nth-child(1) {
    rotate: -4deg
}

.promotion-media--rotate>:nth-child(2) {
    rotate: 5deg
}

.promotion-media--rotate>:nth-child(3) {
    rotate: -7deg
}

.promotion-media--rotate>:nth-child(4) {
    rotate: 10deg
}

.promotion-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.promotion-text-wrapper {
    background-color: transparent !important;
    z-index: 1
}

.promotion-media-block {
    position: relative;
    opacity: 0
}

.promotion-media-block__link {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1
}

.promotion-media-block__arrow {
    color: rgb(var(--color-default-background));
    background-color: rgba(var(--color-default-text), .5);
    position: absolute;
    bottom: 10px;
    left: 10px;
    transition: background-color .1s ease-in-out
}

.promotion-media-block__arrow svg {
    align-self: center !important
}

.promotion-media-block__media {
    position: relative;
    padding-bottom: var(--aspect-ratio)
}

.promotion-media-block__media--portrait {
    --aspect-ratio: 125%
}

.promotion-media-block__media img {
    transition: transform .15s ease-in-out
}

.promotion-media-block__media img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.promotion-media-block__media--placeholder {
    background-color: rgb(var(--color-default-background))
}

.promotion-media-block__media--placeholder>svg {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 100%;
    transform: translate(-50%, -50%);
    fill: rgba(var(--color-default-text), .4)
}

.promotion-media--blocks-1 :nth-child(1) {
    grid-column: 1 / -1
}

.promotion-media--blocks-2 :nth-child(1) {
    grid-column: 1 / span 5;
    grid-row-start: 1;
    align-self: end
}

.promotion-media--blocks-3 :nth-child(1),
.promotion-media--blocks-4 :nth-child(1) {
    grid-column: 1 / span 5;
    grid-row-end: 1;
    align-self: end
}

.promotion-media--blocks-2 :nth-child(2) {
    grid-column: 6 / -1;
    grid-row-start: 2;
    align-self: end;
    margin-top: calc(-2 * var(--vertical-spacer))
}

.promotion-media--blocks-3 :nth-child(2),
.promotion-media--blocks-4 :nth-child(2) {
    grid-column: 6 / -1;
    grid-row-end: 1;
    align-self: end
}

.promotion-media--blocks-3 :nth-child(3) {
    grid-column: 3 / span 8
}

.promotion-media--blocks-4 :nth-child(3) {
    grid-column: 1 / span 7;
    align-self: start
}

.promotion-media--blocks-4 :nth-child(4) {
    grid-column: 8 / -1;
    align-self: start
}

@media (max-width: 750px) {
    .shopify-section--promotion .section-vertical-spacer {
        padding-top: var(--vertical-spacer)
    }

    .promotion .button-group {
        --text-x-axis: var(--text-x-axis-mobile)
    }

    .promotion--reverse-mobile>.promotion-media {
        order: -1;
        padding-bottom: 0
    }

    .promotion--reverse-mobile>.promotion-media {
        padding-top: var(--vertical-spacer)
    }
}

@media (min-width: 751px) {
    .promotion {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: calc(var(--padding-top) * var(--vertical-spacer) / 2) var(--vertical-spacer) 1fr var(--vertical-spacer) calc(var(--padding-bottom) * var(--vertical-spacer) / 2)
    }

    .promotion--fixed {
        grid-template-rows: calc(var(--vertical-spacer) / 2) var(--vertical-spacer) 1fr var(--vertical-spacer) calc(var(--vertical-spacer) / 2)
    }

    .promotion--fixed.promotion-large--top {
        grid-template-rows: calc(var(--padding-top) * var(--vertical-spacer) / 2) var(--vertical-spacer) 1fr var(--vertical-spacer) calc(var(--vertical-spacer) / 2)
    }

    .promotion--fixed.promotion-large--bottom {
        grid-template-rows: calc(var(--vertical-spacer) / 2) var(--vertical-spacer) 1fr var(--vertical-spacer) calc(var(--padding-bottom) * var(--vertical-spacer) / 2)
    }

    .promotion--fixed.promotion-large--top-bottom {
        grid-template-rows: calc(var(--padding-top) * var(--vertical-spacer) / 2) var(--vertical-spacer) 1fr var(--vertical-spacer) calc(var(--padding-bottom) * var(--vertical-spacer) / 2)
    }

    .promotion--fixed.promotion-overflow-none-padding {
        padding-top: calc(var(--padding-top) * var(--vertical-spacer));
        padding-bottom: calc(var(--padding-bottom) * var(--vertical-spacer))
    }

    .promotion-overflow-top-bottom-padding {
        padding-top: 0;
        padding-bottom: 0
    }

    .promotion-overflow-top-padding {
        padding-top: 0
    }

    .promotion-overflow-bottom-padding {
        padding-bottom: 0
    }

    .promotion--full>.promotion-background {
        margin-left: min(calc(-1 * (100vw - var(--container-width)) / 2), 0px);
        margin-right: min(calc(-1 * (100vw - var(--container-width)) / 2), 0px)
    }

    .promotion-large--top>.promotion-background {
        top: calc(1.5 * var(--vertical-spacer))
    }

    .promotion-large--bottom>.promotion-background {
        bottom: calc(1.5 * var(--vertical-spacer))
    }

    .promotion-large--top-bottom>.promotion-background {
        top: calc(1.5 * var(--vertical-spacer));
        bottom: calc(1.5 * var(--vertical-spacer))
    }

    .promotion__text .rich-text-wrapper {
        padding-right: var(--container-gutter)
    }

    .promotion-media {
        grid-column: 2;
        grid-row: 2 / 5;
        padding-left: 0;
        padding-bottom: 0;
        z-index: 1
    }

    .promotion--reverse-large>.promotion-media {
        grid-column: 1
    }

    .promotion-text-wrapper {
        --text-x-axis-large: start;
        grid-column: 1 / -1;
        grid-row: 3
    }

    .promotion--reverse-large .rich-text-wrapper {
        padding-left: var(--container-gutter)
    }

    .promotion__text {
        height: 100%;
        width: 50%
    }

    .promotion--reverse-large .promotion__text {
        margin-left: auto
    }
}

@media (hover: hover) {
    .promotion-media-block__link:hover+.promotion-media-block__media img {
        transform: scale(1.02)
    }

    .promotion-media-block__link:hover+.promotion-media-block__media+.promotion-media-block__arrow {
        background-color: rgba(var(--color-default-text), 1)
    }
}

.recent-products-soft-background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity))
}

.recent-products-list {
    --columns: 4;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: var(--container-gap);
    align-items: center;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: calc(100% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)));
    overflow-x: auto;
    padding: 20px 0
}

.recent-products-footer {
    display: flex;
    padding: 20px 0 30px
}

.recent-products-panel {
    padding-top: 10px
}

.recent-products__clear-button {
    font-size: .8rem;
    border-radius: 0;
    border-bottom: 1px solid rgb(var(--color-foreground));
    transition: opacity .15s ease-in-out
}

@media (hover: hover) {
    .recent-products__clear-button:hover {
        opacity: .4
    }
}

.recent-product img {
    border-radius: min(4px, var(--radius))
}

@media (min-width: 751px) {
    .recent-products-list {
        --columns: 12;
        justify-content: var(--alignment);
        padding: 0
    }
}

@media (min-width: 991px) {
    .recent-products-footer {
        justify-content: var(--alignment)
    }
}

.rich-text-wrapper {
    --x-axis: var(--text-x-axis, center);
    --y-axis: var(--text-y-axis, center);
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: var(--x-axis);
    justify-content: var(--y-axis);
    text-align: var(--x-axis);
    padding-top: var(--vertical-spacer);
    padding-bottom: var(--vertical-spacer)
}

.rich-text-wrapper--no-padding {
    padding-top: 0;
    padding-bottom: 0
}

.rich-text-wrapper--flush {
    margin-bottom: calc(-1 * var(--vertical-spacer))
}

.rich-text-wrapper--background {
    background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity));
    padding-top: var(--vertical-spacer);
    padding-bottom: var(--vertical-spacer)
}

.rich-text {
    display: grid;
    gap: 20px;
    justify-items: var(--x-axis)
}

.rich-text>.button-group:not(:only-child):last-child {
    margin-top: 15px;
    margin-bottom: 5px
}

@media (max-width: 750px) {
    .rich-text-wrapper {
        align-items: var(--text-x-axis-mobile, var(--x-axis));
        text-align: var(--text-x-axis-mobile, var(--x-axis))
    }

    .rich-text {
        justify-items: var(--text-x-axis-mobile, var(--x-axis))
    }
}

@media (min-width: 751px) {
    .rich-text {
        gap: 30px
    }

    .rich-text-wrapper {
        align-items: var(--text-x-axis-large, var(--x-axis));
        justify-content: var(--text-y-axis-large, var(--y-axis));
        text-align: var(--text-x-axis-large, var(--x-axis))
    }

    .rich-text {
        justify-items: var(--text-x-axis-large, var(--x-axis))
    }
}

@media (min-width: 991px) {
    .rich-text--large-contained {
        max-width: var(--content-width, 50%)
    }
}

.spacer {
    margin: calc(24px * calc(var(--margin-spacing) / 100)) 0
}

.testimonial__quote-icon {
    --line-height: 27px;
    line-height: var(--line-height);
    margin-top: var(--line-height);
    margin-bottom: calc(-1 * var(--line-height))
}

.testimonial {
    align-content: space-between
}

.testimonial .rich-text {
    margin-bottom: 10px;
    gap: 20px
}

.testimonial__stars {
    font-size: .8rem;
    line-height: 2.35
}

.testimonial-footer {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: var(--text-x-axis);
    margin-top: 20px;
    margin-bottom: 10px
}

.testimonial-author-info {
    text-align: start;
    flex-shrink: 0
}

.testimonial-author-info--centered {
    text-align: center
}

.testimonial-author-info__date {
    opacity: .75
}

.testimonial-author {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px
}

.testimonial-author-info>* {
    display: block
}

.testimonial__image {
    border-radius: 50%;
    overflow: hidden;
    width: 40px;
    height: 40px;
    object-fit: cover
}

.testimonial__logo {
    height: -moz-fit-content;
    height: fit-content
}

@media (min-width: 751px) {
    .testimonial__quote-icon {
        --line-height: 30px
    }

    .testimonial-footer {
        margin-top: 30px
    }
}

@media (min-width: 991px) {
    .testimonial--large-contained {
        max-width: calc(2 / 3 * 100%);
        margin: 0 auto
    }
}

.text-column-image-wrapper {
    max-width: calc(100% * var(--image-width, 1));
    width: 100%;
    text-align: center
}

.text-column-icon-wrapper {
    display: flex
}

.text-column-image-wrapper--centered {
    margin: 0 auto
}

.text-column-image {
    position: relative;
    overflow: hidden;
    z-index: 0;
    border-radius: var(--image-wrapper-radius, var(--radius));
    padding-bottom: var(--aspect-ratio)
}

.text-column-image__placeholder {
    position: absolute;
    left: 0;
    top: 50%;
    fill: rgb(var(--color-foreground), .4);
    transform: translateY(-50%)
}

.text-column-image--circle img {
    border-radius: 50%;
    height: 100%
}

.text-column-image--no-padding {
    margin: calc(-1 * var(--column-padding));
    margin-bottom: 0;
    padding-bottom: calc(var(--aspect-ratio) + 2 * var(--column-padding))
}

.text-column-image--margin-reset {
    margin: 0;
    padding-bottom: var(--aspect-ratio)
}

.text-column-image img {
    position: absolute;
    object-fit: cover;
    object-position: center;
    height: 100%
}

.text-column-heading {
    line-height: var(--font-h-line-height)
}

.text-column__button {
    justify-content: var(--text-x-axis, center);
    width: 100%
}

@media (hover: hover) {
    .text-column-image .column-link:hover img {
        transform: translateY(-50%)
    }
}

loess-stagger-items .card,
loess-stagger-items .collection-card,
img[reveal=true] {
    opacity: 1
}

/*# sourceMappingURL=/cdn/shop/t/3/assets/theme.css.map */