@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b {
  font-weight: bolder;
}

strong {
  font-weight: bolder;
}

code {
  font-family: monospace, monospace;
  font-size: 1em;
}

kbd {
  font-family: monospace, monospace;
  font-size: 1em;
}

samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  bottom: -0.25em;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

img {
  border-style: none;
}

button {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
}
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

input {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  overflow: visible;
}

optgroup {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

select {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  text-transform: none;
}

textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  overflow: auto;
}

[type=button] {
  -webkit-appearance: button;
}
[type=button]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type=button]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset] {
  -webkit-appearance: button;
}
[type=reset]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type=reset]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=submit] {
  -webkit-appearance: button;
}
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button {
  height: auto;
}
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

:root {
  --shop-border-color: #dee2e6;
}

.shop #content {
  padding: 2.4em 2.4rem;
}
.shop p {
  margin: 1.3em 0;
}
.shop strong {
  font-weight: normal;
  font-size: 1.3em;
}
.shop .errors strong {
  font-size: 1em;
}
.shop #container {
  min-height: 80vh;
}
.shop a:not(.btn) {
  color: black;
}

input#quantity {
  max-width: 3em;
}

::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder {
  color: lightgray;
}

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

.form-control {
  font-size: inherit;
}
.form-control#id_captcha {
  border: none;
  padding: 0;
}

#id_captcha {
  margin-bottom: 1em;
}

.form-check {
  min-height: 0;
}

form h2 {
  font-weight: normal;
}
form .fieldWrapper {
  margin-bottom: 1.2em;
}
form .form-group label, form .form-group input {
  display: block;
}
form .form-group label {
  margin-bottom: 4px;
}
form .form-floating label.form-label {
  color: #999;
}
form .delivery-address h2,
form .delivery-address .address {
  display: none;
}
form .delivery-address.visible h2,
form .delivery-address.visible .address {
  display: block;
}
form .error .form-group label {
  color: red;
}

form.add-to-cart p.price {
  margin-bottom: 0.6em !important;
}

.product-inquiry form {
  display: none;
}
.product-inquiry.active button.toggle-waitlist {
  display: none;
}
.product-inquiry.active form {
  display: block;
}

.shop-header {
  margin-bottom: 2.4em;
}

.shop.cart .checkout section {
  display: none;
}

section.cart h2 {
  font-weight: normal;
}
section.cart ul.products {
  border-top: 1px solid var(--shop-border-color);
  margin: 0;
  padding: 0;
}
section.cart ul.products li.product {
  width: 100%;
  border-bottom: 1px solid var(--shop-border-color);
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
}
section.cart ul.products li.product .teaser {
  width: 100px;
}
section.cart ul.products li.product .description {
  flex-grow: 1;
  padding: 0 24px;
}
section.cart ul.products li.product .description .header {
  margin-bottom: 0.6em;
}
section.cart ul.products li.product .description .buttons {
  display: flex;
}
section.cart ul.products li.product .description .buttons .quantity {
  margin-right: 8px;
}
section.cart ul.products li.product .price {
  flex-basis: 100px;
  text-align: right;
}
section.cart ul.products li.product .price p {
  margin: 0;
}
section.cart .subtotal, section.cart .shipping-costs, section.cart .discount, section.cart .total {
  text-align: right;
  width: 100%;
  margin-bottom: 0;
}
section.cart .subtotal strong, section.cart .shipping-costs strong, section.cart .discount strong, section.cart .total strong {
  display: inline-block;
  width: 6em;
}
section.cart .discount .btn {
  margin-right: 1.2em;
}
section.cart .promotion-form {
  max-width: 300px;
  margin-bottom: 1em;
  margin-left: auto;
}
section.cart .total {
  margin-bottom: 2.4em;
}
section.cart .btn-group {
  margin-top: 1.8em;
}
section.cart ul.messages {
  margin: 0;
  padding: 0;
}
section.cart ul.messages .info {
  color: red;
}
section.cart ul.messages .success {
  color: purple;
}
section.cart.success ul.products {
  border-top-color: var(--shop-border-color);
}
section.cart.success ul.products li.product {
  border-bottom-color: var(--shop-border-color);
}

