/* Vendor */

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }

.flickity-prev-next-button.next { right: 10px; }

/* right to left */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* Core */

/* Should be the same as --max-width */

:root {
  --max-width: 2000px;
  --max-width-small-page: 600px;

  --spacing-unit: 4px;

  --spacing-none: 0px;
  --spacing-extra-small: calc(var(--spacing-unit) * 2);
  --spacing-small: calc(var(--spacing-unit) * 3);
  --spacing-medium: calc(var(--spacing-unit) * 5);
  --spacing-large: calc(var(--spacing-unit) * 10);
  --spacing-extra-large: calc(var(--spacing-unit) * 12);
  --spacing-extra-extra-large: calc(var(--spacing-unit) * 20);

  /* Space around the outside of the page */
  --space-outer: 20px;

  /* Space around individual inline elements */
  --space-inline-element: 10px;

  --space-grid: 20px;

  --color-frame-background: #fafafa;

  --height-input: 48px;

  --z-index-overlay: 500;
  --z-index-header-search: 600;
  --z-index-popup: 1000;
  --z-index-mega-nav: 1050;
  --z-index-lightbox: 1100;
  --z-index-modal: 1200;
  --z-index-theme-editor-offset: 2000;

  /* TODO: generate this */
  --box-shadow: 0px 2px 4px rgba(26, 26, 26, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.12);

  /* Typography */
  --font-size-heading-x-large: 36px;
  --line-height-heading-x-large: 44px;

  --font-size-heading-large: 32px;
  --line-height-heading-large: 40px;

  --font-size-heading-base: 24px;
  --line-height-heading-base: 32px;

  --font-size-heading-small: 18px;
  --line-height-heading-small: 24px;

  --font-size-body-large: 16px;
  --line-height-body-large: 28px;

  --font-size-body-base: 14px;
  --line-height-body-base: 24px;

  --font-size-body-small: 12px;
  --line-height-body-small: 20px;

  --font-size-meta: 12px;
  --line-height-meta: 24px;
}

@media (min-width: 40em) {

:root {
    --space-outer: calc(var(--spacing-unit) * 10);
}
  }

.hover {
  --duration: 0.3s;
  --easing: ease;
}

.hover .image {
    overflow: hidden;
  }

.hover .image img {
      transition: opacity 0.5s, transform var(--duration) var(--easing);
    }

.hover:hover .image img {
    transform: scale(1.1);
    transition: transform var(--duration) var(--easing);
  }

html:not(.theme-editor) .animate.animate-up {
  opacity: 0;
  transform: translateY(60px);
}

button {
  border: 0;
  border-radius: 0;
  display: inline-block;
  cursor: pointer;
  -webkit-appearance: none;
  font-family: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  background-color: transparent;
  font-size: inherit;
}

.btn,
.shopify-payment-button__button,
.spr-summary-actions-newreview {
  --height: 48px;
  --horizontal-space: 32px;
  --radius: var(--height);

  background-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: space-around;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: var(--font-body-weight) !important;
  border: 1px solid var(--color-border-button-secondary);
  border-radius: var(--radius);
  color: var(--color-text-button-secondary);
  cursor: pointer;

  height: var(--height);
  line-height: var(--height);
  padding: 0 var(--horizontal-space);
  transition: all 0.25s ease !important;
}

.btn:not([disabled]):hover,
    .btn:not([disabled]):focus,
    .shopify-payment-button__button:not([disabled]):hover,
    .shopify-payment-button__button:not([disabled]):focus,
    .spr-summary-actions-newreview:not([disabled]):hover,
    .spr-summary-actions-newreview:not([disabled]):focus {
      border-color: var(--color-border-button-secondary-hover);
    }

.btn:active, .shopify-payment-button__button:active, .spr-summary-actions-newreview:active {
    background-color: var(--color-border-button-secondary-hover);
    /* Generate this text colour, page background should be safe enough for now though */
    color: var(--color-background);
    transform: scale(0.95);
  }

.contrast .btn, .contrast .shopify-payment-button__button, .contrast .spr-summary-actions-newreview {
    border: 1px solid var(--color-border-contrast);
    color: var(--color-text-body-contrast);
  }

.contrast .btn:active, .contrast .shopify-payment-button__button:active, .contrast .spr-summary-actions-newreview:active {
      color: var(--color-background-contrast);
    }

.btn .btn__loading-bar, .shopify-payment-button__button .btn__loading-bar, .spr-summary-actions-newreview .btn__loading-bar {
    background-color: var(--color-text-button-secondary);
  }

.btn.btn--primary,
.shopify-payment-button__button.shopify-payment-button__button--unbranded,
.spr-button-primary {
  border-color: var(--color-background-button);
  background-color: var(--color-background-button);
  color: var(--color-text-button);
}

.btn.btn--primary:not([disabled]):hover,
    .btn.btn--primary:not([disabled]):focus,
    .shopify-payment-button__button.shopify-payment-button__button--unbranded:not([disabled]):hover,
    .shopify-payment-button__button.shopify-payment-button__button--unbranded:not([disabled]):focus,
    .spr-button-primary:not([disabled]):hover,
    .spr-button-primary:not([disabled]):focus {
      border-color: var(--color-background-button-hover);
      background-color: var(--color-background-button-hover);
    }

.btn.btn--primary .btn__loading-bar, .shopify-payment-button__button.shopify-payment-button__button--unbranded .btn__loading-bar, .spr-button-primary .btn__loading-bar {
    background-color: var(--color-text-button);
  }

.btn.btn--full {
  width: 100%;
}

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

.btn.loading span {
    display: none;
  }

.btn.loading .btn__loading-wrap {
    display: block;
  }

.btn__loading-wrap {
  display: none;
  width: 100%;
  max-width: 100px;
  height: 2px;
  overflow: hidden;
}

.btn__loading-bar {
  width: 100%;
  height: 2px;
  border-radius: 2px;
  -webkit-animation: loaderLine 1.4s ease-in-out infinite;
          animation: loaderLine 1.4s ease-in-out infinite;
}

@-webkit-keyframes loaderLine {
  0% {
    transform: translateX(-150%);
  }

  45% {
    transform: translateX(0);
  }

  55% {
    transform: translateX(0);
  }

  to {
    transform: translateX(150%);
  }
}

@keyframes loaderLine {
  0% {
    transform: translateX(-150%);
  }

  45% {
    transform: translateX(0);
  }

  55% {
    transform: translateX(0);
  }

  to {
    transform: translateX(150%);
  }
}

form {
  margin: 0;
}

input,
textarea,
select {
  display: inline-block;
  outline: 0;
  border-radius: 0;
  border: 1px solid #000;
  position: relative;
  font-size: inherit;
  font-family: inherit;
  font-weight: var(--font-body-weight);
  background-color: transparent;
  color: inherit;
  -webkit-appearance: none;
}

/* clears the 'X' from Internet Explorer */

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

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

/* clears the 'X' from Chrome */

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

input[type='number']::-webkit-outer-spin-button,
  input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

input[type='checkbox'] {
    position: relative;
    width: calc(4px * 5);
    width: var(--spacing-medium);
    height: calc(4px * 5);
    height: var(--spacing-medium);
    margin: 0;
    border: 1px solid var(--color-border-input);
    cursor: pointer;
  }

input[type='checkbox']:checked:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--color-text-input);
        transform: scale(0.75);
      }

button {
  outline: none;
}

.input,
input.spr-form-input,
textarea.spr-form-input {
  width: 100%;
  border: 1px solid var(--color-border-input);
  color: var(--color-text-input);
}

input.input,
select.input,
input.spr-form-input {
  height: 48px;
  height: var(--height-input);
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 48px;
  line-height: var(--height-input);
  padding: 0 calc(4px * 4);
  padding: 0 calc(var(--spacing-unit) * 4);
}

textarea.input,
textarea.spr-form-input {
  resize: vertical;
  padding: calc(4px * 4);
  padding: calc(var(--spacing-unit) * 4);
  font-size: 14px;
  font-size: var(--font-size-body-base);
}

select.input {
  cursor: pointer;
}

.input::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}

.input:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

.input::placeholder {
  color: inherit;
  opacity: 0.5;
}

.input:focus {
  border: 1px solid var(--color-text-link);
}

.input--round {
  border-radius: 48px;
  border-radius: var(--height-input);
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
}

.input-control + .input-control {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small);
  }

html {
  background-color: #fafafa;
  background-color: var(--color-frame-background);
  height: 100%;
}

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  color: var(--color-text-body);
  -webkit-font-smoothing: antialiased;
  height: 100%;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: normal;
}

p {
  margin: 0;
}

strong {
  font-weight: var(--font-body-bold-weight);
}

.theme-editor-scroll-offset {
  position: fixed;
  height: calc(var(--height-header) + 20px);
  height: calc(var(--height-header) + var(--space-outer));
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  z-index: 2000;
  z-index: var(--z-index-theme-editor-offset);
  pointer-events: none;
}

.page {
  background-color: var(--color-background);
  margin: 0 auto;
  width: 100%;
  max-width: 2000px;
  max-width: var(--max-width);
  min-height: 100%;

  display: flex;
  flex-direction: column;
}

.page-transition {
  z-index: 1000;
  opacity: 1;
  background-color: var(--color-background);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: all;
  transition: opacity 0.3s ease;
}

.no-js .page-transition {
  display: none;
}

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

.shopify-section:not(.full-width) .borders-nfw {
    border-radius: var(--radius-corner);
    overflow: hidden;
  }

.shopify-challenge__container {
  margin: calc(4px * 10) auto !important;
  margin: var(--spacing-large) auto !important;
}

.shopify-challenge__container .shopify-challenge__message {
    font-size: 16px;
    font-size: var(--font-size-body-large);
    line-height: 28px;
    line-height: var(--line-height-body-large);
  }

.grid {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + calc(10px * 2));
  width: calc(100% + calc(var(--space-inline-element) * 2));
  margin-top: calc(calc(4px * 5) * -1);
  margin-top: calc(var(--spacing-medium) * -1);
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.grid {
    margin-top: calc(calc(4px * 10) * -1);
    margin-top: calc(var(--spacing-large) * -1)
}
  }

.grid__item {
  width: 50%;
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.grid__item {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}
  }

.grid__item--one-half {
  width: 50%;
}

.grid__item--one-third {
  width: calc(1 / 3 * 100%);
}

.grid__item--one-quarter {
  width: 25%;
}

.grid__item--two-thirds {
  width: calc(2 / 3 * 100%);
}

@media (min-width: 40em) {

.grid__item--2 {
    width: 50%
}
  }

@media (min-width: 40em) {

.grid__item--3 {
    width: calc(1 / 3 * 100%)
}
  }

@media (min-width: 40em) {

.grid__item--4 {
    width: 25%
}
  }

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

/* Only show when JS is not supported */

.no-js:not(html) {
  display: none;
}

.no-js .no-js:not(html) {
    display: block;
  }

/* Only show when JS is supported */

.no-js .js {
    display: none;
  }

/* Only show when browser cookies are not supported */

.supports-no-cookies:not(html) {
  display: none;
}

html.supports-no-cookies .supports-no-cookies:not(html) {
    display: block;
  }

/* Only show when browser cookies are supported */

html.supports-no-cookies .supports-cookies {
    display: none;
  }

.placeholder-image {
  background-color: var(--color-background-meta);
}

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

.pill {
  display: flex;
  align-items: center;
  background-color: transparent;
  flex-shrink: 0;
  height: 40px;
  border-radius: 40px;
  padding: 0 calc(4px * 3) 0 calc(4px * 4);
  padding: 0 var(--spacing-small) 0 calc(var(--spacing-unit) * 4);
  transition: all 0.25s ease;
}

.pill:hover {
    background-color: var(--color-background-pill-hover);
  }

.pill:active {
    background-color: black;
    color: white;
    transform: scale(0.95);
  }

.pill .icon {
    width: 24px;
    height: 24px;
    opacity: 0.5;
    pointer-events: none;
  }

/* Open filter modal */

.pill--outline {
  background-color: transparent;
  color: var(--color-text-button-secondary);
  border: 1px solid var(--color-border-button-secondary);
}

.pill--outline:hover {
    border-color: var(--color-border-button-secondary-hover);
    background-color: transparent;
  }

.pill--outline:active {
    background-color: var(--color-border-button-secondary-hover);
    /* Might need to change this */
    color: var(--color-background);
  }

.pill--outline:active .icon {
      opacity: 1;
    }

/* Currently active filters */

.pill--solid {
  background-color: var(--color-background-pill);
}

.pill--solid .icon {
    width: 12px;
    height: 12px;
    margin-left: calc(4px * 3);
    margin-left: var(--spacing-small);
  }

.rte,
.shopify-policy__body {
  --s-line-height: var(--line-height-body-base);
  --s-font-size: var(--font-size-body-base);
  --s-vertical-space: var(--s-line-height);
}

@media (min-width: 40em) {

.rte,
.shopify-policy__body {
    --s-line-height: var(--line-height-body-large);
    --s-font-size: var(--font-size-body-large);
    --s-vertical-space: var(--spacing-large)
}
  }

.rte p + p, .shopify-policy__body p + p {
    margin-top: var(--s-line-height);
  }

.rte iframe,
  .rte video,
  .shopify-policy__body iframe,
  .shopify-policy__body video {
    width: 100%;
    margin: var(--s-vertical-space) 0;
    display: block;
  }

.rte div > iframe, .shopify-policy__body div > iframe {
    margin: 0;
  }

.rte table, .shopify-policy__body table {
    width: 100%;
    margin: var(--s-vertical-space) 0;
    border-collapse: collapse;
  }

.rte table td,
  .rte table th,
  .shopify-policy__body table td,
  .shopify-policy__body table th {
    border: 1px solid var(--color-border);
    /* padding: var(--spacing-small); */
    padding: calc(4px * 3) calc(4px * 5);
    padding: var(--spacing-small) var(--spacing-medium);
  }

.rte table th, .shopify-policy__body table th {
    text-align: left;
  }

.rte hr, .shopify-policy__body hr {
    margin: var(--s-vertical-space) 0;
    background-color: var(--color-border);
    border: none;
    height: 1px;
  }

.rte h1,
  .rte h2,
  .rte h3,
  .rte h4,
  .rte h5,
  .rte h6,
  .shopify-policy__body h1,
  .shopify-policy__body h2,
  .shopify-policy__body h3,
  .shopify-policy__body h4,
  .shopify-policy__body h5,
  .shopify-policy__body h6 {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-style: var(--font-heading-style);
    margin-top: var(--s-line-height);
    margin-bottom: var(--s-line-height);
    color: var(--color-text-heading);
    line-height: 1.3;
  }

.rte h1:first-child, .rte h2:first-child, .rte h3:first-child, .rte h4:first-child, .rte h5:first-child, .rte h6:first-child, .shopify-policy__body h1:first-child, .shopify-policy__body h2:first-child, .shopify-policy__body h3:first-child, .shopify-policy__body h4:first-child, .shopify-policy__body h5:first-child, .shopify-policy__body h6:first-child {
      margin-top: 0;
    }

.rte h1, .shopify-policy__body h1 {
    font-size: 1.75em;
  }

.rte h2, .shopify-policy__body h2 {
    font-size: 1.5em;
  }

.rte h3, .shopify-policy__body h3 {
    font-size: 1.25em;
  }

.rte h4, .shopify-policy__body h4 {
    font-size: 1em;
  }

.rte h5, .shopify-policy__body h5 {
    font-size: 0.8em;
  }

.rte h6, .shopify-policy__body h6 {
    font-size: 0.7em;
  }

.rte h5,
  .rte h6,
  .shopify-policy__body h5,
  .shopify-policy__body h6 {
    text-transform: uppercase;
    letter-spacing: 0.125em;
  }

.rte a, .shopify-policy__body a {
    color: var(--color-text-link);
    text-decoration: underline;
    transition: opacity 0.25s;
  }

.rte a:hover, .shopify-policy__body a:hover {
      opacity: 0.6;
    }

.rte ol,
  .rte ul,
  .shopify-policy__body ol,
  .shopify-policy__body ul {
    margin: var(--s-line-height) 0;
  }

.rte li, .shopify-policy__body li {
    margin-bottom: calc(var(--s-line-height) / 2);
  }

.rte img, .shopify-policy__body img {
    width: 100%;
    height: auto;
    display: block;
  }

.rte strong, .shopify-policy__body strong {
    font-weight: var(--font-body-bold-weight);
  }

.rte blockquote, .shopify-policy__body blockquote {
    background-color: var(--color-text-body-transparent);
    margin: var(--s-line-height) 0;
    padding: calc(4px * 5);
    padding: var(--spacing-medium);
    box-shadow: inset 1px 0px 0px var(--color-text-body-transparent-02);
  }

.rte div, .shopify-policy__body div {
    margin: var(--s-vertical-space) 0;
  }

.rte--page .accordion, .rte--article .accordion {
    border: 1px solid var(--color-border);
    margin: var(--s-line-height) 0;
  }

@media (min-width: 40em) {

.rte--page .accordion, .rte--article .accordion {
      margin: calc(4px * 10) 0;
      margin: var(--spacing-large) 0
  }
    }

.rte--page .accordion:first-child, .rte--article .accordion:first-child {
      margin-top: 0;
    }

.rte--page .accordion div, .rte--article .accordion div {
      margin: 0;
    }

.rte--page .accordion__heading, .rte--article .accordion__heading {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-style: var(--font-heading-style);
    margin: 0;
    padding: calc(4px * 3) calc(4px * 5);
    padding: var(--spacing-small) var(--spacing-medium);
  }

.rte--page .accordion__group, .rte--article .accordion__group {
    border-top: 1px solid var(--color-border);
    margin: 0;
    padding: 0 calc(4px * 5);
    padding: 0 var(--spacing-medium);
  }

.rte--page .accordion__group[data-open='true'] .accordion__label:after, .rte--article .accordion__group[data-open='true'] .accordion__label:after {
        transform: rotate(180deg);
        opacity: 1;
      }

.rte--page .accordion__label, .rte--article .accordion__label {
    --s-icon-size: 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin: 0;
    padding: calc(4px * 3) 0;
    padding: var(--spacing-small) 0;
    cursor: pointer;
    color: inherit;
    text-decoration: none;
  }

.rte--page .accordion__label:hover, .rte--article .accordion__label:hover {
      color: var(--color-text-link);
      opacity: 1;
    }

.rte--page .accordion__label .icon, .rte--article .accordion__label .icon {
      width: var(--s-icon-size);
      height: var(--s-icon-size);
      display: block;
      pointer-events: none;
      opacity: 0.5;
    }

.rte--page .accordion__text, .rte--article .accordion__text {
    margin: 0;
    padding-bottom: calc(4px * 5);
    padding-bottom: var(--spacing-medium);
    display: none;
  }

.rte--product .accordion {
    margin: var(--s-line-height) 0;
  }

@media (min-width: 40em) {

.rte--product .accordion {
      margin: calc(4px * 5) 0;
      margin: var(--spacing-medium) 0
  }
    }

.rte--product .accordion .share-block {
      margin-top: 4px;
      margin-top: var(--spacing-unit);
    }

.rte--product .accordion .share-block a {
        color: var(--color-text-body);
      }

.rte--product .accordion__group {
    margin: 0 0 calc(4px * 3) 0;
    margin: 0 0 var(--spacing-small) 0;
  }

.rte--product .accordion__group[data-open='true'] .accordion__label:after {
        transform: rotate(180deg);
        opacity: 0.5;
      }

.rte--product .accordion__label {
    --s-icon-size: 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin: 0;
    margin-left: calc(calc(4px * 3) * -1);
    margin-left: calc(var(--spacing-small) * -1);
    margin-right: calc(calc(4px * 3) * -1);
    margin-right: calc(var(--spacing-small) * -1);
    padding: 0 calc(4px * 3);
    padding: 0 var(--spacing-small);
    cursor: pointer;
    font-weight: var(--font-body-bold-weight);
    text-decoration: none;
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
    color: inherit;
    border-radius: 2px;
    min-height: 32px;
    transition: background-color 0.3s;
  }

@media (min-width: 40em) {

.rte--product .accordion__label {
      margin-right: 0;
      padding: 0 4px 0 calc(4px * 3);
      padding: 0 var(--spacing-unit) 0 var(--spacing-small)
  }
    }

.rte--product .accordion__label:hover {
      opacity: 1;
      background-color: var(--color-background-meta);
    }

.contrast .rte--product .accordion__label:hover {
        background-color: var(--color-background-meta-contrast);
      }

.rte--product .accordion__label .icon {
      width: var(--s-icon-size);
      height: var(--s-icon-size);
      flex-shrink: 0;
      margin: 0;
      pointer-events: none;
      opacity: 0.5;
    }

.rte--product .accordion__text {
    margin: 0;
    padding-top: calc(4px * 2);
    padding-top: var(--spacing-extra-small);
    padding-bottom: 4px;
    padding-bottom: var(--spacing-unit);
    display: none;
  }

/* Frame sections */

.announcement-bar .flickity-slider {
    transform: none !important;
  }

.announcement-bar__item {
  width: 100%;
  align-items: center;
  justify-content: space-around;
  white-space: nowrap;
  text-align: center;
  padding: calc(4px * 3) 0;
  padding: var(--spacing-small) 0;
  display: none;
  overflow-x: scroll;
  color: var(--s-color-text);
  background-color: var(--s-color-background);
  pointer-events: none;
  left: 0 !important;
  opacity: 0;
  transition: opacity 1s ease-in-out;

  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none;
}

/* Firefox */

.announcement-bar__item.is-selected {
    opacity: 1;
    pointer-events: all;
  }

.flickity-enabled .announcement-bar__item {
    display: block;
  }

.announcement-bar__item:first-of-type {
    display: block;
  }

.announcement-bar__item::-webkit-scrollbar {
    display: none;
  }

@-webkit-keyframes inFromBottom {
  from {
    transform: translateY(calc(4px * 10));
    transform: translateY(var(--spacing-large));
    opacity: 0;
  }
  to {
    transform: translateY(0px);
    opacity: 1;
  }
}

@keyframes inFromBottom {
  from {
    transform: translateY(calc(4px * 10));
    transform: translateY(var(--spacing-large));
    opacity: 0;
  }
  to {
    transform: translateY(0px);
    opacity: 1;
  }
}

.announcement-bar__content > span {
    padding: 0 20px;
    padding: 0 var(--space-outer);
  }

.is-active .announcement-bar__content {
    -webkit-animation: 0.5s ease-in-out inFromBottom;
            animation: 0.5s ease-in-out inFromBottom;
  }

.footer__parent {
  margin-top: auto;
}

.footer {
  background-color: var(--color-background-footer);
  color: var(--color-text-footer);
}

@media (min-width: 60em) {

.footer {
    padding: 20px;
    padding: var(--space-outer)
}
  }

.footer .fs-body-base:not(.ff-heading) {
    line-height: calc(24px + 4px);
    line-height: calc(var(--line-height-body-base) + var(--spacing-unit));
  }

.footer a {
    transition: opacity 0.25s;
  }

.footer a:hover {
      opacity: 0.5;
    }

.footer__groups {
  display: flex;
  flex-direction: column;
}

@media (min-width: 60em) {

.footer__groups {
    flex-direction: row;
    margin-left: -10px;
    margin-right: -10px
}
  }

.footer__group {
  width: 100%;
  border-bottom: 1px solid var(--color-border-footer);
}

@media (min-width: 60em) {

.footer__group {
    width: calc(1 / 3 * 100%);
    border-bottom: none;
    padding: 0 10px;
    padding: 0 var(--space-inline-element)
}
  }

@media (min-width: 60em) {

.footer__group--mobile {
    display: none
}
  }

.footer__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
}

.footer__header.open .footer__arrow {
      transform: rotate(-180deg);
      transition: transform 0.25s;
    }

@media (min-width: 60em) {

.footer__header {
    padding: 0;
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
    pointer-events: none
}
  }

.footer__heading {
  font-weight: var(--font-body-bolder-weight);
}

.footer__arrow {
  transition: transform 0.25s;
}

@media (min-width: 60em) {

.footer__arrow {
    display: none
}
  }

.footer__group-content {
  padding-top: 0;
  padding-right: calc(4px * 5);
  padding-right: var(--spacing-medium);
  padding-bottom: calc(4px * 7);
  padding-bottom: calc(var(--spacing-unit) * 7);
  padding-left: calc(4px * 5);
  padding-left: var(--spacing-medium);
  display: none;
}

@media (min-width: 60em) {

.footer__group-content {
    display: block !important;
    padding: 0
}
  }

.footer__text {
  /* Max line length for block text */
  width: 90%;
  max-width: 34em;
}

.footer__text a {
    text-decoration: underline;
  }

.footer__links {
  display: flex;
}

.footer__links ul {
    width: 100%;
    -moz-columns: 2;
         columns: 2;
    margin: 0;
    padding: 0;
    grid-column-gap: calc(4px * 5);
    -moz-column-gap: calc(4px * 5);
         column-gap: calc(4px * 5);
    grid-column-gap: var(--spacing-medium);
    -moz-column-gap: var(--spacing-medium);
         column-gap: var(--spacing-medium);
  }

.footer__links li {
    list-style: none;
  }

.footer__newsletter .input {
    border: 1px solid var(--color-border-footer);
    color: inherit;
    transition: background-color 0.25s, border-color 0.25s;
  }

