/** Shopify CDN: Minification failed

Line 7:0 Unexpected "<"
Line 25:0 Unexpected "<"

**/
<style>
@font-face {
  font-family: 'Wulkan-Display-SemiBold';
  src: url('{{ /cdn/shop/files/Wulkan-Display-SemiBold.woff?v=1771589194 }}') format('woff2'),
       url('{{ /cdn/shop/files/Wulkan-Display-SemiBold.woff?v=1771589194 }}') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Wulkan-Display-SemiBoldt';
  src: url('{{ /cdn/shop/files/Wulkan-Display-SemiBold.woff?v=1771589194 }}') format('woff2'),
       url('{{ /cdn/shop/files/Wulkan-Display-SemiBold.woff?v=1771589194}}') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
</style>

html, body, * {
  font-family: 'Wulkan-Display-SemiBold' !important;
}
html {
  
  line-height: 1.4;
  font-size: 18px;
}

@media (max-width: 399px) {
  html {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  html {
    font-size: 16px;
  }
}

body {
  --grid-gap: calc(var(--spacing) / 2);

  --h0-font-size: 2.846rem;
  --h1-font-size: 2.846rem;
  --h2-font-size: 1.423rem;
  --h3-font-size: 1.423rem;
  --h4-font-size: 1.423rem;
  --h5-font-size: 1.067rem;
}

@media (max-width: 1023px) {
  body {
    --spacing: 2rem;
    --image-border-radius: var(--image-border-radius--min);
  }

  .desktop-only {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* desktop and tablet */
  .desktop-and-tablet-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  body {
    --h0-font-size: min(6.223rem, 8vmax);
    --h1-font-size: 4.445rem;
    --h2-font-size: 2.846rem;
    --h3-font-size: 2.133rem;
    --h4-font-size: 1.423rem;
    --h5-font-size: 1.067rem;
  }

  .small-mobile-only {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  body {
    --spacing: 3rem;
  }

  .mobile-only {
    display: none !important;
  }
}

body.overflow-hidden-mobile {
  overflow: hidden;
}

::selection { 
  background: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 80%);
}

/* Derived from base colors (theme settings) */

:root,
.color-base {
  --color-foreground: var(--color-base-text);
  --color-foreground-rgb: var(--color-base-text-rgb);
  --color-heading: var(--color-base-heading);
  --color-background: var(--color-base);
  --color-background-rgb: var(--color-base-rgb);

  --color-primary-button-background: var(--color-base-primary-button-background);
  --color-primary-button-text: var(--color-base-primary-button-text);
  --color-primary-button-text-rgb: var(--color-base-primary-button-text-rgb);
  --color-primary-button-border: var(--color-base-primary-button-border);

  --color-secondary-button-background: var(--color-base-secondary-button-background);
  --color-secondary-button-text: var(--color-base-secondary-button-text);
  --color-secondary-button-text-rgb: var(--color-base-secondary-button-text-rgb);
  --color-secondary-button-border: var(--color-base-secondary-button-border);

  --color-icons: var(--color-base-icons);
  --color-link: var(--color-base-links);
}

.color-dark {
  --color-foreground: var(--color-dark-text);
  --color-foreground-rgb: var(--color-dark-text-rgb);
  --color-heading: var(--color-dark-heading);
  --color-background: var(--color-dark);
  --color-background-rgb: var(--color-dark-rgb);

  --color-primary-button-background: var(--color-dark-primary-button-background);
  --color-primary-button-text: var(--color-dark-primary-button-text);
  --color-primary-button-text-rgb: var(--color-dark-primary-button-text-rgb);
  --color-primary-button-border: var(--color-dark-primary-button-border);

  --color-secondary-button-background: var(--color-dark-secondary-button-background);
  --color-secondary-button-text: var(--color-dark-secondary-button-text);
  --color-secondary-button-text-rgb: var(--color-dark-secondary-button-text-rgb);
  --color-secondary-button-border: var(--color-dark-secondary-button-border);

  --color-icons: var(--color-dark-icons);
  --color-link: var(--color-dark-links);
}

.color-primary {
  --color-foreground: var(--color-primary-text);
  --color-foreground-rgb: var(--color-primary-text-rgb);
  --color-heading: var(--color-primary-heading);
  --color-background: var(--color-primary);
  --color-background-rgb: var(--color-primary-rgb);

  --color-primary-button-background: var(--color-primary-primary-button-background);
  --color-primary-button-text: var(--color-primary-primary-button-text);
  --color-primary-button-text-rgb: var(--color-primary-primary-button-text-rgb);
  --color-primary-button-border: var(--color-primary-primary-button-border);

  --color-secondary-button-background: var(--color-primary-secondary-button-background);
  --color-secondary-button-text: var(--color-primary-secondary-button-text);
  --color-secondary-button-text-rgb: var(--color-primary-secondary-button-text-rgb);
  --color-secondary-button-border: var(--color-primary-secondary-button-border);

  --color-icons: var(--color-primary-icons);
  --color-link: var(--color-primary-links);
}

.color-secondary {
  --color-foreground: var(--color-secondary-text);
  --color-foreground-rgb: var(--color-secondary-text-rgb);
  --color-heading: var(--color-secondary-heading);
  --color-background: var(--color-secondary);
  --color-background-rgb: var(--color-secondary-rgb);

  --color-primary-button-background: var(--color-secondary-primary-button-background);
  --color-primary-button-text: var(--color-secondary-primary-button-text);
  --color-primary-button-text-rgb: var(--color-secondary-primary-button-text-rgb);
  --color-primary-button-border: var(--color-secondary-primary-button-border);

  --color-secondary-button-background: var(--color-secondary-secondary-button-background);
  --color-secondary-button-text: var(--color-secondary-secondary-button-text);
  --color-secondary-button-text-rgb: var(--color-secondary-secondary-button-text-rgb);
  --color-secondary-button-border: var(--color-secondary-secondary-button-border);
  
  --color-icons: var(--color-secondary-icons);
  --color-link: var(--color-secondary-links);
}

:root,
.color-base,
.color-dark,
.color-primary,
.color-secondary {
  --color-foreground-85: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 15%);
  --color-foreground-75: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 25%);
  --color-foreground-70: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 30%);
  --color-foreground-55: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 45%);
  --color-foreground-50: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 50%);
  --color-foreground-40: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 60%);
  --color-foreground-30: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 70%);
  --color-foreground-20: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 80%);
  --color-foreground-15: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 85%);
  --color-foreground-10: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 90%);
  --color-foreground-8: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 92%);
  --color-foreground-5: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 95%);
  --color-foreground-4: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 96%);
  --color-foreground-3: color-mix(in srgb, rgba(var(--color-foreground-rgb)), transparent 97%);
}

/* Primary button */

:root,
.color-base,
.color-dark,
.color-primary,
.color-secondary {
  --color-button-background: var(--color-primary-button-background);
  --color-button-border: var(--color-primary-button-border);
  --color-button-text: var(--color-primary-button-text);
}

/* Ghost button */

.button.button--ghost {
  --color-button-background: var(--color-secondary-button-background);
  --color-button-border: var(--color-secondary-button-text);
  border-bottom-width: 3px;
  position: relative;
  bottom: 0;
}

.button.button--ghost:hover {
  filter: brightness(103%);
  opacity: 1 !important;
  border-bottom-width: 1px;
  bottom: -2px !important;
}

.color-dark .button--ghost,
.color-primary .button--ghost,
.color-secondary .button--ghost,
.button--ghost {
  --color-button-border: var(--color-secondary-button-border);
  --color-button-text: var(--color-secondary-button-text);
}

/* Tertiary button */

.button--tertiary {
  --color-button-background: transparent;
  --color-button-border: transparent;
  --color-button-text: var(--color-text);
}

.color-dark .button--tertiary,
.color-primary .button--tertiary,
.color-secondary .button--tertiary {
  --color-button-border: var(--color-foreground-20);
  --color-button-text: var(--color-foreground);
}

