/** Shopify CDN: Minification failed

Line 9794:1 Expected "}" to go with "{"

**/
@charset "UTF-8";

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

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

ul[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]){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));
  border: 1px solid rgba(var(--color-border, var(--color-foreground)), 0.1);
}

.color-default,
.color-default-with-accent-1 {
  --color-foreground: var(--color-default-text);
  --color-background: var(--color-default-background);
  --color-border: var(--color-default-text);
  --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-border: var(--color-default-background);
  --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-border: var(--color-default-background);
  --color-gradient: var(--color-gradient-accent-1);
}

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

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

/* Standalone classes below (shouldn't be used at the same level as .color) */

.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);
}

.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;
}

/* Common height classes used in select sections across the theme */

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);
}

/* Aspect ratio %s for padding-bottom hack, will
eventually replace this with newer aspect-ratio property */

[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;
}

#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;
}

.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);
}

#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 {
  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: var(--font-h-line-height);
  word-wrap: break-word;
}

body.capitalize-headings :is(h1,h2,h3,h4,h5,h6,.h0,.h1,.h2,.h3,.h4,.h5,.h6) {
  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.5rem;
  }
}

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

@media (min-width: 751px) {
  h3,.h3 {
    --font-size: 1.5rem;
  }
}

@media (min-width: 991px) {
  h3,.h3 {
    --font-size: 1.75rem;
  }
}

h4,.h4 {
  --font-size: 1.25rem;
}

@media (min-width: 751px) {
  h4,.h4 {
    --font-size: 1.36rem;
  }
}

@media (min-width: 991px) {
  h4,.h4 {
    --font-size: 1.58rem;
  }
}

h5,.h5 {
  --font-size: 1.1rem;
}

@media (min-width: 751px) {
  h5,.h5 {
    --font-size: 1.2rem;
  }
}

@media (min-width: 991px) {
  h5,.h5 {
    --font-size: 1.4rem;
  }
}

h6,.h6 {
  --font-size: 1rem;
}

@media (min-width: 751px) {
  h6,.h6 {
    --font-size: 1.1rem;
  }
}

@media (min-width: 991px) {
  h6,.h6 {
    --font-size: 1.28rem;
  }
}

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-subtext, .small-subtext {
  --font-size: 0.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: 0.875rem;
}

.small-text {
  --font-size: 0.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 calc(150ms * var(--animations-multiple)) 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: 0.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;
}

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

.rte blockquote {
  background-color: rgba(var(--color-foreground), 0.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: 0.2em 0.8em;
  background-color: rgba(var(--color-foreground), 0.04);
  border: 1px solid rgba(var(--color-foreground), 0.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 calc(150ms * var(--animations-multiple)) ease-in-out;
}

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

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role="button"],
.additional-checkout-buttons iframe {
  /* Background color is accent color by default, otherwise foreground color */
  --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: 0.5em 1em;
  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: 1.5px;
  width: fit-content;
  appearance: none;
}

.button > span:only-child:last-child {
  display: inline-flex;
  margin-left: 10px;
}

.button--icon-before > span:only-child:last-child {
  margin-left: 0;
  margin-right: 5px;
}

.button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.button--x-small {
  font-size: 0.75rem;
  padding: 0.4em 0.9em;
}

.button--small {
  font-size: 0.875rem;
}

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

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

.button--narrow {
  padding: 0.1em 0.5em;
}

.button--primary {
  color: rgb(var(--button-text-color));
  background-color: rgba(var(--button-background-color), var(--opacity, 1));
  border-color: rgba(var(--button-background-color), 0);
}

.button--primary--lin {
  background-image: linear-gradient(50deg,#a87356 13%,#cb865b 28%,#ed985f 59%,#cb865b 74%,#a87356 90%);
  border: none;
  padding: .5em 3em;
}

.button--primary--lin:hover {
  background-image: linear-gradient(50deg,#ed985f 13%,#cb865b 28%,#a87356 59%,#cb865b 74%,#ed985f 90%);
}

.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));
}

.button--secondary--lin {
  background-image: linear-gradient(50deg,#a87356 13%,#cb865b 28%,#ed985f 59%,#cb865b 74%,#a87356 90%);
  border: none;
  padding: .5em 3em;
}

.button--secondary--lin:hover {
  background-image: linear-gradient(50deg,#ed985f 13%,#cb865b 28%,#a87356 59%,#cb865b 74%,#ed985f 90%);
}

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

.button--subdued {
  background-color: rgba(var(--color-foreground), 0.04);
  border: 1px solid rgba(var(--color-foreground), 0.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;
  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)), 0.4);
}

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

.button--icon .icon {
  transition: transform calc(100ms * var(--animations-multiple)) ease-in-out;
}

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

.button--play-small,
.button--play-large {
  border-radius: 50%;
}

.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;
  padding-left: 17px; /* Helps with the icon looking off-centered */
}

.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 {
  padding: 6px;
  padding-left: 7px; /* Helps with the icon looking off-centered */
}

.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);
}

button.shopify-payment-button__button--unbranded {
  width: 100%;
  justify-content: center;
  font-size: 1.125rem;
  padding: 0.5em 1em;
  color: rgb(var(--button-text-color));
  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: 0.5;
}

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

@media (hover: hover) {
  .shopify-payment-button__button {
    transition: transform calc(100ms * var(--animations-multiple)) ease-in-out !important;
  }

  .shopify-payment-button__button:hover {
    transform: translateY(-1.5px);
  }

  .button--primary.tap > span,
  .button--secondary.tap > span,
  .section-heading__link > span {
    transition: transform calc(100ms * var(--animations-multiple)) ease-in-out;
  }

  .button--primary.tap:hover > span:last-child,
  .button--secondary.tap:hover > span:last-child,
  .section-heading__link.tap:hover > span:last-child {
    transform: translateX(3px);
  }

  button.shopify-payment-button__button--unbranded:hover:not([disabled]):hover {
    background-color: rgba(var(--color-foreground), 0.85);
  }
}

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

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

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

.card__image-wrapper {
  display: block;
  position: relative;
  border-radius: var(--radius);
  transition: transform calc(100ms * var(--animations-multiple)) ease-out;
}

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

.card-badges[class*="-right"] {
  justify-items: end;
}

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

.card-badges[class$="-middle"] {
  justify-items: center;
}

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

.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 calc(150ms * var(--animations-multiple)) ease-out, opacity calc(150ms * var(--animations-multiple)) ease-out, visibility calc(150ms * var(--animations-multiple)) 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 calc(100ms * var(--animations-multiple)) ease-out, opacity calc(100ms * var(--animations-multiple)) ease-out, visibility calc(100ms * var(--animations-multiple)) 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--centered {
  justify-items: center;
  justify-content: center;
  text-align: center;
}