.footer__newsletter .input:focus {
      border-color: var(--color-border-footer-darker);
    }

.footer__newsletter .input:hover:not(:focus) {
      background-color: var(--color-border-footer);
    }

.footer__newsletter p {
    margin: 0;
  }

.footer__newsletter .newsletter-form {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
  }

.footer__rule {
  display: none;
  margin-top: calc(calc(4px * 3) * 5);
  margin-top: calc(var(--spacing-small) * 5);
  margin-bottom: 0;
  border: none;
  height: 1px;
  background-color: var(--color-border-footer);
}

@media (min-width: 60em) {

.footer__rule {
    display: block
}
  }

.footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-top: calc(4px * 5);
  padding-top: var(--spacing-medium);
  display: none;
}

@media (min-width: 60em) {

.footer__bottom {
    display: flex
}
  }

.footer__bottom-left {
  display: flex;
  align-items: center;
}

.footer__bottom-left .selectors-form + .social-icons {
    margin-left: calc(4px * 4);
    margin-left: calc(var(--spacing-unit) * 4);
  }

.footer__bottom-left .selectors-form {
    display: none;
  }

@media (min-width: 40em) {

.footer__bottom-left .selectors-form {
      display: block
  }
    }

.footer__bottom-right {
  display: none;
}

@media (min-width: 60em) {

.footer__bottom-right {
    display: block
}
  }

.footer__selectors {
  display: flex;
}

.selectors-form__item + .selectors-form__item {
  margin-left: calc(4px * 2);
  margin-left: var(--spacing-extra-small);
}

.footer__mobile-social-icons {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  display: block;
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
}

@media (min-width: 60em) {

.footer__mobile-social-icons {
    display: none
}
  }

.footer__credits {
  font-size: 10px;
  line-height: 20px;
  opacity: 0.7;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
}

@media (min-width: 60em) {

.footer__credits {
    padding: 0
}
  }

.footer__credits p {
    margin: 0;
  }

@media (min-width: 40em) {

.footer__rule + .footer__credits,
.footer__bottom + .footer__credits,
.footer__mobile-social-icons + .footer__credits {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.header__outer-wrapper {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}

.header__space {
  width: 100%;
  height: 40px;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.header {
  --size-icon-touch: 44px;
  --size-gradient: 60px;

  background-color: var(--color-background-header);
  color: var(--color-text-header);
  border-bottom: 1px solid var(--color-border-header);
  padding: calc(4px * 3) 20px;
  padding: var(--spacing-small) var(--space-outer);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  transition: background-color 0.25s;
}

.header.is-sticky {
    border-bottom: none;
    box-shadow: 0px 1px 1px var(--color-shadow-header);
    transition: background-color 0.25s;
  }

.header .image {
    background-color: transparent;
  }

.header .regular-logo .image__img.lazyloaded, .header .trasparent-logo .image__img.lazyloaded {
      transition: none;
    }

.header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.header__logo .transparent-logo {
    display: none;
  }

@media (min-width: 60em) {
    .header--center .header__logo,
    .header--icon:not(.header--left) .header__logo {
      padding: 0 calc(4px * 6);
      padding: 0 calc(var(--spacing-unit) * 6);
    }

    .header--left .header__logo {
      padding-right: calc(4px * 6);
      padding-right: calc(var(--spacing-unit) * 6);
    }

    .header--left.header--icon .header__logo {
      padding-right: calc(4px * 5);
      padding-right: var(--spacing-medium);
    }
  }

.header--has-logo .header__logo .header__logo-text {
      display: none;
    }

/* Inline links, no menu icon on desktop */

@media (min-width: 60em) {
    .header--inline .header__menu-icon {
      display: none;
    }
  }

/* Show links on left side with logo in the center */

@media (min-width: 60em) {
    .header--center.header--inline .header__logo {
      order: 2;
    }

    .header--center.header--inline .header__links {
      order: 1;
    }

    .header--center.header--inline .header__right {
      order: 3;
    }
  }

@media (min-width: 60em) {

.header--left.header--inline {
    grid-template-columns: auto 1fr auto
}
  }

@media (min-width: 60em) {

.header.header--left.header--icon {
    grid-template-columns: auto 1fr auto
}
    .header.header--left.header--icon .header__menu-icon {
      order: 2;
    }

    .header.header--left.header--icon .header__logo {
      order: 1;
    }

    .header.header--left.header--icon .header__right {
      order: 3;
    }
  }

/* Account icon and search icon should never show on mobile */

@media (max-width: 40em) {

.header__icon-touch.header__icon-touch--search,
  .header__icon-touch.header__icon-touch--account {
      display: none
  }
    }

/* Inline link list, no matter what these don't show on mobile */

.header__links {
  display: none;
}

@media (min-width: 60em) {

.header__links {
    display: flex;
    align-items: center;
    flex-shrink: 1;
    overflow-x: scroll;

    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none /* Firefox */
}

    .header__links::-webkit-scrollbar {
      display: none;
    }
  }

.header__links a.active {
    opacity: 0.5;
  }

.header__links-list {
  margin: 0;
  padding: 0;
}

.header__links-list > li {
    list-style: none;
    display: block;
  }

.header__links-list > li + li {
    margin-left: calc(4px * 5);
    margin-left: var(--spacing-medium);
  }

.header__links-list > li:last-of-type {
    padding-right: var(--size-gradient);
  }

.header__links-list > li > a {
    display: flex;
    align-items: center;
  }

.header__links-list a {
    opacity: 1;
    transition: opacity 0.25s;
  }

.header__links-list a:hover {
      opacity: 0.5;
    }

.header__links-list .header__links-icon {
    width: 18px;
    height: 18px;

    /* Optical */
    margin-top: 1px;
    margin-left: 2px;
    margin-right: -6px;
  }

.header__links-list .header__links-icon .icon {
      width: 100%;
      height: 100%;
    }

@media (min-width: 60em) {

.header__links-list {
    display: flex;
    align-items: center;
    overflow-x: scroll;
    white-space: nowrap;
    /* Firefox on Windows */
    scrollbar-width: none
}

    .header__links-list::-webkit-scrollbar {
      display: none;
    }
  }

.header__menu-icon {
  /* Offset slightly to account for touch area */
  transform: translateX(-10px);
  align-self: center;
}

/* Holds the icons */

.header__right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /* Offset slightly to account for touch area */
  transform: translateX(10px);
}

.header__icon-touch {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: var(--size-icon-touch);
  height: var(--size-icon-touch);
}

.header__icon-touch .icon-button {
    --color: var(--color-icon-header);
  }

.header__cart-count {
  position: static;
  z-index: 10;
  width: 24px;
  height: 24px;
  background-color: var(--color-background-button);
  color: var(--color-text-button);
  border-radius: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  font-size: 12px;
  line-height: 1;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 1s, transform 1s;
}

.header__cart-count.visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 1s, transform 1s;
  }

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

.header--has-logo .header__logo-link {
  width: var(--width-max-logo);
  max-width: 40vw;
}

@media (min-width: 60em) {

.header--has-logo .header__logo-link {
    width: 500px;
    max-width: var(--width-max-logo)
}
  }

/* Transparent header styling */

body.template-index .header--transparent-home:not(.is-sticky),
  body.template-index .header--transparent-collection:not(.is-sticky),
  body.template-collection .header--transparent-home:not(.is-sticky),
  body.template-collection .header--transparent-collection:not(.is-sticky) {
    background-color: transparent;
    color: var(--color-text-transparent);
    border-bottom: 1px solid var(--color-border-transparent);
  }

body.template-index .header--transparent-home:not(.is-sticky) .icon-button, body.template-index .header--transparent-collection:not(.is-sticky) .icon-button, body.template-collection .header--transparent-home:not(.is-sticky) .icon-button, body.template-collection .header--transparent-collection:not(.is-sticky) .icon-button {
      --color: var(--color-icon-transparent);
    }

/* Hide the gradient on overflowing inline links */

body.template-index .header--transparent-home:not(.is-sticky) .header__links:after, body.template-index .header--transparent-collection:not(.is-sticky) .header__links:after, body.template-collection .header--transparent-home:not(.is-sticky) .header__links:after, body.template-collection .header--transparent-collection:not(.is-sticky) .header__links:after {
      opacity: 0;
      transition: opacity 0s;
    }

/* Remove the extra large space because there is no gradient to account for */

body.template-index .header--transparent-home:not(.is-sticky) .header__links-list > li:last-of-type, body.template-index .header--transparent-collection:not(.is-sticky) .header__links-list > li:last-of-type, body.template-collection .header--transparent-home:not(.is-sticky) .header__links-list > li:last-of-type, body.template-collection .header--transparent-collection:not(.is-sticky) .header__links-list > li:last-of-type {
      padding-right: calc(4px * 2);
      padding-right: var(--spacing-extra-small);
    }

body.template-index .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-index .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-collection .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-collection .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-link {
        width: var(--width-max-logo);
        max-width: 40vw;
      }

@media (min-width: 60em) {

body.template-index .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-index .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-collection .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-link, body.template-collection .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-link {
          width: 500px;
          max-width: var(--width-max-logo)
      }
        }

body.template-index .header--transparent-home:not(.is-sticky).header--has-transparent-logo .regular-logo, body.template-index .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .regular-logo, body.template-collection .header--transparent-home:not(.is-sticky).header--has-transparent-logo .regular-logo, body.template-collection .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .regular-logo {
        display: none;
      }

body.template-index .header--transparent-home:not(.is-sticky).header--has-transparent-logo .transparent-logo, body.template-index .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .transparent-logo, body.template-collection .header--transparent-home:not(.is-sticky).header--has-transparent-logo .transparent-logo, body.template-collection .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .transparent-logo {
        display: block;
      }

body.template-index .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-text, body.template-index .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-text, body.template-collection .header--transparent-home:not(.is-sticky).header--has-transparent-logo .header__logo-text, body.template-collection .header--transparent-collection:not(.is-sticky).header--has-transparent-logo .header__logo-text {
        display: none;
      }

.popup {
  --animation-duration: 0.35s;
  --animation-timing: ease-in-out;

  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  z-index: var(--z-index-popup);
  display: flex;
  align-items: flex-start;
  color: var(--color-text);
  pointer-events: none;
}

.theme-editor .popup {
    transition: visibility var(--animation-duration);
    visibility: hidden;
  }

@media (min-width: 40em) {

.popup {
    align-items: flex-end
}
  }

.popup.active {
  display: flex;
}

@media (max-width: 40em) {

.popup.visible {
    pointer-events: all
}
  }

.theme-editor .popup.visible {
    visibility: visible;
  }

@media (max-width: 40em) {

.popup.visible .popup__overlay {
      opacity: 0.5
  }
    }

.popup.visible .popup__bar {
    transform: translateY(0);
    pointer-events: all;
  }

.popup__overlay {
  background-color: var(--color-overlay);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity var(--animation-duration) var(--animation-timing);
}

.theme-editor .popup__overlay {
    transition-duration: 0s;
  }

.popup__bar {
  position: relative;
  width: 100%;
  background-color: var(--color-background);
  padding: 20px;
  padding: var(--space-outer);
  text-align: center;
  z-index: 1;
  overflow: hidden;
  transform: translateY(-100%);
  transition: transform var(--animation-duration) var(--animation-timing);
}

/* .theme-editor & {
    transform: translateY(0);
    transition-duration: 0s;
    .image__img.lazyloaded {
      transition-duration: 0s;
    }
  } */

@media (min-width: 40em) {

.popup__bar {
    transform: translateY(100%)
}
  }

.popup__image.image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  opacity: 0.5;
}

.popup__image.image .image__img {
    -o-object-position: var(--image-position);
       object-position: var(--image-position);
  }

.popup__close {
  position: absolute;
  top: calc(4px * 5);
  top: var(--spacing-medium);
  right: calc(4px * 5);
  right: var(--spacing-medium);
  cursor: pointer;
  transition: opacity 0.25s;
  z-index: 10;
}

.popup__close:focus,
  .popup__close:hover {
    opacity: 0.6;
  }

.popup__content {
  position: relative;
  z-index: 1;
}

.popup__heading {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 24px;
  line-height: var(--line-height-body-base);
}

@media (min-width: 40em) {

.popup__heading {
    font-size: 24px;
    font-size: var(--font-size-heading-base);
    line-height: 32px;
    line-height: var(--line-height-heading-base)
}
  }

.popup__subheading {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  font-size: var(--font-size-body-small);
  line-height: 20px;
  line-height: var(--line-height-body-small);
}

@media (min-width: 40em) {

.popup__subheading {
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base)
}
  }

.popup__heading + .popup__subheading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

.popup__form {
  width: 100%;
  max-width: 600px;
  margin: calc(4px * 5) auto 0;
  margin: var(--spacing-medium) auto 0;
}

.popup__form .newsletter__input-container .input {
      background-color: var(--color-background-input);
      color: var(--color-text-input);
      border: 1px solid transparent;
    }

.popup__form .newsletter__input-container .input:focus {
        border: 1px solid var(--color-text-link);
      }

/* Pages */

.a404 {
  text-align: center;
  margin: auto;
  max-width: 38em;
  padding: calc(4px * 10);
  padding: var(--spacing-large);
}

.a404__heading {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.a404__subheading {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.template--article {
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

@media (min-width: 40em) {

.template--article {
    margin-bottom: calc(4px * 20);
    margin-bottom: var(--spacing-extra-extra-large)
}
  }

.article__header {
  text-align: center;
  width: 100%;
  max-width: calc(800px + calc(20px * 2));
  max-width: calc(800px + calc(var(--space-outer) * 2));
  margin: 40px auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 40em) {

.article__header {
    margin: 80px auto
}
  }

.article__date {
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

.article__share {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

.article__image {
  padding: 0 20px;
  padding: 0 var(--space-outer);
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

@media (min-width: 40em) {

.article__image {
    margin-bottom: calc(4px * 20);
    margin-bottom: var(--spacing-extra-extra-large)
}
  }

.article__content {
  width: 100%;
  max-width: calc(600px + calc(20px * 2));
  max-width: calc(600px + calc(var(--space-outer) * 2));
  margin: 0 auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

/* Grid styles are handled in page.css */

.article__content .article__rte {
    padding: 0;
    margin: 0;
  }

.article__tags {
  margin: calc(4px * 5) 0 0 0;
  margin: var(--spacing-medium) 0 0 0;
  padding: 0;
}

.article__tags li {
    list-style: none;
    display: inline;
  }

.article__tags a {
    color: var(--color-text-link);
    transition: opacity 0.25s;
  }

.article__tags a:hover {
      opacity: 0.5;
    }

.article__tag:after {
    content: ',';
  }

.article__tag:last-of-type:after {
    content: '';
  }

.article__share-bottom {
  margin: calc(4px * 10) 0;
  margin: var(--spacing-large) 0;
}

.article__comments {
  max-width: calc(600px + calc(20px * 2));
  max-width: calc(600px + calc(var(--space-outer) * 2));
  margin: 0 auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

.article__comments .form-message {
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
  }

.article + .article__comments {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

.article__pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.article__tags + .article__pagination,
.article__rte + .article__pagination {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

.blog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: calc(20px * -1);
  margin-bottom: calc(var(--space-grid) * -1);
}

body.show-borders .blog__header {
    margin-bottom: 0;
    border-bottom: 1px solid var(--color-border);
  }

.blog__heading {
  margin-bottom: 20px;
  margin-bottom: var(--space-grid);
}

.blog__rss {
  /* Optical alignment that accounts for hover effect */
  transform: translate(10px, -6px);
}

.blog__articles {
  align-items: stretch;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.blog__article {
  display: flex;
  flex-direction: column;
  margin: 0 0 calc(4px * 5) 0;
  margin: 0 0 var(--spacing-medium) 0;
}

@media (max-width: 40em) {

.blog__article {
    width: 100%
}
  }

@media (min-width: 40em) and (max-width: 60em) {

.blog__article {
    width: 50%
}
  }

.blog__article .image {
    border-top-left-radius: var(--radius-corner);
    border-top-right-radius: var(--radius-corner);
  }

.blog__meta {
  border: 1px solid var(--color-border);
  border-top-width: 0px;
  border-bottom-left-radius: var(--radius-corner);
  border-bottom-right-radius: var(--radius-corner);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  flex-grow: 1;
}

@media (min-width: 60em) {

.blog__meta {
    padding: calc(4px * 10);
    padding: var(--spacing-large)
}
  }

.blog__meta--no-image {
  border-top-width: 1px;
  border-top-left-radius: var(--radius-corner);
  border-top-right-radius: var(--radius-corner);
}

.blog__article-title {
  font-size: 18px;
  font-size: var(--font-size-heading-small);
  line-height: 24px;
  line-height: var(--line-height-heading-small);
}

@media (min-width: 40em) {

.blog__article-title {
    font-size: 24px;
    font-size: var(--font-size-heading-base);
    line-height: 32px;
    line-height: var(--line-height-heading-base)
}
  }

.blog__article-title a {
    transition: opacity 0.25s;
  }

.blog__article-title a:hover {
      opacity: 0.6;
    }

.blog__article-date {
  margin: calc(4px * 2) 0 0 0;
  margin: var(--spacing-extra-small) 0 0 0;
}

.blog__article-excerpt {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

.blog__article-excerpt a {
    opacity: 0.7;
    transition: opacity 0.25s;
  }

.blog__article-excerpt a:hover {
      opacity: 0.25;
    }

.cart__container {
  width: 100%;
  max-width: calc(1000px + 20px);
  max-width: calc(1000px + var(--space-outer));
  margin: 20px auto;
  margin: var(--space-outer) auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

.cart__title {
  text-align: center;
  margin-bottom: calc(4px * 12);
  margin-bottom: var(--spacing-extra-large);
  padding-top: 40px;
}

.cart__header {
  display: none;
}

@media (min-width: 40em) {

.cart__header {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: calc(4px * 3);
    padding-bottom: var(--spacing-small);
    opacity: 0.75
}
  }

.cart__header-quantity {
  margin-left: auto;
  width: 100px;
  text-align: center;
}

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

@media (min-width: 40em) and (max-width: 60em) {

.cart__header-total {
    width: 100px
}
  }

@media (min-width: 60em) {

.cart__header-total {
    width: 140px
}
  }

.cart__item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
}

@media (min-width: 40em) {

.cart__item {
    margin: calc(4px * 10) 0;
    margin: var(--spacing-large) 0
}
  }

.cart__item-image {
  width: 80px;
  flex-shrink: 0;
}

@media (min-width: 40em) {

.cart__item-image {
    width: 120px
}
  }

.cart__item-main {
  width: 100%;
  flex-shrink: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

@media (min-width: 40em) {

.cart__item-main {
    flex-wrap: nowrap;
    width: calc(100% - 220px)
}
  }

.cart__item-details {
  width: 100%;
  flex-shrink: 0;
  padding-left: calc(4px * 5);
  padding-left: var(--spacing-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 40em) {

.cart__item-details {
    width: calc(100% - 100px)
}
  }

@media (min-width: 40em) and (max-width: 60em) {

.cart__item-details {
    padding-left: calc(4px * 5);
    padding-left: var(--spacing-medium);
    padding-right: calc(4px * 5);
    padding-right: var(--spacing-medium)
}
  }

@media (min-width: 60em) {

.cart__item-details {
    padding-left: calc(4px * 10);
    padding-left: var(--spacing-large)
}
  }

.cart__item-title {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cart__line-item-discounts {
  margin: calc(4px * 2) 0 0 0;
  margin: var(--spacing-extra-small) 0 0 0;
  padding: 0;
  opacity: 0.5;
}

.cart__line-item-discounts li {
    list-style: none;
  }

.cart__item-quantity {
  text-align: center;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: calc(4px * 3);
  padding-top: var(--spacing-small);
  padding-left: calc(4px * 5);
  padding-left: var(--spacing-medium);
}

@media (min-width: 40em) {

.cart__item-quantity {
    width: 100px;
    flex-direction: column;
    padding-top: 0;
    padding-left: 0
}
  }

.cart__item-qty-selector {
  display: flex;
  justify-content: space-between;
  border: 1px solid var(--color-border);
  width: 100px;
  height: 40px;
}

.cart__item-qty-selector input {
    width: 24px;
    padding: 0;
    border: none;
    text-align: center;
    font-size: 12px;
    font-size: var(--font-size-body-small);
  }

.cart__item-qty-selector input::-webkit-outer-spin-button,
    .cart__item-qty-selector input::-webkit-inner-spin-button {
      -webkit-appearance: none;
    }

.cart__item-button {
  display: block;
  width: 36px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-shrink: 0;
  opacity: 0.8;
}

.cart__item-button:hover {
    opacity: 0.5;
  }

.cart__item-button .icon {
    width: 18px;
    height: 18px;
  }

.cart-item__remove {
  font-size: 11px;
  line-height: 16px;
  opacity: 0.5;
}

.cart-item__remove:hover {
    text-decoration: underline;
  }

@media (min-width: 40em) {

.cart-item__remove {
    margin-top: calc(4px * 2);
    margin-top: var(--spacing-extra-small)
}
  }

.cart__original-total {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.cart__discounts {
  opacity: 0.5;
  margin: 0 0 calc(4px * 3) 0;
  margin: 0 0 var(--spacing-small) 0;
  padding: 0;
}

.cart__discounts li {
    list-style: none;
  }

.cart__item-total {
  display: none;
  text-align: right;
  width: 100px;
  padding-left: calc(4px * 5);
  padding-left: var(--spacing-medium);
  flex-shrink: 0;
}

@media (min-width: 40em) {

.cart__item-total {
    display: block
}
  }

@media (min-width: 40em) and (max-width: 60em) {

.cart__item-total {
    width: 100px
}
  }

@media (min-width: 60em) {

.cart__item-total {
    width: 140px
}
  }

.cart__footer {
  border-top: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: calc(4px * 10);
  padding-top: var(--spacing-large);
}

.cart__footer textarea {
    height: 140px;
    margin-top: calc(4px * 2);
    margin-top: var(--spacing-extra-small);
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
  }

.cart__footer-left {
  width: 100%;
}

@media (min-width: 40em) {

.cart__footer-left {
    width: 35%
}
  }

.cart__footer-tax-note {
  opacity: 0.75;
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

.cart__footer-actions {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.cart__footer-actions .btn + .btn {
    margin-left: calc(4px * 3);
    margin-left: var(--spacing-small);
  }

.cart__footer-right {
  text-align: right;
  width: 100%;
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

@media (min-width: 40em) {

.cart__footer-right {
    width: 65%
}
  }

.cart__empty {
  text-align: center;
  margin-bottom: calc(4px * 20);
  margin-bottom: var(--spacing-extra-extra-large);
}

.collection__simple-header {
  margin-bottom: 20px;
  margin-bottom: var(--space-outer);
}

.collection__slideshow-header {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  margin-bottom: var(--space-outer);
}

@media (min-width: 40em) {

.collection__slideshow-header {
    height: 50vh
}

    .collection__slideshow-header .image {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 0 !important;
    }

    .collection__slideshow-header .image__img {
      -o-object-position: var(--image-position);
         object-position: var(--image-position);
    }
  }

@media (min-width: 40em) {

.collection__slideshow-header-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
  }

@media (max-width: 40em) {
    .collection__slideshow-header-overlay .block-overlay {
      --color-background: var(--color-background-contrast) !important;
      --color-text-meta: var(--color-text-meta-contrast) !important;
      --color-text-heading: var(--color-text-heading-contrast) !important;
      --color-text-body: var(--color-text-body-contrast) !important;
      --color-text-subheading: var(--color-text-subheading-contrast) !important;
    }
  }

.shopify-section.full-width .collection__slideshow-header,
.shopify-section.full-width .collection__enhanced-header {
  width: auto;
  margin-top: calc(20px * -1);
  margin-top: calc(var(--space-outer) * -1);
  margin-right: calc(20px * -1);
  margin-right: calc(var(--space-outer) * -1);
  margin-left: calc(20px * -1);
  margin-left: calc(var(--space-outer) * -1);
}

.collection__enhanced-header {
  margin-bottom: 20px;
  margin-bottom: var(--space-outer);
  display: flex;
  flex-direction: column-reverse;
}

@media (min-width: 40em) {

.collection__enhanced-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between
}
  }

.collection__enhanced-header-text {
  padding: 20px;
  padding: var(--space-outer);
  max-width: 600px;
}

.collection__enhanced-header-image {
  width: 100%;
  flex-shrink: 0;
  align-self: stretch;
}

@media (min-width: 40em) {

.collection__enhanced-header-image {
    width: 50%
}

    .collection__enhanced-header-image .flexible-image__img {
      -o-object-position: var(--image-position);
         object-position: var(--image-position);
    }
  }

.collection__description {
  /* Roughly 600px */
  max-width: 44em;
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.collection__description {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.collection__content {
  display: flex;
}

.collection__content--rule {
    border-top: 1px solid var(--color-border);
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
  }

.collection__sidebar {
  display: none;
  width: 253px;
  margin-right: 40px;
  flex-shrink: 0;
}

@media (min-width: 40em) {

.collection__sidebar {
    display: block
}
  }

.collection__main-area {
  width: 100%;
}

.collection__window {
  position: relative;
  width: 100%;
}

.collection__main {
  position: relative;
  width: 100%;
}

.collection__loading {
  position: absolute;
  top: 1px;
  right: calc(20px * -1);
  right: calc(var(--space-outer) * -1);
  bottom: 0;
  left: calc(20px * -1);
  left: calc(var(--space-outer) * -1);
  background-color: var(--color-background-transparent);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
  text-align: center;
}

@media (min-width: 40em) {

.collection__loading {
    left: 0;
    right: 0
}
  }

.collection__loading.is-active {
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.25s;
  }

.collection__empty {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(4px * 20);
  margin-top: var(--spacing-extra-extra-large);
}

.collection__empty .link {
    margin-top: calc(4px * 2);
    margin-top: var(--spacing-extra-small);
    display: block;
    cursor: pointer;
  }

@media (min-width: 40em) {

.collection__empty {
    margin-top: 200px
}
  }

.collection__top-row {
  margin: 0 calc(20px * -1);
  margin: 0 calc(var(--space-outer) * -1);
  padding-bottom: 14px;
}

@media (min-width: 40em) {

.collection__top-row {
    width: 100%;
    margin: 0;
    padding-left: 0;
    padding-bottom: 0
}
  }

.collection__pagination {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

@-webkit-keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

@keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

html.gift-card {
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  background-color: var(--color-background);

  @-webkit-viewport {
    width: device-width;
  }

  @-moz-viewport {
    width: device-width;
  }

  @-ms-viewport {
    width: device-width;
  }

  @-o-viewport {
    width: device-width;
  }

  @viewport {
    width: device-width;
  }
}

html.gift-card body {
    padding: 0;
    margin: 0;
    -webkit-font-smoothing: antialiased;
  }

html.gift-card article,
  html.gift-card aside,
  html.gift-card details,
  html.gift-card figcaption,
  html.gift-card figure,
  html.gift-card footer,
  html.gift-card header,
  html.gift-card hgroup,
  html.gift-card menu,
  html.gift-card nav,
  html.gift-card section,
  html.gift-card main {
    display: block;
  }

html.gift-card a {
    text-decoration: none;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  }

html.gift-card img,
  html.gift-card video,
  html.gift-card object {
    max-width: 100%;
    display: block;
  }

html.gift-card h4 {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: normal;
    font-size: 0.875em;
    color: var(--color-text-subheading);
    margin: 0;
  }

html.gift-card .wrap {
    width: 95%;
    max-width: 540px;
    margin: 0 auto;
  }

html.gift-card .wrap:after {
    content: '';
    display: table;
    clear: both;
  }

html.gift-card ::-moz-selection {
    background-color: var(--color-text-link);
    color: #fff;
  }

html.gift-card ::-moz-selection {
    background-color: var(--color-text-link);
    color: #fff;
  }

html.gift-card ::selection {
    background-color: var(--color-text-link);
    color: #fff;
  }

html.gift-card #header {
    text-align: center;
    padding: 3em 0;
    -webkit-animation: fadein 0.5s ease-in-out both 0.4s;
    animation: fadein 0.5s ease-in-out both 0.4s;
  }

html.gift-card .logo {
    max-width: 300px;
    display: block;
    margin: 0 auto;
  }

html.gift-card .logo img {
    max-height: 100%;
    margin: 0 auto;
  }

html.gift-card .shop-url {
    display: none;
  }

html.gift-card main {
    -webkit-animation: slideup 0.8s ease-in-out;
    animation: slideup 0.8s ease-in-out;
  }

html.gift-card #gift-card-outer-container {
    background-color: var(--color-background-contrast);
    border-radius: 4px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
    padding: 1em;
    -webkit-animation: container-slide 0.8s ease-in-out;
    animation: container-slide 0.8s ease-in-out;
  }

html.gift-card #gift-card-inner-container {
    background-color: #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    -webkit-animation: cardslide 0.8s ease-in-out;
    animation: cardslide 0.8s ease-in-out;
  }

html.gift-card #gift-card-inner-container:after {
    content: '';
    display: table;
    clear: both;
  }

html.gift-card #gift-card-header {
    border-bottom: 1px solid #f2f2f2;
    padding: 0.75em;
    display: block;
    overflow: hidden;
    position: relative;
  }

html.gift-card #gift-card-header h2 {
    float: left;
    margin: 0.12em 0;
  }

html.gift-card .tag {
    background-color: #bfbfbf;
    padding: 0.5em;
    padding-bottom: 0.35em;
    border-radius: 4px;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    line-height: 1;
  }

html.gift-card .tag.light {
    background: transparent;
    color: #bfbfbf;
    border: 1px solid #d9d9d9;
  }

html.gift-card #gift-card-header .tag {
    float: right;
  }

html.gift-card #gift-card-tofrom {
    list-style-type: none;
    padding: 1em 0.75em 0;
    margin: 0;
  }

html.gift-card #gift-card-tofrom li {
    padding: 0.5em 0;
  }

html.gift-card #gift-card-tofrom li:after {
    content: '';
    display: table;
    clear: both;
  }

html.gift-card #gift-card-tofrom h4 {
    float: left;
    width: 5em;
  }

html.gift-card #gift-card-tofrom a {
    float: left;
    font-weight: 600;
    color: #58686f;
  }

html.gift-card #gift-card-tofrom a:hover {
    color: #34aadc;
  }

html.gift-card #gift-card-holder {
    margin: 0.75em;
    margin-bottom: 1.25em;
    margin-top: 1.25em;
    position: relative;
  }

html.gift-card #gift-card-holder .corner {
    display: block;
    width: 47px;
    height: 47px;
    position: absolute;
    z-index: 2;
  }

html.gift-card #gift-card-holder .corner.top-left {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-top-left-407e052d38db02cf8ccc1d63452be868fdeec83d4c0be2fd14a4c9558d422948.png)
      0 0 no-repeat;
    top: -1px;
    left: -1px;
  }

html.gift-card .svg #gift-card-holder .corner.top-left {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-top-left-cc5e5fa342669b3ea989527fbbd6439b8adb3b6dedcb198e79cdd8d6776012c5.svg)
      0 0 no-repeat;
  }

html.gift-card .no-borderradius #gift-card-holder .corner.top-right {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-top-right-1372b088666d07754d697ce54b7f3e598ef323d836641da7f4eac80bde3c5af4.png)
      0 0 no-repeat;
    top: 0px;
    right: 0px;
    width: 7px;
    height: 7px;
  }

html.gift-card .no-borderradius #gift-card-holder .corner.bottom-left {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-bottom-left-6ba1f17732c9e039bf2d42d91d6d0776592468b4a07f06ea4e317da044d37c2a.png)
      0 0 no-repeat;
    bottom: 0px;
    left: 0px;
    width: 7px;
    height: 7px;
  }

html.gift-card #gift-card-holder .corner.bottom-right {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-bottom-right-8733072c71085ba883290401b7a9dd49ae03d6f287a9f0913dc439ac7319b7a5.png)
      0 0 no-repeat;
    bottom: -1px;
    right: -1px;
  }