/* Badges */

:root,
.color-base {
  --color-badge-background: var(--color-background);
  --color-badge-border: var(--color-foreground-10);
}

.color-dark,
.color-primary,
.color-secondary {
  --color-badge-background: var(--color-background);
  --color-badge-border: var(--color-background);
}

/*  Cards and announcement bar */

:root,
.color-base {
  --color-card-hover: color-mix(in srgb, rgba(var(--color-base-text-rgb)), transparent 94%);
}

.color-dark {
  --color-card-hover: color-mix(in srgb, rgba(var(--color-base-rgb)), transparent 94%);
}

.color-primary,
.color-secondary {
  --color-card-hover: color-mix(in srgb, rgba(var(--color-base-solid-button-labels-rgb)), transparent 94%);
}

.contains-content-container,
.content-container {
  --border-radius: var(--image-border-radius--min);
}

/* base */

.page-width,
.page-width-desktop,
.page-width--narrow,
.page-width--narrow--variable,
.page-width--medium,
.page-width--medium--variable,
.page-width--small,
.shopify-policy__container {
  max-width: 100rem;
  margin: 0 auto;
  padding-left: calc(var(--spacing)/2);
  padding-right: calc(var(--spacing)/2);
  width: 100%;
}

.page-width--narrow,
.shopify-policy__container {
  max-width: calc(40rem + var(--grid-gap)/2);
}

.page-width--medium {
  --third-col: calc((100rem - var(--spacing) - var(--grid-gap) * 2)/3);
  max-width: calc(var(--third-col) * 2 + var(--grid-gap) + var(--spacing));
}

@media (min-width: 768px) {
  .page-width--smallest {
    max-width: 35rem;
  }

  .page-width--narrow--variable {
    max-width: calc(50% + var(--grid-gap)/2);
  }

  .page-width--medium--variable {
    --third-col: calc((100% - var(--spacing) - var(--grid-gap) * 2)/3);
    max-width: calc(var(--third-col) * 2 + var(--grid-gap) + var(--spacing));
  }
}

@media (min-width: 100rem) {
  .page-width--narrow--variable {
    max-width: calc(40rem + var(--grid-gap)/2);
  }

  .page-width--medium--variable {
    --third-col: calc((100rem - var(--spacing) - var(--grid-gap) * 2)/3);
    max-width: calc(var(--third-col) * 2 + var(--grid-gap) + var(--spacing));
  }
}

.parallax {
  will-change: transform;
}

.spaced-section,
.shopify-policy__container {
  padding-top: calc(var(--spacing) * 2);
  padding-bottom: calc(var(--spacing) * 2);
}

@media (max-width: 1023px) {
  .shopify-policy__title {
    text-align: left;
  }
}

@media (min-width: 1024px) {
  .shopify-policy__title {
    text-align: center;
  }
}

.spaced-section.color-primary + .spaced-section:not(.color-primary),
.spaced-section.color-secondary + .spaced-section:not(.color-secondary),
.spaced-section.color-dark + .spaced-section:not(.color-dark) {
  padding-top: var(--spacing);
}

.images-with-text__media {
  background-color: transparent;
  min-height: 100%;
}

.spaced-section:only-child:not(.no-bottom-padding) {
  padding-bottom: calc(var(--spacing) * 2);
}

.spaced-section--full-width:first-child {
  margin-top: 0;
}

.spaced-section--full-width:last-child {
  margin-bottom: 0;
}

body,
.color-base,
.color-dark,
.color-primary,
.color-secondary {
  color: var(--color-text);
  background-color: var(--color-background);
}

.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.page-margin,
.shopify-challenge__container {
  margin: 7rem auto;
}

.shopify-challenge__container {
  width: 100%;
  padding: 0 calc(var(--spacing)/2);
}

.shopify-challenge__container .g-recaptcha {
  margin: calc(var(--spacing)/2) 0;
  width: 100%;
}

.shopify-challenge__container .g-recaptcha div {
  margin: 0;
  width: 100% !important;
}