.card__description {
  margin-top: 20px;
}

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

.card-swatches {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin: 15px 4px 0;
  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)), 0.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(0.85);
  transition: transform calc(100ms * var(--animations-multiple)) ease-out, opacity calc(100ms * var(--animations-multiple)) ease-out;
}

.card-swatches__button--active::after {
  opacity: 0.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: 0.75;
}

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

  .card-swatches__button::after {
    padding: 14.5px;
  }
}

@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 calc(100ms * var(--animations-multiple)) ease-out, opacity calc(100ms * var(--animations-multiple)) ease-out, visibility calc(100ms * var(--animations-multiple)) ease-out;
  }

  .card:hover .card__title {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(var(--color-foreground), 0.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--multiple:hover > .card__image--zoom-on-hover.card__image--alternate-hover > .card__primary-image {
    transform: scale(0.95);
  }

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

  .card__image-wrapper--multiple:hover > .card__image--zoom-on-hover.card__image--alternate-hover > .card__secondary-image {
    transform: translate(-50%, -50%) scale(0.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)), 0.2);
}

.cart--drawer .cart-item {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.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)), 0.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));
}

/* Cart drawer recommendations */

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(--color-overlay));
  transition: opacity calc(150ms * var(--animations-multiple)) ease-out, visibility calc(150ms * var(--animations-multiple)) ease-out;
}

.cart-notification-wrapper[open]::after {
  visibility: visible;
  opacity: var(--color-overlay-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 calc(150ms * var(--animations-multiple)) ease-out, visibility calc(150ms * var(--animations-multiple)) 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;
}

.collection-card {
  --color-border: var(--color-background);
  display: grid;
  /* Override the color background that's set in the HTML */
  background-color: rgba(var(--color-soft-background)) !important;
  border-radius: var(--radius);
  overflow: hidden;
  border-width: 0;
}

.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;
}

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

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

/* Button, overlay, and gradient cards have an overlapping title */

.collection-card:is(.collection-card--button, .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%;
  padding-bottom: 5%;
  background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity)) !important;
}

.collection-card__image {
  transition: transform calc(150ms * var(--animations-multiple)) cubic-bezier(0.5, 0, 0.175, 1);
}

.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), 0.4);
}

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

.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--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.05);
  }
}

.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--soft-background {
  background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity));
}

.column-wrapper--bordered {
  border: 1px solid rgba(var(--color-foreground), 0.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;
}

@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 + .column .rich-text img {
    /* transform: scale(1.1); */
  }

  .column-link:hover + .column .rich-text h3 {
    /* text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(var(--color-foreground), 0.75); */
  }
}

.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;
  visibility: hidden;
}

.drawer--inner {
  position: absolute;
}

.drawer[position="left"] {
  left: 0;
  right: auto;
  transform: translateX(-100%);
}

.drawer[position="right"] {
  left: auto;
  right: 0;
  transform: translateX(100%);
}

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

.drawer::after {
  content: '';
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  background: rgb(var(--color-overlay));
  transition: opacity calc(150ms * var(--animations-multiple)) ease-out, visibility calc(150ms * var(--animations-multiple)) ease-out;
}

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

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

.drawer[open]::after {
  visibility: visible;
  opacity: var(--color-overlay-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), 0.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 0px;
  }

  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 0.1rem;
  border-bottom-color: rgb(var(--color-foreground));
  color: rgb(var(--color-foreground));
  height: var(--form-input-height);
  padding: 20px 10px 0 10px;
  width: 100%;
  background: transparent;
  transition: background-color calc(100ms * var(--animations-multiple)) ease-in, box-shadow calc(100ms * var(--animations-multiple)) ease-in;
}

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

.input__field--has-input,
.input__field:focus-within {
  outline: none;
  box-shadow: 0px 1.5px 0px 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) - 0.5em);
  left: 10px;
  cursor: pointer;
  line-height: 1;
  pointer-events: none;
  transform-origin: top left;
  transition: transform calc(100ms * var(--animations-multiple)) ease-in;
}

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

.input__select {
  appearance: none;
}

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

.input__label--select {
  transform: scale(.7) translateY(-15px) translateX(calc(1px * .7));
}

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

:focus-within ~ .input__label,
.input__field--has-input ~ .input__label {
  transform: scale(.7) translateY(-15px) translateX(calc(1px * .7));
}

.input__subtext {
  line-height: 1.4rem;
}

.input__textarea {
  border: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.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), 0.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: 0.5;
}

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

input[type="checkbox"]:disabled {
  background: linear-gradient(to top left, transparent 50%, rgba(var(--color-foreground), 0.3) 50%, rgba(var(--color-foreground), 0.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(0.85);
  transition: transform 100ms ease-out, opacity 100ms ease-out;
}

input[type="checkbox"] + svg {
  opacity: 0;
  transform: scale(0.5);
  position: absolute;
  width: 100%;
  height: 7px;
  transition: all calc(150ms * var(--animations-multiple)) ease-out;
}

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

/* Clear 'X' from input[type="search"] in IE and Chrome */

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;
}

/* Firefox */

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)), 0.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 0.2s ease;
}

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: grid;
  overflow: hidden;
  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)), 0.2);
}

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

.media-with-text__media > svg {
  fill: rgba(var(--color-foreground, var(--color-default-text)), 0.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) {
  /* This ensures that the spacing is proper on mobile for a very specific scenario when
     the header is transparent. Eventually we'll find a better way :) */
  /* #MainContent > :first-child.shopify-section--media-with-text > .section > div:first-child:not(.media-with-text--reverse-mobile) > .media-with-text__text:first-child .rich-text-wrapper {
    padding-top: 0;
  } */

  .media-with-text[class*="media-with-text-mobile"] {
    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;
  }

  :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 {
    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__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: 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));
  }

  /* Vertically align the default "auto" media */
  .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;
  margin: 0;
  padding: 0;
  row-gap: 20px;
  column-gap: 25px;
}

.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:active {
  transform: translateY(0);
}

.menu-list-item::after {
  content: '';
  display: block;
  height: 1px;
  background-color: currentColor;
  opacity: 0;
  transition: opacity .1s ease-in-out;
}

.menu-list-item--active::after,
.menu-list-item:focus::after,
.menu-list-item:hover::after,
.menu-list-item[aria-expanded="true"]::after {
  opacity: 1;
}

.menu-dropdown {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 100%;
  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)), 0.1);
  visibility: hidden;
  opacity: 0;
  transition: opacity calc(100ms * var(--animations-multiple)) ease-in-out, visibility calc(100ms * var(--animations-multiple)) ease-in-out;
}

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

.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%;
}