section.checkout-payment #cash-on-pickup .btn {
  display: block;
  margin-bottom: 11px;
  height: 35px;
  border-radius: 4px;
}

strong {
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .checkout-wrapper {
    display: flex;
    justify-content: space-between;
  }
  .checkout-wrapper .column {
    width: calc(50% - 2em);
    max-width: 600px;
  }
}
.checkout-wrapper section {
  margin-bottom: 5em;
  position: relative;
  overflow: visible;
}
.checkout-wrapper section .section-title {
  text-transform: uppercase;
  font-family: "Futura", "Poppins", Arial, sans-serif;
  text-align: left;
  font-size: 2em;
  font-weight: normal;
  line-height: 1;
  margin: 0 0 0.6em;
}
.checkout-wrapper section .section-help-text {
  font-size: 1em;
  margin-bottom: 1.8em;
}
.checkout-wrapper section .label {
  margin-bottom: 1em;
  font-size: 1em;
}
.checkout-wrapper section.success .section-title {
  color: #000;
  display: inline-block;
  position: relative;
  margin-right: 1em;
}
.checkout-wrapper section.success .section-title::after {
  position: absolute;
  top: -0.05em;
  width: 1em;
  content: "✓";
  font-size: 1.3em;
  pointer-events: none;
  color: purple;
}
.checkout-wrapper section.success h1, .checkout-wrapper section.success h2, .checkout-wrapper section.success h3, .checkout-wrapper section.success address, .checkout-wrapper section.success p, .checkout-wrapper section.success a:not(.btn) {
  color: #000;
}
.checkout-wrapper section.inactive .section-title {
  color: lightgray;
}
.checkout-wrapper section.success .btn, .checkout-wrapper section.inactive .btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
}
.checkout-wrapper section.checkout-payment #on-account {
  margin-bottom: 17px;
}
.checkout-wrapper section.checkout-payment #on-account a {
  display: block;
  height: 55px;
  line-height: 39px;
}
.checkout-wrapper address {
  font-style: normal;
}

section.checkout-shipping p.shipping-option,
section.checkout-shipping p.shipping-costs,
section.checkout-shipping p.discount-costs,
section.checkout-shipping p.total-costs {
  text-align: left;
  margin: 0;
  display: flex;
}
section.checkout-shipping p.shipping-option .label, section.checkout-shipping p.shipping-option strong,
section.checkout-shipping p.shipping-costs .label,
section.checkout-shipping p.shipping-costs strong,
section.checkout-shipping p.discount-costs .label,
section.checkout-shipping p.discount-costs strong,
section.checkout-shipping p.total-costs .label,
section.checkout-shipping p.total-costs strong {
  display: block;
}
section.checkout-shipping p.shipping-option .label,
section.checkout-shipping p.shipping-costs .label,
section.checkout-shipping p.discount-costs .label,
section.checkout-shipping p.total-costs .label {
  width: 10em;
  margin: 0;
}
section.checkout-shipping p.shipping-costs strong,
section.checkout-shipping p.total-costs strong {
  text-align: right;
}