html.gift-card .svg #gift-card-holder .corner.bottom-right {
    background: url(../../../../../../../../assets/themes_support/gift-card/corner-bottom-right-cc7664ee5e687c68f307b59802f08677b6333ee52a61b8e192e321854d94dc90.svg)
      0 0 no-repeat;
  }

html.gift-card #gift-card {
    position: relative;
    box-sizing: border-box;
    position: relative;
  }

html.gift-card #gift-card:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    z-index: 1;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block;
  }

html.gift-card #gift-card img {
    border-radius: 10px;
  }

html.gift-card #gift-card-code-outer {
    position: absolute;
    bottom: 1em;
    text-align: center;
    width: 100%;
  }

html.gift-card #gift-card-code-outer.medium {
    font-size: 0.875em;
  }

html.gift-card #gift-card-code-outer.small {
    font-size: 0.75em;
  }

html.gift-card #gift-card-code-inner {
    display: inline-block;
    vertical-align: baseline;
    zoom: 1;
    *display: inline;
    *vertical-align: auto;
    background-color: #fff;
    padding: 0.5em;
    border-radius: 4px;
    max-width: 450px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  }

html.gift-card .small #gift-card-code-inner {
    overflow: auto;
  }

html.gift-card #gift-card-code-inner strong {
    font-weight: 400;
    font-size: 1.875em;
    text-transform: uppercase;
    border-radius: 2px;
    border: 1px dashed #e5e5e5;
    padding: 0.4em 0.5em;
    display: inline-block;
    vertical-align: baseline;
    zoom: 1;
    *display: inline;
    *vertical-align: auto;
    line-height: 1;
  }

html.gift-card .disabled #gift-card-code-inner strong {
    color: var(--color-text-body);
    text-decoration: line-through;
  }

html.gift-card #gift-card-code-inner span + span {
    margin-left: 0.25em;
  }

html.gift-card #gift-card-amount {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: 2.75em;
    padding: 0.4em 0.5em;
  }

html.gift-card #gift-card-amount.medium {
    font-size: 2.25em;
  }

html.gift-card #gift-card-amount strong {
    text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
    display: block;
  }

html.gift-card .tooltip {
    position: relative;
  }

html.gift-card .tooltip-container {
    display: block;
    position: absolute;
    top: -100%;
    right: 50%;
    z-index: 3;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    -webkit-animation: popup 0.5s ease-in-out both 0.7s;
    animation: popup 0.5s ease-in-out both 0.7s;
    top: -50%;
    margin-top: 0.25em;
  }

html.gift-card .tooltip:hover .tooltip-container {
    display: block;
  }

html.gift-card .tooltip-triangle {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 5px solid #333;
    border-top: 5px solid rgba(51, 51, 51, 0.9);
    position: absolute;
    left: 100%;
    bottom: 0;
    margin-left: -5px;
    margin-bottom: -5px;
  }

html.gift-card .tooltip-label {
    display: block;
    position: relative;
    right: -50%;
    border: none;
    border-radius: 4px;
    background: #333;
    background: rgba(51, 51, 51, 0.9);
    min-height: 14px;
    font-weight: 400;
    font-size: 12px;
    text-decoration: none;
    line-height: 16px;
    text-shadow: none;
    padding: 0.5em 0.75em;
    margin-left: 0.25em;
  }

html.gift-card #gift-card-amount .tooltip-label {
    font-size: 0.4em;
    color: #fff;
  }

html.gift-card #gift-card-amount .tooltip-label small {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.875em;
  }

html.gift-card #gift-card-instructions {
    font-size: 0.875em;
    text-align: center;
    margin: 0 0.75em 1.5em;
  }

html.gift-card #qr-code {
    display: block;
  }

html.gift-card #apple-wallet-badge {
    margin: auto;
  }

html.gift-card #qr-code img {
    padding: 0.75em;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    margin: 0 auto 1.5em;
  }

html.gift-card #gift-card-actions {
    border-top: 1px solid var(--color-border);
    padding: 1.25em 0.75em;
    display: block;
    overflow: hidden;
  }

html.gift-card #gift-card-actions .btn {
    float: right;
  }

html.gift-card .action-link {
    font-size: 0.875em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    line-height: 1;
    padding: 1.5em 0;
  }

html.gift-card .action-link.left {
    float: left;
  }

html.gift-card .action-link.left .ico-16 {
    margin-right: 0.5em;
  }

html.gift-card .action-link .ico-16 {
    opacity: 0.25;
    transition: opacity 0.3s ease-in-out;
  }

html.gift-card .action-link:hover .ico-16 {
    opacity: 0.4;
  }

html.gift-card .ico-16 {
    display: inline-block;
    vertical-align: baseline;
    zoom: 1;
    *display: inline;
    *vertical-align: auto;
    width: 17px;
    height: 17px;
    vertical-align: bottom;
    margin-bottom: -1px;
    background-position: 0 0;
    background-repeat: no-repeat;
  }

html.gift-card .ico-16.print {
    background-image: url(../../../../../../../../assets/themes_support/gift-card/icon-print-2cc4520b4b6301df62b80ade51c8c6b154847d7b59babc350b68f168f7d07665.png);
  }

html.gift-card .svg .ico-16.print {
    background-image: url(../../../../../../../../assets/themes_support/gift-card/icon-print-fbdd8d9ad2c45349434cf82b59ac03a0d68861e6954fc80e269c0162b9bbec59.svg);
  }

html.gift-card footer[role='contentinfo'] {
    text-align: center;
    padding: 3em 0;
    -webkit-animation: fadein 0.5s ease-in-out both 0.4s;
    animation: fadein 0.5s ease-in-out both 0.4s;
  }

html.gift-card #footer-links {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: center;
    padding-bottom: 3em;
  }

html.gift-card #footer-links li {
    display: inline-block;
    vertical-align: baseline;
    zoom: 1;
    *display: inline;
    *vertical-align: auto;
  }

html.gift-card #footer-links li + li {
    margin-left: 1em;
  }

html.gift-card #footer-links li a {
    color: var(--color-text-link);
  }

html.gift-card footer[role='contentinfo'] .gift-card-icon {
    width: 45px;
    display: inline-block;
    vertical-align: baseline;
    zoom: 1;
    *display: inline;
    *vertical-align: auto;
  }

@media screen and (max-width: 580px) {
    html.gift-card body {
      font-size: 12px;
    }

    html.gift-card h2 {
      font-size: 1.5em;
    }

    html.gift-card #gift-card-outer-container {
      padding: 0.5em;
    }

    html.gift-card .tooltip-container {
      top: -65%;
    }

    html.gift-card #gift-card-actions .btn {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
      font-size: 1.125em;
    }

    html.gift-card .action-link {
      position: relative !important;
      left: auto !important;
      right: auto !important;
      top: auto !important;
      font-size: 1.125em;
      display: none;
    }

    html.gift-card .action-link + .action-link {
      margin-left: 1.5em;
    }

    html.gift-card #footer-links li {
      font-size: 1.125em;
    }
  }

@media screen and (max-width: 400px) {
    html.gift-card h2 {
      font-size: 1.25em;
    }

    html.gift-card #gift-card {
      font-size: 10px;
    }

    html.gift-card #gift-card-holder .corner {
      display: none;
    }

    html.gift-card #gift-card-holder .corner.bottom-right {
      background-position: bottom right !important;
    }

    html.gift-card #gift-card-amount strong {
      text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
    }

    html.gift-card .tooltip-container {
      top: -75%;
    }
  }

@media screen and (max-height: 800px) {
    html.gift-card .logo {
      max-height: 100px;
    }
  }

@media screen and (max-height: 750px) {
    html.gift-card .logo {
      max-height: 80px;
    }

    html.gift-card #header {
      padding: 2em 0;
    }
  }

@media print {
    @page {

html.gift-card {
      margin: 0.5cm
}
    }

    html.gift-card p,
    html.gift-card h2,
    html.gift-card h3 {
      orphans: 3;
      widows: 3;
    }

    html.gift-card h2,
    html.gift-card h3 {
      page-break-after: avoid;
    }

    html.gift-card body {
      background-color: #fff;
    }

    html.gift-card #gift-card-actions,
    html.gift-card #gift-card-holder .corner,
    html.gift-card .tooltip-container,
    html.gift-card #gift-card:before,
    html.gift-card #apple-wallet-badge {
      display: none;
    }

    html.gift-card #gift-card-amount .tooltip {
      color: #fff !important;
    }

    html.gift-card .shop-url {
      color: #7c8f97;
      display: block;
    }

    html.gift-card #gift-card-outer-container,
    html.gift-card #gift-card-inner-container,
    html.gift-card #gift-card-code-inner,
    html.gift-card #gift-card:before {
      box-shadow: none;
    }
  }

@-webkit-keyframes slideup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px) rotate(10deg);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0deg);
  }
}

@keyframes slideup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px) rotate(10deg);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0deg);
  }
}

@-webkit-keyframes popup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-10px);
  }

  80% {
    -webkit-transform: translateY(2px);
  }

  100% {
    -webkit-transform: translateY(0);
  }
}

@keyframes popup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-10px);
  }

  80% {
    -webkit-transform: translateY(2px);
  }

  100% {
    -webkit-transform: translateY(0);
  }
}

@-webkit-keyframes container-slide {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
  }
}

@keyframes container-slide {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
  }
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 100;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 100;
  }
}

.list-collections__header {
  margin-bottom: 20px;
  margin-bottom: var(--space-grid);
  border-bottom: 1px solid var(--color-border);
}

.list-collections__heading {
  margin-bottom: 20px;
  margin-bottom: var(--space-grid);
}

.page {
  --s-line-height: var(--line-height-body-base);
  --s-font-size: var(--font-size-body-base);
  --s-max-width: 600px;
}

@media (min-width: 40em) {

.page {
    --s-line-height: var(--line-height-body-large);
    --s-font-size: var(--font-size-body-large)
}
  }