.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% + 25px);
}

.menu-mega {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  color: rgb(var(--color-foreground, var(--color-default-text)));
  background-color: rgb(var(--color-background, var(--color-default-background)));
  visibility: hidden;
  opacity: 0;
  border-bottom: 1px solid rgba(var(--color-foreground), 0.2);
  transition: opacity calc(100ms * var(--animations-multiple)) ease-in-out, visibility calc(100ms * var(--animations-multiple)) 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 calc(150ms * var(--animations-multiple)) ease-in-out, visibility calc(150ms * var(--animations-multiple)) ease-in-out;
}

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

.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 calc(100ms * var(--animations-multiple)) ease-out;
}

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

.menu-mega-links__heading::after,
.menu-mega-links__list a::after {
  content: '';
  display: block;
  height: 1px;
  opacity: 0;
  background-color: currentColor;
  transition: opacity calc(100ms * var(--animations-multiple)) ease-in-out;
}

.menu-mega-links > *:hover .menu-mega-links__heading::after,
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), 0.75);
}

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

.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:not([open]) {
  display: none !important;
}

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

.modal[open]::after {
  visibility: visible;
  opacity: var(--color-overlay-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 (max-width: 750px) {
  .modal[open] .modal__inner--fullscreen-quick-view {
    top: 50%;
    height: 100%;
  }
}

@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;
  }
}

.overlay {
  position: fixed;
  background-color: rgba(var(--color-overlay), var(--color-overlay-opacity));
  width: 100%;
  height: 100%;
  transition: opacity calc(100ms * var(--animations-multiple)) ease-in-out, visibility calc(100ms * var(--animations-multiple)) 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: rotateZ(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), 0.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, 0.4);--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.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:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}

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

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

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

.pswp__button,.pswp__container,.pswp__counter,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-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:scale(-1,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)}100%{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)), 0.1);
  border-radius: var(--radius);
  transition: all calc(150ms * var(--animations-multiple)) cubic-bezier(0.5, 0, 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: 0.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-group > span {
  margin-bottom: 10px;
}

.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), 0.5);
  background: transparent;
  width: 100%;
  padding: 5px 10px 5px 20px;
  appearance: none;
  border-radius: var(--radius);
}

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

.price-slider {
  height: 1.5px;
  position: relative;
  background: rgba(var(--color-foreground), 0.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 rgba(0,0,0,0.05);
}

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 rgba(0,0,0,0.05);
}

@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), 0.75);
}

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

.quantity {
  color: rgba(var(--color-foreground, var(--color-default-text)));
  position: relative;
  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)), 0.2);
  z-index: 1;
}

.quantity__input {
  color: currentColor;
  opacity: 0.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: calc(1px);
}

.quantity__button:last-child {
  margin-right: calc(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: 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: 0.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%;
  }
}

.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 calc(150ms * var(--animations-multiple)) cubic-bezier(0.5, 0, 0.175, 1), transform calc(150ms * var(--animations-multiple)) cubic-bezier(0.5, 0, 0.175, 1);
}

img[reveal="true"] {
  opacity: 0;
  transform: scale(1.1);
}

img[reveal="false"] {
  opacity: 1;
  transform: scale(1);
}

/* This is important to keep because when parallax is enabled it changes the
transform property, so scale can't be included like it is for all other images */

[parallax="true"] > img,
[parallax="true"] > loess-video {
  transform: scale(1.7);
  transition: opacity calc(150ms * var(--animations-multiple)) cubic-bezier(0.5, 0, 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: 0.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: 0.2rem solid rgba(var(--color-foreground, var(--color-default-text)), 0.75);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgb(var(--color-background)), 0 0 5px 4px rgba(var(--color-foreground), 0.2);
}

loess-scroller {
  display: block;
}

.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--fixed-columns {
  grid-template-columns: repeat(var(--columns), 1fr);
}

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

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

.scroller-dots {
  grid-column-start: 2;
  justify-self: center;
}

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

loess-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(90% / var(--columns) - (var(--container-gap) / var(--columns) * (var(--columns) - 1)));
    max-width: 100vw;
  }

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

@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);
  }

  loess-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 {
    display: grid !important;
  }

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

  .scroller-bar {
    padding-top: 20px;
  }
}

@media (max-width: 990px) {
  .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);
  }

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

@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 {
    display: grid !important;
  }

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

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

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

.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 calc(100ms * var(--animations-multiple)) 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: 0.7;
}

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

.block:is([class*="color-"]) {
  border: 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;
  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--flush {
  padding-bottom: 0;
}

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

.section-heading__link {
  color: inherit;
}

@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: 30px;
  }

  .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;
    justify-self: center;
  }
}

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

.slider-buttons__previous {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.slider-buttons__previous[disabled] {
  border-right: 0 !important;
}

.slider-buttons__previous:not([disabled]) + .slider-buttons__next:not([disabled]) {
  border-left: 0;
}

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

.slider-buttons__next {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.slider-buttons__next[disabled] {
  border-left: 0 !important;
}

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

@media (hover: hover) {
  .slider-buttons__previous:not([disabled]):hover > svg {
    transform: translateX(-2px);
  }

  .slider-buttons__next:not([disabled]):hover > svg {
    transform: translateX(2px);
  }
}

.slider-buttons + .slider-dots {
  margin-left: 20px;
}

.slider-dots > ol {
  display: inline-grid;
  grid-auto-flow: column;
  column-gap: 7px;
  align-items: center;
  padding: 0;
}

.slider-dots > ol > li {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: rgb(var(--color-foreground, var(--color-default-text)));
  transition: transform calc(150ms * var(--animations-multiple)) ease-in-out;
  pointer-events: none;
}

.slider-dots--color-alternate > ol > li {
  background-color: rgb(var(--color-default-text));
}

.slider-dots > ol > li[active] {
  transform: scale(2);
}

loess-slideshow-progress {
  display: flex;
  position: relative;
  margin-left: 20px;
  width: 15px;
  pointer-events: none;
}

.slider-progress-bar {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.slider-progress-bar__circle {
  fill: transparent;
  stroke: rgb(var(--color-foreground));
  stroke-width: 30px;
  stroke-dasharray: 471;
  stroke-dashoffset: 471;
  transform: rotate(-90deg) scale(0.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), 0.15);
  stroke-dasharray: 0;
  stroke-dashoffset: 0;
  animation: none;
}

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

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

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

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

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

.spinner__value {
  -webkit-animation: spinner-stroke 1s linear infinite;
          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)));
}

@-webkit-keyframes spinner-stroke {
  50% {
    stroke-dashoffset: 0;
  }
  100%, 100% {
    stroke-dashoffset: 50;
  }
}

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

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