@media only screen and (min-width: 768px) {
  form .columns {
    display: flex;
    justify-content: space-between;
  }
  form .columns .fieldWrapper {
    width: 49%;
  }
  form .billing-address h2 {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  form:not(.add-to-cart) .btn-primary {
    display: block;
    width: 100%;
  }
  .checkout-wrapper .btn-group-block {
    display: block;
  }
  .checkout-wrapper .btn-wide {
    display: block;
    width: 100%;
  }
}
@font-face {
  font-family: "Optima";
  src: url("../fonts/Optima/OptimaLTStd.woff2") format("woff2"), url("../fonts/Optima/OptimaLTStd.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Optima";
  src: url("../fonts/Optima/OptimaLTStd-Italic.woff2") format("woff2"), url("../fonts/Optima/OptimaLTStd-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/Futura/Futura-Medium.woff2") format("woff2"), url("../fonts/Futura/Futura-Medium.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --viewport-height: auto;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  height: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Optima", Arial, sans-serif;
  font-size: 16px;
  color: #333;
  padding: 0;
  margin: 0;
  font-weight: normal;
}

h1, h2, h3, h4, h5, strong, b {
  font-weight: normal;
  font-size: 1em;
}

img {
  display: block;
  height: auto;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

figure {
  margin: 0;
}

figcaption {
  font-size: 0.8em;
  padding-top: 12px;
  padding-left: 2.4em;
  padding-right: 2.4em;
}

.embed-wrapper {
  position: relative;
}
.embed-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.logo-overlay {
  width: 100%;
}

aside.note {
  background: tomato;
  color: white;
  font-weight: normal;
  text-align: center;
  padding: 0.6em 2.4em;
}

#header {
  padding: 1.8em 2.4em;
  position: sticky;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
  z-index: 999;
}
#header.is-sticky {
  background: rgb(255, 255, 255); /* Example: Slight transparency */
}
#header #logo {
  margin: 0;
  text-transform: uppercase;
  font-family: "Poppins", Arial, sans-serif;
  text-align: center;
  font-size: 2em;
  height: 6vw;
}
@media only screen and (min-width: 480px) {
  #header #logo {
    height: 2rem;
  }
}
#header #logo {
  font-weight: normal;
  line-height: 1;
  z-index: 99;
  position: relative;
}
#header #logo a {
  color: black;
  text-decoration: none;
  display: block;
  height: 100%;
}
#header #logo a img {
  height: 100%;
  width: auto;
}
#header button#show-mobile-menu,
#header a#mobile-cart {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  color: black;
  text-decoration: none;
  padding: 0.6em;
  margin: 0 -0.6em;
  z-index: 999;
}
@media screen and (min-width: 768px) {
  #header button#show-mobile-menu,
  #header a#mobile-cart {
    display: none;
  }
}
#header button#show-mobile-menu {
  left: 2.4em;
  line-height: 1;
  background: transparent;
  outline: 0;
  border: none;
}
#header a#mobile-cart {
  right: 2.4em;
}
#header a#mobile-cart span .items {
  display: block;
  position: absolute;
  background: red;
  border-radius: 1em;
  top: 0;
  right: 0;
  color: white;
  line-height: 1;
  padding: 0.2em;
  font-size: 0.8em;
  min-width: 1.4em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #header #main-menu {
    display: none;
    visibility: hidden;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #header #main-menu {
    padding-left: 14em;
  }
}
#header #main-menu {
  z-index: 99;
}
#header #main-menu ul {
  padding: 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #header #main-menu ul {
    display: flex;
    justify-content: center;
    position: relative;
  }
}
#header #main-menu ul li {
  margin-left: 0;
  margin-right: 0;
  position: relative;
  text-align: center;
}
#header #main-menu ul li a, #header #main-menu ul li button {
  text-decoration: none;
  color: black;
  background: transparent;
  border: none;
  padding: 0.6em;
  margin: 0.2em;
  display: block;
  line-height: 1;
  text-align: center;
  width: 100%;
}
@media screen and (hover: hover) {
  #header #main-menu ul li a:hover {
    text-decoration: underline;
  }
}
#header #main-menu ul li ul.submenu {
  display: block;
}
@media screen and (min-width: 768px) {
  #header #main-menu ul li {
    text-align: left;
  }
  #header #main-menu ul li a, #header #main-menu ul li button {
    text-align: left;
  }
  #header #main-menu ul li.cart {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }
  #header #main-menu ul li.cart span .items {
    display: block;
    position: absolute;
    background: red;
    border-radius: 1em;
    top: 0;
    right: 0;
    color: white;
    line-height: 1;
    padding: 0.2em;
    font-size: 0.8em;
    min-width: 1.4em;
    text-align: center;
  }
  #header #main-menu ul li.has-submenu button::after {
    content: "";
    display: inline-block;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath stroke='%23000' stroke-width='1.5' d='M1.5 4 6 8l4.5-4'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath stroke='%23000' stroke-width='1.5' d='M1.5 4 6 8l4.5-4'/%3E%3C/svg%3E");
    width: 12px;
    height: 10px;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    background-color: black;
    margin-left: 0.3em;
  }
}
@media screen and (min-width: 768px) and (hover: none) {
  #header #main-menu ul li.has-submenu button {
    cursor: pointer;
  }
}
@media screen and (min-width: 768px) {
  #header #main-menu ul li ul.submenu {
    display: none;
    position: absolute;
    top: 2.4em;
    left: 0.2em;
    min-width: 7em;
    padding: 0.6em 0;
    margin: 0;
    background: white;
    color: black;
  }
  #header #main-menu ul li ul.submenu li {
    margin: 0;
    position: static;
  }
  #header #main-menu ul li ul.submenu li a {
    display: block;
    color: black;
    margin: 0;
    text-align: left;
    white-space: nowrap;
  }
  #header #main-menu ul li.open ul.submenu {
    display: block;
  }
}
@media (hover: hover) {
  #header #main-menu ul li:hover .submenu {
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  #header #main-menu ul li {
    margin-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  #header #logo {
    position: absolute;
    top: 50%;
    transform: translateY(-51%);
    left: 2.4rem;
    text-align: left;
    margin: 0;
    line-height: 1;
    z-index: 999;
  }
}