.page__header {
  text-align: center;
  width: 100%;
  max-width: calc(20px * 2 + var(--s-max-width));
  max-width: calc(var(--space-outer) * 2 + var(--s-max-width));
  margin: calc(4px * 10) auto;
  margin: var(--spacing-large) auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

@media (min-width: 40em) {

.page__header {
    margin: calc(4px * 20) auto;
    margin: var(--spacing-extra-extra-large) auto
}
  }

.page__heading {
  font-size: 24px;
  font-size: var(--font-size-heading-base);
  line-height: 32px;
  line-height: var(--line-height-heading-base);
}

@media (min-width: 40em) {

.page__heading {
    font-size: 36px;
    font-size: var(--font-size-heading-x-large);
    line-height: 44px;
    line-height: var(--line-height-heading-x-large)
}
  }

.page__intro {
  font-size: var(--s-font-size);
  line-height: var(--s-line-height);
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.page__intro {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.page__rte,
.article__rte {
  width: 100%;
  max-width: calc(20px * 2 + var(--s-max-width));
  max-width: calc(var(--space-outer) * 2 + var(--s-max-width));
  margin: 0 auto calc(4px * 10) auto;
  margin: 0 auto var(--spacing-large) auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
  font-size: var(--s-font-size);
  line-height: var(--s-line-height);
}

@media (min-width: 40em) {

.page__rte,
.article__rte {
    margin: 0 auto calc(calc(4px * 10) * 3) auto;
    margin: 0 auto calc(var(--spacing-large) * 3) auto
}
  }

.page__rte .grid, .article__rte .grid {
    --s-item-gutter: 10px;

    min-width: 100%;
    padding: 0;
    margin: calc(calc(4px * 10) - var(--s-item-gutter)) 0;
    margin: calc(var(--spacing-large) - var(--s-item-gutter)) 0;
    margin-left: calc(var(--s-item-gutter) * -1);
    margin-right: calc(var(--s-item-gutter) * -1);
  }

.page__rte .grid:first-child, .article__rte .grid:first-child {
      margin-top: calc(var(--s-item-gutter) * -1);
    }

@media (min-width: 40em) {

.page__rte .grid, .article__rte .grid {
      width: 100vw;
      position: relative;
      left: 50%;
      right: 50%;
      margin-top: calc(calc(4px * 20) - var(--s-item-gutter));
      margin-top: calc(var(--spacing-extra-extra-large) - var(--s-item-gutter));
      margin-right: -50vw;
      margin-bottom: calc(
        calc(4px * 20) - var(--s-item-gutter)
      );
      margin-bottom: calc(
        var(--spacing-extra-extra-large) - var(--s-item-gutter)
      );
      margin-left: -50vw;
      padding: 0 calc(20px - var(--s-item-gutter));
      padding: 0 calc(var(--space-outer) - var(--s-item-gutter))
  }
    }

@media (min-width: 2000px) {

.page__rte .grid, .article__rte .grid {
      width: 2000px;
      width: var(--max-width);
      left: 0;
      right: 0;
      margin-left: calc(((2000px - var(--s-max-width)) / 2) * -1);
      margin-left: calc(((var(--max-width) - var(--s-max-width)) / 2) * -1);
      margin-right: 0
  }
    }

.page__rte .grid img, .article__rte .grid img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: var(--radius-corner);
    }

.page__rte .grid img + img, .article__rte .grid img + img {
      margin-top: calc(var(--s-item-gutter) * 2);
    }

.page__rte .grid > div,
    .page__rte .grid > img,
    .page__rte .grid > p,
    .article__rte .grid > div,
    .article__rte .grid > img,
    .article__rte .grid > p {
      padding: var(--s-item-gutter);
      margin: 0;
      width: 100%;
    }

.page__rte .grid .small, .article__rte .grid .small {
      width: 50%;
    }

.about__grid {
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

@media (min-width: 40em) {

.about__grid {
    margin-bottom: calc(4px * 20);
    margin-bottom: var(--spacing-extra-extra-large)
}
  }

@media (min-width: 60em) {

.about__grid {
    display: grid
}
  }

.shopify-section:not(.full-width) .about__grid {
    grid-gap: 20px;
    margin-left: 20px;
    margin-left: var(--space-outer);
    margin-right: 20px;
    margin-right: var(--space-outer);
  }

.shopify-section:not(.full-width) .about__grid .about__block {
      border-radius: var(--radius-corner);
    }

.about__grid--1 .about__block--1 {
    padding-top: 150%;
  }

@media (min-width: 60em) {

.about__grid--1 .about__block--1 {
      padding-top: 50%
  }
    }

.about__grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.about__grid--2 .about__block--1,
  .about__grid--2 .about__block--2 {
    padding-top: 100%;
  }

.about__grid--3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.about__grid--3 .about__block--1 {
    grid-row: 1/3;
    padding-top: 150%;
  }

@media (max-width: 60em) {

.about__grid--3 .about__block--2,
  .about__grid--3 .about__block--3 {
      padding-top: 75%
  }
    }

.about__grid--4 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
}

.about__grid--4 .about__block--1 {
    grid-row: 1 / span 2;
    padding-top: 120%;
  }

@media (max-width: 60em) {

.about__grid--4 .about__block--2,
  .about__grid--4 .about__block--4 {
      padding-top: 70%
  }
    }

.about__grid--4 .about__block--3 {
    grid-row: 2 / span 2;
    padding-top: 120%;
  }

.about__grid--5 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(5, 1fr);
}

.about__grid--5 .about__block--1 {
    grid-column: 1 / span 2;
    grid-row: 1 / span 3;

    padding-top: 100%;
  }

.about__grid--5 .about__block--2 {
    grid-row: 1 / span 2;
  }

@media (max-width: 60em) {

.about__grid--5 .about__block--2 {
      padding-top: 140%
  }
    }

@media (max-width: 60em) {

.about__grid--5 .about__block--3 {
      padding-top: 75%
  }
    }

.about__grid--5 .about__block--4 {
    grid-column: 1 / span 2;
    grid-row: span 2;
  }

@media (max-width: 60em) {

.about__grid--5 .about__block--4 {
      padding-top: 66%
  }
    }

.about__grid--5 .about__block--5 {
    grid-row: span 2;
  }

@media (max-width: 60em) {

.about__grid--5 .about__block--5 {
      padding-top: 135%
  }
    }

.about__block {
  position: relative;
  overflow: hidden;
  background-color: var(--color-background-meta);
}

.about__block .image,
  .about__block .placeholder-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

.about__block .image svg, .about__block .placeholder-image svg {
      width: 100%;
      height: 100%;
    }

@media (max-width: 60em) {

.shopify-section:not(.full-width) .about__block + .about__block {
      margin-top: calc(4px * 5);
      margin-top: var(--spacing-medium)
  }
    }

.about__block-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.about__block-video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact {
  --s-max-width: 600px;
}

.contact__container {
  padding: 20px;
  padding: var(--space-outer);
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 40em) and (max-width: 60em) {

.contact__container {
    align-items: flex-start
}
  }

@media (min-width: 60em) {

.contact__container {
    align-items: center
}
  }

.contact__image {
  width: 100%;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.contact__image {
    width: 50%;
    padding-right: calc(4px * 5);
    padding-right: var(--spacing-medium);
    margin-bottom: 0
}
  }

.contact__content {
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 40em) {

.contact__content {
    width: 50%;
    max-width: 570px;
    padding-left: calc(4px * 5);
    padding-left: var(--spacing-medium)
}
  }

.contact__heading + .contact__text {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

@media (min-width: 40em) {

.contact__heading + .contact__text {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.contact__form {
  margin: 0 auto;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.contact__form {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large);
    margin-bottom: 0
}
  }

.contact__form .input {
    margin-bottom: calc(4px * 3);
    margin-bottom: var(--spacing-small);
  }

.contact__success {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.password {
  text-align: center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.password__login-button {
  position: fixed;
  top: 20px;
  top: var(--space-outer);
  right: 20px;
  right: var(--space-outer);
}

.password__heading {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

.password__content {
  width: 100%;
  max-width: 500px;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

.password:not(.welcome) .password__content[data-content='default'] {
    display: none;
  }

.password:not(.welcome) .lock {
    display: none;
  }

.password.welcome .password__content[data-content='login'] {
    display: none;
  }

.password.welcome .close {
    display: none;
  }

.password__login-heading {
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
}

.password__subheading {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  margin-bottom: calc(4px * 8);
  margin-bottom: calc(var(--spacing-unit) * 8);
}

.password__text {
  margin-top: calc(4px * 8);
  margin-top: calc(var(--spacing-unit) * 8);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.password__notify-form,
.password__login-form {
  display: flex;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.password__notify-form .input, .password__login-form .input {
    margin-right: 20px;
  }

.password__notify-form .btn, .password__login-form .btn {
    flex-shrink: 0;
  }

.errors {
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 24px;
  line-height: var(--line-height-body-base);
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
  color: var(--color-text-error);
}

.errors ul {
    margin: 0;
    padding: 0;
  }

.errors li {
    list-style: none;
  }

.password__success {
  opacity: 0.75;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.password__share {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

/*
  We don't have access to change the markup
  so we just want to make this match the default
  page template as close as possible.
*/

.page .shopify-policy__container {
    width: 100%;
    max-width: calc(20px * 2 + var(--s-max-width));
    max-width: calc(var(--space-outer) * 2 + var(--s-max-width));
    margin: 0 auto calc(4px * 10) auto;
    margin: 0 auto var(--spacing-large) auto;
    padding: 0 20px;
    padding: 0 var(--space-outer);
  }

@media (min-width: 40em) {

.page .shopify-policy__container {
      margin: 0 auto calc(calc(4px * 10) * 3) auto;
      margin: 0 auto calc(var(--spacing-large) * 3) auto
  }
    }

.page .shopify-policy__title {
    text-align: center;
    width: 100%;
    margin: calc(4px * 10) auto;
    margin: var(--spacing-large) auto;
  }

@media (min-width: 40em) {

.page .shopify-policy__title {
      margin: calc(4px * 20) auto;
      margin: var(--spacing-extra-extra-large) auto
  }
    }

.page .shopify-policy__title h1 {
      font-family: var(--font-heading);
      font-weight: var(--font-heading-weight);
      font-style: var(--font-heading-style);
      font-size: 24px;
      font-size: var(--font-size-heading-base);
      line-height: 32px;
      line-height: var(--line-height-heading-base);
      color: var(--color-text-heading);
    }

@media (min-width: 40em) {

.page .shopify-policy__title h1 {
        font-size: 36px;
        font-size: var(--font-size-heading-x-large);
        line-height: 44px;
        line-height: var(--line-height-heading-x-large)
    }
      }

.page .shopify-policy__body {
    font-size: var(--s-font-size);
    line-height: var(--s-line-height);
  }

.product .mobile-carousel__pagination {
    left: 0;
    right: 0;
  }

.product__content {
  width: 100%;
}

@media (min-width: 40em) {

.product__content {
    display: flex;
    align-items: flex-start;
    flex-wrap: no-wrap;
    display: grid
}
  }

@media (min-width: 40em) and (max-width: 60em) {

.product__content {
    grid-template-columns: 50% 50%
}
  }

@media (min-width: 60em) {

.product__content {
    grid-template-columns: calc((2 / 3) * 100%) calc((1 / 3) * 100%)
}
  }

.product__media-container {
  width: 100%;
  flex-shrink: 0;
}

@media (min-width: 40em) {

.shopify-section:not(.full-width) .product__media-container {
      width: calc(100% + 5px)
  }
    }

.shopify-section.full-width .product__media-container {
    margin-top: -20px;
  }

@media (min-width: 40em) {

.shopify-section.full-width .product__media-container {
      margin-left: -40px;
      margin-top: -40px;
      padding-right: 10px
  }
    }

@media (min-width: 40em) and (max-width: 60em) {

.shopify-section.full-width .product__media-container {
      width: calc(100% + 45px)
  }
    }

@media (min-width: 60em) {

.shopify-section.full-width .product__media-container {
      width: calc(100% + 45px)
  }
    }

.product__media-container .flickity-viewport {
    transition: height 0.25s;
  }

.product__media {
  width: 100vw;
  margin-left: -20px;
  padding: 0 20px;
  overflow: hidden;
}

.product__media:after {
    content: 'flickity';
    display: none;
  }

@media (min-width: 40em) {

.product__media {
    width: auto;
    padding: 0;
    margin-left: 0
}

    .product__media:after {
      content: '';
    }
  }

@media (min-width: 40em) {

.shopify-section:not(.full-width) .product__media {
      margin-left: -10px
  }
    }

.product__media .flickity-viewport {
    overflow: visible;
  }

@media (min-width: 40em) {

.product__media--grid {
    display: flex;
    flex-wrap: wrap
}

    .product__media--grid .product__media-item {
      width: 50%;
    }
  }

.product__media-item {
  width: calc(100vw - 20px);
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
}

@media (max-width: 40em) {
    .shopify-section.full-width .product__media-item {
      width: 100vw;
      padding: 0;
    }
  }

@media (min-width: 40em) {

.product__media-item {
    width: 100%;
    margin-bottom: 20px;
    margin-bottom: var(--space-grid)
}

    .shopify-section.full-width .product__media-item {
      padding: 0;
      margin-bottom: 0;
    }

    .product__media-item:last-of-type {
      margin-bottom: 0;
    }
  }

.product__details {
  width: 100%;
  min-width: 280px;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (max-width: 40em) {

.product__details {
    padding: 0
}
  }

@media (min-width: 40em) {

.product__details {
    flex-shrink: 1;
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large);
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(20px - 10px);
    padding-left: calc(var(--space-outer) - var(--space-inline-element));
    padding-right: 0;
    max-width: 480px;
    position: -webkit-sticky;
    position: sticky;
    top: calc(20px + var(--height-header));
    top: calc(var(--space-outer) + var(--height-header))
}
  }

.product__vendor {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.product__price {
  margin-top: 4px;
  margin-top: var(--spacing-unit);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.product__price s {
    /* TODO use proper text colour */
    opacity: 0.5;
  }

@media (min-width: 40em) {

.product__price {
    margin-bottom: calc(4px * 10);
    margin-bottom: var(--spacing-large)
}
  }

.product__view-in-space {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  display: none;
}

.product__view-in-space.visible {
    display: flex;
  }

.product__view-in-space > span {
    display: flex;
    align-items: center;
  }

.product__view-in-space .icon {
    margin-right: calc(4px * 2);
    margin-right: var(--spacing-extra-small);
  }

.product-single__description + .product__share {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.search {
  width: 100%;
  max-width: calc(20px * 2 + 600px);
  max-width: calc(var(--space-outer) * 2 + var(--max-width-small-page));
  margin: 0 auto calc(4px * 10) auto;
  margin: 0 auto var(--spacing-large) auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

@media (min-width: 40em) {

.search {
    margin: 0 auto calc(4px * 20) auto;
    margin: 0 auto var(--spacing-extra-extra-large) auto
}
  }

.search__form {
  width: 100%;
  max-width: 80%;
  display: flex;
  align-items: center;
  margin: calc(calc(4px * 5) * -1) auto calc(4px * 12) auto;
  margin: calc(var(--spacing-medium) * -1) auto var(--spacing-extra-large) auto;
}

@media (min-width: 40em) {

.search__form {
    margin: calc(calc(4px * 10) * -1) auto
      calc(4px * 20) auto;
    margin: calc(var(--spacing-large) * -1) auto
      var(--spacing-extra-extra-large) auto
}
  }

.search__no-results {
  margin-bottom: calc(4px * 12);
  margin-bottom: var(--spacing-extra-large);
}

.search__submit {
  /* Optical horizontal alignment of search button inside input */
  margin-left: -47px;
}

.search__results {
  width: 100%;
  margin: 0;
  padding: 0;
}

.search__result {
  display: flex;
  align-items: center;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
  padding: 0;
  list-style: none;
}

@media (min-width: 40em) {

.search__result {
    margin-bottom: calc(4px * 10);
    margin-bottom: var(--spacing-large)
}
  }

.search__result-image {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-shrink: 0;
  background-color: var(--color-background-meta);
  color: var(--color-foreground-meta);
  position: relative;
  overflow: hidden;
  margin-right: calc(4px * 5);
  margin-right: var(--spacing-medium);
}

@media (min-width: 40em) {

.search__result-image {
    width: 140px;
    height: 140px
}
  }

.search__result-image .image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

.search__result-content {
  flex-shrink: 1;
  padding-right: calc(4px * 5);
  padding-right: var(--spacing-medium);
  overflow: hidden;
}

.search__result-heading {
  margin-bottom: 4px;
  margin-bottom: var(--spacing-unit);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.account {
  width: 100%;
  max-width: calc(1000px + 20px);
  max-width: calc(1000px + var(--space-outer));
  margin: 20px auto calc(4px * 20) auto;
  margin: var(--space-outer) auto var(--spacing-extra-extra-large) auto;
}

.account__container {
  margin: 20px auto;
  margin: var(--space-outer) auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

.account__breadcrumbs {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

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

.account__header {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  margin-bottom: calc(4px * 12);
  margin-bottom: var(--spacing-extra-large);
  text-align: center;
}

@media (min-width: 40em) {

.account__header {
    margin-top: 0;
    margin-bottom: calc(4px * 14);
    margin-bottom: calc(var(--spacing-unit) * 14)
}
  }

.account__heading {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

@media (min-width: 40em) {

.account__heading {
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium)
}
  }

.account__logout {
  display: inline-block;
  font-style: italic;
  margin-left: calc(4px * 2);
  margin-left: var(--spacing-extra-small);
}

.account__messages {
  margin-bottom: calc(4px * 10);
  margin-bottom: var(--spacing-large);
  width: 100%;
}

.account__message {
  background-color: var(--color-text-body-transparent);
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
}

.account__message + .account__message {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
  }

.account__sections {
  margin: 0;
}

@media (max-width: 40em) {

.account__main {
    margin-left: calc(20px * -1);
    margin-left: calc(var(--space-outer) * -1);
    margin-right: calc(20px * -1);
    margin-right: calc(var(--space-outer) * -1)
}
  }

.account__top {
  text-align: center;
  margin-bottom: calc(4px * 12);
  margin-bottom: var(--spacing-extra-large);
}

@media (min-width: 40em) {

.account__top {
    margin-bottom: calc(4px * 14);
    margin-bottom: calc(var(--spacing-unit) * 14)
}
  }

.account__scrollable {
  margin: 0;
  overflow-x: scroll;
}

@media (max-width: 40em) {

.account__scrollable {
    padding-left: calc(4px * 5);
    padding-left: var(--spacing-medium)
}
  }

@media (min-width: 60em) {

.account__scrollable {
    margin: 0;
    padding: 0;
    overflow-x: auto
}
  }

.account__cta-wrap {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

.account__col + .account__col {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large);
  }

.account__col-heading {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.account__table {
  width: 100%;
  border-collapse: collapse;
}

@media (max-width: 40em) {

.account__table {
    /* Prevent cells from bunching up too much */
    min-width: 760px
}
  }

.account__table s {
    opacity: 0.5;
  }

.account__table tr {
    padding: 0;
  }

.account__table th {
    font-weight: var(--font-meta-weight);
    font-style: var(--font-meta-style);
    padding: 0 calc(4px * 5) calc(4px * 5) calc(4px * 5);
    padding: 0 var(--spacing-medium) var(--spacing-medium) var(--spacing-medium);
    border-bottom: 1px solid var(--color-border);
    white-space: nowrap;
  }

.account__table td {
    padding: calc(4px * 5);
    padding: var(--spacing-medium);
    border-bottom: 1px solid var(--color-border);
    white-space: nowrap;
  }

.account__table--expanded th,
    .account__table--expanded td {
      padding: calc(4px * 10);
      padding: var(--spacing-large);
    }

.account__table--expanded th {
      padding-top: 0;
      padding-bottom: calc(4px * 5);
      padding-bottom: var(--spacing-medium);
    }

.account__table td:first-of-type,
  .account__table th:first-of-type {
    padding-left: 0;
  }

.account__table td:last-of-type,
  .account__table th:last-of-type {
    padding-right: 0;
  }

@media (max-width: 40em) {

.account__table td:last-of-type,
  .account__table th:last-of-type {
      padding-right: calc(4px * 5);
      padding-right: var(--spacing-medium)
  }
    }

/* Order totals */

.account__table--summary {
  width: 100%;
  min-width: 0px;
}

@media (min-width: 40em) {

.account__table--summary {
    max-width: 400px;
    margin-left: auto
}
  }

.account__table--summary td:last-of-type {
    padding-right: 0;
  }

.account__my-orders-heading {
  padding-bottom: calc(4px * 5);
  padding-bottom: var(--spacing-medium);
  border-bottom: 1px solid var(--color-border);
}

.account__no-orders {
  padding: calc(4px * 10) 0;
  padding: var(--spacing-large) 0;
  border-bottom: 1px solid var(--color-border);
}

.addresses__modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1200;
  z-index: var(--z-index-modal);
  justify-content: space-around;
  display: none;
  overflow-y: scroll;
}

.addresses__modal.active {
  display: block;
}

.addresses__modal.visible .addresses__overlay {
    opacity: 0.6;
  }

.addresses__modal.visible .addresses__content {
    opacity: 1;
    transform: translateY(0);
  }

.addresses__overlay {
  background-color: var(--color-overlay);
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  cursor: pointer;
  transition: opacity 0.35s;
}

.addresses__content {
  background-color: var(--color-background);
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  margin: 10vh auto 10vh auto;
  width: 90vw;
  max-width: 500px;
  z-index: 10;

  transition: opacity 0.35s, transform 0.35s;
  opacity: 0;
  transform: translateY(calc(4px * 5));
  transform: translateY(var(--spacing-medium));
}

.addresses__content .input + .input,
  .addresses__content .input + div,
  .addresses__content div + .input {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small);
  }

.addresses__modal-heading {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.addresses__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

.addresses__list + .pagination {
    margin-top: 10px;
    margin-top: var(--space-inline-element);
  }

.addresses__item-wrapper {
  padding: 10px;
  padding: var(--space-inline-element);
  width: 100%;
}

@media (min-width: 40em) and (max-width: 60em) {

.addresses__item-wrapper {
    width: 50%
}
  }

@media (min-width: 60em) {

.addresses__item-wrapper {
    width: calc(1 / 3 * 100%)
}
  }

.addresses__item {
  border: 1px solid var(--color-border);
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.addresses__item ul {
    margin: calc(4px * 3) 0 0 0;
    margin: var(--spacing-small) 0 0 0;
    padding: 0;
  }

.addresses__item li {
    list-style: none;
    display: inline-block;
  }

.addresses__item li + li {
      margin-left: calc(4px * 3);
      margin-left: var(--spacing-small);
    }

.addresses__checkbox-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.addresses__checkbox-wrapper label {
    margin-left: calc(4px * 2);
    margin-left: var(--spacing-extra-small);
    cursor: pointer;
  }

.addresses__cancel {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

.login {
  text-align: center;
}

.login__success {
  padding: calc(4px * 3);
  padding: var(--spacing-small);
  display: none;
}

.login__success.visible {
    display: block;
  }

.login__error {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.login__main {
  width: 100%;
  max-width: 440px;
  margin: 12vh auto;
  padding: 0 20px;
  padding: 0 var(--space-outer);
}

.login__main.hide {
    display: none;
  }

.login__main .input {
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
  }

.login__heading {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.login__heading {
    margin-bottom: calc(4px * 10);
    margin-bottom: var(--spacing-large)
}
  }

.login__subheading {
  margin-top: calc(calc(4px * 3) * -1);
  margin-top: calc(var(--spacing-small) * -1);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.login__subheading {
    margin-top: calc(calc(4px * 5) * -1);
    margin-top: calc(var(--spacing-medium) * -1);
    margin-bottom: calc(4px * 10);
    margin-bottom: var(--spacing-large)
}
  }

.login__links {
  margin: calc(4px * 5) 0 0 0;
  margin: var(--spacing-medium) 0 0 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

.login__links li {
    list-style: none;
  }

.login__links li + li:before {
        content: '/';
        padding: calc(4px * 3);
        padding: var(--spacing-small);
      }

.order__product {
  display: flex;
  align-items: center;
}

.order__product ul {
    margin: 0;
    padding: 0;
  }

.order__product li {
    list-style: none;
  }

.order__image {
  position: relative;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  background-color: var(--color-background-meta);
  margin-right: calc(4px * 10);
  margin-right: var(--spacing-large);
}

.order__image .image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

.account__order-summary {
  width: 100%;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.account__order-summary {
    max-width: 400px
}
  }

.account__order-summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.account__order-summary-item + .account__order-summary-item:not(.account__order-summary-item--total) {
    margin-top: 4px;
    margin-top: var(--spacing-unit);
  }

.account__order-summary-item--total {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
  padding-top: calc(4px * 3);
  padding-top: var(--spacing-small);
  border-top: 1px solid var(--color-border);
}

.account__order-footer {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

@media (min-width: 40em) {

.account__order-footer {
    margin-left: calc(10px * -1);
    margin-left: calc(var(--space-inline-element) * -1);
    margin-right: calc(10px * -1);
    margin-right: calc(var(--space-inline-element) * -1);
    flex-direction: row-reverse;
    flex-wrap: nowrap
}
  }

.account__order-addresses {
  width: 100%;
}

.account__order-footer-col {
  width: 100%;
}

@media (max-width: 40em) {
    .account__order-footer-col + .account__order-footer-col {
      margin-top: calc(4px * 10);
      margin-top: var(--spacing-large);
    }
  }

@media (min-width: 40em) {

.account__order-footer-col {
    padding: 0 10px;
    padding: 0 var(--space-inline-element)
}
  }

@media (min-width: 40em) and (max-width: 60em) {

.account__order-footer-col {
    width: calc(1 / 3 * 100%)
}
  }

@media (min-width: 60em) {

.account__order-footer-col {
    width: calc(1 / 4 * 100%)
}
  }

.account__order-footer-col--summary {
  margin-left: auto;
  flex-grow: 1;
}

@media (min-width: 40em) {

.account__order-footer-col--summary {
    max-width: 400px
}
  }

.account__order-status {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

/* Required content sections */

.blog-posts {
  overflow: hidden;
}

.blog-posts__wrapper {
  position: relative;
}

.blog-posts__grid {
  margin-top: calc(20px * -1);
  margin-top: calc(var(--space-grid) * -1);
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.blog-posts__grid {
    display: flex;
    flex-wrap: wrap
}
  }

.blog-posts__item {
  /* background-color: cyan; */
  width: 100%;
  padding-left: 10px;
  padding-left: var(--space-inline-element);
  padding-right: 10px;
  padding-right: var(--space-inline-element);
  margin-top: 20px;
  margin-top: var(--space-grid);
}

@media (min-width: 40em) {
    .blog-posts__item--2 {
      width: 50%;
    }

    .blog-posts__item--3 {
      width: calc(1 / 3 * 100%);
    }

    .blog-posts__item--4 {
      width: 25%;
    }
  }

.blog-posts__item-image {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

@media (min-width: 40em) {

.blog-posts__item-image {
    margin-bottom: 20px;
    margin-bottom: var(--space-grid)
}
  }

.blog-posts__item-excerpt {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
  margin-bottom: 0;
}

@media (min-width: 40em) {

.blog-posts__item-excerpt {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small)
}
  }

.blog-posts__item-excerpt a {
    opacity: 0.7;
    transition: opacity 0.25s;
  }

.blog-posts__item-excerpt a:hover {
      opacity: 0.25;
    }

.carousel {
  position: relative;
}

.carousel .mobile-carousel__pagination {
    display: flex;
    left: 0;
    right: 0;
  }

.carousel__slides {
  position: relative;
  height: var(--height-carousel-mobile);
}

@media (min-width: 40em) {

.carousel__slides {
    height: var(--height-carousel)
}
  }

.carousel__slide {
  width: calc(100vw - calc(calc(4px * 5) * 2));
  width: calc(100vw - calc(var(--spacing-medium) * 2));
  height: 100%;
  padding: 0 calc(calc(4px * 5) / 2);
  padding: 0 calc(var(--spacing-medium) / 2);
}

@media (min-width: 40em) {

.carousel__slide {
    width: calc(8 / 12 * 100%)
}
  }

.carousel__slide-content {
  position: relative;
  height: 100%;
}

.carousel__slide-content .block-overlay {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

.carousel__slide-content .placeholder-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

.carousel__slide-content .placeholder-image svg {
      width: 100%;
      height: 100%;
    }

.carousel__slide-content:not(.carousel__slide-content--first) .carousel__image {
    padding: 0;
    height: 100%;
  }

@media (max-width: 40em) {
    .carousel__slide-content--first .carousel__image {
      padding: 0;
      height: 100%;
    }
  }

@media (min-width: 60em) {

.collage__grid {
    display: grid
}
  }

.shopify-section:not(.full-width) .collage__grid {
    grid-gap: 20px;
  }

.collage__grid--1 .collage__block--1 {
    padding-top: 150%;
  }

@media (min-width: 60em) {

.collage__grid--1 .collage__block--1 {
      padding-top: 50%
  }
    }

.collage__grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.collage__grid--2 .collage__block--1,
  .collage__grid--2 .collage__block--2 {
    padding-top: 100%;
  }

.collage__grid--3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.collage__grid--3 .collage__block--1 {
    grid-row: 1/3;
    padding-top: 150%;
  }

@media (max-width: 60em) {

.collage__grid--3 .collage__block--2,
  .collage__grid--3 .collage__block--3 {
      padding-top: 75%
  }
    }

.collage__grid--4 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
}

.collage__grid--4 .collage__block--1 {
    grid-row: 1 / span 2;
    padding-top: 120%;
  }

@media (max-width: 60em) {

.collage__grid--4 .collage__block--2,
  .collage__grid--4 .collage__block--4 {
      padding-top: 70%
  }
    }

.collage__grid--4 .collage__block--3 {
    grid-row: 2 / span 2;
    padding-top: 120%;
  }

.collage__grid--5 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(5, 1fr);
}

.collage__grid--5 .collage__block--1 {
    grid-column: 1 / span 2;
    grid-row: 1 / span 3;

    padding-top: 100%;
  }

.collage__grid--5 .collage__block--2 {
    grid-row: 1 / span 2;
  }

@media (max-width: 60em) {

.collage__grid--5 .collage__block--2 {
      padding-top: 140%
  }
    }

@media (max-width: 60em) {

.collage__grid--5 .collage__block--3 {
      padding-top: 75%
  }
    }

.collage__grid--5 .collage__block--4 {
    grid-column: 1 / span 2;
    grid-row: span 2;
  }

@media (max-width: 60em) {

.collage__grid--5 .collage__block--4 {
      padding-top: 66%
  }
    }

.collage__grid--5 .collage__block--5 {
    grid-row: span 2;
  }

@media (max-width: 60em) {

.collage__grid--5 .collage__block--5 {
      padding-top: 135%
  }
    }

.collage__block {
  position: relative;
  overflow: hidden;
}

.collage__block .image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

@media (max-width: 60em) {

.shopify-section:not(.full-width) .collage__block + .collage__block {
      margin-top: calc(4px * 5);
      margin-top: var(--spacing-medium)
  }
    }

.collage__block-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.collage__block-video {
  position: absolute;
  /* z-index: 1; */
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.collection-list {
  overflow: hidden;
}

.collection-list__wrapper {
  position: relative;
}

.collection-list__grid {
  margin-top: calc(20px * -1);
  margin-top: calc(var(--space-grid) * -1);
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.collection-list__grid {
    display: flex;
    flex-wrap: wrap
}
  }

.collection-list__item {
  padding-left: 10px;
  padding-left: var(--space-inline-element);
  padding-right: 10px;
  padding-right: var(--space-inline-element);
  width: 50%;
  margin-top: 20px;
  margin-top: var(--space-grid);
}

@media (min-width: 40em) {
    .collection-list__item--2 {
      width: 50%;
    }

    .collection-list__item--3 {
      width: calc(1 / 3 * 100%);
    }

    .collection-list__item--4 {
      width: 25%;
    }
  }

.featured-collection {
  overflow: hidden;
}

.featured-collection .grid {
    display: block;
  }

.featured-collection .grid:after {
      content: 'flickity';
      display: none;
    }

@media (min-width: 40em) {

.featured-collection .grid {
      display: flex
  }

      .featured-collection .grid:after {
        content: '';
      }
    }

.featured-collection .grid .flickity-viewport {
      overflow: visible;
    }

.featured-collection__wrapper {
  position: relative;
}

.featured-product {
  width: 100%;
}

@media (min-width: 40em) {

.featured-product {
    display: flex;
    align-items: flex-start;
    flex-wrap: no-wrap
}
  }

.shopify-section:not(.full-width) .featured-product.contrast {
    border-radius: var(--radius-corner);
    overflow: hidden;
  }

.shopify-section:not(.full-width) .featured-product:not(.contrast) .image,
    .shopify-section:not(.full-width) .featured-product:not(.contrast) .placeholder-image {
      border-radius: var(--radius-corner);
      overflow: hidden;
    }

.featured-product__media-container {
  width: 100%;
}

@media (min-width: 40em) {

.featured-product__media-container {
    margin: 0;
    /* 5px extra because it spans multiple columns */
    width: calc(calc(2 / 3 * 100%) + 5px)
}

    .shopify-section.full-width .featured-product__media-container {
      width: calc(calc(2 / 3 * 100%) + 45px);
    }
  }

.featured-product__media {
  width: 100%;
  display: none;
}

.featured-product__media.visible {
    display: block;
  }

.featured-product__media .media__image {
    pointer-events: none;
  }

.featured-product__details {
  width: 100%;
  min-width: 280px;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (max-width: 40em) {

.featured-product__details {
    padding: 0
}

    .shopify-section.full-width .featured-product__details {
      padding: 0 calc(4px * 5);
      padding: 0 var(--spacing-medium);
    }
  }

@media (min-width: 40em) {

.featured-product__details {
    flex-shrink: 1;
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large);
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(20px);
    padding-left: calc(var(--space-outer));
    padding-right: 0;
    max-width: 480px;
    position: -webkit-sticky;
    position: sticky;
    top: calc(20px + var(--height-header));
    top: calc(var(--space-outer) + var(--height-header))
}
  }

.shopify-section.full-width .featured-product__details {
    padding: calc(4px * 5) 20px;
    padding: var(--spacing-medium) var(--space-outer);
  }

.contrast .featured-product__details {
    padding: calc(4px * 5) 20px;
    padding: var(--spacing-medium) var(--space-outer);
    padding-bottom: 20px !important;
    padding-bottom: var(--space-outer) !important;
  }

.featured-products {
  position: relative;
}

@media (min-width: 40em) {

.featured-products {
    display: flex;
    align-items: center
}
  }

.shopify-section.full-width .featured-products {
    overflow: hidden;
  }

@media (min-width: 40em) {

.featured-products--right {
    flex-direction: row-reverse
}
  }

.contrast .featured-products__block + .featured-products__block {
    border-color: var(--color-border-contrast);
  }

.featured-products__image {
  width: 100%;
  align-self: stretch;
}

@media (min-width: 40em) {

.featured-products__image {
    width: 50%
}
  }

.featured-products__content {
  width: 100%;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
}

@media (max-width: 40em) {

.shopify-section:not(.full-width) .featured-products:not(.contrast) .featured-products__content {
      /*
        Optically the extra space between this section
        and the next section should be okay.
      */
      padding: calc(4px * 5) 0 0 0;
      padding: var(--spacing-medium) 0 0 0
  }
    }

@media (min-width: 40em) {

.featured-products__content {
    width: 50%;
    text-align: center
}
  }

@media (min-width: 60em) {

.featured-products__content {
    padding: calc(4px * 10);
    padding: var(--spacing-large)
}
  }

.featured-products__heading + .featured-products__subheading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.featured-products__heading + .featured-products__subheading {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.featured-products__blocks {
  display: none;
}

@media (min-width: 40em) {

.featured-products__blocks {
    display: flex;
    justify-content: center;
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}
  }

.featured-products__block {
  width: 70%;
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 40em) {

.featured-products__block {
    width: 100%
}
  }

@media (min-width: 60em) {

.featured-products__block {
    max-width: 300px
}
  }

.featured-products__block + .featured-products__block {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
    border-top: 1px solid var(--color-border);
  }

@media (min-width: 40em) {

.featured-products__block + .featured-products__block {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
      border-left: 1px solid var(--color-border)
  }
    }

.featured-products__product-image {
  width: 100%;
  max-width: 85px;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.featured-products__slider {
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.featured-products__slider {
    display: none
}
  }

.featured-products__slide {
  width: 50%;
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
}

/*
  This exists to maintain vertical positioning when
  the section is set to 'contrast' and the global 'full-width'
  setting is not enabled.
*/

.featured-products__relative {
  position: relative;
}

.shopify-section:not(.full-width) .contrast .featured-products__relative .featured-products__slider {
      position: static;
      overflow: hidden;
      margin-left: calc(calc(4px * 5) * -1);
      margin-left: calc(var(--spacing-medium) * -1);
      margin-right: calc(calc(4px * 5) * -1);
      margin-right: calc(var(--spacing-medium) * -1);
      padding: 0 calc(4px * 3);
      padding: 0 var(--spacing-small);
    }

.shopify-section:not(.full-width) .contrast .featured-products__relative .featured-products__slider .mobile-carousel__pagination {
        left: calc(calc(4px * 10) * -1);
        left: calc(var(--spacing-large) * -1);
        right: calc(calc(4px * 10) * -1);
        right: calc(var(--spacing-large) * -1);
      }

.featured-products__button {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.featured-products__button {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}
  }

.gallery {
  overflow: hidden;
}

.gallery__rectangle-row {
  position: relative;
  margin-top: calc(calc(4px * 3) * -1);
  margin-top: calc(var(--spacing-small) * -1);
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.gallery__rectangle-row {
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(calc(4px * 5) * -2);
    margin-top: calc(var(--spacing-medium) * -2)
}
  }

.gallery__rectangle {
  width: 100%;
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
}

@media (min-width: 40em) {

.gallery__rectangle {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}

    .gallery__rectangle--2 {
      width: 50%;
    }

    .gallery__rectangle--3 {
      width: calc(1 / 3 * 100%);
    }

    .gallery__rectangle--4 {
      width: 25%;
    }
  }

@media (min-width: 40em) and (max-width: 60em) {
    .gallery__rectangle--4 {
      width: 50%;
    }
  }

.gallery__image {
  display: block;
  position: relative;
}

.gallery__image svg {
    display: block;
  }

.gallery__image--square svg, .gallery__image--landscape svg, .gallery__image--portrait svg {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

.gallery__image--square > .image,
  .gallery__image--square > .placeholder-image {
    padding-top: 100%;
  }

.gallery__image--landscape > .image,
  .gallery__image--landscape > .placeholder-image {
    padding-top: calc((2 / 3) * 100%);
  }

.gallery__image--portrait > .image,
  .gallery__image--portrait > .placeholder-image {
    padding-top: calc((3 / 2) * 100%);
  }

.gallery__caption {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

@media (min-width: 40em) {

.gallery__caption {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.gallery__caption p {
    display: inline;
  }

.gallery__caption a {
    transition: opacity 0.25s;
  }

.gallery__caption a:hover {
      opacity: 0.5;
    }

.image-with-text {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

@media (min-width: 40em) {

.image-with-text--p-right {
      flex-direction: row-reverse
  }
    }

@media (min-width: 40em) {

.image-with-text {
    flex-wrap: no-wrap
}
  }

.image-with-text__text {
  width: 100%;
  padding-top: calc(4px * 5);
  padding-top: var(--spacing-medium);
}

.full-width .image-with-text__text {
    padding: 20px;
    padding: var(--space-outer);
  }

@media (min-width: 40em) {

.image-with-text__text {
    width: 50%;
    padding: calc(4px * 10);
    padding: var(--spacing-large)
}
  }

@media (min-width: 40em) {

.image-with-text--w-larger .image-with-text__text {
      width: 40%
  }
    }

@media (min-width: 40em) {

.image-with-text--p-right .image-with-text__text {
      padding-top: calc(4px * 10);
      padding-top: var(--spacing-large);
      padding-right: calc(4px * 10);
      padding-right: var(--spacing-large);
      padding-bottom: calc(4px * 10);
      padding-bottom: var(--spacing-large);
      padding-left: 0
  }

      .full-width .image-with-text--p-right .image-with-text__text {
        padding-left: calc(4px * 10);
        padding-left: var(--spacing-large);
      }
    }

.image-with-text__content {
  width: 100%;
}

@media (min-width: 40em) {

.image-with-text__content {
    max-width: var(--max-width-content)
}
  }

.image-with-text.contrast .image-with-text__text {
    padding: 20px;
    padding: var(--space-outer);
  }

.image-with-text__image {
  width: 100%;
  position: relative;
  align-self: stretch;
}

@media (min-width: 40em) {

.image-with-text__image {
    width: 50%
}

    .image-with-text--w-larger .image-with-text__image {
      width: 60%;
    }
  }

.image-with-text__image video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

.image-with-text__image--present video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

.image-with-text__subheading a {
    color: var(--color-text-link);
    transition: opacity 0.25s;
  }

.image-with-text__subheading a:hover {
      opacity: 0.5;
    }

.contrast .image-with-text__subheading a {
      color: var(--color-text-link-contrast);
    }

.image-with-text__heading + .image-with-text__subheading {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

@media (min-width: 40em) {

.image-with-text__heading + .image-with-text__subheading {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.image-with-text__button {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.image-with-text__button {
    margin-top: calc(4px * 8);
    margin-top: calc(var(--spacing-unit) * 8)
}
  }

@media (min-width: 40em) {

.map {
    display: flex;
    align-items: center
}
  }

@media (min-width: 40em) {

.map--right {
    flex-direction: row-reverse
}
  }

.contrast .map__block + .map__block {
    border-color: var(--color-border-contrast);
  }

.map__image {
  width: 100%;
  align-self: stretch;
}

@media (min-width: 40em) {

.map__image {
    width: 50%
}
  }

.map__content {
  text-align: center;
  width: 100%;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
}

@media (max-width: 40em) {

.map:not(.contrast) .map__content {
      /*
        Optically the extra space between this section
        and the next section should be okay.
      */
      padding: calc(4px * 5) 0;
      padding: var(--spacing-medium) 0
  }
    }

@media (min-width: 40em) {

.map__content {
    width: 50%
}
  }

@media (min-width: 60em) {

.map__content {
    padding: calc(4px * 10);
    padding: var(--spacing-large)
}
  }

.map__heading + .map__subheading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.map__heading + .map__subheading {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.map__blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.map__blocks {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}
  }

.map__block {
  width: 70%;
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
}

@media (min-width: 40em) {

.map__block {
    width: 50%
}
  }

@media (min-width: 60em) {

.map__block {
    max-width: 300px
}
  }

.map__block + .map__block {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
    border-top: 1px solid var(--color-border);
  }

@media (min-width: 40em) {

.map__block + .map__block {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
      border-left: 1px solid var(--color-border)
  }
    }

.map__block-heading + .map__block-subheading {
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

@media (min-width: 40em) {

.map__block-heading + .map__block-subheading {
    margin-top: calc(4px * 4);
    margin-top: calc(var(--spacing-unit) * 4)
}
  }

.map__button {
  margin-top: calc(4px * 10);
  margin-top: var(--spacing-large);
}

.newsletter__subheading {
  max-width: var(--max-width-subheading);
}

.newsletter__subheading + .newsletter__form {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.newsletter__success {
  opacity: 0.75;
}

.input.newsletter__input {
  padding: 0;
  font-size: 16px;
  font-size: var(--font-size-body-large);
  line-height: 28px;
  line-height: var(--line-height-body-large);
  height: auto;
  border: none;
}

@media (min-width: 40em) {

.input.newsletter__input {
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base)
}
  }

.recommended-products {
  overflow: hidden;
}

.recommended-products__grid {
  margin-top: calc(20px * -1);
  margin-top: calc(var(--space-grid) * -1);
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.recommended-products__grid {
    display: flex;
    flex-wrap: wrap
}
  }

.recommended-products__product {
  width: 100%;
  padding-left: 10px;
  padding-left: var(--space-inline-element);
  padding-right: 10px;
  padding-right: var(--space-inline-element);
  margin-top: 20px;
  margin-top: var(--space-grid);
}

@media (min-width: 40em) {
    .recommended-products__product--2 {
      width: 50%;
    }

    .recommended-products__product--3 {
      width: calc(1 / 3 * 100%);
    }

    .recommended-products__product--4 {
      width: 25%;
    }
  }

@media (min-width: 40em) {

.rich-text {
    padding: calc(calc(4px * 10) * 3) 0;
    padding: calc(var(--spacing-large) * 3) 0
}
  }

.rich-text__content {
  margin: 0 auto;
  max-width: var(--s-max-width);
}

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

.rich-text__content--center .btn {
    margin-left: auto;
    margin-right: auto;
  }

.rich-text__heading + .rich-text__body {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.rich-text__heading + .rich-text__body {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.rich-text__body + .btn,
.rich-text__heading + .btn {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.rich-text__body + .btn,
.rich-text__heading + .btn {
    margin-top: calc(calc(4px * 2) * 4);
    margin-top: calc(var(--spacing-extra-small) * 4)
}
  }

.testimonials {
  overflow: hidden;
}

@media (max-width: 40em) {
    .testimonials--vertical .testimonials__item + .testimonials__item {
      margin-top: calc(4px * 5);
      margin-top: var(--spacing-medium);
    }
  }

.testimonials__items {
  position: relative;
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.testimonials__items {
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(calc(4px * 5) * -2);
    margin-top: calc(var(--spacing-medium) * -2)
}
  }

.testimonials__item {
  width: 100%;
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
}

@media (min-width: 40em) {

.testimonials__item {
    margin-top: calc(4px * 10);
    margin-top: var(--spacing-large)
}

    .testimonials__item--2 {
      width: 50%;
    }

    .testimonials__item--3 {
      width: calc(1 / 3 * 100%);
    }

    .testimonials__item--4 {
      width: 25%;
    }
  }

.testimonials__image {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

@media (min-width: 40em) {

.testimonials__image {
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium)
}
  }

.testimonials__author {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
  font-style: italic;
}

.slideshow .flickity-viewport {
    transition: none !important;
    transition-delay: 0s !important;
  }

.slideshow .flickity-slider {
    transform: none !important;
  }

.slideshow .flickity-page-dots {
    z-index: 3;
    bottom: calc(4px * 5);
    bottom: var(--spacing-medium);
    padding: 0 calc(4px * 3);
    padding: 0 var(--spacing-small);
    padding: 0 14px;
  }

.slideshow .flickity-page-dots .dot {
      background-color: var(--color-text-subheading-contrast);
      width: 8px;
      height: 8px;
      margin: 0 6px;
    }

@media (min-width: 40em) {

.slideshow .flickity-page-dots .dot {
        background-color: var(--color-dot);
        width: 10px;
        height: 10px;
        margin: 0 6px
    }
      }

.slideshow[data-total-slides='1'] .flickity-page-dots {
    display: none;
  }

@media (max-width: 40em) {

.slideshow[data-total-slides='1'].slideshow--3_2 .block-overlay {
        padding-bottom: 20px;
        padding-bottom: var(--space-outer)
    }
      }

@media (max-width: 40em) {

.slideshow--3_2 .flickity-page-dots {
      text-align: left
  }
    }

@media (max-width: 40em) {

.slideshow--3_2
  .block-overlay:not(.block-overlay--no-content)
  .block-overlay__content {
    --color-background-button: var(--color-background-button-contrast);
    --color-background-button-hover: var(
      --color-background-button-hover-contrast
    );
    --color-text-button: var(--color-text-button-contrast)
}
  }

.slideshow__slides {
  width: 100%;
}

.slideshow__slides.is-hidden {
    display: none;
  }

.slideshow__cell {
  width: 100%;
  left: 0 !important;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slideshow__cell.is-selected {
    opacity: 1;
  }

.slideshow__asset {
  position: relative;
  overflow: hidden;
}

.slideshow__asset--3_2 {
    padding-top: calc((2 / 3) * 100%);
  }

.slideshow__asset--full_height {
    padding-top: 100vh;
  }

/* Placeholder image */

.slideshow__asset .placeholder-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

.slideshow__asset .placeholder-image svg {
      width: 100%;
      height: 100%;
    }

.slideshow__video {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.3);
  transition-delay: 1s;
}

.is-selected .slideshow__video {
    transform: scale(1);
    transition: transform 1.5s;
    transition-delay: 0s;
  }

.image.slideshow__image-wrapper {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0 !important;
  transform: scale(1.3);
  transition-delay: 1s;
}

.is-selected .image.slideshow__image-wrapper {
    transform: scale(1);
    transition: transform 1.5s;
    transition-delay: 0s;
  }

.slideshow__overlay {
  position: relative;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.slideshow--3_2 .slideshow__overlay {
    position: relative;
  }

@media (min-width: 40em) {

.slideshow--3_2 .slideshow__overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2
  }

      .slideshow--3_2 .slideshow__overlay .block-overlay--v-bottom {
        padding-bottom: calc(4px * 15);
        padding-bottom: calc(var(--spacing-unit) * 15);
      }
    }

.slideshow--full_height .slideshow__overlay .block-overlay--v-bottom {
      padding-bottom: calc(4px * 15);
      padding-bottom: calc(var(--spacing-unit) * 15);
    }

/* Block overlays act a bit different when used in slideshow sections */

@media (max-width: 40em) {

.slideshow--3_2 .block-overlay {
      --color-background: var(--color-background-contrast) !important;
      --color-text-meta: var(--color-text-meta-contrast) !important;
      --color-text-heading: var(--color-text-heading-contrast) !important;
      --color-text-body: var(--color-text-body-contrast) !important;
      --color-text-subheading: var(--color-text-subheading-contrast) !important;

      text-align: left;
      /* Account for pagination dots */
      padding-bottom: calc(calc(4px * 12) + calc(4px * 3));
      padding-bottom: calc(var(--spacing-extra-large) + var(--spacing-small))
  }
    }

@media (max-width: 40em) {

.slideshow--3_2 .block-overlay.block-overlay--no-content {
        display: none
    }
      }

.text-columns-with-images {
  text-align: center;
  overflow: hidden;

  /* Special case to give the section more (double) vertical space on mobile */
  padding-bottom: calc(4px * 5);
  padding-bottom: var(--spacing-medium);
}

@media (min-width: 40em) {

.text-columns-with-images {
    padding-bottom: 0
}
  }

.text-columns-with-images .section-header {
    /* We'll enable this as necessary with a more specific selector */
    display: none;
  }

.text-columns-with-images__columns {
  margin-left: calc(10px * -1);
  margin-left: calc(var(--space-inline-element) * -1);
  margin-right: calc(10px * -1);
  margin-right: calc(var(--space-inline-element) * -1);
}

@media (min-width: 40em) {

.text-columns-with-images__columns {
    display: flex;
    flex-wrap: wrap
}
  }

.text-columns-with-images__column {
  padding-left: 10px;
  padding-left: var(--space-inline-element);
  padding-right: 10px;
  padding-right: var(--space-inline-element);
  width: 100%;
}

@media (min-width: 40em) {
    .text-columns-with-images__column--2 {
      width: 50%;
    }

    .text-columns-with-images__column--3 {
      width: calc(1 / 3 * 100%);
    }

    .text-columns-with-images__column--4 {
      width: 25%;
    }
  }

.text-columns-with-images__inner {
  padding: 0px calc(4px * 5);
  padding: 0px var(--spacing-medium);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 40em) {

.text-columns-with-images__inner {
    padding: calc(4px * 10) calc(4px * 5);
    padding: var(--spacing-large) var(--spacing-medium)
}
  }

.text-columns-with-images__image-wrap {
  width: 100%;
  max-width: var(--s-image-max-width);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.text-columns-with-images__image-wrap.is-circle > div {
    position: relative;
    padding-top: 100%;
    border-radius: 100%;
    background-color: var(--color-background-meta);
    overflow: hidden;
  }

.text-columns-with-images__image-wrap.is-circle > div .image {
      position: absolute;
      top: 0;
      -o-object-fit: cover;
         object-fit: cover;
      width: 100%;
      height: 100%;
    }

.text-columns-with-images__image-wrap.is-circle > div svg {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

.text-columns-with-images__heading {
  margin-bottom: calc(4px * 2);
  margin-bottom: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.text-columns-with-images__heading {
    margin-bottom: calc(4px * 3);
    margin-bottom: var(--spacing-small)
}
  }

.text-columns-with-images__text + .link {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.text-columns-with-images__text + .link {
    margin-top: calc(4px * 6);
    margin-top: calc(var(--spacing-unit) * 6)
}
  }

.video {
  position: relative;
}

@media (min-width: 40em) {

.video {
    overflow: hidden
}
  }

.video__wrapper {
  position: relative;
}

.video__container {
  position: relative;
  width: 100%;
  padding-top: 55%;
  overflow: hidden;
}

.video__container iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }

.image.video__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.image.video__image.visible {
    opacity: 1;
  }

.video__overlay {
  background-color: var(--color-overlay-transparent);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  padding: calc(4px * 10);
  padding: var(--spacing-large);
  color: var(--color-text);
}

.video__overlay.visible {
    opacity: 1;
    pointer-events: all;
  }

.video__overlay-content {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 100%;
}

@media (min-width: 40em) {

.video__overlay-content {
    height: auto;
    align-items: flex-start;
    justify-content: flex-start;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: calc(4px * 10);
    padding-bottom: var(--spacing-large)
}
  }

.video__overlay-content > div {
    display: none;
  }

@media (min-width: 40em) {

.video__overlay-content > div {
      display: block;
      max-width: 500px
  }
    }

.video__play {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-color: var(--color-text);
  color: var(--color-overlay);
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-shrink: 0;
  transition: opacity 0.25s, transform 0.25s;
}

@media (min-width: 40em) {

.video__play {
    margin-right: calc(4px * 10);
    margin-right: var(--spacing-large);
    width: 60px;
    height: 60px
}
  }

.video__play:hover,
  .video__play:focus {
    opacity: 0.6;
  }

.video__play:active {
    transform: scale(0.95);
  }

.video__overlay-subheading {
  opacity: 0.7;
}

.video__overlay-heading + .video__overlay-subheading {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

.video__mobile-text {
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  padding-bottom: calc(calc(4px * 2) * 4);
  padding-bottom: calc(var(--spacing-extra-small) * 4);
}

@media (min-width: 40em) {

.video__mobile-text {
    display: none
}
  }

.video__mobile-heading + .video__mobile-subheading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

/* Components */

.block-overlay {
  width: 100%;
  height: 100%;
  padding: 20px;
  padding: var(--space-outer);
  color: var(--color-heading);
  display: flex;
  background-color: var(--color-background);
}

.block-overlay--v-top {
  align-items: flex-start;
}

.block-overlay--v-center {
  align-items: center;
}

.block-overlay--v-bottom {
  align-items: flex-end;
}

.block-overlay--v-split {
  align-items: stretch;
}

.block-overlay--v-split .block-overlay__content {
    display: flex;
    flex-direction: column;
  }

.block-overlay--v-split .block-overlay__button {
    margin-top: auto !important;
  }

.block-overlay--h-left {
  justify-content: flex-start;
  text-align: left;
}

.block-overlay--h-left.block-overlay--v-split .block-overlay__content {
      align-items: flex-start;
    }

.block-overlay--h-center {
  justify-content: space-around;
  text-align: center;
}

.block-overlay--h-center .block-overlay__meta,
  .block-overlay--h-center .block-overlay__heading,
  .block-overlay--h-center .block-overlay__subheading,
  .block-overlay--h-center .btn {
    margin-left: auto;
    margin-right: auto;
  }

.block-overlay--h-right {
  justify-content: flex-end;
  text-align: right;
}

.block-overlay--h-right .block-overlay__meta,
  .block-overlay--h-right .block-overlay__heading,
  .block-overlay--h-right .block-overlay__subheading,
  .block-overlay--h-right .btn {
    margin-left: auto;
  }

.block-overlay__content {
  position: relative;
  z-index: 2;
  width: 100%;
}

@media (max-width: 40em) {

.block-overlay__content {
    /* Make sure transparent offsets don't get applied */
    padding-top: 0 !important
}
  }

@media (min-width: 40em) {

.block-overlay__content {
    max-width: var(--max-width-content)
}
  }

.block-overlay__meta {
  color: var(--color-text-meta);
}

.block-overlay__heading {
  color: var(--color-text-heading);
}

.block-overlay__subheading {
  color: var(--color-text-subheading);
}

.block-overlay__meta + .block-overlay__heading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.block-overlay__meta + .block-overlay__heading {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small)
}
  }

.block-overlay__heading + .block-overlay__subheading {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.block-overlay__heading + .block-overlay__subheading {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium)
}
  }

.block-overlay__heading + .block-overlay__button,
.block-overlay__subheading + .block-overlay__button {
  margin-top: calc(4px * 5);
  margin-top: var(--spacing-medium);
}

@media (min-width: 40em) {

.block-overlay__heading + .block-overlay__button,
.block-overlay__subheading + .block-overlay__button {
    margin-top: calc(calc(4px * 2) * 4);
    margin-top: calc(var(--spacing-extra-small) * 4)
}
  }

.breadcrumbs {
  display: flex;
  opacity: 0.5;
}

.breadcrumbs__item + .breadcrumbs__item {
  margin-left: calc(4px * 3);
  margin-left: var(--spacing-small);
}

.breadcrumbs__item + .breadcrumbs__item:before {
    content: '/';
    margin-right: calc(4px * 3);
    margin-right: var(--spacing-small);
  }

.collection-item {
  --circle-size: 40px;
  --circle-border-width: 4px;

  width: 100%;
}

.collection-item__image {
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.collection-item__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 40em) {

.collection-item__footer {
    flex-wrap: nowrap
}
  }

.collection-item__header {
  width: 100%;
  margin-bottom: calc(4px * 2);
  margin-bottom: var(--spacing-extra-small);
}

@media (min-width: 40em) {

.collection-item__header {
    width: auto;
    flex-shrink: 1;
    margin-bottom: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}
  }

.collection-item__preview {
  display: flex;
}

@media (min-width: 40em) {

.collection-item__preview {
    padding-left: calc(4px * 3);
    padding-left: var(--spacing-small)
}
      .collection-item__preview:hover .circle {
        opacity: 0.5;
      }

        .collection-item__preview:hover .circle:hover {
          opacity: 1;
        }

        .collection-item__preview:hover .circle:nth-last-of-type(4) {
          transform: translateX(-150%);
        }
        .collection-item__preview:hover .circle:nth-last-of-type(3) {
          transform: translateX(-100%);
        }
        .collection-item__preview:hover .circle:nth-last-of-type(2) {
          transform: translateX(-50%);
        }
  }

.collection-item__preview .circle {
    width: var(--circle-size);
    height: var(--circle-size);
    border-radius: 100%;
    background-color: var(--color-background-meta);
    color: var(--color-foreground-meta);
    border: var(--circle-border-width) solid var(--color-background);
    overflow: hidden;
    position: relative;
    margin-left: calc(var(--circle-border-width) * -1);
    transition: transform 0.25s, opacity 0.25s;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

@media (min-width: 40em) {

.collection-item__preview .circle {
      margin-right: calc(var(--circle-border-width) * -1)
  }
    }

.collection-item__preview .circle:focus {
      transform: scale(0.8);
    }

.collection-item__preview .circle .image {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      -o-object-fit: cover;
         object-fit: cover;
      width: 100%;
      height: 100%;
    }

.collection-item__preview .circle + .circle {
      margin-left: calc((var(--circle-size) / 2) * -1);
      z-index: 10;
    }

.collection-item__preview .circle--count a {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    white-space: nowrap;
  }

.collection-modal {
  display: flex;
  flex-direction: column;
  background-color: var(--color-background);
  width: 100%;
  height: 420px;
  max-height: 60vh;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 500;
  opacity: 0;
  transform: translateY(420px);
  transition: transform 0.3s ease, opacity 0.3s ease;
  z-index: 600;
}

.collection-modal.active {
    opacity: 1;
    transform: translateY(0px);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

.collection-modal__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  box-shadow: 0px 10px 10px white;
  z-index: 10;
}

.collection-modal__content {
  height: 100%;
  margin: 0;
  overflow-y: scroll;
  z-index: 5;
}

/* Increase size of filter items on mobile */

.collection-modal__content .filter-item {
    margin-bottom: 0;
  }

.collection-modal__content .filter-item__content {
    height: 48px;
    padding: 0 calc(4px * 5);
    padding: 0 var(--spacing-medium);
  }

.collection-modal__content ul {
    margin: 0;
    padding: 0;
  }

.collection-modal__content li {
    margin-bottom: calc(4px * 3);
    margin-bottom: var(--spacing-small);
  }

.collection-modal__footer {
  background-color: var(--color-bg);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  box-shadow: 0 -10px 10px white;
  z-index: 10;
}

.collection-modal__footer > * {
    margin: 0 calc(calc(4px * 3) / 2);
    margin: 0 calc(var(--spacing-small) / 2);
  }

.collection-modal__wash {
  background-color: black;
  opacity: 0;
  position: fixed;
  z-index: 500;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

.collection-modal__wash.active {
    pointer-events: all;
    opacity: 0.6;
    transition: opacity 0.3s ease;
  }

.collection-sidebar {
  --height-item: 32px;
}

.collection-sidebar__group {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.collection-sidebar__group ul {
    margin: 0 0 0 calc(calc(4px * 3) * -1);
    margin: 0 0 0 calc(var(--spacing-small) * -1);
    padding: 0;
  }

.collection-sidebar__group + .collection-sidebar__group {
    border-top: 1px solid var(--color-border);
    padding-top: 10px;
  }

.collection-sidebar__heading {
  height: var(--height-item);
  padding: 0 4px 0 calc(4px * 3);
  padding: 0 var(--spacing-unit) 0 var(--spacing-small);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  border-radius: 2px;
  transition: background-color 0.3s;
  margin: 0 0 0 calc(calc(4px * 3) * -1);
  margin: 0 0 0 calc(var(--spacing-small) * -1);
}

.collection-sidebar__heading:hover {
    background-color: var(--color-background-meta);
    transition: background-color 0.3s;
  }

.collection-sidebar__heading > * {
    pointer-events: none;
  }

.collection-sidebar__heading .icon {
    opacity: 0.5;
    transition: transform 0.3s;
  }

.collection-sidebar__heading.closed .icon {
      transform: rotate(-90deg);
      transition: transform 0.3s;
    }

.collection-sidebar__heading span {
    font-weight: var(--font-body-bold-weight);
  }

.collection-top-bar {
  width: 100%;
  overflow-x: scroll;
  padding: 6px 0;
}

@media (min-width: 40em) {

.collection-top-bar {
    width: auto;
    margin-right: calc(20px * -1);
    margin-right: calc(var(--space-outer) * -1);
    padding-bottom: calc(4px * 5);
    padding-bottom: var(--spacing-medium);
    padding-top: 0
}
  }

.collection-top-bar::-webkit-scrollbar {
    display: none;
  }

.collection-top-bar__filters {
  display: flex;
  overflow-x: scroll;
  margin-left: calc(20px * -1);
  margin-left: calc(var(--space-outer) * -1);
  margin-right: calc(20px * -1);
  margin-right: calc(var(--space-outer) * -1);
  padding-left: 20px;
  padding-left: var(--space-outer);
  padding-bottom: calc(calc(4px * 3) / 2);
  padding-bottom: calc(var(--spacing-small) / 2);
}

@media (min-width: 40em) {

.collection-top-bar__filters {
    display: none
}
  }

.collection-top-bar__filters::-webkit-scrollbar {
    display: none;
  }

.collection-top-bar__filters > a {
    margin-right: calc(4px * 2);
    margin-right: var(--spacing-extra-small);
  }

.collection-top-bar__filters > a:last-of-type {
      margin-right: 0;
    }

.collection-top-bar__filters .space {
    width: 20px;
    width: var(--space-outer);
    height: 24px;
    flex-shrink: 0;
  }

.collection-top-bar__active-elements {
  display: flex;
  padding-left: 20px;
  padding-left: var(--space-outer);
}

@media (min-width: 40em) {

.collection-top-bar__active-elements {
    padding-left: 0
}
  }

.collection-top-bar__active-elements > a {
    margin-right: calc(4px * 2);
    margin-right: var(--spacing-extra-small);
  }

.collection-top-bar__active-elements > a:last-of-type {
      margin-right: 0;
    }

.collection-top-bar__active-elements .space {
    width: 20px;
    width: var(--space-outer);
    height: 24px;
    flex-shrink: 0;
  }

.comments {
  width: 100%;
  margin: 0;
  padding: 0;
}

.comments__heading {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
  padding-bottom: calc(4px * 5);
  padding-bottom: var(--spacing-medium);
}

.comment {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
  list-style: none;
}

.comment__content {
  background-color: var(--color-text-body-transparent);
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  box-shadow: inset 1px 0px 0px var(--color-text-body-transparent-02);
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

.comments__leave-heading {
  border-top: 1px solid var(--color-border);
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
  padding-top: calc(4px * 5);
  padding-top: var(--spacing-medium);
}

.comments__mod-message {
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
}

.comments__submit {
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
}

.comments__mod-message + .comments__submit {
  margin-top: 0;
}

.disclosure {
  position: relative;
}

.disclosure__toggle {
  white-space: nowrap;
  display: flex;
  align-items: center;
  height: 32px;
  border: 1px solid var(--color-border-footer);
  border-radius: 20px;

  font-size: 12px;

  font-size: var(--font-size-body-small);
  line-height: 20px;
  line-height: var(--line-height-body-small);
  font-weight: var(--font-body-bold-weight);
  color: inherit;

  padding-left: calc(4px * 4);

  padding-left: calc(var(--spacing-unit) * 4);
  padding-right: calc(4px * 2);
  padding-right: var(--spacing-extra-small);

  transition: background-color 0.25s;
}

.disclosure__toggle .icon {
    width: 18px;
    height: 18px;
  }

.disclosure__toggle:hover,
  .disclosure__toggle:focus {
    background-color: var(--color-border-footer);
    border-color: var(--color-border-footer);
  }

.disclosure__flag {
  width: 20px;
  height: 20px;
  border-radius: 100%;
  overflow: hidden;
  margin-left: -10px;
  margin-right: calc(4px * 2);
  margin-right: var(--spacing-extra-small);
}

.disclosure__flag .currency-flag {
    width: 20px;
    height: 20px;
  }

.disclosure-list {
  background-color: var(--color-background);
  bottom: 100%;
  padding: calc(4px * 3);
  padding: var(--spacing-small);
  position: absolute;
  display: none;
  min-width: 100px;
  max-height: 300px;
  overflow-y: auto;
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(26, 26, 26, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.12);
  box-shadow: var(--box-shadow);
}

.disclosure-list--visible {
  display: block;
}

.disclosure-list__item {
  border-bottom: 1px solid transparent;
  white-space: nowrap;
  padding: 0;
  text-align: left;
  list-style: none;
  font-size: 14px;
  font-size: var(--font-size-body-base);
}

.disclosure-list__item + .disclosure-list__item {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small);
  }

.disclosure-list__option {
  color: var(--color-text-body);
}

.disclosure-list__option:focus {
    color: var(--color-text-link);
  }

.disclosure-list__option:hover {
    color: var(--color-text-link);
  }

.disclosure-list__item--current .disclosure-list__option {
  color: var(--color-text-heading);
  font-weight: var(--font-body-bold-weight);
}

.disclosure-list__item--current .disclosure-list__option:focus {
    color: var(--color-text-heading);
  }

.drawer-menu {
  --menu-width: 355px;
  --menu-max-width: calc(100vw - 50px);
  --header-height: 84px;
  --item-height: 48px;
  --animation-duration: 0.35s;
  --animation-timing: ease-in-out;

  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

/* Quick search overrides */

.drawer-menu .quick-search__header,
  .drawer-menu .quick-search__result-subheading {
    opacity: 1;
    color: var(--color-text-meta-drawer);
  }

.drawer-menu .quick-search__view-all {
    border-color: var(--color-border-drawer);
  }

.drawer-menu a.active {
    opacity: 0.5;
  }

.drawer-menu.active {
  display: block;
}

.drawer-menu.visible .drawer-menu__overlay {
    opacity: 0.5;
  }

.drawer-menu.visible .drawer-menu__panel {
    transform: translateX(0);
  }

.drawer-menu__overlay {
  background-color: var(--color-overlay);
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity var(--animation-duration) var(--animation-timing);
}

.drawer-menu__panel {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 100;
  color: var(--color-text-drawer);
  background-color: var(--color-background-drawer);
  width: var(--menu-width);
  max-width: var(--menu-max-width);
  transform: translateX(-100%);
  transition: transform var(--animation-duration) var(--animation-timing);
  display: flex;
  flex-direction: column;
}

.drawer-menu__header {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding-top: calc(4px * 5);
  padding-top: var(--spacing-medium);
  padding-right: calc(4px * 5);
  padding-right: var(--spacing-medium);
  padding-bottom: calc(4px * 4);
  padding-bottom: calc(var(--spacing-unit) * 4);
  padding-left: calc(4px * 5);
  padding-left: var(--spacing-medium);
  height: var(--header-height);
}

.drawer-menu__actions {
  z-index: 100;
  position: absolute;
  right: calc(4px * 10);
  right: var(--spacing-large);
  color: var(--color-text-input-drawer);
  display: flex;
  align-items: center;
  pointer-events: none;
}

.drawer-menu__actions button {
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
    visibility: hidden;
  }

.drawer-menu__actions button:hover,
    .drawer-menu__actions button:focus {
      opacity: 0.5;
    }

.drawer-menu__actions button.visible {
      opacity: 1;
      pointer-events: all;
      visibility: visible;
    }

.drawer-menu__actions button.visible:hover,
      .drawer-menu__actions button.visible:focus {
        opacity: 0.5;
      }

.drawer-menu__clear {
  margin-right: calc(4px * 2);
  margin-right: var(--spacing-extra-small);
}

.drawer-menu__bottom {
  width: 100%;
  height: calc(100% - var(--header-height));
  overflow: hidden;
}

.drawer-menu__all-links {
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform 0.5s;
  height: 100%;
}

.drawer-menu__all-links[data-depth='0'] {
    transform: translateX(0);
  }

.drawer-menu__all-links[data-depth='1'] {
    transform: translateX(-100%);
  }

.drawer-menu__all-links ul:not(.drawer-menu__footer) {
    margin: 0;
    padding: 0;
  }

.drawer-menu__contents {
  flex-shrink: 1;
  overflow-y: scroll;
}

/* This one gets dynamic sizing */

.drawer-menu__main {
  transition: height 0.35s;
  overflow: hidden;
}

/* This one gets shifted over */

.drawer-menu__primary-links {
  position: relative;
  transition: transform 0.5s;
}

.drawer-menu__primary-links[data-depth='0'] {
    transform: translateX(0);
  }

.drawer-menu__primary-links[data-depth='1'] {
    transform: translateX(-100%);
  }

.drawer-menu__primary-links[data-depth='2'] {
    transform: translateX(-200%);
  }

.drawer-menu__primary-links[data-depth='3'] {
    transform: translateX(-300%);
  }

.drawer-menu__primary-links[data-depth='4'] {
    transform: translateX(-400%);
  }

.drawer-menu__list {
  width: var(--menu-width);
  max-width: var(--menu-max-width);
}

.drawer-menu__list--sub {
  position: absolute;
  top: 0;
  left: 100%;

  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 1s, opacity 0.35s;
}

.drawer-menu__list--sub.visible {
    opacity: 1;
    transition: visibility 0s, opacity 0.35s;
    pointer-events: all;
    visibility: visible;
  }

.drawer-menu__item {
  list-style: none;
  margin: 0 calc(4px * 2);
  margin: 0 var(--spacing-extra-small);
  padding: 0;
}

.drawer-menu__item span {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

.drawer-menu__item .icon {
    transform: rotate(-90deg);
    flex-shrink: 0;
  }

.drawer-menu__item.drawer-menu__item--heading {
    padding-bottom: calc(4px * 4);
    padding-bottom: calc(var(--spacing-unit) * 4);
  }

.drawer-menu__item.drawer-menu__item--heading:after {
      content: '';
      height: 1px;
      background-color: var(--color-border-drawer);
      position: absolute;
      left: calc(4px * 5);
      left: var(--spacing-medium);
      right: calc(4px * 5);
      right: var(--spacing-medium);
      margin-top: calc(4px * 2);
      margin-top: var(--spacing-extra-small);
    }

.drawer-menu__item.drawer-menu__item--heading .icon {
      transform: rotate(90deg);
    }

.drawer-menu__link {
  min-width: 100%;
  width: 100%;
  height: var(--item-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 calc(4px * 3);
  padding: 0 var(--spacing-small);
  font-family: inherit;
  font-size: inherit;
  border-radius: 2px;

  background-color: transparent;
  color: inherit;
  border: none;
  outline: none;
}

.drawer-menu__link span {
    text-overflow: ellipsis;
    overflow: hidden;
  }

.drawer-menu__link:hover {
    opacity: 0.75;
  }

.drawer-menu__link--cb {
  justify-content: flex-start;
}

.drawer-menu__footer {
  flex-shrink: 0;
  padding-top: calc(4px * 2);
  padding-top: var(--spacing-extra-small);
  padding-bottom: calc(4px * 2);
  padding-bottom: var(--spacing-extra-small);
  margin-top: 0;
  padding-left: 0;
}

.drawer-menu__footer:before {
    content: '';
    height: 1px;
    background-color: var(--color-border-drawer);
    position: absolute;
    left: calc(4px * 5);
    left: var(--spacing-medium);
    right: calc(4px * 5);
    right: var(--spacing-medium);
    margin-top: calc(calc(4px * 2) * -1);
    margin-top: calc(var(--spacing-extra-small) * -1);
  }

.drawer-menu__search-input {
  width: 100%;
  background-color: var(--color-background-input-drawer);
  border-color: var(--color-background-input-drawer);
  color: var(--color-text-input-drawer);
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
  height: var(--item-height);
  border-radius: var(--item-height);
}

.drawer-menu__search-input::-moz-placeholder {
    color: inherit;
    opacity: 0.5;
  }

.drawer-menu__search-input:-ms-input-placeholder {
    color: inherit;
    opacity: 0.5;
  }

.drawer-menu__search-input::placeholder {
    color: inherit;
    opacity: 0.5;
  }

.drawer-menu__radio {
  width: calc(4px * 4);
  width: calc(var(--spacing-unit) * 4);
  height: calc(4px * 4);
  height: calc(var(--spacing-unit) * 4);
  margin-right: calc(4px * 4);
  margin-right: calc(var(--spacing-unit) * 4);
  background-color: var(--color-background-input-drawer);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.drawer-menu__radio > div {
    width: calc(4px * 2);
    width: var(--spacing-extra-small);
    height: calc(4px * 2);
    height: var(--spacing-extra-small);
    background-color: var(--color-text-input-drawer);
    border-radius: 100%;
  }

.drawer-menu__search-results {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--header-height);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
  background-color: var(--color-background-drawer);
  padding: calc(4px * 3);
  padding: var(--spacing-small);
  padding-top: 0;
  overflow-y: scroll;
}

.drawer-menu__search-results.visible {
    opacity: 1;
    pointer-events: all;
  }

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

.filter-item:active .filter-input__input {
    transform: scale(0.9);
    transition: transform 0.2s;
  }

.filter-item.active .filter-input__input {
    transition: transform 0.2s, background-color 0.3s;
    background-color: var(--color-background-button);
    border: 1px solid var(--color-background-button);
  }

.filter-item.active .filter-input__input .icon,
    .filter-item.active .filter-input__input .indicator {
      transition: opacity 0.3s;
      opacity: 1;
    }

.filter-item__content {
  display: flex;
  align-items: center;
  height: var(--height-item);
  padding: 0 calc(4px * 3);
  padding: 0 var(--spacing-small);
  border-radius: 2px;
  transition: background-color 0.3s;
}

.filter-item__content:hover {
    background-color: var(--color-background-meta);
    transition: background-color 0.3s;
  }

.filter-item__content > * {
    pointer-events: none;
  }

.filter-input__input {
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-border-button-secondary);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  transition: transform 0.2s;
}

.filter-item__checkbox {
  border-radius: 2px;
  color: var(--color-text-button);
}

.filter-item__checkbox .icon {
    width: 12px;
    height: 12px;
    opacity: 0;
  }

.filter-item__radio {
  border-radius: 100%;
}

.filter-item__radio .indicator {
    width: 8px;
    height: 8px;
    background-color: var(--color-text-button);
    border-radius: 100%;
    opacity: 0;
  }

.filter-item__label {
  display: block;
  padding-left: calc(4px * 3);
  padding-left: var(--spacing-small);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.flexible-image {
  position: relative;
  align-self: stretch;
  height: 100%;
  padding-top: var(--ar);
  overflow: hidden;
}

.flexible-image__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flexible-image__img.lazyload,
  .flexible-image__img.lazyloading {
    opacity: 0;
    transform: scale(1.1);
  }

.flexible-image__img.lazyloaded {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s, transform 2s ease-out;
  }

.icon {
  width: 24px;
  height: 24px;
  display: flex;
}

.icon-button {
  --color: var(--color-text-body);

  width: 44px;
  height: 44px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-around;
  transition: transform 0.25s;
}

.icon-button:hover .icon-button__icon:before {
      opacity: 0.1;
      transform: scale(1);
    }

.icon-button:active {
    transform: scale(0.9);
  }

.icon-button__icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  border-radius: 100%;
  z-index: 2;
}

.icon-button__icon:before {
    content: '';
    background-color: var(--color);
    opacity: 0;
    border-radius: 100%;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 2;
    transform: scale(0.8);
    transition: opacity 0.25s, transform 0.25s ease-in-out;
  }

.icon-button__icon .icon {
    width: 24px;
    height: 24px;
    position: relative;
    z-index: 10;
    color: var(--color);
  }

.image {
  position: relative;
}

.no-js .image--responsive {
  display: none;
}

.image__img {
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  top: 0;
  width: 100%;
  height: 100%;
}

.image__img.lazyload,
  .image__img.lazyloading {
    opacity: 0;
  }

.image__img.lazyloaded {
    opacity: 1;
    transition: opacity 0.5s;
  }

.lightbox {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  position: fixed;
  background-color: var(--color-overlay-transparent);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1100;
  z-index: var(--z-index-lightbox);

  display: none;
  opacity: 0;
  transition: opacity 0.3s;
}

.lightbox.active {
    display: flex;
  }

.lightbox.visible {
    opacity: 1;
  }

.lightbox .mobile-carousel__pagination {
    left: 0;
    right: 0;
  }

@media (min-width: 40em) {

.lightbox .mobile-carousel__pagination {
      display: flex !important
  }
    }

.lightbox__close {
  position: fixed;
  top: calc(4px * 5);
  top: var(--spacing-medium);
  right: calc(4px * 5);
  right: var(--spacing-medium);
  z-index: 1;
  border: 1px solid transparent;
}

.lightbox__close:focus {
    border-color: var(--color-text-body);
  }

.lightbox__images {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

.lightbox__image {
  width: 100%;
}

.loader {
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

@media (min-width: 40em) {

.loader {
    height: 400px
}
  }

.loader__wrap {
  width: 100%;
  max-width: 100px;
  height: 2px;
  overflow: hidden;
}

.loader__bar {
  width: 100%;
  height: 2px;
  border-radius: 2px;
  -webkit-animation: loaderLine 1.4s ease-in-out infinite;
          animation: loaderLine 1.4s ease-in-out infinite;
  background-color: var(--color-text-body);
}

@keyframes loaderLine {
  0% {
    transform: translateX(-150%);
  }

  45% {
    transform: translateX(0);
  }

  55% {
    transform: translateX(0);
  }

  to {
    transform: translateX(150%);
  }
}

.media {
  position: relative;
}

.media img {
    max-width: 100%;
  }

.media[data-media-type='external_video'] {
    padding-top: 57.5%;
    position: relative;
  }

.media[data-media-type='external_video'] iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
    }

.media[data-media-type='model'] {
    height: 50vh;
  }

.media video {
    width: 100%;
  }

.media .plyr__poster-enabled:focus {
  position: relative;
}

.media .plyr__poster-enabled:focus:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid var(--color-text-body);
  }

a.media__image:focus {
  outline: none;
}

a.media__image:focus:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid var(--color-text-body);
    pointer-events: none;
  }

.mega-nav {
  --width-column: 275px;

  color: var(--color-text-dropdown);
  width: calc(var(--width-column) * 3);
  height: 448px;
  position: absolute;
  z-index: 1050;
  z-index: var(--z-index-mega-nav);

  margin-top: calc(4px * 3);

  margin-top: var(--spacing-small);
  margin-left: calc(calc(4px * 5) * -1);
  margin-left: calc(var(--spacing-medium) * -1);

  display: none;
}

@media (max-width: 40em) {

.mega-nav {
    display: none !important
}
  }

.mega-nav.active {
  display: block;
}

.mega-nav.visible .mega-nav__overlay {
    opacity: 1;
  }

.mega-nav.visible .mega-nav__container {
    opacity: 1;
    transform: translateY(0);
  }

.mega-nav__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--color-overlay-transparent);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.25s;
}

.mega-nav__container {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--color-background-dropdown);
  opacity: 0;
  transform: translateY(calc(4px * 2));
  transform: translateY(var(--spacing-extra-small));
  transition: opacity 0.25s, transform 0.25s;
}

.mega-nav__list {
  width: var(--width-column);
  background-color: var(--color-background-dropdown);
  padding: 0 calc(4px * 5);
  padding: 0 var(--spacing-medium);
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;

  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none;
}

/* Firefox */

.mega-nav__list::-webkit-scrollbar {
    display: none;
  }

.mega-nav__list[data-depth='1'] {
    left: var(--width-column);
    border-left: 1px solid var(--color-border-dropdown);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
  }

.mega-nav__list[data-depth='1'].visible {
      opacity: 1;
      pointer-events: all;
    }

.mega-nav__heading {
  list-style: none;
  font-weight: var(--font-body-bold-weight);
  padding: calc(4px * 5) 0 calc(4px) 0;
  padding: var(--spacing-medium) 0 calc(var(--spacing-unit * 4)) 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mega-nav__item {
  list-style: none;
  width: 100%;
  overflow-x: hidden;

  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none;
}

/* Firefox */

.mega-nav__item::-webkit-scrollbar {
    display: none;
  }

.mega-nav__item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 0;
  }

.mega-nav__item > a:focus {
      outline: none;
      opacity: 0.5;
    }

.mega-nav__item > a span:first-of-type {
      overflow: hidden;
      text-overflow: ellipsis;
      width: 100%;
      padding-right: 10px;
    }

.mega-nav__item .icon {
    width: 20px;
    height: 20px;
    transform: rotate(-90deg);
  }

.mega-nav__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--width-column);
  opacity: 0;
  transition: opacity 0.25s;
  pointer-events: none;
}

.mega-nav__image.visible {
    opacity: 1;
    pointer-events: all;
  }

.mega-nav__image .image {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
  }

.mega-nav__image .image.active {
      opacity: 1;
      pointer-events: all;
    }

.mobile-carousel:after {
    content: 'flickity';
    display: none;
  }

@media (min-width: 40em) {
    .mobile-carousel:after {
      content: '';
    }
  }

.mobile-carousel .flickity-viewport {
    transition: height 0.25s;
    overflow: visible;
  }

.mobile-carousel__pagination {
  position: absolute;
  top: 0;
  right: calc(calc(4px * 3) * -1);
  right: calc(var(--spacing-small) * -1);
  bottom: 0;
  left: calc(calc(4px * 3) * -1);
  left: calc(var(--spacing-small) * -1);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

@media (min-width: 40em) {

.mobile-carousel__pagination {
    display: none
}
  }

.mobile-carousel__pagination-arrow {
  opacity: 0;
  transition: transform 0.25s, opacity 0.25s;
  transition-delay: 0.1s;
}

.mobile-carousel__pagination-arrow.visible {
    pointer-events: all;
    transition: transform 0.25s, opacity 0.25s;
    transition-delay: 0.1s;
    opacity: 1;
  }

.mobile-carousel__pagination-arrow--prev {
  transform: translateX(-100%);
}

.mobile-carousel__pagination-arrow--prev.visible {
    transform: translateX(0);
  }

.mobile-carousel__pagination-arrow--next {
  transform: translateX(100%);
}

.mobile-carousel__pagination-arrow--next.visible {
    transform: translateX(0);
  }

model-viewer {
  width: 100%;
  height: 50vh;
}

.shopify-model-viewer-ui {
  height: 100%;
  transition: all 0.1s ease-in;
  opacity: 0;
  visibility: hidden;
}

.model-active .shopify-model-viewer-ui {
    opacity: 1;
    visibility: visible;
  }

.shopify-model-viewer-ui__controls-area {
  position: absolute;
  width: 40px;
  bottom: 10px;
  right: 10px;
}

@media (min-width: 40em) {

.shopify-model-viewer-ui__controls-area {
    width: 44px;
    bottom: calc(4px * 5);
    bottom: var(--spacing-medium);
    right: calc(4px * 5);
    right: var(--spacing-medium)
}
  }

@media (max-width: 40em) {

.shopify-model-viewer-ui__controls-area {
    display: flex;
    justify-content: flex-end;
    width: 100%
}

    .shopify-model-viewer-ui__controls-area button {
      margin-left: calc(4px * 3);
      margin-left: var(--spacing-small);
    }
  }

.shopify-model-viewer-ui__controls-area .shopify-model-viewer-ui__button {
  border: 1px solid transparent;
}

.shopify-model-viewer-ui__controls-area .shopify-model-viewer-ui__button:focus {
    border-color: var(--color-text-body);
  }

.shopify-model-viewer-ui__button {
  display: inline-block;
  margin: 0;
  text-align: center;
  white-space: no-wrap;
  cursor: pointer;
  width: 40px;
  height: 40px;
  padding: 0;
  box-sizing: content-box;
  background: var(--color-background);
  border: 0px;
  color: var(--color-text-body);
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
  box-shadow: 0px 2px 4px rgba(26, 26, 26, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.12);
  box-shadow: var(--box-shadow);
}

.shopify-model-viewer-ui__button svg {
    display: block;
  }

@media (min-width: 40em) {

.shopify-model-viewer-ui__button {
    width: 44px;
    height: 44px
}

    .shopify-model-viewer-ui__button svg {
      width: 44px;
      height: 44px;
    }
  }

.shopify-model-viewer-ui__button:hover svg, .shopify-model-viewer-ui__button:focus svg {
      opacity: 0.5;
      transition: opacity 0.25s;
    }

.shopify-model-viewer-ui__poster-control-icon,
.shopify-model-viewer-ui__control-icon {
  width: 40px;
  height: 40px;
}

@media (min-width: 40em) {

.shopify-model-viewer-ui__poster-control-icon,
.shopify-model-viewer-ui__control-icon {
    width: 40px;
    height: 40px
}
  }

.shopify-model-viewer-ui--fullscreen .shopify-model-viewer-ui__control-icon--enter-fullscreen {
    display: none !important;
  }

.shopify-model-viewer-ui__control-icon--exit-fullscreen {
  display: none !important;
}

.shopify-model-viewer-ui--fullscreen .shopify-model-viewer-ui__control-icon--exit-fullscreen {
    display: block !important;
  }

.shopify-model-viewer-ui__button--poster {
  position: absolute;
  width: 40px;
  top: 0px;
  right: 10px;
}

@media (min-width: 40em) {

.shopify-model-viewer-ui__button--poster {
    width: 44px;
    top: 20px;
    right: 20px
}
  }

.shopify-model-viewer-ui__sr-only {
  visibility: hidden;
  position: absolute;
}

.shopify-model-viewer-ui--fullscreen model-viewer {
    height: 100vh;
  }

.model-poster {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.1s ease-in;
}

.model-poster.focus-visible:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      border: 1px solid var(--color-text-body);
    }

.model-active .model-poster {
    opacity: 0;
    visibility: hidden;
  }

.model-poster .media-badge {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

.model-poster .media-badge .icon {
      width: 44px;
      height: 44px;
    }

.model-poster:focus {
    outline: auto;
  }

.model-poster:focus svg path {
      opacity: 1;
    }

.model-poster svg {
    box-shadow: 0px 2px 4px rgba(26, 26, 26, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.12);
    box-shadow: var(--box-shadow);
  }

.model-poster svg .bg {
      stroke: var(--color-background);
      fill: var(--color-background);
    }

.model-poster svg path {
      opacity: 0.6;
      transition: opacity 0.25s;
    }

.model-poster svg:hover path {
        opacity: 1;
        transition: opacity 0.25s;
      }

.shopify-model-viewer-ui__button--poster {
  display: none !important;
}

html:not(.no-js) .navigation__submenu {
    --width: 275px;

    position: absolute;
    width: var(--width);
    background-color: var(--color-background-dropdown);
    color: var(--color-text-dropdown);
    margin-left: calc(calc(4px * 5) * -1);
    margin-left: calc(var(--spacing-medium) * -1);
    padding: calc(4px * 4) calc(4px * 5);
    padding: calc(var(--spacing-unit) * 4) var(--spacing-medium);

    display: none;
  }

html:not(.no-js) .navigation__submenu.active {
      display: block;
    }

html:not(.no-js) .navigation__submenu[data-depth='1'] {
      margin-top: calc(4px * 2);
      margin-top: var(--spacing-extra-small);
    }

html:not(.no-js) .navigation__submenu[data-depth='2'] {
      top: 0;
      left: var(--width);
      margin-top: calc(4px * -4);
      margin-top: calc(var(--spacing-unit) * -4);
    }

html:not(.no-js) .navigation__submenu[data-depth='3'] {
      top: 0;
      left: calc(var(--width) * 2);
      margin-top: calc(4px * -4);
      margin-top: calc(var(--spacing-unit) * -4);
    }

html:not(.no-js) .navigation__submenu-item {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
  }

html:not(.no-js) .navigation__submenu-item > a {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
    }

html:not(.no-js) .navigation__submenu-item + .navigation__submenu-item {
      margin-top: 4px;
      margin-top: var(--spacing-unit);
    }

.no-js .header__links ul {
      display: inline-block;
      margin: 0 0 0 calc(4px * 5);
      margin: 0 0 0 var(--spacing-medium);
      padding: 0;
    }

.no-js .header__links li {
      list-style: none;
      display: inline-block;
    }

.no-js .header__links li + li {
        margin-left: calc(4px * 5);
        margin-left: var(--spacing-medium);
      }

.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  border: 1px solid var(--color-border);
  padding-left: 4px;
  padding-left: var(--spacing-unit);
  padding-right: calc(4px * 5);
  padding-right: var(--spacing-medium);
}

.pagination__arrows {
  display: flex;
}

.pagination__touch.disabled {
    cursor: default;
    opacity: 0.5;
  }

.pagination__touch.disabled > * {
      pointer-events: none;
    }

.pagination__item,
.pagination__ellip {
  display: inline-block;
  margin-left: calc(4px * 4);
  margin-left: calc(var(--spacing-unit) * 4);
}

.payment-icons {
  display: flex;
}

.payment-icons svg {
    display: block;
  }

.payment-icons__icon + .payment-icons__icon {
  margin-left: 6px;
}

.price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 0;
  margin-bottom: 0;
}

.price dl {
    margin-top: 0;
  }

.price dd {
    margin: 0 0.5em 0 0;
  }

.price--unavailable {
  visibility: hidden;
}

.price--compare-price-hidden .price__compare {
    display: none;
  }

.price__pricing-group {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.price__regular {
  display: block;
}

.price__regular,
.price__sale {
  margin-right: 0.625rem;
}

.price--on-sale .price__regular,
  .price--on-sale .price__availability {
    display: none;
  }

.price__availability {
  display: none;
}

.price--sold-out .price__availability {
    display: block;
  }

.price__sale {
  display: none;
}

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

.price__unit {
  display: none;
}

.price--unit-available .price__unit {
    display: block;
  }

.product-form .spr-badge {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.product-form .spr-badge .spr-badge-starrating {
    margin-right: calc(4px * 2);
    margin-right: var(--spacing-extra-small);
  }

.product-form .spr-badge .spr-badge-caption {
    font-size: 12px;
    font-size: var(--font-size-body-small);
  }

.product-form .spr-badge .pf-review-label {
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 4px;
    margin-bottom: var(--spacing-unit);
    font-weight: var(--font-body-bold-weight);
  }

.product-form .spr-badge + .product-form__controls-group {
    border-top: 1px solid var(--color-border);
  }

.contrast .product-form .spr-badge + .product-form__controls-group {
      border-color: var(--color-border-contrast);
    }

.product-form .spr-badge + .product-form__controls-group > .pf-container:first-of-type {
      padding-top: calc(4px * 5);
      padding-top: var(--spacing-medium);
    }

.product-form__variants {
  display: none;
}

.no-js .product-form__variants {
    display: block;
  }

.pf-container {
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
}

.pf-container + .pf-container {
    border-top: 1px solid var(--color-border);
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
  }

.contrast .pf-container + .pf-container {
      border-color: var(--color-border-contrast);
    }

.pf-element {
  height: 56px;
  position: relative;
}

.pf-element:hover .pf-label span:after, .pf-element[focus-within] .pf-label span:after {
      width: 100%;
      opacity: 1;
    }

.pf-element:hover .pf-label span:after, .pf-element:focus-within .pf-label span:after {
      width: 100%;
      opacity: 1;
    }

.pf-label {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
  font-size: 14px;
  line-height: 28px;
  font-weight: var(--font-body-bold-weight);
}

.pf-label span {
    position: relative;
  }

.pf-label span:after {
    content: '';
    height: 1px;
    width: 0%;
    background-color: var(--color-text-body);
    position: absolute;
    left: 0;
    bottom: -1px;
    opacity: 0;
    transition: opacity 0.25s, width 0.25s;
  }

.contrast .pf-label span:after {
      background-color: var(--color-text-body-contrast);
    }

.pf-input {
  width: 100%;
  height: 56px;
  cursor: pointer;
  border: none;
  position: relative;

  font-size: 14px;
  line-height: 28px;
  margin-top: 0px;
  padding-top: 28px;
  padding-left: 0;
  transition: color 0.25s;
}

.pf-input:focus {
    opacity: 0.75;
  }

.pf-icon {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0;
  top: 16px;
  pointer-events: none;
  z-index: 2;
}

.pf__actions {
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
}

@media (min-width: 40em) {

.pf__actions {
    margin: calc(4px * 10) 0;
    margin: var(--spacing-large) 0
}
  }

/* Style Shopify buttons */

.pf__actions .shopify-payment-button {
    margin-top: calc(4px * 3);
    margin-top: var(--spacing-small);
  }

.pf__actions .shopify-payment-button__button {
    border-radius: 24px !important;
    overflow: hidden !important;
  }

.pf__actions .shopify-payment-button__more-options {
    color: black;
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
    color: var(--color-text-link);
  }

.pf__actions .shopify-payment-button__more-options:hover {
      text-decoration: none;
      opacity: 0.6;
    }

.contrast .pf__actions .shopify-payment-button__more-options {
      color: var(--color-text-link-contrast);
    }

.pf__actions .shopify-payment-button__more-options.shopify-payment-button__button--hidden {
    display: none;
  }

.product-form__color-swatches {
  display: flex;
  flex-wrap: wrap;
  padding-top: calc(4px * 7);
  padding-top: calc(var(--spacing-unit) * 7);
}

.product__color-swatch {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  margin-top: calc(4px * 2);
  margin-top: var(--spacing-extra-small);
  margin-right: calc(4px * 2);
  margin-right: var(--spacing-extra-small);
  box-shadow: 0 0 0 1px var(--color-border);
  border: 3px solid var(--color-background);
  cursor: pointer;
  background-position: center !important;
  background-size: cover !important;
}

.product__color-swatch.selected {
    box-shadow: 0 0 0 1px var(--color-text-body);
  }

.product__color-swatch:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--color-text-body);
  }

.contrast .product__color-swatch {
    box-shadow: 0 0 0 1px var(--color-border-contrast);
  }

.contrast .product__color-swatch.selected,
    .contrast .product__color-swatch:focus {
      box-shadow: 0 0 0 1px var(--color-text-body-contrast);
    }

.product-item__media {
  position: relative;
  overflow: hidden;
  margin-bottom: calc(4px * 3);
  margin-bottom: var(--spacing-small);
}

@media (min-width: 40em) {

.product-item__media {
    margin-bottom: 20px;
    margin-bottom: var(--space-grid)
}
      .product-item__media:hover .product-item__add, .product-item__media[focus-within] .product-item__add {
        transform: translateY(0);
        opacity: 1;
      }
      .product-item__media:hover .product-item__add, .product-item__media:focus-within .product-item__add {
        transform: translateY(0);
        opacity: 1;
      }

      .product-item__media:hover .product-item__image--two, .product-item__media[focus-within] .product-item__image--two {
        opacity: 1;
        transform: scale(1);
      }

      .product-item__media:hover .product-item__image--two, .product-item__media:focus-within .product-item__image--two {
        opacity: 1;
        transform: scale(1);
      }
  }

.product-item__image-link {
  display: block;
  position: relative;
  transition: opacity 0.25s;
}

.product-item__image-link:focus {
    opacity: 0.6;
  }

.product-item__add {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  padding-top: 0;
  pointer-events: none;
  transform: translateY(16px);
  opacity: 0;
  transition: opacity 0.45s, transform 0.45s;
}

@media (max-width: 40em) {

.product-item__add {
    display: none
}
  }

.product-item__add button {
    pointer-events: all;
  }

.product-item__stars {
  position: absolute;
  z-index: 5;
  top: calc(4px * 3);
  top: var(--spacing-small);
  left: calc(4px * 3);
  left: var(--spacing-small);
  pointer-events: none;
  /* Offset to remove extra built in spacing */
  margin-top: calc(4px * -1);
  margin-top: calc(var(--spacing-unit) * -1);
}

@media (min-width: 40em) {

.product-item__stars {
    top: calc(4px * 5);
    top: var(--spacing-medium);
    left: calc(4px * 5);
    left: var(--spacing-medium)
}
  }

.product-item__stars .spr-badge-caption {
    display: none;
  }

.product-item__stars .spr-badge-starrating .spr-icon {
    font-size: 80%;
    margin-right: 2px;
  }

.product-item__image--two {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 0.6s, transform 0.6s;
  background-color: transparent;
}

.product-item__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (min-width: 40em) {

.product-item__meta {
    flex-wrap: nowrap
}
  }

.product-item__text {
  width: 100%;
  padding-right: calc(4px * 3);
  padding-right: var(--spacing-small);
}

@media (min-width: 40em) {

.product-item__text {
    flex-shrink: 1;
    width: auto
}
  }

.product-item__text h4 {
    font-weight: inherit;
  }

.product-item__badges {
  width: 100%;
  flex-shrink: 0;
  margin-top: calc(4px * 3);
  margin-top: var(--spacing-small);
}

@media (min-width: 40em) {

.product-item__badges {
    width: auto;
    margin-top: 0
}
  }

.product-item__badge {
  display: inline-block;
  border-radius: 20px;
  padding: 4px 12px;
  color: white;
  font-size: 12px;
}

@media (min-width: 40em) {

.product-item__badge {
    padding: 8px 16px
}
  }

.product-item__badge--sale {
  background-color: #cf2929;
}

.product-item__badge--sold-out {
  background-color: #666666;
}

#shopify-product-reviews {
  margin: calc(4px * 10) 0 !important;
  margin: var(--spacing-large) 0 !important;
}

@media (min-width: 40em) {

#shopify-product-reviews {
    padding-right: calc(10px / 2);
    padding-right: calc(var(--space-inline-element) / 2)
}
  }

#shopify-product-reviews .spr-container {
    padding: 0;
    border: none;
    border-top: 1px solid var(--color-border);
    width: 100%;
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
  }

#shopify-product-reviews .spr-header-title {
    font-size: 24px;
    font-size: var(--font-size-heading-base);
    line-height: 32px;
    line-height: var(--line-height-heading-base);
    color: var(--color-text-heading);
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-style: var(--font-heading-style);
    text-align: left;
    margin: 0 0 calc(4px * 5) 0;
    margin: 0 0 var(--spacing-medium) 0;
  }

#shopify-product-reviews .spr-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

@media (min-width: 40em) {

#shopify-product-reviews .spr-summary {
      flex-wrap: wrap;
      flex-direction: row;
      align-items: center
  }
    }

#shopify-product-reviews .spr-summary-starrating {
    margin-right: calc(4px * 5);
    margin-right: var(--spacing-medium);
  }

#shopify-product-reviews .spr-summary-starrating .spr-icon {
    margin-right: 4px;
    margin-right: var(--spacing-unit);
  }

#shopify-product-reviews .spr-summary-caption {
    color: var(--color-text-subheading);
    font-size: 16px;
    font-size: var(--font-size-body-large);
    line-height: 28px;
    line-height: var(--line-height-body-large);
    width: 50%;
    margin-right: auto;
  }

#shopify-product-reviews .spr-summary-actions {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-summary-actions {
      margin-top: 0
  }
    }

#shopify-product-reviews .spr-reviews {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-reviews {
      margin-top: calc(4px * 10);
      margin-top: var(--spacing-large)
  }
    }

#shopify-product-reviews .spr-review-reportreview {
    font-size: 10px;
    line-height: 10px;
    float: none;
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review-reportreview {
      margin-left: calc(calc(4px * 5) + 25%);
      margin-left: calc(var(--spacing-medium) + 25%)
  }
    }

#shopify-product-reviews form {
    width: 100%;
    max-width: 800px;
  }

#shopify-product-reviews .spr-form-title {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-style: var(--font-heading-style);
    font-size: 18px;
    font-size: var(--font-size-heading-small);
    line-height: 24px;
    line-height: var(--line-height-heading-small);
    color: var(--color-text-heading);
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
  }

#shopify-product-reviews .spr-form-label {
    display: block;
    font-weight: var(--font-body-bold-weight);
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
    margin-bottom: 4px;
    margin-bottom: var(--spacing-unit);
  }

#shopify-product-reviews .spr-button-primary {
    float: none;
  }

#shopify-product-reviews .spr-form-message {
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
  }

#shopify-product-reviews .spr-reviews .spr-starratings {
    margin-top: 4px;
    margin-top: var(--spacing-unit);
  }

#shopify-product-reviews .spr-review-header {
    display: flex;
    flex-wrap: wrap;
    position: relative;
  }

#shopify-product-reviews .spr-review-header .spr-icon {
    font-size: 85%;
    margin-right: 2px;
  }

#shopify-product-reviews .spr-reviews .spr-review {
    border-color: var(--color-border);
    padding: calc(4px * 5) 0;
    padding: var(--spacing-medium) 0;
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-reviews .spr-review {
      padding: calc(4px * 10) 0;
      padding: var(--spacing-large) 0
  }
    }

#shopify-product-reviews .spr-review .spr-review-header-title {
    font-size: 14px;
    font-size: var(--font-size-body-base);
    font-weight: var(--font-body-bold-weight);
    line-height: 24px;
    line-height: var(--line-height-body-base);
    color: var(--color-text-heading);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review .spr-review-header-title {
      padding-left: calc(4px * 5);
      padding-left: var(--spacing-medium)
  }
    }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review-header-starratings {
      width: 25%
  }
    }

#shopify-product-reviews .spr-review .spr-review-header-byline {
    opacity: 1;
    color: var(--color-text-subheading);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review .spr-review-header-byline {
      display: flex;
      flex-direction: column;
      font-style: normal;
      font-size: 0
  }
      #shopify-product-reviews .spr-review .spr-review-header-byline strong {
        font-size: 12px;
        font-size: var(--font-size-body-small);
      }
    }

#shopify-product-reviews .spr-review .spr-review-header-byline strong {
      line-height: 20px;
      line-height: var(--line-height-body-small);
      font-weight: var(--font-body-weight);
    }

#shopify-product-reviews .spr-review-header-title {
    width: 100%;
    margin-bottom: calc(4px * 2) !important;
    margin-bottom: var(--spacing-extra-small) !important;
    max-width: 40em;
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review-header-title {
      width: 75%;
      margin-bottom: 0 !important
  }
    }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review-header-byline {
      width: 25%;
      position: absolute;
      left: 0;
      top: 28px
  }
    }

#shopify-product-reviews .spr-review-content {
    margin-top: calc(4px * 2) !important;
    margin-top: var(--spacing-extra-small) !important;
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-review-content {
      width: 75%;
      margin-left: 25% !important;
      padding-left: calc(4px * 5);
      padding-left: var(--spacing-medium)
  }
    }

#shopify-product-reviews .spr-review-content .spr-review-content-body {
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
    max-width: 40em;
  }

#shopify-product-reviews .spr-review-footer {
    font-size: 10px;
    line-height: 10px;
    color: var(--color-text-meta);
  }

#shopify-product-reviews .spr-reviews .spr-pagination {
    border-top: 1px solid var(--color-border);
    padding: calc(4px * 5) 0 0 0;
    padding: var(--spacing-medium) 0 0 0;
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base);
  }