.stars::before {
  content: '★★★★★';
  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;
  position: relative;
  align-items: center;
  cursor: pointer;
  transition: transform calc(100ms * var(--animations-multiple)) ease-in-out;
}

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

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

.tap:active,
.tap[aria-expanded="true"] {
  transform: translateY(0);
}

@media (hover: hover) {
  .tap:hover {
    transform: translateY(-1.5px);
  }
}

loess-video {
  /* Get border radius for iframes to work on iOS: https://stackoverflow.com/a/58512187 */
  -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-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: 0px;
  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;
}

.announcement-bar__button-text {
  margin-right: 10px;
}

.announcement-bar__panel {
  border-top: 1px solid transparent;
  transition: border calc(250ms * var(--animations-multiple)) ease-in-out;
}

.announcement-bar__panel[open] {
  border-color: rgba(var(--color-foreground, var(--color-default-text)), 0.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__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) {
  /* Class specific for merging the utility bar and the announcement, only on large screens */
  .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;
  }
}

/* #MainContent > :first-child > .banner {
  min-height: calc(var(--height) + var(--header-transparent-buffer));
} */

.banner {
  --height: auto;
  --height-mobile: auto;
  --height-large: auto;

  display: grid;
  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__text .rte > p {
  opacity: 1;
}

.vertical-spacer .banner::after {
  border-radius: var(--radius);
}

.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%;
}

.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) {
  /* #MainContent > :first-child > .banner[class*="banner-mobile"] {
    min-height: calc(var(--height-mobile) + var(--header-transparent-buffer));
  } */

  .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;
  }
}

@media (min-width: 751px) {
  /* #MainContent > :first-child > .banner[class*="banner-large"] {
    min-height: calc(var(--height-large) + var(--header-transparent-buffer));
  } */

  .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__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;
  }
}

.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)), 0.2);
}

.collapsible-content__title {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--spacer) 0;
}

.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)), 0.2);
}

.collapsible-content__button[aria-expanded="true"] .icon {
  transform: rotateZ(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), 0.1);
}

.contact-form--reverse > .contact-form__image {
  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 .input-group > div {
  width: 100%;
}

.contact-form__textarea {
  padding-top: 20px;
}

@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[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;
  }

  .contact-form:not(.contact-form--no-image) {
    grid-auto-flow: column;
    grid-auto-columns: 50%;
  }
}

.cookie-banner {
  display: block;
  position: fixed;
  bottom: 0;
  width: 100%;
  border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.1) !important;
  transition: transform calc(150ms * var(--animations-multiple)) 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: 0.01rem solid rgba(var(--color-foreground), 0.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)), 0.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), 0.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: 0.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;

  /* Product card labels start at -5px of the card, and because of overflow
  for the scroller, would cut off otherwise so we compensate */
  padding-top: 5px;

  /* In case of the color swatches, we need to increase the padding left
  and right other color swatch active state will be cut off */
  /* padding-left: 4px;
  padding-right: 4px; */
}

@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)), 0.1) !important;
}

.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;
  }
}

/* Other styles are dynamic, found in sections/header.liquid */

.shopify-section--header {
  z-index: 5;
}

.header {
  display: block;
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  transition: color calc(125ms * var(--animations-multiple)) ease-in-out, background-color calc(125ms * var(--animations-multiple)) ease-in-out, border calc(125ms * var(--animations-multiple)) 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 calc(125ms * var(--animations-multiple)) 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 calc(125ms * var(--animations-multiple)) 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 auto;
  }

  .header-top--left-center {
    grid-template-columns: 1fr 5fr 1fr;
    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: 12px 20px;
    margin-top: 20px;
  }
}

.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;
  }
}

.shopify-section--hero {
  position: relative;
}

loess-slideshow {
  display: block;
}

.hero-background-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.hero-background {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: opacity calc(100ms * var(--animations-multiple)) ease-in-out;
}

.hero-background--hidden {
  opacity: 0;
}

.hero-text {
  background: transparent !important;
}

.hero-media-wrapper {
  position: relative;
}

.hero-media {
  display: block;
  visibility: visible;
  z-index: 1;
}

.hero-media.media-with-text__media--fill > * {
  position: absolute;
}

loess-slideshow[type="image-background"] .hero-media {
  height: 100%;
}