#footer #newsletter-signup {
  margin-top: 4.8em;
  padding-left: 2.4em;
}
#footer #newsletter-signup .indicates-required {
  display: none;
}
#footer #newsletter-signup #mc_embed_signup {
  width: 100%;
}
#footer #newsletter-signup .mc-field-group {
  max-width: 400px;
}
#footer #newsletter-signup .mc-field-group label {
  display: none;
}
#footer #newsletter-signup input.email {
  padding: 0.6em 0.8em;
}
#footer #newsletter-signup input[type=submit] {
  border: none;
  outline: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: black;
  font-family: "Optima", sans-serif;
  font-weight: normal;
  margin-top: 1em;
}
@media screen and (hover: hover) {
  #footer #newsletter-signup input[type=submit]:hover {
    box-shadow: none;
  }
}
@media screen and (min-width: 768px) {
  #footer #mobile-navigation p.logo, #footer #mobile-navigation button#close-mobile-menu, #footer #mobile-navigation a#mobile-cart, #footer #mobile-navigation nav#main-menu {
    display: none;
    visibility: hidden;
  }
  #footer #mobile-navigation button#close-mobile-menu,
  #footer #mobile-navigation a#mobile-cart {
    display: inline-block;
  }
  #footer #mobile-navigation nav ul {
    padding: 0;
    margin: 1.8em 2.4em;
  }
  #footer #mobile-navigation nav ul li {
    display: inline-block;
    margin-right: 1.2em;
  }
  #footer #mobile-navigation nav ul li a {
    color: black;
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  #footer #mobile-navigation nav ul li a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  #footer #mobile-navigation {
    display: flex;
    flex-direction: column;
    justify-content: top;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: var(--viewport-height);
    background-color: white;
    overflow-y: auto;
    z-index: 999;
    padding: 1.8em 2.4em 3.6em;
    transition: left 700ms ease-in-out;
    opacity: 1;
  }
  #footer #mobile-navigation .logo {
    height: 6vw;
    margin-bottom: 1.8em;
    position: absolute;
    top: 1.8em;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 767px) and (min-width: 480px) {
  #footer #mobile-navigation .logo {
    height: 2rem;
  }
}
@media screen and (max-width: 767px) {
  #footer #mobile-navigation .logo img {
    display: block;
    height: 100%;
  }
  #footer #mobile-navigation button#close-mobile-menu,
  #footer #mobile-navigation a#mobile-cart {
    color: black;
    text-decoration: none;
    position: absolute;
    top: 1.5em;
    display: block;
    padding: 0.6em;
    line-height: 1;
    margin: 0 -0.5em;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  #footer #mobile-navigation button#close-mobile-menu,
  #footer #mobile-navigation a#mobile-cart {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #footer #mobile-navigation button#close-mobile-menu {
    left: 2.4em;
    background: transparent;
    outline: 0;
    border: none;
  }
  #footer #mobile-navigation a#mobile-cart {
    right: 1.8em;
  }
  #footer #mobile-navigation a#mobile-cart span .items {
    display: block;
    position: absolute;
    background: red;
    border-radius: 1em;
    top: 0;
    right: 0;
    color: white;
    line-height: 1;
    padding: 0.2em;
    font-size: 0.8em;
    min-width: 1.4em;
    text-align: center;
  }
  #footer #mobile-navigation nav ul {
    margin: 0;
    padding: 0;
    border-top: 1px solid lightgray;
  }
  #footer #mobile-navigation nav ul li {
    border-bottom: 1px solid lightgray;
  }
  #footer #mobile-navigation nav ul li a, #footer #mobile-navigation nav ul li button {
    display: block;
    padding: 0.9em 0;
    text-align: left;
    line-height: 1;
    text-decoration: none;
    color: black;
    width: 100%;
  }
  #footer #mobile-navigation nav ul li button {
    outline: 0;
    border: none;
    background: transparent;
  }
  #footer #mobile-navigation nav ul li.has-submenu {
    position: relative;
  }
  #footer #mobile-navigation nav ul li.has-submenu button::after {
    content: "";
    display: inline-block;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath stroke='%23000' stroke-width='1.5' d='M1.5 4 6 8l4.5-4'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' aria-hidden='true'%3E%3Cpath stroke='%23000' stroke-width='1.5' d='M1.5 4 6 8l4.5-4'/%3E%3C/svg%3E");
    width: 12px;
    height: 10px;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    background-color: black;
    margin-left: 0.3em;
    position: absolute;
    top: 1.4em;
    transform: translateY(-50%);
    right: 0;
  }
}
@media screen and (max-width: 767px) and (hover: none) {
  #footer #mobile-navigation nav ul li.has-submenu button {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  #footer #mobile-navigation nav ul li.has-submenu.open button::after {
    transform: rotate(180deg);
    margin-top: -5px;
  }
  #footer #mobile-navigation nav ul li ul.submenu {
    padding-left: 1.8em;
    display: none;
  }
  #footer #mobile-navigation nav ul li.open {
    border-bottom: none;
  }
  #footer #mobile-navigation nav ul li.open ul.submenu {
    display: block;
  }
  #footer #mobile-navigation nav#main-menu {
    margin-top: 4.8em;
    margin-bottom: 4.8em;
  }
}