@media (min-width: 60em) {

#shopify-product-reviews .spr-reviews .spr-pagination {
      padding-top: calc(4px * 10);
      padding-top: var(--spacing-large)
  }
    }

#shopify-product-reviews .spr-reviews .spr-pagination a {
      color: var(--color-text-link);
      text-decoration: underline;
    }

#shopify-product-reviews .spr-reviews .spr-pagination .spr-pagination-page {
      margin: 0 4px;
      margin: 0 var(--spacing-unit);
    }

#shopify-product-reviews .spr-reviews .spr-pagination .spr-pagination-page.is-active {
        font-weight: var(--font-body-weight);
      }

.quick-add {
  /* background-color: purple; */
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.quick-add.loading .quick-add__loading-wrap {
      display: block;
    }

.quick-add:not(.loading) .quick-add__configure {
      display: block;
    }

.quick-add__loading {
  background-color: orange;
}

.quick-add__loading-wrap {
  display: none;
  width: 100%;
  max-width: 100px;
  height: 2px;
  overflow: hidden;
  margin: 80px 0;
}

.quick-add__loading-bar {
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-text-drawer);
  -webkit-animation: loaderLine 1.4s ease-in-out infinite;
          animation: loaderLine 1.4s ease-in-out infinite;
}

@media (min-width: 60em) {

.quick-add__loading-bar {
    background-color: var(--color-text-dropdown)
}
  }