.hero-media[hidden] {
  position: absolute;
  visibility: hidden;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.hero-media > svg {
  background-color: rgb(var(--color-default-background));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero-controls-wrapper {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: 3;
}

.media-with-text__media-wrapper--padding > .hero-controls-wrapper {
  left: 50%;
  bottom: 0;
  width: 100%;
  transform: translateX(-50%);
}

.hero-controls {
  display: inline-flex;
  position: absolute;
  left: var(--container-gutter);
  bottom: var(--container-gutter);
}

.hero-slider-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
}

loess-slideshow[type="image-background"] .hero-controls,
loess-slideshow[type="image-background"] .hero-slider-buttons {
  --color-foreground: var(--color-default-background);
}

.hero-slider-buttons > .slider-dots {
  justify-self: center;
}

.hero-slider-buttons > loess-slideshow-progress {
  justify-self: end;
}

.hero-slider-buttons > .slider-buttons + .slider-dots {
  margin-left: 0;
}

.hero-text.media-with-text__text .button-group {
  column-gap: 25px;
}

@media (max-width: 750px) {
  .shopify-section--hero .section--padded > loess-slideshow > .hero:not(.media-with-text--reverse-mobile) .rich-text-wrapper {
    padding-top: 0;
  }

  .hero-background-wrapper--full-offset-bottom-mobile,
  .hero-offset:not(.media-with-text--reverse-mobile) > .hero-background-wrapper {
    bottom: 25%;
  }

  .hero-background-wrapper--full-offset-top-mobile,
  .hero-offset.media-with-text--reverse-mobile > .hero-background-wrapper {
    top: 25%;
  }

  .hero.media-with-text--reverse-mobile > .media-with-text__media-wrapper--padding {
    margin-bottom: 0;
  }

  .hero:not(.media-with-text--reverse-mobile) > .media-with-text__media-wrapper--padding {
    margin-top: 0;
  }

  .hero-banner > .hero-media-wrapper {
    min-height: var(--height-mobile);
  }

  .hero-banner.banner-mobile--auto .banner__media > * {
    position: initial;
  }

  .hero-banner--stacked-mobile > .banner__text {
    position: relative;
    grid-area: initial;
    color: rgb(var(--color-default-text));
    background-color: rgb(var(--color-accent-2));
    
  }

  .hero-banner:not(.hero-banner--stacked-mobile) > .banner__text {
    --text-y-axis: end;
  }

  .hero-banner--stacked-mobile .hero-background-wrapper {
    top: 0;
    z-index: -1;
  }

  .hero-banner--stacked-mobile::after,
  .hero-banner--stacked-mobile .hero-background-wrapper,
  .hero-banner--stacked-mobile loess-slideshow-image {
    border-radius: 0 !important;
  }

  .hero-media-wrapper__mobile-controls.hero-slider-buttons {
    width: calc(100% - 2 * var(--container-gutter));
    z-index: 2;
  }

  .hero-text {
    --text-x-axis: var(--text-x-axis-mobile);
  }

  .hero-slider-buttons--top {
    margin-top: calc(-1 * var(--container-gutter));
    padding-bottom: var(--container-gutter);
  }

  .hero-slider-buttons--bottom {
    margin-bottom: calc(-1 * var(--container-gutter));
    padding-top: var(--container-gutter);
  }

  .hero-banner--stacked-mobile .banner__text--overlay .button:not(.button--color-overriden) {
    --color-foreground: ;
  }
}

@media (min-width: 751px) {
  .hero-background-wrapper--full-offset + .section {
    padding-bottom: 0;
  }

  .hero-overflow--offset {
    margin-left: min(calc(-1 * (100vw - var(--container-width)) / 2 - var(--container-gutter)), calc(-1 * var(--container-gutter)));
    margin-right: min(calc(-1 * (100vw - var(--container-width)) / 2 - var(--container-gutter)), calc(-1 * var(--container-gutter)));
  }

  .hero-text:not([hidden]) {
    --text-x-axis: var(--text-x-axis-large);

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

  .hero-banner > .hero-media-wrapper {
    min-height: var(--height-large);
  }

  .hero-banner.banner-large--auto .banner__media > * {
    position: initial;
  }

  .hero-banner .hero-text:not([hidden]),
  .hero:not(.hero-offset) .hero-text:not([hidden]) {
    row-gap: var(--container-gutter);
  }

  .hero-offset {
    overflow: initial;
    grid-template-rows: 1fr 70px;
  }

  .hero-offset > .hero-background-wrapper {
    bottom: var(--vertical-spacer);
  }

  .hero-offset > .media-with-text__media-wrapper {
    grid-column: 2;
    grid-row: 1 / -1;
    margin-bottom: 0;
    z-index: 2;
  }

  .hero-banner > .banner__text > .hero-text > .rich-text-wrapper + .hero-controls {
    bottom: calc(var(--container-gutter) / 2);
  }

  .hero-text > .rich-text-wrapper + .hero-controls {
    position: relative;
    bottom: 0;
    left: 0;
    align-self: end;
  }

  loess-slideshow[type="image-background"] .rich-text-wrapper + .hero-controls {
    justify-content: end;
  }

  .hero-text > .rich-text-wrapper + .hero-controls--padded {
    bottom: var(--container-gutter);
    padding: 0 var(--container-gutter);
  }

  .hero-controls {
    left: auto;
    right: 25px;
    bottom: 25px;
  }

  .hero-slider-buttons {
    display: inline-flex;
  }

  .hero-slider-buttons > .slider-buttons + .slider-dots {
    margin-left: 35px;
  }

  .hero-overflow {
    position: relative;
    grid-row: 2;
    grid-column: 1 / -1;
    background-color: rgba(var(--color-default-background));
    z-index: 1;
  }

  .hero-overflow .hero-controls {
    --color-foreground: var(--color-default-text);

    left: var(--container-gutter);
    right: auto;
  }

  .hero-overflow > .hero-controls-wrapper {
    position: relative;
    display: flex;
    height: 100%;
    align-items: end;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 var(--container-gutter);
  }

  .hero-overflow--fixed > .hero-controls-wrapper {
    padding: 0 calc(2 * var(--container-gutter));
  }

  .hero-overflow .hero-controls {
    position: initial;

  }

  .hero-overflow__inner {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .hero-overflow--soft-background > .hero-overflow__inner {
    background-color: rgba(var(--color-soft-background));
  }
}

@media (min-width: 991px) {
  .hero-offset {
    grid-template-rows: 1fr 100px;
  }

  .hero-offset > .hero-background-wrapper {
    bottom: 100px;
  }

  .hero-overflow > .hero-controls-wrapper {
    align-items: center;
  }
}

.image--placeholder {
  background-color: rgb(var(--color-default-background));
  border: 1px solid rgba(var(--color-default-text), 0.2);
}

.image--placeholder > svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  fill: rgb(var(--color-default-text), 0.5);
}

@media (max-width: 750px) {
  .banner-mobile--auto > .image > * {
      position: relative;
  }
}

@media (min-width: 751px) {
  .banner-large--auto > .image > * {
      position: relative;
  }
}

@media (hover: hover) {
  a.image:hover img {
    transform: scale(1.05);
  }
}

.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: translateX(-50%);
  fill: rgba(var(--color-foreground), 0.4);
}

.hotspot-wrapper {
  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 calc(100ms * var(--animations-multiple)) ease-in-out;
}

@media (hover: hover) {
  .hotspot:hover {
    transform: scale(1.2);
  }

  .hotspot:hover > .hotspot__dot {
    transform: scale(0.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 calc(100ms * var(--animations-multiple)) 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;
}

@media (max-width: 750px) {
  .hotspot-popover {
    top: calc(20px + var(--y-axis));
    width: calc(100vw - (2 * var(--container-gutter)) - 20px);
    left: 50%;
    transform: translateX(-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;
  }
}

.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__image {
  width: var(--width);
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: var(--logo-opacity);
  transition: opacity calc(100ms * var(--animations-multiple)) 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)), 0.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)), 0.2);
}

.article-comment-form-wrapper:not(:only-child) {
  border-top: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.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)), 0.2);
}

.article-comments-form__button[aria-expanded="true"] .icon {
  transform: rotateZ(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: 0.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;
}

.blog-grid {
  row-gap: calc(3 * var(--container-gap));
}

.cart-progress {
  display: grid;
  gap: 5px;
  font-size: 0.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%;
}

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: 0.75;
  text-align: left;
  padding-bottom: 10px;
}

.cart-item__details {
  display: grid;
  gap: 5px;
}

.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: 0.75;
}

.product-option * {
  display: inline;
}

.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), 1);
  border-radius: var(--radius);
  padding: calc(var(--gap) * 2) var(--gap);
}

.cart-notes {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.cart-notes__label {
  display: inline-flex;
  align-content: center;
  gap: 5px;
}

.cart-notes__textarea {
  border-color: rgba(var(--color-foreground, var(--color-default-text)), 0.2);
  min-height: 100px;
}

.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)), 0.2);
  }

  .cart-item {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.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 {
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.2);
  }

  #MainCart .cart-items tbody tr {
    border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.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);
  }
}