body.mobile-menu-open {
  overflow: hidden;
  position: relative;
}
body.mobile-menu-open #footer #mobile-navigation {
  left: 0;
}

body.home-page #footer #newsletter-signup {
  display: none;
}

.home-page #header #logo, .campaign-index #header #logo, .campaign-page #header #logo {
  color: white;
}
.home-page #header #logo img, .campaign-index #header #logo img, .campaign-page #header #logo img {
  filter: invert(1);
}
.home-page #header #main-menu ul li a, .home-page #header #main-menu ul li button, .campaign-index #header #main-menu ul li a, .campaign-index #header #main-menu ul li button, .campaign-page #header #main-menu ul li a, .campaign-page #header #main-menu ul li button {
  color: white;
}
.home-page #header #main-menu ul li.has-submenu button::after, .campaign-index #header #main-menu ul li.has-submenu button::after, .campaign-page #header #main-menu ul li.has-submenu button::after {
  background-color: white;
}
.home-page #header button#show-mobile-menu,
.home-page #header a#mobile-cart, .campaign-index #header button#show-mobile-menu,
.campaign-index #header a#mobile-cart, .campaign-page #header button#show-mobile-menu,
.campaign-page #header a#mobile-cart {
  color: white;
}
.home-page #footer #footer-menu, .campaign-index #footer #footer-menu, .campaign-page #footer #footer-menu {
  position: absolute;
  bottom: 1.8em;
  left: 2.4em;
}
.home-page #footer #footer-menu ul, .campaign-index #footer #footer-menu ul, .campaign-page #footer #footer-menu ul {
  margin: 0;
}
.home-page #footer #footer-menu ul li a, .campaign-index #footer #footer-menu ul li a, .campaign-page #footer #footer-menu ul li a {
  color: white;
}
@media only screen and (min-width: 768px) {
  .home-page .slideshow .swiper-controls, .campaign-index .slideshow .swiper-controls, .campaign-page .slideshow .swiper-controls {
    top: auto;
    bottom: 2.4em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
  }
  .home-page .slideshow .swiper-controls .swiper-pagination-bullet, .campaign-index .slideshow .swiper-controls .swiper-pagination-bullet, .campaign-page .slideshow .swiper-controls .swiper-pagination-bullet {
    color: white;
  }
  .home-page .slideshow .swiper-controls .swiper-pagination-bullet-active, .campaign-index .slideshow .swiper-controls .swiper-pagination-bullet-active, .campaign-page .slideshow .swiper-controls .swiper-pagination-bullet-active {
    color: white;
  }
}
.home-page #slideshow, .campaign-index #slideshow, .campaign-page #slideshow {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .home-page #slideshow, .campaign-index #slideshow, .campaign-page #slideshow {
    position: fixed;
    width: 100%;
    height: 100vh;
    max-height: none;
  }
  .home-page #slideshow .swiper-slide figure, .campaign-index #slideshow .swiper-slide figure, .campaign-page #slideshow .swiper-slide figure {
    height: 100vh;
    background: yellow;
  }
  .home-page #slideshow .swiper-slide figure img, .campaign-index #slideshow .swiper-slide figure img, .campaign-page #slideshow .swiper-slide figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.logo-overlay {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.product-page main #order #order-wrapper {
  padding: 3.6em 2.4em;
  text-align: left;
}
.product-page main #order #order-wrapper h1 {
  font-size: 1.6em;
  margin-bottom: 1.2rem;
}
.product-page main #order #order-wrapper #price {
  font-size: 1.2em;
  margin-bottom: 2.4rem;
}
.product-page main #order #order-wrapper #price span {
  font-size: 0.8rem;
}
.product-page main #order #order-wrapper p {
  margin: 0 0 1.2em;
}
.product-page main #order #order-wrapper #short-description {
  text-align: left;
  margin-bottom: 1.8rem;
}
.product-page main #order #order-form .form-wrapper,
.product-page main #order #order-form button#order-form-close {
  display: none;
}
.product-page main #order #order-form.open .form-wrapper,
.product-page main #order #order-form.open button#order-form-close {
  display: block;
}
.product-page main #order #order-form.open button#order-form-open {
  display: none;
}
.product-page main #order #order-form .form-group {
  margin: 0.8em 0;
}
@media only screen and (min-width: 768px) {
  .product-page main {
    display: flex;
    flex-direction: row-reverse;
    min-height: 500px;
    margin-top: 6rem;
  }
  .product-page main #order {
    flex-basis: 30%;
    flex-shrink: 0;
    position: relative;
    text-align: left;
  }
  .product-page main #order #order-wrapper {
    max-width: 24rem;
  }
  .product-page main #order #short-description {
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto;
  }
  .product-page main #description {
    flex-grow: 1;
  }
}
.product-page #recommendations {
  min-height: 2000px;
}