.quick-add__configure {
  display: none;
  width: 100%;
  padding: 10px;
}

.quick-add__product {
  padding: 10px;
  display: flex;
  align-items: center;
}

.quick-add__image {
  position: relative;
  width: 100px;
  height: 100px;
  flex-shrink: 0;
}

.quick-add__image .image {
    width: 100%;
    height: 100%;
  }

.quick-add__details {
  flex-grow: 1;
  margin-left: 20px;
}

.quick-add__details s {
    opacity: 0.5;
  }

.quick-add__form {
  width: 100%;
  padding: 10px;
}

.quick-add__form .pf__actions {
    margin-top: calc(4px * 5);
    margin-top: var(--spacing-medium);
    margin-bottom: 0;
  }

.quick-add__form .pf-container + .pf-container {
    border-color: var(--color-border-dropdown);
  }

.quick-cart {
  --menu-width: 355px;
  --menu-max-width: calc(100vw - 50px);

  position: fixed;
  top: 0;
  right: 0;
  display: none;
}

@media (min-width: 60em) {

.quick-cart {
    position: absolute;
    margin-top: 44px;
    right: 20px;
    right: var(--space-outer)
}
  }

.quick-cart .c-subdued {
    opacity: 0.6;
  }

.quick-cart a {
    transition: opacity 0.25s;
  }