/* Needed, otherwise the sticky aside won't work due to overflow: hidden
set by border-radius in the HTML */

.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), 0.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 button {
  font-size: 0.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: 0.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.3;
  margin-bottom: 23px;
}

.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: 15px;
}

.collection-filter__label {
  justify-content: space-between;
  width: 100%;
}

.collection-filter__list {
  color: rgb(var(--color-foreground));
  padding: 15px 0 5px 0;
  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), 0.5);
}

.collection-filter__more-button {
  position: relative;
  color: rgba(var(--color-foreground), 0.75);
  font-size: 0.875rem;
  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), 0.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), 0.2);
  transition: border calc(100ms * var(--animations-multiple)) 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)), 0.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), 0.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: 0.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 rgb(var(--color-foreground, var(--color-default-text))) 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), 0.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: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 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 {
  display: grid;
  column-gap: var(--container-gap);
}

.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 calc(100ms * var(--animations-multiple)) ease-out;
}

.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%);
  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::-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;
  padding-left: 7px;
}

.main-product-media__thumbnail > .main-product-media__thumbnail-icon--model {
  padding: 6px;
  padding-left: 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;
}

.main-product-media__thumbnail img {
  position: absolute;
  height: 100%;
}

.main-product-media__thumbnail::after {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border-radius: var(--radius);
  border: 2px solid rgb(var(--color-accent, var(--color-default-text)));
  opacity: 0;
  transform: scale(0.95);
  transition: transform calc(100ms * var(--animations-multiple)) ease-out, opacity calc(100ms * var(--animations-multiple)) 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;
    top: -10px;
    left: 80%;
    font-size: 0.875rem;
    width: fit-content;
    padding: 1em;
    clip: auto;
    opacity: 0;
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    border: 1px solid rgb(var(--color-foreground), 0.2);
    text-align: center;
    pointer-events: none;
    z-index: 1;
    transition: opacity calc(100ms * var(--animations-multiple)) ease-out;
  }

  .main-product__block-variant-picker .card-swatches__button:hover > span {
    opacity: 1;
  }
}

/* START: Variant pickers */

loess-variant-radios fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

loess-variant-radios legend {
  transform-origin: top left;
}

.input__list {
  display: flex;
  column-gap: 7px;
  row-gap: 15px;
}

input[type=radio] + label {
  display: inline-flex;
  padding: 1.4em 1.25em;
  cursor: pointer;
  position: relative;
  margin-right: 6px;
  width: 100%;
}

.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), 0.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(0.85);
  transition: transform calc(100ms * var(--animations-multiple)) ease-out, opacity calc(100ms * var(--animations-multiple)) ease-out;
}

input[type=radio]:checked + label::after,
.card-swatches__button--active::after {
  opacity: 0.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), 0.4) 50%, transparent calc(50% + 1px)) no-repeat;
}

.product-form__buttons .spinner {
  max-height: 27px;
}

.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)));
}

/* END: Variant pickers */

.main-product__block-quantity-selector {
  margin-top: 20px;
  margin-bottom: -10px;
}

.main-product__block-quantity-selector label {
  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)), 0.2);
  border-bottom: 1px solid rgba(var(--color-foreground, var(--color-default-text)), 0.2);
}

.main-product__block-collapsible-tab .collapsible-content-title {
  padding: 15px 10px;
  border-radius: 0;
  transition: background-color calc(150ms * var(--animations-multiple)) 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: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(33%, 150px), 1fr));
  gap: var(--container-gap);
  border: 1px solid rgba(var(--color-foreground), 0.2);
  border-radius: var(--radius);
  padding: 20px;
}

.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 {
  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 calc(150ms * var(--animations-multiple)) ease-out, visibility calc(150ms * var(--animations-multiple)) 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: 5px;
}

.main-product__block-label .modal__inner {
  background-color: lightsalmon;
  min-width: 650px;
  height: calc(100% - (2 * var(--container-gutter)));
}

.main-product__block-label--no-icon {
  vertical-align: bottom;
  line-height: 3.6;
}

.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 {
  font-size: 1.125rem;
}

.pickup-availability-info {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.pickup-availability-info > svg {
  margin-top: 4px;
}

.pickup-availability-button {
  font-size: 0.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), 0.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;
    gap: var(--container-gap);
    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: 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: 0;
    padding-top: 20px;
  }

  .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;
  }

  .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), 0.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: translateY(calc(-50% + 100px));
}

.product-modal .modal__inner--fit-height {
  max-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: fit-content;
    overflow-y: auto;
  }

  .product-modal[open] .modal__inner--fullscreen {
    max-height: calc(100vh - (2 * var(--vertical-spacer)));
  }
}

@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), 0.4);
}

.media-collage-block__media--overlaid {
  grid-area: 1 / -1;
}

.media-collage-block__overlaid-text {
  grid-area: 1 / -1;
  margin: var(--vertical-spacer) var(--container-gutter);
  align-self: center;
  justify-self: center;
  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) {
  /* #MainContent > :first-child.shopify-section--media-collage > .section > div:not(.hide-mobile) > .rich-text-wrapper {
    padding-top: 0;
  } */

  /* #MainContent > :first-child.shopify-section--media-collage > .section > div:not(.hide-mobile) + .vertical-spacer {
    padding-top: var(--vertical-spacer);
  } */

  .media-collage-block__overlaid-text {
    margin-top: var(--height);
  }
}

@media (min-width: 751px) {
  /* #MainContent > :first-child.shopify-section--media-collage > .section > div:not(.hide-tablet-and-up) > .rich-text-wrapper {
    padding-top: 0;
  } */

  /* #MainContent > :first-child.shopify-section--media-collage > .section > div:not(.hide-tablet-and-up) + .vertical-spacer {
    padding-top: var(--vertical-spacer);
  } */

  .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(--color-overlay), var(--color-overlay-opacity));
  transition: opacity 0.3s ease-out, visibility 0.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: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  transition: opacity 0.3s ease-out, visibility 0.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: translateX(-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] {
  display: none;
}

.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), 0.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: bold;
}

.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: bold;
}

@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), 0.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);
  }
}

/* #MainContent > :first-child.shopify-section--promo-banner .promo-banner-wrapper {
  padding-top: calc((var(--padding-top) * var(--vertical-spacer)) + var(--header-transparent-buffer, 0));
} */

.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: 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), 0.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), 0.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), 0.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;
  }
}

.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-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;
}

.promotion-media-block__link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.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 calc(150ms * var(--animations-multiple)) 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));
  border: 1px solid rgba(var(--color-default-text), 0.2);
}

.promotion-media-block__media--placeholder > svg {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  transform: translate(-50%, -50%);
  fill: rgba(var(--color-default-text), 0.4);
}