.products {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .products {
    padding-top: 8rem;
    margin: 0 -4px;
  }
}
.products article, .products .section-title {
  flex-basis: 100%;
}
@media only screen and (min-width: 640px) {
  .products article, .products .section-title {
    flex-basis: 250px;
  }
}
.products article, .products .section-title {
  flex-shrink: 0;
  flex-grow: 1;
  position: relative;
  margin: 4px;
}
@media only screen and (min-width: 1440px) {
  .products article, .products .section-title {
    flex-basis: 333px;
  }
}
@media only screen and (min-width: 1600px) {
  .products article, .products .section-title {
    flex-basis: 400px;
  }
}
.products article figure img, .products .section-title figure img {
  display: block;
  width: 100%;
  height: auto;
}
.products article .overlay, .products .section-title .overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  color: #333;
  opacity: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  text-decoration: none;
}
.products article .overlay .overlay-wrapper, .products .section-title .overlay .overlay-wrapper {
  margin-bottom: 1em;
}
.products article .overlay .overlay-wrapper h1, .products article .overlay .overlay-wrapper p, .products .section-title .overlay .overlay-wrapper h1, .products .section-title .overlay .overlay-wrapper p {
  text-align: center;
  margin: 0;
}
.products article .overlay .overlay-wrapper h1, .products .section-title .overlay .overlay-wrapper h1 {
  font-size: 0.8em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media only screen and (min-width: 1440px) {
  .products article .overlay .overlay-wrapper h1, .products .section-title .overlay .overlay-wrapper h1 {
    font-size: 1em;
  }
}
@media (hover: hover) {
  .products article .overlay:hover .overlay-wrapper h1, .products .section-title .overlay:hover .overlay-wrapper h1 {
    font-size: 0.9em;
  }
}
@media only screen and (hover: hover) and (min-width: 1440px) {
  .products article .overlay:hover .overlay-wrapper h1, .products .section-title .overlay:hover .overlay-wrapper h1 {
    font-size: 1.1em;
  }
}
.products article.sold::after, .products .section-title.sold::after {
  content: "SOLD";
  display: block;
  position: absolute;
  bottom: 1em;
  right: 1em;
  background: purple;
  text-indent: -999px;
  overflow: hidden;
  width: 2em;
  height: 2em;
  border-radius: 1em;
}
.products .section-title {
  font-family: Futura, "Optima", Arial, sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.5em;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
}
@media only screen and (max-width: 639px) {
  .products .section-title {
    padding-bottom: 133%;
  }
}
.products .section-title {
  position: relative;
  background: #f6f6f6;
}
.products .section-title span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  z-index: 2;
  text-align: center;
  line-height: 1;
}
.products .section-title:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  opacity: 0.25;
  z-index: 1;
}