.shopify-challenge__container form {
  text-align: center;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

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

.hidden {
  display: none !important;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: static !important;
  margin: calc(var(--grid-gap)/2);
  width: fit-content;
  outline: 2px solid var(--color-foreground-20);
  outline-offset: 2px;
  border-bottom-width: 1px;
}

.full-width-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.small,
small {
  font-size: .8rem;
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  line-height: 1.2;
}

@media (max-width: 1023px) {
  .mobile-small {
    font-size: var(--h5-font-size);
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.subtitle,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong,
.h1 strong,
.h2 strong,
.h3 strong,
.h4 strong,
.h5 strong,
.subtitle strong {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  margin: 0;
  font-weight: var(--font-heading-weight);
  color: var(--color-foreground);
  text-transform: var(--font-heading-casing);
}

h1,
h2,
h3,
.rte h4,
.h0,
.h1,
.h2,
.h3,
.rte .h4,
h1 strong,
h2 strong,
h3 strong,
.rte h4 strong,
.h1 strong,
.h2 strong,
.h3 strong,
.rte .h4 strong {
  color: var(--color-heading);
}

h1,
h2,
.h0,
.h1,
.h2 {
  word-break: break-word;
}

.h0 {
  font-size: var(--h0-font-size);
  line-height: 1;
}

h1,
.h1 {
  font-size: var(--h1-font-size);
  line-height: 1;
}

@media (min-width: 1536px) {
  h1,
  .h1 {
    font-size: 4.5vmax;
  }
}

h2,
.h2 {
  font-size: var(--h2-font-size);
  line-height: 1.1;
}

h3,
.h3 {
  font-size: var(--h3-font-size);
  line-height: 1;
}

h4,
.h4 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-size: var(--h4-font-size);
  line-height: 1.2;
}

h5,
.h5,
.subtitle {
  font-size: var(--h5-font-size);
  line-height: 1.2;
}

h6,
.h6 {
  font-size: 1rem;
  font-weight: var(--font-body-weight);
}

p:not(.small):not(.h6):not(.h5):not(.h4):not(.h3):not(.h2):not(.h1) {
  font-size: 1rem !important;
}

blockquote {
  font-style: italic;
  color: var(--color-foreground);
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-size: var(--h5-font-size);
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin-block-start: var(--spacing);
  margin-block-end: var(--spacing);
}

blockquote::before {
  content: '';
  display: inline-block;
  width: 8rem;
  height: 2rem;
  margin-right: 1em;
  -webkit-mask: url(./quote.svg) no-repeat 50% 50%;
  mask: url(./quote.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--color-foreground-15);
}

@media (min-width: 1024px) {
  blockquote {
    margin-inline-start: var(--spacing);
    margin-inline-end: var(--spacing);
  }
}

@media (min-width: 768px) {
  blockquote::before {
    width: 3rem;
  }
}

@media (max-width: 1023px) {
  blockquote {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
}

table:not([class]) {
  table-layout: fixed;
  border-collapse: collapse;
  border-style: hidden;
}

.table-wrapper {
  overflow-x: auto;
  max-width: calc(100vw - var(--spacing));
  padding: 2px;
}

table {
  border-radius: var(--input-border-radius);
  box-shadow: 0 0 0 2px var(--color-foreground);
  border-spacing: 0;
  width: 100%;
  line-break: auto;
}

table th {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  margin: 0;
  color: var(--color-foreground);
  font-size: 1rem;
  font-weight: normal;
  padding-top: .75rem;
  padding-bottom: .75rem;
  text-align: left;
}

@media (max-width: 1023px) {
  table, table th {
    font-size: .8rem;
    font-family: var(--font-body-family);
    font-weight: var(--font-body-weight);
  }
}

table th:not(:first-of-type),
table td:not(:first-of-type) {
  text-align: right;
  padding-right: 1rem;
}

.shopify-policy__body table {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.shopify-policy__body table td {
  vertical-align: baseline;
}

.shopify-policy__body table th {
  vertical-align: bottom;
}

.shopify-policy__body table ul {
  padding-left: 1rem;
}

.shopify-policy__body table th:not(:first-of-type),
.shopify-policy__body table td:not(:first-of-type) {
  text-align: left;
}

table td:first-of-type,
table td:last-of-type {
  position: relative;
}

table td {
  position: relative;
  vertical-align: baseline;
}

table th {
  vertical-align: bottom;
}

table td:first-of-type:not(:last-of-type)::before,
table td:last-of-type::after {
  content: '';
  display: block;
  width: 1rem;
  height: 50%;
  position: absolute;
  top: 75%;
  z-index: 2;
  border-radius: var(--input-border-radius);
}

table tr:last-of-type td::before,
table tr:last-of-type td::after {
  content: none !important;
}

table tr:last-of-type td:first-of-type::before {
  bottom: 1rem;
  top: unset;
}

table td:first-of-type::before {
  left: 0;
}

table td:last-of-type::after {
  right: 0;
}

table tr:first-of-type,
table tr:first-of-type td:first-of-type::after {
  border-top-left-radius: calc(var(--input-border-radius) - 2px);
}

table tr:first-of-type,
table tr:first-of-type td:last-of-type::after {
  border-top-right-radius: calc(var(--input-border-radius) - 2px);
}

table tr:last-of-type,
table tr:last-of-type td:first-of-type::after {
  border-bottom-left-radius: calc(var(--input-border-radius) - 2px);
}

table tr:last-of-type,
table tr:last-of-type td:last-of-type::after {
  border-bottom-right-radius: calc(var(--input-border-radius) - 2px);
}

table tr:last-of-type td:first-of-type::after,
table tr:last-of-type td:last-of-type::after {
  bottom: 1rem;
  top: auto;
}

table td,
table th {
  box-shadow: 0 -1px 0 0 var(--color-foreground) inset;
  padding: .75rem 1rem;
}

table tr:last-of-type td {
  box-shadow: none;
}

table tr:first-of-type td:first-of-type {
  border-top-left-radius: var(--input-border-radius);
}

table tr:first-of-type td:last-of-type {
  border-top-right-radius: var(--input-border-radius);
}

table tr:last-of-type td:first-of-type {
  border-bottom-left-radius: var(--input-border-radius);
}

table tr:last-of-type td:last-of-type {
  border-bottom-right-radius: var(--input-border-radius);
}

table ul {
  text-align: left;
  padding-left: 1rem !important;
}

.hidden {
  display: none !important;
}

.center {
  text-align: center !important;
  justify-content: center !important;
}

@media (max-width: 767px) {
  .center--mobile {
    text-align: center !important;
    justify-content: center !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .center--tablet {
    text-align: center !important;
    justify-content: center !important;
  }
}

@media (min-width: 1024px) {
  .center--desktop {
    text-align: center !important;
    justify-content: center !important;
  }
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: .05em;
}

@media (max-width: 1023px) {
  .uppercase.small {
    font-size: .7rem;
  }
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

.show-empty:empty {
  display: initial;
}

.link,
.customer a,
a,
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-manage-prefs {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2rem;
  background-color: transparent;
  color: var(--color-link);
}

.link,
.customer a {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

.color-base a:not(.button) {
  color: var(--color-link);
}

.color-primary a:not(.button),
.color-secondary a:not(.button),
.color-dark a:not(.button) {
  color: var(--color-foreground);
}

@media (max-width: 1023px) {
  .link,
  .customer a {
    padding-top: .5rem;
    padding-bottom: 1rem;
    margin-top: -.5rem;
    margin-bottom: -1rem;
  }
}

.rte a:hover,
.title-wrapper a:hover,
.link:hover,
.customer a:hover,
a:hover,
.rte a:focus-visible,
.title-wrapper a:focus-visible,
.link:focus-visible,
.customer a:focus-visible,
a:focus-visible,
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-manage-prefs {
  text-decoration-thickness: 2px;
}

.link--text {
  color: var(--color-foreground);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .2rem;
  text-decoration-color: transparent;
  transition: text-decoration-color var(--duration-long) ease-in-out;
}

.link--text:hover {
  text-decoration-color: var(--color-foreground);
}

.circle-divider::after {
  content: "";
  margin: 0 .5rem;
}

.circle-divider:last-of-type::after {
  display: none;
}

hr {
  border: none;
  height: 2px;
  background-color: var(--color-foreground-20);
  display: block;
  margin: 5rem 0;
}

@media (min-width: 768px) {
  hr {
    margin: 7rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.placeholder {
  background-color: var(--color-foreground-4);
  color: var(--color-foreground-55);
  fill: var(--color-foreground-55);
}

.placeholder-svg {
  fill: var(--color-foreground-55);
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--color-foreground-55);
}

::-moz-placeholder { /* Firefox 19+ */
  color: var(--color-foreground-55);
}
:-ms-input-placeholder { /* IE 10+ */
  color: var(--color-foreground-55);
}
:-moz-placeholder { /* Firefox 18- */
  color: var(--color-foreground-55);
}

::-webkit-calendar-picker-indicator {
  opacity: .5;
}

details > * {
  box-sizing: border-box;
}

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
  }
}

:root {
  --duration-short: 200ms;
  --duration-default: 400ms;
  --duration-long: 800ms;
}

.icon-caret {
  height: .6rem;
  display: block;
}

/* arrow animation */
.animate-arrow .icon-arrow {
  transform: translateX(-.25rem);
  transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow {
  transform: translateX(-.05rem);
}

/* base-details-summary */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  height: .55em;
}

details[open] > summary span {
  text-decoration-color: var(--color-foreground);
}

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

.disclosure-has-popup {
  position: relative;
}

.disclosure-has-popup[open] > summary::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  cursor: default;
  content: " ";
  background: transparent;
}

.disclosure-has-popup > summary::before {
  display: none;
}

.disclosure-has-popup[open] > summary + * {
  z-index: 100;
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

*:focus-within:not(:focus-visible),
.no-focus * {
  outline: 0 !important;
}

*:focus-visible {
  outline: 2px solid var(--color-foreground-20);
  outline-offset: 2px;
  border-radius: var(--input-border-radius);
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
*:focus {
  outline: 2px solid var(color-foreground-20);
  outline-offset: 2px;
  border-radius: var(--input-border-radius);
}

/* Negate the fallback side-effect for browsers that support :focus-visible */
*:focus:not(:focus-visible) {
  outline: 0;
}

/* component-title */

.title-wrapper {
  display: flex;
  justify-content: space-between;
  gap: calc(var(--spacing)/2);
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: calc(var(--spacing)/2);
}

.title-wrapper--spaced {
  gap: calc(var(--spacing)/2)
}

@media (max-width: 1023px) {
  .title-wrapper.has-subheading {
    align-items: center;
    flex-direction: column;
  }
}

.title-wrapper.center {
  display: grid;
}

@media (min-width: 1024px) {
  .title-wrapper.center--desktop {
    display: grid;
  }
}

.title-wrapper > div {
  display: grid;
  grid-gap: calc(var(--spacing)/4);
  max-width: 40rem;
}

@media (max-width: 1023px) {
  .title-wrapper > div {
    grid-gap: .25rem;
  }
}

.title-wrapper .title,
.title-wrapper p {
  margin: 0;
}

.title-wrapper a {
  margin-top: calc(var(--spacing)/-4);
  color: var(--color-link) !important;
  text-decoration: underline;
  text-underline-offset: .2rem;
}

.title-wrapper-with-link {
  display: grid;
  grid-auto-flow: column;
  justify-content: space-between;
  grid-gap: calc(var(--spacing)/2);
  flex-wrap: wrap;
  align-items: baseline;
}

@media (max-width: 1023px) {
  .title-wrapper-with-link {
    padding-bottom: var(--grid-gap);
  }
}

@media (min-width: 1024px) {
  .title-wrapper-with-link {
    padding-bottom: calc(var(--grid-gap) * .75);
  }
}

.title--primary {
  margin: 0 0 var(--spacing) 0;
}

.title-wrapper-with-link a {
  padding: .75rem 0;
  margin: -.75rem 0;
  flex-shrink: 0;
}

@media (min-width: 990px) {
  .title-wrapper-with-link.title-wrapper-with-link--no-heading {
    display: none;
  }
}

@media (min-width: 768px) {
  .title-wrapper * {
    max-width: 40rem;
  }
}

/* component-grid */
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: var(--grid-gap);
  list-style: none;
}

ul.grid {
  padding: 0;
}

.grid--gapless {
  grid-gap: 0;
}

@media(min-width: 1024px){
  .grid--auto-col--desktop {
    grid-auto-flow: column;
    grid-template-columns: repeat( auto-fit, minmax(0, 1fr) );
  }
}

.grid--1-col {
  grid-template-columns: 1fr;
}

@media(max-width: 767px){
  .grid--auto-col--mobile {
    grid-auto-flow: column;
    grid-template-columns: repeat( auto-fit, minmax(0, 1fr) );
  }

  .grid--1-col-mobile {
    grid-template-columns: 1fr;
  }

  .grid--3-col-mobile {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .grid--4-col-mobile {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

@media(min-width: 768px) and (max-width: 1023px){
  .grid--auto-col--tablet {
    grid-auto-flow: column;
    grid-template-columns: repeat( auto-fit, minmax(0, 1fr) );
  }

  .grid--1-col-tablet {
    grid-template-columns: 1fr;
  }

  .grid--3-col-tablet {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .grid--4-col-tablet {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .grid--1-2-tablet {
    grid-template-columns: calc(100%/3 - var(--grid-gap)/2 * 1.25) calc(100%/3*2 - var(--grid-gap)/2);
  }
}

@media (min-width: 1024px) {
  .grid--4-col {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.grid--1-2 {
  grid-template-columns: calc(100%/3 - var(--grid-gap)/2 * 1.25) calc(100%/3*2 - var(--grid-gap)/2);
}

@media (min-width: 1024px) {
  .grid--3-col {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .grid--2-1 {
    grid-template-columns: calc(100%/3*2 - var(--grid-gap)/2) calc(100%/3 - var(--grid-gap)/2 * 1.25);
  }

  .grid--3-1 {
    grid-template-columns: calc(75% - var(--grid-gap)/3) calc(25% - var(--grid-gap)/3*2);
  }

  .grid--1-2 {
    grid-template-columns: calc(100%/3 - var(--grid-gap)/2 * 1.25) calc(100%/3*2 - var(--grid-gap)/2);
  }

  .grid--1-3 {
    grid-template-columns: calc(25% - var(--grid-gap)/3*2) calc(75% - var(--grid-gap)/3);
  }

  .grid--2-1-1 {
    grid-template-columns: calc(50% - var(--grid-gap)/3 * 1.5) calc(25% - var(--grid-gap)/3 * 2.25) calc(25% - var(--grid-gap)/3 * 2.25);
  }
  
  .grid--1-1-2 {
    grid-template-columns: calc(25% - var(--grid-gap)/3 * 2.25) calc(25% - var(--grid-gap)/3 * 2.25) calc(50% - var(--grid-gap)/3 * 1.5);
  }
}

@media (min-width: 768px) {
  .grid__col--span-2 {
    grid-column: span 2;
  }
}

.grid__item--vertical-align {
  align-self: center;
}

.grid__item--full-width {
  flex: 0 0 100%;
  max-width: 100%;
}

/* component-media */
.media {
  display: block;
  position: relative;
  overflow: hidden;
}

.media > *:not(.zoom, .deferred-media__poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.media > img {
  object-fit: cover;
  object-position: center center;
  transition: opacity var(--duration-long) cubic-bezier(.25, .46, .45, .94);
}

@keyframes overlayFadeIn {
  from { opacity: 0; }
  to   { opacity: .125; }
}

.image-filter {
  outline: 1px solid var(--color-background);
}

.image-filter img,
.image-filter video {
  opacity: var(--image-filter-intensity) !important;
  filter: contrast(1.1) saturate(.85) brightness(1.05);
}

.product-image-filter img {
  opacity: var(--product-image-filter-intensity) !important;
  filter: contrast(1.1) saturate(.85) brightness(1.05);
}

.media--square,
.media--circle {
  padding-bottom: 100%;
}

.media--circle {
  border-radius: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

deferred-media {
  display: block;
}

/* component-button */
/* Button - default */

.button,
.shopify-challenge__button,
.shopify-payment-button__button--unbranded,
.cart__dynamic-checkout-buttons div[role="button"],
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-accept,
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-decline {
  cursor: pointer;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  text-decoration: none;
  border: 1px solid var(--color-button-border);
  border-bottom-width: 3px;
  border-radius: var(--button-border-radius);
  background-color: var(--color-button-background);
  color: var(--color-button-text);
  -webkit-appearance: none;
  appearance: none;
  text-align: center;
  transition: bottom .2s ease-in-out;
  font-family: var(--font-heading-family);
  font-weight: var(--font-heading-weight);
  font-size: var(--h5-font-size);
  line-height: 1.2;
  min-height: 44px;
  position: relative;
  bottom: 0;
  text-transform: var(--font-heading-casing);
  padding: .6em 1rem;
}

shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-block-size: 44px;
  --shopify-accelerated-checkout-button-border-radius: var(--button-border-radius);
  --shopify-accelerated-checkout-skeleton-background-color: var(--color-foreground-5);
  --shopify-accelerated-checkout-button-box-shadow: none;
  --shopify-accelerated-checkout-skeleton-animation-opacity-start: .2;
  --shopify-accelerated-checkout-skeleton-animation-opacity-end: .05;
}

shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-inline-alignment: center;
  --shopify-accelerated-checkout-row-gap: calc(var(--spacing)/8);
}

@media (min-width: 768px){
  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-row-gap: calc(var(--spacing) * .26);
  }
}

@media (min-width: 1024px){
  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-row-gap: calc(var(--spacing) * .22);
  }
}

shop-pay-wallet-button {
  overflow: hidden;
  display: block;
  height: 44px;
}

.shopify-pc__banner__dialog {
  background-color: var(--color-background) !important;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  border-left: 1px solid var(--color-foreground-10) !important;
  border-top: 1px solid var(--color-foreground-10) !important;
  border-right: 1px solid var(--color-foreground-10) !important;
}

.shopify-pc__banner__dialog h2#shopify-pc__banner__body-title {
  font-family: var(--font-heading-family);
  font-weight: var(--font-heading-weight);
  font-size: var(--h4-font-size);
}

.shopify-pc__banner__dialog button.shopify-pc__banner__btn-manage-prefs,
.shopify-pc__banner__dialog a {
  text-decoration-thickness: 1px !important;
}

.shopify-pc__banner__dialog button.shopify-pc__banner__btn-manage-prefs:hover,
.shopify-pc__banner__dialog a:hover {
  text-decoration-thickness: 2px !important;
}

.shopify-pc__banner__dialog button.shopify-pc__banner__btn-accept,
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-decline {
  border-bottom-width: 3px !important;
}

.shopify-pc__banner__dialog button.shopify-pc__banner__btn-accept {
  background: var(--color-button-background) !important;
  color: var(--color-button-text) !important;
}

.shopify-pc__banner__dialog button.shopify-pc__banner__btn-decline {
  background: var(--color-secondary-button-background) !important;
  color: var(--color-secondary-button-text) !important;
}

.button:focus-visible,
.shopify-payment-button__button:focus-visible,
.shopify-payment-button__button--unbranded:focus-visible:not([disabled]) {
  outline-offset: 2px;
  bottom: -2px !important;
  border-bottom-width: 1px;
}

@media (min-width: 400px) {
  .button,
  .shopify-challenge__button,
  .shopify-payment-button__button--unbranded {
    min-width: 8rem;
  }
}

@media (min-width: 1024px){
  .button,
  .shopify-challenge__button,
  .shopify-payment-button__button--unbranded {
    padding: .5rem 2.5rem;
  }
}

.button > svg {
  margin-right: .5em;
  height: 1em;
}

.button:hover:not[disabled],
.shopify-challenge__button:hover:not[disabled],
.shopify-payment-button__button--unbranded.button:hover:not[disabled] {
  opacity: .9;
}

.button--margin:hover {
  margin-top: 1px;
}

.button a {
  text-decoration: none;
  color: var(--color-primary-button-text);
}

a.disabled {
  pointer-events: none;
  cursor: default;
}

.button--tertiary {
  border: 0;
  padding: 0;
  min-width: unset;
  border-color: transparent;
  border-radius: var(--input-border-radius);
  font-size: .8rem;
  font-weight: normal;
  font-family: var(--font-body-family);
  box-shadow: unset;
  position: unset;
  flex-wrap: wrap;
  width: fit-content;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2rem;
  transition: text-decoration-color var(--duration-long) ease-in-out;
}

.button--tertiary:hover,
.button--tertiary:focus-visible {
  text-decoration-color: var(--color-foreground-85);
  cursor: pointer;
}

.button--icon {
  color: var(--color-foreground);
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.button.button--icon:not([disabled]):hover {
  bottom: -1px !important;
  opacity: .9;
}

.button--small {
  padding: 1rem 2.2rem;
  font-size: 1rem;
  min-height: auto;
}

/*  Big button */

@media (min-width: 768px) {
  .button--big,
  .shopify-payment-button__button--unbranded {
    min-height: 60px;
    font-size: var(--h4-font-size);
    line-height: 1.4;
    min-width: 12rem;
    padding: 0 3rem;
  }

  shopify-accelerated-checkout,
  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: 60px;
  }

  shop-pay-wallet-button {
    height: 60px;
  }
}

/* Button - hover */

.button:not([disabled]):hover,
.shopify-challenge__button:hover,
.shopify-payment-button__button--unbranded:hover,
.cart__dynamic-checkout-buttons div[role="button"]:hover {
  bottom: -2px !important;
  border-bottom-width: 1px;
}

/* Button - other */

.shopify-payment-button__button,
.shopify-payment-button__button:hover,
.shopify-payment-button__button--unbranded,
.shopify-payment-button__button--unbranded:hover:not([disabled])  {
  background-color: var(--buy-button-color) !important;
  color: var(--buy-button-text-color) !important;
  border-color: var(--buy-button-border-color) !important;
  font-size: var(--h5-font-size) !important;
  font-weight: var(--font-heading-weight) !important;
}

@media (min-width: 768px) {
  .shopify-payment-button__button,
  .shopify-payment-button__button:hover,
  .shopify-payment-button__button--unbranded,
  .shopify-payment-button__button--unbranded:hover:not([disabled])  {
    font-size: var(--h4-font-size) !important;    
  }
}

.shopify-payment-button__button,
.shopify-payment-button__button--unbranded {
  transition: bottom .2s ease-in-out !important;
}

.shopify-payment-button__button,
.cart__dynamic-checkout-buttons div[role="button"] {
  border-top: 1px solid var(--buy-button-border-color) !important;
  border-left: 1px solid var(--buy-button-border-color) !important;
  border-right: 1px solid var(--buy-button-border-color) !important;
  border-bottom: 3px solid var(--buy-button-border-color) !important;
  height: 60px;
  transition: all .2s ease-in-out;
  bottom: 0;
}

@media (max-width: 767px) {
  .shopify-payment-button__button,
  .cart__dynamic-checkout-buttons div[role="button"] {
    height: 44px;
  }
}

.shopify-payment-button__button:hover,
.shopify-payment-button__button--unbranded:hover:not([disabled]),
.shopify-payment-button__button:focus-visible,
.shopify-payment-button__button--unbranded:focus-visible:not([disabled]),
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-accept:hover,
.shopify-pc__banner__dialog button.shopify-pc__banner__btn-decline:hover {
  border-bottom-width: 1px !important;
  bottom: -2px;
}

.button:disabled,
.button[aria-disabled="true"],
.button.disabled {
  cursor: default;
}

.button--full-width {
  display: flex;
  width: 100%;
}

@media (max-width: 767px) {
  .button--full-width--mobile {
    width: 100%;
  }
}

.button.loading {
  color: transparent;
}

.button.loading:after {
  content: '';
  animation: loading var(--duration-long) infinite linear;
  border: 2px solid color-mix(in srgb, rgba(var(--color-primary-button-text-rgb)), transparent 60%);
  border-left: 2px solid var(--color-primary-button-text);
  border-radius: 100%;
  box-sizing: content-box;
  display: block;
  height: 1rem;
  position: absolute;
  width: 1rem;
  right: 1rem;
}

.button.loading.product-form__submit::after {
  border: 2px solid color-mix(in srgb, rgba(var(--color-foreground)), transparent 60%);
  border-left: 2px solid var(--add-to-cart-button-text-color);
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* component-form */
.field__input,
.select__select,
.customer .field input,
.customer select,
select {
  color: var(--color-foreground);
  background-color: var(--color-foreground-5);
  font-size: 1rem;
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  width: 100%;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: var(--input-border-radius);
}

.field__input,
.select__select,
.customer .field input,
.customer select {
  -webkit-appearance: none;
  appearance: none;
}

.select__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

.select__select:hover {
  background-color: var(--color-foreground-10);
}

.text-area,
.select {
  display: inline-block;
  position: relative;
  width: 100%;
}

/* Select */

.select .icon-caret,
.customer select + svg {
  height: .6rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - .3rem);
  right: .8em;
}

.select__select,
.customer select {
  cursor: pointer;
  padding: 1.25rem;
}

.select--small {
  padding: .3rem 2.2rem .3rem .8rem;
  min-height: 2.2rem;
}

@media (max-width: 1023px), (hover: none) {
  .select--small {
    min-height: 44px;
  }
}

/* Field */

.field {
  position: relative;
  width: 100%;
  display: flex;
}

.customer .field {
  display: block;
}

.field--with-error {
  flex-wrap: wrap;
}

.field__input[aria-invalid="true"] {
  border: 2px solid var(--color-error);
}

.field__input,
.customer .field input,
.customer .field input,
.customer select {
  flex-grow: 1;
  text-align: left;
  padding: .75rem;
}

@media (min-width: 1024px) {
  .field__input,
  .customer .field input,
  .customer .field input {
    min-height: 60px;
    padding: 0 .75rem;
  }
}

.field__label,
.customer .field label {
  display: none;
}

.field__button {
  align-items: center;
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.5rem;
}

.field__button > svg {
  height: 2.5rem;
  width: 2.5rem;
}

/* Text area */

.text-area {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  padding: .75rem;
  resize: none;
}

@media (min-width: 1024px) {
  .text-area {
    min-height: 10rem;
  }
}

.text-area--resize-vertical {
  resize: vertical;
}

input[type="checkbox"] {
  display: inline-block;
  width: auto;
  margin-right: .5rem;
}

/* Form global */

.form-message__container {
  background-color: color-mix(in srgb, rgba(var(--color-error-rgb)), transparent 90%);
  border: 1px solid var(--color-error);
  padding: 1rem;
  margin-bottom: 1rem;
}

.error-message,
.error-message::marker,
.form-message__container li::marker,
.errors {
  color: var(--color-error);
}

.form-message__container:focus-visible {
  outline-color: var(--color-error);
}

.form-message__container .form__message {
  margin-top: 0;
}

.form-message__container a {
  color: var(--color-error);
}

.form-message__container ul {
  margin-bottom: 0;
  margin-top: .5rem;
  padding-left: 1.4rem;
}

.form-message__container li {
  padding-left: .1rem;
}

.form-message__container li a {
  margin-left: -.1rem;
}

.form__message {
  align-items: center;
  display: flex;
  line-height: 1;
  margin-top: .5rem;
  text-align: left;
}

h2.form__message {
  color: var(--color-error);
}

.form__message:focus-visible {
  padding: .5rem;
}

.form__message--large {
  font-size: 1rem;
}

.customer .field .form__message {
  text-align: left;
}

.form__message .icon,
.customer .form__message svg {
  flex-shrink: 0;
  height: 1rem;
  margin-right: .5rem;
  width: 1rem;
  margin-top: .1em;
}

.customer .field .form__message svg {
  align-self: start;
}

.form-status {
  margin: 0;
  display: flex;
  align-items: flex-start;
}

.form-status-list {
  padding: 0;
  margin: 1rem 0 2rem;
}

.form-status-list li {
  list-style-position: inside;
}

.form-status-list .link::first-letter {
  text-transform: capitalize;
}

/* component-quantity */
.quantity {
  position: relative;
  display: flex;
  border-radius: var(--input-border-radius);
  background-color: var(--color-foreground-5);
  width: 10rem;
}

.quantity__input {
  color: var(--color-foreground);
  font-size: 1rem;
  font-family: var(--font-body-family);
  text-align: center;
  border: 0;
  width: 100%;
  flex-grow: 1;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  padding: .3575em;
}

.quantity__input:focus-visible {
  border-radius: 0;
}

.quantity__button {
  padding: .2rem .5rem;
  min-height: 2.2rem;
  width: 2.2rem;
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  color: var(--color-foreground);
  border: 0;
  text-decoration: none;
  font-weight: 600;
  transition: color var(--duration-default) ease-in-out, background-color var(--duration-default) ease-in-out;
  font-size: var(--h5-font-size);
  height: auto !important;
  border-radius: var(--input-border-radius);
  margin: 0;
  font-family: var(--font-body-family);
}

@media (max-width: 1023px), (hover: none) {
  .quantity {
    border: 0;
    grid-column: 1/-1;
    width: auto;
  }

  .quantity__button {
    min-height: 44px;
  }
}

@media (min-width: 1024px) {
  .quantity__button:hover {
    background-color: var(--color-foreground-10);
  }
}

.quantity__button:first-of-type {
  border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
}

.quantity__button:last-of-type {
  border-radius: 0 var(--input-border-radius) var(--input-border-radius) 0;
}

.quantity__button svg {
  width: .9rem;
  pointer-events: none;
}

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

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

/* component-modal */
.modal__toggle {
  list-style-type: none;
}

.modal__toggle-close {
  display: none;
}

.modal__toggle-open {
  display: flex;
}

.modal__close-button.link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background-color: transparent;
}

.modal__close-button .icon {
  width: 1rem;
  height: 1rem;
}

.modal__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-background);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bubble {
  height: 2.3rem;
  min-width: 2.3rem;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary-button-background);
  transition: all var(--duration-default) ease-in-out;
  position: relative;
  top: 0;
  margin: .6rem;
}

@media (max-width: 1023px) {
  .bubble {
    height: 2rem;
    min-width: 2rem;
    margin: .4rem;
  }
}

.bubble:focus-visible {
  outline-offset: 2px;
}

.bubble .icon {
  color: var(--color-primary-button-text);
  position: relative;
  top: 0;
  transition: all var(--duration-default) ease-in-out;
}

/* component-cart-count-bubble */
.cart-count-bubble:empty {
  display: none;
}

.cart-count-bubble {
  background-color: var(--color-foreground-20);
  color: var(--color-foreground);
  text-decoration: none;
}

.bubble:not(.cart-count-bubble) {
  transition: all var(--duration-short) ease-in-out;
}

.bubble:not(.cart-count-bubble):hover,
.bubble:not(.cart-count-bubble):focus-visible {
  top: 1px;
}

#cart-icon-bubble.hoverable:hover .cart-count-bubble,
#cart-icon-bubble.hoverable:focus-visible .cart-count-bubble {
  cursor: pointer;
  background-color: var(--color-foreground-20);
  top: 1px;
}

.cart-count-bubble span {
  color: var(--color-foreground);
}

.cart-count {
  padding-left: .5em;
  padding-right: .5em;
  line-height: 0;
}

.no-link-style a {
  text-decoration: none !important;
}

/* section-header */
.section-header {
  z-index: 3;
  will-change: transform;
}

.shopify-section-header-sticky {
  position: sticky;
  top: 0;
}

.shopify-section-header-hidden {
  transform: translateY(-100%);
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.section-header.animate {
  transition: transform .15s ease-out;
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
  animation-duration: .15s;
}

/* Main Header Layout */
sticky-header::before {
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  position: relative;
  top: -1px;
  background-color: inherit;
}

.header-wrapper {
  display: block;
  position: relative;
  background-color: var(--color-background);
}

/* Match banner style */

.section-header:has(.match-banner-style--true) ~ main > .shopify-section:first-of-type.shopify-section-image-banner:has(.banner-full-width),
.section-header:has(.match-banner-style--true) ~ main .collection-hero,
.section-header:has(.match-banner-style--true) ~ main .article-hero,
.section-header:has(.match-banner-style--true) ~ main > .shopify-section:first-of-type.shopify-section-page-with-header {
  position: relative;
  top: calc(var(--nav-height) * -1);
  margin-bottom: calc(var(--nav-height) * -1);
}

.section-header:has(.match-banner-style--true) ~ main > .shopify-section:first-of-type:has(.banner-full-width) .banner {
  padding-top: calc(var(--spacing)/2 + var(--nav-height));
}

.section-header:has(.match-banner-style--true) ~ main .collection-hero__inner,
.section-header:has(.match-banner-style--true) ~ main .article-hero__inner,
.section-header:has(.match-banner-style--true) ~ main .page-with-header__inner {
  margin-top: calc(var(--nav-height)/2);
}

@media (max-width: 767px) {
  .section-header:has(.match-banner-style--true) ~ main > .shopify-section:first-of-type:has(.banner-full-width) .banner {
    min-height: calc(75vh + var(--nav-height));
  }
}

@media (max-width: 1023px) {
  .section-header:has(.match-banner-style--true) ~ main .collection-hero,
  .section-header:has(.match-banner-style--true) ~ main .article-hero,
  .section-header:has(.match-banner-style--true) ~ main .page-with-header {
    min-height: calc(40vh + var(--nav-height));
  }
}

@media (min-width: 1024px) {
  .section-header:has(.match-banner-style--true) ~ main > .shopify-section:first-of-type:has(.banner-full-width) .banner {
    min-height: calc(80vh + var(--nav-height));
  }

  .section-header:has(.match-banner-style--true) ~ main .collection-hero,
  .section-header:has(.match-banner-style--true) ~ main .article-hero,
  .section-header:has(.match-banner-style--true) ~ main .page-with-header {
    min-height: calc(50vh + var(--nav-height));
  }
}

.section-header:has(.match-banner-style--true):not(.shopify-section-header-sticky):not(:has(details[open])) .header-wrapper {
  background-color: transparent;
}

/* end of Match banner style */

.header-wrapper--border-bottom {
  box-shadow: 0 1px 0 0 var(--color-foreground-50);
}

.header {
  align-items: stretch;
  padding: calc(var(--spacing)/2);
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .header {
    flex-direction: column;
    padding-bottom: 0;
    padding: calc(var(--spacing)/4) calc(var(--spacing)/2);
  }
}

@media (min-width: 768px) {
  .header {
    grid-auto-flow: column;
  }
}

@media (min-width: 1024px) {
  .header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    grid-gap: var(--grid-gap);
    display: grid;
    grid-auto-flow: column;
  }

  .header--left {
    width: 100%;
  }

  .header--left.header--has-menu {
    grid-template-areas: "heading navigation icons";
  }

  .header--middle.header--has-menu {
    grid-template-areas: "navigation heading icons";
    grid-template-columns: 1fr auto 1fr;
  }
}

.header *[tabindex="-1"]:focus {
  outline: none;
}

.header__heading {
  margin: 0;
  line-height: 1;
  color: var(--color-heading);
}

.header__heading.h3 {
  max-width: 11em;
}

.header__heading.h4 {
  max-width: 15em;
}

h1.header__heading {
  display: flex;
  min-height: 1em;
  justify-content: center;
}

.header > .header__heading-link {
  line-height: 0;
}

.header__heading,
.header__heading-link {
  grid-area: heading;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__heading-link {
  display: inline-block;
  text-decoration: none;
  word-break: break-word;
  width: max-content;
}

.header__heading-link .h3 {
  line-height: 1;
}

@media (max-width: 1023px), (hover: none) {
  .header__heading-link {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    justify-content: center;
  }
}

.header__heading-link h3 {
  line-height: 1;
}

.logo__wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .logo__wrapper {
    justify-content: center;
  }
}

@media (min-width: 1024px) {
  .logo__wrapper.opening-hours img {
    margin-top: .5rem;
  }
}

.logo__wrapper.opening-hours .header__heading-link {
  width: max-content !important;
}

.logo__wrapper.opening-hours .header__heading-link + span {
  width: max-content;
  margin-top: .25rem;
}

.header__heading-link:hover .h2 {
  color: var(--color-foreground);
}

.header__heading-link .h2 {
  line-height: 1;
  color: var(--color-foreground-75);
}

.header__heading-logo {
  height: auto;
  width: auto;
}

@media (max-width: 1023px) {
  .header__heading-logo {
    max-height: calc(var(--spacing) * 3);
  }
}

@media (max-width: 767px) {
  .header__heading-logo {
    max-height: calc(var(--spacing) * 2);
  }
}

@media (min-width: 1024px) {
  .header__heading-logo {
    max-height: calc(var(--spacing) * 2);
  }

  .header--middle.header--has-menu .logo__wrapper.opening-hours {
    align-items: center;
  }

  .header--middle .header__heading {
    text-align: center;
  }
}

.logo__wrapper.opening-hours {
  display: flex;
  z-index: 2;
}

@media (max-width: 767px) {
  .logo__wrapper {
    flex-direction: row;
  }

  .logo__wrapper.opening-hours {
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .logo__wrapper.opening-hours:not(.has-mobile-logo) {
    align-items: center;
  }

  .logo__wrapper.opening-hours #opening-hours {
    text-align: right;
  }
}

@media (min-width: 768px) {
  .logo__wrapper.opening-hours {
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
  }

  .header__heading,
  .header__heading-link {
    justify-self: start;
  }
}

/* Header icons */
.header__icons {
  display: flex;
  align-items: center;
  grid-gap: var(--grid-gap);
  justify-content: space-between;
  width: 100%;
  flex-direction: row-reverse;
  z-index: 2;
}

@media (min-width: 1024px) {
  .header__icons {
    width: calc(100% + .25rem);
    margin-right: -2rem;
    position: relative;
    right: -.5rem;
  }
}

@media (max-width: 767px) {
  .header__icons {
    width: calc(100% + .25rem);
    margin-right: -.25rem;
  }
}

.header__icons--right {
  display: flex;
  align-items: center;
}

@media (min-width: 768px) {
  .header__icons--right {
    margin-left: auto;
  }
}

@media (max-width: 1024px) {
  .header__icons--right {
    grid-gap: 0;
  }
}

.header__icons a:focus-visible {
  border-radius: 3rem;
  outline-offset: 5px;
  z-index: 2;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__icon--summary {
  display: flex;
  align-items: center;
  grid-gap: .3em;
  text-decoration: none;
  width: fit-content;
}

@media (min-width: 1024px) {
  .header__icon--summary {
    grid-gap: .5em;
  }
}

.header__icon::after {
  content: none;
}

.header__icon .icon {
  height: .85rem;
  width: .85rem;
  fill: none;
  vertical-align: middle;
}

.header__icon--cart {
  position: relative;
  grid-gap: .2rem;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .header__icon--cart {
    grid-gap: .5rem;
  }
}

@media (max-width: 989px) {
  menu-drawer ~ .header__icons .header__icon--account {
    display: none;
  }
}

/* Header menu drawer */
.header__icon--menu .icon {
  display: block;
  opacity: 1;
  transform: scale(1);
  transition: transform 150ms ease, opacity 150ms ease;
  width: .75rem;
  height: .75rem;
}

details:not([open]) > .header__icon--menu .icon-close,
details[open] > .header__icon--menu .icon-hamburger {
  visibility: hidden;
  opacity: 0;
  transform: scale(.8);
  position: absolute;
}

details[open]:not(.menu-opening) > .header__icon--menu .icon-close {
  visibility: hidden;
}

details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
  visibility: visible;
  opacity: 1;
  transform: scale(1.07);
}

.header__inline-menu details > .header__submenu {
  opacity: 0;
  transform: translateY(100%);
}

.header__inline-menu details[open] > .header__submenu {
  opacity: 1;
}

/* Header menu */
.header__inline-menu {
  margin-left: -1rem;
  grid-area: navigation;
  display: none;
}

@media (min-width: 1024px) {
  .header__inline-menu {
    display: flex;
    align-items: center;
  }

  .header--left .header__inline-menu {
    margin-left: 0;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 0 1rem;
  color: var(--color-foreground);
  align-items: baseline;
}

.header__menu-item > span {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
}

@media (hover: none) and (min-width: 1024px) {
  .header__menu-item {
    padding: .5rem 1rem;
  }
}

.header__menu-item:hover {
  color: var(--color-foreground);
}

.header__menu-item span {
  transition: text-decoration var(--duration-short) ease;
  transition: all var(--duration-long) ease-in-out;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: .2rem;
  text-decoration-thickness: 2px;
}

.header__icon--cart:hover .link--text,
.header__icon--cart:focus-visible .link--text {
  text-decoration-color: currentColor;
}

span.header__active-menu-item {
  transition: text-decoration-thickness var(--duration-short) ease;
  color: var(--color-foreground);
  text-decoration: underline;
  text-underline-offset: .2rem;
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

.header__menu-item:hover .header__active-menu-item {
  text-decoration-thickness: 2px;
}

.header__submenu.list-menu--disclosure {
  transition: opacity var(--duration-default) ease, transform var(--duration-default) ease;
  width: 100vw;
  display: flex;
  border: 0;
  border-top: 1px solid var(--color-foreground-50);
  border-bottom: 1px solid var(--color-foreground-50);
  flex-wrap: wrap;
}

.header--left .header__submenu.list-menu--disclosure {
  justify-content: center;
}

.header__submenu.list-menu {
  padding: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  background-color: color-mix(in srgb, rgba(var(--color-background-rgb)), transparent 5%);
  backdrop-filter: blur(.5rem);
}

.header details {
  position: static;
}

.header__submenu .header__menu-item {
  padding: 1rem calc(var(--spacing)/2);
}

@media (min-width: 1024px) {
  .header__submenu.list-menu {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }

  .header__submenu .header__menu-item {
    padding: .5rem calc(var(--spacing)/2);
  }
}

.header__submenu .header__menu-item > span {
  font-family: var(--font-body-family);
}

@media (max-width: 1023px), (hover: none) {
  details-disclosure {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

details-disclosure > details {
  position: relative;
}

@keyframes animateMenuOpen {
  0% {
    opacity: 0;
    transform: translateY(-1.5rem);
  }

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


.content-container {
  border-radius: var(--border-radius);
  border: 0 solid rgba(var(--color-foreground));
  position: relative;
}

.content-container:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--border-radius);
  box-shadow: 0
    0
    0
    color-mix(in srgb, rgba(var(--color-shadow)), transparent 100%);
  z-index: -1;
}

.content-container--full-width:after {
  left: 0;
  right: 0;
  border-radius: 0;
}

@media (max-width: 749px) {
  .content-container--full-width-mobile {
    border-left: none;
    border-right: none;
    border-radius: 0;
  }
  .content-container--full-width-mobile:after {
    display: none;
  }
}

.image-border-radius {
  border-radius: var(--image-border-radius);
  transform: translateZ(0);
}

.image-border-radius--min {
  border-radius: var(--image-border-radius--min);
}

a .image-border-radius img {
  transition: transform var(--duration-default) ease-in-out;
  transform: scale(1.005);
}

a:hover .image-border-radius img {
  transform: scale(1.025) !important;
}

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

.input-border-radius--min {
  border-radius: var(--input-border-radius--min);
}

strong {
  font-weight: max(700, var(--font-bold-weight));
  font-family: var(--font-bold-family);
  font-style: var(--font-bold-style);
  color: var(--color-foreground);
}

em,
em *,
em a {
  font-style: italic !important;
  font-family: var(--font-heading-family) !important;
  color: var(--color-foreground);
}

.padding {
  padding: var(--spacing);
}

ul.tags {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

ul.tags.tags-placeholder {
  margin-top: .6rem !important;
}

ul.tags li {
  margin-right: .5em;
}

ul.tags a {
  text-decoration: none;
  display: flex;
  align-items: center;
  border-radius: var(--button-border-radius);
}

@media (max-width: 1023px), (hover: none) {
  ul.tags {
    margin-top: -.25rem;
    margin-bottom: -.25rem;
  }

  ul.tags a {
    /* min-height: 44px; This is an inline element. Doesn't look good when enlarged and is given a false sense of priority. */
  }
}

.tag {
  border-radius: var(--button-border-radius);
  border: 1px solid var(--color-foreground);
  text-decoration: none;
  color: var(--color-foreground);
  padding: .35em .8em .325em .8em;
  margin: .3rem 0 !important;
  display: inline-grid;
  align-items: center;
  grid-template-columns: auto auto;
  height: fit-content;
  line-height: 0;
}

.tag svg {
  margin-bottom: .025em;
  height: 1em;
}

@-moz-document url-prefix() {
  .tag svg {
    min-width: .8em;
  }
}

.tag:not(.uppercase.small) {
  grid-gap: .5em;
}

small.badge {
  padding: .2em .8em;
  display: block;
  width: fit-content;
}

.tag svg {
  max-width: .9em;
  max-height: .8em;
}

ul.tags li a:hover .tag,
ul.tags li a:focus-visible .tag {
  background-color: var(--color-foreground);
  color: var(--color-background);
}

* {
  transition: background-color var(--duration-default) ease-in-out;
}

#MainContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#MainContent > * {
  width: 100%;
}

.arrow {
  font-family: var(--font-heading-family);
  background-color: transparent;
}

/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear {  display: none; width : 0; height: 0; }
input[type=search]::-ms-reveal {  display: none; width : 0; height: 0; }

/* clears the 'X' from Chrome */
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; }


.product-form__submit {
  color: var(--add-to-cart-button-text-color);
  background-color: var(--add-to-cart-button-color);
  --color-button-border: var(--add-to-cart-button-border-color);
  border-bottom-width: 3px;
  display: grid !important;
  grid-auto-flow: column;
  grid-gap: .5rem;
  padding: .5rem;
}

.product-form__submit[disabled],
.cart__checkout-button:disabled {
  color: var(--sold-out-button-text-color);
  background-color: var(--sold-out-button-color);
  --color-button-border: var(--sold-out-button-border-color);
  border-bottom-width: 3px;
  opacity: 1;
}

@media (min-width: 768px) {
  .product-form__buttons div[role="button"] {
    min-height: 60px !important;
  }
}

.payment-terms {
  margin-top: calc(var(--grid-gap)/2);
  margin-bottom: calc(var(--grid-gap)/2);
}

.payment-terms .placeholder {
  display: none;
}

.shopify-section.custom-liquid {
  overflow: hidden;
}

button {
  font-family: var(--font-body-family);
}

/* Animations */
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

@keyframes reverse-rotation {
  from {
    transform: rotate(359deg);
  }
  to {
    transform: rotate(0deg);
  }
}

/* component-menu-drawer */

.header__icon--menu {
  position: relative;
  color: var(--color-foreground);
}

svg.icon.icon-hamburger {
  position: absolute;
  top: .65rem;
}

menu-drawer > details > summary::before,
menu-drawer > details[open]:not(.menu-opening) > summary::before {
  content: '';
  position: absolute;
  cursor: default;
  width: 100%;
  height: calc(100vh - 100%);
  height: calc(
    var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%))
  );
  top: 100%;
  left: 0;
  background: var(--color-foreground-50);
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  transition: opacity var(--duration-default) ease,
    visibility var(--duration-default) ease;
}

menu-drawer > details[open] > summary::before {
  visibility: visible;
  opacity: 1;
}

.menu-drawer {
  position: absolute;
  transform: translateX(100%);
  visibility: hidden;
  z-index: 3;
  left: 0;
  top: 100%;
  width: 100vw;
  padding: 0;
  border-left: 0;
  border-top: 2px solid var(--color-foreground-20);
  background-color: color-mix(in srgb, rgba(var(--color-background-rgb)), transparent 5%);
  backdrop-filter: blur(.5rem);
  overflow-x: hidden;
  border-radius: 0;
}

.menu-drawer {
  height: calc(100vh - 100%);
  height: calc(
    var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%))
  );
}

details[open] > .menu-drawer,
details[open] > .menu-drawer__submenu {
  transition: transform var(--duration-default) ease,
    visibility var(--duration-default) ease;
}

details[open].menu-opening > .menu-drawer,
details[open].menu-opening > .menu-drawer__submenu {
  transform: translateX(0);
  visibility: visible;
}

.menu-drawer__inner-container {
  position: relative;
  height: 100%;
}

.menu-drawer__navigation-container {
  display: grid;
  grid-template-rows: 1fr auto;
  align-content: space-between;
  overflow-y: auto;
  height: 100%;
}

.menu-drawer__navigation {
  padding: calc(var(--spacing)/2) 0;
}

.menu-drawer__inner-submenu {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

.menu-drawer__inner-submenu .icon-caret {
  margin-right: .5rem;
  transform: rotate(90deg);
}

.menu-drawer__menu-item {
  padding: calc(var(--spacing)/3) calc(var(--spacing)/2);
  text-decoration: none;
  margin-bottom: calc(var(--spacing)/3);
}

.menu-drawer__menu-item--active,
.menu-drawer__menu-item:focus,
.menu-drawer__close-button:focus,
.menu-drawer__menu-item:hover,
.menu-drawer__close-button:hover {
  color: var(--color-foreground);
  background-color: var(--color-foreground-4);
}

.menu-drawer__menu-item--active:hover {
  background-color: var(--color-foreground-8);
}

.menu-drawer .icon-caret {
  width: .7rem;
}

details[open] summary.menu-drawer__menu-item > .icon-caret {
  margin-left: .5rem;
  transform: rotate(-90deg);
}

.menu-drawer__submenu {
  position: absolute;
  top: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  background-color: var(--color-background);
  z-index: 1;
  transform: translateX(100%);
  visibility: hidden;
}

.menu-drawer__submenu .menu-drawer__submenu {
  overflow-y: auto;
}

.menu-drawer__close-button {
  margin-top: calc(var(--spacing)/4);
  margin-bottom: calc(var(--spacing)/4);
  padding: calc(var(--spacing)/2);
  text-decoration: none;
  display: flex;
  align-items: center;
  width: 100%;
  background-color: transparent;
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
}

.menu-drawer__close-button .icon-arrow {
  transform: rotate(180deg);
  margin-right: 1rem;
}

.menu-drawer__utility-links {
  padding: calc(var(--spacing)/2);
}

.menu-drawer__account {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 1.2rem;
  margin-left: -1.2rem;
  
}

.menu-drawer__account .icon-account {
  height: 2rem;
  width: 2rem;
  margin-right: 1rem;
  margin-top: -.1em;
}