.quick-cart a:hover {
    opacity: 0.5;
  }

.quick-cart .pf-label span:after {
    background-color: var(--color-text-drawer);
  }

@media (min-width: 40em) {

.quick-cart .pf-label span:after {
      background-color: var(--color-text-dropdown)
  }
    }

.quick-cart.active {
  display: block;
  width: var(--menu-width);
  max-width: var(--menu-max-width);
  height: 100%;
}

@media (min-width: 60em) {

.quick-cart.active {
    width: auto;
    height: auto
}
  }

.quick-cart.visible .quick-cart__overlay {
    opacity: 0.5;
  }

.quick-cart.visible .quick-cart__container {
    transform: translateX(0);
    opacity: 1;
  }

@media (min-width: 60em) {

.quick-cart.visible .quick-cart__container {
      opacity: 1;
      transform: translateY(0)
  }
    }

.quick-cart__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--color-overlay);
  opacity: 0;
  transition: opacity 0.25s;
  cursor: pointer;
}

.quick-cart__container {
  width: 100%;
  max-width: 355px;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--color-background-drawer);
  color: var(--color-text-drawer);
  position: relative;
  z-index: 1;
  transform: translateX(100%);
  transition: transform 0.35s ease-in-out;
}

@media (min-width: 60em) {

.quick-cart__container {
    width: 380px;
    background-color: var(--color-background-dropdown);
    color: var(--color-text-dropdown);
    opacity: 0;
    transform: translateY(calc(4px * 2));
    transform: translateY(var(--spacing-extra-small));
    transition: opacity 0.25s, transform 0.25s
}
  }