.button,
.btn-primary {
  padding: 8px 12px;
  color: white;
  text-decoration: none;
  border-radius: 4px;
}
@media (hover: hover) {
  .button:hover,
  .btn-primary:hover {
    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.3);
  }
  .button:active,
  .btn-primary:active {
    box-shadow: inset 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
  }
}

ul {
  list-style: none;
}

nav ul {
  padding-left: 20px;
}
nav ul#index {
  padding-left: 0;
}

.block {
  margin: 0 auto 4.8em;
}

@media screen and (max-width: 600px) {
  .image-block {
    width: 100% !important;
  }
  .image-block img {
    width: 100%;
  }
}

.text_block {
  padding-left: 2.4em;
  padding-right: 2.4em;
}
.text_block .text.medium {
  max-width: 600px;
}

@media screen and (min-width: 768px) {
  .text_image_block {
    padding-left: 2.4em;
    padding-right: 2.4em;
  }
  .text_image_block .columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4em;
  }
  .text_image_block .columns .column .image-block {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .text_image_block .columns .column.text {
    padding-left: 2.4em;
    padding-right: 2.4em;
  }
  .text_image_block .columns .column .image-block {
    margin-top: 3.6em;
  }
}

.vertical .block {
  margin: 0 0 4.8em;
}

.float .block,
.slideshow .block {
  margin: 0;
}