/* First block */

.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),
.promotion-media--blocks-5 :nth-child(1),
.promotion-media--blocks-6 :nth-child(1) {
  grid-column: 1 / span 5;
  grid-row-end: 1;
  align-self: end;
}

/* Second block */

.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),
.promotion-media--blocks-5 :nth-child(2),
.promotion-media--blocks-6 :nth-child(2) {
  grid-column: 6 / -1;
  grid-row-end: 1;
  align-self: end;
}

/* Third block */

.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-5 :nth-child(3),
.promotion-media--blocks-6 :nth-child(3) {
  grid-column: 1 / span 7;
  grid-row: 1 / 3;
  align-self: start;
}

/* Fourth block */

.promotion-media--blocks-4 :nth-child(4),
.promotion-media--blocks-5 :nth-child(4),
.promotion-media--blocks-6 :nth-child(4) {
  grid-column: 8 / -1;
  align-self: start;
}

/* Fifth block */

.promotion-media--blocks-5 :nth-child(5),
.promotion-media--blocks-6 :nth-child(5) {
  grid-column: 8 / span 4;
  grid-row-start: 2;
  grid-row-end: 4;
  align-self: start;
}

/* Sixth block */

.promotion-media--blocks-6 :nth-child(6) {
  grid-column: 3 / span 5;
  grid-row-start: 3;
  align-self: start;
}

.promotion-overflow--top-first {
  display: none;
}

@media (max-width: 750px) {
  /* #MainContent > :first-child.shopify-section--promotion > .section > .promotion:not(.promotion--reverse-mobile) .rich-text-wrapper {
    padding-top: 0;
  } */

  .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--fixed.promotion--reverse-mobile > .promotion-media {
    padding-top: var(--vertical-spacer);
  }

  /* #MainContent > :not(:first-child.shopify-section--promotion) > .section > .promotion--reverse-mobile > .promotion-media {
    padding-top: var(--vertical-spacer);
  } */
}

@media (min-width: 751px) {
  /* #MainContent > :first-child.shopify-section--promotion > .section > .promotion,
  #MainContent.template-index > :first-child.shopify-section--promotion > .vertical-spacer:not(.promotion-overflow-bottom-padding):not(.promotion-overflow-none-padding) {
    padding-top: var(--header-transparent-buffer);
  } */

  /* We enforce no overflow top when it's the first section and the header is transparent */
  /* #MainContent.template-index > :first-child.shopify-section--promotion .promotion--full.promotion-large--none > .promotion-background,
  #MainContent.template-index > :first-child.shopify-section--promotion .promotion--full.promotion-large--bottom > .promotion-background {
    top: 0;
  } */

  .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));
  }

  /* #MainContent.template-index > :first-child.shopify-section--promotion .promotion--full.promotion-large--top > .promotion-background,
  #MainContent.template-index > :first-child.shopify-section--promotion .promotion--full.promotion-large--top-bottom > .promotion-background {
    top: 0;
  } */

  .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--reverse-large > .promotion-media--blocks-5,
  .promotion--reverse-large > .promotion-media--blocks-6 {
    margin-left: calc(-2/3 * var(--container-gutter));
  }

  .promotion__text .rich-text-wrapper {
    padding-right: var(--container-gutter);
  }

  .promotion-overflow {
    grid-column: 1 / -1;
    background-color: rgba(var(--color-default-background));
  }

  .promotion--full > .promotion-overflow {
    margin-left: min(calc(-1 * (100vw - var(--container-width)) / 2 - var(--container-gutter)), calc(-1 * var(--container-gutter)));
    margin-right: min(calc(-1 * (100vw - var(--container-width)) / 2 - var(--container-gutter)), calc(-1 * var(--container-gutter)));
  }

  .promotion--fixed > .promotion-overflow {
    margin-left: min(calc(-1 * (100vw - var(--container-width)) / 2 - (2 * var(--container-gutter))), calc(-2 * var(--container-gutter)));
    margin-right: min(calc(-1 * (100vw - var(--container-width)) / 2 - (2 * var(--container-gutter))), calc(-2 * var(--container-gutter)));
  }

  .promotion-overflow--none {
    z-index: 1;
  }

  /* #MainContent.template-index > :first-child.shopify-section--promotion .promotion-overflow--top-first {
    display: block;
    grid-row: 1;
    height: var(--header-transparent-buffer);
    margin-top: calc(-1 * var(--header-transparent-buffer));
    z-index: -1;
  } */

  /* #MainContent.template-index > :first-child.shopify-section--promotion > .vertical-spacer .promotion-overflow--top-first {
    display: block;
    grid-row: 1;
    height: calc(var(--vertical-spacer) + var(--header-transparent-buffer));
    margin-top: calc(-1 * (var(--vertical-spacer) + var(--header-transparent-buffer)));
  } */

  .promotion-overflow--top {
    grid-row: 1 / -1;
    height: 50%;
  }

  .promotion-overflow--bottom {
    grid-row: 1 / -1;
    align-self: end;
    height: 50%;
  }

  .promotion--fixed .promotion-overflow--top {
    height: calc(50% + (var(--padding-top) * var(--vertical-spacer)));
  }

  .promotion--fixed.promotion-large--bottom .promotion-overflow--top,
  .promotion--fixed.promotion-large--none .promotion-overflow--top {
    margin-top: calc(-1 * var(--padding-top) * var(--vertical-spacer));
  }

  .promotion--fixed .promotion-overflow--bottom {
    height: calc(50% + (var(--padding-bottom) * var(--vertical-spacer)));
  }

  .promotion--fixed.promotion-large--top .promotion-overflow--bottom,
  .promotion--fixed.promotion-large--none .promotion-overflow--bottom {
    margin-bottom: calc(-1 * var(--padding-bottom) * var(--vertical-spacer));
  }

  .promotion-overflow__inner {
    width: 100%;
    height: 100%;
  }

  .promotion-overflow--soft-background > .promotion-overflow__inner {
    background-color: rgba(var(--color-soft-background));
  }

  .promotion-media {
    grid-column: 2;
    grid-row: 2 / 5;
    padding-left: 0;
    padding-bottom: 0;
  }

  .promotion--reverse-large > .promotion-media {
    grid-column: 1;
  }

  .promotion--reverse-large > .promotion-media--blocks-5,
  .promotion--reverse-large > .promotion-media--blocks-6 {
    padding-right: calc(var(--container-gutter) / 3 * 2);
  }

  .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;
  }

  /* The Promotion section with 5 or 6 blocks is slightly different than mobile
   as the blocks are aligned to the right of .promotion-media */
  .promotion-media--blocks-5,
  .promotion-media--blocks-6 {
    margin-right: calc(-2/3 * var(--container-gutter));
  }

  .promotion-media--blocks-5 :nth-child(1),
  .promotion-media--blocks-6 :nth-child(1) {
    grid-column: 1 / span 4;
    grid-row-end: 1;
    align-self: end;
  }

  .promotion-media--blocks-5 :nth-child(2),
  .promotion-media--blocks-6 :nth-child(2) {
    grid-column: 5 / span 6;
    grid-row-end: 1;
    align-self: end;
  }

  .promotion-media--blocks-5 :nth-child(3),
  .promotion-media--blocks-6 :nth-child(3) {
    grid-column: 1 / span 6;
    grid-row: 1 / 3;
    align-self: start;
  }

  .promotion-media--blocks-5 :nth-child(4),
  .promotion-media--blocks-6 :nth-child(4) {
    grid-column: 7 / span 4;
    align-self: start;
  }

  .promotion-media--blocks-5 :nth-child(5),
  .promotion-media--blocks-6 :nth-child(5) {
    grid-column: 11 / span 2;
    grid-row-end: 1;
    align-self: start;
  }

  .promotion--reverse-large > .promotion-media--blocks-5 :nth-child(1),
  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(1) {
    grid-column: 3 / span 4;
  }

  .promotion--reverse-large > .promotion-media--blocks-5 :nth-child(2),
  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(2) {
    grid-column: 7 / span 6;
  }

  .promotion--reverse-large > .promotion-media--blocks-5 :nth-child(3),
  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(3) {
    grid-column: 3 / span 6;
  }

  .promotion--reverse-large > .promotion-media--blocks-5 :nth-child(4),
  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(4) {
    grid-column: 9 / span 4;
  }

  .promotion--reverse-large > .promotion-media--blocks-5 :nth-child(5),
  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(5) {
    grid-column: 1 / span 2;
  }

  .promotion-media--blocks-6 :nth-child(6) {
    grid-column: 11 / span 2;
    grid-row-start: 1;
    align-self: end;
  }

  .promotion--reverse-large > .promotion-media--blocks-6 :nth-child(6) {
    grid-column: 1 / span 2;
  }
}