.quick-cart__container .btn.btn--primary {
    background-color: var(--color-text-drawer);
    border-color: var(--color-text-drawer);
    color: var(--color-background-drawer);
  }

@media (min-width: 60em) {

.quick-cart__container .btn.btn--primary {
      background-color: var(--color-text-dropdown);
      border-color: var(--color-text-dropdown);
      color: var(--color-background-dropdown)
  }
    }

.quick-cart__container .btn.btn--primary:hover,
    .quick-cart__container .btn.btn--primary:focus {
      opacity: 1;
      background-color: var(--color-button-background-hover);
      border-color: var(--color-button-background-hover);
    }

.quick-cart__container .btn.btn--primary .btn__loading-bar {
      background-color: var(--color-background-drawer);
    }

@media (min-width: 40em) {

.quick-cart__container .btn.btn--primary .btn__loading-bar {
        background-color: var(--color-background-dropdown)
    }
      }

.quick-cart__cart {
  display: none;
}

.quick-cart__cart.visible {
    display: block;
  }

@media (max-width: 40em) {

.quick-cart__cart.visible {
      height: 100%;
      overflow-y: scroll
  }
    }

.quick-cart__configure {
  display: none;
}

.quick-cart__configure.visible {
    display: block;
  }

.quick-cart__header {
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  padding-bottom: calc(4px * 4);
  padding-bottom: calc(var(--spacing-unit) * 4);
}

@media (min-width: 60em) {

.quick-cart__header {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-style: var(--font-heading-style);
    font-size: 14px;
    font-size: var(--font-size-body-base);
    line-height: 24px;
    line-height: var(--line-height-body-base)
}
  }

.quick-cart__items {
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
  overflow-y: scroll;
}

@media (min-width: 60em) {

.quick-cart__items {
    max-height: 450px
}
  }

.quick-cart__item {
  position: relative;
  display: flex;
  margin-bottom: 10px;
  margin-bottom: var(--space-inline-element);
  padding: 10px;
  padding: var(--space-inline-element);
  border-radius: 4px;
  transition: background-color 1s;
  overflow: hidden;
}

.quick-cart__item + .quick-cart__item {
    padding-top: calc(4px * 5);
    padding-top: var(--spacing-medium);
  }

.quick-cart__item + .quick-cart__item:before {
      content: '';
      position: absolute;
      top: 0px;
      left: 10px;
      left: var(--space-inline-element);
      right: 10px;
      right: var(--space-inline-element);
      height: 1px;
      background-color: var(--color-border-drawer);
    }

@media (min-width: 60em) {

.quick-cart__item + .quick-cart__item:before {
        background-color: var(--color-border-dropdown)
    }
      }

.quick-cart__item.flash {
    background-color: var(--color-text-dropdown-transparent);
  }

.quick-cart__item-left {
  width: 100px;
  margin-right: calc(4px * 5);
  margin-right: var(--spacing-medium);
  flex-shrink: 0;
}

.quick-cart__item-right {
  overflow: hidden;
}

.quick-cart__item-right h4 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

.quick-cart__image {
  background-color: var(--color-text-dropdown-transparent);
  width: 100px;
  height: 100px;
  position: relative;
}

.quick-cart__item-discounts {
  margin: calc(4px * 3) 0 0 0;
  margin: var(--spacing-small) 0 0 0;
  padding: 0;
}

.quick-cart__item-discounts li {
    list-style: none;
  }

.quick_cart__empty {
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  padding-top: 0;
  display: none;
  opacity: 0.6;
}

.quick_cart__empty.visible {
    display: block;
  }

.quick-cart__footer {
  position: relative;
  padding: calc(4px * 5);
  padding: var(--spacing-medium);
  display: none;
  flex-shrink: 0;
}

.quick-cart__footer:before {
    content: '';
    height: 1px;
    background-color: var(--color-border-drawer);
    position: absolute;
    top: 0;
    right: calc(4px * 5);
    right: var(--spacing-medium);
    left: calc(4px * 5);
    left: var(--spacing-medium);
  }

@media (min-width: 60em) {

.quick-cart__footer:before {
      background-color: var(--color-border-dropdown)
  }
    }

.quick-cart__footer.visible {
    display: block;
  }

.quick-cart__footer p {
    margin-bottom: calc(4px * 5);
    margin-bottom: var(--spacing-medium);
  }

.quick-cart__discounts {
  display: none;
  margin-bottom: calc(4px * 2);
  margin-bottom: var(--spacing-extra-small);
}

.quick-cart__discounts.visible {
    display: block;
  }

.quick-cart__discounts ul {
    margin: 0;
    padding: 0;
  }

.quick-cart__control {
  display: flex;
  width: 100%;
  height: 32px;
  margin-top: 10px;
  background-color: var(--color-text-dropdown);
  color: var(--color-background-dropdown);
}

.quick-cart__button {
  width: 32px;
  height: 32px;
  display: block;
  display: flex;
  align-items: center;
  justify-content: space-around;
  transition: background-color 0.25s;
}

.quick-cart__button svg {
    width: 12px;
    height: 12px;
  }

.quick-cart__button:hover,
  .quick-cart__button:focus {
    background-color: var(--color-button-background-hover);
  }

.quick-cart__qty {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.quick-search {
  --s-height-search-bar: 48px;

  width: 520px;
  position: absolute;
  top: calc(50% - calc(var(--s-height-search-bar) / 2));
  color: var(--color-text-dropdown);
  display: none;

  /* These numbers are a bit magical but they handle
     positioning the search bar perfectly over top the search icon */
  right: calc(20px + 32px);
  right: calc(var(--space-outer) + 32px);
}

.header--has-accounts .quick-search {
    right: calc(20px + 76px);
    right: calc(var(--space-outer) + 76px);
  }

@media (max-width: 40em) {

.quick-search {
    display: none !important
}
  }

.quick-search.active {
  display: block;
}

.quick-search.visible .quick-search__overlay {
    opacity: 0.5;
  }

.quick-search.visible .quick-search__container {
    opacity: 1;
    transform: translateY(0);
  }

.quick-search.visible .quick-search__results.visible {
    opacity: 1;
    pointer-events: all;
  }

.quick-search.visible .quick-search__submit {
    opacity: 1;
    transition: opacity 0.25s;
    transition-delay: 0.2s;
  }

.quick-search.visible .quick-search__submit:focus {
      outline: none;
      opacity: 0.5;
      transition-delay: 0s;
    }

.quick-search.visible .quick-search__clear.visible {
      opacity: 1;
      transition: opacity 0.25s;
      transition-delay: 0.2s;
    }

.quick-search.visible .quick-search__clear.visible:focus {
        outline: none;
        opacity: 0.5;
        transition-delay: 0s;
      }

.quick-search__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--color-overlay);
  z-index: 500;
  z-index: var(--z-index-overlay);
  opacity: 0;
  transition: opacity 0.25s;
  cursor: pointer;
}

.quick-search__container {
  position: relative;
  opacity: 0;
  transform: translateY(calc(4px * 2));
  transform: translateY(var(--spacing-extra-small));
  transition: opacity 0.25s, transform 0.25s;
  z-index: 600;
  z-index: var(--z-index-header-search);
  pointer-events: none;
}

.quick-search__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: var(--s-height-search-bar);
  background-color: var(--color-background-dropdown);
  padding: 0 calc(4px * 3) 0 calc(4px * 5);
  padding: 0 var(--spacing-small) 0 var(--spacing-medium);
  pointer-events: all;
}

.quick-search__input {
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 24px;
  line-height: var(--line-height-body-base);
  flex-grow: 1;
  border: none;
  padding: 0;
}

.quick-search__input::-moz-placeholder {
    color: inherit;
    opacity: 0.5;
  }

.quick-search__input:-ms-input-placeholder {
    color: inherit;
    opacity: 0.5;
  }

.quick-search__input::placeholder {
    color: inherit;
    opacity: 0.5;
  }

.quick-search__actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.quick-search__clear {
  opacity: 0;
  transition: opacity 0.2s;
  margin-left: calc(4px * 3);
  margin-left: var(--spacing-small);
  margin-right: calc(4px * 2);
  margin-right: var(--spacing-extra-small);
}

.quick-search__submit {
  opacity: 0;
  transition: opacity 0.2s;
}

.quick-search__results {
  width: 100%;
  max-height: 600px;
  overflow-y: scroll;
  padding: calc(calc(4px * 5) / 2);
  padding: calc(var(--spacing-medium) / 2);
  background-color: var(--color-background-dropdown);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s, transform 0.25s;
}

.quick-search__header {
  padding: 0 10px;
  padding: 0 var(--space-inline-element);
  padding-top: 10px;
  padding-top: var(--space-inline-element);
  padding-bottom: 4px;
  padding-bottom: var(--spacing-unit);
  opacity: 0.5;
}

/* Improves spacing at the very top of the results element */

.quick-search__header:first-of-type {
    padding-top: 0;
  }

.quick-search__result {
  display: block;
  padding: 10px;
  padding: var(--space-inline-element);
  display: flex;
  align-items: center;
  border-radius: 4px;
  transition: background-color 0.25s;
  border: 1px solid transparent;
}

.quick-search__result:hover {
    background-color: var(--color-text-dropdown-transparent);
    transition: background-color 0.25s;
  }

.quick-search__result:focus {
    outline: none;
    border: 1px dotted var(--color-text-dropdown);
  }

.quick-search__result .hl {
    background-color: var(--color-text-link);
    font-weight: var(--font-body-bold-weight);
  }

.quick-search__result-image {
  position: relative;
  width: 60px;
  height: 60px;
  margin-right: calc(4px * 5);
  margin-right: var(--spacing-medium);
  flex-shrink: 0;
  background-color: var(--color-text-dropdown-transparent);
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.quick-search__result-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

.quick-search__result-image svg {
    opacity: 0.8;
  }

.quick-search__result-details {
  width: 100%;
  overflow: hidden;
}

.quick-search__result-heading {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 80%;
}

.quick-search__result-subheading {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 80%;
  opacity: 0.5;
}

.quick-search__view-all {
  border-top: 1px solid var(--color-border-dropdown);
  margin: 10px;
  margin: var(--space-inline-element);
  margin-bottom: 0;
  padding-top: calc(4px * 4);
  padding-top: calc(var(--spacing-unit) * 4);
  padding-bottom: 10px;
  padding-bottom: var(--space-inline-element);
}

.quick-search__view-all > button {
    text-decoration: underline;
    outline: none;
  }

.quick-search__view-all > button:focus {
      opacity: 0.5;
    }

.section-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: calc(4px * 5);
  margin-bottom: var(--spacing-medium);
  z-index: 1;
}

.share-block {
  border: 1px solid var(--color-border);
  height: 40px;
  display: inline-flex;
  align-items: center;
}

.share-block__icon {
  display: block;
  width: 36px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  opacity: 0.8;
  transition: opacity 0.25s, transform 0.25s;
}

.share-block__icon:hover {
    opacity: 0.45;
  }

.share-block__icon:active {
    transform: scale(0.9);
  }

.share-block__icon .icon {
    width: 18px;
    height: 18px;
  }

.slider-button {
  --button-size: 48px;

  display: flex;
  align-items: center;
  justify-content: space-around;
  width: var(--button-size);
  height: var(--button-size);
  background-color: var(--color-background);
  box-shadow: 0px 2px 4px rgba(26, 26, 26, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.12);
  box-shadow: var(--box-shadow);
  cursor: pointer;
  pointer-events: all;
}

.social-icons {
  display: flex;
  margin: 0;
  padding: 0;
}

.social-icons li {
    width: 20px;
    height: 20px;
    list-style: none;
  }

.social-icons li + li {
    margin-left: calc(4px * 2);
    margin-left: var(--spacing-extra-small);
  }

.social-icons .icon {
    width: 20px;
    height: 20px;
  }

.social-icons a {
    display: block;
  }

/* Utility */

.c-heading {
  color: var(--color-text-heading);
}

.c-subheading {
  color: var(--color-text-subheading);
}

.c-body {
  color: var(--color-text-body);
}

.c-meta {
  color: var(--color-text-meta);
}

.c-link {
  color: var(--color-text-link);
}

.color-error {
  color: var(--color-text-error);
}

/*
  Styling for all contrast sections
*/

.contrast {
  background-color: var(--color-background-contrast);
}

.contrast .c-heading {
    color: var(--color-text-heading-contrast);
  }

.contrast .c-subheading {
    color: var(--color-text-subheading-contrast);
  }

.contrast .c-body {
    color: var(--color-text-body-contrast);
  }

.contrast .c-meta {
    color: var(--color-text-meta-contrast);
  }

.contrast .c-link,
  .contrast .link {
    color: var(--color-text-link-contrast);
  }

.contrast .btn.btn--primary,
  .contrast .shopify-payment-button__button.shopify-payment-button__button--unbranded {
    background-color: var(--color-background-button-contrast);
    border-color: var(--color-background-button-contrast);
    color: var(--color-text-button-contrast);
  }

.contrast .btn.btn--primary:hover,
    .contrast .btn.btn--primary:focus,
    .contrast .shopify-payment-button__button.shopify-payment-button__button--unbranded:hover,
    .contrast .shopify-payment-button__button.shopify-payment-button__button--unbranded:focus {
      background-color: var(--color-background-button-hover-contrast);
      border-color: var(--color-background-button-hover-contrast);
    }

.contrast .placeholder-image {
    background-color: var(--color-background-meta-contrast);
  }

.contrast .placeholder-image svg {
      fill: var(--color-foreground-meta-contrast);
    }

.contrast .image {
    background-color: var(--color-background-meta-contrast);
  }

.s-inline-template {
  margin: 20px 0 40px 0;
  padding-left: 20px;
  padding-left: var(--space-outer);
  padding-right: 20px;
  padding-right: var(--space-outer);
}

@media (min-width: 40em) {

.s-inline-template {
    margin: 40px 0
}
  }

.s-inline-section {
  margin: calc(4px * 5) 0;
  margin: var(--spacing-medium) 0;
  padding-left: 20px;
  padding-left: var(--space-outer);
  padding-right: 20px;
  padding-right: var(--space-outer);
}

@media (min-width: 40em) {

.s-inline-section {
    margin: calc(4px * 10) 0;
    margin: var(--spacing-large) 0
}
  }

body.show-borders .page-section + .inline-section .section-header, body.show-borders .inline-section + .inline-section .section-header, body.show-borders .grid-section + .inline-section .section-header, body.show-borders .carousel-section + .inline-section .section-header {
      display: flex;
      padding-top: calc(4px * 5);
      padding-top: var(--spacing-medium);
      border-top: 1px solid var(--color-border);
    }

.grid-section:not(.full-width) {
  margin: 20px 0;
  margin: var(--space-outer) 0;
  padding: 0 20px;
  padding: 0 var(--space-outer);
  overflow: hidden;
}

@media (min-width: 40em) {

.grid-section.collage-section:not(.full-width) + .grid-section.collage-section:not(.full-width), .grid-section.collage-section:not(.full-width)
  + .grid-section.slideshow-section:not(.full-width), .grid-section.slideshow-section:not(.full-width)
  + .grid-section.collage-section:not(.full-width), .grid-section.slideshow-section:not(.full-width)
  + .grid-section.slideshow-section:not(.full-width) {
      margin-top: calc(calc(4px * 5) * -1);
      margin-top: calc(var(--spacing-medium) * -1)
  }
    }

/* Carousel section is a special case */

.carousel-section {
  margin: 20px 0;
  margin: var(--space-outer) 0;
}

/* Wrapper for static sections so margins collapse */

.sections > .inline-section:first-of-type .s-inline-section {
      /* Will get spacing from the main page section */
      margin-top: 0;
    }

body.show-borders .sections > .inline-section:first-of-type .section-header {
        display: flex;
        padding-top: calc(4px * 5);
        padding-top: var(--spacing-medium);
        border-top: 1px solid var(--color-border);
      }

/* .collage-section + .collage-section {
  margin-top: -20px;
} */

/* 
  Apply base styling
 */

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

.ff-heading {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-style: var(--font-heading-style);
}

.ff-meta {
  font-family: var(--font-meta);
  font-weight: var(--font-meta-weight);
  font-style: var(--font-meta-style);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* 
  Apply font-size and line-height
*/

.fs-heading-x-large {
  font-size: 36px;
  font-size: var(--font-size-heading-x-large);
  line-height: 44px;
  line-height: var(--line-height-heading-x-large);
}

.fs-heading-large {
  font-size: 32px;
  font-size: var(--font-size-heading-large);
  line-height: 40px;
  line-height: var(--line-height-heading-large);
}

.fs-heading-base {
  font-size: 24px;
  font-size: var(--font-size-heading-base);
  line-height: 32px;
  line-height: var(--line-height-heading-base);
}

.fs-heading-small {
  font-size: 18px;
  font-size: var(--font-size-heading-small);
  line-height: 24px;
  line-height: var(--line-height-heading-small);
}

.fs-body-large {
  font-size: 16px;
  font-size: var(--font-size-body-large);
  line-height: 28px;
  line-height: var(--line-height-body-large);
}

.fs-body-base {
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 24px;
  line-height: var(--line-height-body-base);
}

.fs-body-small {
  font-size: 12px;
  font-size: var(--font-size-body-small);
  line-height: 20px;
  line-height: var(--line-height-body-small);
}

.fs-meta {
  font-size: 12px;
  font-size: var(--font-size-meta);
  line-height: 24px;
  line-height: var(--line-height-meta);
}

/* 
  Commonly used responsive type situations
 */

.fs-page-heading {
  font-size: 24px;
  font-size: var(--font-size-heading-base);
  line-height: 32px;
  line-height: var(--line-height-heading-base);
}

@media (min-width: 40em) {

.fs-page-heading {
    font-size: 36px;
    font-size: var(--font-size-heading-x-large);
    line-height: 44px;
    line-height: var(--line-height-heading-x-large)
}
  }

.fs-primary-body {
  font-size: 14px;
  font-size: var(--font-size-body-base);
  line-height: 24px;
  line-height: var(--line-height-body-base);
}

@media (min-width: 40em) {

.fs-primary-body {
    font-size: 16px;
    font-size: var(--font-size-body-large);
    line-height: 28px;
    line-height: var(--line-height-body-large)
}
  }

.t-subdued {
  opacity: 0.65;
}

a.link {
  color: var(--color-text-link);
  text-decoration: underline;
  transition: opacity 0.25s;
}

a.link:hover {
    opacity: 0.6;
  }

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

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

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

.td-u {
  text-decoration: underline;
}

p, a, span {
  font-family: "patron-regular" !important;
}

h1, h2, h3, h4, h5, h6, strong {
  font-family: "patron-black" !important;
}

.text-with-image {
  background-color: #0a2348;
  padding: 0 !important;
}

.text-with-image__container {
  padding: 10% 6vw;
}

.text-with-image__container .text-with-image__inner {
  color: #fff;
  font-size: 24px;
  font-family: "patron-regular" !important;
}

.text-with-image__container .text-with-image__inner svg,
.text-with-image__container .text-with-image__inner img {
  vertical-align: middle;
  max-width: 49px;
  max-height: 33px;
  width: auto;
}

@media (min-width: 40em) {
  .text-with-image__container .text-with-image__inner {
    font-size: 48px;
  }  

  .text-with-image__container .text-with-image__inner svg,
  .text-with-image__container .text-with-image__inner img {
    max-width: unset;
    max-height: unset;
  }
}

.section-instagram {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.instagram__container {
  padding: 6% 0 0;
}

.instagram__container .instagram__header {
  padding: 0 6vw;
}

.instagram__container .pink-text {
  color: #ff8f8f;
}

.instagram__container .instagram-link {
  color: #0a2194;
}

.instagram__container h1 {
  font-size: 24px;
}

.instagram__container .instagram__post {
  padding-top: 10%;
  padding-bottom: 0%;
  margin-top: 0px;
  position: relative;
  display: block;
}

.instagram__container .instagram__post .instagram__item {
  margin-top: 0px;
  width: 100%;
}

.instagram__container .instagram__post .instagram__item--1 img {
  max-width: 304px;
  -webkit-transform: rotate(5deg) scale(.8);
  -ms-transform: rotate(5deg) scale(.8);
  transform: rotate(5deg) scale(.8);
  z-index: 1;
}

.instagram__container .instagram__post .instagram__item--2 {
  text-align: right;
  margin-top: -35px;
  position: relative;
  z-index: 4;
}

.instagram__container .instagram__post .instagram__item--2 video {
  max-width: 243px;
  -webkit-transform: rotate(-5deg) translateY(-10%);
  -ms-transform: rotate(-5deg) translateY(-10%);
  transform: rotate(-5deg) translateY(-10%);
  margin-right: 22px;
}

.instagram__container .instagram__post .instagram__item--3 img {
  max-width: 412px;
  -webkit-transform: rotate(4deg) scale(.6);
  -ms-transform: rotate(4deg) scale(.6);
  transform: rotate(4deg) scale(.6);
  margin-left: -58px;
  margin-top: -135px;
}

@media (min-width: 40em) {
  .instagram__container {
    padding-bottom: 6%;
  }

  .instagram__container h1 {
    font-size: 48px;
  }

  .instagram__container .instagram__post {
    display: flex;
    padding-bottom: 5%;
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .instagram__container .instagram__post .instagram__item {
    width: calc(1 / 3 * 100%);
  }

  .instagram__container .instagram__post .instagram__item--1 img {
    max-width: 495px;
    z-index: 2;
  }
  
  .instagram__container .instagram__post .instagram__item--2 video {
    max-width: 536px;
    margin-right: 0;
  }
  
  .instagram__container .instagram__post .instagram__item--3 img {
    max-width: 495px;
    margin-left: 0;
    margin-top: 0;
  }
}

.section-container {
  padding: 100px 40px;
}

.section-part-1 .grid {
  display: block;
}

.section-part-1 .grid .grid__item {
  width: 100%;
}

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

.section-part {
  position: relative;
}

.section-part-1 img {
  width: 90%;
  height: 90%;
  margin: auto;
  object-fit: contain;
  margin: 0 auto;
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  max-width: 650px;
}

.section-part-1 .content p:not(:last-child) {
  margin-bottom: 30px;
}

.section-part-1 .content p {
  color: #fff;
  font-size: 24px;
  text-align: center;
}

.section-part-1 .content p strong {
  font-weight: 800;
  color: #0a2348;
}

.section-part-1 .content .logo {
  width: 100px;
  margin: auto;
  display: block;
}

.section-part-1 .display-flex {
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-part-2 .content p {
  color: #ff571c;
  font-size: 24px;
  text-align: center;
}

.section-part-2 .content p strong {
  font-weight: 800;
  color: #0a2348;
}

.section-part-2 .content p:not(:last-child) {
  margin-bottom: 30px;
}

.section-part-2 .content {
  position: relative;
  z-index: 2;
} 

.wrapper {
  max-width: 1240px;
  margin: 0 auto;
}

.section-part-2:before {
  content: "";
  width: 300px;
  height: 300px;
  position: absolute;
  background-size: auto;
  background-repeat: no-repeat;
  right: 10%;
  z-index: 1;
}

.section-part-2:after {
  content: "";
  width: 300px;
  height: 300px;
  position: absolute;
  background-size: auto;
  background-repeat: no-repeat;
  left: 10%;
  bottom: 0;
  z-index: 1;
}

.section-part-3 .content p {
  color: #fff;
  font-size: 24px;
  text-align: center;
}

.section-part-3 .content p strong {
  font-weight: 800;
  color: #0a2348;
}

.section-part-3 .content p:not(:last-child) {
  margin-bottom: 30px;
}

.section-part-3 .images {
  display: block;
  margin: 50px 0;
  text-align: center;
  width: 100%;
}

.section-part-3 .images .image {
  max-width: 250px;
  display: inline-block;
  min-height: 380px;
  object-fit: cover;
}

.section-part-3 .images .image:not(:last-child) {
  margin-right: 15px;
}

.section-part-3 .images .image1,
.section-part-3 .images .image3 {
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
}

.section-part-3 .images .image2,
.section-part-3 .images .image4 {
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
}

.page_wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
}

.carbon-offsets__container {
  margin: 50px auto;
}

.carbon-offsets__container h1 {
  font-size: 40px;
  color: #0a2348;
}

.carbon-offsets__container h2 {
  font-size: 30px;
  color: #ff571c;
}

.carbon-offsets__container a {
  color: #ff571c;
}

.carbon-offsets__container p {
  font-size: 24px;
}

.carbon-offsets__container img {
  width: 100%;
  margin: 30px 0;
}

@media (min-width: 40em) {
  .section-part-1 .grid {
    display: flex;
  }

  .section-part-1 .grid .grid__item {
    width: 50%;
  }

  .section-part-1 .content p,
  .section-part-2 .content p,
  .section-part-3 .content p {
    font-size: 40px;
  }

  .carbon-offsets__container h1 {
    font-size: 60px;
  }

  .carbon-offsets__container h2 {
    font-size: 50px;
  }
  
  .carbon-offsets__container p {
    font-size: 40px;
  }

  .carbon-offsets__container img {
    width: auto;
  }
}