.float .media {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.grid .media {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.grid .media .block {
  width: 250px !important;
  flex-grow: 1;
  margin: 0 8px 8px 0;
}
.grid .media .block .wrapper {
  width: 100%;
  padding-bottom: 100%;
  position: relative;
}
.grid .media .block .wrapper figure {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.grid .media .block.empty {
  margin-bottom: 0;
}

.slideshow .swiper-container {
  width: 100%;
  max-height: calc(90vh - 48px);
}
.slideshow .swiper-controls {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .slideshow .swiper-controls {
    display: none;
  }
}

.campaigns article.campaign {
  margin-bottom: 2.4em;
}
.campaigns article.campaign figure {
  background: black;
}
.campaigns article.campaign figure img {
  opacity: 0.8;
  transform: opacity 400ms ease-in-out;
}
@media (hover: hover) {
  .campaigns article.campaign figure:hover img {
    opacity: 1;
  }
}
.campaigns article.campaign footer {
  color: white;
  margin-top: 1.2em;
}
.campaigns article.campaign footer h1, .campaigns article.campaign footer p {
  text-transform: uppercase;
  font-family: "Poppins", Arial, sans-serif;
  margin: 0;
  text-align: center;
}
.campaigns article.campaign footer h1 {
  font-family: Futura, "Optima", Arial, sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.5em;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.2em;
}
.campaigns article.campaign footer a {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .campaigns article.campaign {
    position: relative;
    margin: 0;
  }
  .campaigns article.campaign footer {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
}

.campaign-page {
  background: black;
  color: white;
}
.campaign-page article header {
  margin-bottom: 3.6em;
}
.campaign-page article header h1, .campaign-page article header p {
  text-transform: uppercase;
  font-family: "Poppins", Arial, sans-serif;
  margin: 0;
  text-align: center;
}
.campaign-page article header h1 {
  font-family: Futura, "Optima", Arial, sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.5em;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.2em;
}
.campaign-page a {
  color: white;
}
.campaign-page #logo {
  color: white;
}
.campaign-page #logo img {
  filter: invert(1);
}
.campaign-page #thumbnails {
  display: none;
}
.campaign-page button#close-slideshow {
  display: none;
}
@media only screen and (min-width: 768px) {
  .campaign-page article header {
    margin-top: 100px;
  }
  .campaign-page button#close-slideshow {
    display: none;
    position: fixed;
    top: 1.2rem;
    right: 32px;
    z-index: 999;
    color: white;
    background: transparent;
    border: none;
    outline: 0;
    font-family: Futura, "Optima", Arial, sans-serif;
    letter-spacing: 0.05em;
    font-size: 2.5em;
    font-weight: 600;
    line-height: 1;
  }
  .campaign-page #images {
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0;
    transition: opacity 300ms ease-in-out;
  }
  .campaign-page #images figure img {
    max-width: calc(100vw - 260px);
    max-height: calc(100vh - 200px);
    margin: 0;
  }
  .campaign-page #images figcaption {
    opacity: 0;
  }
  .campaign-page #images .table {
    display: table;
    width: auto;
    margin: auto;
  }
  .campaign-page #images .table .table-row {
    display: table-row;
  }
  .campaign-page #images .table .table-row .table-cell {
    display: table-cell;
  }
  .campaign-page #images .table .table-row .table-cell.caption {
    max-width: 20px;
    position: relative;
  }
  .campaign-page #images .table .table-row .table-cell.caption figcaption {
    position: absolute;
    top: 0;
    left: 0;
  }
  .campaign-page .swiper-slide {
    height: 100%;
    margin-bottom: 0;
  }
  .campaign-page .swiper-slide figure, .campaign-page .swiper-slide .text {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .campaign-page .swiper-slide .text .text-wrapper {
    width: calc(100% - 200px);
    max-width: 700px;
  }
  .campaign-page .swiper-slide .text .text-wrapper .center {
    text-align: center;
    display: block;
  }
  .campaign-page #thumbnails {
    position: relative;
    z-index: 9;
    display: block;
    list-style: none;
    margin: 0 auto 100px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 88%;
    transition: opacity 0.3s;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1024px) {
  .campaign-page #thumbnails {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .campaign-page #thumbnails {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media only screen and (min-width: 768px) {
  .campaign-page #thumbnails .thumbnail {
    padding-bottom: 100%;
    position: relative;
  }
  .campaign-page #thumbnails .thumbnail figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .campaign-page .swiper-button-next,
  .campaign-page .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 5em;
    height: 2em;
    margin-top: -1em;
    cursor: pointer;
    z-index: 999;
  }
  .campaign-page .swiper-button-next {
    right: 24px;
    left: auto;
    text-align: right;
    color: white;
  }
  .campaign-page .swiper-button-prev {
    left: 24px;
    right: auto;
    text-align: left;
    color: white;
  }
}
@media only screen and (max-width: 767px) {
  .campaign-page #images figure {
    margin: 0;
  }
  .campaign-page #images figure .table {
    margin: 0;
  }
  .campaign-page #images figure .table > :not(caption) > * > * {
    padding: 0;
  }
}

.press.page #container {
  padding-top: 3.6em;
}

ul.documents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: calc(100% - 3.6rem);
}
ul.documents .document figure {
  display: block;
}
ul.documents .document figure a {
  display: block;
}
ul.documents .document figure.placeholder {
  padding-bottom: 133.3%;
  outline: 1px solid #ccc;
  width: 100%;
  background: white;
  position: relative;
}
ul.documents .document figure.placeholder a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  ul.documents {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  ul.documents {
    grid-template-columns: repeat(6, 1fr);
  }
}

.medium-zoom-image {
  z-index: 999;
}

@media only screen and (min-width: 768px) {
  body.campaign-page.slideshow-open button#close-slideshow {
    display: block;
  }
  body.campaign-page.slideshow-open #images {
    opacity: 1;
    z-index: 99;
  }
}/*# sourceMappingURL=style.css.map */