@media (hover: hover) {
  .promotion-media-block__link:hover + .promotion-media-block__media img {
    transform: scale(1.05);
  }
}

.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: scroll;
  padding: 20px 0;
}

.recent-products-footer {
  display: flex;
  padding: 20px 0;
}

.recent-products-panel {
  padding-top: 10px;
}

.recent-products__clear-button {
  font-size: 0.875rem;
  border-radius: 0;
  border-bottom: 1px solid rgb(var(--color-foreground));
  transition: opacity calc(150ms * var(--animations-multiple)) ease-in-out;
}

.recent-products__clear-button:hover {
  opacity: 0.4;
}

@media (min-width: 751px) {
  .recent-products-list {
    --columns: 12;
    justify-content: center;
    padding: 0;
  }
}

@media (min-width: 991px) {
  .recent-products-footer {
    justify-content: center;
  }
}

.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: calc(3 / 3 * 100%);
  }
}

.shopify-section--main-cart + .shopify-section--shipping-calculator {
  margin-top: calc(-1 * var(--vertical-spacer) / 2);
}

.shipping-rates__form {
  display: inline-grid;
  gap: 30px;
  width: 100%;
  padding: calc(var(--vertical-spacer) / 2) 0;
}

.shipping-rates__inputs {
  display: inline-grid;
  gap: 20px;
  width: 100%;
}

.shipping-rates__inputs .input__field {
  padding-bottom: 0;
}

.shipping-rates__inputs .input__field:focus-within {
  box-shadow: none;
  background: none;
}

.shipping-rates__button {
  width: 100%;
  min-width: 200px;
  justify-content: center;
}

.shipping-rates__results,
.shipping-rates__spinner {
  margin-top: 20px;
}

.shipping-rates__list {
  padding-left: 15px;
}

@media (max-width: 750px) {
  .shipping-rates__title {
    display: flex;
    justify-content: space-between;
  }

  .shipping-rates__toggle {
    margin-left: 20px;
    min-width: 33px;
    border-width: 1px;
    border-color: rgba(var(--color-foreground, currentColor), 0.2);
  }
}

@media (min-width: 751px) {
  .shipping-rates__inputs {
    grid-template-columns: repeat(3, 1fr);
  }

  .shipping-rates__inputs select,
  .shipping-rates__inputs input {
    padding-bottom: 0;
  }

  #ShippingCalculator {
    height: auto;
    opacity: 1;
    visibility: visible;
  }
}

@media (min-width: 751px) and (max-width: 990px) {
  .shipping-rates__button {
    width: fit-content;
  }
}

@media (min-width: 991px) {
  .shopify-section--main-cart + .shopify-section--shipping-calculator {
    margin-top: calc(-1 * var(--vertical-spacer));
  }

  .shipping-rates__form {
    grid-auto-flow: column;
    grid-template-columns: none;
  }
}

.spacer {
  margin: calc(24px * calc(var(--margin-spacing) / 100)) 0;
}

/*
@media (min-width: 751px) {
  .spacer {
    margin: calc(16px * var(--margin-spacing) / 100) 0;
  }
}

@media (min-width: 991px) {
  .spacer {
    margin: calc(24px * 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-heading {
  line-height: var(--font-h-line-height);
}

.testimonial__stars {
  font-size: 0.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: 0.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: 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-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);
  background-color: rgba(var(--color-foreground), var(--color-soft-background-opacity));
}

.text-column-image__placeholder {
  position: absolute;
  left: 0;
  top: 50%;
  fill: rgb(var(--color-foreground), 0.4);
  transform: translateY(-50%);
}

.text-column-image--circle {
  border-radius: 50%;
}

.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--no-padding:not(.text-column-image--circle):not(.text-column-image--margin-reset) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.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%;
}

.ingredientcolumn {
  float: left;
  width: 25%;
  padding: 20px;
  text-align: center;
  font-size: 0.8rem;
}

@media only screen and (max-width: 800px) {
.ingredientcolumn {
  padding: 5px;
}
}

/* Clear floats after the columns */
.ingredientrow:after {
  content: "";
  display: table;
  clear: both;
}

.ingredientimage {
  width: 60px !important;
  height: 60px !important;
  margin: auto;
}

.prodtable {
  white-space: wrap !important;
  border: 2px solid #a87356;
  padding: 15px;
  border-radius: 5px;
  margin: 20px 0px;
}

.colblk {
  color: #111111;
}

.mhbc {
  min-height: 500px;
}

@media only screen and (max-width: 750px) {
.mhbc {
  min-height: 300px;
  background: rgb(255, 0, 0);
}