/** Shopify CDN: Minification failed

Line 1841:36 Unexpected ")"

**/
@charset "utf-8";

/**
 * Changed breakpoints to bootstrap
 * min-width
 * 641  --> 768
 * 1008 --> 992
 * 1140 --> 1200
 * 1500 --> 1400
 *
 * max-width
 * 640 --> 767
 * 1007 --> 991
 * 1139 --> 1199
 */

/**
 * ----------------------------------------------------------------------------------------------
 * This is a variation of Normalize.css (http://necolas.github.io/normalize.css/)
 * ----------------------------------------------------------------------------------------------
 */
/**
 * Base
 */
*,
*:before,
*:after {
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
  margin: 0;
}

[hidden] {
  display: none !important;
}

/**
 * HTML5 display definitions
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Text-level semantic
 */
:active {
  outline: none;
}

a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
}
a:active, a:hover {
  outline: 0;
}

b,
strong {
  font-weight: bold;
}

small {
  font-size: 80%;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  font-size: inherit;
  font-weight: inherit;
}

p:last-child,
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0;
}

/**
 * Embedded content
 */
img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: top;
  /* Chrome on mac weirdly blurres images, this helps a bit 
     (https://stackoverflow.com/questions/37906602/blurry-downscaled-images-in-chrome) */
  image-rendering: -webkit-optimize-contrast;
  /* The rule above makes the images blurry in Safari. There is no good documentation, took it from the comments from the link above.*/
  transform: translateZ(0);
}

svg:not(:root) {
  overflow: hidden; /* Dont know what this is for, but it leads to SVG's being cut off by a pixel or so */
  overflow: visible;
}

/**
 * Grouping content
 */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 16px;
}

/**
 * Forms
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button,
input[type=submit] {
  padding: 0;
  overflow: visible;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
  border-radius: 0;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: none;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: inherit;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: inherit;
}

input::placeholder,
textarea::placeholder {
  color: inherit;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 6px 10px 12px;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

/**
 * Tables
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .hidden-phone {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .hidden-tablet {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .hidden-tablet-and-up {
    display: none !important;
  }
}

@media screen and (max-width: 991px) {
  .hidden-pocket {
    display: none !important;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .hidden-lap {
    display: none !important;
  }
}

@media screen and (min-width: 992px) {
  .hidden-lap-and-up {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .hidden-desk {
    display: none !important;
  }
}
/* Create each media query */
@media screen and (min-width: 1400px) {
  .hidden-widescreen {
    display: none !important;
  }
}
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp img {
  max-width: none;
}

.pswp--animate_opacity {
  opacity: 0.001;
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  will-change: opacity;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  cursor: var(--cursor-zoom-in-svg) 18 18, zoom-in;
  cursor: -webkit-image-set(var(--cursor-zoom-in-svg) 1x, var(--cursor-zoom-in-2x-svg) 2x) 18 18, zoom-in;
}

.pswp--zoomed-in .pswp__img {
  cursor: -webkit-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--c-surface);
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__container {
  transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

.pswp__img--placeholder--blank {
  background: var(--c-surface);
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

/**
 * Custom UI
 */
.pswp__ui {
  position: absolute;
  visibility: hidden;
  width: 100%;
  bottom: 50px;
  opacity: 0;
  transform: translateY(35px);
  left: 0;
  text-align: center;
  transition: all 0.15s ease-in-out;
}

.pswp__button[disabled] {
  opacity: 0;
  pointer-events: none;
}

.pswp--animated-in .pswp__ui {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.pswp--animated-in .pswp__ui--hidden {
  visibility: hidden;
  opacity: 0;
}

.pswp__button--close {
  margin: 0 18px;
}

.pswp__button svg {
  pointer-events: none;
}

.pswp__error-msg {
  position: absolute;
  top: 40%;
  margin: 0 15px;
  padding: 8px 15px;
  background: #e6554d;
  color: var(--c-text-on-dark);
  text-align: center;
}

.js .no-js,
.no-js .hide-no-js {
  display: none !important;
}

.no-scroll {
  overflow: hidden;
}

body:not(.is-tabbing) [tabindex]:focus,
body:not(.is-tabbing) button:focus,
body:not(.is-tabbing) input:focus,
body:not(.is-tabbing) select:focus,
body:not(.is-tabbing) textarea:focus {
  outline: none;
}

[data-scrollable] {
  overflow: auto;
  /*-webkit-overflow-scrolling: touch;*/
}

/*
   This fixes an issue in IE10/11 when using min-height in flex children
   @info: https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items
*/
.FlexboxIeFix {
  display: flex;
  flex-direction: row;
}

/**
 * Very general typographic rules that are applied site wide
 */
html {
  font-size: var(--base-text-font-size);
}

body {
  font-family: var(--text-font-family);
  font-weight: var(--text-font-weight);
  font-style: var(--text-font-style);
  color: var(--c-text-subdued);
  /*
   IMPORTANT NOTE: 
   The body's background color should actually be the variable '--c-background'.
   Due to various issues with the current setup (inconsistencies with section-tags, .Section, .PageHeader etc.) 
   it prevents us from applying a clean surface system where all the desired elements have the white background.
   To avoid this complex issue and a complete refactor of many HTML parts we set the body's background color to the surface color.
   */
  background: var(--c-surface);
  line-height: var(--base-line-height);
}

.Link {
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.Link--arrowIcon svg {
  height: 0.6em;
  margin-left: 0.5em;
  /* margin-right: 0.1em; */
  vertical-align: initial;
  width: auto;
  /* margin-bottom: 0.1em; */
}

.supports-hover .Link--primary:hover,
.Link--primary.is-active {
  /* color: var(--c-text-subdued); */
  color: var(--c-text);
}

.supports-hover .Link--secondary:hover,
.Link--secondary.is-active {
  color: var(--c-text-subdued);
}

.Link--underline {
  position: relative;
  display: inline-block;
}

.Link--underline::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background: currentColor;
  transform: scale(1, 1);
  transform-origin: left center;
  transition: transform 0.2s ease-in-out;
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .Link--underline:hover::before {
    transform: scale(0, 1);
  }
}

.Link--underlineShort::before {
  width: 100%;
}

.Link--button {
  /* position: relative;
  z-index: 1; */
  padding: 0.35em 10px;
  background-color: var(--c-action-tertiary);
  border-radius: 3px;
  display: inline-block;
}

/* .Link--button::after {
  content: "";
  position: absolute;
  width: calc(100% + 20px);
  height: calc(100% + 6px);
  background-color: var(--c-action-tertiary);
  z-index: -1;
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 2px;
} */

.Link--underlineNative {
  text-decoration: underline;
  text-underline-position: under;
}

.Link__Icon {
  line-height: initial;
}

.Link__Icon--after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.Link__Icon--after .Icon {
  width: auto;
  height: 12px;
  vertical-align: inherit;
}

.Link__Icon--before {
  margin-right: 10px;
}

.Link__Icon--before .Icon {
  vertical-align: bottom;
  width: auto;
  height: 23px;
}

.Heading {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  color: var(--c-text);
  transition: color 0.2s ease-in-out;
}

.Heading.Heading--label {
  text-transform: uppercase;
  /* letter-spacing: 0.6px; */
  letter-spacing: 0.05em;
}

.Heading--ananda {
  font-family: 'Ananda', 'Lato', sans-serif;
  /* line-height: normal;
  line-height: 1.4; */
  line-height: 1.3;
  font-weight: normal;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  margin-block-end: 0.5em;
}

.Text--subdued {
  color: var(--c-text-subdued);
}

.Text--alignCenter {
  text-align: center !important;
}

.Text--alignRight {
  text-align: right !important;
}

.IconWrapperClickable, .LinkWrapperClickable {
  position: relative;
  background: transparent; /* This is used to increase the clickable area */
  --clickable-surface-hovered: var(--c-surface-hovered);
  --clickable-surface-pressed: var(--c-surface-pressed);
}
.IconWrapperClickable--surfaceSubdued, .LinkWrapperClickable--surfaceSubdued {
  --clickable-surface-hovered: var(--c-surface-subdued-hovered);
  --clickable-surface-pressed: var(--c-surface-subdued-pressed);
}

.IconWrapperClickable::before, .LinkWrapperClickable::before {
  position: absolute;
  content: "";
  transition: 0.08s ease;
  transform: translateZ(0); /* Needed to avoid a glitch on iOS */
}
.IconWrapperClickable::before {
  /* top: -8px;
  right: -12px;
  left: -12px;
  bottom: -8px; */
  top: -9px;
  right: -9px;
  left: -9px;
  bottom: -9px;
  border-radius: 50%;
}
.LinkWrapperClickable::before {
  top: -0.25em;
  right: -0.575em;
  left: -0.575em;
  bottom: -0.25em;
  border-radius: 0.2rem;
  z-index: -1;
}

.IconWrapperClickable--small::before {
  top: -6px;
  right: -6px;
  left: -6px;
  bottom: -6px;
}

.IconWrapperClickable > * {
  z-index: 0; /* Need to stay above ::before element */
  position: relative;
}

.IconWrapperClickable:hover, .LinkWrapperClickable:hover {
  color: var(--c-text);
}

.IconWrapperClickable:hover::before, .LinkWrapperClickable:hover::before {
  background-color: var(--clickable-surface-hovered);
}
.IconWrapperClickable:active::before, .LinkWrapperClickable:active::before {
  background-color: var(--clickable-surface-pressed);
}

.Icon, .Logo {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  background: none;
  pointer-events: none;
}

.Logo {
  height: auto;
  width: 100%;
}

.Icon {
  fill: currentColor;
  stroke-width: 1px;
}

.Icon--checkmark {
  color: var(--c-text-primary); /* Default color for checkmark */
}
[class*="c-text"] .Icon--checkmark {
  color: inherit;
}


.u-visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.u-h1,
.Rte h1 {
  font-size: 23px;
}

.u-h2,
.Rte h2 {
  font-size: 20px;
}

.u-h3,
.Rte h3 {
  font-size: 17px;
}

.u-h4,
.Rte h4 {
  font-size: 16px;
}

.u-h5,
.Rte h5 {
  font-size: 14px;
}

.u-h6,
.Rte h6 {
  font-size: 13px;
}

.u-h7 {
  font-size: 12px;
}

.u-h8 {
  font-size: 11px;
}

/* Ananda font */
.Heading--ananda.u-h1 {
  font-size: 44px;
}

.Heading--ananda.u-h2 {
  font-size: 40px;
}

.Heading--ananda.u-h3 {
  font-size: 36px;
}

@media screen and (min-width: 768px) {
  .u-h1,
  .Rte h1 {
    font-size: 25px;
  }

  .u-h2,
  .Rte h2 {
    font-size: 23px;
  }

  .u-h3,
  .Rte h3 {
    font-size: 19px;
  }

  .u-h4,
  .Rte h4 {
    font-size: 17px;
  }

  .u-h5,
  .Rte h5 {
    font-size: 14px;
  }

  .u-h6,
  .Rte h6 {
    font-size: 13px;
  }

  .u-h7 {
    font-size: 12px;
  }

  .u-h8 {
    font-size: 11px;
  }

  /* Ananda font */
  .Heading--ananda.u-h1 {
    font-size: 50px;
  }

  .Heading--ananda.u-h2 {
    font-size: 44px;
  }

  .Heading--ananda.u-h3 {
    font-size: 38px;
  }

  .Text--alignCenterDesktop {
    text-align: center !important;
  }
}

.js .features--show-page-transition .PageTransition {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: var(--c-surface);
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition: all 0.25s ease;
}

/**
 * ----------------------------------------------------------------------------
 * Utility classes
 * ----------------------------------------------------------------------------
 */

.transform-uppercase {
  text-transform: uppercase !important;
}

.hide-text-overflow {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.line-height-normal {
  line-height: normal;
}

.position-relative {
  position: relative;
}

.vertical-align-baseline, .vertical-align-baseline > * {
  vertical-align: baseline;
}  

.full-width {
  width: 100% !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}
.column-gap-1 {
  column-gap: 0.5rem !important;
}
.column-gap-2 {
  column-gap: 0.75rem !important;
}
.column-gap-3 {
  column-gap: 1rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}
.row-gap-1 {
  row-gap: 0.5rem !important;
}
.row-gap-2 {
  row-gap: 0.75rem !important;
}
.row-gap-3 {
  row-gap: 1rem !important;
}

/**
 * ----------------------------------------------------------------------------
 * Atomic components
 * ----------------------------------------------------------------------------
 */

 /**
 * Icon label
 */
.IconLabel {
  display: flex;
  column-gap: 0.5em;
  /* font-size: 1em; Allow for custom or utility-class font size value */
  /* Icon/text alignment: https://css-tricks.com/improving-icons-for-ui-elements-with-typographic-alignment-and-scale/ */
  --font-size: 1em;
  --iconSize: 1em;
  --baselineDistance: calc(var(--font-size) * var(--base-line-height));
  --iconOffset: calc((var(--baselineDistance) - var(--iconSize)) * 0.5);
}

.IconLabel--spacingLoose {
  column-gap: 0.75em;
}

.IconLabel__Icon {
  width: var(--iconSize);
  height: var(--iconSize);
  /* Initially used to center the svg element inside .IconLabel__Icon, but somehow this sometimes (e.g. with li in the header) causes the parent of .IconLabel to have an increased height.
  So we trying to use vertical-align: top on the svg element, which seems to align it correctly.
   display: flex;
  align-items: center;
  justify-content: center; */
  flex-shrink: 0;
  align-self: flex-start;
  transform: translateY(var(--iconOffset));
}

.IconLabel__Icon .Icon {
  width: var(--iconSize);
  height: var(--iconSize);
  vertical-align: top;
}

/**
 * Countdown and Timer items
 */
.Countdown__Timer {
  display: flex;
  gap: 1.5em;
}

@media (max-width: 991px) {
  .Countdown__Timer--horizontalMobile .TimerItem {
    display: flex;
    align-items: baseline;
    column-gap: 0.375em;
    flex-wrap: wrap;
  }
}

@media (max-width: 420px) {
  /* Approximate the wrapping point and then control the width so that the unexpected white space is removed. We cant figure out, why the width if the items is not shrinking dynamically to its content width. */
  .Countdown__Timer--horizontalMobile .TimerItem {
    width: min-content;
  }
}

.TimerItem__Number {
  font-size: 1.375em;
  line-height: normal;
  font-weight: 500;
}

.TimerItem__Label {
  font-size: 0.875em;
  line-height: normal;
}

@media (min-width: 992px) {
  .Countdown__Timer {
    font-size: 1.125em;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Buttons
 * Setup: 
 * - We have the default class .Button for all buttons.
 * - With the variation class (.Button--critical, .Button--primary, .Button--secondary, .Button--tertiary) the type of button is specified, it is always required
 * - The disabled-attribute is used for the out-of-stock-state or other unavailable-states
 * - When something is loading the .loading class is added, which shows an animation with the ::after element (also disables mouse interactions)
 * ----------------------------------------------------------------------------
 */

.Button,
.shopify-payment-button__button--unbranded,
input.spr-button-primary,
.spr-summary-actions-newreview,
.spr-button-primary:not(input),
.spr-pagination-prev > a,
.spr-pagination-next > a,
/* Loyalty Lions elements
 * .lion-in-cart-reward__button: specific class for manually placed add to cart buttons (cart, product page etc.)
 * .lion-action-button: generall class for ll buttons with an event (complete elements but also single add to cart buttons)
 * .lion-rules-list .lion-action-button/.lion-rewards-list .lion-action-button: increased specifity for the action button in complete elements
 */
.lion-in-cart-reward__button,
.lion-action-button, 
.lion-rules-list .lion-action-button, .lion-rewards-list .lion-action-button {
  position: relative;
  display: inline-block;
  --button-horizontal-padding: 15px;
  padding: var(--button-horizontal-padding) 28px;
  line-height: normal;
  /* border: 1px solid transparent; */
  border-radius: 0;
  text-transform: uppercase;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  text-align: center;
  letter-spacing: 0.2em;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  background-color: transparent;
  /* transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86); */
  z-index: 1;
  -webkit-tap-highlight-color: initial;
}

/* .Button::before,
.shopify-payment-button__button--unbranded::before,
input.spr-button-primary::before,
.spr-summary-actions-newreview.spr-summary-actions-newreview::before,
.spr-button-primary:not(input)::before,
.spr-pagination-prev > a::before,
.spr-pagination-next > a::before,

.lion-in-cart-reward__button::before,
.lion-action-button::before,
.lion-rules-list .lion-action-button::before, .lion-rewards-list .lion-action-button::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transform: scale(1, 1);
  transform-origin: left center;
  z-index: -1;
} 

@media (-moz-touch-enabled: 0), (hover: hover) {
  .features--show-button-transition .Button:not([disabled])::before,
  .features--show-button-transition .shopify-payment-button__button--unbranded:not([disabled])::before,
  .features--show-button-transition input.spr-button-primary:not([disabled])::before,
  .features--show-button-transition .spr-summary-actions-newreview:not([disabled])::before,
  .features--show-button-transition .spr-button-primary:not(input):not([disabled])::before,
  .features--show-button-transition .spr-pagination-prev > a:not([disabled])::before,
  .features--show-button-transition .spr-pagination-next > a:not([disabled])::before {
    transition: transform 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  }

  .features--show-button-transition .Button:not([disabled]):hover::before,
  .features--show-button-transition .shopify-payment-button__button--unbranded:not([disabled]):hover::before,
  .features--show-button-transition input.spr-button-primary:not([disabled]):hover::before,
  .features--show-button-transition .spr-summary-actions-newreview:not([disabled]):hover::before,
  .features--show-button-transition .spr-button-primary:not(input):not([disabled]):hover::before,
  .features--show-button-transition .spr-pagination-prev > a:not([disabled]):hover::before,
  .features--show-button-transition .spr-pagination-next > a:not([disabled]):hover::before {
    transform-origin: right center;
    transform: scale(0, 1);
  }
}
*/

.Button--primary,
.shopify-payment-button__button--unbranded,
.spr-summary-actions-newreview,
.spr-button-primary:not(input),
/* LoyaltyLion elements */
.lion-in-cart-reward__button,
.lion-action-button,
.lion-rules-list .lion-action-button, .lion-rewards-list .lion-action-button {
  color: var(--c-text-on-primary);
  background-color: var(--c-action-primary);
}

.Button--primary:not([disabled]):not(.loading):hover,
.shopify-payment-button__button--unbranded:not([disabled]):not(.loading):hover,
.spr-summary-actions-newreview:not([disabled]):not(.loading):hover,
.spr-button-primary:not(input):not([disabled]):not(.loading):hover,
/* LoyaltyLion elements */
.lion-in-cart-reward__button:not([class*="disabled"]):hover,
.lion-action-button:not([class*="disabled"]):hover,
.lion-rules-list .lion-action-button:not([class*="disabled"]):hover, .lion-rewards-list .lion-action-button:not([class*="disabled"]):hover {
  background-color: var(--c-action-primary-hovered);
}

.Button--primary:not([disabled]):not(.loading):active,
.shopify-payment-button__button--unbranded:not([disabled]):not(.loading):active,
.spr-summary-actions-newreview:not([disabled]):not(.loading):active,
.spr-button-primary:not(input):not([disabled]):not(.loading):active,
/* LoyaltyLion elements */
.lion-in-cart-reward__button:not([class*="disabled"]):active,
.lion-action-button:not([class*="disabled"]):active,
.lion-rules-list .lion-action-button:not([class*="disabled"]):active, .lion-rewards-list .lion-action-button:not([class*="disabled"]):active {
  background-color: var(--c-action-primary-pressed);
}

/* .Button--primary::before,
.shopify-payment-button__button--unbranded::before,
.spr-summary-actions-newreview::before,
.spr-button-primary:not(input)::before,

.lion-in-cart-reward__button::before,
.lion-action-button::before,
.lion-rules-list .lion-action-button::before, .lion-rewards-list .lion-action-button::before {
  background-color: var(--c-action-primary);
} 

@media (-moz-touch-enabled: 0), (hover: hover) {
  .features--show-button-transition .Button--primary:not([disabled]):hover,
  .features--show-button-transition .shopify-payment-button__button--unbranded:not([disabled]):hover,
  .features--show-button-transition .spr-summary-actions-newreview:not([disabled]):hover,
  .features--show-button-transition .spr-button-primary:not(input):not([disabled]):hover {
    color: var(--button-background);
    background-color: transparent;
  }
}
*/

.Button--critical {
  color: var(--c-text-on-primary);
  background-color: var(--c-action-primary-critical);
}

.Button.Button--critical:not([disabled]):not(.loading):hover {
  background-color: var(--c-action-primary-critical-hovered);
}

.Button.Button--critical:not([disabled]):not(.loading):active {
  background-color: var(--c-action-primary-critical-pressed);
}

.Button--secondary,
.spr-pagination-prev > a,
.spr-pagination-next > a
/* LoyaltyLion elements */
/* .lion-rules-list .lion-rule-item__button--disabled,
.lion-rewards-list .lion-action-button--disabled,
.lion-action-button--disabled */ {
  color: var(--c-action-secondary);
  border: 2px solid var(--c-action-secondary);
  font-weight: 700;
  padding-top: calc(var(--button-horizontal-padding) - 2px); /* Reduce padding by 2px to equalize border */
  padding-bottom: calc(var(--button-horizontal-padding) - 2px);
}

.Button.Button--secondary:not([disabled]):not(.loading):hover {
  border-color: var(--c-action-secondary-hovered);
  color: var(--c-action-secondary-hovered);
}

.Button.Button--secondary:not([disabled]):not(.loading):active {
  border-color: var(--c-action-secondary-pressed);
  color: var(--c-action-secondary-pressed);
}

/* .Button--secondary::before,
.spr-pagination-prev > a::before,
.spr-pagination-next > a::before {
  background-color: var(--button-background);
  transform-origin: right center;
  transform: scale(0, 1);
} 


@media (-moz-touch-enabled: 0), (hover: hover) {
  .features--show-button-transition .Button--secondary:not([disabled]):hover,
  .features--show-button-transition .spr-pagination-prev > a:not([disabled]):hover,
  .features--show-button-transition .spr-pagination-next > a:not([disabled]):hover {
    color: var(--button-text-color);
    border-color: var(--button-background);
  }

  .features--show-button-transition .Button--secondary:not([disabled]):hover::before,
  .features--show-button-transition .spr-pagination-prev > a:not([disabled]):hover::before,
  .features--show-button-transition .spr-pagination-next > a:not([disabled]):hover::before {
    transform-origin: left center;
    transform: scale(1, 1);
  }
} */

.Button--tertiary,
/* LoyaltyLion elements */
.lion-isolator .lion-redeem-reward-modal__button--cancel {
  color: var(--c-text-subdued);
  border: 1px solid rgba(var(--c-text-subdued-rgb), 0.2);
  background-color: var(--c-action-tertiary);
  padding-top: calc(var(--button-horizontal-padding) - 1px); /* Reduce padding by 1px to equalize border */
  padding-bottom: calc(var(--button-horizontal-padding) - 1px);
}

.Button.Button--tertiary:not([disabled]):not(.loading):hover,
/* LoyaltyLion elements */
.lion-isolator .lion-redeem-reward-modal__button--cancel:not([disabled]):not(.loading):hover {
  background-color: var(--c-action-tertiary-hovered);
}

.Button.Button--tertiary:not([disabled]):not(.loading):active, 
.lion-isolator .lion-redeem-reward-modal__button--cancel:not([disabled]):not(.loading):active {
  background-color: var(--c-action-tertiary-pressed);
}

/* Disabled button, mainly for out of stock (originally, this was the style for all the secondary buttons) */
.Button[disabled],
.shopify-payment-button__button--unbranded[disabled],
input.spr-button-primary[disabled],
.spr-summary-actions-newreview[disabled],
.spr-button-primary:not(input)[disabled],
.spr-pagination-prev > a[disabled],
.spr-pagination-next > a[disabled],
/* LoyaltyLion elements */
.lion-action-button--disabled[disabled], .lion-action-button--disabled,
.lion-rules-list .lion-action-button--disabled, .lion-rewards-list .lion-action-button--disabled {
  cursor: not-allowed;
  color: var(--c-text-subdued);
  border: 1px solid rgba(var(--c-text-subdued-rgb), 0.2);
  background-color: unset;
  font-weight: 700;
  padding-top: calc(var(--button-horizontal-padding) - 1px); /* Reduce padding by 1px to equalize border */
  padding-bottom: calc(var(--button-horizontal-padding) - 1px);
}

.lion-isolator .lion-redeem-reward-modal__button--cancel::before {
  background-color: var(--c-action-tertiary);
}

.Button--full {
  width: 100%;
}

.LionButton, .lion-in-cart-reward__button {
  display: block;
  width: 100%;
}

.Button--stretched {
  padding-left: 40px;
  padding-right: 40px;
}

.Button--small,
/* LoyaltyLion elements */
.LionButton--small .lion-in-cart-reward__button, /* .LionButton--small is used on the button wrapper, as this is the only place where a class can be added */ 
.lion-action-button:not(.lion-in-cart-reward__button), 
.lion-rules-list .lion-action-button, .lion-rewards-list .lion-action-button {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 10px));
  --button-horizontal-padding: 12px; /* Overwrite variable so that border offset is correct again */
  padding-right: 24px;
  padding-left: 24px;
}

.Button--quickAdd {
  width: 3.75em;
  height: 3.75em;
  padding: 0;
  border-radius: 2px;
}

.Button--quickAdd .Icon {
  width: 1.75em;
  /* width: 2.125em; */
  height: auto;
}

.SeparatorDot {
  display: inline-block;
  /* margin: 0 18px; */
  content: "";
  height: 3px;
  width: 3px;
  border-radius: 100%;
  background: currentColor;
  margin: 0 0.5em;
  vertical-align: middle;
  margin-bottom: 1px;
}

/**
 * ----------------------------------------------------------------------------
 * Button group
 * default behavior: the buttons grow to fill the available space, while the width of the buttons content is respected
 * --sameSize: just like default behavior, only difference is that on desktop it is aimed for an equal size (neglecting the difference in content width)
 * --contentSize: limits the button width to its content size
 * 
 * note: use the class .Button--full on the button group items carefully, as it might not work properly with the button group styles
 * ----------------------------------------------------------------------------
 */

.ButtonGroup {
  display: flex;
  flex-wrap: wrap;
  margin: -10px;
}

.ButtonGroup__Item {
  margin: 8px 10px 8px 10px;
  flex-grow: 1;
}

.ButtonGroup--spacingTight {
  margin: -8px;
}
.ButtonGroup--spacingTight .ButtonGroup__Item {
  margin: 8px;
}
.ButtonGroup--spacingExtraTight {
  margin: -4px;
}
.ButtonGroup--spacingExtraTight .ButtonGroup__Item {
  margin: 4px;
}

.ButtonGroup--contentSize .ButtonGroup__Item {
  flex-grow: 0;
}

.ButtonGroup--sameSize .ButtonGroup__Item {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .ButtonGroup--sameSize {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* width: 100%; */
    width: calc(100% + 20px);
  }

  .ButtonGroup--sameSize.ButtonGroup--spacingTight {
    width: calc(100% + 16px);
  }

  .ButtonGroup--sameSize.ButtonGroup--spacingExtraTight {
    width: calc(100% + 8px);
  }
}

/**
 * ----------------------------------------------------------------------------
 * Round button
 *
 * Those buttons are not really button like the others, but they are used in
 * lot of different places to hold things like icons
 * ----------------------------------------------------------------------------
 */

.RoundButton,
.flickity-prev-next-button {
  position: relative;
  width: 45px;
  height: 45px;
  /* border: none; */
  border: 1px solid var(--c-action-primary);
  border-radius: 50%;
  /* background: var(--button-text-color); */
  background-color: var(--c-surface);
  color: var(--c-action-primary);
  cursor: pointer;
  text-align: center;
  z-index: 1;
  /* box-shadow: 0 2px 10px rgba(54, 54, 54, 0.15); */
  vertical-align: middle;
  line-height: 0;
  transform: scale(1.001); /* Avoid rounding error during animation in Chrome */
  transition: background 0.15s ease-in-out, opacity 0.15s ease-in-out, transform 0.2s ease-in-out, color 0.2s ease-in-out;
  overflow: hidden;
}

.RoundButton.is-active,
.flickity-prev-next-button.is-active {
  background: var(--c-action-primary);
  color: var(--c-text-on-primary);
  outline: none;
}

.RoundButton svg,
.flickity-prev-next-button svg {
  height: 15px;
  width: 15px;
  fill: currentColor;
}

.RoundButton--small {
  width: 35px;
  height: 35px;
}
.RoundButton--small svg {
  height: 14px;
  width: 14px;
}

.RoundButton--medium {
  width: 50px;
  height: 50px;
}

.RoundButton--medium svg {
  height: 18px;
  width: 18px;
}

.RoundButton--large {
  width: 55px;
  height: 55px;
}
.RoundButton--large svg {
  height: 15px;
  width: 15px;
}

.RoundButton--flat {
  box-shadow: 0 1px 5px rgba(54, 54, 54, 0.15);
  color: rgba(var(--c-action-primary-rgb), 0.5);
}

.RoundButton[data-action="open-product-zoom"] {
  background: var(--c-action-primary);
  color: var(--c-text-on-primary);
}

.RoundButton:not([aria-expanded="true"])[data-action="open-product-zoom"]:hover {
  color: var(--c-text-on-primary);
}

.RoundButton[data-action="open-product-zoom"] svg {
  height: 18px;
  width: 18px;
}

/* We allow those buttons to have secondary state. The secondary state is displayed (for instance during loading time) when
   the class "RoundButton--withSecondaryState" is added */
.RoundButton__PrimaryState,
.RoundButton__SecondaryState {
  display: block;
  transition: transform 0.4s cubic-bezier(0.75, 0, 0.125, 1), opacity 0.4s cubic-bezier(0.75, 0, 0.125, 1);
}

.RoundButton__SecondaryState {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 100%);
}

.RoundButton--secondaryState .RoundButton__PrimaryState {
  opacity: 0;
  transform: translateY(-100%);
}

.RoundButton--secondaryState .RoundButton__SecondaryState {
  opacity: 1;
  transform: translate(-50%, -50%);
}

/* Animation states */
@-webkit-keyframes buttonFromLeftToRight {
  0% {
    transform: translateX(0%);
  }

  25% {
    opacity: 0;
    transform: translateX(100%);
  }

  50% {
    opacity: 0;
    transform: translateX(-100%);
  }

  75% {
    opacity: 1;
    transform: translateX(0%);
  }
}
@keyframes buttonFromLeftToRight {
  0% {
    transform: translateX(0%);
  }

  25% {
    opacity: 0;
    transform: translateX(100%);
  }

  50% {
    opacity: 0;
    transform: translateX(-100%);
  }

  75% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@-webkit-keyframes buttonFromRightToLeft {
  0% {
    transform: translateX(0%);
  }

  25% {
    opacity: 0;
    transform: translateX(-100%);
  }

  50% {
    opacity: 0;
    transform: translateX(100%);
  }

  75% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes buttonFromRightToLeft {
  0% {
    transform: translateX(0%);
  }

  25% {
    opacity: 0;
    transform: translateX(-100%);
  }

  50% {
    opacity: 0;
    transform: translateX(100%);
  }

  75% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@-webkit-keyframes buttonFromTopToBottom {
  0% {
    transform: translateY(0%);
  }

  25% {
    opacity: 0;
    transform: translateY(100%);
  }

  50% {
    opacity: 0;
    transform: translateY(-100%);
  }

  75% {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes buttonFromTopToBottom {
  0% {
    transform: translateY(0%);
  }

  25% {
    opacity: 0;
    transform: translateY(100%);
  }

  50% {
    opacity: 0;
    transform: translateY(-100%);
  }

  75% {
    opacity: 1;
    transform: translateY(0%);
  }
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .RoundButton:hover {
    transform: scale(1.1);
  }

  .RoundButton--small:hover {
    transform: scale(1.15);
  }

  .RoundButton:not([aria-expanded=true]):hover {
    color: var(--c-action-primary);
  }

  .RoundButton[data-animate-left]:hover svg,
  .flickity-prev-next-button.previous:hover svg {
    -webkit-animation: buttonFromRightToLeft 0.5s ease-in-out forwards;
            animation: buttonFromRightToLeft 0.5s ease-in-out forwards;
  }

  .RoundButton[data-animate-right]:hover svg,
  .flickity-prev-next-button.next:hover svg {
    -webkit-animation: buttonFromLeftToRight 0.5s ease-in-out forwards;
            animation: buttonFromLeftToRight 0.5s ease-in-out forwards;
  }

  .RoundButton[data-animate-bottom]:hover svg {
    -webkit-animation: buttonFromTopToBottom 0.5s ease-in-out forwards;
            animation: buttonFromTopToBottom 0.5s ease-in-out forwards;
  }
}

/**
 * ----------------------------------------------------------------------------------------------
 * Pulsate animation
 * ----------------------------------------------------------------------------------------------
 */

[class*="pulsate"] {
  -webkit-animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
}

.pulsate-orange {
  -webkit-animation-name: pulse-orange;
  animation-name: pulse-orange;
}

.pulsate-black-light {
  -webkit-animation-name: pulse-black-light;
  animation-name: pulse-black-light;
}

.pulsate-green {
  -webkit-animation-name: pulse-green;
  animation-name: pulse-green;
}

@-webkit-keyframes pulse-black-light {
  0% {background-color: var(--c-text-subdued);}
  50% {background-color: #9ca4ab;} 
  100% {background-color: var(--c-text-subdued);}
}

@keyframes pulse-black-light {
  0% {background-color: var(--c-text-subdued);}
  50% {background-color: #9ca4ab;} 
  100% {background-color: var(--c-text-subdued);}
}

@-webkit-keyframes pulse-green {
  0% {background-color: var(--c-primary);}
  50% {background-color: #c4ea83;} 
  100% {background-color: var(--c-primary);}
}

@keyframes pulse-green {
  0% {background-color: var(--c-primary);}
  50% {background-color: #c4ea83;} 
  100% {background-color: var(--c-primary);}
}

@-webkit-keyframes pulse-orange {
  0% {background-color: var(--c-action-primary-critical);}
  50% {background-color: #fecd4d;} 
  100% {background-color: var(--c-action-primary-critical);}
}

@keyframes pulse-orange {
  0% {background-color: var(--c-action-primary-critical);}
  50% {background-color: #fecd4d;} 
  100% {background-color: var(--c-action-primary-critical);}
}

/**
 * ----------------------------------------------------------------------------
 * Loading animation
 * ----------------------------------------------------------------------------
 */

/* 
 * Circle setup
 */
 @keyframes animation-circle {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

:is(body, .LoadingContainer, .Modal, button.loading, .Button.loading, .lion-action-button--loading)::after {
/* :is(.PopoverGlobal, #sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Modal, .Product__ReviewsWidgetWrapper, body)::after,
:is(button.loading, .lion-action-button--loading)::after { */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
}

:is(body, .LoadingContainer, .Modal, button, .Button).loading::after, .lion-action-button--loading::after {
/* :is(.PopoverGlobal, #sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Modal, .Product__ReviewsWidgetWrapper, body).loading::after,
:is(button.loading, .lion-action-button--loading)::after { */
  animation: animation-circle 0.75s linear infinite;
}

/* 
 * Container Loading  
 */
:is(body, .LoadingContainer, .Modal,)::before {
/* :is(.PopoverGlobal, #sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Modal, .Product__ReviewsWidgetWrapper, body)::before { */
  content: "";
  max-width: none; /* ? */
  background: var(--c-surface);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 4;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out !important;
}

[data-section-id="main-cart"]::before, [data-section-id="main-cart"]::after {
  position: fixed !important;
}

:is(.LoadingContainer).loading::before {
/* :is(#sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Product__ReviewsWidgetWrapper).loading::before { */
  visibility: visible;
  opacity: 0.7;
}

:is(body, .PopoverGlobal, .Modal).loading::before {
/* Somehow specificity is not higher than the CSS without .loading selector, thats why the !important */
  visibility: visible !important;
  opacity: 1 !important;
}

:is(body, .LoadingContainer, .Modal)::after {
/* :is(.PopoverGlobal, #sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Modal, .Product__ReviewsWidgetWrapper, body)::after { */
  width: 2rem;
  height: 2rem;
  border: .15rem solid #ccc;
  /* border: .15rem solid transparent; */
  border-top: .15rem solid var(--c-text-subdued);
  border-left: .15rem solid var(--c-text-subdued);
  border-right: .15rem solid var(--c-text-subdued);
  /* Fade out
  border: .15rem solid #ccc0;
  border-top: .15rem solid #bfbfbf;
  border-left: .1rem solid #d7d7d7;
  border-right: .15rem solid #a7a7a7; */
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  z-index: 11;
}

:is(body, .LoadingContainer, .Modal).loading::after {
/* :is(.PopoverGlobal, #sidebar-cart, #sidebar-menu, [data-section-id="main-cart"], .Modal, .Product__ReviewsWidgetWrapper, body).loading::after { */
  visibility: visible;
  opacity: 1;
}


body.loading::before {
  z-index: 9998 !important;
}

body.loading::after {
  z-index: 9999 !important;
}

/* 
 * Button Loading 
 */
button.loading,
.Button.loading,
.lion-action-button--loading {
  color: transparent !important;
  transition: none;
  cursor: not-allowed;
}

/* button.loading::before {
  display: none;
} */

:is(button.loading, .lion-action-button--loading)::after,
:is(.Button.loading, .lion-action-button--loading)::after {
  width: 1rem;
  height: 1rem;
  border: 0.15rem solid rgba(255, 255, 255, 0.25);
  border-top: 0.15rem solid var(--c-text-on-primary);
  border-left: 0.15rem solid var(--c-text-on-primary);
  border-right: 0.15rem solid var(--c-text-on-primary);
}

.lion-action-button--loading::after {
  margin: 0;
}

.Button--leaves {
  overflow: hidden;
  --leaf-animation-time: 3s;
}
.Button--leaves .leaf {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='13' height='21' viewBox='0 0 13 21' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='matrix(0.34862212 -0.60383123 0.60383123 0.34862212 -4.5723719 15.073247)'%3E%3Cg transform='translate(-198 -48)' fill='%23ffffff' fill-rule='nonzero'%3E%3Cpath d='m 198.77065 66.279901 -0.0205 -0.270215 -0.01 -0.196286 -0.0119 -0.432714 -0.001 -0.318115 0.003 -0.234609 0.0117 -0.383502 0.0134 -0.275441 0.0186 -0.29023 0.0243 -0.304137 0.0307 -0.317159 0.0592 -0.498228 0.0491 -0.345856 0.0896 -0.537136 0.0712 -0.369038 0.12553 -0.56777 0.097 -0.386702 c 0.71806 -2.727267 2.26966 -5.860346 5.56209 -8.036922 3.29781 -2.180139 6.9944 -2.938512 10.2477 -3.231504 l 0.58643 -0.04836 0.85888 -0.0561 0.55709 -0.0283 0.80959 -0.03201 2.4032 -0.06724 0.47689 -0.01796 0.44916 -0.0228 0.41985 -0.02942 c 0.67446 -0.05555 1.22028 -0.146112 1.60478 -0.308819 l -0.0297 0.518928 -0.0457 0.566308 -0.0754 0.741104 -0.0623 0.51908 -0.077 0.568874 -0.0602 0.40448 -0.0678 0.422963 -0.1169 0.665907 -0.0887 0.462784 -0.0979 0.47616 -0.13584 0.611785 -0.21695 0.882352 -0.21242 0.774972 -0.15595 0.523638 c -1.24107 4.031338 -3.53912 8.40564 -7.78333 10.163797 -3.85269 1.595967 -6.85197 1.725934 -9.19167 1.338455 l -0.38387 -0.06921 c -0.31486 -0.06139 -0.61721 -0.131755 -0.90756 -0.208539 l -0.34269 -0.09506 -0.49288 -0.15202 -0.31477 -0.106209 -0.30396 -0.10896 -0.29333 -0.110735 -0.42053 -0.167297 -0.52539 -0.220168 -0.8049 -0.346142 -0.36725 -0.151533 c -0.35417 -0.141069 -0.66964 -0.248256 -0.95097 -0.29913 z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  opacity: 0;
  display: block;
}
.Button--leaves:is(:hover, :focus) .leaf {
  transition: opacity 0.4s ease-out;
  opacity: 0.25;
}
.Button--leaves .leaf:nth-of-type(1) {
  left: -2%;
  top: -1%;
  width: 2rem;
  height: 2rem;
  transform: rotate(40deg);
}
.Button--leaves .leaf:nth-of-type(2) {
  left: 10%;
  top: 40%;
  width: 1.8rem;
  height: 1.8rem;
  transform: rotate(-20deg);
}
.Button--leaves .leaf:nth-of-type(3) {
  left: 17%;
  top: 10%;
  width: 2rem;
  height: 2rem;
  transform: rotate(80deg);
}
.Button--leaves .leaf:nth-of-type(4) {
  left: 32%;
  top: 70%;
  width: 2.2rem;
  height: 2.2rem;
  transform: rotate(60deg);
}
.Button--leaves .leaf:nth-of-type(5) {
  left: 43%;
  top: -10%;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-10deg);
}
.Button--leaves .leaf:nth-of-type(6) {
  left: 51%;
  top: 75%;
  width: 2rem;
  height: 2rem;
  transform: rotate(10deg);
}
.Button--leaves .leaf:nth-of-type(7) {
  left: 68%;
  top: -20%;
  width: 2.3rem;
  height: 2.3rem;
  transform: rotate(30deg);
}
.Button--leaves .leaf:nth-of-type(8) {
  left: 75%;
  top: 40%;
  width: 1.8rem;
  height: 1.8rem;
  transform: rotate(-200deg);
}
.Button--leaves .leaf:nth-of-type(9) {
  left: 88%;
  top: -20%;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-30deg);
}
.Button--leaves .leaf:nth-of-type(10) {
  right: -5%;
  top: 30%;
  width: 1.8rem;
  height: 1.8rem;
  transform: rotate(60deg);
}

.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(1) {
  animation: leaf1 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) / -4) infinite;
}
@keyframes leaf1 {
  0% { top: -50%; left: -2%; transform: rotate(40deg); }
  25% { top: 0%; left: -1%; transform: rotate(50deg); }
  50% { top: 50%; left: 0%; transform: rotate(60deg); }
  75% { top: 100%; left: -2%; transform: rotate(70deg); }
  100% { top: 150%; left: -4%; transform: rotate(75deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(2) {
  animation: leaf2 calc(var(--leaf-animation-time) - 1s) linear calc(var(--leaf-animation-time) / -2) infinite;
}
@keyframes leaf2 {
  0% { top: -70%; left: 10%; transform: rotate(-20deg); }
  25% { top: -15%; left: 9%; transform: rotate(-30deg); }
  50% { top: 40%; left: 10%; transform: rotate(-40deg); }
  75% { top: 95%; left: 9%; transform: rotate(-50deg); }
  100% { top: 150%; left: 10%; transform: rotate(-60deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(3) {
  animation: leaf3 calc(var(--leaf-animation-time) + 1s) linear calc(var(--leaf-animation-time) / -4) infinite;
}
@keyframes leaf3 {
  0% { top: -50%; left: 17%; transform: rotate(80deg); }
  25% { top: 0%; left: 18%; transform: rotate(95deg); }
  50% { top: 50%; left: 17%; transform: rotate(100deg); }
  75% { top: 100%; left: 18%; transform: rotate(90deg); }
  100% { top: 150%; left: 17%; transform: rotate(75deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(4) {
  animation: leaf4 calc(var(--leaf-animation-time) - 1s) linear calc(var(--leaf-animation-time) / -2) infinite;
}
@keyframes leaf4 {
  0% { top: -50%; left: 32%; transform: rotate(60deg); }
  25% { top: 0%; left: 31%; transform: rotate(50deg); }
  50% { top: 50%; left: 30%; transform: rotate(40deg); }
  75% { top: 100%; left: 30%; transform: rotate(30deg); }
  100% { top: 150%; left: 31%; transform: rotate(40deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(5) {
  animation: leaf5 var(--leaf-animation-time) linear infinite;
}
@keyframes leaf5 {
  0% { top: -70%; left: 43%; transform: rotate(-10deg); }
  25% { top: -15%; left: 44%; transform: rotate(-35deg); }
  50% { top: 40%; left: 45%; transform: rotate(-55deg); }
  75% { top: 95%; left: 46%; transform: rotate(-70deg); }
  100% { top: 150%; left: 45%; transform: rotate(-90deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(6) {
  animation: leaf6 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) * 3 / -4) infinite;
}
@keyframes leaf6 {
  0% { top: -70%; left: 51%; transform: rotate(10deg); }
  25% { top: -5%; left: 52%; transform: rotate(-40deg); }
  50% { top: 50%; left: 54%; transform: rotate(-65deg); }
  75% { top: 95%; left: 53%; transform: rotate(-70deg); }
  100% { top: 150%; left: 51%; transform: rotate(-55deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(7) {
  animation: leaf7 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) / -2) infinite;
}
@keyframes leaf7 {
  0% { top: -70%; left: 68%; transform: rotate(30deg); }
  25% { top: -25%; left: 67%; transform: rotate(40deg); }
  50% { top: 20%; left: 66%; transform: rotate(55deg); }
  75% { top: 80%; left: 64%; transform: rotate(70deg); }
  100% { top: 150%; left: 61%; transform: rotate(85deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(8) {
  animation: leaf8 calc(var(--leaf-animation-time) - 1s) linear calc(var(--leaf-animation-time) / -4) infinite;
}
@keyframes leaf8 {
  0% { top: -70%; left: 75%; transform: rotate(-200deg); }
  25% { top: -15%; left: 76%; transform: rotate(-220deg); }
  50% { top: 40%; left: 77%; transform: rotate(-240deg); }
  75% { top: 95%; left: 77%; transform: rotate(-260deg); }
  100% { top: 150%; left: 75%; transform: rotate(-280deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(9) {
  animation: leaf9 calc(var(--leaf-animation-time) + 1s) linear calc(var(--leaf-animation-time) * 3 / -4) infinite;
}
@keyframes leaf9 {
  0% { top: -50%; left: 88%; transform: rotate(-30deg); }
  25% { top: 20%; left: 87%; transform: rotate(-5deg); }
  50% { top: 75%; left: 86%; transform: rotate(15deg); }
  75% { top: 120%; left: 86%; transform: rotate(35deg); }
  100% { top: 150%; left: 87%; transform: rotate(50deg); }
}
.Button--leaves:is(:hover, :focus) .leaf:nth-of-type(10) {
  animation: leaf10 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) / -4) infinite;
}
@keyframes leaf10 {
  0% { top: -50%; right: -5%; transform: rotate(60deg); }
  25% { top: 0%; right: -5%; transform: rotate(50deg); }
  50% { top: 50%; right: -6%; transform: rotate(35deg); }
  75% { top: 100%; right: -7%; transform: rotate(20deg); }
  100% { top: 150%; right: -8%; transform: rotate(10deg); }
}

.Button--leaves.Button--quickAdd .leaf:nth-of-type(1) {
  left: -2%;
  top: -1%;
  width: 2rem;
  height: 2rem;
  transform: rotate(40deg);
}
.Button--leaves.Button--quickAdd .leaf:nth-of-type(2) {
  left: 43%;
  top: 70%;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-10deg);
}
.Button--leaves.Button--quickAdd .leaf:nth-of-type(3) {
  left: 80%;
  top: 20%;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-30deg);
}
.Button--leaves.Button--quickAdd:is(:hover, :focus) .leaf:nth-of-type(1) {
  animation: minileaf1 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) / -4) infinite;
}
@keyframes minileaf1 {
  0% { top: -70%; left: -2%; transform: rotate(40deg); }
  25% { top: -10%; left: -6%; transform: rotate(50deg); }
  50% { top: 50%; left: -3%; transform: rotate(60deg); }
  75% { top: 100%; left: 2%; transform: rotate(70deg); }
  100% { top: 150%; left: 4%; transform: rotate(75deg); }
}
.Button--leaves.Button--quickAdd:is(:hover, :focus) .leaf:nth-of-type(2) {
  animation: minileaf2 var(--leaf-animation-time) linear calc(var(--leaf-animation-time) * 3 / -4) infinite;
}
@keyframes minileaf2 {
  0% { top: -70%; left: 43%; transform: rotate(-10deg); }
  25% { top: -20%; left: 40%; transform: rotate(-25deg); }
  50% { top: 35%; left: 36%; transform: rotate(-45deg); }
  75% { top: 95%; left: 35%; transform: rotate(-65deg); }
  100% { top: 150%; left: 39%; transform: rotate(-80deg); }
}
.Button--leaves.Button--quickAdd:is(:hover, :focus) .leaf:nth-of-type(3) {
  animation: minileaf3 calc(var(--leaf-animation-time) - 1s) linear infinite;
}
@keyframes minileaf3 {
  0% { top: -70%; left: 86%; transform: rotate(-30deg); }
  25% { top: -20%; left: 80%; transform: rotate(-10deg); }
  50% { top: 35%; left: 72%; transform: rotate(20deg); }
  75% { top: 95%; left: 63%; transform: rotate(60deg); }
  100% { top: 150%; left: 52%; transform: rotate(110deg); }
}

/**
 * ----------------------------------------------------------------------------------------------
 * Flickity styles
 * ----------------------------------------------------------------------------------------------
 */

.flickity-enabled {
  position: relative;
}

body:not(.is-tabbing) .flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: auto;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled {
  -webkit-tap-highlight-color: transparent;
}

.flickity-enabled.is-draggable {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
}

.flickity-prev-next-button[disabled] {
  opacity: 0;
}

.flickity-prev-next-button svg {
  width: auto;
  height: 16px;
  stroke-width: 1.5px;
  stroke: currentColor;
}

/* ---- page dots ---- */
.flickity-page-dots {
  width: 100%;
  padding: 0;
  margin: 22px 0 0 0;
  list-style: none;
  text-align: center;
}

.flickity-page-dots .dot {
  position: relative;
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 0 6px;
  border-radius: 50%;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--c-border);
  transition: color 0.2s ease-in-out, background 0.2s ease-in-out; /* This is used to increase the clickable area */
}

.flickity-page-dots .dot::before {
  position: absolute;
  content: "";
  top: -6px;
  right: -6px;
  left: -6px;
  bottom: -6px;
}

.flickity-page-dots .dot.is-selected {
  background: currentColor;
  border-color: currentColor;
}

@media screen and (min-width: 768px) {
  .flickity-page-dots .dot {
    width: 10px;
    height: 10px;
    margin: 0 7px;
    border-width: 2px;
  }
}

/*
 * -------------------------------------------------
 * --navBottom styles (needs to be in container)
 * -------------------------------------------------
 */

.FlickitySlider--navBottom .flickity-viewport {
  overflow: visible;
}

.FlickitySlider--navBottom .flickity-slider > *,
/* In case flickity is not loaded when there are not enough cells */
.FlickitySlider--navBottom [class*='Cell'] {
  padding: 0 var(--horizontal-cell-spacing, 0px);
}

.FlickitySlider--navBottom {
  margin-left: calc(var(--horizontal-cell-spacing, 0px) * -1);
  margin-right: calc(var(--horizontal-cell-spacing, 0px) * -1);
}

.FlickitySlider--navBottom .flickity-page-dots {    
  margin-left: var(--horizontal-cell-spacing, 0px);
}

.FlickitySlider--navBottom .flickity-prev-next-button.next {
  right: var(--horizontal-cell-spacing, 0px);
}

.FlickitySlider--navBottom .flickity-prev-next-button.previous {
  right: calc(45px + var(--horizontal-cell-spacing, 0px));
}

/* horizontal cell spacing desktop */
@media (min-width: 768px) {
  .FlickitySlider--navBottom .flickity-slider > *,
  /* In case flickity is not loaded when there are not enough cells */
  .FlickitySlider--navBottom [class*='Cell'] {
    padding: 0 var(--horizontal-cell-spacing-desktop, 0px);
  }
  
  .FlickitySlider--navBottom {
    margin-left: calc(var(--horizontal-cell-spacing-desktop, 0px) * -1);
    margin-right: calc(var(--horizontal-cell-spacing-desktop, 0px) * -1);
  }
  
  .FlickitySlider--navBottom .flickity-page-dots {    
    margin-left: var(--horizontal-cell-spacing-desktop, 0px);
  }
  
  .FlickitySlider--navBottom .flickity-prev-next-button.next {
    right: var(--horizontal-cell-spacing-desktop, 0px);
  }
  
  .FlickitySlider--navBottom .flickity-prev-next-button.previous {
    right: calc(45px + var(--horizontal-cell-spacing-desktop, 0px));
  }
}

.FlickitySlider--navBottom .flickity-page-dots {
  text-align: left;
  width: max-content;
  padding: 2px 0;
  border-radius: 100px;
}

.FlickitySlider--navBottom .flickity-prev-next-button {
  background-color: var(--c-action-tertiary);
  border: unset;
  height: 30px;
  border-radius: unset;
  color: var(--c-text);
  bottom: 0;
}

.FlickitySlider--navBottom .flickity-prev-next-button.next {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-left: 1px solid var(--c-border);
}

.FlickitySlider--navBottom .flickity-prev-next-button.previous {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.FlickitySlider--navBottom .flickity-prev-next-button[disabled] {
  opacity: 1;
  /* Manually "lower" the opacity due to the separation line that should always have the same color */
  background-color: #f9fafa;
  color: #b9babc;
}

.FlickitySlider--navBottom .flickity-prev-next-button:hover svg {
  -webkit-animation: unset !important;
  animation: unset !important;
}

.FlickitySlider--navBottom .flickity-prev-next-button:not([disabled]):hover {
  box-shadow: inset 0px 0px 0px 1px var(--c-text-subdued);
}

.FlickitySlider--navBottom .flickity-page-dots .dot:first-of-type {
  margin-left: 0;
}


/**
 * ----------------------------------------------------------------------------------------------
 * Default styling for site-wide carousel
 * ----------------------------------------------------------------------------------------------
 */

.Carousel {
  position: relative;
}

.Carousel--fixed,
.Carousel--fixed .flickity-viewport,
.Carousel--fixed .Carousel__Cell {
  height: 100%;
}

/* This allows to hide cells that are not first one until slider is loaded */
.Carousel:not(.flickity-enabled) .Carousel__Cell:not(.is-selected) {
  display: none;
}

.Carousel__Cell {
  display: block;
  width: 100%;
}

.js .Carousel--fadeIn .flickity-slider {
  transform: none !important;
}

.js .Carousel--fadeIn .Carousel__Cell {
  left: 0 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.js .Carousel--fadeIn .Carousel__Cell.is-selected {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.Carousel--insideDots .flickity-page-dots {
  position: absolute;
  width: auto;
  margin: 0;
  bottom: 20px;
  left: 20px;
}

.Carousel--insideDots .flickity-page-dots .dot {
  border-color: currentColor;
}

.Carousel--insideDots .flickity-page-dots .dot.is-selected {
  background: currentColor;
}

.Carousel--insideDots .flickity-prev-next-button {
  bottom: -25px;
  z-index: 1;
}

.Carousel--insideDots .flickity-prev-next-button.next {
  right: 25px;
}

.Carousel--insideDots .flickity-prev-next-button.previous {
  right: 75px;
  margin-right: 15px;
}

@media screen and (min-width: 768px) {
  .Carousel--insideDots .flickity-page-dots {
    bottom: 28px;
    right: 24px;
    left: auto;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Collapsible
 *  So the setup is a bit messy and would need some refactoring in the future.  
 *  
 *  There are 3 required elements/classes for the collapsible functionality:
 *  .Collapsible
 *  .Collapsible__Button
 *  .Collapsible__Inner
 * 
 *  It is highly recommended to use 
 *  .Collapsible__Content
 *  as well, it is not necessary for the functionality though.
 *
 *  The .Collapsible__Content element is used a wrapper for the content.
 *  This is because of issues with the opening animation when there are multiple elements inside .Collapsible__Inner without the wrapper.
 *  Do not apply a margin to the wrapper as this also results in issues with the opening animation, use padding instead.
 * 
 *  We have the class .Collapsible--defaultStyling applying the normal styling to the existing collapsible elements
 *  while decoupling the functional class dependencies from the visual aspects.
 *  This allows to have the collapsible functionality without any styles applied.
 * ----------------------------------------------------------------------------
 */

/*
------------------------------
 Functional styles
------------------------------
*/ 
.Collapsible {
  overflow: hidden;
}

.Collapsible__Inner {
  display: block;
  height: 0;
  visibility: hidden;
  transition: height 0.35s ease-in-out, visibility 0s ease-in-out 0.35s;
  overflow: hidden;
}

.Collapsible__Button[aria-expanded=true] + .Collapsible__Inner {
  visibility: visible;
  transition: height 0.35s ease-in-out;
}

@media screen and (min-width: 768px) {
  /* When this class is applied to a collapsible, it will display as a collapsible on mobile but not on larger screen, where it will
     automatically appear is auto-expanded */
  .Collapsible--autoExpand {
    overflow: visible;
  }

  .Collapsible--autoExpand .Collapsible__Button {
    cursor: default;
  }

  .Collapsible--autoExpand .Collapsible__Plus {
    display: none;
  }

  .Collapsible--autoExpand .Collapsible__Inner {
    height: auto;
    visibility: visible;
    overflow: visible;
  }
}

/*
------------------------------
 Semi-functional styles
 (when plus icon is present it probably will have the same appearance most of the time)
------------------------------
*/ 

.Collapsible__Plus {
  position: absolute;
  right: 0;
  top: calc(50% - (11px / 2));
  width: 11px;
  height: 11px;
}

.Collapsible__Plus::before,
.Collapsible__Plus::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  background-color: currentColor;
  transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}

.Collapsible__Plus::before {
  width: 11px;
  height: 1px;
  opacity: 1;
}

.Collapsible__Plus::after {
  width: 1px;
  height: 11px;
}

.Collapsible__Button[aria-expanded=true] .Collapsible__Plus::before,
.Collapsible__Button[aria-expanded=true] .Collapsible__Plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.Collapsible__Button[aria-expanded=true] .Collapsible__Plus::before {
  opacity: 0;
}

.Collapsible__Button {
  position: relative;
}

/*
------------------------------
 Default styling
------------------------------
*/ 

.Collapsible--defaultStyling {
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}

.Collapsible--defaultStyling + .Collapsible--defaultStyling {
  border-top: none;
}

.Collapsible--padded {
  padding-left: 24px;
  padding-right: 24px;
}

.Checkmark__List, .Rte .Checkmark__List {
  list-style: none;
  margin-left: 0;
}

.Collapsible--checkmark, .Checkmark__List li {
  position: relative;
}

.Collapsible--checkmark .Icon--checkmark, .Checkmark__List .Icon--checkmark, .Checkmark__List .Icon--crossmark {
  position: absolute;
  width: 1.4em;
  height: 1.4em;
  margin-top: 2px;
  left: 0;
}

.Collapsible--checkmark .Collapsible__Button, .Checkmark__List li {
  padding-left: 30px !important;
}

.Checkmark__List--centered li {
  padding-left: 0 !important;
}

.Checkmark__List--centered .Icon--checkmark {
  position: relative;
  margin-top: 0;
  bottom: 2px;
  margin-right: 6px;
}

.Collapsible--defaultStyling .Collapsible__Button {
  display: block;
  width: 100%;
  padding: 20px 0;
  text-align: left;
  cursor: pointer;
  padding-right: 18px; /* In order to prevent the text of getting into the plus-icon */
}

.FAQList__Item.Collapsible--defaultStyling .Collapsible__Button, .ComponentList__Item.Collapsible--defaultStyling .Collapsible__Button {
  color: var(--c-text-subdued);
}

.Product__Tabs .Collapsible__Content, .ComponentList .Collapsible__Content {
  padding-bottom: 25px;
}

.Collapsible--defaultStyling .Collapsible--defaultStyling {
  margin-left: 16px;
  border: none;
}

.Collapsible--defaultStyling .Collapsible--defaultStyling .Collapsible__Button {
  /* padding: 13px 0; */
  padding: 9px 0;
  padding-right: 18px;
}

.Collapsible--defaultStyling .Collapsible__Content {
  padding-bottom: 18px;
}

.Collapsible--defaultStyling .Linklist {
  margin-bottom: 4px;
}

.Collapsible--defaultStyling .Linklist--bordered {
  margin-top: 16px;
  margin-bottom: 4px;
}

.Collapsible--defaultStyling.Collapsible--small {
  border: unset;
}

.Collapsible--defaultStyling.Collapsible--small .Collapsible__Button {
  padding: 0;
  padding-top: 10px;
  width: auto;
  padding-left: 25px;
}

.Collapsible--defaultStyling.Collapsible--small .Collapsible__Plus {
  top: 50%;
  left: 0px;
}

.Collapsible--defaultStyling.Collapsible--small .Collapsible__Inner {
  padding-top: 8px;
}

@media screen and (min-width: 768px) {
  .Collapsible--defaultStyling.Collapsible--autoExpand {
    border: none;
  }

  .Collapsible--defaultStyling.Collapsible--autoExpand .Collapsible__Button {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 16px;
  }

  .Collapsible--defaultStyling.Collapsible--autoExpand .Collapsible__Plus {
    display: none;
  }

  .Collapsible--defaultStyling.Collapsible--autoExpand .Collapsible__Content {
    padding-bottom: 0;
  }

  .Collapsible--defaultStyling.Collapsible--autoExpand .Linklist {
    margin-bottom: 0;
  }

  .Collapsible--defaultStyling.Collapsible--autoExpand {
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 992px) {
  .Collapsible--padded {
    padding-left: 30px;
    padding-right: 30px;
  }

  .Collapsible--defaultStyling.Collapsible--large .Collapsible__Button {
    padding: 34px 0;
  }

  .Collapsible--defaultStyling.Collapsible--large .Collapsible__Content {
    padding-bottom: 45px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Base drawer
 * ----------------------------------------------------------------------------
 */
.Drawer {
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  width: calc(100vw - 65px); /* Interestingly, 100% does not work on iOS 9 and lower */
  height: 100vh;
  max-height: none;
  z-index: 20;
  transition: transform 0.5s var(--drawer-transition-timing), visibility 0.5s var(--drawer-transition-timing);
  background: var(--c-surface);
  box-shadow: none;
  touch-action: manipulation; /* Animating box-shadow is slow, even on modern browsers, so we instead move it in a pseudo-element and animate opacity */
}

@media (max-width: 420px) {
  .Drawer {
    width: calc(100vw - 35px);
    /* width: calc(100vw - 65px); */
  }

  .Drawer.Drawer--fromRight {
    transform: translateX(calc(100vw - 35px));
  }
}

.Drawer:focus {
  outline: none;
}

.Drawer::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  box-shadow: 2px 0 10px rgba(54, 54, 54, 0.2), -2px 0 10px rgba(54, 54, 54, 0.2);
  opacity: 0;
  transition: opacity 0.5s var(--drawer-transition-timing);
}

.Drawer--fromLeft {
  transform: translateX(calc(-100vw + 65px));
}

.Drawer--fromRight {
  right: 0;
  left: auto;
  transform: translateX(calc(100vw - 65px));
}

.Drawer[aria-hidden=false] {
  visibility: visible;
  transform: translateX(0);
}

.Drawer[aria-hidden=false]:not(.LoadingContainer)::before {
  opacity: 1;
}

.Drawer__Container {
  width: 100%;
}

/* .Drawer--fromLeft .Drawer__Container {
  padding-left: 18px;
  padding-right: 24px;
}

.Drawer--fromRight .Drawer__Container {
  padding-left: 24px;
  padding-right: 18px;
} */

.Drawer__Container {
  padding: 0 20px;
}

.Drawer__Header {
  display: flex;
  align-items: center;
  position: relative;
  height: 50px;
  max-height: 60px;
  background: inherit;
  text-align: center;
  z-index: 1;
}

.Drawer__Header--flexible {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding-top: 20px;
  padding-bottom: 20px;
}

.Drawer__Header--flexible .Drawer__Close {
  top: 25px;
}

@supports (--css: variables) {
  .Drawer__Header {
    height: var(--header-height);
  }
}

.Drawer__Header--center {
  justify-content: center;
}

.Drawer__Close {
  position: absolute;
  margin-left: 0;
  left: 18px;
  top: calc(50% - 7px);
  line-height: 0;
}

.Drawer__Close svg {
  width: 15px;
  height: 15px;
  stroke-width: 1.25px;
}

.Drawer--fromRight .Drawer__Close {
  right: 18px;
  left: auto;
}

.Drawer__Header--bordered {
  box-shadow: 0 -1px var(--c-border) inset;
}

.Drawer__Content {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: calc(100% - 60px);
  max-height: calc(100% - 50px); /* This handles an edge case when the header is much bigger than the maximum size for content, but this only works on Safari as of today */
}

@supports (--css: variables) {
  .Drawer__Content {
    height: calc(100% - var(--header-height));
    max-height: calc(100% - var(--header-height));
  }
}

@supports (width: calc(max(100%))) {
  .Drawer__Content {
    height: max(calc(100% - var(--header-height)), calc(100% - 60px));
    max-height: max(calc(100% - var(--header-height)), calc(100% - 60px));
  }
}

.Drawer__Main {
  flex: 1 1 auto;
}

.Drawer__Footer {
  flex: none;
  box-shadow: 0 -1px var(--c-border);
}

.Drawer__Footer--padded {
  padding: 24px;
}

@media screen and (min-width: 768px) {
  .Drawer {
    width: 400px;
    transform: translateX(-100%);
  }

  .Drawer--small {
    width: 340px;
  }

  .Drawer--fromRight {
    transform: translateX(100%);
  }

  .Drawer__Header {
    /* max-height: 80px; */
    min-height: 60px;
  }

  /* @supports (width: calc(max(100%))) {
    .Drawer__Content {
      /* This handles an edge case when the header is much bigger than the maximum size for content, but this only works on Safari as of today
      height: max(calc(100% - var(--header-height)), calc(100% - 80px));
      max-height: max(calc(100% - var(--header-height)), calc(100% - 80px));
    }
  } */

  /* .Drawer--fromLeft .Drawer__Container,
  .Drawer--fromRight .Drawer__Container {
    padding-left: 30px;
    padding-right: 30px;
  } */

  .Drawer__Close {
    left: 30px;
  }

  .Drawer--fromRight .Drawer__Close {
    right: 30px;
    left: auto;
  }

  .Drawer__Close svg {
    stroke-width: 1.5px;
  }

  .Drawer__Footer--padded {
    padding: 24px 30px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Animation
 * ----------------------------------------------------------------------------
 */

[data-drawer-animated-left],
[data-drawer-animated-right] {
  opacity: 0;
  transition: opacity 0.5s ease 0.25s, transform 0.5s ease 0.25s;
}

.Drawer[aria-hidden=false] [data-drawer-animated-left],
.Drawer[aria-hidden=false] [data-drawer-animated-right] {
  opacity: 1;
  transform: translateX(0);
}

[data-drawer-animated-left] {
  transform: translateX(-65px);
}

[data-drawer-animated-right] {
  transform: translateX(65px);
}

[data-drawer-animated-bottom] {
  opacity: 0;
  transform: translateY(45px);
  transition: opacity 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.Drawer[aria-hidden=false] [data-drawer-animated-bottom] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.45s, transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.45s;
}
/**
 * ----------------------------------------------------------------------------
 * Basic form
 * ----------------------------------------------------------------------------
 */

 /* radio styling mostly taken from https://moderncss.dev/pure-css-custom-styled-radio-buttons/ */
 input[type="radio"] { 
  -webkit-appearance: none;
  appearance: none;
  color: currentColor;
  width: 1.125em;
  height: 1.125em;
  border: 0.1em solid currentColor;
  border-radius: 50%;
  /*  
  Should acutally be -0.05 (half of the border width) but causes pixel issue 
  And appears to be better aligned without the transformation too */
  transform: translateY(-0.06em);
  /* For iOS < 15 to remove gradient background */
  background-color: var(--form-background, var(--c-surface));
  display: grid;
  place-content: center;
  cursor: pointer;
}

input[type="radio"]::before {
  content: "";
  width: 0.625em;
  height: 0.625em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-text, var(--c-text));
  /* Windows High Contrast Mode */
  background-color: CanvasText;
}

input[type="radio"]:checked::before {
  transform: scale(1);
}

input[type="radio"]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}

.Form {
  width: 100%;
}

.Form__Item {
  position: relative;
  margin-bottom: 15px;
}

.Form__Input,
.Form__Textarea,
.spr-form-input-text,
.spr-form-input-email,
.spr-form-input-textarea {
  -webkit-appearance: none;
  display: block;
  padding: 12px 14px;
  border-radius: 0;
  border: 1px solid var(--c-border);
  width: 100%;
  height: 100%;
  line-height: normal;
  resize: none;
  transition: border-color 0.1s ease-in-out;
  /* background: transparent; */
  background-color: var(--c-surface-neutral);
}

.Form__Input:focus,
.Form__Textarea:focus,
.spr-form-input-text:focus,
.spr-form-input-email:focus,
.spr-form-input-textarea:focus {
  /* border-color: rgba(var(--text-color-rgb), 0.8); */
  border-color: var(--c-text);
  outline: none;
}

.Form__Input::-moz-placeholder, .Form__Textarea::-moz-placeholder, .spr-form-input-text::-moz-placeholder, .spr-form-input-email::-moz-placeholder, .spr-form-input-textarea::-moz-placeholder {
  color: var(--c-text-subdued);
}

.Form__Input:-ms-input-placeholder, .Form__Textarea:-ms-input-placeholder, .spr-form-input-text:-ms-input-placeholder, .spr-form-input-email:-ms-input-placeholder, .spr-form-input-textarea:-ms-input-placeholder {
  color: var(--c-text-subdued);
}

.Form__Input::placeholder,
.Form__Textarea::placeholder,
.spr-form-input-text::placeholder,
.spr-form-input-email::placeholder,
.spr-form-input-textarea::placeholder {
  color: var(--c-text-subdued);
}

.Form__FloatingLabel {
  position: absolute;
  bottom: calc(100% - 8px);
  left: 10px;
  padding: 0 5px;
  line-height: normal;
  color: var(--c-text-subdued);
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  opacity: 0;
  background: rgba(var(--c-surface-rgb), 0);
  pointer-events: none;
  transform: translateY(3px);
  transition: all 0.3s ease-in-out;
}

.Form__Input:not(:-moz-placeholder-shown) ~ .Form__FloatingLabel, .Form__Textarea:not(:-moz-placeholder-shown) ~ .Form__FloatingLabel {
  opacity: 1;
  background: var(--c-surface);
  transform: translateY(0);
}

.Form__Input:not(:-ms-input-placeholder) ~ .Form__FloatingLabel, .Form__Textarea:not(:-ms-input-placeholder) ~ .Form__FloatingLabel {
  opacity: 1;
  background: var(--c-surface);
  transform: translateY(0);
}

.Form__Input:not(:placeholder-shown) ~ .Form__FloatingLabel,
.Form__Textarea:not(:placeholder-shown) ~ .Form__FloatingLabel {
  opacity: 1;
  /* background: var(--c-surface); */
  background: linear-gradient(0deg, var(--c-surface-neutral) 49.5%, var(--c-surface) 49.5%);
  transform: translateY(0);
}

.Form__Checkbox {
  position: absolute;
  opacity: 0;
}

.Form__Checkbox ~ label::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 10px;
  border: 1px solid var(--c-border);
  vertical-align: -2px;
}

.Form__Checkbox ~ svg {
  position: absolute;
  /* top: 5px;
  left: 1px;
  width: 12px;
  height: 12px; */
  top: 3px;
  left: -3px;
  width: 22px;
  height: 22px;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  will-change: transform;
}

.Form__Checkbox:checked ~ label::before {
  border-color: var(--c-text-subdued);
}

.Form__Checkbox:checked ~ svg {
  transform: scale(1);
}

.Form__Alert:not(:empty),
.spr-form-message {
  margin-bottom: 20px;
}

.Form__AlertLink {
  display: inline-block;
  margin: 4px 0 3px;
}

.Form__Submit:not(.Form__Item.HorizontalList__Item .Form__Submit) {
  display: block;
  margin-top: 20px;
}

.Form__Label,
.spr-form-label {
  display: block;
  padding-bottom: 8px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  text-transform: uppercase;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  letter-spacing: 0.2em;
  line-height: normal;
}

.Form--small .Form__Input,
.Form--small .Form__Textarea {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
  padding-top: 10px;
  padding-bottom: 10px;
}

.Form--spacingTight .Form__Item {
  margin-bottom: 15px;
}

.Form--spacingTight .Form__Alert:not(:empty) {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .Form__Item,
  .Form__Alert:not(:empty) {
    margin-bottom: 30px;
  }

  .Form__Group {
    display: flex;
  }

  .Form__Group > .Form__Item {
    flex: 1;
  }

  .Form__Group > :nth-child(2) {
    margin-left: 30px;
  }

  .Form--spacingTight .Form__Group > :nth-child(2) {
    margin-left: 15px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Form elements
 * ----------------------------------------------------------------------------
 */

.Form__Header {
  margin-bottom: 24px;
  margin-top: -0.325rem;
  /* text-align: center; */
}

.Form__Hint {
  margin: 24px 0 0 0;
}

.Form__Hint:not(:last-child) {
  margin-bottom: 32px;
}

/* .Form__Hint--center {
  text-align: center;
} */

.Form__ItemHelp {
  position: absolute;
  right: 12px;
  top: 50%;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  color: var(--c-text-subdued);
  transform: translateY(-50%);
}

.Form__Header .Form__Title {
  margin-bottom: 15px;
}

.Form__Header .Form__Subheading .Icon--email, .Article__NewsletterPopup .Icon--email {
  width: 25px;
  margin-right: 10px;
}

/**
 * ----------------------------------------------------------------------------
 * Register/login/club page and form customisations
 * ----------------------------------------------------------------------------
 */

.Icon--account-new {
  height: 26px;
  width: auto;
}

.Form__Wrapper, .ClubLandingPage__HeroPanel {
  opacity: 1;
  background-color: var(--c-surface);
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 3px;
}

.Form__Body {
  padding: 20px;
}

.Form__Intro {
  padding: 17px 20px;
  border-bottom: 1px solid var(--c-border);
  /* box-shadow: 0 1px 6px 0 rgba(0,0,0,.07); */
}

.Club__LogoWrapper {
  min-width: 35px;
  max-width: 90px;
  width: 100%;
}

.Form__Intro .Club__LogoWrapper {
  min-width: 45px;
  max-width: 70px;
  width: 100%;
}

.ClubLandingPage__Intro .Club__LogoWrapper {
  min-width: 45px;
  max-width: 90px;
  width: 100%;
}

.Form__Intro .Icon--select-arrow {
  width: 10px;
  height: auto;
}

.Form__LoginWrapper {
  min-height: 300px;
}

#continue_as_guest::before {
  content: "";
  width: calc(100% + 40px);
  position: absolute;
  height: 1px;
  background-color: var(--c-border);
  left: -20px;
  top: -15px;
}

#continue_as_guest {
  margin-top: 38px;
  position: relative;
}

@media (max-width: 767px) {
  .Form__LoginWrapper {
    border-bottom: 1px solid var(--c-border);
    padding-bottom: 30px;
  }

  #continue_as_guest {
    margin-top: 50px;
    padding-top: 13px;
    padding-bottom: 4px;
  }

  .Form__Wrapper, .ClubLandingPage__HeroPanel {
    margin-top: 25px;
    margin-bottom: 25px;
  }
}

@media (min-width: 768px) {
  .Form__Body .row::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background-color: var(--c-border);
    top: 0;
    left: 50%;
  }

  .Form__Wrapper .Form {
    padding: 20px;
  }

  .Form__Intro {
    padding: 17px 40px;
  }
}

/* Club landing page */
.ClubLandingPage__Hero .PageContent {
  max-width: unset;
}

.ClubLandingPage__Intro, .ClubLandingPage__Footer {
  padding: 20px;
}

.ClubLandingPage__Intro, .ClubLandingPage__Text, .ClubLandingPage__Footer, .ClubLandingPage__Intro > * {
  width: 100%;
}

.ClubLandingPage__Text .Icon--select-arrow {
  width: 12px;
  height: auto;
}

.ClubLandingPage__Footer {
  border-top: 1px solid var(--c-border);
}

.ClubLandingPage .Image--contrast::after {
  background-color: rgba(0,0,0,0.04);
}

@media (min-width: 768px) {
  .ClubLandingPage__Header .Heading, .ClubLandingPage__Text {
    max-width: 380px;
    hyphens: none;
  }

  .ClubLandingPage__Intro, .ClubLandingPage__Footer {
    padding: 25px;
  }  

  .ClubLandingPage__HeroPanel {
    background-color: unset;
  }
}

@media (max-width: 767px) {
  .ClubLandingPage__VideoWrapper {
    border-left: 5px solid var(--c-primary);
    border-right: 5px solid var(--c-primary);
  }
}

@media (max-width: 575px) {
  .ClubLandingPage__Footer .Button {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* Ugly adjustment to make the video same height as the white panel */
@media (min-width: 1400px) {
  .ClubLandingPage__VideoWrapper {
    width: calc(53% + 4px) !important;
  }

  .ClubLandingPage__IntroWrapper {
    width: calc(47% - 4px) !important;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Styled select
 * ----------------------------------------------------------------------------
 */
select::-ms-expand {
  display: none;
}

.Select {
  position: relative;
  color: currentColor;
  line-height: 1;
  vertical-align: middle;
}

.Select svg {
  position: absolute;
  line-height: normal;
  pointer-events: none;
  vertical-align: baseline;
  fill: currentColor;
}

.Select select {
  /* Disable built-in styles */
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  color: inherit;
  cursor: pointer;
  border-radius: 0;
  line-height: normal; /* Remove the ugly blue background on IE when a value is selected */
}

.Select select:focus::-ms-value {
  background: var(--c-surface);
  color: var(--c-text-subdued);
}

.Select select.invalid {
  border: 1px solid var(--c-text-error);
}

/* Make sure to have something easy to read... */
.Select option {
  background: var(--c-surface);
  color: black;
}

.Select--primary::after {
  content: "";
  position: absolute;
  right: 1px;
  top: 1px;
  height: calc(100% - 2px);
  width: 55px;
  background: linear-gradient(to right, rgba(var(--c-surface-rgb), 0), rgba(var(--c-surface-rgb), 0.7) 20%, var(--c-surface) 40%);
  pointer-events: none;
}

.Select--primary select {
  width: 100%;
  height: 45px;
  padding-left: 14px;
  padding-right: 28px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
}

.Select--primary select:active, .Select--primary select:focus {
  border-color: var(--c-text-subdued);
  outline: none;
}

.Select--primary svg {
  top: calc(50% - 5px);
  right: 15px;
  width: 10px;
  height: 10px;
  z-index: 1;
}

.Select--transparent select {
  padding-right: 15px;
  background: transparent;
  border: none;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  font-size: inherit;
  text-transform: uppercase;
}

.Select--transparent svg {
  top: calc(50% - 3px);
  right: 0;
  height: 6px;
}

/**
 * ----------------------------------------------------------------------------
 * Select button (emulate a select button without the actual select)
 * ----------------------------------------------------------------------------
 */

.SelectButton {
  position: relative;
  color: currentColor;
  padding: 2px 18px 2px 0;
  background: transparent;
  border: none;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  text-transform: uppercase;
}

.SelectButton svg {
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  height: 6px;
}
.HorizontalList {
  list-style: none;
  margin: -6px -8px;
}

.HorizontalList__Item {
  display: inline-block;
  margin: 6px 8px 6px 8px;
}

.HorizontalList__Item > .Link {
  display: inline-block;
}

.HorizontalList--spacingTight {
  margin: -3px -6px;
}

.HorizontalList--spacingTight .HorizontalList__Item {
  margin: 3px 6px 3px 6px;
}

.HorizontalList--spacingLoose {
  margin-left: -14px;
  margin-right: -14px;
}

.HorizontalList--spacingLoose .HorizontalList__Item {
  margin-right: 14px;
  margin-left: 14px;
}

.HorizontalList--spacingExtraLoose {
  margin-left: -17px;
  margin-right: -17px;
}

.HorizontalList--spacingExtraLoose .HorizontalList__Item {
  margin-right: 17px;
  margin-left: 17px;
}

.HorizontalList--spacingFill {
  display: flex;
  justify-content: space-around;
  justify-content: space-evenly;
}

.HorizontalList--spacingFill .HorizontalList__Item {
  margin-left: 0;
  margin-right: 0;
}

@media screen and (min-width: 1200px) {
  .HorizontalList--spacingLooseDesktop {
    margin-left: -14px;
    margin-right: -14px;
  }
  
  .HorizontalList--spacingLooseDesktop .HorizontalList__Item {
    margin-right: 14px;
    margin-left: 14px;
  }

  .HorizontalList--spacingExtraLoose {
    margin-left: -21px;
    margin-right: -21px;
  }

  .HorizontalList--spacingExtraLoose .HorizontalList__Item {
    margin-right: 21px;
    margin-left: 21px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Scroll list functional CSS
 * ----------------------------------------------------------------------------
 */
.scroll-list {
  overflow: hidden;
  position: relative;
  --hsl-bg-rgb: 255,255,255;
  /* Not sure about that, this enables "borderless" scrolling, but has it too many negative side effects? */
  width: calc(100% + (2 * var(--container-horizontal-spacing)));
  margin-left: calc(var(--container-horizontal-spacing) * -1);   
}

.scroll-list.scrollable--left::before, .scroll-list.scrollable--right::after {
  content: "";
  width: 60px;
  height: calc(100% - 1px); /* Don't overlap bottom border */
  position: absolute;
  top: 0;
  z-index: 2;
  pointer-events: none;
}
.scroll-list.scrollable--left::before {
  background-image: linear-gradient(90deg, rgb(var(--hsl-bg-rgb)) 40%, rgba(var(--hsl-bg-rgb), 0.6), rgba(var(--hsl-bg-rgb), 0));
  left: 0;
}
.scroll-list.scrollable--right::after {
  background-image: linear-gradient(270deg, rgb(var(--hsl-bg-rgb)) 40%, rgba(var(--hsl-bg-rgb), 0.6), rgba(var(--hsl-bg-rgb), 0));
  right: 0;
}

/* for "borderless" scrolling */
.scroll-list__item:first-child {
  margin-left: var(--container-horizontal-spacing);
}
.scroll-list__item:last-child {
  margin-right: var(--container-horizontal-spacing);
}

.scroll-list.dragging .scroll-list__item {
  pointer-events: none;
  touch-action: none;
}

.scroll-list__content {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  /* gap: .5rem; Not sure about giving default gap, it should only apply functional aspects */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  /* Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
} 
/* Hide scrollbar for Chrome, Safari and Opera */
.scroll-list__content::-webkit-scrollbar {
  display: none;
}

.scroll-list__nav {
  position: absolute;
  font-size: 0.875em;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity linear 0.2s, visibility linear 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.scroll-list__nav.is-visible {
  opacity: 1;
  visibility: visible;
}

.scroll-list__nav--left {
  left: 11px;
}

.scroll-list__nav--right {
  right: 11px;
}

/**
 * ----------------------------------------------------------------------------
 * Price list
 * ----------------------------------------------------------------------------
 */
.PriceList {
  line-height: normal;
  display: flex;
  /* align-items: flex-end; */
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.PriceList__Item:empty {
  display: none;
}

/**
 * ----------------------------------------------------------------------------
 * Image overlay
 * ----------------------------------------------------------------------------
 */

.Image--contrast {
  position: relative;
}

.Image--contrast::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-image: linear-gradient(to top, rgba(4, 4, 4, 0.65), rgba(54, 54, 54, 0.2));
}

.Image--contrast > * {
  z-index: 1;
}

/**
 * ----------------------------------------------------------------------------
 * Image lazy loader (integrates with lazy sizes)
 * ----------------------------------------------------------------------------
 */

@-webkit-keyframes lazyLoader {
  0%, 100% {
    transform: translateX(-50%);
  }
  50% {
    transform: translateX(100%);
  }
}

@keyframes lazyLoader {
  0%, 100% {
    transform: translateX(-50%);
  }
  50% {
    transform: translateX(100%);
  }
}

.Image--fadeIn {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.Image--lazyLoaded.Image--fadeIn {
  opacity: 1;
}

.features--show-image-zooming .Image--zoomOut {
  transform: scale(1.1);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.features--show-image-zooming .Image--lazyLoaded.Image--zoomOut {
  opacity: 1;
  transform: none;
}

/* If zoom is disabled we apply the same effect than fadeIn */
body:not(.features--show-image-zooming) .Image--zoomOut {
  opacity: 0;
  transition: opacity 0.3s ease;
}

body:not(.features--show-image-zooming) .Image--lazyLoaded.Image--zoomOut {
  opacity: 1;
}

.Image--slideRight,
.Image--slideLeft {
  transform: translateX(25px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.Image--slideLeft {
  transform: translateX(-25px);
}

.Image--lazyLoaded.Image--slideRight,
.Image--lazyLoaded.Image--slideLeft {
  opacity: 1;
  transform: translateX(0);
}

.Image__Loader {
  position: absolute;
  display: block;
  height: 2px;
  width: 50px;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
  margin: auto;
  pointer-events: none;
  background-color: var(--c-border);
  z-index: -1;
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.Image__Loader::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: 200%;
  background-color: var(--c-text);
}

.Image--lazyLoading + .Image__Loader {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.Image--lazyLoading + .Image__Loader::after {
  -webkit-animation: lazyLoader 3s infinite;
          animation: lazyLoader 3s infinite;
  -webkit-animation-timing-function: cubic-bezier(0.43, 0.43, 0.25, 0.99);
          animation-timing-function: cubic-bezier(0.43, 0.43, 0.25, 0.99);
}

/**
 * ----------------------------------------------------------------------------
 * Aspect ratio
 * ----------------------------------------------------------------------------
 */

.AspectRatio {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

.AspectRatio::before {
  content: "";
  display: block;
}

.AspectRatio > img {
  max-height: 100%;
  max-width: 100%;
}

.AspectRatio--withFallback > img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.no-js .AspectRatio > img {
  display: none !important;
}

@supports (--css: variables) {
  /* For dynamic one, we use CSS variables, which makes it only compatible for newer browsers */
  .AspectRatio--withFallback {
    padding-bottom: 0 !important; /* For older browsers we use the padding-bottom trick, so make sure to remove it here */
  }

  .AspectRatio::before {
    padding-bottom: calc(100% / (var(--aspect-ratio)));
  }

  .AspectRatio > img,
  .no-js .AspectRatio > noscript img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    font-family: "object-fit: contain;";
    /* polyfill for IE */
  }
}

.AspectRatio--square::before {
  padding-bottom: 100%;
}

.AspectRatio--short::before {
  padding-bottom: 75%;
}

.AspectRatio--landscape::before {
  padding-bottom: 56%;
}

.AspectRatio--tall::before {
  padding-bottom: 150%;
}

.AspectRatio--square > img,
.AspectRatio--short > img,
.AspectRatio--landscape > img,
.AspectRatio--tall > img {
  position: absolute;
  width: auto;
  height: auto;
  left: 50%;
  top: 50%;
  /* transform: translate(-50%, -50%); */
  /* Added the translateZ(0) to fix an issue in Safari where images are blurry due to optimize-contrast rule*/
  transform: translateX(-50%) translateY(-50%) translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@supports ((-o-object-fit: contain) or (object-fit: contain)) {
  .AspectRatio--square > img,
  .AspectRatio--short > img,
  .AspectRatio--landscape > img,
  .AspectRatio--tall > img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.Image--lazyLoad[data-sizes=auto] {
  width: 100%; /* this is needed to help LazySizes calculate the correct size */
}
/**
 * ----------------------------------------------------------------------------
 * List
 * ----------------------------------------------------------------------------
 */

.Linklist {
  list-style: none;
  padding: 0;
}

.Linklist__Item {
  position: relative;
  display: block;
  margin-bottom: 12px;
  width: 100%;
  /* line-height: 1.5; Why change line-height? */
  text-align: left;
  transition: all 0.2s ease-in-out;
}

.Linklist__Item:last-child {
  margin-bottom: 0 !important;
}

.Linklist__Item::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  top: calc(50% - 3px);
  left: 0;
  border-radius: 100%;
  background: var(--c-text-subdued);
  opacity: 0;
  transition: opacity 0.1s ease-in-out;
}

.row > .Linklist__Item {
  margin-bottom: 0; /* Remove margin when Linklist is used with .row horizontically */
}

.MenuAppearanceGroup--one .Linklist__Item {
  position: initial; /* For the hover preview to position properly */
}

.d-flex > .Linklist__Item {
  width: initial; /* When .d-flex is active, retain normal width, as this was probably intended */
  margin-bottom: 0;
}

.Linklist__Item > .Link {
  display: block;
  /* width: 100%; */ /* Trying without width, makes the clickable area smaller, but the hover box is true to text size */
  width: fit-content;
  text-align: inherit;
  z-index: 1;
}

.Linklist--spacingLoose .Linklist__Item {
  margin-bottom: 18px;
}

.Linklist__Item.is-selected {
  padding-left: 18px;
}

.Linklist__Item.is-selected::before {
  opacity: 1;
  transition-delay: 0.1s;
}

.Linklist--bordered {
  margin-left: 8px;
  padding: 0 20px 0 25px;
  border-left: 1px solid var(--c-border);
}

.Linklist--bordered li:first-child .Linklist__Item {
  margin-top: 2px;
}

.Linklist--bordered li:last-child .Linklist__Item {
  margin-bottom: 2px;
}

.Linklist--borderedBottom li {
  margin-bottom: 0 !important;
}

.Linklist--borderedBottom a {
  padding-bottom: 17px;
  padding-top: 17px;
}

.Linklist--borderedBottom li:not(:first-of-type) {
  border-top: 1px solid var(--c-border);
}

.Linklist--borderedBottom a:hover {
  opacity: 0.6;
}

/**
 * Google map
 */

.FeaturedMap {
  max-width: 1150px;
  margin: 0 auto;
}

.FeaturedMap__MapContainer {
  position: relative;
  height: 240px;
  background-size: cover;
  background-position: center;
}

.FeaturedMap__GMap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.FeaturedMap__Info {
  position: relative;
  margin: 0 auto;
  background: var(--c-surface-subdued);
  text-align: left;
  z-index: 1;
  padding: 25px;
}

.FeaturedMap__Store {
  display: block;
  margin-bottom: 1.2em;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
}

.FeaturedMap__Address {
  margin-bottom: 1.2em;
}

.FeaturedMap__Location {
  margin-top: 2.7em;
}

@media screen and (min-width: 768px) {
  .FeaturedMap {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    padding-top: 0;
    height: 550px;
  }

  .FeaturedMap__MapContainer {
    flex: 1 0 auto;
    height: 100%;
  }

  .FeaturedMap__Info {
    flex: none;
    min-width: 370px;
    width: 370px;
    padding: 50px 60px;
  }
}

/**
 * --------------------------------------------------------------------
 * VIDEO WRAPPER
 * --------------------------------------------------------------------
 */

.VideoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  background-repeat: no-repeat;
  background-size: 100%;
  filter: none;
}

.VideoWrapper iframe,
.VideoWrapper object,
.VideoWrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* For native one we use a different thing */
.VideoWrapper--native::after {
  display: none;
}

.VideoWrapper--native .plyr,
.VideoWrapper--native video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.VideoWrapper--native .plyr__video-wrapper,
.VideoWrapper--native video {
  height: 100%;
}

/* 
  2:3
  Calculation is for some reason 3/2 to receive 1.5, hence 150%
*/
.VideoWrapper--tall {
  padding-bottom: 150%;
}

/* 9:16 */
.VideoWrapper--extraTall {
  padding-bottom: 177.92%;
}

/**
 * --------------------------------------------------------------------
 * 3D MODEL WRAPPER
 * --------------------------------------------------------------------
 */

.ModelWrapper {
  position: relative;
  padding-bottom: 100%;
}

.ModelWrapper .shopify-model-viewer-ui,
.ModelWrapper model-viewer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/**
 * ----------------------------------------------------------------------------
 * Anchor
 * ----------------------------------------------------------------------------
 */
.Anchor {
  display: block;
  position: relative;
  top: -75px;
  visibility: hidden;
}

@supports (--css: variables) {
  .Anchor {
    top: calc(-1 * ((var(--header-height)) + var(--announcement-bar-height, 0px)));
  }
}

/**
 * ----------------------------------------------------------------------------
 * Podcast Links
 * ----------------------------------------------------------------------------
 */
.PodcastLinks .Icon {
  width: 100%;
  height: auto;
}

@media (max-width: 575px) {
  .PodcastLinks .HorizontalList__Item {
    max-width: calc(33.33% - 16px);
  }
}

@media (min-width: 576px) {
  .PodcastLinks .Link {
    max-width: 130px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Loading bar
 * ----------------------------------------------------------------------------
 */

.LoadingBar {
  position: fixed;
  top: 0;
  left: 0;
  /* height: 2px; */
  height: 4px;
  width: 0;
  opacity: 0;
  /* background: var(--c-text); */
  background: var(--c-primary);
  transition: width 0.25s ease-in-out;
  z-index: 50;
  pointer-events: none;
}

.LoadingBar.is-visible {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .LoadingBar {
    height: 3px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Placeholder (used within the theme editor only)
 * ----------------------------------------------------------------------------
 */

.PlaceholderSvg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.PlaceholderSvg--dark {
  background: dimgray;
  fill: #a1a1a1;
}

.PlaceholderBackground {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
  opacity: 0.7;
}

.PlaceholderBackground__Svg {
  height: 100% !important;
  width: auto !important;
  min-width: 100%;
}

/**
 * ----------------------------------------------------------------------------
 * Quantity selector
 * ----------------------------------------------------------------------------
 */

.QuantitySelector {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--c-border);
  white-space: nowrap;
}

.CartItem--free .QuantitySelector {
  padding: 5px;
}

.QuantitySelector svg {
  width: 10px;
  height: 10px;
  stroke-width: 1.5px;
  /* vertical-align: -1px; */
  vertical-align: initial;
}

.QuantitySelector__Button {
  display: inline-block;
  /* padding: 5px 9px; this allows to slightly increase the clickable area */
  padding: 2px 12px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.QuantitySelector__CurrentQuantity {
  display: inline-block;
  width: 20px;
  padding: 0;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 10px));
  text-align: center;
  letter-spacing: normal;
  background: transparent;
  border: none;
}

.QuantitySelector--large .QuantitySelector__CurrentQuantity {
  width: 35px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));
}

.QuantitySelector--large .QuantitySelector__Button {
  padding: 10px 20px;
}

.QuantitySelector--large svg {
  width: 11px;
  height: 11px;
}

@media screen and (min-width: 768px) {
  /* .QuantitySelector__Button {
    padding: 7px 14px 8px 14px;
  } */

  .QuantitySelector__CurrentQuantity {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  }
}

/**
 * ----------------------------------------------------------------------------
 * Product price
 * ----------------------------------------------------------------------------
 */

.Price {
  display: inline-block;
}

.Price--highlight {
  color: var(--c-text-attention);
}

.Price.Price--compareAt, .Price--compareAt {
  position: relative;
  padding-left: 0.3em;
  padding-right: 0.3em;
}

.Price--compareAt::before {
  position: absolute;
  content: "";
  height: 1px;
  background: currentColor;
  top: 50%;

  /* left: -0.4em;
  width: calc(100% + 0.8em); */

  left: -50%;
  width: 100%;
  transform: translateX(50%);
}

.UnitPriceMeasurement {
  color: var(--c-text-subdued);
  /* remove newline nodes between span elements */
  display: flex;
}

.UnitPriceMeasurement__Separator {
  margin: 0 0.25em;
}

/**
 * ----------------------------------------------------------------------------
 * Color swatch
 * ----------------------------------------------------------------------------
 */

.ColorSwatch {
  position: relative;
  display: inline-block;
  height: 30px;
  width: 30px;
  vertical-align: top;
  cursor: pointer;
  background-size: cover;
}

.ColorSwatch::after {
  content: "";
  position: absolute;
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  top: -3px;
  left: -3px;
}

.ColorSwatch:hover::after {
  border: 1px solid var(--c-border);
}

.ColorSwatch--small {
  width: 16px;
  height: 16px;
}

.ColorSwatch--large {
  width: 36px;
  height: 36px;
}

.ColorSwatch--white {
  outline: 1px solid var(--c-border);
  outline-offset: -1px;
}

.ColorSwatch.is-active::after,
.ColorSwatch__Radio:checked + .ColorSwatch::after {
  border: 1px solid currentColor !important;
}

.ColorSwatch__Radio {
  position: absolute;
  height: 0;
  width: 0;
  opacity: 0;
}

.ColorSwatchList .HorizontalList__Item {
  position: relative;
}

.Collapsible--defaultStyling .ColorSwatchList {
  padding-top: 4px;
  padding-bottom: 10px;
}

.Collapsible--defaultStyling.Collapsible--autoExpand .ColorSwatchList {
  padding-top: 8px;
  padding-bottom: 12px;
}

/**
 * ----------------------------------------------------------------------------
 * Size swatch
 * ----------------------------------------------------------------------------
 */

.Swatch {
  display: inline-block;
  text-align: center;
  min-width: 36px;
  padding: 6px 10px;
  border: 1px solid var(--c-border);
  color: var(--c-text-subdued);
  cursor: pointer;
}

input[type="radio"].Swatch__Radio {
  display: none;
}

.Swatch.is-active::after,
.Swatch__Radio:checked + .Swatch {
  border-color: var(--c-text);
  color: var(--c-text);
}

/**
 * ----------------------------------------------------------------------------
 * Advantage swatch
 * ----------------------------------------------------------------------------
 */

.AdvantageSwatchList label {
  display: block;
  text-align: center;
  cursor: pointer;
  position: relative;
}

.AdvantageSwatchList li {
  flex: 1 1;
  max-width: 50%;
}

@media (min-width: 470px) {
  .AdvantageSwatchList li {
    max-width: 160px;
  }
}

.AdvantageSwatch__Title {
  background: var(--c-surface-subdued);
  padding: 5px 8px 6px;
  line-height: normal;
}
 
.AdvantageSwatch__ImageWrapper {
  padding: 10px 5px;
  border: 2px solid var(--c-border);
  border-radius: 3px;
  position: relative;
}

.AdvantageSwatch__Radio:checked + .AdvantageSwatch__Title {
  color: var(--c-text);
}

.AdvantageSwatch.is-active::after,
.AdvantageSwatch__Radio:checked + .AdvantageSwatch__ImageWrapper {
  border: 1px solid var(--c-text);
}

.Label {
  position: absolute;
  top: -12px;
  right: -10px;
  background: var(--c-primary);
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--c-text-on-primary);
  padding: 2px 7px 1px;
  z-index: 1;
}

@media (min-width: 470px) {
  .Label {
    font-size: 11px;
  }
}

input[type="radio"].AdvantageSwatch__Radio {
  position: absolute;
  /* width: 20px;
  height: 20px; */
  top: 9px;
  left: 9px;
  box-shadow: 0 0px 3px 0 rgba(0, 0, 0, 0.15);
  z-index: 1;
  border: unset;
}

input[type="radio"].AdvantageSwatch__Radio:checked {
  border: 1px solid var(--c-text);
}

/* .AdvantageSwatch__Radio:checked {
  background-color: var(--c-text);
  border-radius: 2px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
} */

@media (max-width: 400px) {
  .AdvantageSwatch__Radio {
    display: none !important;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Alerts
 * ----------------------------------------------------------------------------
 */

.Alert:not(:empty),
.spr-form-message {
  display: block;
  padding: 10px 20px;
  white-space: normal;
  font-size: 1rem;
  word-break: break-all;
  word-break: break-word;
  text-shadow: none;
}

.Alert a {
  text-decoration: underline;
}

.Alert--large {
  padding: 18px 20px;
}

.Alert--error,
.spr-form-message-error {
  /* background: #e4c4c4;
  color: #cb2b2b; */
  background: var(--c-surface-error);
  color: var(--c-text-error);
}

.Alert--danger {
  background: #fff7e8;
  color: var(--c-text);
}

.Alert--info {
  background: var(--c-surface-subdued);
  color: var(--c-text-subdued);
}

.Alert--success:not(:empty),
.spr-form-message-success {
  /* background: #d2e4c4;
  color: #307a07; */
  background: var(--c-surface-success);
  color: var(--c-text);
}

.Alert__ErrorList {
  list-style: none;
}

@media screen and (min-width: 768px) {
  .Alert--large {
    padding: 18px 30px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Segment
 * ----------------------------------------------------------------------------
 */

.Segment__Title {
  margin-bottom: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text-subdued);
}

.Segment__Title--flexed {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.Segment__ActionList {
  margin-top: 16px;
}

.Segment__ActionItem {
  line-height: 1.4;
}

.Segment__ActionItem + .Segment__ActionItem {
  margin-left: 20px;
}

.Segment__ButtonWrapper {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .Segment__Title {
    margin-bottom: 34px;
  }

  .Segment__ActionList {
    margin-top: 24px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Empty state
 * ----------------------------------------------------------------------------
 */

.EmptyState {
  margin: 140px 0;
  text-align: center;
}

.EmptyState__Action {
  display: inline-block;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .EmptyState {
    margin: 200px 0;
  }
}

@media screen and (min-width: 1200px) {
  .EmptyState {
    margin: 250px 0;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Spinner
 * ----------------------------------------------------------------------------
 */

@-webkit-keyframes bouncingSpinnerAnimation {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

@keyframes bouncingSpinnerAnimation {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

.BouncingSpinner {
  display: block;
  text-align: center;
}

.BouncingSpinner > span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: currentColor;
  border-radius: 100%;
  -webkit-animation: bouncingSpinnerAnimation 1.4s infinite ease-in-out both;
          animation: bouncingSpinnerAnimation 1.4s infinite ease-in-out both;
}

.BouncingSpinner > span:first-child {
  -webkit-animation-delay: -0.32s;
          animation-delay: -0.32s;
}

.BouncingSpinner > span:nth-child(2) {
  -webkit-animation-delay: -0.16s;
          animation-delay: -0.16s;
}

/**
 * ----------------------------------------------------------------------------
 * Video
 * ----------------------------------------------------------------------------
 */

.Video__PlayButton {
  display: inline-block;
  transition: transform 0.2s ease-in-out;
  height: 80px;
  width: 80px;
  cursor: pointer;
  -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .Video__PlayButton:hover {
    transform: scale(1.1);
  }
}

.Video__PlayButton svg {
  width: 80px;
  height: 80px;
  pointer-events: none;
}

/**
 * ----------------------------------------------------------------------------
 * Announcement bar
 * ----------------------------------------------------------------------------
 */

.AnnouncementBarContainer {
  height: 0;
}

.AnnouncementBarContainer[aria-hidden=false] {
  height: auto;
}

.AnnouncementBar {
  position: relative;
  text-align: center;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 10px));
  z-index: 1;
}

.AnnouncementBar__Wrapper {
  padding: 12px 15px;
}

.AnnouncementBar__Content {
  color: inherit;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .AnnouncementBar {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  }
}

/**
 * ----------------------------------------------------------------------------
 * Share buttons
 * ----------------------------------------------------------------------------
 */

.ShareButtons {
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}

.ShareButtons__Item {
  display: table-cell;
  width: 60px;
  height: 45px;
  min-height: 45px;
  color: var(--c-text-subdued);
  text-align: center;
  vertical-align: middle;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  outline: 1px solid transparent;
  outline-offset: -1px;
  transition: all 0.2s ease-in-out;
}

.ShareButtons__Item svg {
  height: 18px;
  width: 18px;
  vertical-align: text-bottom;
}

.ShareButtons__Item--facebook:hover,
.no-supports-hover .ShareButtons__Item--facebook {
  background: #4469af;
  color: var(--c-text-on-dark);
  border-color: #4469af;
  outline: 1.5px solid #4469af;
}

.ShareButtons__Item--pinterest:hover,
.no-supports-hover .ShareButtons__Item--pinterest {
  background: #c8232c;
  color: var(--c-text-on-dark);
  border-color: #c8232c;
  outline: 1.5px solid #c8232c;
}

.ShareButtons__Item--twitter:hover,
.no-supports-hover .ShareButtons__Item--twitter {
  background: #00aced;
  color: var(--c-text-on-dark);
  border-color: #00aced;
  outline: 1.5px solid #00aced;
}

@media screen and (min-width: 768px) {
  .ShareButtons {
    width: auto;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Featured quote
 * ----------------------------------------------------------------------------
 */

.FeaturedQuote {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 120px 40px;
  background: var(--c-surface);
  color: var(--c-text);
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 18px));
}

.FeaturedQuote__Author {
  margin-top: 14px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));
  opacity: 0.5;
}

@media screen and (min-width: 992px) {
  .FeaturedQuote {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Shopify CAPTCHA
 * ----------------------------------------------------------------------------
 */

.shopify-challenge__container {
  margin-top: 80px;
  margin-bottom: 80px;
  text-align: center;
}

.shopify-challenge__container .shopify-challenge__button {
  position: relative;
  display: inline-block;
  padding: 14px 28px;
  line-height: normal;
  border: 1px solid transparent;
  border-radius: 0;
  text-transform: uppercase;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  text-align: center;
  letter-spacing: 0.2em;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  background: var(--c-action-primary);
  color: var(--c-text-on-primary);
}

/**
 * ----------------------------------------------------------------------------
 * Newsletter (home page)
 * ----------------------------------------------------------------------------
 */

.ImageHero--newsletter .SectionHeader.SectionHeader {
  margin-bottom: 30px;
}

.Newsletter .Form__Input::-moz-placeholder {
  color: inherit;
}

.Newsletter .Form__Input:-ms-input-placeholder {
  color: inherit;
}

.Newsletter .Form__Input::placeholder {
  color: inherit;
}

.Newsletter .Form__Input:focus {
  border-color: currentColor;
}

.Newsletter .Form__Submit {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .ImageHero--newsletter {
    min-height: 450px !important;
  }

  .ImageHero--newsletter .ImageHero__ContentOverlay {
    padding-left: 25px;
    padding-right: 25px;
  }
}

@media screen and (min-width: 768px) {
  .Newsletter__Inner {
    display: flex;
  }

  .Newsletter .Form__Input {
    min-width: 395px;
    width: 395px;
  }

  .Newsletter .Form__Submit {
    margin: 0 0 0 20px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * TOOLTIP
 * ----------------------------------------------------------------------------
 */

@media (-moz-touch-enabled: 0), (hover: hover) {
  [data-tooltip] {
    position: relative;
  }

  [data-tooltip]::before {
    position: absolute;
    content: attr(data-tooltip);
    bottom: 70%;
    left: 70%;
    padding: 4px 11px 3px 11px;
    white-space: nowrap;
    border: 1px solid var(--c-border);
    background: var(--c-surface-subdued);
    color: var(--c-text-subdued);
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s ease-in-out, opacity 0.2s ease-in-out;
    z-index: 1;
  }

  [data-tooltip]:hover::before {
    opacity: 1;
    visibility: visible;
  }
}
.Modal {
  position: fixed;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  top: 50%;
  left: 50%;
  width: 480px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  padding: 15px 20px 20px 20px;
  z-index: 20;
  opacity: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--c-surface);
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, max-height 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  border-radius: 4px;
  /* Reset row gutter variables so that the .container within the modal is not affected */
  --bs-gutter-y: initial;
  --bs-gutter-x: initial;
}

@supports (--css: variables) {
  .Modal {
    max-height: calc(var(--window-height) - 40px);
  }
}

.Modal[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
}

.Modal[aria-hidden="true"] {
  max-height: 0;
  padding: 0;
}

.Modal--dark {
  background: var(--c-surface-dark);
  color: var(--c-text-on-dark);
}

.Modal--dark .Rte h1,
.Modal--dark .Rte h2,
.Modal--dark .Rte h3,
.Modal--dark .Rte h4,
.Modal--dark .Rte h5,
.Modal--dark .Rte h6 {
  color: var(--c-text-on-dark);
}

.Modal--fullScreen {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transform: none;
}

/* 
.Modal--pageContent {
  padding: 60px 0 50px 0;
} */

/* Custom styles for page content modal */
.Modal--pageContent {
  overflow: hidden;
  -webkit-overflow-scrolling: unset;
  /* max-height: 600px;
  max-width: 500px; */
  max-height: 680px;
  max-width: 520px;
  width: calc(100vw - 40px);
  max-height: calc(100vh - 140px);
  padding: 0;
}

.Modal--pageContent .Modal__Content.Rte {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.Modal--pageContent .PageContent {
  margin: 0;
}

.Modal--pageContent .Modal__Content {
  padding: 20px 0;
}

.Modal--videoContent {
  justify-content: center;
  background: #000000; /* Full theatre experience ! */
  color: var(--c-text-on-dark);
}

/* .Modal .Heading:not(.Link) {
  color: inherit;
} */

.Modal__Header {
  margin-bottom: 30px;
  text-align: center;
}

.Modal__Close {
  display: block;
  margin: 25px auto 0 auto;
  flex-shrink: 0;
}

.Modal__Close--outside {
  position: absolute;
  margin-top: 0;
  top: 20px;
  right: 20px;
  line-height: 0;
  opacity: 0.5;
  transition: opacity 0.2s ease-in-out;
}

.Modal__Close--outside:hover {
  opacity: 1;
}

.Modal__Close--outside svg {
  height: 16px;
  width: 16px;
  stroke-width: 1.25px;
}

.Modal--fullScreen .Modal__Close--outside {
  right: 40px;
  top: 40px;
}

.Modal__Content iframe {
  display: none;
}

.Modal[aria-hidden=false] .Modal__Content iframe {
  display: block;
}

/* We override some styles for common elements like table */
.Modal__Content th,
.Modal__Content td {
  border-color: var(--c-border) !important;
}

.Modal__Content thead th:empty,
.Modal__Content tbody th {
  background: var(--c-surface) !important;
}

@media screen and (min-width: 768px) {
  .Modal:not(.Modal--pageContent):not(.Modal--loading) {
    padding: 35px 40px 40px 40px;
  }
}

@media screen and (min-width: 992px) {
  .Modal {
    flex-direction: column;
  }

  /* Creating custom style for .Modal--pageContent
  .Modal--pageContent {
    padding: 100px 0 80px 0;
  }

  .Modal--pageContent .Modal__Content {
    flex: 1 0 0;
  } */

  .Modal__Close:not(.Modal__Close--outside) {
    margin-top: 40px;
    flex-shrink: 0;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Modal loading
 * ----------------------------------------------------------------------------
 */
.Modal--loading {
  /* min-height: 10rem; */
  width: 100%;
  overflow: hidden;
  padding: var(--container-horizontal-spacing);
  box-shadow: 0 1px 3px 0 rgba(0,0,0,0.15);
}

.Modal--loading .LoadingText {
  font-size: 18px;
}

.Modal--loading .LoadingContainer::after {
  width: 2.5rem;
  height: 2.5rem;
}

@media (min-width: 576px) {
  .Modal--loading {
    max-width: 26rem;
  }
}

.Modal--loading::before, .Modal--loading::after {
  content: unset !important;
}

.Modal--loading .LoadingContainer:not(.d-none) + .LoadingText {
  margin-top: 0.75rem;
}

.Modal--loading .CircleWrapper {
  width: 100%;
  height: 3rem;
  position: relative;
}

/**
 * ----------------------------------------------------------------------------
 * A11Y
 * ----------------------------------------------------------------------------
 */
.PageSkipLink:focus {
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
  color: var(--c-text-subdued);
  background-color: var(--c-surface);
  padding: 10px;
  z-index: 10000;
  transition: none;
}

/**
 * ----------------------------------------------------------------------------
 * Page overlay
 * ----------------------------------------------------------------------------
 */
.PageOverlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 10;
  visibility: hidden;
  opacity: 0;
  background: var(--c-overlay);
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.PageOverlay.is-visible {
  opacity: 0.5;
  visibility: visible;
}

.PageOverlay--survey.is-visible {
  opacity: 1;
  transition: none 0s ease 0s;
  background-color: var(--c-surface-neutral);
}

/**
 * ----------------------------------------------------------------------------
 * Page header
 * ----------------------------------------------------------------------------
 */
.PageHeader {
  position: relative;
  margin: 35px 0;
}

.PageHeader--withBackground {
  display: flex;
  margin: 0;
  width: 100%;
  min-height: 450px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-size: cover;
  overflow: hidden;
}

.PageHeader--withBackground:not(.PageHeader--normalColor) {
  color: var(--c-text-on-dark);
}


.PageHeader--withBackground:not(.PageHeader--normalColor) .Heading,
.PageHeader--withBackground:not(.PageHeader--normalColor) .Rte a:not(.Button) {
  color: var(--c-text-on-dark);
  -webkit-text-decoration-color: var(--c-text-on-dark);
          text-decoration-color: var(--c-text-on-dark);
}

.PageHeader__ImageWrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center center;
}
@supports (--css: variables) {
  .PageHeader__ImageWrapper {
    top: calc(-1 * 0px - 0px * 0);
    top: calc(-1 * var(--announcement-bar-height, 0px) - var(--header-height, 0px) * var(--use-unsticky-header, 0));
    height: calc(100% + 0px + 0px * 0);
    height: calc(100% + var(--announcement-bar-height, 0px) + var(--header-height, 0px) * var(--use-unsticky-header, 0));
  }
}

@media (max-width: 767px) {
  .PageHeader--video .row .SectionHeader__Video {
    padding: 0;
  }

  .PageHeader--video .SectionHeader__Video:not(.row .SectionHeader__Video) {
    margin: 0 calc(-1 * var(--container-horizontal-spacing));
  }

  .PageHeader--video {
    margin-top: 0;
  }
}

.PageHeader .SectionHeader__Heading,
.PageHeader .SectionHeader__Description {
  margin-top: 0 !important;
}

.SectionHeader__Heading svg {
  margin-right: 10px;
  height: 26px;
  width: auto;
  vertical-align: sub;
}

.PageHeader .Alert {
  margin-top: 22px;
}

.PageHeader__Back:not(:only-child) {
  display: inline-block;
  /* margin-bottom: 25px; */
  margin-bottom: 35px;
}
.PageHeader__Back svg {
  height: 9px;
  /* margin-right: 12px; */
  margin-right: 10px;
  vertical-align: baseline;
  vertical-align: initial;
  width: auto;
}

/* Double selector is just to increase specificity and avoid !important */
.PageHeader--withBackground .SectionHeader.SectionHeader {
  position: relative;
  padding: 60px 0 80px 0;
}
@supports (--css: variables) {
  .PageHeader--withBackground .SectionHeader.SectionHeader {
    margin-top: calc(var(--header-height) * 0);
    margin-top: calc(var(--header-height) * var(--header-is-transparent, 0));
  }
}

@media screen and (max-width: 767px) {
  .PageHeader .SectionHeader__Heading {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .PageHeader {
    margin: 50px 0;
  }

  .PageHeader--withBackground {
    min-height: 450px;
    margin-top: 0;
    margin-bottom: 0;
  }
  @supports (--css: variables) {
    .PageHeader--withBackground {
      min-height: calc(380px + var(--header-height) * 0);
      min-height: calc(380px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--small.PageHeader--withBackground {
    min-height: 420px;
  }
  @supports (--css: variables) {
    .PageHeader--small.PageHeader--withBackground {
      min-height: calc(350px + var(--header-height) * 0);
      min-height: calc(350px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--large.PageHeader--withBackground {
    min-height: 480px;
  }
  @supports (--css: variables) {
    .PageHeader--large.PageHeader--withBackground {
      min-height: calc(410px + var(--header-height) * 0);
      min-height: calc(410px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--withBackground .SectionHeader.SectionHeader {
    margin-top: 50px;
    padding: 40px 0;
  }
  @supports (--css: variables) {
    .PageHeader--withBackground .SectionHeader.SectionHeader {
      margin-top: calc(var(--header-height) * 0);
      margin-top: calc(var(--header-height) * var(--header-is-transparent, 0));
    }
  }
}
@media screen and (min-width: 1200px) {
  .PageHeader--withBackground {
    min-height: 550px;
  }
  @supports (--css: variables) {
    .PageHeader--withBackground {
      min-height: calc(450px + var(--header-height) * 0);
      min-height: calc(450px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--small.PageHeader--withBackground {
    min-height: 500px;
  }
  @supports (--css: variables) {
    .PageHeader--small.PageHeader--withBackground {
      min-height: calc(400px + var(--header-height) * 0);
      min-height: calc(400px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--large.PageHeader--withBackground {
    min-height: 620px;
  }
  @supports (--css: variables) {
    .PageHeader--large.PageHeader--withBackground {
      min-height: calc(520px + var(--header-height) * 0);
      min-height: calc(520px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }
}
@media screen and (min-width: 1800px) {
  .PageHeader--withBackground {
    min-height: 650px;
  }
  @supports (--css: variables) {
    .PageHeader--withBackground {
      min-height: calc(600px + var(--header-height) * 0);
      min-height: calc(600px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--small.PageHeader--withBackground {
    min-height: 600px;
  }
  @supports (--css: variables) {
    .PageHeader--small.PageHeader--withBackground {
      min-height: calc(550px + var(--header-height) * 0);
      min-height: calc(550px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }

  .PageHeader--large.PageHeader--withBackground {
    min-height: 700px;
  }
  @supports (--css: variables) {
    .PageHeader--large.PageHeader--withBackground {
      min-height: calc(650px + var(--header-height) * 0);
      min-height: calc(650px + var(--header-height) * var(--header-is-transparent, 0));
    }
  }
}
/**
 * ----------------------------------------------------------------------------
 * Page layout (to create two columns) and content
 * ----------------------------------------------------------------------------
 */
.PageLayout__Section:first-child {
  margin-bottom: 60px;
}

.PageLayout__Section--sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 75px;
  align-self: flex-start;
}
@supports (--css: variables) {
  .PageLayout__Section--sticky {
    top: calc(var(--header-height) + 20px);
  }
}

@media screen and (min-width: 768px) {
  .PageLayout {
    display: flex;
    flex-wrap: nowrap;
  }

  .PageLayout__Section {
    flex: 1 0 0;
  }

  .PageLayout__Section:first-child {
    margin-bottom: 0;
  }

  .PageLayout__Section--secondary {
    flex: 1 1 200px;
    max-width: 200px;
  }

  .PageLayout__Section + .PageLayout__Section {
    margin-left: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .PageLayout--breakLap {
    display: block;
  }

  .PageLayout--breakLap .PageLayout__Section:first-child {
    margin-bottom: 60px;
  }

  .PageLayout--breakLap .PageLayout__Section + .PageLayout__Section {
    margin-left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .PageLayout__Section--secondary {
    flex-basis: 235px;
    max-width: 235px;
  }
}
@media screen and (min-width: 1200px) {
  /* .PageLayout__Section + .PageLayout__Section {
    margin-left: 80px;
  } */

  .PageLayout__Section--secondary {
    flex-basis: 290px;
    max-width: 290px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Page content
 * ----------------------------------------------------------------------------
 */
.PageContent {
  max-width: 1000px;
  margin: 35px auto;
}

.PageContent--fullWidth {
  max-width: 100%;
}

.PageContent--fitScreen {
  display: flex;
  min-height: calc(100vh - 120px);
  align-items: center;
}
@supports (--css: variables) {
  .PageContent--fitScreen {
    min-height: calc(var(--window-height) - var(--header-height) - 0px - 120px);
    min-height: calc(var(--window-height) - var(--header-height) - var(--announcement-bar-height, 0px) - 120px);
    /* 120px is the margin */
  }
}

.PageContent--narrow {
  max-width: 680px;
}

.PageContent--extraNarrow {
  max-width: 400px;
}

.PageHeader + .PageContent {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .PageContent {
    margin-bottom: 80px;
    margin-top: 80px;
  }

  .PageContent--fitScreen {
    min-height: calc(100vh - 160px);
  }
  @supports (--css: variables) {
    .PageContent--fitScreen {
      min-height: calc(var(--window-height) - var(--header-height) - 0px - 160px);
      min-height: calc(var(--window-height) - var(--header-height) - var(--announcement-bar-height, 0px) - 160px);
      /* 160px is the margin */
    }
  }
}
.Pagination {
  margin: 60px 0;
  text-align: center;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  line-height: 1;
}

.Pagination__Nav {
  display: inline-block;
  list-style: none;
}

.Pagination__NavItem {
  display: inline-block;
  padding: 16px 20px;
  border-bottom: 1px solid var(--c-border);
}
.Pagination__NavItem svg {
  width: 6px;
  height: 10px;
  vertical-align: -1px;
}

.Pagination__NavItem.is-active {
  color: var(--c-text-subdued);
  border-bottom-color: var(--c-text-subdued);
  box-shadow: 0 -2px var(--c-text-subdued) inset;
}

@media screen and (min-width: 768px) {
  .Pagination {
    margin: 80px 0;
  }

  .Pagination__NavItem {
    padding-left: 28px;
    padding-right: 28px;
  }
}
@media screen and (min-width: 1200px) {
  .Pagination {
    margin: 120px 0;
  }
}
.Window {
  position: relative;
  border: 1px solid var(--c-border);
  padding: 60px 24px;
}

.Window--withArrows {
  margin: 0 15px;
}

.Window--flush {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.Window__Title {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  padding: 0 14px 0 18px;
  transform: translate(-50%, -50%);
  background: var(--c-surface);
  white-space: nowrap;
}

.Window .flickity-prev-next-button {
  top: calc(50% - (45px / 2));
}

.Window .flickity-prev-next-button.next {
  right: calc(-45px / 2);
}

.Window .flickity-prev-next-button.previous {
  left: calc(-45px / 2);
}

@media screen and (min-width: 768px) {
  .Window {
    padding-left: 50px;
    padding-right: 50px;
  }

  .Window--withArrows {
    margin-left: 0;
    margin-right: 0;
  }
}
.Popover, .PopoverCart, .PopoverCta, .PopoverGlobal {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  background: var(--c-surface);
  z-index: 10;
  box-shadow: 0 -2px 10px rgba(54, 54, 54, 0.2);
  touch-action: manipulation;
  transform: translateY(100%);
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.PopoverGlobal > * {
  max-width: 768px;
  margin: 0 auto;
}

.Popover__Content--container {
  padding-left: var(--container-horizontal-spacing);
  padding-right: var(--container-horizontal-spacing);
}

/* Needed for the JS animation */
#dynamic-popover .Popover__Content {
  height: 0;
  overflow: hidden;
  padding: 0;
  transition: height .3s ease-in-out,visibility 0s ease-in-out .3s;
}

#dynamic-popover .Popover__ValueList {
  padding-left: 20px;
  padding-right: 20px;
}

#dynamic-popover .Popover__Value[data-availability="sold-out"],
.PopoverCart .Popover__Value[data-availability="sold-out"] {
  pointer-events: none;
}

.PopoverCta {
  z-index: 6;
  box-shadow: 0 -2px 10px rgba(54,54,54,.1);
}

@media (min-width: 768px) {
  .PopoverCta {
    max-width: 460px;
  }
}

.Popover--secondary {
  background: var(--c-surface);
}

.Popover[aria-hidden=false], .PopoverCart[aria-hidden=false], .PopoverCta[aria-hidden=false], .PopoverGlobal[aria-hidden=false] {
  transform: translateY(0);
  visibility: visible;
}

.PopoverCart .Popover__Value, .PopoverGlobal .Popover__Value {
  text-align: center;
}

.Popover__Header {
  position: relative;
  padding: 13px 20px;
  /* border-bottom: 1px solid rgba(var(--c-border-rgb), 0.4); */
  border-bottom: 1px solid var(--c-border);
  /* text-align: center; */
}

.Popover__Close {
  position: absolute;
  right: 20px;
  top: calc(50% - 7px);
  line-height: 0;
}
.Popover__Close svg {
  stroke-width: 1.1px;
}

.Popover__ValueList {
  list-style: none;
  max-height: 385px;
  padding: 18px 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.Popover__ValueList.TasteList {
  max-height: calc(100vh - 120px);
  /* 
    Quick fix when the popover is scrollable --> popover content would be visible through popover header bar.
    This is because the row-class has a negative top margin.
  */
  margin-top: 0;
  padding-top: 0;
}

@media (max-width: 386px) {
  /* .Popover__ValueList.TasteList > * {
    width: 33.333%;
  }*/

  .TasteList .Popover__Value > span {
    font-size: 13px;
  }
}

@media (max-width: 363px) {
  .Popover__ValueList.TasteList > * {
    width: 33.333%;
  }
}

.Popover__ValueList.TasteList .button-wrapper {
  position: relative;
  /* max-width: 95px; */
}

.Popover__Value {
  display: block;
  padding: 12px 20px;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: var(--c-text-subdued);
  text-align: center;
  transition: color 0.2s ease-in-out;
}

/* Not sure about this */
.Popover__Value * {
  pointer-events: none;
}

.Popover__Value--vegan .Value__Label {
  width: calc(100% + 12px);
  margin-left: -6px; 
  padding: 3px 2px !important;
}

.Popover__Value--vegan .Icon--link {
  width: 10px;
  height: auto;
  vertical-align: inherit;
  margin-left: 4px;
}

.Popover__Value--vegan .Icon--vegan {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 30px;
  height: auto;
}

.TasteList .Popover__Value {
  padding: 0;
  max-width: 70px;
  margin: 0 auto;
}

.TasteList .Popover__Value > span {
  background-color: var(--c-surface-subdued);
  /* padding: 1px 4px; */
  padding: 3px 4px;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  line-height: 1.4;
}

.Popover__Value:focus {
  background: var(--c-surface);
  outline: none;
}

.Popover__Value.is-selected {
  color: var(--c-text);
}

.Popover__Value.is-selected .Value__ImageWrapper {
  border-color: var(--c-primary);
}

.Popover__Value[data-availability="sold-out"], .ProductForm__Item[data-availability="other-option"] {
  position: relative;
}

.Popover__Value[data-availability="sold-out"]:not(.is-selected) > * {
  opacity: 0.6;
}

.ProductForm__Item[data-availability="other-option"] > *:not(.Icon--select-arrow) {
  opacity: 0.7;
}

.Popover__Value[data-availability="sold-out"]::before, .ProductForm__Item[data-availability="other-option"]::before {
  position: absolute;
  z-index: 1;
  font-size: 10px;
  padding: 1px 4px;
  box-shadow: 0 0 1px 0 rgba(0,0,0,0.16);
  border-radius: 2px;
  color: var(--c-text-subdued);
}

.Popover__Value[data-availability="sold-out"]::before {
  content: "Ausverkauft";
  background-color: var(--c-surface);
  right: 50%;
  transform: translateX(50%);
  top: -2px;
}

.Popover__Value--Menge[data-availability="sold-out"]::before {
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
}

/* .ProductForm__Item[data-availability="other-option"]::before {
  content: "Verfügbar in anderer Menge";
  background-color: var(--c-surface-highlight);
  width: calc(100% + 8px);
  font-size: 9px;
  line-height: 1.3;
  padding: 3px 3px;
  top: -10px;
} */

.ProductForm__Item[data-availability="other-option"]::before {
  top: 50%;
  transform: translateY(-50%);
  right: 45px;
  content: "Verfügbar in anderer Menge";
  background-color: var(--c-surface-highlight);
  font-size: 11px;
}

@media (max-width: 390px) {
  .ProductForm__Item[data-availability="other-option"]::before {
    font-size: 10px;
    width: 80px;
    text-align: center;
    line-height: 1.4;
    padding-top: 3px;
    padding-bottom: 3px;
  }
}

.Value__ImageWrapper {
  border-radius: 100%;
  overflow: hidden; 
  margin-bottom: 6px;
  border: 1px solid var(--c-border);
}

.Value__ImageWrapper img {
  border-radius: 100%;
  padding: 5px;
}

.Popover__FooterHelp {
  width: 100%;
  padding: 18px 20px;
  text-align: center;
  border-top: 1px solid rgba(var(--c-border-rgb), 0.4);
}

/* 
  Changed 992 (new breakpoint) beak to 1008 (old breakpoint) because of a popover bug in the range from 992-1008
  (JS is probably configured to 1008)
*/
@media screen and (min-width: 1008px) {
  .Popover {
    transform: none;
    width: auto;
    bottom: auto;
    left: auto;
    opacity: 0;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  }
  .Popover::before {
    content: "";
    position: absolute;
    right: 40px;
    width: 10px;
    height: 10px;
    border-style: solid;
  }

  .Popover--noWrap {
    white-space: nowrap;
  }

  .Popover--withMinWidth {
    /* min-width: 375px;
    max-width: 390px; */
    min-width: 400px;
    max-width: 420px;
  }

  .Popover--positionBottom::before {
    bottom: 100%;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent var(--c-surface) transparent;
    -webkit-filter: drop-shadow(0 -2px 2px rgba(54, 54, 54, 0.2));
            filter: drop-shadow(0 -2px 2px rgba(54, 54, 54, 0.2));
  }

  .Popover--positionTop::before {
    top: 100%;
    border-width: 10px 10px 0 10px;
    border-color: var(--c-surface) transparent transparent transparent;
    -webkit-filter: drop-shadow(0 2px 2px rgba(54, 54, 54, 0.2));
            filter: drop-shadow(0 2px 2px rgba(54, 54, 54, 0.2));
  }

  .Popover--positionLeft::before {
    left: 100%;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent var(--c-surface);
    -webkit-filter: drop-shadow(2px 0 2px rgba(54, 54, 54, 0.2));
            filter: drop-shadow(2px 0 2px rgba(54, 54, 54, 0.2));
  }

  .Popover--positionTop.Popover--alignCenter::before,
  .Popover--positionBottom.Popover--alignCenter::before {
    left: calc(50% - 10px);
  }

  .Popover--positionLeft.Popover--alignCenter::before {
    top: calc(50% - 10px);
  }

  .Popover--positionLeft.Popover--alignBottom::before {
    top: 15px;
  }

  .Popover--positionLeft.Popover--alignTop::before {
    bottom: 10px;
  }

  .Popover[aria-hidden=false] {
    opacity: 1;
    transform: none;
  }

  /*
  .Popover__Header {
    display: none;
  }*/

  .Popover__Value {
    padding-left: 50px;
    padding-right: 50px;
    text-align: right;
  }

  /* When there are more than 12 taste variants we need to limit the height so that the popup is contained within the viewport */
  .Popover__ValueList.TasteList {
    max-height: calc(100vh - 300px);
  }

  .Popover--withMinWidth .Popover__Value,
  .Popover__ValueList--center .Popover__Value {
    text-align: center;
  }

  .Popover--small.Popover--positionTop::before {
    border-width: 8px 8px 0 8px;
  }
  .Popover--small.Popover--positionBottom::before {
    border-width: 0 8px 8px 8px;
  }
  .Popover--small .Popover__Value {
    padding: 5px 32px;
    font-size: 12px;
  }
}
.Rte {
  word-break: break-word;
  /* Prevent long words to go outside the container */
  /* Simple, minimum clearfix added to every RTE text to avoid issue with float */
}
.Rte::after {
  content: "";
  display: block;
  clear: both;
}
.Rte iframe {
  max-width: 100%;
}
.Rte img {
  display: block;
  margin: 0;
}
.Rte a:not(.Button) {
  color: var(--c-interactive);
  text-decoration: underline;
  -webkit-text-decoration-color: rgba(var(--c-interactive-rgb), 0.6);
          text-decoration-color: rgba(var(--c-interactive-rgb), 0.6);
  text-underline-position: under;
  transition: color 0.2s ease-in-out, -webkit-text-decoration-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out, -webkit-text-decoration-color 0.2s ease-in-out;
}
.Rte a:not(.Button):hover {
  color: var(--c-text-subdued);
  -webkit-text-decoration-color: rgba(var(--text-color-rgb), 0.6);
          text-decoration-color: rgba(var(--text-color-rgb), 0.6);
}
.Rte p:not(:last-child),
.Rte ul:not(:last-child),
.Rte ol:not(:last-child) {
  margin-bottom: 1.6em;
}
/* .Rte img, */
.Rte blockquote,
.Rte .VideoWrapper,
.Rte .Form {
  margin-top: 2.4em;
  margin-bottom: 2.4em;
}
.Rte ul, .Rte ol {
  margin-left: 30px;
  padding-left: 0;
  list-style-position: outside;
}
.Rte li {
  padding: 5px 0;
}
.Rte li:first-of-type {
  padding-top: 0;
}
.Rte li:last-of-type {
  padding-bottom: 0;
}
.Rte h1,
.Rte h2,
.Rte h3,
.Rte h4,
.Rte h5,
.Rte h6 {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  color: var(--c-text);
  transition: color 0.2s ease-in-out;
}
.Rte h1 {
  margin: 2.2em 0 0.8em;
}
.Rte h2 {
  margin: 2.2em 0 0.9em;
}
.Rte h3 {
  margin: 2.2em 0 1.2em;
}
.Rte h4 {
  margin: 2.2em 0 1.4em;
}
.Rte h5 {
  margin: 2.2em 0 1.6em;
}
.Rte h6 {
  margin: 2.2em 0 1.8em;
}
.Rte blockquote {
  margin-left: 0;
  margin-right: 0;
  padding: 6px 0 6px 40px;
  font-size: 1.15em;
  line-height: 1.75;
  /* border-left: 3px solid rgba(var(--c-border-rgb), 0.6); */
  /* Changes */
  font-size: inherit;
  padding: 20px 21px;
  background-color: var(--c-surface-subdued);
  position: relative;
}

.Rte blockquote::before {
  content: '"';
  position: absolute;
  font-family: sans-serif;
  line-height: 70px;
  z-index: 0;
  /* color: #e1e2e5; */
  font-size: 72px;
  left: -8px;
  top: -8px;
  opacity: 0.7;
}

/* .Rte blockquote + blockquote:nth-of-type(2n+1) not working as expected */
.Rte blockquote:nth-of-type(2n+2) {
  background-color: var(--c-surface-highlight) !important; /* !important is needed as there are inline styles applied to some blockquotes */
}

.Rte p:last-child,
.Rte blockquote:last-child,
.Rte ul:last-child,
.Rte ol:last-child,
.Rte h1:last-child,
.Rte h2:last-child,
.Rte h3:last-child,
.Rte h4:last-child,
.Rte h5:last-child,
.Rte h6:last-child {
  margin-bottom: 0;
}

.Rte p:first-child,
.Rte blockquote:first-child,
.Rte ul:first-child,
.Rte ol:first-child,
.Rte h1:first-child,
.Rte h2:first-child,
.Rte h3:first-child,
.Rte h4:first-child,
.Rte h5:first-child,
.Rte h6:first-child {
  margin-top: 0;
}

/**
 * ----------------------------------------------------------------------------
 * POLICY PAGES
 * ----------------------------------------------------------------------------
 */

.shopify-policy__container {
  margin-top: 50px;
  margin-bottom: 50px;
  max-width: 680px;
}

@media screen and (min-width: 992px) {
  /* .Rte img, */ 
  .Rte .VideoWrapper,
  .Rte .Form {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .Rte blockquote {
    margin-left: 40px;
    margin-right: 40px;
  }
}
.shopify-section--hidden {
  display: none;
}

/* .shopify-section--bordered + .shopify-section--bordered {
  border-top: 1px solid var(--c-border);
} */

/* 
  So the setup is as follows:
  We have the div elements, that are auto-generated for every sections. 
  These div elements have one of the lower cased class names.
  .shopify-section--bordered displays a border while .shopify-section--separated a separation.
  When two of these are connected (siblings), the border/separation is visible.

  When there are sections, that are manually inserted (without section-rendering from shopify),
  you can use the classes .Section--bordered/.Section--separated to display a separation.

  Additionally you should add a class like .Section--spacingNormal to the section-tag for proper spacing.
*/
/* .shopify-section--bordered + .shopify-section--bordered, */
.shopify-section--separated + .shopify-section--separated,
.Section--separated {
  position: relative;
}

/* .shopify-section--bordered + .shopify-section--bordered::before, */
.shopify-section--separated + .shopify-section--separated::before,
.Section--separated::before {
  height: 8px;
  background-color: var(--c-surface-neutral);
  box-shadow: 0 0 4px 0 rgba(0,0,0,.09) inset;
  width: 100%;
  margin: 0;
  content: "";
  position: absolute;
  top: -3px;
}

.shopify-section--bordered + .shopify-section--bordered, .Section--bordered {
  border-top: 1px solid var(--c-border);
}

@media (min-width: 768px) {
  /* .shopify-section--bordered + .shopify-section--bordered::before, */
  .shopify-section--separated + .shopify-section--separated::before,
  .Section--separated::before {
    height: 1px;
    background-color: var(--c-border);
    box-shadow: none;
    top: 0;
  }
}

/* When a spacing is applied to a bordered section, as it is isolated, we use padding, otherwise margin */
/* but why? this leads to margin not expanding the parent container */
.Section--spacingNormal {
  /* margin: 50px 0; */
  padding: 50px 0;
}

.Section--spacingLarge,
.Section--spacingExtraLarge {
  /* margin: 90px 0; */
  padding: 90px 0;
}

.shopify-section--bordered > .Section--spacingNormal, .Section--spacingNormal.Section--bordered, .Section--spacingNormal.Section--separated {
  padding: 50px 0;
  margin-top: 0;
  margin-bottom: 0;
}

/* #shopify-section-main-product .Section--spacingNormal,
#shopify-section-main-list-collections .Section--spacingNormal {
  padding: 90px 0;
} */

/* Quick fix for global faq metafield */
.template-page .Section--spacingNormal.MetafieldFAQ  {
  margin: 0;
  padding: 90px 0;
}

.shopify-section--bordered > .Section--spacingLarge,
.shopify-section--bordered > .Section--spacingExtraLarge {
  padding: 90px 0;
  margin-top: 0;
  margin-bottom: 0;
}

.SectionHeader:not(:only-child) {
  margin-bottom: 40px;
}

.SectionHeader--center {
  text-align: center;
}

/*
  This is just a hack to slightly increase the selector specificity. What this does is actually taking into account the line height (1.65)
  and removing the remaining amount in both direction (0.65 / 2 => 0.325) to have more easier and consistent alignments
*/
.SectionHeader__Heading.SectionHeader__Heading,
.SectionHeader__SubHeading.SectionHeader__SubHeading {
  margin-top: -0.325em;
}

.SectionHeader__Heading.SectionHeader__Heading.Heading--ananda {
  margin-top: 0;
}

.SectionHeader__SubHeading + .SectionHeader__Heading,
.SectionHeader__SubHeading + .SectionHeader__TabList,
.SectionHeader__Description {
  margin-top: 16px;
}

.SectionHeader--center .SectionHeader__Description,
.SectionHeader--centerDesktop .SectionHeader__Description {
  max-width: 530px;
}

.SectionHeader__Description a {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-underline-position: under;
}

.SectionHeader--center .SectionHeader__Description {
  margin-left: auto;
  margin-right: auto;
}

.SectionHeader__ButtonWrapper:not(:only-child) {
  margin-top: 20px;
}

.SectionHeader__IconHolder {
  margin-top: 30px;
}

/* The SectionFooter is usually used at the end of a given section to redirect somewhere else */
.SectionFooter {
  margin-top: 30px;
  text-align: center;
}

@media (min-width: 768px) {
  .SectionFooter {
    margin-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .SectionHeader--centerDesktop .SectionHeader__Description {
    margin-left: auto;
    margin-right: auto;
  }  

  .SectionHeader--centerDesktop {
    text-align: center;
  }
}

@media screen and (min-width: 992px) {
  .Section--spacingNormal {
    /* margin: 80px 0; */
    padding: 80px 0;
  }

  .Section--spacingLarge {
    /* margin: 120px 0; */
    padding: 120px 0;
  }

  .Section--spacingExtraLarge {
    /* margin: 145px 0; */
    padding: 145px 0;
  }

  .shopify-section--bordered > .Section--spacingNormal, .Section--spacingNormal.Section--bordered, .Section--spacingNormal.Section--separated {
    padding: 80px 0;
  }

  .shopify-section--bordered > .Section--spacingLarge {
    padding: 120px 0;
  }

  .shopify-section--bordered > .Section--spacingExtraLarge {
    padding: 145px 0;
  }

  .SectionHeader:not(:only-child) {
    margin-bottom: 70px;
  }

  .SectionHeader__Description {
    /* margin-top: 24px; */
    margin-top: 18px;
  }

  .SectionHeader__ButtonWrapper:not(:only-child) {
    margin-top: 30px;
  }

  /* .SectionFooter {
    margin-top: 80px;
  } */
}
.TableWrapper {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.Table,
.Rte table {
  width: 100%;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  border-collapse: separate;
  /* white-space: nowrap; */
}
.Table th,
.Table td,
.Rte table th,
.Rte table td {
  padding: 18px 10px;
  border-bottom: 1px solid var(--c-border);
  text-align: left;
}
.Table th:first-child,
.Table td:first-child,
.Table tfoot td:empty + td,
.Rte table th:first-child,
.Rte table td:first-child,
.Rte table tfoot td:empty + td {
  padding-left: 0;
}
.Table th:last-child,
.Table td:last-child,
.Rte table th:last-child,
.Rte table td:last-child {
  padding-right: 0;
}
.Table th,
.Rte table th {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  text-transform: uppercase;
  /* letter-spacing: 0.2em; */
  letter-spacing: 0.05em;
}
.Table thead th:first-child:empty,
.Table tbody th:first-child,
.Rte table thead th:first-child:empty,
.Rte table tbody th:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  min-width: 40px;
  max-width: 100px;
  z-index: 1;
  background: var(--c-surface);
  white-space: normal;
}
.Table tbody th:first-child,
.Rte table tbody th:first-child {
  border-right: 1px solid var(--c-border);
}
.Table tfoot td:empty,
.Rte table tfoot td:empty {
  border-bottom: none;
}

.Table--large td {
  padding-top: 25px;
  padding-bottom: 25px;
}

.Table--noBorder tbody tr:not(:last-child) td {
  border-bottom: none;
}

/* @media screen and (max-width: 767px) {
  .TableWrapper > .Table {
    padding-right: 24px;
    padding-left: 24px;
  }
} */
@media screen and (min-width: 1200px) {
  .Table,
  .Rte table {
    white-space: normal;
  }

  .Table--large td {
    padding-top: 35px;
    padding-bottom: 35px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Swatches
 * ----------------------------------------------------------------------------
 */

.TasteSwatchItem {
  font-size: 0.9375em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.375em;
  padding: 0.25em 0.625em 0.25em 0.25em;
  background-color: var(--c-surface-subdued);
  border-radius: 2em;
}

.TasteSwatchItem__ImageWrapper {
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--c-surface);
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.05);
}

/**
 * ----------------------------------------------------------------------------
 * Tab list styling
 * ----------------------------------------------------------------------------
 */
.TabList {
  gap: 1rem;
  max-width: 100%; /* Needed in case width: fit-content; is applied */
  border-bottom: 1px solid var(--c-border);
}

.TabList__Item {
  position: relative;
  font-size: 1.125em;
  font-weight: 600;
}

.TabList__Item > * {
  pointer-events: none;
  touch-action: none;
}

.TabList__ItemTitle {
  position: relative;
  padding: 10px 20px;
  display: inline-block;
  width: 100%;
  /* margin-top: -10px; */
}

.TabList__ItemTitle::after {
  position: absolute;
  display: block;
  content: "";
  opacity: 0;
  bottom: 0px;
  left: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s,opacity .3s;
  z-index: 1;

  width: 100%;
  height: 2px;
  background-color: var(--c-text-subdued);
  /* border-top-right-radius: 3px;
  border-top-left-radius: 3px; */
}

.TabList__Item.is-active, .TabList__Item:hover {
  color: var(--c-text);
  transform: 0.3 ease;
}

.TabList__Item.is-active .TabList__ItemTitle::after, .TabList__Item:hover .TabList__ItemTitle::after {
  opacity: 1;
  transform: scale(1);
}

.TabList__Item.is-active .TabList__ItemTitle::after {
  background-color: var(--c-primary);
}

.TabList--center {
  width: fit-content;
  margin: 0 auto;
}
.TabList--fullWidth .TabList__Item {
  flex-grow: 1;
  flex-basis: 0;
}
@media (min-width: 768px) {
  .TabList--fullWidthDesktop .TabList__Item {
    flex-grow: 1;
    flex-basis: 0;
  }
  .TabList--centerDesktop {
    width: fit-content;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .TabList--fullWidthMobile .TabList__Item {
    flex-grow: 1;
    flex-basis: 0;
  }
  .TabList--centerMobile {
    width: fit-content;
    margin: 0 auto;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Tab switch functional CSS
 * ----------------------------------------------------------------------------
 */
.tab-panel {
  display: none;
}

.tab-panel[aria-hidden=false] {
  display: block;
}

/**
 * ----------------------------------------------------------------------------
 * Panel
 * ----------------------------------------------------------------------------
 */

.Panel {
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.08);
  box-shadow: 0 0 3px 0 rgba(0,0,0,0.15);
  box-shadow: 0 0 4px 0 rgba(0,0,0,0.11);
  border-radius: 3px;
  overflow: hidden;
  background-color: var(--c-surface);
  position: relative;
}

.Panel > [class*="Panel"] {
  padding: var(--container-horizontal-spacing);
}

.Panel__Header {
  border-bottom: 1px solid var(--c-border);
}

.Panel__Content {

}

.Panel__Footer, .Panel__Content--bordered {
  border-top: 1px solid var(--c-border);
}

/* Align .Panel__Footer at the bottom if it is displayed in a grid layout */
.PanelFlexWrapper > .Panel {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
}
.PanelFlexWrapper > .Panel > [class*="Panel"] {
  width: 100%;
}
.PanelFlexWrapper > .Panel > .Panel__Footer {
  align-self: flex-end;
}

@media (max-width: 767px) {
  .Panel {
    margin: 0 calc(var(--container-horizontal-spacing) * -1);
    border-radius: 0;
  }
}

@media (max-width: 991px) {
  .Panel--lg {
    margin: 0 calc(var(--container-horizontal-spacing) * -1);
    border-radius: 0;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Product item
 * ----------------------------------------------------------------------------
 */

.ProductItem {
  display: block;
  position: relative;
}

.ProductItem__ImageWrapper {
  background-color: var(--c-surface-subdued);
  background-color: var(--c-surface-neutral);
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
  box-shadow: 0px 1px 2px rgba(0,0,0,0.08);
  border-radius: 2px;
  transition: 0.1s ease-in-out;
}

.ProductItem:hover .ProductItem__ImageWrapper {
  background-color: var(--c-surface-hovered);
}
.ProductItem .ProductItem__ImageWrapper:active {
  background-color: var(--c-surface-pressed);
}

.ProductItem__ImageWrapper .AspectRatio::before {
  padding-bottom: 76%;
}

.ProductItem__Image {
  padding-left: 10px;
  padding-right: 10px;
}

.ProductItem__InfoWrapper {
  margin-top: 12px;
}

.ProductItem__Title {
  line-height: 1.25;
  color: var(--c-text);
  font-weight: 500;
  font-size: 1em;
}

.ProductItem__Reviews {
  margin-top: 3px;
}

.ProductItem__VariantVariant {
  line-height: 1.25;
  font-weight: 500;
  font-size: 0.875em;
  margin-top: 9px;
}

.ProductItem__Price {
  margin-top: 9px;
}
.ProductItem__Price .Price:not(.Price--highlight) {
  color: var(--c-text);
}
.ProductItem__Price .UnitPriceMeasurement {
  font-size: 0.625em;
}

@media (min-width: 768px) {
  .ProductItem__Title {
    font-size: 1.0625em;
  }

  .ProductItem__ImageWrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  /* .ProductItem__ImageWrapper .AspectRatio::before {
    padding-bottom: 56%;
  }   */
}

/*
  Quick add button styling / positioning

  There are some variations of the quick add button for different elements (and also different screen sizes), that the product item is displayed in.
  There are two positions: image / info
  and three appearances: orange / white / white subdued.

  The following two rules can be formulated as guidance for chosing the right variation:
    - When >3 items are simultaniously visible in the viewport --> white appearance (white subdued for desktop), else --> orange
    - When there is enough space for each item (>50vw) --> info position, else --> image position

  Here are some context in whick the item is displayed with the respective variation:
    - collection
      - desktop: info + white subdued
      - mobile: image + white
    - carousell
      - desktop: info + white subdued
      - mobile: image + orange
    - search widget
      - desktop: image + white subdued
      - mobile
        - "all" category: compact view
        - "product" category: image + white
  
  Due to the variations we have two quick add buttons, located inside .ProductItem and .ProductItem__InfoWrapper.
*/

.ProductItem > .ProductItem__QuickAdd {
  position: absolute;
  top: 5px;
  right: 5px;
}

.ProductItem__InfoWrapper {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.ProductItem__InfoWrapper .ProductItem__QuickAdd {
  margin-top: 2px;
}

.ProductItem__MetaWrapper {
  flex-grow: 1;
}

.ProductItem__QuickAdd .Button {
  font-size: 0.625em;
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.13);
  transition: 0.1s ease-in-out;
}

@media (min-width: 768px) {
  .ProductItem > .ProductItem__QuickAdd {
    display: none;
  }

  .ProductItem:not(.ProductItem--compact, .ProductItem:hover) .ProductItem__InfoWrapper .ProductItem__QuickAdd .Button {
    background-color: var(--c-surface);
    outline: 1px solid rgba(var(--c-text-subdued-rgb),.1);
    color: var(--c-text-subdued);
    box-shadow: unset;
  }
}

@media (max-width: 767px) {
  :not(.ProductItem--compact) .ProductItem__InfoWrapper .ProductItem__QuickAdd {
    display: none;
  }

  .ProductItem:not(.ProductList--carousel .ProductItem) > .ProductItem__QuickAdd .Button {
    background-color: var(--c-surface);
    color: var(--c-text);
    --c-text-on-primary: var(--c-text); /* For loading circle */
  }
  .ProductItem:not(.ProductList--carousel .ProductItem) > .ProductItem__QuickAdd .Button:hover {
    background-color: var(--c-surface-hovered) !important;
  }
  .ProductItem:not(.ProductList--carousel .ProductItem) > .ProductItem__QuickAdd .Button:active {
    background-color: var(--c-surface-pressed) !important;
  }

  .ProductItem > .ProductItem__QuickAdd .Button {
    font-size: 0.5625em;
  }
}

/*
* ----------
* compact mode
* Note: there are code duplicates in areas like serach where we toggle between compact and normal view based on screen size.
* ----------
*/
.ProductItem--compact {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  font-size: 0.9375em;
}

.ProductItem--compact .ProductItem__LabelList {
  display: none;
}

.ProductItem--compact .ProductItem__ImageWrapper {
  width: 80px;
  padding-top: 6px;
  padding-bottom: 6px;
  flex-shrink: 0;
}

.ProductItem--compact .ProductItem__Image {
  padding-left: 6px;
  padding-right: 6px;
}

.ProductItem--compact .ProductItem__ImageWrapper .AspectRatio::before {
  padding-bottom: min(calc(100% / (var(--image-aspect-ratio))), calc(100% - 12px)); /* Use native aspect ratio, but not larger than 1:1 */
}

.ProductItem--compact .ProductItem__InfoWrapper {
  flex-grow: 1;
  margin-top: 0;
  align-self: center;
}

.ProductItem--compact .ProductItem__InfoWrapper .ProductItem__QuickAdd {
  display: block;
}
.ProductItem--compact > .ProductItem__QuickAdd {
  display: none;
}

/**
 * ----------------------------------------------------------------------------
 * Label list
 * ----------------------------------------------------------------------------
 */
.LabelList {
  position: absolute;
  z-index: 1;
  top: 5px;
  left: 5px;
  display: grid;
  justify-items: start;
  row-gap: 5px;
}

.LabelList__Item {
  padding: 0 0.5em;
  font-size: 0.6875em;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.17);
  border-radius: 2px;
  background-color: var(--c-surface);
  color: var(--c-text);
  font-weight: 500;
}

@media (max-width: 767px) {
  /* For whatever reason the alignment seems off on mobile vs desktop, so we need to slightly adjust it */
  .LabelList__Item {
    padding: 0.1em 0.5em 0;
  }  
}

/* Need to adjust width so that it is not displayed as a sqaure and also the offset mulitplier from 0.5 to 0.4, as the icon appears slightly to low */
.LabelList__Item .IconLabel {
  column-gap: 0.3em;
  --iconOffset: calc((var(--baselineDistance) - var(--iconSize)) * .4);
}

.LabelList__Item--freeShaker .IconLabel__Icon,
.LabelList__Item--freeShaker .IconLabel__Icon .Icon {
  width: auto;
}
.LabelList__Item--freeShaker {
  background-color: var(--c-surface-highlight);
  
  /* color: var(--c-text-on-dark);
  background-color: #796563;
  background-color: #704b4b; */
}

/*
.LabelList__Item--bestseller {
  background-color: #f8f0e9;
  
  background-color: #6c4e4b;
  color: white;
}
*/

.LabelList__Item--onSale {
  font-weight: 700;
  color: var(--c-text-attention);
}

.LabelList__Item--soldOut {
  background-color: var(--c-surface-neutral);
  color: var(--c-text-subdued);
}

@media (min-width: 768px) {
  .LabelList__Item {
    font-size: 0.75em;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Page item compact
 * ----------------------------------------------------------------------------
 */
.PageItem {
  outline: 1px solid var(--c-border) !important;
  border-radius: 2px;
  padding: .325em .75em;
  display: grid;
  grid-template-columns: auto 12px;
  align-items: center;
  transition: 0.1s ease;
}
.PageItem:hover {
  color: var(--c-text);
  background-color: var(--c-surface-hovered);
}
.PageItem:active {
  background-color: var(--c-surface-pressed);
}

.PageItem__Icon {
  font-size: 0.5625em;
  line-height: 0;
}

/**
 * ----------------------------------------------------------------------------
 * Account/Club related elements
 * ----------------------------------------------------------------------------
 */

.Customer__Initials {
  color: var(--c-text);
  width: 35px;
  height: 35px;
  text-align: center;
  border: 2px solid var(--c-text);
  border-radius: 100%;
  padding: 3px;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  line-height: normal;
  align-items: center;
  justify-content: center;
}

.Account__PointsWrapper {
  white-space: nowrap;
}

.Account__Points {
  line-height: normal;
  font-weight: 600;
}

.Account__PointsName {
  font-size: 12px;
  line-height: normal;
}

.ClubExplanation__IconWrapper { 
  margin: 0 auto;
}

.ClubExplanation__IconWrapper .Icon {
  width: auto;
  height: 85px;
}

.ClubExplanation__Step {
  min-width: 160px;
  padding: 30px 20px;
}

.ClubExplanation__Number {
  width: 30px;
  height: 30px;
  text-align: center;
  background-color: var(--c-surface-subdued);
  color: var(--c-text);
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  border-radius: 100%;
  margin-right: 10px;
  display: inline-block;
}

.ClubExplanation__Text {
  line-height: normal;
  margin-top: 20px;
}

.ClubRules, .ClubRewards {
  margin: 0 calc(var(--container-horizontal-spacing) * -1);
}

/**
 * ----------------------------------------------------------------------------
 * Article item compact
 * ----------------------------------------------------------------------------
 */
 .ArticleItemCompact {
  display: grid;
  grid-template-columns: 65px auto;
  gap: 8px 15px;
  align-items: start;
}

.ArticleItemCompact__ImageWrapper {
  box-shadow: 0 1px 2px 0 rgba(0,0,0,.22);
}

.ArticleItemCompact__ImageWrapper,
.ArticleItemCompact__Image {
  border-radius: 3px;
  overflow: hidden;
}

.ArticleItemCompact__Image {
  object-fit: cover !important;
}

.ArticleItemCompact__Info {
  align-self: center;
}

.ArticleItemCompact__Blog {
  font-size: 0.825em;
  font-weight: 500;
  margin-top: -1px; /* Offset difference in line height with title */
}

.ArticleItemCompact__Title {
  margin-bottom: 0;
  line-height: 1.4;
  font-weight: 600;
  color: var(--c-text);
}

.ArticleItemCompact__Icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75em;
  align-self: center;
}

.ArticleItemCompact__Excerpt {
  font-size: 0.875em;
  grid-column: 1 / span 2;
  line-height: 1.5;
}

.ArticleItemCompact:hover .ArticleItemCompact__Blog,
.ArticleItemCompact:hover .ArticleItemCompact__Excerpt {
  color: var(--c-text-subdued);
}
.ArticleItemCompact.LinkWrapperClickable:hover::before {
  right: -.25em;
  left: -.25em;
}

/**
 * ----------------------------------------------------------------------------
 * Article item
 * ----------------------------------------------------------------------------
 */

.ArticleItem {
  white-space: normal; /* Needed when displayed in scroll slider */
  height: 100%;
  background-color: var(--c-surface-subdued);
  display: flex;
  flex-wrap: wrap;
}

/* The author image is used in article item and in the article itsself, thats why we cant put it into article.css */
.ArticleAuthor__ImageWrapper {
  border-radius: 100%;
  overflow: hidden;
  border: 2px solid var(--c-border);
  width: 50px;
  height: 50px;
  margin-right: 12px;
  flex-shrink: 0;
}

.ArticleAuthor__Image {
  border-radius: 100%;
}

.ArticleAuthor__Info {
  line-height: normal;
}

.ArticleAuthor__Name {
  font-size: 0.925em;
  margin-bottom: 5px;
}

.ArticleAuthor__UpdatedAt {
  font-size: 0.875em;
}

.ArticleItem .ArticleAuthor__ImageWrapper {
  width: 42px;
  height: 42px;
  border-color: var(--c-border-on-dark);
  margin-right: 10px;
}

.ArticleItem__Link {
  color: var(--c-text-primary);
  margin-bottom: 24px;
}

.ArticleItem__Title {
  line-height: 1.55;
  margin-bottom: 0.5em;
}

.ArticleItem--recipe .ArticleItem__Title {
  margin-bottom: 2px;
}

.ArticleItem__Content {
  padding: 0 18px;
}

.ArticleItem__ContentWrapper {
  width: 100%;
}

.ArticleItem__Footer {
  padding: 14px;
  border-top: 1px solid var(--c-border);
  align-self: flex-end;
  width: 100%;
}

.ArticleItem--podcast .ArticleItem__ImageWrapper {
  width: 70px;
  align-self: flex-start;
  margin: 0;
}

.ArticleItem--podcast .ArticleItem__Footer {
  padding: 10px 18px;
}

.ArticleItem--podcast .ArticleItem__Image {
  border-radius: 3px;
}

.ArticleItem__Header {
  padding: 18px 18px 0;
  margin-bottom: 12px;
}

.ArticleItem__PlayIconWrapper {
  margin-right: 4px;
}

.ArticleItem__PlayIconWrapper .Icon {
  height: 22px;
  width: auto;
}

.ArticleItem--podcast .Icon--clock {
  height: 15px;
  width: auto;
  vertical-align: sub;
  margin-right: 6px;
}

.ArticleItem--podcast .ArticleItem__Title {
  width: 100%;
  margin-left: 15px;
}

.ArticleListWrapper {
  /* max-width: 1260px; */
  margin: 0 auto 60px auto;
}

/* .ArticleList {
  margin-bottom: -60px;
} */

.js .features--show-element-staggering .ArticleItem {
  visibility: hidden;
}

.ArticleItem__ImageWrapper {
  /* margin-bottom: 22px;
  background-size: cover; */
  display: block;
  margin-bottom: 15px;
  overflow: hidden;
}

.ArticleItem__Image {
  /* display: block; */
  -o-object-fit: cover !important;
     object-fit: cover !important;
  /* -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center;"; */
}

.features--show-image-zooming .ArticleItem__Image {
  transform: scale(1);
  transition: opacity 0.3s ease, transform 8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.features--show-image-zooming .ArticleList .ImageHero__ImageWrapper {
  transition: transform 8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .features--show-image-zooming .ArticleItem:hover .ArticleItem__Image,
  .features--show-image-zooming .ArticleList .ImageHero:hover .ImageHero__ImageWrapper {
    transform: scale(1.2);
  }
}

/* .ArticleItem__Content {
  margin: 0 8px;
} */

.ArticleItem__Category {
  display: block;
  /* margin-bottom: 16px; */
  margin-bottom: 3px;
}

.ArticleItem__Excerpt {
  margin-bottom: 20px;
}

.ArticleItem--magazine .ArticleItem__Excerpt {
  display: none;
}

.ArticleList--withFeatured .SectionHeader {
  background: var(--c-surface);
  display: inline-block;
  padding: 20px;
  max-width: 340px;
}

@media screen and (min-width: 992px) {
  .ArticleListWrapper {
    margin-bottom: 100px;
  }

  /* .ArticleList {
    margin-bottom: -100px;
  } */

  .ArticleItem--magazine .ArticleItem__Excerpt {
    display: block; 
  }
}

/**
 * ----------------------------------------------------------------------------
 * Reference list
 * ----------------------------------------------------------------------------
 */

.ReferenceList {
  background-color: var(--c-surface-subdued);
  padding: 15px;
}

.ReferenceList__Item:not(:last-of-type) {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(var(--c-border-rgb),.7);
}

.ReferenceLink {
  text-decoration: none !important;
}

.ReferenceLink > span {
  text-decoration: underline;
}

.ReferenceItem--number {
  height: 24px;
  width: 24px;
  line-height: 22px;
  font-size: 13px;
  text-align: center;
  border-radius: 100%;
  border: 1px solid var(--c-text-subdued);
  flex-shrink: 0;
  margin-right: 14px;
  font-weight: 700;
}

.ReferenceItem--title {
  flex-grow: 1;
  margin-right: 14px;
  line-height: normal;
  align-self: center;
}

.ReferenceItem--source {
  line-height: normal;
}

/**
 * ----------------------------------------------------------------------------
 * Product feature
 * ----------------------------------------------------------------------------
 */
.ProductFeature__ImageWrapper {
  max-width: 100px;
  min-width: 80px;
}

.ProductFeature__ImageWrapper .AspectRatio {
  max-height: 70px;
  min-height: 70px;
}

.ProductFeature--variantPreview .ProductFeature__ImageWrapper .AspectRatio {
  max-height: 95px;
}

/* .ProductFeature__Image {
  padding: 8px 0;
} */

.ProductFeature__Wrapper, .ProductFeature__Wrapper.ProductFeature__Wrapper--none {
  padding: 0 17px 17px;
  overflow: hidden;
}

.ProductFeature .PreviewItem__Values .Value__ImageWrapper {
  margin-bottom: 0;
  width: 34px;
  height: 34px;
}

@media (min-width: 576px) {
  .ProductFeature__Wrapper--sm {
    padding: 0 25px 0 5px;
  }

  .ProductFeature__Wrapper:not(.ProductFeature__Wrapper--none) .ProductFeature__ImageWrapper {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .ProductFeature__Wrapper--md {
    padding: 0 25px 0 5px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Blog
 * ----------------------------------------------------------------------------
 */

.Blog__Logo {
  width: 150px;
}

.Blog__RssLink {
  margin-left: 14px;
  vertical-align: baseline;
}

.Blog__RssLink svg {
  width: 10px;
  height: 10px;
}

.Blog__TagList {
  padding-top: 8px;
}

.Blog__TagList .Link.is-active {
  text-decoration: underline;
}

.Blog__PodcastLinks {
  /* max-width: 460px; */
  max-width: 410px;
}

.Blog__PodcastLinks .PodcastLinks .Link {
  width: 100%;
  max-width: 100%;
}

.Blog__PodcastLinks .HorizontalList__Item {
  width: calc(33.33% - 16px);
}

.Blog__PodcastFaq .Collapsible--defaultStyling .Collapsible--defaultStyling .Collapsible__Button {
  padding-top: 20px;
  padding-bottom: 20px;
}

.Blog__PodcastFaq .Collapsible--defaultStyling .Collapsible--defaultStyling {
  margin-left: 0;
  border-top: 1px solid var(--c-border);
}

.Blog__PodcastFaq .Collapsible--defaultStyling .Collapsible--defaultStyling:first-of-type {
  border-top: none;
}

.Blog__PodcastFaq .Collapsible--defaultStyling .MetafieldFAQ > .Heading {
  display: none;
}

@media (min-width: 768px) {
  .Blog__TagListWrapper {
    /* background-color: var(--c-surface-subdued);
    padding: 20px 20px 1px; */
    padding-top: 24px;
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
  }
}

@media screen and (max-width: 767px) {
  .Blog__TagList .HorizontalList__Item {
    margin: 5px 10px;
  }
}

@media screen and (min-width: 768px) {
  .ArticleList + .Pagination {
    margin-top: 80px;
  }
}

@media screen and (min-width: 1200px) {
  #shopify-section-main-blog + #shopify-section-shop-now {
    margin-top: 150px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Blog Topic List
 * ----------------------------------------------------------------------------
 */

.BlogTopic {
  padding: 10px 15px;
  margin: -10px -15px;
  transition: 0.2s ease;
}

.BlogTopicWrapper--stacked {
  text-align: center;
}

.BlogTopic:hover {
  background-color: var(--c-surface-hovered);
}

.BlogTopic__IconWrapper {
  width: 75px;
  height: 60px;
  flex-shrink: 0;
}

.Icon--magazin {
  max-height: 57px !important;
}

/* When icon is next to text --> .d-flex is present */
.BlogTopic__IconWrapper.d-flex {
  margin-right: 14px;
}

.BlogTopic__IconWrapper svg {
  width: 100%;
  height: auto;
  max-height: 100%;
}

/**
 * ----------------------------------------------------------------------------
 * Scroll Slider
 * ----------------------------------------------------------------------------
 */

.ScrollSliderWrapper {
  max-width: var(--container-width);
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  .ScrollSliderWrapper {
    overflow: hidden;
    /* Takes the role of the container for .row to work properly, which will be present in almost every slider */ 
    margin: 0 calc(var(--container-horizontal-spacing) * -1);
    padding: 0 var(--container-horizontal-spacing);
  }

  .ScrollSliderWrapper--greyBackground {
    padding-bottom: 40px;
    padding-top: 40px;
    background-color: var(--c-background);
  }

  .ScrollSlider {
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 30px; /* This is a trick to hide the scrollbar on iOS */
    margin-bottom: -30px;
    padding-top: 3px; /* Allows shadow visibility */
  }

  .ScrollSlider * {
    white-space: initial;
  }

  /* Need to modify .row in order to always have the container spacing on the first and last cell */
  .ScrollSlider.row {
    margin-left: calc(var(--container-horizontal-spacing) * -1) !important;
    margin-right: calc(var(--container-horizontal-spacing) * -1) !important;
  }

  .ScrollSlider .ScrollSlider__Cell:first-of-type {
    margin-left: calc(var(--container-horizontal-spacing) - (var(--bs-gutter-x)/ 2));
  }

  .ScrollSlider__Cell:last-of-type {
    margin-right: calc(var(--container-horizontal-spacing) - (var(--bs-gutter-x)/ 2));
  }
}

/**
 * ----------------------------------------------------------------------------
 * General
 * ----------------------------------------------------------------------------
 */
@-webkit-keyframes cartEmptyOpening {
  from {
    transform: translate(-50%, calc(-50% + 35px));
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
@keyframes cartEmptyOpening {
  from {
    transform: translate(-50%, calc(-50% + 35px));
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

.Cart__ShippingNotice {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  margin-bottom: 0;
  padding-top: 9px;
  padding-bottom: 9px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  border-bottom: 1px solid var(--c-border);
  line-height: normal;
  z-index: 1;
  background: var(--c-surface);
}

.Cart__Empty {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  -webkit-animation: cartEmptyOpening 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
          animation: cartEmptyOpening 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 768px) {
  .Cart__ShippingNotice {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
  }
}

/* Trustbadge */
#trustbadge-container-98e3dadd90eb493088abdc5597a70810 {
  z-index: 4 !important;
}

#minimized-trustbadge-98e3dadd90eb493088abdc5597a70810 {
  right: 20px !important;
}

/* Pushowl */
body .pushowl-optin {
  font-family: 'Lato', -apple-system, sans-serif !important;
  border-radius: 3px !important;
}

.pushowl-optin .pushowl-optin__yes-button {
  text-transform: uppercase !important;
  letter-spacing: 1.6px !important;
  font-size: 13px !important;
  line-height: 26px !important;
  border-radius: 0px !important;
  flex-grow: 1 !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  body .pushowl-optin {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    left: 0 !important;
  }

  .pushowl-optin .pushowl-optin__content {
    padding: 25px 20px 20px !important;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Items
 * ----------------------------------------------------------------------------
 */

.CartItemWrapper {
  overflow: hidden;
}

.Cart__ItemList .CartItemWrapper:first-of-type .CartItem {
  margin-top: 30px;
}

.Cart__ItemList .CartItemWrapper:last-of-type .CartItem {
  margin-bottom: 30px;
}

.CartItem {
  display: table;
  table-layout: fixed;
  margin: 15px 0;
  width: 100%;
}

.Cart--expanded .CartItem {
  /* For some reason the margin of the next cart item doesnt get respected, so we need double the value to have same margin as in widget */
  margin-bottom: 30px;
}

.CartItem__ImageWrapper,
.CartItem__Info,
.CartItem__AddToCartWrapper {
  display: table-cell;
  vertical-align: top;
}

.CartItem__ImageWrapper {
  width: 60px;
  /* min-width: 90px; */
  text-align: center; 
}

.CartItem__ImageWrapper .AspectRatio {
  max-height: 60px;
}

.CartItem__AddToCartWrapper {
  width: 60px;
}

.CartItem__Info {
  padding-left: 15px;
}

.Cart__ItemList--upsell .CartItem__Info {
  padding-right: 25px;
}

.Cart__ItemList--upsell .ProductForm__SelectedValueWrapper {
  max-width: calc(100% - 40px);
  width: 100%;
}

.Cart__ItemList--upsell .ProductForm__SelectedValue {
  max-width: 100%;
}

.CartItem__Title
/*, .CartItem__Variant,
.CartItem__PlanAllocation,
.CartItem__PropertyList */ {
  /* margin-bottom: 0.45em; */
  margin-bottom: 0em;
}

.CartItem__Title, .CartItem__Variant {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.CartItem__Title {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
}

.CartItem__PriceList, .CartItem__Variant, .CartItem__PlanAllocation {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
}

.CartItem__DiscountList {
  font-weight: bold;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 9px));
}

.CartItem__PropertyList {
  list-style: none;
  font-style: italic;
}

.CartItem__PriceList, .CartItem__PlanAllocation {
  margin-top: 5px;
}

.CartItem__DiscountList {
  list-style: none;
}

.CartItem__Discount, .Cart__Discount {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(var(--c-text-attention-rgb), 0.06);
  color: var(--c-text-attention);
  font-weight: bold;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 10px));
}

.CartItem__Discount:not(:only-of-type) {
  margin-bottom: 5px;
} 

.CartItem__Discount svg, .Cart__Discount svg {
  margin-right: 4px;
  margin-bottom: 1px;
  vertical-align: text-bottom;
}

/* .CartItem__Discount + .CartItem__Discount {
  margin-top: 4px;
} */

.CartItem__PriceList .UnitPriceMeasurement {
  font-size: 10px;
}

/* .CartItem__UnitPriceMeasurement {
  margin-top: 4px;
} */

.CartItem__Actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10px;
}

.CartItem__Remove {
  margin: 8px 0;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 8px));
}

.CartItem__Remove::before {
  background: var(--c-text-subdued);
}

@media screen and (min-width: 768px) {
  .CartItem__Title {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));
  }

  .CartItem__Variant {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  }

  .CartItem__PriceList, .CartItem__PlanAllocation {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  }

  .CartItem__DiscountList {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 10px));
  }

  .CartItem__Remove {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 9px));
  }
}

/**
 * -------------------- Upsell cart items --------------------
 */

@media (min-width: 768px) {
  /* .Cart--expanded .CartItem__Info .CartItem__AddToCartWrapper {
    display: none;
  }

  .Cart--expanded .CartItem__Info ~ .CartItem__AddToCartWrapper {
    display: table-cell;
    vertical-align: middle;
  } */

  .Cart__ItemList--upsell .CartItem__PriceList--line .CartItem__AddToCartWrapper {
    float: right;
  }

  .Cart__ItemList--upsell .CartItem__PriceList--line, .Cart--expanded .Cart__ItemList--upsell .ProductForm__Option {
    padding-right: 20px;
  }

  .Cart--expanded .Cart__ItemList--upsell {
    margin-top: -25px;
  }
}

.Cart--expanded > .Heading {
  margin-bottom: -25px;
}

.Cart--expanded .Cart__ItemList--upsell .CartItem__ImageWrapper {
  padding-left: 10px;
}

/* .CartItem .ProductForm__Item .Value__ImageWrapper {
  width: 30px;
  height: 30px;
  margin-right: 8px;
} */

.CartItem .ProductForm__Option {
  margin-bottom: 0;
  margin-top: 10px;
  max-width: 200px;
}

/* .CartItem .ProductForm__Item {
  padding: 4px 28px 4px 0;
  min-height: 40px;
} */

.CartItem .ProductForm__OptionName {
  font-size: 11px;
}

.CartItem .ProductForm__OptionName {
  font-size: 10px;
  line-height: normal;
}

.Popover__Hint {
  line-height: normal;
  padding: 14px 20px 15px;
  /* border-top: 1px solid rgba(var(--c-border-rgb), 0.4); */
  border-top: 1px solid var(--c-border);
  margin-top: auto;
}

.Popover__Hint .Icon--link {
  vertical-align: sub;
  margin-left: 4px;
}

@media (max-width: 430px){
  .PopoverCart .Popover__Hint, .PopoverGlobal .Popover__Hint {
    font-size: 12px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Bottom
 * ----------------------------------------------------------------------------
 */

.Cart__Total {
  margin-bottom: 10px;
}

.Cart__Total .Price--compareAt {
  margin-left: 14px;
}

.Cart__Total .Total__Title * {
  vertical-align: sub;
  display: inline-block;
  line-height: normal;
}

.Cart__Total .Total__Title {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  margin-right: 4px;
  line-height: normal;
}

@media (max-width: 430px) {
  .Total__Title {
    font-size: 13px;
  }
}

.Total__Price {
  color: var(--c-text);
  font-weight: 600;
}

.Total__Amount > * {
  vertical-align: middle;
}

.Cart__Total .Total__Amount {
  white-space: nowrap;
}

.VitaPoints__Title .Icon {
  vertical-align: text-bottom;
}

.Total__Amount s {
  margin-left: 5px;
  margin-right: 10px;
}

.ShippingThreshold__Notice {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
}

@media screen and (min-width: 768px) {
  .ShippingThreshold__Notice {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
  }
}
 
.Cart .Drawer__Footer,
.Cart__OffscreenNoteContainer {
  padding: 14px 20px 20px 20px;
}

.Cart__Checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

.Cart__OffscreenNoteContainer {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
  transform: translateY(100%);
  transition: transform 0.25s ease-in-out;
}

.Cart__OffscreenNoteContainer[aria-hidden=false] {
  transform: translateY(0);
  box-shadow: 1px 0 6px rgba(54, 54, 54, 0.2);
}

.Cart__Note {
  margin-top: 10px;
}

.Cart__Taxes {
  margin-bottom: 8px;
}

.Cart__Discount svg {
  vertical-align: sub;
}

.has-note-open[aria-hidden=false] .Drawer__Header,
.has-note-open[aria-hidden=false] .Drawer__Main {
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.5s ease;
}

@media screen and (min-width: 768px) {
  /* .Cart .Drawer__Footer,
  .Cart__OffscreenNoteContainer {
    padding: 20px 30px 30px 30px;
  } */

  .Cart__NoteButton + .Cart__Taxes {
    margin-top: 4px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Shipping and special offer threshold
 * ----------------------------------------------------------------------------
 */

.ShippingThreshold__Bar, .SpecialOffer__Bar  {
  height: 10px;
  background-color: var(--c-border);
  border-radius: 35px;
  overflow: hidden;
  position: relative;
}

.ShippingThreshold__Progress, .SpecialOffer__Progress {
  height: 100%;
  background-color: var(--c-text-subdued);
  border-right: 2px solid var(--c-border-on-dark);
}

.ShippingThreshold__Progress.progress_100 {
  background-color: var(--c-primary);
  -webkit-animation-name: unset;
  animation-name: unset;
  border-right: unset;
}

.ShippingThreshold__Notice {
  padding: 4px 12px;
  background-color: var(--c-surface-subdued);
  margin-top: 7px;
  font-weight: 600;
  min-height: 30px; /* Prevent layout shift when text is inserted */
}

.AttentionIcon, .CheckmarkIcon {
  width: 16px;
  display: inline-block;
  height: 19px;
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 7px;
  margin-left: -4px;
}

/**
 * ----------------------------------------------------------------------------
 * Special offer
 * ----------------------------------------------------------------------------
 */
 
 /* For closable container */
.Cart__SpecialOffer[aria-hidden="true"] {
  display: none;
}

.Cart__SpecialOffer .Button {
  margin-top: 5px;
}

.Cart__SpecialOffer .ProductForm__Option {
  padding-bottom: 2px;
}

.PopoverCart {
  z-index: 11;
}

.Cart__SpecialOffer .ProductForm__Option {
  max-width: 100%;
  margin-top: 5px;
}

.Cart__SpecialOffer .SubHeading {
  /* font-weight: 600; */
  line-height: normal;
}

.SpecialOffer__Threshold.SpecialOffer__Threshold--line {
  height: 100%;
  position: absolute;
  width: 2px;
  top: 0;
  background-color: var(--c-text-on-dark);
}

.SpecialOffer__Threshold--three {
  right: 0;
}

.SpecialOffer__Threshold {
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.SpecialOffer__Threshold.SpecialOffer__Threshold--three {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.SpecialOffer__Labels {
  position: relative;
  font-size: 15px;
}

.SpecialOffer__Threshold.SpecialOffer__Threshold--label {
  position: absolute;
  top: 0;
  background: var(--c-surface-subdued);
  color: var(--c-text);
  font-weight: 700;
  font-size: 13px;
  padding: 0 5px 1px;
  border-radius: 2px;
}

/**
 * ----------------------------------------------------------------------------
 * Adjustments for dedicated cart page
 * ----------------------------------------------------------------------------
 */
/* .Cart--expanded .Cart__Footer {
  padding-top: 25px;
  border-top: 1px solid var(--c-border);
}

.Cart--expanded .Cart__Recap { 
  text-align: right;
}

.Cart--expanded .Cart__Recap,
.Cart--expanded .Cart__Recap .Cart__Checkout {
  margin-top: 16px;
}

.Cart--expanded .Cart__Checkout {
  margin-left: auto;
} */

@media screen and (max-width: 767px) {
  .CartItem__Info ~ .CartItem__Actions,
  .CartItem__Info ~ .CartItem__PriceList--line,
  .Cart--expanded .CartItem__Info ~ .ProductForm__Option {
    display: none;
  }

  .Cart--expanded .Cart__ItemList--upsell .CartItem {
    margin: 25px 0;
  }

  .Cart--expanded .Cart__ItemList--upsell {
    padding-bottom: 5px;
  }
}

@media screen and (min-width: 768px) {
  .Cart--expanded .Cart__ItemList {
    display: table;
    table-layout: auto;
    border-spacing: 0 30px;
    width: 100%;
  }

  .Cart--expanded .Cart__Head {
    display: table-header-group;
  }

  .Cart--expanded .Cart__HeadItem {
    display: table-cell;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--c-border);
  }

  .Cart--expanded .CartItem {
    display: table-row;
  }

  .Cart--expanded .CartItem__Info {
    max-width: 300px;
    width: 300px;
  }

  .Cart--expanded .CartItem__Info > .CartItem__Actions, .Cart--expanded .CartItem__Info > .ProductForm__Option, .Cart--expanded .CartItem__Info ~ .CartItem__AddToCartWrapper {
    display: none;
  }

  .Cart--expanded .CartItem__Info ~ .CartItem__Actions,
  .Cart--expanded .CartItem__Info ~ .CartItem__PriceList--line,
  .Cart--expanded .CartItem__Info ~ .ProductForm__Option {
    display: table-cell;
    vertical-align: middle;
  }

  .Cart--expanded .CartItem__QuantitySelector {
    margin-bottom: 6px;
  }

  /* Cart page customisations
  .Cart--expanded .Cart__Footer {
    display: table;
    width: 100%;
    table-layout: fixed;
  } */

  /* .Cart--expanded .Cart__Recap, */
  .Cart--expanded .Cart__NoteContainer {
    display: table-cell;
  }

  .Cart--expanded .Cart__NoteContainer {
    width: 340px;
  }

  /* .Cart--expanded .Cart__Checkout {
    width: auto;
  } */

  .Cart--expanded .PopoverCart > * {
    max-width: 768px;
    margin: 0 auto;
  } 
}

/* 
@media screen and (min-width: 1200px) {
  .Cart--expanded .CartItem__Info {
    max-width: 425px;
    width: 425px;
  }
} */

.Cart--expanded .Cart__SpecialOffer:not([aria-hidden="true"]) ~ .Cart__SpecialOffer {
  margin-top: 20px;
}

.Cart--expanded .Cart__SpecialOffer .CartItem__Info > .ProductForm__Option {
  display: block;
}

.Cart__SpecialOffer .Drawer__Container {
  padding-bottom: 20px;
}

.Cart--expanded .Cart__SpecialOffer:not([aria-hidden="true"]) ~ .Cart__ItemList:not(.Cart__ItemList--upsell) {
  margin-top: 0;
}

.Cart--expanded .Cart__ItemList:not(.Cart__ItemList--upsell) {
  margin-top: -30px;
}

/**
 * ----------------------------------------------------------------------------
 * Cart page customisations
 * ----------------------------------------------------------------------------
 */

/* Disable sticky header for cart page */
.template-cart .shopify-section--header {
  position: relative;
}

body.template-cart {
  background-color: var(--c-background);
}

.template-cart #shopify-section-recently-viewed-products {
  background-color: var(--c-surface);
}

.Cart__PaymentMethods .Icon {
  /* width: 2.6em; */
  /* width: 3.2em; */
  width: 100%; /* Without linebreak */
  height: auto;
}

.Cart__PaymentMethods li {
  /* margin: 3px 5px; */
  margin: 0px 2px; /* Without linebreak */
  max-width: 50px;
}

.ClubProduct__Slideshow {
  padding: 20px 10px;
}

.ClubProduct__Slideshow .Carousel__Cell {
  padding: 0 10px;
}

.ClubProduct__Slideshow .flickity-page-dots .dot {
  margin: 0 4px;
}

.Cart__Recap--mobile {
  background-color: var(--c-surface);
  bottom: 0;
  position: -webkit-sticky;
  position: sticky;
  margin-top: 20px !important;
  z-index: 1;
  box-shadow: 0 -2px 2px 0 rgba(0,0,0,.03);
}

.Cart__PaymentMethods ul {
  list-style: none;
}

.ClubProduct__Slideshow::after {
  content: "flickity";
  display: none;
}

.ClubProduct__Slideshow .flickity-page-dots {
  margin-top: 12px;
}

.ClubProduct__Slideshow .flickity-prev-next-button {
  top: 25%;
}

.ClubProduct__Slideshow .flickity-prev-next-button.next {
  right: 20px;
}

.ClubProduct__Slideshow .flickity-prev-next-button.previous {
  left: 20px;
}

.ClubProduct__ImageWrapper {
  width: 220px;
  margin: 0 auto;
}

.ClubProduct__ImageWrapper .ProductItem__LabelList {
  z-index: 1;
}

.ClubProduct__ImageWrapper .ProductItem__Label--club-product-of-the-month {
  background-color: var(--c-primary);
  text-transform: uppercase;
  color: var(--c-text-on-primary);
  padding: 4px 9px;
  letter-spacing: .05em;
  font-weight: 700;
  font-size: 12px;
  box-shadow: 0 0 3px #00000014;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
}

.ClubHint__Account {
  padding: 9px;
}

.lion-action-button--disabled {
  font-size: 12px;
}

 @media (min-width: 992px) {
  .Cart--expanded .Cart__Footer {
    height: min-content;
    top: 20px;
    position: -webkit-sticky;
    position: sticky;
  }

  [data-section-id="main-cart"] .PageContent {
    max-width: none;
  }

  .Cart.Cart--expanded {
    display: grid;
    grid-template-columns: auto 350px;
    grid-template-rows: auto;
    gap: 0px 20px;
    grid-template-areas: "Cart__ContentWrapper Cart__Footer";
  }

  .Cart__ContentWrapper {
    margin-bottom: auto;
  }
}

@media (max-width: 767px) {
  .Cart--expanded .Cart__ItemList:not(.Cart__ItemList--upsell) {
    margin: 0 0;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  [data-section-id="main-cart"] .container {
    max-width: none; 
  }
}

/**
 * ----------------------------------------------------------------------------
 * Shipping estimator
 * ----------------------------------------------------------------------------
 */

.ShippingEstimator__Results {
  height: 0;
  overflow: hidden;
  transition: height 0.25s ease-in-out;
}

.ShippingEstimator__Error,
.ShippingEstimator__ResultsInner {
  margin-top: 32px;
}

.ShippingEstimator__Results p {
  margin-bottom: 0.5em;
}

@media screen and (max-width: 767px) {
  .ShippingEstimator__Submit {
    width: 100%;
  }

  .ShippingEstimator__Country,
  .ShippingEstimator__Province,
  .ShippingEstimator__Zip {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  .ShippingEstimator__Form {
    display: flex;
  }

  .ShippingEstimator__Form > *:not(:first-child) {
    margin-left: 20px;
  }

  .ShippingEstimator__Country,
  .ShippingEstimator__Province {
    margin-bottom: 0;
  }

  .ShippingEstimator__Zip {
    margin-bottom: 0;
    max-width: 130px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Collection item (for list of collections)
 * ----------------------------------------------------------------------------
 */

.CollectionList::after {
  content: "flickity";
  display: none;
}

.CollectionItem {
  display: block;
}

.CollectionItem__Wrapper {
  position: relative;
  height: 500px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.CollectionItem__Wrapper--small {
  height: 450px;
}

.CollectionItem__Wrapper--large {
  height: 550px;
}

.CollectionItem__ImageWrapper {
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
}

.features--show-image-zooming .CollectionItem__ImageWrapper {
  transform: scale(1);
  transition: transform 8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.CollectionItem__Image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.CollectionItem__Content {
  position: absolute;
  padding: 0 24px;
  margin-bottom: 0 !important;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  text-align: left;
}

.CollectionItem__Content--bottomCenter,
.CollectionItem__Content--middleCenter {
  text-align: center;
}

.CollectionItem__Content--bottomRight,
.CollectionItem__Content--middleRight {
  text-align: right;
}

.CollectionItem__Content--bottomLeft,
.CollectionItem__Content--bottomRight,
.CollectionItem__Content--bottomCenter {
  bottom: 24px;
  top: auto;
  left: 0;
  transform: none;
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .features--show-image-zooming .CollectionItem:hover .CollectionItem__ImageWrapper {
    transform: scale(1.2);
  }
}

@media screen and (max-width: 767px) {
  .CollectionList--grid {
    margin: 12px 12px 12px 12px;
  }

  .shopify-section:not(.shopify-section--slideshow) + .shopify-section .CollectionList--grid {
    margin-top: -12px;
  }

  .CollectionList--grid .CollectionItem {
    padding: 12px;
  }

  .CollectionList:not(.CollectionList--grid) .CollectionItem__Content--bottomLeft,
  .CollectionList:not(.CollectionList--grid) .CollectionItem__Content--bottomRight,
  .CollectionList:not(.CollectionList--grid) .CollectionItem__Content--bottomCenter {
    bottom: 70px;
  }
}

@media screen and (min-width: 768px) {
  .CollectionList {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .CollectionList::after {
    content: ""; /* disable Flickity */
  }

  .CollectionList--spaced {
    margin: 15px;
  }

  .CollectionList--spaced .CollectionItem {
    padding: 15px;
  }

  .shopify-section:not(.shopify-section--slideshow) + .shopify-section .CollectionList--grid.CollectionList--spaced {
    margin-top: -15px;
  }

  .CollectionItem {
    display: block !important;
    flex: 0 1 0;
    min-width: 50%;
  }

  .CollectionItem--expand {
    flex-grow: 1;
  }

  .CollectionItem__Content {
    padding: 0 40px;
  }

  .CollectionItem__Content--bottomLeft,
  .CollectionItem__Content--bottomRight,
  .CollectionItem__Content--bottomCenter {
    bottom: 40px;
  }
}

@media screen and (min-width: 1200px) {
  .CollectionItem {
    min-width: 33.33333%;
  }

  .CollectionItem__Wrapper {
    height: 600px;
  }

  .CollectionItem__Wrapper--small {
    height: 500px;
  }

  .CollectionItem__Wrapper--large {
    height: 700px;
  }

  .CollectionItem__Content {
    padding: 0 50px;
  }

  .CollectionItem__Content--bottomLeft,
  .CollectionItem__Content--bottomRight,
  .CollectionItem__Content--bottomCenter {
    bottom: 50px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Collection item compact
 * ----------------------------------------------------------------------------
 */

.CollectionItemCompact {
  display: block;
  background-color: var(--c-surface-neutral);
  padding: 10px 12px;
  border-radius: 3px;
  box-shadow: 0 1px 3px 0 rgba(0,0,0,0.18);
  transition: 0.1s ease;
  --text-horizontal-spacing: 0.5rem;
  --image-size: 60px;
}

@media (min-width: 768px) {
  .CollectionItemCompact {
    --text-horizontal-spacing: 1rem;
  }
}

.CollectionItemCompact:hover {
  background-color: var(--c-surface-hovered);
}

.CollectionItemCompact:active {
  background-color: var(--c-surface-pressed);
}

.CollectionItemCompact__Heading {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 305px;
  width: 100%;
}

.CollectionItemCompact__Text {
  margin-left: var(--text-horizontal-spacing);
  margin-right: var(--text-horizontal-spacing);
  max-width: calc(100% - (var(--text-horizontal-spacing) * 2));
}

.CollectionItemCompact__Icon + .CollectionItemCompact__Text {
  max-width: calc(100% - (var(--text-horizontal-spacing) * 2) - var(--image-size) - 14px); /* arrow icon 14px */
}

.CollectionItemCompact__Heading {
  margin-block-end: 0;
}

.CollectionItemCompact__Heading + *, * + .CollectionItemCompact__Heading {
  margin-top: 3px;
}

@media (max-width: 991px) {
  .CollectionItemCompact__Heading + *, * + .CollectionItemCompact__Heading {
    margin-top: 4px;
  }

  .CollectionItemCompact__Subheading.u-h6 {
    line-height: 1.5;
  }
}

.CollectionItemCompact__Icon {
  width: var(--image-size);
  height: var(--image-size);
  position: relative;
  flex-shrink: 0;
}

.CollectionItemCompact__Icon .Icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%) translateY(-50%);
  width: calc(100% - 14px);
  height: auto;
  max-height: 40px;
}

@media (min-width: 768px) {
  .CollectionItemCompact__Icon .Icon {
    max-height: 50px;
  }
}

.CollectionItemCompact__Text {
  margin-top: 4px;
  margin-bottom: 4px;
}

.CollectionItemCompact__CtaIcon .Icon {
  position: relative;
  bottom: 2px;
}


/**
 * ----------------------------------------------------------------------------
 * Product advisor collection list
 * ----------------------------------------------------------------------------
 */

.ProductAdvisor__Intro .CollectionsList__HeadingWrapper {
  max-width: 530px;
}

.CollectionsList__HeadingWrapper > .Link .Icon {
  width: 12px;
  vertical-align: sub;
  margin-right: 2px;
}

@media (max-width: 767px) {
  .CollectionList__VideoWrapper, /* [data-section-id="main-collection"] */ .SectionVideoWrapper {
    padding: 0 !important;
  }

  .ProductAdvisor__Intro {
    padding-top: 0 !important;
  }
}

.CollectionItem__Content .SectionHeader .Icon {
  position: absolute;
  top: calc(50% - 5px);
  right: -30px;
  width: 12px;
  height: 12px;
  color: var(--c-text-on-dark);
}

/* V2 */
.CollectionItem__Content .SectionHeader .Icon {
  top: calc(50% - 11px);
  width: 22px;
  height: 22px;
  color: var(--c-text);
  border: 1px solid var(--c-border-on-dark);
  padding: 5px;
  border-radius: 100%;
  background-color: var(--c-surface);
}

.ProductAdvisor .Image--contrast::after {
  /* background-image: linear-gradient(0deg,rgba(4, 4, 4, 0.55) 17%,rgba(54, 54, 54, 0) 50%); */
  background-image: linear-gradient(0deg,rgba(4, 4, 4, 0.52) 17%,rgba(54, 54, 54, 0) 50%);
}

.ProductAdvisor .CollectionList--spaced {
  margin: -12px;
}

@media (min-width: 768px) {
  .ProductAdvisor .CollectionList--spaced {
    margin: -15px;
  }
}

.ProductAdvisor .CollectionItem__Wrapper {
  height: auto;
}

.ProductAdvisor .CollectionItem__Content {
  padding: 20px 50px 20px 25px;
  /* border-top: 1px solid var(--c-border); */
  bottom: 0px;
}

@media (min-width: 1200px) {
  .CollectionItem {
    min-width: 25%;
    flex-grow: 1;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Support section
 * ----------------------------------------------------------------------------
 */

.Support {
  box-shadow: 0 0 4px 0 rgba(0,0,0,0.16);
}

.Support--narrow {
  max-width: 800px;
  margin: 0 auto;
}

.Support__Header .Icon {
  width: 50px;
  height: auto;
  color: var(--c-text-primary);
}

.Support__ContactOptions .Icon {
  width: auto;
  height: 1.1em;
  margin-right: 7px;
  vertical-align: sub;
  max-width: 21px;
}

.Support__ContactOptions .Link:hover {
  color: var(--c-text);
}

@media (min-width: 768px) {
  .Support__Body .Button {
    max-width: 360px;
  }
}

.Team__ImageWrapper {
  border-radius: 100%;
  overflow: hidden;
  border: 3px solid var(--c-border-on-dark);
  /* box-shadow: 3px 0 5px 0 rgba(0,0,0,.08); */
  box-shadow: 0 0 7px 0 rgba(0,0,0,.10);
  max-width: 100px;
  width: 100%;
  margin: 0 auto;
}

/* Fixes bug on iOS where the edges of the image flash outside the round container */
.Team__Image {
  border-radius: 100%;
}

/**
 * ----------------------------------------------------------------------------
 * Advisor collection
 * ----------------------------------------------------------------------------
 */

.AdvisorCollection .PageHeader--withBackground {
  flex-direction: unset;
  justify-content: space-between;
  align-items: flex-end;
  padding: 20px;
}

.AdvisorCollection .SectionHeader {
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 40px !important;
}

/* Safari bug where the ananda text is slightly cut off, no idea why */
.AdvisorCollection .SectionHeader .Heading--ananda {
  padding-left: 4px;
  line-height: 1.4;
}

.SectionVideoWrapper--mobile {
  border-top: 2px solid var(--c-border-on-dark);
}

.SectionBackButton {
  position: absolute;
  top: 20px;
  left: 20px;
  font-weight: 600;
}

.SectionBackButton .Icon {
  width: 6px;
  height: auto;
  vertical-align: baseline;
}

@media (min-width: 768px) {
  .AdvisorCollection .PageHeader--withBackground {
      padding: 30px;
  }

  .SectionVideoWrapper {
      max-width: 500px;
      width: 100%;
      padding: 0;
  }

  .SectionBackButton {
      left: 30px;                
  }

  .SectionVideoWrapper {
    padding-left: 30px;
  }
}

@media (max-width: 767px) {
  .AdvisorCollection > .FlexboxIeFix.container {
      padding: 0;
  }

  .PageHeader--withBackground {
      min-height: 280px;
  }
}

@media (min-width: 1200px) {
  .AdvisorCollection__Categories .CollectionItem {
      min-width: 33.33%;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Collection toolbar
 * ----------------------------------------------------------------------------
 */

/* Used this class for various sticky bottom bars like the table of contents or navigation bars */
.CollectionToolbar {
  position: -webkit-sticky;
  position: sticky;
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: var(--c-surface);
  box-shadow: 1px 1px var(--c-border), -1px -1px var(--c-border);
  z-index: 2;
}

.CollectionToolbar--top {
  top: var(--header-base-height);
}

@supports (--css: variables) {
  .CollectionToolbar--top {
    top: calc(var(--header-height) * 0);
    top: calc(var(--header-height) * var(--use-sticky-header, 0));
  }
}

.supports-sticky .CollectionToolbar--bottom {
  bottom: 0; /* as of today the best polyfill I've found does not support polyfilling sticky on bottom. As a consequence on those old
                browsers, the stickiness is always at the top */
}

.CollectionToolbar__Group {
  display: flex;
  flex: 1 0 auto;
}

.CollectionToolbar__Item {
  flex: 1 0 auto;
  padding: 1em;
  border-left: 1px solid var(--c-border);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.CollectionToolbar__Item--layout {
  flex: none;
  width: 95px;
  line-height: 1;
  cursor: auto;
  cursor: initial;
}

.CollectionToolbar__LayoutType {
  margin: 0 6px;
  opacity: 0.2;
  transition: opacity 0.25s ease-in-out;
}

.CollectionToolbar__LayoutType svg {
  width: 18px;
  height: 18px;
}

.CollectionToolbar__LayoutType.is-active {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .CollectionToolbar__Item:first-child {
    border-left: none;
  }
}

@media screen and (min-width: 768px) {
  .CollectionToolbar--reverse,
  .CollectionToolbar__Group {
    flex-direction: row-reverse;
  }

  .CollectionToolbar__Group {
    flex: none;
  }

  .CollectionToolbar__Item {
    padding: 18px 0;
  }

  .CollectionToolbar__Group .CollectionToolbar__Item {
    padding-left: 45px;
    padding-right: 45px;
  }

  .CollectionToolbar__Item--layout {
    border-left: none;
    width: 115px;
    border-right: 1px solid var(--c-border);
    white-space: nowrap;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Collection filters
 * ----------------------------------------------------------------------------
 */

.CollectionFilters .Collapsible--defaultStyling:first-child {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .CollectionFilters .Drawer__Main {
    padding-top: 35px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Promoted product item
 * ----------------------------------------------------------------------------
 */

.ProductItem--promoted .ProductItem__ImageWrapper {
  padding-top: 20px;
}

.ProductItem--promoted .ProductItem__Wrapper {
  height: 100%;
}

.ProductItem__Promotion--right {
    padding-left: 0 !important;
    padding-right: 2.5rem !important;
}

.ProductItem__Promotion--left {
    padding-right: 0.75rem !important;
    padding-left: 1.5rem !important;
    align-self: flex-start;
}

.ProductItem--promoted {
    height: 100%;
}

.ProductItem__Promotion .ProductItem__LabelList {
  left: 40px;
  max-width: initial;
  transform: unset;
}

.ProductItem--promoted .ProductItem__Info {
    padding: 0 14px 0 17px;
}

.ProductItem--promoted .Label {
  top: -6px;
  right: -6px;
}


.Promotion__AddToCartWrapper {
  align-self: flex-end;
}

.ProductItem__Promotion--left > * {
  width: 100%;
}

@media (min-width: 576px) {
  .ProductItem__Promotion .ProductItem__PriceList {
    border-bottom: 1px solid var(--c-border);
    padding-bottom: 17px;
  }
}

@media (min-width: 768px) {
  .ProductItem__Promotion--left {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .ProductItem--promoted {
    margin: 0 calc(var(--container-horizontal-spacing) * -1);
  }

  .ProductItem--promoted .Label {
    right: 6px;
  }

  .Promotion__AddToCartWrapper {
    padding: 0 calc(var(--container-horizontal-spacing) * 2) !important;
    padding-bottom: 20px !important;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Product grid
 * ----------------------------------------------------------------------------
 */

.ProductListWrapper {
  max-width: var(--container-width);
  margin: 0 auto;
}

.ProductList:not(.ProductList--carousel) {
  --row-gap: 45px;
  --column-gap: 15px;
  --items-per-row: 2;
  display: grid;
  grid-template-columns: repeat(auto-fill, calc((100% / var(--items-per-row)) - (((var(--items-per-row) - 1) * var(--column-gap)) / var(--items-per-row))));
  row-gap: var(--row-gap);
  column-gap: var(--column-gap);
}

@media (max-width: 767px) {
  .ProductList--highlightFirst :first-child {
    grid-column: 1 / span var(--items-per-row);
  }
}

.CollectionInner {
  margin-top: 24px;
}

@media screen and (min-width: 768px) {
  .CollectionInner {
    margin-top: 50px;
  }

  .ProductList:not(.ProductList--carousel) {
    --row-gap: 50px;
    --column-gap: 20px;
    --items-per-row: 3;
  }
}

@media screen and (min-width: 992px) {
  .CollectionInner {
    display: flex;
  }

  .CollectionInner__Sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 200px;
    flex: none;
    align-self: flex-start;
    width: 200px;
    margin: 0 16px 0 24px;
    padding-bottom: 50px;
  }

  .ProductList:not(.ProductList--carousel) {
    --row-gap: 60px;
    --column-gap: 40px;
    --items-per-row: 4;
  }

  @supports (--css: variables) {
    .CollectionInner__Sidebar {
      top: calc(var(--header-height) + 50px);
    }
  }

  @supports (--css: variables) {
    .CollectionInner__Sidebar--withTopToolbar {
      top: calc(var(--header-height) * 0 + 105px);
      top: calc(var(--header-height) * var(--use-sticky-header, 0) + 105px);
    }
  }

  .CollectionInner__Products {
    flex: 1 0 0;
  }

  .CollectionInner__Sidebar .Collapsible--defaultStyling {
    padding: 0;
  }
}

@media screen and (min-width: 1200px) {
  .CollectionInner__Sidebar {
    margin-right: 10px;
    margin-left: 50px;
  }

  .CollectionInner .Pagination {
    margin-bottom: 80px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Product carousel
 * ----------------------------------------------------------------------------
 */

.ProductList--carousel .Carousel__Cell {
  width: 65%;
  /* width: 58%; */
  padding: 0 12px;
  vertical-align: top;
}

@media screen and (max-width: 991px) {
  /* On phone and tablet we do not use the carousel but instead use a free scroll, which offers better performance */
  .ProductListWrapper {
    overflow: hidden;
  }

  /* [data-section-type="recently-viewed-products"] .ProductListWrapper,
  [data-section-type="featured-collections"] .ProductListWrapper, 
  [data-section-type="product-recommendations"] .ProductListWrapper {
    overflow: initial;
  } */

  .ProductList--carousel {
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 30px; /* This is a trick to hide the scrollbar on iOS */
    margin-bottom: -30px;
    display: flex; /* For equal heights */
  }

  .ProductList--carousel .Carousel__Cell {
    display: inline-block !important;
    flex-shrink: 0;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .ProductList--carousel .Carousel__Cell:first-child {
    margin-left: 19%; /* This is (100% - 62%) / 2, where 62% is the width of a single cell */
    margin-left: 2%;
  }
  .ProductList--carousel .Carousel__Cell:last-child {
    margin-right: 19%; /* This is (100% - 62%) / 2, where 62% is the width of a single cell */
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .ProductList--carousel .Carousel__Cell {
    width: 48%;
    padding: 0 15px;
  }

  .ProductList--carousel .Carousel__Cell:first-child {
    margin-left: 26%; /* This is (100% - 48%) / 2, where 48% is the width of a single cell */
  }
  .ProductList--carousel .Carousel__Cell:last-child {
    margin-right: 26%; /* This is (100% - 48%) / 2, where 48% is the width of a single cell */
  }
}

@media screen and (min-width: 992px) {
  .ProductList--carousel {
    margin: 0 65px;
  }

  .ProductList--carousel::after {
    content: "flickity";
    display: none;
  }

  .ProductList--carousel .Carousel__Cell {
    width: 33.3333%;
    left: 0;
    padding: 0 20px;
    margin-left: 0;
    padding-bottom: 5px; /* There is a bug where the cell is slighlty cut off at the bottom if it has a different height than the others. So we give some padding that the flickity viewport has some extra space reserved */
  }

  .ProductList--carousel .flickity-prev-next-button {
    top: calc(50% - 45px);
    width: 45px;
    height: 45px;
    stroke-width: 1px;
  }

  .ProductList--carousel .flickity-prev-next-button.next {
    right: -50px;
  }

  .ProductList--carousel .flickity-prev-next-button.previous {
    left: -50px;
  }
}

@media screen and (min-width: 1200px) {
  .ProductList--carousel .Carousel__Cell {
    width: 25%;
  }
}

/**
 * ----------------------------------------------------------------------------
 * FAQ Section
 * ----------------------------------------------------------------------------
 */

.Faq__Section {
  margin-bottom: 20px;
}

.Faq__Section ~ .Faq__Section {
  margin-top: 34px;
}

.Faq__Item {
  position: relative;
  margin: 14px 0;
}

.Faq__Icon {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--c-text-subdued);
  transition: all 0.3s ease-in-out;
}

.Faq__Icon svg {
  width: 8px;
  height: 10px;
  vertical-align: baseline;
}

.Faq__Item[aria-expanded=true] .Faq__Icon {
  transform: rotateZ(90deg);
  color: var(--c-text);
}

.Faq__ItemWrapper {
  padding-left: 26px;
}

.Faq__Question {
  display: block;
  width: 100%;
  margin-bottom: 0;
  text-align: left;
}

.Faq__AnswerWrapper {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: height 0.25s ease-in-out, visibility 0s ease-in-out 0.25s;
}

.Faq__Item[aria-expanded=true] .Faq__AnswerWrapper {
  visibility: visible;
  transition: height 0.25s ease-in-out;
}

.Faq__Answer {
  padding: 16px 0 22px 0;
}

.Faq__Item--lastOfSection .Faq__Answer {
  padding-bottom: 0;
}

.FaqSummary {
  list-style: none;
  margin: 0;
  padding: 0;
}

.FaqSummary__Item {
  margin-bottom: 12px;
}

.FaqSummary__Item.is-active::after {
  width: 100%;
}

.FaqSummary__Link {
  display: block;
}

.FaqSummary__LinkLabel {
  position: relative;
  display: inline-block;
}

.FaqSummary__LinkLabel::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform: scale(0, 1);
  transform-origin: left center;
  background: currentColor;
  transition: transform 0.2s linear;
}

.FaqSummary__Item.is-active .FaqSummary__LinkLabel::after {
  transform: scale(1, 1);
}

@media screen and (min-width: 768px) {
  .Faq__Section {
    margin-bottom: 34px;
  }

  .Faq__Section ~ .Faq__Section {
    margin-top: 60px;
  }
}
/**
 * As of today this section is displayed on the home page only
 */

.FeatureText {
  text-align: center;
}

.FeatureText__ContentWrapper {
  padding-left: 24px;
  padding-right: 24px;
}

.FeatureText__ImageWrapper {
  overflow: hidden;
}

.FeatureText--withImage .FeatureText__ContentWrapper {
  padding-top: 50px;
  padding-bottom: 20px;
}

.FeatureText .SectionHeader__Description {
  margin-top: 25px;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .FeatureText--imageLeft {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media screen and (min-width: 768px) {
  .FeatureText__Content {
    max-width: 430px;
    margin: 0 auto;
  }

  .FeatureText--withImage {
    display: table;
    width: 100%;
    text-align: left;
    table-layout: fixed;
  }

  .FeatureText--withImage .FeatureText__ContentWrapper,
  .FeatureText--withImage .FeatureText__ImageWrapper {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
  }

  .FeatureText--withImage .FeatureText__ContentWrapper {
    padding: 50px;
  }

  .FeatureText--imageRight .FeatureText__ContentWrapper {
    padding-right: 40px;
  }

  .FeatureText--imageRight .FeatureText__Content,
  .FeatureText--imageRight .AspectRatio {
    margin-right: 0;
  }

  .FeatureText--imageRight .AspectRatio {
    text-align: right;
  }

  .FeatureText--imageLeft .FeatureText__ContentWrapper {
    padding-left: 40px;
  }

  .FeatureText--imageLeft .FeatureText__Content,
  .FeatureText--imageLeft .AspectRatio {
    margin-left: 0;
  }

  .FeatureText--imageLeft .AspectRatio {
    text-align: left;
  }
}

@media screen and (min-width: 1200px) {
  .FeatureText--imageRight .FeatureText__ContentWrapper {
    padding-right: 100px;
  }

  .FeatureText--imageLeft .FeatureText__ContentWrapper {
    padding-left: 100px;
  }
}
.shopify-section--bordered + .shopify-section--footer {
  border-top: 1px solid var(--c-border);
}


/**
 * ----------------------------------------------------------------------------
 * Feature text with video
 * ----------------------------------------------------------------------------
 */

.FeatureText--withVideo {
  text-align: left;
}

@media (max-width: 767px) {
  .FeatureText__VideoWrapper {
      padding: 0 !important;
  }

  .Section.Section__FeatureText {
      padding-top: 0;
  }
}

.Footer {
  padding: 34px 0;
  background: var(--c-background);
  color: var(--c-text-subdued);
}

.Footer--withMargin {
  margin-top: 60px;
}

.Footer__Title,
.Footer .Link--primary:hover {
  color: var(--c-text);
}

.Footer .Form__Input::-moz-placeholder {
  color: var(--c-text-subdued);
}

.Footer .Form__Input:-ms-input-placeholder {
  color: var(--c-text-subdued);
}

.Footer .Link--secondary:hover,
.Footer .Form__Input::placeholder {
  color: var(--c-text-subdued);
}

.Footer__Logo {
  width: 110px;
}

.Footer__Block {
  margin-top: 48px;
}

.Footer__Block:first-child {
  margin-top: 0;
}

.Footer__Title {
  margin-bottom: 20px;
}

.Footer__Social {
  margin-top: 5px;
}

.Footer__Social .Icon {
  /* width: 1.5em;
  height: 1.5em; */
  width: 24px;
  height: 24px;
}

.Footer__Content + .Footer__Newsletter {
  margin-top: 18px;
}

.Footer__Inner + .Footer__Aside {
  margin-top: 65px;
}

.Footer__LocalizationForm {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.Footer__LocalizationItem + .Footer__LocalizationItem {
  margin-left: 30px;
}

.Footer__ThemeAuthor {
  margin-top: 4px;
}

/* .Footer__PaymentList {
  margin: 54px -20px 0 -20px;
  padding-top: 28px;
  border-top: 1px solid var(--c-border);
} */

.Footer__PaymentList {
  max-width: 380px;
}

.Footer__PaymentList svg {
  /* opacity: 0.8;
  width: 38px;
  height: 24px; */
  width: 52px;
  height: 33px;
}

.Footer__Aside {
  text-align: center;
  /* display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; */
  border-top: 1px solid var(--c-border);
}

.Footer__Aside > * {
  width: calc(100% + 40px);
}

.Footer .IconWrapperClickable {
  display: inline-block;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  .Footer {
    padding: 75px 0 42px 0;
  }

  .Footer--withMargin {
    margin-top: 80px;
  }

  .Footer__Inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: -20px;
    margin-right: -20px;
  }

  .Footer__Block {
    flex: 1 1 50%;
    margin-top: 0;
    margin-bottom: 50px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .Footer__Social {
    margin-top: 14px;
  }

  .Footer__Inner + .Footer__Aside {
    margin-top: 40px;
  }

  .Footer__Localization {
    width: 100%;
  }

  .Footer__LocalizationForm {
    justify-content: flex-start;
  }

  .Footer__StoreName {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  }

  .HorizontalList.Footer__PaymentList {
    padding: 0;
    border: none;
    max-width: unset;
    width: 100%;
  }

  .Footer__Aside {
    text-align: left;
    border: none;
  }
}

@media (min-width: 768px) {
  .Footer__Social {
    max-width: 190px;
  }
}

@media screen and (min-width: 1200px) {
  .Footer--withMargin {
    margin-top: 120px;
  }

  .Footer__Inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .Footer--center .Footer__Inner {
    justify-content: center;
  }

  .Footer__Block {
    flex: 0 1 auto;
  }

  .Footer__Block--text,
  .Footer__Block--newsletter {
    flex-basis: 240px;
  }

  .Footer__Inner + .Footer__Aside {
    margin-top: 80px;
  }

  .Footer__Aside > * {
    width: auto;
  }
}

@media screen and (min-width: 1200px) {
  .Footer__Block--text {
    flex-basis: 400px;
  }

  .Footer__Block--newsletter {
    flex-basis: 305px;
  }
}
.GiftCard {
  text-align: center;
}

.GiftCard__Wrapper {
  position: relative;
  margin: 0 auto;
}

.GiftCard__Redeem {
  margin-bottom: 30px;
}

.GiftCard__ImageWrapper {
  position: relative;
  margin: 40px 0;
}

.GiftCard__CodeHolder {
  position: absolute;
  display: inline-block;
  margin: 0 auto;
  bottom: 20px;
  left: 50%;
  white-space: nowrap;
  padding: 12px 20px;
  background: var(--c-surface);
  border-radius: 3px;
  transform: translateX(-50%);
}

.GiftCard__QrCode {
  margin: 20px 0;
}

.GiftCard__QrCode img {
  margin: 0 auto;
}
/**
 * ----------------------------------------------------------------------------
 * Main header
 * ----------------------------------------------------------------------------
 */

.shopify-section--header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 5;
}

.Header .Heading,
.Header .Link--secondary,
.Header .Link--primary:hover {
  color: var(--c-text);
}

.Header .Text--subdued,
.Header .Link--primary,
.Header .Link--secondary:hover {
  color: var(--c-text-subdued);
}

.Header {
  position: relative;
  background: var(--c-surface);
  color: var(--c-text);
  /* box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.06); */
  box-shadow: 0 2px 7px 0 rgba(0,0,0,.04);
  transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.Header__Wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
}

.Header__Logo {
  position: relative;
  margin-bottom: 0;
}

.Header__LogoLink,
.Header__LogoImage {
  display: block;
}

.Header__LogoLink .Icon--logo {
  width: 100%;
  height: 100%;
}

.Header__LogoLink {
  text-align: center;
}

.Header__LogoImage {
  margin: 0 auto;
  transition: opacity 0.3s ease-in-out;
  width: 110px;
}

.Header__LogoImage.Header__LogoImage--blog {
  width: 123px;
}

@media (min-width: 1200px) {
  .Header__LogoImage.Header__LogoImage--blog {
    width: 146px;
  }
}

.Header__LogoImage--transparent {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.Header__Icon {
  display: inline-block;
  line-height: 1;
  transition: color 0.2s ease-in-out;
}

.Header__Icon span {
  display: block;
}

.Header__Icon + .Header__Icon {
  margin-left: 18px;
}

.Header .Customer__Initials {
  border-width: 1px;
  width: 24px;
  height: 24px;
  font-size: 13px;
}

@media (min-width: 767px) {
  .Header .Customer__Initials {
    border-width: 2px;
  }
}

@media (min-width: 992px) {
  .Header .Customer__Initials {
    width: 27px;
    height: 27px;
    font-size: 14px;
    margin-top: 0;
  }
}

/* For new cart icon */
.Header__FlexItem--right .Header__Icon + .Header__Icon:last-of-type {
  margin-left: 15px;
}

.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent {
  background: transparent;
}

.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Header__LogoImage--primary:not(:only-child) {
  opacity: 0;
}

.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Header__LogoImage--transparent {
  opacity: 1;
}

.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Header__Icon svg {
  -webkit-filter: drop-shadow(0 1px rgba(0, 0, 0, 0.25));
          filter: drop-shadow(0 1px rgba(0, 0, 0, 0.25));
}

.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Header__Icon,
.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .HorizontalList__Item > .SelectButton,
.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .HorizontalList__Item > .Heading,
.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Header__LogoLink > .Heading,
.supports-sticky .Search--modal[aria-hidden=true] + .Header--transparent .Text--subdued {
  color: currentColor;
}

.Header__Icon .Icon--nav {
  /* height: 14px;
  width: 20px; */
  height: 21px;
  width: 21px;
}

.Header__Icon .Icon--account-mobile {
  height: 19px;
  width: 19px;
}

.Header__Icon .Icon--cart {
  /* width: 17px; */
  width: 22px;
  height: 22px;
}

.Header__Icon .Icon--search {
  position: relative;
  height: 19px;
  width: 19px;
}

.Header__FlexItem {
  display: flex;
}

.Header__FlexItem--fill {
  flex: 1 0 0;
  align-items: center;
}

.Header__FlexItem--fill:last-child {
  justify-content: flex-end;
}

.Header__CartDot {
  position: absolute !important;
  /* top: 2px;
  right: -6px; */
  /* New cart icon */
  top: 0px; 
  right: -3px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: var(--c-text);
  box-shadow: 0 0 0 2px var(--c-surface);
  transform: scale(0);
  transition: all 0.3s ease-in-out;
}

.Header__ItemDot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: var(--c-primary);
  transition: all 0.3s ease-in-out;
  transform: scale(1);
  margin-top: 3px;
  margin-left: 3px;
}

.Header__CartDot.is-visible {
  transform: scale(1);
}

.Search--modal[aria-hidden=true] + .Header--transparent .Header__CartDot {
  box-shadow: none;
  background-color: currentColor;
}

@media screen and (min-width: 768px) {
  .Header__Wrapper {
    padding: 18px 30px;
  }

  .Header__LogoImage {
    max-width: 100%;
  }

  .Header__Icon + .Header__Icon {
    margin-left: 25px;
  }

  /* For new cart icon*/
  .Header__FlexItem--right .Header__Icon + .Header__Icon:last-of-type {
    margin-left: 22px;
  }

  .Header__Icon .Icon--nav-desktop {
    height: 24px;
    width: 24px;
  }

  .Header__Icon .Icon--cart-desktop {
    height: 23px;
    /* width: 19px; */
    width: 23px;
  }

  .Header__Icon .Icon--search-desktop {
    position: relative;
    top: 1px; /* for pixel perfect alignment with the cart icon */
    height: 21px;
    width: 21px;
  }

  .Header__Icon .Icon--account {
    position: relative;
    top: 1px; /* for pixel perfect alignment with the cart icon */
    width: 21px;
    height: 21px;
  }

  .Header--withIcons .Header__SecondaryNav {
    position: relative;
    top: 1px; /* for pixel perfect alignment with icons */
    margin-right: 32px;
  }
}

@media screen and (min-width: 1200px) {
  .js .Header__Wrapper {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }

  .Header:not(.Header--sidebar) .Header__Wrapper {
    padding: 12px 50px;
  }

  .Header__Localization {
    display: inline-block;
  }

  .Header__MainNav {
    /* margin-right: 45px; */
    margin: 0 auto;
    padding-right: 45px;
  }

  .Header--inline .Header__FlexItem:first-child .Header__LocalizationForm,
  .Header--logoLeft .Header__FlexItem:first-child .Header__LocalizationForm {
    display: none;
  }

  .Header--logoLeft .Header__FlexItem--logo {
    order: -1;
    margin-right: 38px;
  }
  .Header--logoLeft .Header__FlexItem--fill:last-child {
    flex: none;
  }

  .Header--center .Header__Wrapper.Header__Wrapper {
    /* Ugly hack to increase CSS specificity */
    padding-bottom: 24px;
  }

  .Header--center .Header__MainNav {
    position: absolute;
    bottom: 0;
    left: 0;
    padding-bottom: 18px;
    width: 100%;
    text-align: center;
  }

  .Header--center .Header__MainNav .HorizontalList {
    margin-left: 0;
    margin-right: 0;
  }

  .Header--center .Header__FlexItem {
    margin-bottom: 40px;
  }

  .Header--center .Header__SecondaryNav .Header__LocalizationForm {
    display: none;
  }

  .Header--initialized .Header__Wrapper {
    opacity: 1;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Header overlay when search is active
 * ----------------------------------------------------------------------------
 */
@media (min-width: 1200px) {
  .Search--modal + .Header .Header__Overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: var(--c-overlay);
    transition: opacity .3s ease-in-out,visibility .3s ease-in-out;
    visibility: hidden;
    opacity: 0;
  }

  .Search--modal[aria-hidden="false"] + .Header .Header__Overlay {
    opacity: .5;
    visibility: visible;
  }
}


/**
 * ----------------------------------------------------------------------------
 * Desktop nav
 * ----------------------------------------------------------------------------
 */

.Header__LinkSpacer {
  position: absolute;
  display: block;
  bottom: 0;
  color: transparent;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.Header__LinkSpacer::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: scale(0, 1);
  transform-origin: left center;
  border-bottom: 2px solid var(--c-text);
  transition: transform 0.3s, opacity 0.3s;
}

.Header:not(.Header--transparent) .HorizontalList__Item.is-expanded > .Heading .Header__LinkSpacer::after,
.Header:not(.Header--transparent) .HorizontalList__Item.is-active > .Heading .Header__LinkSpacer::after,
.NavigationList__Item.is-active > .Heading .Header__LinkSpacer::after {
  opacity: 1;
  transform: scale(1, 1);
}

/**
 * ----------------------------------------------------------------------------
 * Dropdown menu
 * ----------------------------------------------------------------------------
 */

.DropdownMenu {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  top: 100%;
  padding: 25px 0;
  min-width: 200px;
  max-width: 270px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: left;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-top: none;
  transition: all 0.3s ease-in-out;
}

.DropdownMenu::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  background: var(--c-text);
  width: 100%;
  height: 2px;
  transform: scale(0, 1);
  transform-origin: left center;
  transition: transform 0.3s;
}

.DropdownMenu[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}

.DropdownMenu[aria-hidden=false]::before {
  transform: scale(1, 1);
}

.DropdownMenu[aria-hidden=false] .DropdownMenu {
  display: block;
}

.DropdownMenu [aria-haspopup] {
  position: relative;
}

.DropdownMenu .Link {
  padding-left: 25px;
  padding-right: 40px;
}

.DropdownMenu svg {
  position: absolute;
  width: 6px;
  top: calc(50% - 4px);
  height: 10px;
  right: 20px;
  transition: transform 0.2s ease-in-out;
}

.DropdownMenu .Linklist__Item:hover svg {
  transform: translateX(4px);
}

.DropdownMenu .Linklist__Item:hover > .Link--secondary {
  color: var(--c-text-subdued);
}

.DropdownMenu .DropdownMenu {
  display: none;
  left: 100%;
  top: -26px;
  border-top: 1px solid var(--c-border);
}

.DropdownMenu .DropdownMenu::before {
  display: none;
}

.DropdownMenu .DropdownMenu--reversed {
  left: auto;
  right: 100%;
}

/* Menu links (dont know where to put it) */
.SidebarMenu__Nav .IconLabel,
.Header__MainNav .IconLabel {
  /* --iconSize: 1.625em; */
  --iconSize: 1.75em;
}

/**
 * ----------------------------------------------------------------------------
 * Mega menu
 * ----------------------------------------------------------------------------
 */

.MegaMenu {
  position: absolute;
  padding: 24px 0 25px; /* top 1px less because of border top is 1px */
  width: 100%;
  left: 0;
  top: 100%;
  visibility: hidden;
  opacity: 0;
  max-height: 600px;
  /* overflow: auto; */
  overflow: visible; /* Needed for the double mega menu customisation */
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  text-align: left;
  background: var(--c-surface);
  /* border-bottom: 1px solid var(--c-border); */
  box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease-in-out;
  border-top: 1px solid var(--c-border);
}

/* Somehow this padding feels better */
/* .MegaMenu */ .Header__MainNav > .HorizontalList > .HorizontalList__Item > .MegaMenu { /* Only for first level mega menu */
  padding-top: 28px;
  padding-bottom: 28px;
}

/* .Header .HorizontalList__Item.is-expanded .MegaMenu {
  border-top: 1px solid var(--c-border);
} */

@supports (--css: variables) {
  .MegaMenu {
    max-height: calc(100vh - var(--header-height));
  }
}

.MegaMenu[aria-hidden=true] {
  pointer-events: none;
}

.MegaMenu[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}

.MegaMenu__Inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 10px; /* each menu has 40px margin, but header has 50px, so we normalize it here */
}

.MegaMenu--spacingEvenly .MegaMenu__Inner {
  justify-content: space-around;
  justify-content: space-evenly; /* space-evenly is not supported everywhere */
}

.MegaMenu--spacingCenter .MegaMenu__Inner {
  justify-content: center;
}

@supports (display: grid) {
  .MegaMenu--grid .MegaMenu__Inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

.MegaMenu__Item {
  margin: 20px 40px;
  flex-shrink: 1;
}

.MegaMenu__Item--fit {
  flex-shrink: 0;
}

.MegaMenu__Title {
  display: block;
  margin-bottom: 20px;
}

.MegaMenu__Push {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.MegaMenu__Push--shrink {
  width: 50%;
}

.MegaMenu__Push--shrink:first-child {
  padding-right: 15px;
}

.MegaMenu__Push--shrink:last-child {
  padding-left: 15px;
}

.MegaMenu__PushImageWrapper {
  margin: 8px auto 20px auto;
  max-width: 100%;
  overflow: hidden;
}

.MegaMenu__PushHeading {
  margin-bottom: 6px;
}

@media (-moz-touch-enabled: 0), (hover: hover) {
  .MegaMenu__Push img {
    transform: scale(1);
    transition: opacity 0.3s ease, transform 8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .MegaMenu__Push:hover img {
    transform: scale(1.2);
  }
} 

/**
 * ----------------------------------------------------------------------------
 * Navigation bar
 * ----------------------------------------------------------------------------
 */

.NavigationBar {
  top: var(--header-height);
}

:root {
  --navigation-height: 62px;
}

.NavigationListWrapper {
  --navigation-vertical-spacing: 20px;
  padding-bottom: var(--navigation-vertical-spacing);
}

.NavigationList .Header__LinkSpacer {
  bottom: calc(var(--navigation-vertical-spacing) * -1);
}

.NavigationList .Header__LinkSpacer::after {
  bottom: 0;
}

.NavigationBar ~ * .Anchor {
  top: calc(-1 * ((var(--header-height)) + var(--announcement-bar-height, 0px) + var(--navigation-height, 0px)));
}

.NavigationList {
  list-style: none;
  padding-top: var(--navigation-vertical-spacing);
}

.NavigationList__Item {
  width: auto !important;
  max-width: max-content !important; /* Overwrite width: 100% from .row for nav items that are longer than the viewport width */
}

.NavigationList__Item a {
  display: block;
}

.NavigationList__Item a {
  color: var(--c-text-subdued);
  position: relative;
}

.NavigationList__Item.is-active a {
  color: var(--c-text);
}

/**
 * ----------------------------------------------------------------------------
 * Blog area header customisations 
 * ----------------------------------------------------------------------------
 */

@media (max-width: 1199px) {
  .Header .Button {
    padding-left: 18px;
    padding-right: 16px;
  }
}

@media (min-width: 768px) {
  .blog-area .snize-ac-results-column > .snize-ac-results-list {
    flex-grow: 1;
  }
  
  .blog-area .snize-ac-results-column:first-child {
    width: 100%;
    display: flex;
  }

  .blog-area .snize-ac-results ul:not(:first-of-type) {
    margin-top: 0;
  }

  .blog-area .snize-ac-results-content {
    min-height: 240px;
  }
}

.blog-area #snize-ac-items-container-2 {
  display: block;
}

.blog-area .snize-ac-results-multicolumn-list {
  display: none;
}

/**
 * ----------------------------------------------------------------------------
 * Custom menu appearance groups
 * ----------------------------------------------------------------------------
 */

/* Dont let the hover element overflow, but still fill the whole area with its white background */
.MegaMenu--produktlinien .MegaMenu {
  overflow: hidden;
}

.MenuAppearanceGroup.container {
  max-width: 1040px;
  position: relative;
}

.MenuAppearanceGroup.MenuAppearanceGroup--smallCollection.container > .Linklist {
  width: 100%;
}

.MenuAppearanceGroup.MenuAppearanceGroup--smallCollection.container {
  max-width: 650px;
}

.Header__PreviewPlaceholder {
  flex: 0 0 auto;
}

.Header__ProductPreview, .Header__PreviewPlaceholder {
  width: 250px; 
  min-height: 205px;
  margin-top: -24px;
  margin-bottom: -25px;
  padding: 24px 0 25px;
  padding-left: 1.5rem;
  border-left: 1px solid var(--c-border);
}

.Header__ProductPreview {
  position: absolute;
  height: 100%;
  background: var(--c-surface);
  top: 0;
  right: 0;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  /* margin: auto 0; */
  margin-right: 20px;  
  min-height: 300px; /* Make sure to fill the whole area */
}

.MenuAppearanceGroup--one .Link ~ .Header__ProductPreview .Link.PreviewItem {
  pointer-events: none;
}

.MenuAppearanceGroup--one .Link:hover ~ .Header__ProductPreview .Link.PreviewItem {
  pointer-events: auto;
}

.MenuAppearanceGroup--one .Link:hover ~ .Header__ProductPreview {
  opacity: 1;
  visibility: visible;
}

.MenuAppearanceGroup--one .Link, .MenuAppearanceGroup--five .Link, .MenuAppearanceGroup--seven .Link, .MegaMenu .Link{ 
  color: var(--c-text-subdued);
  font-weight: 600;
  display: inline-block;
}

/* .MenuAppearanceGroup--one .Link img {
  margin-right: 12px;
  max-height: 34px;
  max-width: 20px;
  vertical-align: middle;
} */

.MenuAppearanceGroup--one .Link:hover, .MenuAppearanceGroup--five .Link:hover, .MegaMenu .Link:hover {
  color: var(--c-text);
}

.Collapsible--defaultStyling .Collapsible--defaultStyling:last-of-type .MenuAppearanceGroup--one li:last-of-type, .Collapsible--defaultStyling .Collapsible--defaultStyling:last-of-type  .Collapsible__Button {
  padding-bottom: 10px;
}

.PreviewItem {
  max-width: 240px;
  min-width: 180px;
  width: 100%;
}

.PreviewItem__ImageWrapper {
  max-width: 87px;
  /* margin: auto; */
}

.Header__PreviewPlaceholder p {
  text-align: center;
}

.PreviewItem__OptionsTitle {
  white-space: nowrap;
  line-height: normal;
  margin-top: 2px;
  font-weight: 600;
}

.PreviewItemWrapper {
  padding: 11px 14px 11px 10px;
  position: relative;
}

.PreviewItemWrapper .Label {
  top: -6px;
  right: -4px;
}

.MenuAppearanceGroup--three .PreviewItemWrapper, .PreviewItemWrapper--options {
  background-color: var(--c-surface-subdued);
}

.Value__ImageWrapper--plus {
  margin-left: -7px;
  background-color: #F8F8F8 !important;
  z-index: 0;
}

.Value__ImageWrapper--plus .Icon {
  margin: auto;
}

.Value__ImageWrapper.Value__ImageWrapper--preview:not(:first-of-type) {
  margin-left: -18px;
}

.Value__ImageWrapper--preview {
  box-shadow: 3px 0 5px 0 rgba(0,0,0,.05);
}

.PreviewItem__Values .Value__ImageWrapper {
  width: 38px;
  height: 38px;
  background: var(--c-surface);
  position: relative;
}

.PreviewItemTitle {
  text-align: center;
}

.SidebarMenu__Nav > .Collapsible--defaultStyling > .Collapsible__Inner > .Collapsible__Content {
  padding-bottom: 18px;
}

.MenuAppearanceGroup--three .Header__ItemDot {
  top: 3px;
  left: 3px;
}

.MenuAppearanceGroup--three .Link {
  position: relative;
}

.MenuAppearanceGroup--four .TasteList .Popover__Value {
  width: 60px;
  text-align: center;
}

.MenuAppearanceGroup--four .Popover__ValueList {
  overflow: hidden;
  max-width: 600px;
  gap: 12px 10px;
} 

.MenuAppearanceGroup--four .Header__PreviewPlaceholder {
  border-left: unset;
  border-right: 1px solid var(--c-border);
}

.MenuAppearanceGroup--four .PreviewItemTitle > span {
  white-space: unset;
  overflow: unset;
  text-overflow: unset;
}

@media (min-width: 1200px) {
  .MenuAppearanceGroup--five .Linklist {
    max-width: 770px;
    width: 100%;
    --column-gap: 60px;
    --items-per-row: 3;
    display: grid;
    grid-template-columns: repeat(auto-fill, calc((100% / var(--items-per-row)) - (((var(--items-per-row) - 1) * var(--column-gap)) / var(--items-per-row))));
    column-gap: var(--column-gap);
    row-gap: 20px;
  }

  .MenuAppearanceGroup--five .Linklist .Linklist__Item {
    margin: 0;
    display: flex; /* Quickfix for getting rid of weird height */
  }
}

.MenuAppearanceGroup.MenuAppearanceGroup--eight.container {
  max-width: 1200px;
}

.MenuAppearanceGroup--eight .CoachingItem {
  width: 100%;
  height: 100%;
  border-radius: 2px;
  padding: 2px 8px;
  /* background-color: var(--c-surface-neutral); */
  /* box-shadow: 0 1px 2px 0 rgba(0,0,0,0.15); */
  outline: 1px solid #eceff2;
  gap: 0.5em;
}

.MenuAppearanceGroup--eight .CoachingItem__Icon .Icon--select-arrow-right {
  vertical-align: middle;
}

.MenuAppearanceGroup--eight .CoachingItem__CtaIcon {
  font-size: 10px;
}

.MenuAppearanceGroup--eight .CoachingItem__ImageWrapper {
  width: 45px;
  height: 45px;
  align-self: center;
  background: unset;
  box-shadow: unset;
}

.MenuAppearanceGroup--eight .CoachingItem__ImageWrapper .Icon {
  height: 65%;
  width: auto;
}

.MenuAppearanceGroup--eight .CoachingItem__ImageWrapper .Icon--immun-kick {
  height: 78%;
}

.MenuAppearanceGroup--eight .CoachingItem__ImageWrapper .Icon--meno-balance {
  height: 80%;
}

.MenuAppearanceGroup--eight .CoachingItem__CtaIcon {
  width: auto;
}

/* .Header__Blog {
  width: min-content;
}

.Header__BlogImageWrapper {
  min-width: 130px;
  max-width: 180px;
  width: 100%;
}

.Header__Blog:not(.Blog__podcast) .Header__BlogImage {
  -o-object-fit: cover;
  object-fit: cover;
}

.Blog__podcast .Header__BlogImageWrapper img {
  object-position: right;
  -o-object-position: right;
}

.Blog__podcast .Header__BlogImageWrapper .AspectRatio {
  max-height: 72px;
}

.Header__BlogTitle {
  transition: 0.3s ease;
}

.Link.Header__Blog:hover .Header__BlogTitle {
  background-color: var(--c-surface-hovered);
}

.Header__BlogTitle {
  padding: 9px 18px 14px 18px;
} */

@media (max-width: 1199px) {
  .MenuAppearanceGroup--one .Linklist, .MenuAppearanceGroup--five .Linklist, .MenuAppearanceGroup--seven .Linklist  {
    border-left: 2px solid var(--c-border);
  }

  .MenuAppearanceGroup--six.container {
    padding-left: 0;
  }

  .MenuAppearanceGroup--three {
    padding-left: 0 !important;
  }

  .MenuAppearanceGroup--six .BlogTopicWrapper:nth-of-type(1) {
    margin-bottom: 22px;
  }

  .MenuAppearanceGroup--six .BlogTopicWrapper:nth-of-type(2) {
    margin-bottom: 12px;
  }

  /* .Header__BlogImageWrapper {
    min-width: 100px;
    max-width: 120px;
  }

  .Blog__podcast .Header__BlogImageWrapper .AspectRatio {
    max-width: 80px;
    margin-right: 0;
  } */

  .MenuAppearanceGroup--three .PreviewItem__ImageWrapper {
    max-width: 100px;
  }

  .Recipes__ProductTagList li {
    padding-left: 20px;
    margin-top: 8px;
  }
}

@media (min-width: 1200px) {
  .MenuAppearanceGroup--two .Linklist {
    display: flex;
    flex-wrap: wrap;
    row-gap: 15px;
    column-gap: 10px;
  }

  .MenuAppearanceGroup--two .Linklist li {
    margin-bottom: 0;
    flex-shrink: 0;
    width: calc(25% - 10px);
  }

  /* Align the text when there is a line break in one Link */
  .MenuAppearanceGroup--one .Linklist > li {
    display: flex;
  }

  .MenuAppearanceGroup--six .BlogTopic--magazin .BlogTopic__IconWrapper {
    margin-right: 6px;
  }

  .PreviewItemWrapper {
    padding: 16px 18px 16px 10px;
  }

  .Recipes__ProductTagList {
    padding: 28px 0 28px 35px;
    margin: -28px 0 !important;
    border-left: 1px solid var(--c-border);
  }

  .MenuAppearanceGroup--seven > .Linklist {
    min-width: 380px;
  }

  /* .Blog__podcast .Header__BlogImageWrapper {
    width: 72px !important;
    min-width: 72px;
  } */
}

/**
 * ----------------------------------------------------------------------------
 * Coaching product item
 * ----------------------------------------------------------------------------
 */

.CoachingItem__Subheading {
  white-space: nowrap;
}

.CoachingItem__Heading {
  line-height: normal;
}

.CoachingItem__Heading + *, * + .CoachingItem__Heading  {
  margin-top: 3px;
}

.CoachingProductList__Item .Button--quickAdd {
  height: 50px;
  width: 50px;
}

.CoachingProductList__Item--locked .CoachingItem__Heading, .CoachingProductList__Item--locked .CoachingItem__ImageWrapper {
  opacity: 0.6;
}

.CoachingItem {
  display: flex;
  gap: 1em;
}

.CoachingItem__ImageWrapper {
  width: 60px;
  height: 60px;
  /* align-self: center; */
  position: relative;
  flex-shrink: 0;
  /* background-color: var(--c-surface-neutral); */
  border-radius: 3px;
  box-shadow: 0px 1px 2px 0 rgba(0,0,0,0.14);
  /* box-shadow: 0 1px 2px 1px #00000014; */
}

.CoachingItem__ImageWrapper .Icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  /* width: 67%; */
  /* height: 75%; */
  /* height: 65%;
  width: auto; */
  width: calc(100% - 20px);
  height: auto;
  max-height: calc(100% - 12px);
}

.CoachingItem__ImageWrapper .Icon--darmkur {
  width: calc(100% - 14px);
}

.CoachingItem__Info {
  align-self: center;
}

.CoachingItem__CtaIcon {
  text-align: center;
  align-self: center;
  color: var(--c-text);
  margin-left: auto;
}

/**
 * ----------------------------------------------------------------------------
 * Image with text overlay section
 * ----------------------------------------------------------------------------
 */

.ImageHero {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-size: cover;
  background-position: center;
  min-height: 380px;
  width: 100%;
  overflow: hidden;
}

.ImageHero--small {
  min-height: 330px;
}

.ImageHero--large {
  min-height: 480px;
}

.ImageHero__ImageWrapper,
.ImageHero__Image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 992px) and (-moz-touch-enabled: 0), screen and (min-width: 992px) and (hover: hover) {
  .ImageHero__Image--parallax {
    background-attachment: fixed;
  }
}

.ImageHero__ImageWrapper--hasOverlay::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.ImageHero__Wrapper {
  z-index: 1;
}

.ImageHero__ContentOverlay {
  position: relative;
  flex-basis: 425px;
  flex-grow: 0;
  padding: 0 15px;
  text-shadow: 0 1px rgba(0, 0, 0, 0.5);
}

.ImageHero__TextContent {
  position: absolute;
  padding: 0 24px;
  margin-bottom: 0 !important;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  text-align: center;
}

/* We allow embedding a video within an image hero */
.ImageHero iframe {
  position: absolute;
  height: 100%;
  width: 200%;
  left: -50%;
  pointer-events: none;
}

.ImageHero--large iframe {
  width: 250%;
  left: -75%;
}

.ImageHero--preserveRatio {
  min-height: 0;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.ImageHero--preserveRatio iframe {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.ImageHero iframe[src] {
  pointer-events: auto; /* When data saver is on in Chrome, it will just set the src but prevents autoplay, so we need to make sure that we make it clickable */
}

.ImageHero__Block {
  margin: 40px auto;
  padding: 38px 20px;
  max-width: 250px;
  box-shadow: 0 1px 20px rgba(54, 54, 54, 0.3);
}

.ImageHero__Block--small {
  max-width: 165px;
}

.ImageHero__Block--large {
  max-width: 320px;
}

.ImageHero__BlockHeading {
  margin: -0.325em 0 18px 0;
}

.ImageHero__BlockContent + .ImageHero__BlockLink {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .ImageHero__Block {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  }
}

@media screen and (min-width: 768px) {
  .ImageHero {
    min-height: 450px;
  }

  .ImageHero--small {
    min-height: 400px;
  }

  .ImageHero--large {
    min-height: 500px;
  }

  .ImageHero iframe {
    width: 100%;
    height: 200%;
    left: 0;
  }

  .ImageHero__Block {
    padding: 48px 15px;
    max-width: 380px;
  }

  .ImageHero__Block--small {
    max-width: 240px;
  }

  .ImageHero__Block--large {
    max-width: 520px;
  }

  .ImageHero__TextContent {
    padding: 0 40px;
    bottom: 40px;
    top: auto;
    left: 0;
    transform: none;
    text-align: left;
  }
}

@media screen and (min-width: 1200px) {
  .ImageHero {
    min-height: 500px;
  }

  .ImageHero--small {
    min-height: 450px;
  }

  .ImageHero--large {
    min-height: 600px;
  }

  .ImageHero__TextContent {
    padding: 0 50px;
    bottom: 50px;
  }
}
.NewsletterPopup {
  position: fixed;
  bottom: 15px;
  left: 15px;
  width: calc(100% - 30px);
  padding: 24px 30px 30px 30px;
  background: var(--c-surface);
  color: var(--c-text);
  z-index: 50;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  visibility: hidden;
  transform: translateY(25px);
  opacity: 0;
  transition: all 0.5s var(--drawer-transition-timing);
}
.NewsletterPopup .Heading {
  color: inherit;
}
.NewsletterPopup .Form__Input::-moz-placeholder {
  color: rgba(var(--c-text-rgb), 0.6);
}
.NewsletterPopup .Form__Input:-ms-input-placeholder {
  color: rgba(var(--c-text-rgb), 0.6);
}
.NewsletterPopup .Form__Input::placeholder {
  color: rgba(var(--c-text-rgb), 0.6);
}
.NewsletterPopup .Form__Input {
  border-color: rgba(var(--c-text-rgb), 0.4);
}
.NewsletterPopup .Form__Input:focus {
  border-color: var(--c-text);
}
.NewsletterPopup .Button {
  color: var(--c-surface);
  border-color: var(--c-text);
}
.NewsletterPopup .Button::before {
  background-color: var(--c-text);
}
@media (-moz-touch-enabled: 0), (hover: hover) {
  .NewsletterPopup .Button:not([disabled]):hover {
    color: var(--c-text);
    background-color: transparent;
  }
}

.NewsletterPopup[aria-hidden=false] {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.NewsletterPopup__Close {
  position: absolute;
  right: 15px;
  top: 15px;
}
.NewsletterPopup__Close svg {
  display: block;
  width: 15px;
  height: 15px;
}

.NewsletterPopup__Content a {
  text-decoration: underline;
  text-underline-position: under;
}

.NewsletterPopup__Form {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  .NewsletterPopup {
    max-width: 385px;
    right: 25px;
    bottom: 25px;
    left: auto;
    padding-top: 35px;
  }

  .NewsletterPopup__Close svg {
    width: 18px;
    height: 18px;
  }
}
.Password {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  width: 100%;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
}

/**
 * ----------------------------------------------------------------------------
 * Header
 * ----------------------------------------------------------------------------
 */
.Password__Header {
  position: relative;
  text-align: center;
}

.Password__Logo {
  display: block;
  line-height: 1;
}

.Password__LogoImage {
  vertical-align: middle;
}

.Password__LockAction {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.Password__LockAction svg {
  margin-left: 10px;
  width: 20px;
  height: 20px;
  vertical-align: bottom;
}

/**
 * ----------------------------------------------------------------------------
 * Content
 * ----------------------------------------------------------------------------
 */
.Password__Content {
  width: 470px;
  max-width: 100%;
  margin: 35px auto;
}

.Password__Newsletter {
  margin-bottom: 10px;
}

.Password__Card {
  padding: 24px;
  background: var(--c-surface-subdued);
  text-align: center;
}

.Password__Message {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
}

.Password__Form {
  margin-top: 28px;
}

.Password__Form .Button {
  flex: none;
  margin-bottom: 0;
  margin-top: 15px;
  width: 100%;
}

.Password__Social {
  padding: 22px 25px 22px 28px;
  background: var(--c-surface);
  text-align: center;
}

.Password__ShareButtons {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .Password__Content {
    margin: 80px auto;
  }

  .Password__Card {
    padding: 45px 60px 50px 60px;
  }

  .Password__Form .Button {
    width: auto;
    margin-top: 0;
  }

  .Password__Social {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }

  .Password__ShareButtons {
    margin-top: 0;
    margin-left: 15px;
    flex-shrink: 0;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Footer
 * ----------------------------------------------------------------------------
 */
.Password__Footer {
  text-align: center;
}

.Password__AdminLink {
  display: block;
  margin-top: 15px;
}

.Password__Footer svg {
  width: 70px;
  height: 20px;
  vertical-align: bottom;
  margin-left: 2px;
}

@media screen and (min-width: 768px) {
  .Password__Footer {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }

  .Password__AdminLink {
    margin-top: 0;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Modal
 * ----------------------------------------------------------------------------
 */
.Password__Modal {
  display: flex;
  justify-content: center;
}
/**
 * ----------------------------------------------------------------------------
 * Product (general)
 * ----------------------------------------------------------------------------
 */
/* Grid layout in order to display the product tabs below the gallery on desktop and on mobile below the product info */

/* @media (min-width: 768px) {
  .Product__Wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: "Product__Gallery Product__InfoWrapper" "Product__Tabs Product__InfoWrapper";
    gap: 0px 30px;
  }

  .Product__Wrapper--noVariant {
    grid-template-areas: "Product__Gallery Product__InfoWrapper" "Product__Gallery Product__Tabs";
  }

  .Product__Gallery {
    grid-area: Product__Gallery;
  }

  .Product__InfoWrapper {
    grid-area: Product__InfoWrapper;
  }

  .Product__Tabs {
    grid-area: Product__Tabs;
    height: min-content;
    min-height: unset !important;
  }
} */

/* @media (min-width: 768px) and (max-width: 991px) {
  .Product__Wrapper {
    grid-template-columns: 0.8fr 1.1fr;    
  }
} */

.Product {
  position: relative;
  /* margin: 0 auto 50px auto;
  margin-bottom: 0; */
  max-width: 1320px;
  padding-left: var(--container-horizontal-spacing);
  padding-right: var(--container-horizontal-spacing);
  margin: 0 auto;
}

@media (max-width: 767px) {
  #shopify-section-main-product .Section--spacingNormal:first-of-type {
    padding-top: 0;
  }
}

.Product--fill {
  max-width: none;
}

@media screen and (min-width: 992px) {
  .Product__Wrapper--stack {
    max-width: calc(100% - 525px);
    margin-left: 0;
  }
}
@media screen and (min-width: 1200px) {
  .Product__Wrapper--stack {
    max-width: calc(100% - 550px);
  }

  .Product--small .Product__Slideshow {
    max-width: 400px;
  }

  .Product--medium .Product__Slideshow {
    max-width: 550px;
  }
}
@media screen and (min-width: 1400px) {
  .Product__Wrapper--stack {
    max-width: calc(100% - 500px);
  }
}

.StickyBar {
  bottom: 0;
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  /* height: 0; */
  background: var(--c-surface);
  padding: 11px 20px;
  /* box-shadow: 0 -3px 7px 0 rgba(0, 0, 0, 0.06); */
  box-shadow: 0 -4px 5px 0 rgba(0,0,0,.03);
  /* border-top: 1px solid var(--c-border); */
  z-index: 4;
  /* transition: transform 0.5s var(--drawer-transition-timing), visibility 0.5s var(--drawer-transition-timing); */
  transition: 0.3s ease;
  visibility: hidden;
  transform: translateY(100%);
  opacity: 0;
}

.StickyBar__ItemWrapper {
  max-width: 450px;
  margin: auto;
}

.StickyBar[aria-hidden="false"] {
  visibility: visible;
  transform: translateY(0);
  height: auto;
  opacity: 1;
}

.StickyBar .ProductForm__Item {
  padding-top: 5px;
  padding-bottom: 5px;
}

.StickyBar .ProductForm__Item > * {
  pointer-events: none;
}

.StickyBar .Button--quickAdd {
  width: 58px;
  height: 58px;
}

/* 
 * Need to manually calculate the allowed width so that text-overflow: ellipsis works for the variant title
 * 46px is the icon width, 10px is the margin of the icon
 */
.StickyBar .ProductForm__OptionWrapper {
  max-width: calc(100% - 46px - 10px);
}

/* 
 * Need to manually calculate the allowed width so that text-overflow: ellipsis works for the variant title
 * 60px is the button width, 1rem is the right margin
 */
.StickyBar .ProductForm__Option {
  max-width: calc(100% - 60px - 1rem);
}

.StickyBar .ProductForm__OptionName {
  font-size: 11px;
}

.StickyBar .ProductForm__Item .Value__ImageWrapper {
  width: 46px;
  height: 46px;
}

.PhoneConsultant__ListItem {
  max-width: 65px;
  width: 100%;
}

.PhoneConsultant__ListItem--icon {
  border: 1px solid var(--c-text-subdued);
  margin-right: 30px;
  border-radius: 100%;
}

.PhoneConsultant__ListItem:not(:first-of-type) {
  margin-left: -12px;
}

.PhoneConsultant__ImageWrapper {
  border-radius: 100%;
  overflow: hidden;
  border: 2px solid var(--c-border-on-dark);
  box-shadow: 3px 0 5px 0 rgba(0,0,0,.08);
}

.PhoneConsultant__Image {
  border-radius: 100%;
}


.PhoneConsultant__ListItem--icon .Icon {
  width: 40%;
  height: 40%;
}
/**
 * ----------------------------------------------------------------------------
 * Product gallery
 * ----------------------------------------------------------------------------
 */
.Product__Gallery {
  position: relative;
  margin-bottom: 28px;
}

@media (min-width: 768px) {
  .Product__Gallery:not(.Product__Gallery--stack) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-base-height) + 25px);
    align-self: start;
    margin-bottom: 0;
  }
}

.Product__ViewInSpace {
  background: rgba(var(--text-color-rgb), 0.08);
  /* This color is defined by Shopify spec */
}
.Product__ViewInSpace[data-shopify-xr-hidden] {
  visibility: hidden;
}
@media screen and (min-width: 992px) {
  .Product__ViewInSpace[data-shopify-xr] {
    display: none;
  }
}
.Product__ViewInSpace svg {
  margin: -1px 12px 0 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

.Product__Slideshow::after {
  content: "flickity";
  display: none;
}

.Product__SlideItem {
  position: relative;
}

@media (max-width: 767px) {
  .Product__SlideItem[data-media-image-type="default"] .Product__Image {
    padding-top: 18px;
  }

  .Product__SlideItem[data-media-variant-group*="Vorteilspaket"] img {
    padding-left: 18px;
    padding-right: 18px;
  }

  .Product__Gallery {
    /* margin-left: calc(var(--container-horizontal-spacing) * -1);
    margin-right: calc(var(--container-horizontal-spacing) * -1); */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.Product__SlideItem--hidden {
  visibility: hidden;
}

.Product__Slideshow.flickity-enabled .Product__SlideItem:not(.is-selected) .plyr__control {
  /* This is a quick fix to prevent the controls to gain focus until if the slide is not visible */
  visibility: hidden;
}

.Product__LabVerificationIcon {
  position: absolute;
  /* right: 23%; */
  bottom: 10px;
  transform: translateX(61.8%);/* Golden ratio */
}

.LabVerificationIcon {
  width: 52px;
  height: 52px;
}

@media (min-width: 768px) {
  .LabVerificationIcon {
    width: 70px;
    height: 70px;
  }
}

.LabVerificationModal {
  max-width: 700px;
}

.LabVerificationContent__SealIcon {
  width: 70px;
}

.PDFViewer__Wrapper {
  margin-bottom: -20px;
}

.PDFViewer__Wrapper iframe {
  width: 100%;
  min-height: 450px; 
}

.LabVerificationIcon.IconWrapperClickable:not(:hover)::before {
  background-color: var(--c-surface);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2);
}

.Product__Video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
}

/* .Product__SlideshowNav {
  display: none;
} */

.Product__SlideshowNavBadge {
  position: absolute;
  /* top: 3px;
  right: 3px; */
  z-index: 1;
  pointer-events: none;
  /* New styling */
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: var(--c-surface);
  background: var(--c-primary);
  border-radius: 100%;
}

.Product__SlideshowNavBadge svg {
  display: block;
  width: 20px;
  height: 20px;
}

.Product__SlideshowMobileNav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 24px 0 24px;
}
.Product__SlideshowMobileNav .flickity-page-dots {
  display: inline-block;
  margin-top: 0;
  width: auto;
}
.Product__SlideshowMobileNav .dot {
  vertical-align: middle;
}

.Product__SlideshowNavArrow {
  position: relative;
  /* This is used to increase the clickable area */
}
.Product__SlideshowNavArrow::before {
  position: absolute;
  content: "";
  top: -18px;
  right: -18px;
  left: -18px;
  bottom: -18px;
  transform: translateZ(0);
  /* Needed to avoid a glitch on iOS */
}
.Product__SlideshowNavArrow svg {
  display: block;
  width: 6px;
  height: 9px;
}

.Product__SlideshowNavArrow--previous {
  margin-right: 24px;
}

.Product__SlideshowNavArrow--next {
  margin-left: 24px;
}

/* @media screen and (min-width: 768px) {
  .Product__Gallery {
    margin-bottom: 65px;
  }
}
.Product__Gallery {
  margin-bottom: 65px;
} */
@media screen and (min-width: 992px) {
  /* .Product__Gallery {
    margin-top: 50px;
    margin-left: 50px;
  } */

  .Product__SlideshowNav--dots {
    display: block;
  }

  .Product__SlideItem {
    display: block !important;
  }

  .Product__Slideshow--zoomable .Product__SlideItem--image {
    cursor: var(--cursor-zoom-in-svg) 18 18, zoom-in;
    cursor: -webkit-image-set(var(--cursor-zoom-in-svg) 1x, var(--cursor-zoom-in-2x-svg) 2x), zoom-in;
  }

  /* Dots */
  .Product__SlideshowNav--dots .Product__SlideshowNavScroller {
    position: -webkit-sticky;
    position: sticky;
    top: 50%;
    transform: translateY(-50%);
  }
  @supports (--css: variables) {
    .Product__SlideshowNav--dots .Product__SlideshowNavScroller {
      top: calc(50% + (var(--header-height) / 2));
    }
  }

  .Product__SlideshowNavDot {
    display: block;
    height: 10px;
    width: 10px;
    border-radius: 100%;
    border: 2px solid var(--c-border);
    background: transparent;
    transition: all 0.2s ease-in-out;
  }
  .Product__SlideshowNavDot:not(:last-child) {
    margin-bottom: 12px;
  }

  .Product__SlideshowNavDot.is-selected {
    border-color: var(--c-text);
    background: var(--c-text);
  }

  /* Thumbnails
  .Product__SlideshowNavImage {
    position: relative;
    display: block;
    border: 1px solid transparent;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
  }
  .Product__SlideshowNavImage:not(:last-child) {
    margin-bottom: 18px;
  }

  .Product__SlideshowNavImage.is-selected {
    border-color: var(--c-text);
  }

  .Product__SlideshowNavPlay {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: var(--c-surface);
    -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
  }
  .Product__SlideshowNavPlay svg {
    width: 30px;
    height: 30px;
    transition: transform 0.2s ease-in-out;
  } */

  /* When the gallery is stack we have various adjusments to do */
  .Product__Gallery--stack {
    /* On desktop we use a different apparition effect than fade in if images are stacked */
    /* Thumbnails */
  }
  .Product__Gallery--stack .Product__SlideshowNav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1;
  }
  .Product__Gallery--stack .Product__SlideshowNav--dots {
    left: -30px;
  }
  .Product__Gallery--stack .Product__Slideshow::after {
    content: "";
    /* Disable Flickity */
  }
  .Product__Gallery--stack .Product__Slideshow .Image--fadeIn {
    transform: translateY(50px);
    opacity: 0;
    transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .Product__Gallery--stack .Product__Slideshow .Image--lazyLoaded.Image--fadeIn {
    transform: translateY(0);
    opacity: 1;
  }
  .Product__Gallery--stack .Product__SlideItem {
    margin-bottom: 30px;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .Product__Gallery--stack .Product__SlideItem:last-child {
    margin-bottom: 0;
  }
  .Product__Gallery--stack .Product__SlideshowNav--thumbnails {
    position: -webkit-sticky;
    position: sticky;
    padding: 0 0 50px 0;
    top: var(--header-base-height);
    margin-bottom: -50px;
    width: 70px;
  }
  @supports (--css: variables) {
    .Product__Gallery--stack .Product__SlideshowNav--thumbnails {
      top: calc(var(--header-height) + 25px);
    }
  }
}

/* Thumbnails (moved out of above media query) */
.Product__SlideshowNavImage {
  position: relative;
  display: block;
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.Product__SlideshowNavImage:not(:last-child) {
  margin-bottom: 18px;
}

.Product__SlideshowNavImage.is-selected {
  border-color: var(--c-text);
}

.Product__SlideshowNavPlay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: var(--c-surface);
  -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
}
.Product__SlideshowNavPlay svg {
  width: 30px;
  height: 30px;
  transition: transform 0.2s ease-in-out;
}
/* Thumbnails (moved out of above media query) */


@media screen and (min-width: 1200px) {
  /* .Product__Gallery {
    margin-bottom: 80px;
  } */

  .Product__Slideshow {
    margin-left: auto;
    margin-right: auto;
  }

  .Product__Gallery--withThumbnails .Product__SlideshowNav--dots {
    display: none;
  }
  .Product__Gallery--withThumbnails .Product__SlideshowNav--thumbnails {
    display: block;
  }

  .Product__Gallery--stack.Product__Gallery--withThumbnails {
    display: flex;
  }
  .Product__Gallery--stack.Product__Gallery--withThumbnails .Product__Slideshow,
  .Product__Gallery--stack.Product__Gallery--withThumbnails .Product__SlideshowNav {
    flex: 1 0 auto;
  }
  .Product__Gallery--stack.Product__Gallery--withThumbnails .Product__SlideshowNav {
    flex-grow: 0;
  }
  .Product__Gallery--stack.Product__Gallery--withThumbnails .Product__Slideshow {
    padding-left: 50px;
  }

  /* .Product__Gallery:not(.Product__Gallery--stack).Product__Gallery--withThumbnails .Product__SlideshowNav {
    margin: 10px -10px -10px -10px;
    text-align: center;
  }
  .Product__Gallery:not(.Product__Gallery--stack).Product__Gallery--withThumbnails .Product__SlideshowNavImage {
    display: inline-block;
    width: 70px;
    margin: 10px;
    vertical-align: top;
  } */
  .Product__Gallery:not(.Product__Gallery--stack).Product__Gallery--withThumbnails .flickity-page-dots {
    display: none;
  }
}


/* Thumbnails (moved out of above media query) */
.Product__Gallery:not(.Product__Gallery--stack).Product__Gallery--withThumbnails .Product__SlideshowNav {
  /* margin: 10px -10px -10px -10px; */
  margin: 10px 0px -10px 0px;
  text-align: center;
}
.Product__Gallery:not(.Product__Gallery--stack).Product__Gallery--withThumbnails .Product__SlideshowNavImage {
  display: inline-block;
  width: 70px;
  margin: 10px;
  vertical-align: top;
}
/* Thumbnails (moved out of above media query) */


/**
 * ----------------------------------------------------------------------------
 * Product aside and info
 * ----------------------------------------------------------------------------
 */
.Product__Wrapper--stack .Product__Info,
.Product__Aside {
  max-width: 500px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  /* .Product__Info .container {
    padding-left: 0;
    padding-right: 0;
  } */

  .Product__Aside .Section {
    max-width: 630px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  /* .Product__InfoWrapper {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
  } */

  .Product__Wrapper--stack .Product__Info {
    position: -webkit-sticky;
    position: sticky;
    top: var(--header-base-height);
    right: 0;
    width: 375px;
    margin: 0 100px -40px 50px;
    padding-top: 0;
    padding-bottom: 40px;
  }
  @supports (--css: variables) {
    .Product__Wrapper--stack .Product__Info {
      top: calc(var(--header-height) + 25px);
    }
  }

  /* .Product__Aside {
    max-width: 820px;
    padding-left: 50px;
  } */

  .Product__Aside .SectionHeader {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1200px) {
  .Product__Wrapper--stack .Product__Info {
    width: 400px;
  }
}
@media screen and (min-width: 1400px) {
  .Product__Wrapper--stack .Product__Info {
    margin-right: 50px;
  }
}

.ProductForm, .Product__ShopBenefits, .Product__Tabs,
.ProductForm__AddToCartWrapper + .ProductForm__Variants, .ProductForm__Variants + .ProductForm__AddToCartWrapper {
  margin-top: 24px;
}

/* Increase spacing to option label, as the labels of the advantage swatches stick out above the the selectable elements */
.AdvantageSwatchList {
  margin-top: 14px;
}

/**
 * ----------------------------------------------------------------------------
 * Action list
 * ----------------------------------------------------------------------------
 */
@-webkit-keyframes shareItemAnimation {
  0% {
    transform: translateY(0%);
  }
  25% {
    opacity: 0;
    transform: translateY(100%);
  }
  50% {
    opacity: 0;
    transform: translateY(-100%);
  }
  75% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes shareItemAnimation {
  0% {
    transform: translateY(0%);
  }
  25% {
    opacity: 0;
    transform: translateY(100%);
  }
  50% {
    opacity: 0;
    transform: translateY(-100%);
  }
  75% {
    opacity: 1;
    transform: translateY(0%);
  }
}
.Product__ActionList {
  position: absolute;
  top: 30px;
  right: 25px;
  z-index: 1;
  visibility: visible;
  opacity: 1;
  transition: visibility 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.Product__ActionList.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.Product__ActionItem {
  display: block;
  position: relative;
}

.Product__ActionItem + .Product__ActionItem {
  margin-top: 15px;
}

.Product__ShareList {
  display: block;
  position: absolute;
  visibility: hidden;
  top: 100%;
  right: 0;
  color: var(--c-text-subdued);
}

.Product__ActionItem .Icon--share {
  margin-left: -1px;
}

.Product__ShareItem {
  display: block;
  margin: 15px 0 15px auto;
  padding: 7px 15px 7px 17px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: var(--c-surface-subdued);
  border-radius: 25px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
  white-space: nowrap;
  opacity: 0;
  box-shadow: 0 2px 10px rgba(54, 54, 54, 0.15);
  transition: all 0.45s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s;
}
.Product__ShareItem:active, .Product__ShareItem:focus {
  color: var(--c-surface-subdued);
  background: var(--c-text-subdued);
  outline: none;
}
.Product__ShareItem:nth-child(2) {
  transition-delay: 0.1s;
}
.Product__ShareItem:nth-child(3) {
  transition-delay: 0s;
}
.Product__ShareItem svg {
  margin-right: 12px;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));
  vertical-align: sub;
  transform: translateZ(0);
}
.Product__ShareItem:hover svg {
  -webkit-animation: shareItemAnimation 0.5s ease-in-out forwards;
          animation: shareItemAnimation 0.5s ease-in-out forwards;
}

.Product__ShareList[aria-hidden=false] {
  visibility: visible;
}
.Product__ShareList[aria-hidden=false] .Product__ShareItem {
  opacity: 1;
  transition-delay: 0s;
}
.Product__ShareList[aria-hidden=false] .Product__ShareItem:nth-child(2) {
  transition-delay: 0.1s;
}
.Product__ShareList[aria-hidden=false] .Product__ShareItem:nth-child(3) {
  transition-delay: 0.2s;
}

@media screen and (min-width: 992px) {
  .Product__ShareList {
    top: auto;
    bottom: 100%;
  }

  .Product__ShareItem {
    transition-delay: 0s;
  }
  .Product__ShareItem:nth-child(3) {
    transition-delay: 0.2s;
  }

  .Product__ShareList[aria-hidden=false] .Product__ShareItem {
    transition-delay: 0.2s;
  }
  .Product__ShareList[aria-hidden=false] .Product__ShareItem:nth-child(3) {
    transition-delay: 0s;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Product meta and info
 * ----------------------------------------------------------------------------
 */
@media (min-width: 768px) {
  .Product__Info {
    max-width: 520px;
  }
}

.ProductMeta__ImageWrapper {
  display: block;
  margin-bottom: 32px;
}

.ProductMeta__Vendor {
  margin-bottom: 20px;
}

.ProductMeta__Title {
  margin-bottom: 0;
}

.ProductMeta__HeadingWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.25em 0.75em;
  flex-wrap: wrap-reverse;
}

.ProductMeta__DesignInfo {
  font-size: 0.75em;
  padding: 0.125em .5em;
  box-shadow: 0 1px 2px #0000002b;
  border-radius: 2px;
  background-color: var(--c-surface);
  font-weight: 500;
  transition: 0.1s ease;
}
.ProductMeta__DesignInfo:hover {
  color: var(--c-text);
  background-color: var(--c-surface-hovered);
}
.ProductMeta__DesignInfo:active {
  background-color: var(--c-surface-pressed);
}

.ReviewStars {
  line-height: inherit;
  display: flex;
  align-items: center;
  gap: 0.3125em;
}

.ReviewStars--small {
  font-size: 0.75em;
}

.ReviewStars__Stars {
  clip-path: url(#review-stars);
  -webkit-clip-path: url(#review-stars);
  background-color: var(--c-surface-pressed); /* Incorrect use of color token, needed a darker grey than --c-surface-subdued for better visibility */
  width: 5.575em;
  height: calc(5.575em * 0.1571); /* 0.1571 is the aspect ratio of the original svg (70px width, 11px height) */
}

.ReviewStars__Stars::before {
  content: "";
  height: 100%;
  display: block;
  width: var(--rating-percentage, 0);
  background-color: #ffe33e;
}

.ReviewStars--small .ReviewStars__Stars::before {
  background-color: var(--c-text-subdued);
}

.ReviewStars__Number {
  line-height: normal;
}

.ProductMeta__PriceWrapper {
  margin-top: 15px;
}

/* Slightly offset the unit price when the unit price is much smaller than the normal price next to it, so we try to visually align it better to the baseline 
.ProductMeta__PriceList .UnitPriceMeasurement {
  position: relative;
  bottom: 2px;
}
*/

.ProductMeta .SaleLabel {
  border: 1px solid var(--c-border);
  border-radius: 2px;
  padding: 3px 7px;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.11);
  white-space: nowrap;
  line-height: normal;
  font-size: 11px;
  color: var(--c-text-subdued);
  /* align-self: center; */
  position: relative;
  bottom: 3px;
}

.ProductMeta .SaleLabel__Value {
  color: var(--c-text-attention);
  font-weight: 700;
  margin-left: 2px;
}

.ProductMeta .SubscriptionPerDeliveryPrice {
  font-size: 12px;
  color: var(--c-text-subdued);
}

.ProductMeta .UnitPriceMeasurement {
  font-size: 9px;
}

@media (min-width: 768px) {
  .ProductMeta .SaleLabel {
    font-size: 12px;
  }

  .ProductMeta .UnitPriceMeasurement {
    font-size: 10px;
  }
}

.ProductMeta .SubscriptionLabel {
  align-self: center;
}

.SubscriptionLabel {
  font-size: 0.8em;
  background-color: var(--c-surface-subdued);
  padding: 0.175em 0.65em;
  border: 1px solid var(--c-border);
  border-radius: 2px;
  font-weight: 600;
  display: inline-block;
}

.ProductMeta__TaxNotice.Rte a {
  color: var(--c-text-subdued);
}

.ProductMeta__Description {
  /* margin: 24px 0;
  padding-top: 14px;
  border-top: 1px solid var(--c-border); */
  /* font-weight: 600; */
  margin-bottom: 24px;
}

.Separation {
  margin: 1.5rem 0 1.5rem calc(var(--container-horizontal-spacing) * -1);
  height: 8px;
  background-color: var(--c-background);
  box-shadow: 0 0 4px 0 rgba(0,0,0,.09) inset;
}

.Separation {
  width: calc(100% + (var(--container-horizontal-spacing) * 2));
}

.Separation--withinContainer {
  width: 100%;
  margin-left: 0;
}

/* .Separation--outsideContainer {
  margin-left: 0 !important;
  margin-right: 0 !important;
} */

.Separation--line {
  height: 1px;
  background-color: var(--c-border);
  box-shadow: none;
}

@media (min-width: 768px) {
  .Separation {
    height: 1px;
    background-color: var(--c-border);
    box-shadow: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.ProductMeta__Description .Icon--checkmark {
  margin-right: 7px;
}

.ProductMeta__ShareButtons {
  display: inline-flex;
  align-items: center;
  margin: 18px 0 10px 0;
}

.ProductMeta__ShareTitle {
  margin-right: 6px;
}

.ProductMeta__ShareList {
  font-size: 0;
}

.ProductMeta__ShareItem {
  display: inline-block;
  margin: 0 7px;
}
.ProductMeta__ShareItem svg {
  display: block;
  width: 12px;
  height: 12px;
  opacity: 0.6;
  transition: opacity 0.2s ease-in-out;
}
.ProductMeta__ShareItem:hover svg {
  opacity: 1;
}

.Product__QuickNav {
  position: relative;
  margin-top: 40px;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.Product__QuickNav a {
  display: block;
  padding: 11px 16px;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform: rotateX(0deg);
}
.Product__QuickNav a:last-child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: rotateX(180deg);
}
.Product__QuickNav svg {
  position: absolute;
  right: 18px;
  top: calc(50% - 5px);
  height: 10px;
  width: 8px;
}

.Product__QuickNavWrapper {
  transition: 0.6s;
  transform-style: preserve-3d;
}

.Product__QuickNav.is-flipped .Product__QuickNavWrapper {
  transform: rotateX(180deg);
}
/**
 * ----------------------------------------------------------------------------
 * Product form
 * ----------------------------------------------------------------------------
 */
.ProductForm__Option {
  position: relative;
}

.ProductForm__Option--labelled {
  margin-bottom: 20px;
}

.no-js .ProductForm__Option:not(.no-js) {
  display: none;
}

.ProductForm__OptionName {
  font-weight: 600;
}

.ProductForm__Item {
  position: relative;
  width: 100%;
  text-align: left;
  /* padding: 10px 28px 10px 14px;
  border: 1px solid var(--c-border); */
  padding: 8px 38px 8px 0;
  border-top: 1px solid var(--c-text);
  border-bottom: 1px solid var(--c-text);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ProductForm__Item.ProductForm__Item--small {
  padding: 4px 28px 4px 0;
  min-height: 40px;
}

.ProductForm__Option:not(:first-of-type) {
  margin-top: 10px;
}

.ProductForm__Option--popup + .ProductForm__Option--popup {
  margin-top: 0;
}

.ProductForm__Option--popup + .ProductForm__Option--popup .ProductForm__Item {
  border-top: none;
}

.ProductForm__Item .Value__ImageWrapper {
  height: 52px;
  width: 52px;
  flex-shrink: 0;
  margin: 0 10px 0 0;
  padding: 3px;
  background-color: var(--c-surface);
}

.ProductForm__Item.ProductForm__Item--small .Value__ImageWrapper {
  width: 30px;
  height: 30px;
  margin-right: 8px;
}

.ProductForm__Item--tasteAmount.ProductForm__Item--Menge .Value__ImageWrapper, .ProductForm__Item--tasteAmount.ProductForm__Item--Größe .Value__ImageWrapper {
  border: none;
  border-radius: 0;
  background: unset;
}

.Popover__Value.Popover__Value--Menge {
  text-align: left;
  margin-bottom: 10px;
  background-color: var(--c-surface-neutral);
  border: 1px solid var(--c-border);
  margin-left: 20px;
  margin-right: 20px !important;
  width: calc(100% - 40px);
  padding: 8px 15px;
  border-radius: 4px;
}

.Popover__Value.Popover__Value--Menge.is-selected {
  border: 1px solid var(--c-text);
}

.Popover__Value--Menge .Icon {
  /* width: 2.5em;
  height: 2.5em; */
  width: 1.4em;
  height: 2.3em;
  margin-right: 15px;
}

.Popover__Value--Menge span {
  pointer-events: none;
}

.ProductForm__Image {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100%;
}

.ProductForm__Item .Icon--select-arrow {
  position: absolute;
  top: calc(50% - 5px);
  right: 15px;
  width: 12px;
  height: 12px;
  color: var(--c-text);
}

.ProductForm__Label {
  display: block;
  margin-bottom: 10px;
  font-weight: 500;
}

.ProductForm__LabelLink {
  float: right;
  text-decoration: underline;
  text-underline-position: under;
}

.ProductForm__SelectedValue {
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 260px;
  vertical-align: top;
  width: 100%;
}

/* 
 * Need to manually calculate the allowed width so that text-overflow: ellipsis works for the variant title
 * 52px is the icon width, 10px is the margin of the icon
 */
.ProductForm__OptionWrapper {
  max-width: calc(100% - 52px - 10px);
}

.ProductForm__Item.ProductForm__Item--tasteAmount .ProductForm__SelectedValue {
  color: var(--c-text);
  line-height: normal;
  font-weight: 600;
}

.ProductForm__OptionCount {
  float: right;
  margin-right: 14px;
}

.ProductForm__Inventory {
  margin-top: 8px;
  font-style: italic;
}

.ProductForm__Error {
  margin-top: 10px;
  text-align: center;
}

.ProductForm__AddToCart {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ProductForm .Icon--phone {
  margin-right: 2px;
  width: 10px;
  height: 10px;
  vertical-align: baseline;
}

.ProductForm__ClubHint .Icon {
  width: 22px;
  height: auto;
}

.ProductForm__ExternalConditions .Icon {
  vertical-align: baseline;
}

#shopify-section-main-product .ClubExplanationPage .Section--spacingNormal {
  padding: 0;
}

/* Padding of 1px to fix a visual bug where a black line appears next to the video for larger screen sizes. */
.Product__VideoAndIcons .VideoWrapper {
  padding-right: 1px;
}

/**
 * ----------------------------------------------------------------------------
 * Selling plans form
 * ----------------------------------------------------------------------------
 */
 


/**
 * ----------------------------------------------------------------------------
 * Shop Benefits
 * ----------------------------------------------------------------------------
 */

.ShopBenefits {
  list-style: none;
}

.ShopBenefits__Item {
  font-size: 14px;
}

@media (min-width: 768px) {
  .ShopBenefits__Item {
    font-size: 15px;
  }
}

.ShopBenefits__Item {
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 10px;
  padding-right: 0;
  position: relative;
}

/* Need both rules to allow for randomly hidden elements within the list */
.ShopBenefits__Item:not(.d-none),
.ShopBenefits__Item:not(.d-none) ~ .ShopBenefits__Item:not(.d-none) {
  border-top: 1px solid var(--c-border);
}

.ShopBenefits__Item.d-none + .ShopBenefits__Item,
.ShopBenefits__Item:first-of-type {
  border-top: unset;
}

.ShopBenefits__IconWrapper {
  display: inline-block;
  margin-right: 10px;
  width: 23px;
  text-align: center;
}

.ShopBenefits__Item .Icon {
  width: auto;
  height: 100%;
  max-height: 21px;
  position: relative;
}

.ShopBenefits__Item .Icon {
  position: relative;
  bottom: 2px;
}

.ShopBenefits__Item .Icon--shipping {
  width: 24px;
}

.ShopBenefits__Item .Icon--stock {
  width: 20px;
}

.ShopBenefits__Item .Icon--paypal {
  height: 20px;
}

.ShopBenefits__Item .PayPalBadge {
  left: 0;
  opacity: .00001;
  position: absolute;
  top: 10px;
  width: 100%;
}

/**
 * ----------------------------------------------------------------------------
 * Product Icons
 * ----------------------------------------------------------------------------
 */

.Product__IconWrapper {
  max-width: 65px;
  margin: 0 auto;
}

.Product__IconWrapper .Icon {
  width: 100%;
  height: 100%;
}

.Product__IconTitle {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  line-height: normal;
  margin-top: 8px;
}

.Product__IconListWrapper {
  height: 100%;
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.08);
  padding: 25px 15px;
  /* border: 1px solid var(--c-border); */
}

.Product__IconList {
  width: 100%;
}

@media (min-width: 576px) {
  .Product__IconWrapper {
    max-width: 75px;
  }
}

@media (max-width: 767px) {
  .Product__IconTitle {
    font-size: 15px;
  }

  .Product__IconListWrapper {
    box-shadow: none;
    padding: 0;
    padding-bottom: 25px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Advantage package info for Daily Protein
 * ----------------------------------------------------------------------------
 */
.AdvantagePackageInfo__Header {
  padding: 13px 20px;
  border-bottom: 1px solid var(--c-border);
}

.AdvantagePackageInfo__Graphic {
  font-size: 13px;
}

.AdvantagePackageInfo__InCart, .AdvantagePackageInfo__FreeInCart {
  padding: 5px 8px;
  border-radius: 3px;
  line-height: normal;
}

.AdvantagePackageInfo__InCart {
  background: unset;
  color: var(--c-text-subdued);
  border: 1px solid var(--c-text-subdued);
}

.AdvantagePackageInfo__Graphic .Icon {
  margin: 0 4px;
}

.AdvantagePackageInfo__FreeInCart {
  background-color: var(--c-primary);
  color: var(--c-text-on-primary);
  font-weight: 700;
}

/**
 * ----------------------------------------------------------------------------
 * Sample package info
 * ----------------------------------------------------------------------------
 */
.SamplePackageReference {
  z-index: 1;
  position: relative;
}

.SamplePackageReference .CartItem__Price {
  margin-bottom: 0px;
}

.SamplePackageReference__ImageWrapper {
  width: 100px;
}

@media (max-width: 450px) {
  .SamplePackageReference__ImageWrapper {
    width: 75px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Metafields
 * ----------------------------------------------------------------------------
 */

.Metafield__ImageWrapper img {
  margin: 0;
}

/**
 * Amount
 */
.ProductMetafield.MetafieldAmount {
  position: relative;
  padding: 7px 12px;
  /* height: 100%; */
  width: min-content;
  margin: auto 0;
  min-height: 45px;
}

.MetafieldAmount__Quantity {
  font-size: 22px;
  font-weight: 600;
  line-height: 21px;
  /* vertical-align: text-bottom; */
}

.MetafieldAmount__InfoWrapper{
  white-space: nowrap;
  width: 100%;
  line-height: normal;
}

.MetafieldAmount__Reference {
  font-size: 12px;
  width: 100%;
  /* margin-top: -2px; */
  white-space: nowrap;
}

.MetafieldAmount__Unit {
  font-size: 20px; 
  margin-left: 2px;
  line-height: 19px;
}

.MetafieldAmount__Reference:empty, .MetafieldAmount__Unit:empty, .MetafieldAmount__Quantity:empty {
  display: none !important;
}

 /**
 * Description
 */

.Metafield.MetafieldDescription {
  /* padding-top: 50px;
  padding-bottom: 50px;
  margin: 50px auto;
  margin-bottom: 0; 
  overflow: hidden; */
}

.Description__Row:last-of-type {
  margin-bottom: 0 !important;
}

/* .MetafieldDescription .Description__Row:last-of-type .Separation {
  display: none;
} */

.Description__ImageWrapper {
  min-width: 350px;
  width: 350px;
  position: relative;
  max-height: 325px;
}

.Description__Text {
  width: 100%;
}

.Description__Text .Rte {
  max-width: 700px;
}

.Orientation--left .Description__Text .Rte {
  margin-right: auto;
}

.Orientation--right .Description__ImageWrapper {
  margin-left: auto;
}

.Description__ImageWrapper::after {
  position: absolute;
  content: "";
  height: 79%;
  width: 4px;
  top: 40px;
}

.Orientation--left .Description__ImageWrapper::after {
  left: -4px;
  box-shadow: 4px 0 19px 0 rgba(0,0,0,0.7);
}

.Orientation--right .Description__ImageWrapper::after {
  right: -4px;
  box-shadow: -4px 0 19px 0 rgba(0,0,0,0.7);
}

@media (min-width: 992px) {
  .Orientation--right .Description__Text .Rte {
    margin-left: auto;
  }

  .Description__Row.Orientation--left {
    padding-right: 40px;
  }

  .Description__Row.Orientation--right {
    padding-left: 40px;
  }

  .Orientation--left .Description__Text {
    margin-left: 80px;
  }

  .Orientation--right .Description__Text {
    margin-right: 80px;
  }
}

@media (min-width: 992px) {
  .MetafieldDescription .container > div {
    background-color: var(--c-surface-neutral);
    /* padding-left: 2px;
    padding-right: 2px; 
    padding-bottom: 0; */
    box-shadow: 0 0 4px 0 rgba(0,0,0,0.12);
    /* margin-left: -20px;
    margin-right: -20px; */
    padding-top: 60px;
    overflow: hidden;
  }

  /* .Orientation--left .Description__ImageWrapper::before {
    border-left: 2px solid var(--c-text-subdued);
    left: -2px;
  }

  .Orientation--right .Description__ImageWrapper::before {
    border-right: 2px solid var(--c-text-subdued);
    right: -2px;
  } */

  .Description__Text {
    padding: 0 20px;
  }

  .MetafieldDescription {
    padding: 40px 0 !important;
  }

  .MetafieldDescription::before {
    content: unset;
  }

  .MetafieldDescription + section::before {
    content: unset !important;
  }
}

@media (max-width: 991px) {
  .Orientation--right .Description__ImageWrapper {
    margin-right: calc(var(--container-horizontal-spacing) * -1);
  }

  .Orientation--left .Description__ImageWrapper {
    margin-left: calc(var(--container-horizontal-spacing) * -1);
  }

  .MetafieldDescription .container {
    overflow: hidden;
    padding-top: 24px;
  }

  .Description__Row:not(:last-of-type)::after {
    content: "";
    width: calc(100% + 40px);
    height: 1px;
    background-color: var(--c-border);
    position: absolute;
    bottom: 20px;
    left: -20px;
  }
  
  .Description__Row:not(:last-of-type) {
    position: relative;
    padding-bottom: 70px;
  }
}

.Description__ImageWrapper::before {
  content: "";
  height: calc(100% + 40px);
  position: absolute;
  top: -20px;
  width: calc(100% + 30px);
  background-size: contain;
  background-repeat: no-repeat;
}

.Orientation--right .Description__ImageWrapper::before {
  right: 0;
}

.Description__Image {
  -o-object-fit: cover;
  object-fit: cover;
}

.Description__Image--leafShape {
  width: 350px;
  height: 325px;
}

 /**
 * Component list
 */

.ComponentList__Item:first-of-type {
  border-top: none;
}

.ComponentList__Item:last-of-type {
  border-bottom: none;
}

 /**
 * Preparatioon
 */

.Preparation__Step {
  position: relative;
}

.Preparation__ImageWrapper {
  max-width: 80px;
  width: 100%;
}

.Preparation__Step:not(:last-of-type)::after {
  position: absolute;
  content: '';
  background: var(--c-border);
  width: calc(100% - 40px);
  height: 1px;
  bottom: -19px;
  top: unset;
  right: unset;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .Preparation__Step .Rte {
    max-width: 280px;
    margin: 0 auto;
  }
}

@media (min-width: 768px) {
  .Preparation__Step:not(:last-of-type)::after {
    height: 100%;
    width: 1px;
    right: 0; 
    bottom: 0;
    transform: unset;
  }
}

/**
 * Benefit list
 */

.MetafieldBenefitList .Checkmark__List li {
  padding-bottom: 13px;
}

/**
 * Comparison
 */

.Comparison__ImageWrapper {
  width: calc(50% - 20px);
  position: relative;
  max-height: 170px;
}      

.Comparison__ImageWrapper .AspectRatio {
  max-height: 100%;
  width: 100%;
}

.Comparison__ImageWrapper--protein-brot:last-of-type {
  max-height: 110px;
}

/* .Comparison__ImageWrapper--daily-protein-riegel {
  max-height: 230px;
} */

.Comparison__Image {
  height: 100%;
}

.Comparison__VS {
  width: 40px;
  margin: auto 0;
  height: 40px;
  font-size: 24px;
  border-radius: 40px;
  text-align: center;
  line-height: 32px;
  background-color: var(--c-surface);
  color: var(--c-text-primary);
  border: 2px solid var(--c-primary);
}

.Comparison__ListItem:first-of-type {
  position: sticky;
  top: var(--header-height);
  z-index: 1;
  background-color: var(--c-surface);
}

.Comparison__List::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 1px;
  background-color: #e5e5e5;
  top: 0;
  left: 50%;
  z-index: 1;  
}

.Comparison__List {
  position: relative;
}

.Comparison__Positive {
  padding-right: 15px;
}

.Comparison__Negative {
  padding-left: 15px;
}

.Comparison__Positive, .Comparison__Negative {
  width: 50%;
}

.Comparison__ListItem:not(:last-of-type) {
  border-bottom: 1px solid var(--c-border);
}

.Comparison__ListItem {
  padding: 15px 0;
}

.Comparison__ListItem--hyphens {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

@media (min-width: 768px) {
  .Comparison__Negative {
    padding-left: 25px;
  }

  .Comparison__ImageWrapper {
    max-height: 230px;
  }

  .Comparison__ListItem {
    padding: 15px;
  }
}

/**
 * FAQ
 */

.FAQList .Collapsible__Content {
  padding-bottom: 25px;
}

.FAQList .Collapsible__Content .Rte {
  padding: 15px 20px;
  background-color: var(--c-surface-subdued);
}

.FAQList__Item .Collapsible__Button h3 {
  margin-bottom: 0;
}

.FAQList__Item:first-of-type {
  border-top: none;
}

.FAQList__Item:last-of-type {
  border-bottom: none;
}

/**
 * Reviews section
 */

#reviews .ReviewStars {
  margin-bottom: 6px;
  font-size: 1.25em;
  gap: 0.5em;
}

#reviews .ReviewStars__Number {
  font-size: 1.375em;
  font-weight: 600;
  color: var(--c-text);
}

@media (min-width: 768px) {
  #reviews .ReviewStars {
    justify-content: center;
  }
}

/**
 * Contact page
 */

.Contact__Options ul {
  list-style: none;
  margin: 0;
}

.Contact__Options li:not(:last-of-type) {
  border-bottom: 1px solid var(--c-border);
}  

.Contact__Options li {
  padding: 20px 0;
}

.Contact__Options .Link {
  margin-top: 10px;
  display: inline-block;
}

.Contact__Options .Link .Icon {
  margin-right: 10px;
}

.Contact__Options a:not(.Link) {
  text-decoration: none;
}

/**
 * ----------------------------------------------------------------------------
 * Reviews.io product reviews widget
 * ----------------------------------------------------------------------------
 */

.Product__ReviewsWidgetWrapper {
  background-color: var(--c-surface-neutral);
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
  min-height: calc(50vh + 100px);
}

#ReviewsWidget .R-ContentList-container {
  max-height: 50vh;
  overflow-y: scroll;
  padding: 0 var(--container-horizontal-spacing);
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget {
  margin-bottom: 0;
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .ElementsWidget__header {
  margin-bottom: 0 !important;
  border-bottom: unset;
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .ElementsWidget__header .header__group--left {
  margin-bottom: 0;
  padding: 14px var(--container-horizontal-spacing);
  flex-basis: 290px;
}

#ReviewsWidget .ElementsWidget__subheader {
  margin-bottom: 14px;
  padding: 10px var(--container-horizontal-spacing) 8px;
  border-bottom: 1px solid var(--c-border);
}

@media (max-width: 768px) {
  #ReviewsWidget .ElementsWidget-prefix .R-MD .ElementsWidget__subheader .subheader__group:first-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: unset !important;
  }

  #ReviewsWidget .ElementsWidget__subheader .subheader__group:last-of-type {
    display: none;
  }
}

#ReviewsWidget .ElementsWidget-prefix .R-PaginationControls {
  margin-bottom: 0 !important;
  padding: 8px 14px 0;
  border-top: 1px solid var(--c-border);
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .ElementsWidget__search .R-Field__input {
  padding-top: 0px;
  padding-bottom: 0px;
  min-height: 30px;
}

#ReviewsWidget .ElementsWidget-prefix .R-TabControls .R-TabControls__item:nth-of-type(1) > .R-TextHeading,
#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .ElementsWidget__search .R-Field {
  margin-bottom: 0 !important;
}

#ReviewsWidget .ElementsWidget-prefix .R-TabControls .R-TabControls__item:nth-of-type(1),
#ReviewsWidget .ElementsWidget-prefix .R-TabControls .R-TabControls__item:nth-of-type(2) {
  border-bottom: unset;
}

#ReviewsWidget .R-TabControls__item[tabindex="0"],
#ReviewsWidget .ElementsWidget__footer {
  display: none !important;
}

#ReviewsWidget .ElementsWidget-prefix .R-BadgeElement .R-BadgeElement__icon {
  font-size: 1em;
}

#ReviewsWidget .ricon-badge--checkmark::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23FFF' fill-rule='nonzero'%3E%3C/circle%3E%3Cpath fill='%23788188' fill-rule='nonzero' d='M12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 Z M18.3018248,6.07769784 C18.1559225,6.07769784 15.8706265,7.04793141 14.0711013,8.70447056 C12.8714177,9.80883 11.2754936,11.7154475 9.28332877,14.424323 C8.48685181,12.9552349 7.66640237,12.2206908 6.82198047,12.2206908 C5.97755856,12.2206908 5.4455315,12.6195376 5.22589928,13.417231 C6.63446309,12.9412696 7.2094937,15.570991 8.91795006,18.7338129 L9.21420297,18.7338129 C11.0992713,15.4448581 12.7122832,12.9392528 14.0532388,11.2169972 C15.3941944,9.49474162 16.929488,7.84381391 18.6591196,6.2642141 C18.5181913,6.13986993 18.399093,6.07769784 18.3018248,6.07769784 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  width: 1em;
  height: 1em;
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
}

#ReviewsWidget .ElementsWidget-prefix .R-IconButton {
  margin-left: 0;
}

#ReviewsWidget .ElementsWidget-prefix .R-BadgeElement .R-BadgeElement__icon {
  margin-right: 0.25em;
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .R-ContentList .R-ContentList__item {
  padding-bottom: 0px;
  margin-bottom: 0px;
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .R-ContentList .R-ContentList__item:last-of-type {
  border-bottom: unset;
}

#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .R-ContentList .R-ContentList__item .item__meta, 
#ReviewsWidget .ElementsWidget-prefix .ElementsWidget .R-ContentList .R-ContentList__item .item__review {
  padding-top: 15px;
}
/**
 * ----------------------------------------------------------------------------
 * Featured image
 * ----------------------------------------------------------------------------
 */
.Product__FeatureImageWrapper {
  overflow: hidden;
  background-size: cover;
}

.Product__FeatureImage {
  height: 415px;
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 768px) {
  .Product__FeatureImage {
    height: 500px;
  }
}
@media screen and (min-width: 1200px) {
  .Product__FeatureImage {
    height: 600px;
  }

  .Product__FeatureImage--small {
    height: 500px;
  }

  .Product__FeatureImage--large {
    height: 700px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Product tabs
 * ----------------------------------------------------------------------------
 */
.Product__Tabs {
  border-radius: 3px;
  overflow: hidden;
}

.Product__Tabs .Collapsible--defaultStyling {
  border: none;
  /* margin-bottom: 10px; */
}

.Product__Tabs .Collapsible--defaultStyling + .Collapsible--defaultStyling {
  border-top: 1px solid var(--c-border);
}

.Product__Tabs .Collapsible--defaultStyling .Collapsible__Button {
  padding: 12px 20px;
  background-color: var(--c-action-tertiary);
}

.Product__Tabs .Collapsible__Plus {
  right: 15px;
}

.Product__Tabs .Collapsible__Content {
  padding: 15px 20px;
  background-color: var(--c-surface-subdued);
  border-top: 1px solid rgba(var(--c-border-rgb),.6);
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

/* @media (min-width: 768px) {
  .Product__Tabs {
    max-width: 500px;
    margin: 0 auto;
    margin-top: 0px;
  }

  .Product__Wrapper--noVariant .Product__Tabs {
    max-width: 520px;
    margin-left: 0;
    margin-top: 20px !important;
  }
} */

/* @media screen and (max-width: 767px) {
  .Product__Tabs .Collapsible__Content {
    padding-top: 6px;
    padding-bottom: 28px;
  }
}
@media screen and (max-width: 991px) {
  .Product__Tabs .Collapsible--defaultStyling {
    padding: 0 24px;
  }
} */

@media screen and (min-width: 992px) {
  /* .Product__Tabs {
    margin: 80px 0;
  } */

  .Product__Tabs .Collapsible__Content {
    /* padding-right: 80px; */
    padding-right: 45px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Variant slideshow (for color carousel)
 * ----------------------------------------------------------------------------
 */
@-webkit-keyframes variantSelectorInfoOpeningAnimation {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  50% {
    transform: translateY(10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes variantSelectorInfoOpeningAnimation {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  50% {
    transform: translateY(10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes variantSelectorInfoClosingAnimation {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-10px);
    opacity: 0;
  }
}
@keyframes variantSelectorInfoClosingAnimation {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-10px);
    opacity: 0;
  }
}
.VariantSelector {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  background: var(--c-surface);
  padding: 24px 0;
  z-index: 10;
  box-shadow: 0 -2px 10px rgba(54, 54, 54, 0.2);
  transform: translateY(100%);
  visibility: hidden;
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), visibility 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.VariantSelector[aria-hidden=false] {
  transform: translateY(0);
  visibility: visible;
}

.VariantSelector__Item {
  padding: 0 10px;
  width: 60%;
}

.VariantSelector__Info {
  position: relative;
  margin: 48px 24px 0 24px;
}

.VariantSelector__ImageWrapper[aria-hidden="true"] {
  display: none;
}

.VariantSelector__ChoiceList {
  margin-bottom: 34px;
}

.VariantSelector__Choice {
  display: table;
  table-layout: fixed;
  width: 100%;
  -webkit-animation: 0.15s variantSelectorInfoClosingAnimation forwards ease-in-out;
          animation: 0.15s variantSelectorInfoClosingAnimation forwards ease-in-out;
}

.VariantSelector__Choice.is-selected {
  -webkit-animation: 0.3s variantSelectorInfoOpeningAnimation forwards ease-in-out;
          animation: 0.3s variantSelectorInfoOpeningAnimation forwards ease-in-out;
}

.VariantSelector__Choice:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}

.VariantSelector__ChoiceColor,
.VariantSelector__ChoicePrice {
  display: table-cell;
  width: 50%;
  text-align: center;
  vertical-align: middle;
}

.VariantSelector__ChoiceColor {
  border-right: 1px solid var(--c-border);
}

.VariantSelector__ColorSwatch {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 15px;
  vertical-align: sub;
  background-size: cover;
}

.VariantSelector__ColorSwatch--white {
  outline: 1px solid var(--c-border);
}

.VariantSelector__ChoicePrice {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
}

@media screen and (max-width: 767px) {
  .VariantSelector .flickity-prev-next-button {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  /* Starting from tablet, the look and feel of this selector is completely different and look like a modal */
  .VariantSelector {
    top: 50%;
    bottom: auto;
    left: 50%;
    width: 80%;
    padding-bottom: 34px;
    max-height: 100%;
    max-width: 800px;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out;
    overflow: auto;
  }

  .VariantSelector[aria-hidden=false] {
    transform: translate(-50%, -50%);
    opacity: 1;
  }

  .VariantSelector__Item {
    padding: 0 25px;
    width: 46%;
  }

  .VariantSelector .flickity-prev-next-button.next {
    top: calc(50% - 45px);
    right: 20px;
  }

  .VariantSelector .flickity-prev-next-button.previous {
    top: calc(50% - 45px);
    left: 20px;
  }

  .VariantSelector__Info {
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
  }

  .VariantSelector__ChoicePrice {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
  }
}

@media (min-width: 800px) and (max-height: 950px) {
  .VariantSelector__ImageWrapper {
    max-width: 290px !important;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Featured product (on home page)
 * ----------------------------------------------------------------------------
 */
.FeaturedProduct__Gallery {
  display: block;
  margin-bottom: 20px;
}

.FeaturedProduct__ViewWrapper {
  margin-top: 34px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .FeaturedProduct {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    max-width: 880px;
    margin: 0 auto;
  }

  .FeaturedProduct--center {
    align-items: center;
  }

  .FeaturedProduct__Gallery,
  .FeaturedProduct__Info {
    flex: 1 1 50%;
  }

  .FeaturedProduct__Gallery {
    margin: 0;
  }

  .FeaturedProduct__Info {
    margin-left: 50px;
  }

  .FeaturedProduct__Info .ProductMeta,
  .FeaturedProduct__ViewWrapper {
    text-align: left;
  }
}
@media screen and (min-width: 992px) {
  .FeaturedProduct__Info {
    margin-left: 80px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Shopify payment button
 * ----------------------------------------------------------------------------
 */
.shopify-payment-button {
  margin-top: 20px;
  text-align: center;
}

.shopify-payment-button__more-options {
  position: relative;
  display: inline-block;
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: auto;
  line-height: normal;
}
.shopify-payment-button__more-options[aria-hidden=true] {
  display: none;
}
.shopify-payment-button__more-options::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -1px;
  background: currentColor;
  transform: scale(1, 1);
  transform-origin: left center;
  transition: transform 0.2s ease-in-out;
}
@media (-moz-touch-enabled: 0), (hover: hover) {
  .shopify-payment-button__more-options:hover::before {
    transform: scale(0, 1);
  }
}

.shopify-payment-button__more-options:hover:not([disabled]) {
  text-decoration: none;
}

/**
 * ----------------------------------------------------------------------------
 * Search
 * ----------------------------------------------------------------------------
 */
.Search--modal {
  display: block;
  position: absolute;
  top: 100%;
  width: 100%;
  background: var(--c-surface);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-25px);
  transition: transform 0.15s ease-in-out, opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
  z-index: -1;
}

.Search--modal[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

@media (min-width: 1100px) {
  .Search--modal {
    transform: translateY(-25px) translateX(-50%);
    max-width: 1200px;
    left: 50%;
    border-radius: 4px;
    overflow: hidden;
  }

  .Search--modal[aria-hidden="false"] {
    transform: translateY(15px) translateX(-50%);
  }
}

.Search__Inner {
  max-height: calc(100vh - 60px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@supports (--css: variables) {
  .Search__Inner {
    max-height: calc(100vh - var(--header-height) - 88px);
    /* 88px is the height of bottom bar on iOS */
  }
}

.Search__SearchBar {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 18px var(--container-horizontal-spacing);
  background-color: var(--c-surface-subdued);
}

.Search__Form {
  display: flex;
  align-items: center;
  flex: 1 0 auto;
}

/* .Search__Form .Icon--search {
  width: 18px;
  height: 17px;
}
.Search__Form .Icon--search-desktop {
  width: 21px;
  height: 21px;
} */

.Search__InputWrapper {
  position: relative;
  width: 100%;
  line-height: normal;
}

.Search__Input--hidden {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: auto !important;
}

.Search__Delete {
  --input-width: 60px;
  --gap: 0.825em;
  position: absolute;
  width: 1.125em;
  height: 1.125em;
  top: 50%;
  transform: translateY(-50%);
  left: min(calc(var(--input-width) + var(--gap)), calc(100% + 2px));
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--c-text-subdued);
  color: var(--c-text-on-dark);
  border-radius: 50%;
  --clickable-surface-hovered: transparent;
  --clickable-surface-pressed: transparent;
}
.Search__Delete:hover {
  background-color: rgba(var(--c-text-subdued-rgb),0.8);
  color: var(--c-text-on-dark);
}
.Search__Delete:active {
  background-color: rgba(var(--c-text-subdued-rgb),0.6);
  color: var(--c-text-on-dark);
}
@media (min-width: 768px) {
  .Search__Delete {
    --gap: 1.25em;
  }
}

.Search__Delete .Icon {
  stroke-width: 3px;
  font-size: 0.5em;
}

.Search__InputIconWrapper {
  position: relative;
  /* For pixel perfect */
  margin-right: 12px;
  color: var(--c-text-subdued);
  font-size: 1.125em;
  line-height: 0;
}

.Search__Input {
  background: none;
  width: 100%;
  border: none;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 15px));
  vertical-align: middle;
  padding: 0;
  border-radius: 2px;
}
.Search__Input::-moz-placeholder {
  color: var(--c-text-subdued);
}
.Search__Input:-ms-input-placeholder {
  color: var(--c-text-subdued);
}
.Search__Input::placeholder {
  color: var(--c-text-subdued);
}
.Search__Input::-ms-clear {
  display: none;
}

.Search__Close {
  color: var(--c-text-subdued);
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 15px));
  line-height: 0;
}

.Search__Results {
  display: none; 
  padding: 0 var(--container-horizontal-spacing) 30px;
}

.Search__Results[aria-hidden=false] {
  display: block;
}

/* @media screen and (max-width: 767px) {
  .Search__Results .ProductItem__Wrapper {
    display: flex;
    align-items: center;
  }
  .Search__Results .ProductItem__ImageWrapper {
    width: 70px;
    min-width: 70px;
    margin-right: 25px;
  }
  .Search__Results .ProductItem__Info {
    margin-top: 0;
    text-align: left;
  }
} */

@media screen and (min-width: 768px) {
  .Search__Inner {
    --container-horizontal-spacing: 30px;
  }

  .Search__Input {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 18px));
  }

  .Search__InputIconWrapper {
    margin-right: 20px;
  }

  .Search__Close {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 16px));
  }
  .Search__Close svg {
    stroke-width: 1.25px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Shop the look
 * ----------------------------------------------------------------------------
 */
@-webkit-keyframes shopTheLookDotKeyframe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes shopTheLookDotKeyframe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.ShopTheLook {
  z-index: 2;
}

.ShopTheLook__Item {
  padding: 0 5px;
  width: calc(100% - 40px);
  transition: opacity 0.3s ease-in-out;
}

.ShopTheLook__Item.is-selected {
  z-index: 1;
}

.ShopTheLook__ImageWrapper {
  position: relative;
  max-width: 100%;
}

.ShopTheLook__Image {
  display: block;
  height: 100%;
  width: 100%;
}

.ShopTheLook__Dot {
  position: absolute;
  display: block;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: var(--c-text-on-dark);
  border-radius: 100%;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  z-index: 1;
  transform: scale(1);
  transition: transform 0.25s ease-in-out;
}
.ShopTheLook__Dot::after {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  left: -12px;
  /* This is 40/2 - 16/2 */
  top: -12px;
  /* This is 40/2 - 16/2 */
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.4);
  -webkit-animation: 1.4s shopTheLookDotKeyframe ease-in-out infinite;
          animation: 1.4s shopTheLookDotKeyframe ease-in-out infinite;
}

.ShopTheLook__Dot--dark {
  background: #000000;
}
.ShopTheLook__Dot--dark::after {
  background: rgba(0, 0, 0, 0.4);
}

.ShopTheLook__Dot.is-active,
.supports-hover .ShopTheLook__Dot:hover {
  transform: scale(1.5);
}

.ShopTheLook__ProductItem .ProductItem__ImageWrapper {
  max-width: 150px;
  margin: 0 auto;
}

.ShopTheLook__DiscoverButtonWrapper {
  margin: 24px 24px 0 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .ShopTheLook__ViewButton {
    width: 100%;
  }

  .ShopTheLook__ProductItem--withHiddenInfo .ProductItem__Info {
    display: none;
  }

  .ShopTheLook__ProductItem {
    padding: 15px 0;
  }
}
@media screen and (max-width: 991px) {
  .ShopTheLook > .flickity-viewport {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }

  .ShopTheLook::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: var(--c-surface);
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease-in-out;
  }

  .ShopTheLook.is-zoomed::before {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }
  .ShopTheLook.is-zoomed .ShopTheLook__Item:not(.is-selected) {
    opacity: 0;
  }

  .ShopTheLook__ProductItem {
    padding: 30px 0 40px 0;
  }
}
@media screen and (min-width: 768px) {
  .ShopTheLook__DiscoverButtonWrapper {
    margin-top: 50px;
  }

  .ShopTheLook__Item {
    width: auto;
    padding: 0 15px;
  }

  .ShopTheLook__ProductItem .ProductItem__Wrapper {
    max-width: 250px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  .ShopTheLook {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 130px;
  }

  .ShopTheLook__Item {
    width: 100%;
    padding: 0;
  }

  .ShopTheLook__Inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 550px;
  }

  .ShopTheLook__ImageWrapper {
    flex: 0 1 auto;
  }

  .ShopTheLook__Image {
    max-height: 100%;
    width: auto;
  }

  .ShopTheLook__ProductList {
    flex: none;
    width: 270px;
    margin: 0 80px;
  }

  .ShopTheLook__ProductItem .ProductItem__Wrapper {
    max-width: none;
  }

  .ShopTheLook__ProductItem .ProductItem__ImageWrapper {
    max-width: 250px;
  }

  .ShopTheLook__ViewButton {
    margin-top: 25px;
  }

  .ShopTheLook .flickity-prev-next-button {
    top: calc(50% - (45px / 2));
  }

  .ShopTheLook .flickity-prev-next-button.next {
    right: 40px;
  }

  .ShopTheLook .flickity-prev-next-button.previous {
    left: 40px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Sidebar
 * ----------------------------------------------------------------------------
 */
.SidebarMenu {
  height: 100%;
  background: var(--c-surface);
  color: var(--c-text);
}

.SidebarMenu .Drawer__Close {
  right: 18px;
  left: auto;
}

.SidebarMenu .Heading,
.supports-hover .SidebarMenu .Link--primary:hover {
  color: var(--c-text);
}

.SidebarMenu .Text--subdued {
  color: var(--c-text-subdued);
}

.SidebarMenu .Collapsible--defaultStyling,
.SidebarMenu .Linklist {
  /* border-color: var(--c-border); */
   border-color: var(--c-border);
}

.SidebarMenu__Nav .Collapsible--defaultStyling:first-child {
  border-top: none;
}

/* We need to do that to add extra padding for scroll, as Safari on Mac and iOS has some issue with directly adding a padding-bottom */
.SidebarMenu .Drawer__Main::after {
  display: block;
  content: "";
  height: 35px;
}

.SidebarMenu__Nav--secondary {
  margin-top: 28px;
}

.SidebarMenu .Drawer__Footer {
  /* display: flex;
  align-items: center;
  justify-content: center; */
  width: 100%;
  min-height: 48px;
  box-shadow: 0 1px var(--c-border) inset;
  color: var(--c-text-subdued);
}

.SidebarMenu__CurrencySelector,
.SidebarMenu__Social {
  flex: 1 0 auto;
  margin: 0;
  padding: 6px 0;
}

.SidebarMenu__CurrencySelector {
  width: 120px;
  flex: none;
  text-align: center;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
}
.SidebarMenu__CurrencySelector .Select {
  display: inline-block;
}

/* All this code is pretty ugly hack just to comply with some Shopify strict rules... */
@supports (display: grid) {
  .SidebarMenu__Social {
    display: grid;
    grid-template-columns: repeat(auto-fit, 34px);
    justify-content: space-evenly;
    text-align: center;
  }
}

.SidebarMenu__CurrencySelector + .SidebarMenu__Social {
  border-left: 1px solid var(--c-border);
}

.SidebarMenu .Drawer__Content::before,
.SidebarMenu .Drawer__Footer::before {
  position: absolute;
  content: "";
  width: 100%;
  pointer-events: none;
  z-index: 1;
}

.SidebarMenu .Drawer__Content::before {
  top: 0;
  height: 25px;
  background-image: linear-gradient(var(--c-surface), rgba(var(--c-surface-rgb), 0.6) 40%, rgba(var(--c-surface-rgb), 0));
}

.SidebarMenu .Drawer__Footer::before {
  bottom: 100%;
  height: 30px;
  background-image: linear-gradient(rgba(var(--c-surface-rgb), 0), rgba(var(--c-surface-rgb), 0.6) 40%, var(--c-surface));
}

@media screen and (min-width: 992px) {
  .SidebarMenu .Drawer__Content::before {
    height: 40px;
  }

  .SidebarMenu .Drawer__Main {
    padding-top: 26px;
  }

  .SidebarMenu .Drawer__Main::after {
    height: 60px;
    /* same here, Safari has some issues with adding padding-bottom :( */
  }

  .SidebarMenu .Drawer__Footer::before {
    height: 70px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Sidebar menu account panel
 * ----------------------------------------------------------------------------
 */

.SidebarMenu__Account {
  width: 100%;
  padding: 0 var(--container-horizontal-spacing);
}

.SidebarMenu__AccountPanel .Customer__Initials {
  width: 40px;
  height: 40px;
}

.SidebarMenu__AccountPanel .Icon--account {
  width: 1.6em;
  height: 1.6em;
}

.SidebarMenu__AccountPanel {
  /* padding: 14px 0; */
  padding: 20px 0;
}

.SidebarMenu__AccountPanel .Link {
  white-space: nowrap;
}

.SidebarMenu__AccountPanel--right {
  border-left: 1px solid var(--c-border);
  padding-left: 15px;
}

.SidebarMenu__Account:not(.SidebarMenu__Account--loggedIn) .SidebarMenu__AccountPanel--right {
  width: 85px;
  flex-shrink: 1;
  min-width: 50px;
}

.SidebarMenu__AccountPanel--left {
  padding-right: 15px;
}

.store-availability-container {
  margin-top: 30px;
}

.store-availability-information {
  display: flex;
  align-items: baseline;
}

.Icon--store-availability-in-stock {
  position: relative;
  width: 13px;
  height: 9px;
}

.Icon--store-availability-out-of-stock {
  position: relative;
  width: 11px;
  height: 10px;
}

.store-availability-information-container {
  margin-left: 6px;
}

.store-availability-information__title {
  margin-bottom: 2px;
}

.store-availability-information__stock {
  margin-bottom: 5px;
}

.store-availability-information__stock,
.store-availability-information__link,
.store-availability-list__item-info {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));
}

.store-availability-list__item:first-child {
  margin-top: 25px;
}

.store-availability-list__item {
  margin-top: 30px;
}

.store-availability-list__location,
.store-availability-list__stock {
  margin-bottom: 5px;
}

.store-availability-list__stock svg {
  margin-right: 3px;
}

.store-availability-list__contact {
  line-height: 1.45;
}

.store-availability-list__stock .Icon--store-availability-in-stock {
  top: -1px;
}

.store-availability-list__contact p {
  margin-bottom: 0; /* Remove the margin of the formatted address by Shopify */
}

/* Modal */

.store-availabilities-modal__product-information {
  text-align: left;
}
/**
 * For now testimonials are only used on home page but may be expanded
 */
@-webkit-keyframes testimonialOpening {
  from {
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes testimonialOpening {
  from {
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes testimonialClosing {
  from {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
  to {
    visibility: visible;
    opacity: 0;
    transform: translateY(-15px);
  }
}
@keyframes testimonialClosing {
  from {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
  to {
    visibility: visible;
    opacity: 0;
    transform: translateY(-15px);
  }
}
.Testimonial {
  text-align: center;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 18px));
}

.Testimonial__Logo {
  margin-top: 54px;
}

.js .TestimonialList {
  opacity: 0;
  transition: opacity 0s linear 0.5s;
}
.js .TestimonialList.flickity-enabled {
  opacity: 1;
}
.js .TestimonialList .flickity-viewport {
  overflow: visible;
}
.js .TestimonialList .flickity-page-dots {
  position: relative;
  margin-top: 60px;
}
.js .TestimonialList .Testimonial {
  opacity: 0;
  visibility: hidden;
  -webkit-animation: testimonialClosing 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards;
          animation: testimonialClosing 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards;
}
.js .TestimonialList .Testimonial.is-selected {
  opacity: 0;
  visibility: hidden;
  -webkit-animation: testimonialOpening 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.8s forwards;
          animation: testimonialOpening 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.8s forwards;
}

@media screen and (max-width: 767px) {
  .Testimonial__Logo {
    max-width: 110px;
  }
}
@media screen and (min-width: 768px) {
  .Testimonial {
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 20px));
  }

  .Testimonial__Content {
    max-width: 550px;
    margin: 0 auto;
  }

  .Testimonial__Logo,
  .TestimonialNav__Item {
    max-width: 150px;
  }
}
@media screen and (min-width: 992px) {
  .TestimonialList--withNav .flickity-page-dots {
    display: none;
  }

  .TestimonialNav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 70px;
  }

  .TestimonialNav__Item {
    margin: 0 25px;
    cursor: pointer;
    opacity: 0.25;
    transition: opacity 0.2s ease-in-out;
    will-change: opacity;
  }

  .TestimonialNav__Item.is-selected {
    opacity: 1;
  }
}
@media screen and (min-width: 1200px) {
  .TestimonialNav__Item {
    margin: 0 45px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * For now timeline are only used on home page but may be expanded
 * ----------------------------------------------------------------------------
 */
.Timeline {
  box-shadow: 0 -2px 10px rgba(54, 54, 54, 0.2);
}

.Timeline__ListItem {
  position: relative;
  height: 540px;
  text-shadow: 0 1px rgba(0, 0, 0, 0.5);
}

.Timeline__Item {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: rgba(54, 54, 54, 0.2);
  pointer-events: none;
  transition: opacity 0.5s ease-in-out;
}

.Timeline__ImageWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.Timeline__Image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transform: translateX(-50px) scale(1.1);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.Timeline__Inner { 
  position: relative;
  padding: 80px 14px 40px 14px;
  max-height: 100%;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.Timeline__Header > * {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.Timeline__Header > .SectionHeader__Description {
  transform: translateY(50px);
}

.Timeline__Item.is-selected {
  opacity: 1;
  pointer-events: auto;
}
.Timeline__Item.is-selected .Timeline__Image {
  transform: translateX(0) scale(1.1);
}
.Timeline__Item.is-selected .Timeline__Header > * {
  opacity: 1;
  transition-delay: 0.5s;
  transform: translateY(0);
}

@media screen and (max-width: 767px) {
  .shopify-section--timeline {
    border-top: none !important;
  }

  .shopify-section--timeline .Section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .shopify-section--timeline .container {
    padding-left: 0;
    padding-right: 0;
  }

  .Timeline__Header .Heading,
  .Timeline__Header .Rte a {
    color: inherit;
  }

  .Timeline__Header .SectionHeader__Description {
    margin: 34px 30px 0 30px;
  }
}
@media screen and (min-width: 768px) {
  .Timeline__ListItem {
    max-width: 1230px;
    margin: 0 auto;
    height: 400px;
    text-shadow: none;
  }

  .Timeline__Item {
    align-items: flex-end;
    background-color: var(--c-surface-subdued);
  }

  .Timeline__ImageWrapper,
  .Timeline__Inner {
    flex: none;
    width: 50%;
  }

  .Timeline__ImageWrapper {
    position: relative;
    height: 100%;
  }
  .Timeline__ImageWrapper::after {
    display: none;
    /* Remove any contrast that may have been added to image */
  }

  .Timeline__Image {
    transform: translateX(-60px) scale(1.1);
  }

  .Timeline__Inner {
    padding: 34px 40px;
    color: var(--c-text-subdued);
  }

  .Timeline__Header {
    text-align: left;
  }
}
@media screen and (min-width: 992px) {
  .Timeline__ListItem {
    height: 515px;
  }

  .Timeline__Inner {
    padding: 54px 60px;
  }
}
/**
 * ----------------------------------------------------------------------------
 * Timeline nav
 * ----------------------------------------------------------------------------
 */
.Timeline__Nav {
  position: relative;
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 11px));
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  letter-spacing: 0.2em;
  color: var(--c-text-subdued);
  background: var(--c-surface-subdued);
}

.Timeline__NavWrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

.Timeline__NavWrapper--center {
  justify-content: center;
}

.Timeline__NavItem {
  position: relative;
  padding: 30px 20px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  letter-spacing: inherit;
  vertical-align: text-bottom;
  transition: all 0.25s ease-in-out;
}
.Timeline__NavItem::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 20px;
  height: 3px;
  width: calc(100% - 40px - 0.2em);
  opacity: 0;
  background: var(--c-text-subdued);
  transform: scale(0, 1);
  transform-origin: left center;
  transition: opacity 0.3s, transform 0.3s;
}

.Timeline__NavItem.is-selected {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 18px));
  color: var(--c-text-subdued);
}
.Timeline__NavItem.is-selected::after {
  opacity: 1;
  transform: scale(1, 1);
}

.Timeline__NavLabel {
  display: block;
  line-height: 0;
}

@media screen and (min-width: 768px) {
  .Timeline {
    box-shadow: none;
  }

  .Timeline__Nav {
    margin-top: 40px;
    background: none;
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));
  }

  .Timeline__NavWrapper {
    display: block;
    text-align: center;
  }

  .Timeline__NavItem {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .Timeline__Nav {
    margin-top: 65px;
  }
}

/**
 * ----------------------------------------------------------------------------
 * Instagram posts
 * ----------------------------------------------------------------------------
 */
.InstagramPosts__ImageWrapper {
  box-shadow: 0 0 4px 0 rgba(0,0,0,.13);
}

/**
 * ----------------------------------------------------------------------------
 * Team member page
 * ----------------------------------------------------------------------------
 */

.Team .Support__Team {
  display: none;
}

.Team .Support__Info {
  width: 100%;
}

.TeamMember__Image--hover {
  opacity: 0 !important;
}

.TeamMember--hover:hover .TeamMember__Image:not(.TeamMember__Image--hover) {
  opacity: 0;
}

.TeamMember--hover:hover .TeamMember__Image--hover {
  opacity: 1 !important;
}

.TeamMember__ImageWrapper {
  /* box-shadow: 0 0 3px 0 rgba(0,0,0,0.14); */
  border-radius: 3px;
  overflow: hidden;
  background-color: var(--c-surface-subdued);
}

.TeamMember__ImageHoverIcon {
  position: absolute;
  width: 25px;
  left: 10px;
  top: 10px;
  background: var(--c-surface);
  line-height: 0;
  padding: 5px;
  border-radius: 3px;
  transition: 0.1s;
  color: transparent;
}

.TeamMember--hover:hover .TeamMember__ImageHoverIcon {
  color: var(--c-text-subdued);
}

.NameLabel {
  display: flex;
  align-items: initial; /* For button elements the default styling in Chrome is 'flex-start', so we have to overwrite it */
  background-color: var(--c-surface);
  box-shadow: 0 1px 3px rgba(0,0,0,0.16);
  color: var(--c-text);
  margin-top: -28px;
  z-index: 2;
  position: relative;
  width: fit-content;
  margin-left: auto;
  margin-right: -4px;
}

button.NameLabel:hover {
  background: var(--c-surface-hovered);
  color: var(--c-text);
}
button.NameLabel:active {
  background: var(--c-surface-pressed);
}

.NameLabel__Name {
  padding: .4375em .625em;
  line-height: 1.3;
}

.NameLabel__Icon {
  width: 2.65em;
  font-size: 0.8125em;
  border-left: 1px solid var(--c-border);
  color: var(--c-text-subdued);
  transition: .1s ease;
  line-height: 0;
  color: var(--c-text);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .NameLabel {
    font-size: 0.9375em; 
  }
}