@charset "UTF-8";
/*!
 * fullPage 4.0.41
 * https://github.com/alvarotrigo/fullPage.js
 *
 * @license GPLv3 for open source use only
 * or Fullpage Commercial License for commercial use
 * http://alvarotrigo.com/fullPage/pricing/
 *
 * Copyright (C) 2021 http://alvarotrigo.com/fullPage - A project by Alvaro Trigo
 */
@import url("//hello.myfonts.net/count/373a00");
html.fp-enabled,
.fp-enabled body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  /*Avoid flicker on slides transitions for mobile phones #336 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.fp-section {
  position: relative;
  -webkit-box-sizing: border-box; /* Safari<=5 Android<=3 */
  -moz-box-sizing: border-box; /* <=28 */
  box-sizing: border-box;
  height: 100%;
  display: block;
}

.fp-slide {
  float: left;
}

.fp-slide, .fp-slidesContainer {
  height: 100%;
  display: block;
}

.fp-slides {
  z-index: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.3s ease-out; /* Safari<=6 Android<=4.3 */
  transition: all 0.3s ease-out;
}

.fp-table {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.fp-slidesContainer {
  float: left;
  position: relative;
}

.fp-controlArrow {
  -webkit-user-select: none; /* webkit (safari, chrome) browsers */
  -moz-user-select: none; /* mozilla browsers */
  -khtml-user-select: none; /* webkit (konqueror) browsers */
  -ms-user-select: none; /* IE10+ */
  position: absolute;
  z-index: 4;
  top: 50%;
  cursor: pointer;
  margin-top: -38px;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.fp-prev {
  left: 15px;
}

.fp-next {
  right: 15px;
}

.fp-arrow {
  width: 0;
  height: 0;
  border-style: solid;
}

.fp-arrow.fp-prev {
  border-width: 38.5px 34px 38.5px 0;
  border-color: transparent #fff transparent transparent;
}

.fp-arrow.fp-next {
  border-width: 38.5px 0 38.5px 34px;
  border-color: transparent transparent transparent #fff;
}

.fp-notransition {
  -webkit-transition: none !important;
  transition: none !important;
}

#fp-nav {
  position: fixed;
  z-index: 100;
  top: 50%;
  opacity: 1;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translate3d(0, -50%, 0);
  pointer-events: none;
}

#fp-nav.fp-right {
  right: 17px;
}

#fp-nav.fp-left {
  left: 17px;
}

.fp-slidesNav {
  position: absolute;
  z-index: 4;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  left: 0 !important;
  right: 0;
  margin: 0 auto !important;
  pointer-events: none;
}

.fp-slidesNav.fp-bottom {
  bottom: 17px;
}

.fp-slidesNav.fp-top {
  top: 17px;
}

#fp-nav ul,
.fp-slidesNav ul {
  margin: 0;
  padding: 0;
}

#fp-nav ul li,
.fp-slidesNav ul li {
  display: block;
  width: 14px;
  height: 13px;
  margin: 7px;
  position: relative;
}

.fp-slidesNav ul li {
  display: inline-block;
}

#fp-nav ul li a,
.fp-slidesNav ul li a {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  pointer-events: all;
}

#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span {
  height: 12px;
  width: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 100%;
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span {
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  height: 4px;
  width: 4px;
  border: 0;
  background: #333;
  left: 50%;
  top: 50%;
  margin: -2px 0 0 -2px;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
  width: 10px;
  height: 10px;
  margin: -5px 0px 0px -5px;
}

#fp-nav ul li .fp-tooltip {
  position: absolute;
  top: -2px;
  color: #fff;
  font-size: 14px;
  font-family: arial, helvetica, sans-serif;
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  display: block;
  opacity: 0;
  width: 0;
  cursor: pointer;
}

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active + .fp-tooltip {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  width: auto;
  opacity: 1;
}

#fp-nav ul li .fp-tooltip.fp-right {
  right: 20px;
}

#fp-nav ul li .fp-tooltip.fp-left {
  left: 20px;
}

.fp-auto-height.fp-section,
.fp-auto-height .fp-slide {
  height: auto !important;
}

.fp-responsive .fp-is-overflow.fp-section {
  height: auto !important;
}

/* Tries to prevent overwrites #4657 */
.fp-enabled .fp-scrollable {
  overflow: visible;
  height: initial;
}

/* Used with autoScrolling: false */
.fp-scrollable.fp-responsive .fp-is-overflow.fp-section,
.fp-scrollable .fp-section,
.fp-scrollable .fp-slide {
  /* Fallback for browsers that do not support Custom Properties */
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}

.fp-scrollable.fp-responsive .fp-is-overflow.fp-section:not(.fp-auto-height):not([data-percentage]),
.fp-scrollable .fp-section:not(.fp-auto-height):not([data-percentage]),
.fp-scrollable .fp-slide:not(.fp-auto-height):not([data-percentage]) {
  /* Fallback for browsers that do not support Custom Properties */
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
}

/* Disabling vertical centering on scrollable elements */
.fp-overflow {
  justify-content: flex-start;
  width: 100%; /* In case its necessary #4717 */
}

body:not(.fp-responsive) .fp-overflow {
  max-height: 100vh;
  max-height: 100dvh; /* fix for new browsers */
}

/* No scrollable when using auto-height */
.fp-scrollable .fp-auto-height .fp-overflow {
  max-height: none;
}

.fp-is-overflow .fp-overflow.fp-auto-height-responsive,
.fp-is-overflow .fp-overflow.fp-auto-height,
.fp-is-overflow .fp-overflow {
  overflow-y: auto;
}

.fp-overflow {
  outline: none;
}

.fp-overflow.fp-table {
  display: block;
}

.fp-responsive .fp-auto-height-responsive.fp-section,
.fp-responsive .fp-auto-height-responsive .fp-slide,
.fp-responsive .fp-auto-height-responsive .fp-overflow {
  height: auto !important;
  min-height: auto !important;
}

/*Only display content to screen readers*/
.fp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Customize website's scrollbar like Mac OS
Not supports in Firefox and IE */
.fp-scroll-mac .fp-overflow::-webkit-scrollbar {
  background-color: transparent;
  width: 9px;
}

.fp-scroll-mac .fp-overflow::-webkit-scrollbar-track {
  background-color: transparent;
}

.fp-scroll-mac .fp-overflow::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 16px;
  border: 4px solid transparent;
}

.fp-warning,
.fp-watermark {
  z-index: 9999999;
  position: absolute;
  bottom: 0;
}

.fp-warning,
.fp-watermark a {
  text-decoration: none;
  color: #000;
  background: rgba(255, 255, 255, 0.6);
  padding: 5px 8px;
  font-size: 14px;
  font-family: arial;
  color: black;
  display: inline-block;
  border-radius: 3px;
  margin: 12px;
}

.fp-noscroll .fp-overflow {
  overflow: hidden;
}

/* =============================================================
Bitte UI Theme
============================================================= */
/* Bitte Field
============================================================= */
.bitte-field {
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  width: 100%;
  margin-bottom: 1.5rem;
}

* > .bitte-field:last-child {
  margin-bottom: 0;
}

/* Bitte Label (h-type h5)
============================================================= */
.bitte-field .bitte-label {
  display: block;
  margin: 0 0 0.6875rem 0;
}

.bitte-field .bitte-label:empty {
  display: none;
}

.bitte-field .bitte-label .label {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  color: #ffffff;
}

.bitte-field.invalid .bitte-label .label {
  color: #cb8383;
}

/* Bitte UI
============================================================= */
.bitte-field .bitte-ui {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* Bitte Message
============================================================= */
.bitte-field .bitte-message {
  position: relative;
  border-radius: 1rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.625rem;
  margin-bottom: 1rem;
  display: none;
}

.bitte-field.invalid .bitte-message {
  background-color: #FFF6F6;
  border: 0.0625rem solid #B70A09;
  color: #B70A09;
}

/* Button
============================================================= */
.bitte-ui-button .button {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  position: relative;
  display: block;
  min-width: 12.5rem;
  text-align: center;
  white-space: nowrap;
  border-radius: 0rem;
  padding: 0.875rem 2.875rem;
  text-decoration: none;
  border: solid 1px #a8a8aa;
  background-color: transparent;
  color: #ffffff;
  overflow: visible;
  cursor: pointer;
  float: right;
  transition: all 0.35s ease;
  user-select: none;
}

.bitte-ui-button .button:hover {
  border: solid 1px #ffffff;
}

.bitte-ui-button .button:active {
  border: solid 1px #ffffff;
}

.bitte-ui-button.fullwidth .button {
  width: 100%;
  border-radius: 6.25rem;
}

/* Input & Textarea
============================================================= */
.bitte-field input,
.bitte-field textarea {
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: none;
  color: #ffffff;
  background-color: transparent;
  padding: 0.8125rem 1.25rem;
  border-radius: 0rem;
  display: inline-block;
  width: 100%;
  border: solid 0.0625rem #a8a8aa;
}

.bitte-field input {
  height: 3.25rem;
}

.bitte-field.invalid input {
  border-color: #cb8383;
}

.bitte-field ::-webkit-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field :-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field ::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field :-ms-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

/* Dropdown
============================================================= */
.bitte-ui-dropdown .dropdown-button {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: #626d75;
  background-color: #ffffff;
  padding: 0.8125rem 2.25rem 0.8125rem 1.25rem;
  border-radius: 0.3125rem;
  border: 0.0625rem solid #d5d5d5;
  user-select: none;
  width: 100%;
  min-width: 12rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.bitte-ui-dropdown .dropdown-button:after {
  content: "";
  position: absolute;
  top: 1.125rem;
  right: 1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-dropdown .dropdown-button.has-value {
  color: #333f48;
}

.bitte-ui-dropdown .dropdown-menu {
  background-color: #ffffff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.25rem 1.5rem 0 rgba(0, 0, 0, 0.1875);
  position: absolute;
  width: 100%;
  z-index: 1;
  user-select: none;
  padding: 0.375rem 0;
  max-height: 22rem;
  overflow: auto;
  display: none;
}

.bitte-ui-dropdown .dropdown-menu.is-active {
  display: block;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-label {
  background-color: #ffffff;
  color: #777777;
  padding: 0.25rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: #626d75;
  width: 100%;
  text-align: left;
  padding: 0.25rem 2.5rem;
  cursor: default;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:hover {
  background-color: #00809f;
  color: #ffffff;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:focus {
  background-color: #00809f;
  color: #ffffff;
  box-shadow: none;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item.checked:before {
  content: "✓";
  display: inline-block;
  width: 1rem;
  margin-left: -1.5rem;
  margin-right: 0.5rem;
}

/* Dropdown - Index Filter
----------------------------- */
@media screen and (min-width: 48rem) {
  .bitte-ui-dropdown.index-filter {
    display: flex;
    align-items: center;
  }
}
.bitte-ui-dropdown.index-filter .bitte-label {
  margin-right: 1.5rem;
  white-space: nowrap;
}

.bitte-ui-dropdown.index-filter .bitte-label .label {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.25;
  letter-spacing: -0.0125rem;
  color: #424c58;
}

.bitte-ui-dropdown.index-filter .bitte-ui {
  max-width: 24rem;
}

/* Combobox
============================================================= */
.bitte-ui-combobox .listbox {
  position: absolute;
  width: 100%;
  z-index: 1;
  background-color: #616d7a;
  user-select: none;
  padding: 0.5rem 0;
  max-height: 22rem;
  overflow: auto;
  display: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.bitte-ui-combobox .listbox.is-active {
  display: block;
}

.bitte-ui-combobox .listbox .option {
  width: 100%;
  text-align: left;
  font-size: 1.125rem;
  line-height: 2.125rem;
  color: #ffffff;
  padding: 0.25rem 2.5rem;
  cursor: default;
  display: none;
}

.bitte-ui-combobox .listbox .option:hover {
  background-color: #444e58;
}

.bitte-ui-combobox .listbox .option:focus {
  background-color: #252E38;
  box-shadow: none;
}

.bitte-ui-combobox .listbox .option.match {
  display: block;
}

/* Uberselect
============================================================= */
.bitte-ui-uberselect .uberselect {
  position: relative;
}

.bitte-ui-uberselect .uberselect-button {
  width: 100%;
  text-align: left;
  cursor: default;
  min-height: 3.25rem;
  background-color: #ffffff;
  border-radius: 0.3125rem;
}

.bitte-ui-uberselect .button-wrapper {
  display: flex;
  flex-wrap: wrap;
  border: 0.0625rem solid #d5d5d5;
  background-color: #ffffff;
  padding: 0.25rem 3.125rem 0.25rem 0.25rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  color: #242d39;
  border-radius: 0.3125rem;
}

.bitte-ui-uberselect .button-wrapper:after {
  content: "";
  position: absolute;
  top: 1.125rem;
  right: 1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-uberselect .button-wrapper .placeholder {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.3125rem 0.5rem;
  line-height: 1.5rem;
  color: #696969;
  user-select: none;
  cursor: default;
}

.bitte-ui-uberselect .button-wrapper .selection-tag {
  position: relative;
  display: inline-block;
  color: #ffffff;
  background-color: #00809f;
  padding: 0.3125rem 1.875rem 0.3125rem 0.75rem;
  margin: 0.25rem;
  border-radius: 0.3125rem;
  line-height: 1.5rem;
  text-align: left;
}

.bitte-ui-uberselect .button-wrapper .selection-tag:after {
  position: absolute;
  content: "×";
  top: 0;
  right: 0;
  width: 2rem;
  height: 100%;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: center;
}

.bitte-ui-uberselect .dropdown-container {
  display: none;
  position: absolute;
  width: 100%;
  z-index: 1;
  background-color: #ffffff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.25rem 1.5rem 0 rgba(0, 0, 0, 0.1875);
}

.bitte-ui-uberselect .dropdown-container .input-container {
  position: relative;
  padding: 0.75rem 0.75rem 0.375rem 0.75rem;
}

.bitte-ui-uberselect .dropdown-container .input-container:after {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 1.5rem;
  right: 1.5rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjNjI2ZDc1IiBkPSJNMTguNzA3LDE3LjI5M2wtMy44Mi0zLjgyYTYuMDEyMiw2LjAxMjIsMCwxLDAtMS40MTQxLDEuNDE0MWwzLjgyLDMuODJBMSwxLDAsMCwwLDE4LjcwNywxNy4yOTNaTTYsMTBhNCw0LDAsMSwxLDQsNEE0LDQsMCwwLDEsNiwxMFoiPjwvcGF0aD48L3N2Zz4=");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-uberselect .dropdown-container .input-container .input {
  height: 3.125rem;
  font-size: 1rem;
  line-height: 2rem;
  padding: 0.75rem 1rem;
  padding-right: 3.125rem;
  width: 100%;
  border: 0.0625rem solid #d5d5d5;
}

.bitte-ui-uberselect .listbox {
  background-color: #ffffff;
  user-select: none;
  overflow: auto;
  padding: 0.375rem 0;
  max-height: 15.5rem;
  border-radius: 0 0 0.3125rem 0.3125rem;
}

.bitte-ui-uberselect .listbox.is-active {
  display: block;
}

.bitte-ui-uberselect .listbox .option {
  width: 100%;
  text-align: left;
  color: #626d75;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.25rem 2.25rem;
  cursor: default;
  display: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.bitte-ui-uberselect .listbox .option:hover {
  background-color: #00809f;
  color: #ffffff;
}

.bitte-ui-uberselect .listbox .option:focus {
  background-color: #00809f;
  color: #ffffff;
  box-shadow: none;
}

.bitte-ui-uberselect .listbox .option.match {
  display: block;
}

.bitte-ui-uberselect .listbox .option.checked:before {
  content: "✓";
  display: inline-block;
  width: 1rem;
  margin-left: -1.375rem;
  margin-right: 0.375rem;
}

.bitte-ui-uberselect .listbox .no-results {
  width: 100%;
  text-align: left;
  color: #696969;
  cursor: default;
  font-style: italic;
  display: none;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.25rem 2.25rem;
}

/* Radio
============================================================= */
.bitte-ui-radio {
  margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup {
  margin-bottom: 2rem;
}

.bitte-ui-radio .radiogroup .radio-container {
  display: block;
  margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup .radio {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.63;
  letter-spacing: normal;
  text-align: left;
  color: #242d39;
  cursor: default;
  overflow: visible;
}

.bitte-ui-radio .radiogroup .radio:before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 0.0625rem solid #626d75;
  background-color: #ffffff;
  display: inline-block;
  vertical-align: middle;
  overflow: visible;
  margin: 0.1875rem;
  margin-right: 1rem;
}

.bitte-ui-radio .radiogroup .radio.checked:before {
  background-color: #004c77;
  border: 0.0625rem solid #626d75;
  box-shadow: 0 0 0 0.25rem #ffffff inset;
}

/* Inline
----------------------------- */
.bitte-ui-radio.inline {
  margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup {
  margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup .radio-container {
  display: inline-block;
  margin: 0;
  margin-right: 2rem;
}

/* Checkbox
============================================================= */
.bitte-ui-checkbox .bitte-ui .group {
  display: inline-block;
  width: 100%;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.63;
  letter-spacing: normal;
  text-align: left;
  color: #242d39;
  cursor: default;
  white-space: nowrap;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  width: 14px;
  height: 14px;
  border: 1px solid #999999;
  background-color: #ffffff;
  border-radius: 2px;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button.active:before {
  content: "✓";
  color: #ffffff;
  border: 0;
  background-color: #1976D2;
  font-size: 0.875rem;
  line-height: 1rem;
  font-weight: 600;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button > span {
  vertical-align: middle;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

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

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

html {
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 100%;
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  vertical-align: baseline;
  background: transparent;
}

body {
  overflow-x: hidden;
  font-size: 0;
  line-height: 0;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: middle;
}

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

ol,
ul {
  list-style: none;
}

[type=button],
[type=color],
[type=date],
[type=datetime-local],
[type=email],
[type=file],
[type=month],
[type=number],
[type=password],
[type=range],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea,
button {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-webkit-input-placeholder {
  color: currentColor;
  opacity: 0.5;
}

:-moz-placeholder {
  color: currentColor;
  opacity: 0.5;
}

::-moz-placeholder {
  color: currentColor;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: currentColor;
  opacity: 0.5;
}

table,
tr,
th,
td {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Row
============================================================= */
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.row.xs {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}

.row.sm {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.row.md {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.row.lg {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.row.xl {
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}

/* Column
============================================================= */
.col {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  width: auto;
}

/* Extra-Small (>= 0px)
----------------------------- */
.row > .col.xs-0 {
  display: none;
}

.row > .col.xs-1 {
  display: block;
  width: 8.3333%;
}

.row > .col.xs-2 {
  display: block;
  width: 16.6667%;
}

.row > .col.xs-3 {
  display: block;
  width: 25%;
}

.row > .col.xs-4 {
  display: block;
  width: 33.3333%;
}

.row > .col.xs-5 {
  display: block;
  width: 41.6667%;
}

.row > .col.xs-6 {
  display: block;
  width: 50%;
}

.row > .col.xs-7 {
  display: block;
  width: 58.3333%;
}

.row > .col.xs-8 {
  display: block;
  width: 66.6667%;
}

.row > .col.xs-9 {
  display: block;
  width: 75%;
}

.row > .col.xs-10 {
  display: block;
  width: 83.3333%;
}

.row > .col.xs-11 {
  display: block;
  width: 91.6667%;
}

.row > .col.xs-12 {
  display: block;
  width: 100%;
}

.row > .col.xs-fixed {
  display: block;
  width: auto;
}

.row > .col.xs-auto {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0.00000001px; /* IE Flex bug, cannot use 0 as flex-shrink, but minification removes unit. */
  -ms-flex: 1 1 0.00000001px;
  flex: 1 1 0.00000001px;
  width: auto;
}

/* Small (>= 512px)
----------------------------- */
@media (min-width: 32em) {
  .row > .col.sm-0 {
    display: none;
  }
  .row > .col.sm-1 {
    display: block;
    width: 8.3333%;
  }
  .row > .col.sm-2 {
    display: block;
    width: 16.6667%;
  }
  .row > .col.sm-3 {
    display: block;
    width: 25%;
  }
  .row > .col.sm-4 {
    display: block;
    width: 33.3333%;
  }
  .row > .col.sm-5 {
    display: block;
    width: 41.6667%;
  }
  .row > .col.sm-6 {
    display: block;
    width: 50%;
  }
  .row > .col.sm-7 {
    display: block;
    width: 58.3333%;
  }
  .row > .col.sm-8 {
    display: block;
    width: 66.6667%;
  }
  .row > .col.sm-9 {
    display: block;
    width: 75%;
  }
  .row > .col.sm-10 {
    display: block;
    width: 83.3333%;
  }
  .row > .col.sm-11 {
    display: block;
    width: 91.6667%;
  }
  .row > .col.sm-12 {
    display: block;
    width: 100%;
  }
  .row > .col.sm-fixed {
    display: block;
    width: auto;
  }
  .row > .col.sm-auto {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0.00000001px; /* IE Flex bug, cannot use 0 as flex-shrink, but minification removes unit. */
    -ms-flex: 1 1 0.00000001px;
    flex: 1 1 0.00000001px;
    width: auto;
  }
}
/* Medium (>= 768px)
----------------------------- */
@media (min-width: 48em) {
  .row > .col.md-0 {
    display: none;
  }
  .row > .col.md-1 {
    display: block;
    width: 8.3333%;
  }
  .row > .col.md-2 {
    display: block;
    width: 16.6667%;
  }
  .row > .col.md-3 {
    display: block;
    width: 25%;
  }
  .row > .col.md-4 {
    display: block;
    width: 33.3333%;
  }
  .row > .col.md-5 {
    display: block;
    width: 41.6667%;
  }
  .row > .col.md-6 {
    display: block;
    width: 50%;
  }
  .row > .col.md-7 {
    display: block;
    width: 58.3333%;
  }
  .row > .col.md-8 {
    display: block;
    width: 66.6667%;
  }
  .row > .col.md-9 {
    display: block;
    width: 75%;
  }
  .row > .col.md-10 {
    display: block;
    width: 83.3333%;
  }
  .row > .col.md-11 {
    display: block;
    width: 91.6667%;
  }
  .row > .col.md-12 {
    display: block;
    width: 100%;
  }
  .row > .col.md-fixed {
    display: block;
    width: auto;
  }
  .row > .col.md-auto {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0.00000001px; /* IE Flex bug, cannot use 0 as flex-shrink, but minification removes unit. */
    -ms-flex: 1 1 0.00000001px;
    flex: 1 1 0.00000001px;
    width: auto;
  }
}
/* Large (>= 1024px)
----------------------------- */
@media (min-width: 64em) {
  .row > .col.lg-0 {
    display: none;
  }
  .row > .col.lg-1 {
    display: block;
    width: 8.3333%;
  }
  .row > .col.lg-2 {
    display: block;
    width: 16.6667%;
  }
  .row > .col.lg-3 {
    display: block;
    width: 25%;
  }
  .row > .col.lg-4 {
    display: block;
    width: 33.3333%;
  }
  .row > .col.lg-5 {
    display: block;
    width: 41.6667%;
  }
  .row > .col.lg-6 {
    display: block;
    width: 50%;
  }
  .row > .col.lg-7 {
    display: block;
    width: 58.3333%;
  }
  .row > .col.lg-8 {
    display: block;
    width: 66.6667%;
  }
  .row > .col.lg-9 {
    display: block;
    width: 75%;
  }
  .row > .col.lg-10 {
    display: block;
    width: 83.3333%;
  }
  .row > .col.lg-11 {
    display: block;
    width: 91.6667%;
  }
  .row > .col.lg-12 {
    display: block;
    width: 100%;
  }
  .row > .col.lg-fixed {
    display: block;
    width: auto;
  }
  .row > .col.lg-auto {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0.00000001px; /* IE Flex bug, cannot use 0 as flex-shrink, but minification removes unit. */
    -ms-flex: 1 1 0.00000001px;
    flex: 1 1 0.00000001px;
    width: auto;
  }
}
/* Extra-Large (>= 1280px)
----------------------------- */
@media (min-width: 80em) {
  .row > .col.xl-0 {
    display: none;
  }
  .row > .col.xl-1 {
    display: block;
    width: 8.3333%;
  }
  .row > .col.xl-2 {
    display: block;
    width: 16.6667%;
  }
  .row > .col.xl-3 {
    display: block;
    width: 25%;
  }
  .row > .col.xl-4 {
    display: block;
    width: 33.3333%;
  }
  .row > .col.xl-5 {
    display: block;
    width: 41.6667%;
  }
  .row > .col.xl-6 {
    display: block;
    width: 50%;
  }
  .row > .col.xl-7 {
    display: block;
    width: 58.3333%;
  }
  .row > .col.xl-8 {
    display: block;
    width: 66.6667%;
  }
  .row > .col.xl-9 {
    display: block;
    width: 75%;
  }
  .row > .col.xl-10 {
    display: block;
    width: 83.3333%;
  }
  .row > .col.xl-11 {
    display: block;
    width: 91.6667%;
  }
  .row > .col.xl-12 {
    display: block;
    width: 100%;
  }
  .row > .col.xl-fixed {
    display: block;
    width: auto;
  }
  .row > .col.xl-auto {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0.00000001px; /* IE Flex bug, cannot use 0 as flex-shrink, but minification removes unit. */
    -ms-flex: 1 1 0.00000001px;
    flex: 1 1 0.00000001px;
    width: auto;
  }
}
/* Fonts
============================================================= */
@font-face {
  font-family: "Freight Sans Pro";
  font-weight: 400;
  font-style: normal;
  src: url("/assets/fonts/373A00_2_0.woff2") format("woff2"), url("/assets/fonts/373A00_2_0.woff") format("woff");
}
@font-face {
  font-family: "Freight Sans Pro";
  font-weight: 400;
  font-style: italic;
  src: url("/assets/fonts/373A00_0_0.woff2") format("woff2"), url("/assets/fonts/373A00_0_0.woff") format("woff");
}
@font-face {
  font-family: "Freight Sans Pro";
  font-weight: 500;
  font-style: normal;
  src: url("/assets/fonts/373A00_1_0.woff2") format("woff2"), url("/assets/fonts/373A00_1_0.woff") format("woff");
}
/* Headings
============================================================= */
.h-type h1,
.h-type .h1 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.5rem;
  line-height: 1.8rem;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
  color: #ffffff;
}

@media screen and (min-width: 32em) {
  .h-type h1,
  .h-type .h1 {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media screen and (min-width: 64em) {
  .h-type h1,
  .h-type .h1 {
    font-size: 3rem;
    line-height: 3.6rem;
  }
}
.h-type h2,
.h-type .h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.125rem;
  line-height: 2.5rem;
  letter-spacing: 0.08125rem;
  text-transform: uppercase;
  color: #ffffff;
}

@media screen and (min-width: 64em) {
  .h-type h2,
  .h-type .h2 {
    font-size: 2.625rem;
    line-height: 3rem;
  }
}
.h-type h3,
.h-type .h3 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  letter-spacing: 0.1125rem;
  text-transform: uppercase;
  color: #ffffff;
}

@media screen and (min-width: 32em) {
  .h-type h3,
  .h-type .h3 {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}
@media screen and (min-width: 64em) {
  .h-type h3,
  .h-type .h3 {
    font-size: 1.875rem;
    line-height: 2.125rem;
  }
}
.h-type h4,
.h-type .h4 {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.1875rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  color: #a8a8aa;
}

@media screen and (min-width: 64em) {
  .h-type h4,
  .h-type .h4 {
    font-size: 1.25rem;
    line-height: 1.4375rem;
  }
}
.h-type h5,
.h-type .h5 {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.1875rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  color: #ffffff;
}

@media screen and (min-width: 64em) {
  .h-type h5,
  .h-type .h5 {
    font-size: 1.25rem;
    line-height: 1.4375rem;
  }
}
/* Body
============================================================= */
.h-type p {
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6rem;
  letter-spacing: 0.0375rem;
  text-transform: none;
  color: #ffffff;
}

@media screen and (min-width: 64em) {
  .h-type p {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}
.h-type p.label {
  font-family: "Freight Sans Pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 0.8rem;
  line-height: 0.95rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
  color: #a8a8aa;
}

@media screen and (min-width: 64em) {
  .h-type p.label {
    font-size: 1rem;
    line-height: 1.1875rem;
  }
}
/* Lists
============================================================= */
.h-type ol,
.h-type ul {
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.875rem;
  letter-spacing: 0.0375rem;
  text-transform: none;
  color: #ffffff;
  list-style-type: none;
}

@media screen and (min-width: 64em) {
  .h-type ol,
  .h-type ul {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}
.h-type ol {
  counter-reset: item;
}

.h-type li {
  display: table;
  padding-left: 1rem;
}

.h-type li > ol,
.h-type li > ul,
.h-type li + li {
  margin-top: 0.71875rem;
}

.h-type li::before {
  display: table-cell;
  padding-right: 0.5rem;
}

.h-type ol > li {
  counter-increment: item;
}

.h-type ul > li::before {
  content: "-";
}

.h-type ol > li::before {
  content: counters(item, ".") ". ";
}

.h-type li ol > li::before {
  content: counters(item, ".") " ";
}

/* Inline
============================================================= */
.h-type b,
.h-type strong {
  font-weight: 500;
}

.h-type i,
.h-type em {
  font-style: italic;
}

.h-type a {
  color: currentColor;
  text-decoration: underline;
}

/* Alignment
============================================================= */
.h-type.align-left {
  text-align: left;
}

.h-type.align-center {
  text-align: center;
}

/* Spacing
============================================================= */
.h-type * + * {
  margin-top: 2rem;
}

.h-type h1 + h3 {
  margin-top: 1.5rem;
}

.h-type h2 + h3 {
  margin-top: 3.5rem;
}

.h-type p + h3 {
  margin-top: 4rem;
}

.h-type p + h4 {
  margin-top: 3rem;
}

.h-type p + h5 {
  margin-top: 3rem;
}

/* Fullpage
============================================================= */
/* Normal
============================================================= */
/* Unfix nav on normal pages to prevent overlapping content */
.layout--normal .site--main-nav {
  position: absolute;
}

.layout--normal .layout {
  max-width: 64rem;
  margin: 0 auto;
  padding: 5.125rem 0;
}

@media screen and (min-width: 48em) {
  .layout--normal .layout {
    padding: 10.125rem 0;
  }
}
/* Global
============================================================= */
html {
  background-color: #000000;
  overflow-x: hidden;
}

.section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0;
  transition: opacity 250ms ease;
}

.section.visible {
  opacity: 1;
}

/* Homepage Custom Nav Styles */
.fp-viewing-intro-0 .site--main-nav {
  top: 0;
  transition: top 0.5s, padding 0.5s;
  padding-top: 1.5rem;
}

.fp-viewing-intro-0 .site--main-nav .svg--z-mark-static {
  display: block;
}

/* Navigation
============================================================= */
.site--main-nav {
  position: fixed;
  top: 1.5rem;
  z-index: 105;
  width: 100%;
}

@media screen and (min-width: 48em) {
  .site--main-nav {
    position: fixed;
    top: 3.1875rem;
    z-index: 105;
    width: 100%;
  }
}
.site--main-nav .nav-wrapper {
  display: flex;
  align-items: flex-start;
  align-items: center;
  justify-content: space-between;
  margin: 0 1.3rem;
}

@media screen and (min-width: 48em) {
  .site--main-nav .nav-wrapper {
    margin: 0 4.5rem;
  }
}
.site--main-nav .nav-wrapper .logo-container {
  cursor: pointer;
  z-index: 101;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site--main-nav .nav-wrapper .logo-container a:nth-of-type(2) {
  margin: 10px 0 0;
}

.site--main-nav .nav-wrapper .svg--zoltan-logo-static {
  width: auto;
  height: 0.9rem;
  transition: all 0.35s ease;
  margin: 0 0 0.4rem 0;
  fill: #a8a8aa;
}

@media screen and (min-width: 48em) {
  .site--main-nav .nav-wrapper .svg--zoltan-logo-static {
    display: none;
  }
  .site--main-nav .nav-wrapper .svg--zoltan-logo-static:hover {
    fill: #ffffff;
  }
}
.site--main-nav .nav-wrapper .svg--z-mark-static {
  width: 1.625rem;
  height: 2.125rem;
  transition: all 0.35s ease;
  fill: #a8a8aa;
}

/* On the homepage INTRO the centered logo overlaps the open menu and blocked the first
   link (About). Scoped to the intro (.fp-viewing-intro-0) so the logo stays interactive on
   other sections (see zol-site.js: a logo click closes the menu / returns home). We fade
   the Z-mark's ANCHOR — the SVG's own opacity is pinned by a Web Animation from the
   jQuery→vanilla fade refactor, which even !important CSS can't override — and drop the
   logo-container's pointer-events so clicks reach the menu links behind it. */
.fp-viewing-intro-0 .site--main-nav.menu-open .logo-container {
  pointer-events: none;
}

.fp-viewing-intro-0 .site--main-nav.menu-open .logo-container a:nth-of-type(2) {
  opacity: 0 !important;
}

@media screen and (min-width: 48em) {
  .site--main-nav .nav-wrapper .svg--zoltan-logo-static {
    height: 1.375rem;
  }
  .site--main-nav .nav-wrapper .svg--z-mark-static {
    width: 2.9rem;
    height: 3.75rem;
    transition: all 0.35s ease;
    fill: #a8a8aa;
  }
  .site--main-nav .nav-wrapper .svg--z-mark-static:hover {
    fill: #ffffff;
  }
}
.site--main-nav .menu-wrapper {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.site--main-nav .menu-wrapper:hover span {
  background: #ffffff;
  transition: all 0.35s ease;
}

.site--main-nav .menu-wrapper:hover p {
  color: #ffffff;
  transition: all 0.35s ease;
}

.site--main-nav .menu {
  display: none;
}

@media screen and (min-width: 48em) {
  .site--main-nav .menu {
    position: relative;
    margin-right: 0.6875rem;
    display: block;
  }
}
.site--main-nav .left-spacer {
  width: 40px;
  height: 0;
  display: none;
}
.site--main-nav .hamburger {
  position: relative;
  height: 1rem;
  width: 2.5rem;
  z-index: 105;
}

.fp-viewing-intro-0 .site--main-nav {
  background: linear-gradient(to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 100%);
}
.fp-viewing-intro-0 .site--main-nav .svg--zoltan-logo-static {
  display: block;
}
.fp-viewing-intro-0 .site--main-nav .left-spacer {
  display: block;
}
.fp-viewing-intro-0 .site--main-nav .logo-container {
  position: relative;
  top: 26px;
}

@media screen and (min-width: 48em) {
  .site--main-nav .hamburger {
    height: 1.5rem;
    width: 3.75rem;
  }
}
.site--main-nav .hamburger span {
  background: #a8a8aa;
  border: none;
  height: 0.0625rem;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 48em) {
  .site--main-nav .hamburger span {
    height: 0.125rem;
  }
  .fp-viewing-intro-0 .site--main-nav {
    padding-top: 4.375rem;
    top: 0;
  }
  .fp-viewing-intro-0 .site--main-nav .nav-wrapper {
    align-items: flex-start;
  }
  .fp-viewing-intro-0 .site--main-nav .left-spacer {
    display: block;
    width: 116.75px;
  }
  .fp-viewing-intro-0 .site--main-nav .svg--zoltan-logo-static {
    display: block;
  }
  .fp-viewing-intro-0 .site--main-nav .logo-container {
    top: 0;
  }
}
.site--main-nav .hamburger span:nth-of-type(1) {
  top: 0;
}

.site--main-nav .hamburger span:nth-of-type(2) {
  top: calc(50% - 0.0625rem);
}

.site--main-nav .hamburger span:nth-of-type(3) {
  top: calc(100% - 0.0625rem);
}

.site--main-nav .hamburger.active .top {
  transform: translateY(0.5rem) translateZ(0) rotate(45deg);
  background: #ffffff;
}

@media screen and (min-width: 48em) {
  .site--main-nav .hamburger.active .top {
    transform: translateY(0.75rem) translateZ(0) rotate(45deg);
  }
}
.site--main-nav .hamburger.active .middle {
  opacity: 0;
  background: #ffffff;
}

.site--main-nav .hamburger.active .bottom {
  transform: translateY(-0.5rem) translateZ(0) rotate(-45deg);
  background: #ffffff;
}

@media screen and (min-width: 48em) {
  .site--main-nav .hamburger.active .bottom {
    transform: translateY(-0.75rem) translateZ(0) rotate(-45deg);
  }
}
.site--main-nav .overlay {
  position: fixed;
  background: radial-gradient(circle, #000000, #454545);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: default;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s;
  z-index: 100;
}

.site--main-nav .overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.site--main-nav .overlay nav {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.site--main-nav .overlay .link {
  margin: 0.25rem 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.35s ease;
}

@media screen and (min-height: 64em) {
  .site--main-nav .overlay .link {
    margin: 0.68rem 0;
  }
}
@media screen and (min-height: 80em) {
  .site--main-nav .overlay .link {
    margin: 1.0325rem 0;
  }
}
.site--main-nav .overlay .link:hover {
  border-bottom: 1px solid #ffffff;
}

@media screen and (min-width: 48em) {
  .site--main-nav .overlay .link:hover {
    border-bottom: 1px solid #ffffff;
    color: #ffffff;
  }
}
.site--main-nav .overlay .cart {
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  margin-top: 0.5rem;
  text-decoration: none;
}

@media screen and (min-width: 48em) {
  .site--main-nav .overlay .cart {
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
    margin-top: 3.375rem;
    text-decoration: none;
  }
}
.site--main-nav .overlay .cart:hover .label {
  color: #ffffff;
  transition: all 0.35s ease;
}

.site--main-nav .overlay .cart .icon {
  margin-top: 0;
}

.site--main-nav .overlay .cart:hover .svg--cart-icon-static .svg-color {
  fill: #ffffff;
  transition: all 0.35s ease;
}

.site--main-nav .overlay .svg--cart-icon-static {
  width: 1.25rem;
  height: 1.4125rem;
  margin-left: 0.6rem;
  margin-top: 0rem;
}

.site--main-nav .overlay .social-icons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 1.14rem;
}

@media screen and (min-width: 48em) {
  .site--main-nav .overlay .social-icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 3.375rem;
  }
}
.site--main-nav .overlay .social-icons a {
  margin-top: 0;
}

.site--main-nav .overlay .social-icons .svg {
  height: 1.08rem;
  width: 1.08rem;
  transition: all 0.35s ease;
  margin: 0 0.5625rem;
  fill: #a8a8aa;
  margin-top: 0;
}

.site--main-nav .overlay .social-icons .svg:hover {
  fill: #ffffff;
}

/* Custom Control Arrows
============================================================= */
/* Hides fullpage arrows */
.fp-controlArrow {
  display: none !important;
}

/* Horizontal Arrows */
.arrow-horizontal {
  position: fixed;
  fill: #a8a8a8;
  z-index: 105;
  cursor: pointer;
  width: 2.1875rem;
  height: 1.5625rem;
  top: calc(50% - 0.96875rem);
  transition: all 0.35s ease;
  display: none;
}

@media screen and (min-width: 64em) {
  .arrow-horizontal {
    position: fixed;
    fill: #a8a8a8;
    z-index: 105;
    cursor: pointer;
    width: 2.75rem;
    height: 1.9375rem;
    top: calc(50% - 0.96875rem);
    transition: all 0.35s ease;
    display: none;
  }
}
.arrow-horizontal:hover {
  fill: #ffffff;
}

.arrow-horizontal.left {
  left: 1.5rem;
  transform: rotate(180deg);
}

.arrow-horizontal.right {
  right: 1.5rem;
}

.arrow-horizontal.menu-active {
  display: none !important;
}

/* Vertical Arrows  */
.arrow-vertical {
  position: fixed;
  fill: #a8a8a8;
  z-index: 105;
  cursor: pointer;
  width: 2.1875rem;
  height: 1.5625rem;
  left: calc(50% - 1.09375rem);
  transform: translateX(-50%);
  transition: all 0.35s ease;
  display: none;
}

@media screen and (min-width: 64em) {
  .arrow-vertical {
    width: 2.749375rem;
    height: 1.964375rem;
    left: calc(50% - 1.3746875rem);
  }
}
.arrow-vertical:hover {
  fill: #ffffff;
}

.arrow-vertical.menu-active {
  display: none !important;
}

.arrow-vertical.down {
  bottom: 1.5rem;
  transform: rotate(90deg);
}

.arrow-vertical.up {
  top: 1.5rem;
  transform: rotate(-90deg);
}

/* Horizontal Scroll Wrapper for Scroll-Based Sections
============================================================= */
.horizontal-scroll-wrapper {
  background: radial-gradient(circle, #000000, #454545);
}

@media screen and (min-width: 64em) {
  .slide .horizontal-scroll-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .slide .horizontal-scroll-wrapper > *:not(.module--winding-image-grid) {
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
/* Slide
============================================================= */
.slide .title {
  max-width: 36rem;
  margin: 0 auto;
}

.slide.first {
  position: relative;
}

.slide .discover {
  display: none;
}

@media screen and (min-width: 64rem) {
  .slide .discover {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5.5rem;
  }
}
.slide .discover .discover-text {
  display: none;
}

.slide .arrow-text-hover {
  transition: all 0.35s ease;
  color: #ffffff !important;
}

/* Padding
============================================================= */
.p-full {
  padding: 1.5rem;
}

.p-full-x {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.p-full-y {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.p-half {
  padding: 0.75rem;
}

.p-half-x {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.p-half-y {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Global Tweaks
============================================================= */
/* Hide ui until document ready
----------------------------- */
body.content-loading .site--main img,
body.content-loading .site--main [role=img] {
  display: none;
}

/* Hide scrollbar
----------------------------- */
.iScrollVerticalScrollbar {
  display: none;
}

/* 2024-10-17 special fix for About slide */
.about-slide.description {
  display: none;
  position: absolute;
  bottom: 0;
  max-width: 200px;
  right: 0;
}
.about-slide.description > p {
  line-height: 1.3;
}

.section--about .slide.first .title {
  max-width: 56rem;
  text-align: left;
}
.section--about .about-slide.description {
  display: block;
}

@media screen and (min-width: 48em) {
  .section--about .about-slide.description {
    bottom: 10vw;
    right: calc(25vw - 180px);
  }
}
@media screen and (min-width: 56em) {
  .section--about .about-slide.description {
    right: calc(28vw - 180px);
  }
}
@media screen and (min-width: 72em) {
  .section--about .about-slide.description {
    right: calc(30vw - 180px);
  }
}
@media screen and (min-width: 80em) {
  .section--about .about-slide.description {
    right: calc(33vw - 180px);
  }
}
/* ************************************ HOMEPAGE ************************************ */
.section--intro .content-wrapper {
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
}

.section--intro .content-wrapper .content-container {
  max-width: 48rem;
  margin: 6rem 0 0 0;
}

.section--intro .h-type h1 {
  margin-top: 1.1rem;
}

@media screen and (min-width: 68em) {
  .section--intro .content-wrapper .content-container {
    margin: 0 0 4.5rem 0;
  }
}
.section--intro .content-wrapper .zol-logo {
  text-align: center;
}

.section--intro .content-wrapper .zol-logo .svg--z-mark-static {
  height: 3.75rem;
  width: 2.9rem;
  margin: 0 auto;
  margin-top: 2.125rem;
  fill: #a8a8aa;
}

@media screen and (min-width: 68em) {
  .section--intro .content-wrapper .zol-logo .svg--z-mark-static {
    height: 3.75rem;
    width: 2.9rem;
    margin: 0 auto;
    margin-top: 2.125rem;
    fill: #a8a8aa;
  }
}
.section--intro .content-wrapper .phone-number {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100vw;
}

@media screen and (min-width: 48em) {
  .section--intro .content-wrapper .phone-number {
    padding: 4.5rem;
  }
}
.section--intro .content-wrapper .phone-number.h-type .text {
  color: #a8a8aa;
  text-transform: capitalize;
  max-width: none;
  margin: 0;
  font-size: 0.9rem;
}

@media screen and (min-width: 32em) {
  .section--intro .content-wrapper .phone-number.h-type .text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 48em) {
  .section--intro .content-wrapper .phone-number.h-type .text {
    font-size: 1.25rem;
  }
}
@media (max-width: 767px) {
  .section--intro .intro-banner-logo {
    max-width: 200px;
  }
}
/* ************************************ BESPOKE PAGE ************************************ */
.section--bespoke .scroll {
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.5rem;
  z-index: 5;
  cursor: pointer;
}

@media screen and (min-width: 64em) {
  .section--bespoke .scroll {
    display: flex;
  }
}
.section--bespoke .scroll-arrow {
  margin-left: 0.5rem;
  width: 2.7375rem;
  height: 1.95625rem;
  fill: #a8a8a8;
}

/* ************************************ GET IN TOUCH PAGE ************************************ */
.section--get-in-touch .get-in-touch-content {
  max-width: 35.625rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  padding: 5rem 0;
}

.section--get-in-touch .heading h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.25rem;
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  line-height: 2rem;
  letter-spacing: 0.08125rem;
  text-align: center;
  color: #ffffff;
}

.section--get-in-touch .heading h2 + h3 {
  margin-top: 2.125rem;
}

.section--get-in-touch .heading h3 + p {
  margin-top: 0.9375rem;
}

.section--get-in-touch .heading p + h3 {
  margin-top: 1.875rem;
}

.section--get-in-touch .heading p + p {
  margin-top: 0rem;
}

.section--get-in-touch .heading a {
  text-decoration: none;
}

.section--get-in-touch .contact-form {
  max-width: 38.75rem;
  margin: 0 auto;
}

.section--get-in-touch .social-icons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 1.325rem;
}

@media screen and (min-width: 48em) {
  .section--get-in-touch .social-icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 3.25rem;
  }
}
.section--get-in-touch .social-icons .svg {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  height: 1.08rem;
  width: 1.08rem;
  transition: all 0.35s ease;
  margin: 0 0.5625rem;
  fill: #a8a8aa;
}

.section--get-in-touch .social-icons .svg:hover {
  fill: #ffffff;
}

.section--get-in-touch .footer {
  position: absolute;
  bottom: 2.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.section--get-in-touch .footer a {
  text-decoration: none;
}

.section--get-in-touch .email-input {
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: none;
  color: #ffffff;
  background-color: transparent;
  padding: 0.8125rem 1.25rem;
  border-radius: 0rem;
  display: inline-block;
  width: calc(100% - 2rem);
  border: solid 0.0625rem #a8a8aa;
  margin-top: 0.875rem;
  height: 3.169rem;
  border-right: 0;
}

.section--get-in-touch .email-submit {
  background-image: url("/assets/ui/mini-arrow.png");
  background-position: right 0.6rem center;
  background-repeat: no-repeat;
  background-size: 1.5rem 1.5rem;
  width: 2rem;
  height: 3.169rem;
  background-color: transparent;
  font-size: 1.25rem;
  vertical-align: top;
  border: solid 0.0625rem #a8a8aa;
  margin-top: 0.875rem;
  border-left: 0;
  cursor: pointer;
  transition: all 0.35s ease;
}

.section--get-in-touch .email-submit:hover {
  background-image: url("/assets/ui/mini-arrow-hover.png");
}

.section--get-in-touch .email-input::-webkit-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

.section--get-in-touch .email-input:-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.section--get-in-touch .email-input::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.section--get-in-touch .email-input:-ms-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

/* Error 404
============================================================= */
.page--404 .message {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.page--404 .message .wrapper {
  max-width: 36rem;
}

/* Shop single
   Banner image flush to the top + a growing CKEditor body below it, over an
   optional full-bleed background image. Works both standalone (/shop) and as a
   homepage fullPage section (/#shop).
============================================================= */
.section--shop {
  position: relative;
}

/* Client asked to remove the upper-left nav logo on the standalone Shop page.
   Scoped to the shop entry via the body class added in _global.twig. Use
   visibility (not display:none) so the logo keeps its space and the hamburger
   menu stays right-aligned. */
.page-entry--shop .site--main-nav .logo-container {
  visibility: hidden;
}

/* fullPage treats the .slide as a horizontal slide and vertically-centers it
   (adds .fp-table = display:flex; justify-content:center to .shop-slide). When a
   banner is present, top-align so it sits flush at the top (top: 0). With no
   banner, leave fullPage's default vertical centering (like get-in-touch). */
.section--shop .shop-slide.fp-table:not(.shop-slide--no-banner) {
  justify-content: flex-start;
}

/* Optional fullscreen background image. image-desktop / image-mobile are painted
   onto .shop-background by ZOL.site JS. Fixed so it stays put while content scrolls. */
.section--shop .shop-background {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 0;
}

.section--shop .shop-slide {
  position: relative;
  z-index: 1;
}

/* Banner image — flush to the top, full width */
.section--shop .shop-banner {
  margin: 0;
}

.section--shop .shop-banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* CKEditor body — follows the banner; inherits .h-type typography, grows with length. */
.section--shop .shop-content {
  max-width: 43.75rem;
  margin: 0 auto;
  padding: 2.5rem 1.25rem;
  color: #ffffff;
  text-align: center;
}

.section--shop .shop-body {
  color: #ffffff;
}

.section--shop .shop-body p + p {
  margin-top: 1rem;
}

/* CKEditor links (e.g. the email/phone in an h3) get the same animated underline
   as the nav: no underline by default, a white border-bottom fades in on hover. */
.section--shop .shop-body a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.35s ease;
}

.section--shop .shop-body a:hover {
  border-bottom: 1px solid #ffffff;
}

/* Cap CKEditor images so they don't span the full content column. */
.section--shop .shop-body img {
  max-width: 400px;
  height: auto;
}

/* Keep the image (and its CKEditor <figure> wrapper) centered. */
.section--shop .shop-body figure {
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
}

/* Button
============================================================= */
.c--button {
  position: relative;
  display: inline-block;
  text-align: center;
  padding: 0.875rem 2.875rem;
  cursor: pointer;
  min-width: 12.5rem;
  border: solid 1px #a8a8aa;
  transition: 0.35s;
  text-decoration: none !important;
}

.c--button:hover {
  border: solid 1px #ffffff;
}

/* =============================================================
Bitte UI Theme
============================================================= */
/* Bitte Field
============================================================= */
.bitte-field {
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  width: 100%;
  margin-bottom: 1.5rem;
}

* > .bitte-field:last-child {
  margin-bottom: 0;
}

/* Bitte Label (h-type h5)
============================================================= */
.bitte-field .bitte-label {
  display: block;
  margin: 0 0 0.6875rem 0;
}

.bitte-field .bitte-label:empty {
  display: none;
}

.bitte-field .bitte-label .label {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  color: #ffffff;
}

.bitte-field.invalid .bitte-label .label {
  color: #cb8383;
}

/* Bitte UI
============================================================= */
.bitte-field .bitte-ui {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* Bitte Message
============================================================= */
.bitte-field .bitte-message {
  position: relative;
  border-radius: 1rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.625rem;
  margin-bottom: 1rem;
  display: none;
}

.bitte-field.invalid .bitte-message {
  background-color: #FFF6F6;
  border: 0.0625rem solid #B70A09;
  color: #B70A09;
}

/* Button
============================================================= */
.bitte-ui-button .button {
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  position: relative;
  display: block;
  min-width: 12.5rem;
  text-align: center;
  white-space: nowrap;
  border-radius: 0rem;
  padding: 0.875rem 2.875rem;
  text-decoration: none;
  border: solid 1px #a8a8aa;
  background-color: transparent;
  color: #ffffff;
  overflow: visible;
  cursor: pointer;
  float: right;
  transition: all 0.35s ease;
  user-select: none;
}

.bitte-ui-button .button:hover {
  border: solid 1px #ffffff;
}

.bitte-ui-button .button:active {
  border: solid 1px #ffffff;
}

.bitte-ui-button.fullwidth .button {
  width: 100%;
  border-radius: 6.25rem;
}

/* Input & Textarea
============================================================= */
.bitte-field input,
.bitte-field textarea {
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: none;
  color: #ffffff;
  background-color: transparent;
  padding: 0.8125rem 1.25rem;
  border-radius: 0rem;
  display: inline-block;
  width: 100%;
  border: solid 0.0625rem #a8a8aa;
}

.bitte-field input {
  height: 3.25rem;
}

.bitte-field.invalid input {
  border-color: #cb8383;
}

.bitte-field ::-webkit-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field :-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field ::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bitte-field :-ms-input-placeholder {
  color: #ffffff;
  opacity: 1;
}

/* Dropdown
============================================================= */
.bitte-ui-dropdown .dropdown-button {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: #626d75;
  background-color: #ffffff;
  padding: 0.8125rem 2.25rem 0.8125rem 1.25rem;
  border-radius: 0.3125rem;
  border: 0.0625rem solid #d5d5d5;
  user-select: none;
  width: 100%;
  min-width: 12rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.bitte-ui-dropdown .dropdown-button:after {
  content: "";
  position: absolute;
  top: 1.125rem;
  right: 1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-dropdown .dropdown-button.has-value {
  color: #333f48;
}

.bitte-ui-dropdown .dropdown-menu {
  background-color: #ffffff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.25rem 1.5rem 0 rgba(0, 0, 0, 0.1875);
  position: absolute;
  width: 100%;
  z-index: 1;
  user-select: none;
  padding: 0.375rem 0;
  max-height: 22rem;
  overflow: auto;
  display: none;
}

.bitte-ui-dropdown .dropdown-menu.is-active {
  display: block;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-label {
  background-color: #ffffff;
  color: #777777;
  padding: 0.25rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: #626d75;
  width: 100%;
  text-align: left;
  padding: 0.25rem 2.5rem;
  cursor: default;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:hover {
  background-color: #00809f;
  color: #ffffff;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:focus {
  background-color: #00809f;
  color: #ffffff;
  box-shadow: none;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item.checked:before {
  content: "✓";
  display: inline-block;
  width: 1rem;
  margin-left: -1.5rem;
  margin-right: 0.5rem;
}

/* Dropdown - Index Filter
----------------------------- */
@media screen and (min-width: 48rem) {
  .bitte-ui-dropdown.index-filter {
    display: flex;
    align-items: center;
  }
}
.bitte-ui-dropdown.index-filter .bitte-label {
  margin-right: 1.5rem;
  white-space: nowrap;
}

.bitte-ui-dropdown.index-filter .bitte-label .label {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.25;
  letter-spacing: -0.0125rem;
  color: #424c58;
}

.bitte-ui-dropdown.index-filter .bitte-ui {
  max-width: 24rem;
}

/* Combobox
============================================================= */
.bitte-ui-combobox .listbox {
  position: absolute;
  width: 100%;
  z-index: 1;
  background-color: #616d7a;
  user-select: none;
  padding: 0.5rem 0;
  max-height: 22rem;
  overflow: auto;
  display: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.bitte-ui-combobox .listbox.is-active {
  display: block;
}

.bitte-ui-combobox .listbox .option {
  width: 100%;
  text-align: left;
  font-size: 1.125rem;
  line-height: 2.125rem;
  color: #ffffff;
  padding: 0.25rem 2.5rem;
  cursor: default;
  display: none;
}

.bitte-ui-combobox .listbox .option:hover {
  background-color: #444e58;
}

.bitte-ui-combobox .listbox .option:focus {
  background-color: #252E38;
  box-shadow: none;
}

.bitte-ui-combobox .listbox .option.match {
  display: block;
}

/* Uberselect
============================================================= */
.bitte-ui-uberselect .uberselect {
  position: relative;
}

.bitte-ui-uberselect .uberselect-button {
  width: 100%;
  text-align: left;
  cursor: default;
  min-height: 3.25rem;
  background-color: #ffffff;
  border-radius: 0.3125rem;
}

.bitte-ui-uberselect .button-wrapper {
  display: flex;
  flex-wrap: wrap;
  border: 0.0625rem solid #d5d5d5;
  background-color: #ffffff;
  padding: 0.25rem 3.125rem 0.25rem 0.25rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  color: #242d39;
  border-radius: 0.3125rem;
}

.bitte-ui-uberselect .button-wrapper:after {
  content: "";
  position: absolute;
  top: 1.125rem;
  right: 1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-uberselect .button-wrapper .placeholder {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.3125rem 0.5rem;
  line-height: 1.5rem;
  color: #696969;
  user-select: none;
  cursor: default;
}

.bitte-ui-uberselect .button-wrapper .selection-tag {
  position: relative;
  display: inline-block;
  color: #ffffff;
  background-color: #00809f;
  padding: 0.3125rem 1.875rem 0.3125rem 0.75rem;
  margin: 0.25rem;
  border-radius: 0.3125rem;
  line-height: 1.5rem;
  text-align: left;
}

.bitte-ui-uberselect .button-wrapper .selection-tag:after {
  position: absolute;
  content: "×";
  top: 0;
  right: 0;
  width: 2rem;
  height: 100%;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: center;
}

.bitte-ui-uberselect .dropdown-container {
  display: none;
  position: absolute;
  width: 100%;
  z-index: 1;
  background-color: #ffffff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.25rem 1.5rem 0 rgba(0, 0, 0, 0.1875);
}

.bitte-ui-uberselect .dropdown-container .input-container {
  position: relative;
  padding: 0.75rem 0.75rem 0.375rem 0.75rem;
}

.bitte-ui-uberselect .dropdown-container .input-container:after {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 1.5rem;
  right: 1.5rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjNjI2ZDc1IiBkPSJNMTguNzA3LDE3LjI5M2wtMy44Mi0zLjgyYTYuMDEyMiw2LjAxMjIsMCwxLDAtMS40MTQxLDEuNDE0MWwzLjgyLDMuODJBMSwxLDAsMCwwLDE4LjcwNywxNy4yOTNaTTYsMTBhNCw0LDAsMSwxLDQsNEE0LDQsMCwwLDEsNiwxMFoiPjwvcGF0aD48L3N2Zz4=");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bitte-ui-uberselect .dropdown-container .input-container .input {
  height: 3.125rem;
  font-size: 1rem;
  line-height: 2rem;
  padding: 0.75rem 1rem;
  padding-right: 3.125rem;
  width: 100%;
  border: 0.0625rem solid #d5d5d5;
}

.bitte-ui-uberselect .listbox {
  background-color: #ffffff;
  user-select: none;
  overflow: auto;
  padding: 0.375rem 0;
  max-height: 15.5rem;
  border-radius: 0 0 0.3125rem 0.3125rem;
}

.bitte-ui-uberselect .listbox.is-active {
  display: block;
}

.bitte-ui-uberselect .listbox .option {
  width: 100%;
  text-align: left;
  color: #626d75;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.25rem 2.25rem;
  cursor: default;
  display: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.bitte-ui-uberselect .listbox .option:hover {
  background-color: #00809f;
  color: #ffffff;
}

.bitte-ui-uberselect .listbox .option:focus {
  background-color: #00809f;
  color: #ffffff;
  box-shadow: none;
}

.bitte-ui-uberselect .listbox .option.match {
  display: block;
}

.bitte-ui-uberselect .listbox .option.checked:before {
  content: "✓";
  display: inline-block;
  width: 1rem;
  margin-left: -1.375rem;
  margin-right: 0.375rem;
}

.bitte-ui-uberselect .listbox .no-results {
  width: 100%;
  text-align: left;
  color: #696969;
  cursor: default;
  font-style: italic;
  display: none;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.25rem 2.25rem;
}

/* Radio
============================================================= */
.bitte-ui-radio {
  margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup {
  margin-bottom: 2rem;
}

.bitte-ui-radio .radiogroup .radio-container {
  display: block;
  margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup .radio {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.63;
  letter-spacing: normal;
  text-align: left;
  color: #242d39;
  cursor: default;
  overflow: visible;
}

.bitte-ui-radio .radiogroup .radio:before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 0.0625rem solid #626d75;
  background-color: #ffffff;
  display: inline-block;
  vertical-align: middle;
  overflow: visible;
  margin: 0.1875rem;
  margin-right: 1rem;
}

.bitte-ui-radio .radiogroup .radio.checked:before {
  background-color: #004c77;
  border: 0.0625rem solid #626d75;
  box-shadow: 0 0 0 0.25rem #ffffff inset;
}

/* Inline
----------------------------- */
.bitte-ui-radio.inline {
  margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup {
  margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup .radio-container {
  display: inline-block;
  margin: 0;
  margin-right: 2rem;
}

/* Checkbox
============================================================= */
.bitte-ui-checkbox .bitte-ui .group {
  display: inline-block;
  width: 100%;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.63;
  letter-spacing: normal;
  text-align: left;
  color: #242d39;
  cursor: default;
  white-space: nowrap;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  width: 14px;
  height: 14px;
  border: 1px solid #999999;
  background-color: #ffffff;
  border-radius: 2px;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button.active:before {
  content: "✓";
  color: #ffffff;
  border: 0;
  background-color: #1976D2;
  font-size: 0.875rem;
  line-height: 1rem;
  font-weight: 600;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button > span {
  vertical-align: middle;
}

/* Awards
============================================================= */
.module--awards {
  padding: 6rem 0;
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
}

/* Heading
============================================================= */
.module--awards .heading {
  margin-bottom: 3.5rem;
}

/* Timeline
============================================================= */
.module--awards .timeline {
  display: none;
  position: relative;
  padding: 1.75rem 0;
  margin-bottom: 3.5rem;
}

@media screen and (min-width: 64em) {
  .module--awards .timeline {
    display: block;
  }
}
.module--awards .timeline::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.25rem;
  width: calc(100% - 2.5rem);
  height: 0.0625rem;
  background-color: #ffffff;
}

.module--awards .timeline .years {
  display: flex;
  justify-content: space-between;
}

.module--awards .timeline .years .year {
  position: relative;
  width: 2.5rem;
  height: 1.75rem;
  font-family: "Freight Sans Pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.15rem;
  letter-spacing: 0.0375rem;
  color: #a8a8aa;
  cursor: pointer;
}

.module--awards .timeline .years .year.active {
  color: #ffffff;
}

.module--awards .timeline .years .year:hover {
  color: #ffffff;
}

.module--awards .timeline .years .year:focus {
  outline: none;
}

.module--awards .timeline .years .year:nth-child(odd) {
  transform: translateY(-1.75rem);
}

.module--awards .timeline .years .year:nth-child(even) {
  transform: translateY(1.75rem);
}

.module--awards .timeline .years .year::before {
  content: "";
  position: absolute;
  left: calc(50% - 0.03125rem);
  width: 0.0625rem;
  height: 0.875rem;
  background-color: #ffffff;
}

.module--awards .timeline .years .year:nth-child(odd)::before {
  top: 100%;
}

.module--awards .timeline .years .year:nth-child(even)::before {
  bottom: 100%;
}

/* Nav Carousel
============================================================= */
.module--awards .nav-carousel {
  width: 10rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 0.75rem;
}

.module--awards .nav-carousel .arrow {
  position: absolute;
  top: 0;
  height: 100%;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.25rem;
  line-height: 2.375rem;
  letter-spacing: 0.0875rem;
  color: #a8a8aa;
  cursor: pointer;
  z-index: 1;
}

.module--awards .nav-carousel .arrow.disabled {
  display: none !important;
}

.module--awards .nav-carousel .arrow.prev {
  left: 0;
}

.module--awards .nav-carousel .arrow.next {
  right: 0;
}

.module--awards .nav-carousel .arrow:hover {
  color: #ffffff;
}

.module--awards .nav-carousel .arrow:focus {
  outline: none;
}

/* Content Carousel
============================================================= */
.module--awards .content-carousel {
  max-width: 32rem;
  margin: 0 auto;
  margin-bottom: 1.5rem;
}

.horizontal-scroll-wrapper .module--bespokeSlide {
  flex: none;
  width: 100%;
}

.module--bespokeSlide .bespoke-slide {
  min-width: 100vw;
}

.module--bespokeSlide .bespoke-slide .text {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6rem 0;
  background: radial-gradient(circle, #000000, #454545);
}

@media screen and (min-width: 48em) {
  .module--bespokeSlide .bespoke-slide .text {
    background: radial-gradient(circle, #000000, #454545);
  }
}
.module--bespokeSlide .bespoke-slide .text h2 + h3 {
  margin-top: 2rem;
}

.module--bespokeSlide .bespoke-slide .text .text-wrapper {
  display: block;
  margin: 0 auto;
  width: 100%;
  margin-top: 4rem;
  overflow-y: auto;
}

.module--bespokeSlide .bespoke-slide .text .text-container .h-type {
  width: 100%;
}

@media screen and (min-width: 48em) {
  .module--bespokeSlide .bespoke-slide .text .text-wrapper {
    display: block;
    margin: 0 auto;
    max-width: 45.25rem;
    margin-top: 7.5rem;
    overflow-y: auto;
  }
  .module--bespokeSlide .bespoke-slide .text .text-container {
    width: 100%;
    max-width: 45.25rem;
  }
}
@media screen and (min-width: 64em) {
  .module--bespokeSlide .bespoke-slide .text .text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  .module--bespokeSlide .bespoke-slide .text .text-container {
    width: 100%;
    max-width: 35.25rem;
  }
}
.module--bespokeSlide .bespoke-slide .image {
  z-index: 5;
  min-height: 100vh;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.module--bespokeSlide .bespoke-slide .scroll-text {
  transition: all 0.35s ease;
}

.module--bespokeSlide .bespoke-slide .bespoke-button {
  border: solid 1px #a8a8aa;
  transition: 0.35s;
}

.module--bespokeSlide .bespoke-slide .bespoke-button:hover {
  border: solid 1px #ffffff;
}

.module--bespokeSlide .bespoke-slide .bespoke-button a {
  text-decoration: none;
}

.module--bespokeSlide .bespoke-slide .bespoke-button p {
  text-transform: uppercase;
  margin: 0.875rem 1.6875rem;
}

.module--collection-outro .collection-outro {
  max-width: 36rem;
  margin: 0 auto;
}

.horizontal-scroll-wrapper .module--contact {
  min-height: 100vh;
  flex: none;
  width: 100%;
}

.module--contact .heading {
  padding-top: 7.5rem;
}

.module--contact .heading h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.25rem;
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  line-height: 2rem;
  letter-spacing: 0.08125rem;
  text-align: center;
  color: #ffffff;
}

.module--contact .heading h2 + h3 {
  margin-top: 2.125rem;
}

.module--contact .heading h3 + p {
  margin-top: 0.9375rem;
}

.module--contact .heading p + h3 {
  margin-top: 1.875rem;
}

.module--contact .heading p + p {
  margin-top: 0rem;
}

.module--contact .heading a {
  text-decoration: none;
}

.module--contact .contact-form {
  max-width: 38.75rem;
  margin: 0 auto;
  margin-bottom: 7.5rem;
}

.module--exhibitions .exhibitions {
  max-width: 81.25rem;
  margin: 0 auto;
  text-align: center;
  padding: 7.5rem 0.75rem;
}

.module--exhibitions .exhibitions .exhibition-wrapper {
  margin-top: 0;
}

@media screen and (min-width: 48em) {
  .module--exhibitions .exhibitions .exhibition-wrapper {
    margin-top: 3.625rem;
  }
}
.module--exhibitions .exhibitions .exhibition-content {
  display: none;
  margin-top: 0;
}

.module--exhibitions .exhibitions .exhibition-content.active {
  display: flex;
}

.module--exhibitions .exhibitions .image {
  padding: 1.5rem;
}

@media screen and (min-width: 64em) {
  .module--exhibitions .exhibitions .image {
    margin: 0;
  }
}
.module--exhibitions .exhibitions .exhibition-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 18rem;
  min-height: 100%;
  max-width: 26rem;
  margin: 0 auto;
}

@media screen and (min-width: 48em) {
  .module--exhibitions .exhibitions .exhibition-image {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    height: 26.875rem;
    min-height: 100%;
    max-width: 38.75rem;
    margin: 0 auto;
  }
}
.module--exhibitions .exhibitions .exhibition-names {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 48em) {
  .module--exhibitions .exhibitions .exhibition-names {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: row;
    margin-bottom: 0;
  }
}
.module--exhibitions .exhibitions .exhibition-names .exhibition-tab {
  display: flex;
  align-items: center;
  max-width: 14.25rem;
  margin: 0 1.875rem;
  font-family: "Freight Sans Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1.4375rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  color: #a8a8aa;
  padding-bottom: 1.5rem;
  border-bottom: solid 1px #a8a8aa;
  cursor: pointer;
  margin-bottom: 1.5rem;
}

.module--exhibitions .exhibitions .exhibition-names .exhibition-tab.active {
  color: #ffffff;
  border-bottom: solid 1px #ffffff;
}

.module--exhibitions .exhibitions .exhibition-tab:focus {
  outline: none;
}

.module--exhibitions .exhibitions .exhibition-wrapper .text {
  margin: 0 auto;
  display: flex;
  padding: 1.5rem;
}

.module--exhibitions .exhibitions .exhibition-text {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  max-width: 35.625rem;
  height: 100%;
}

.module--product {
  padding: 2rem;
}

@media screen and (min-width: 32em) {
  .module--product {
    padding: 4rem;
  }
}
@media screen and (min-width: 64em) {
  .module--product {
    padding: 8rem;
  }
}
.module--product .product {
  margin: 0 auto;
  max-width: 105rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media screen and (min-width: 48em) {
  .module--product .product {
    margin: 0 auto;
    max-width: 105rem;
    padding-top: 7.5rem;
  }
}
@media screen and (min-width: 64em) {
  .module--product .product {
    padding-top: 0rem;
  }
}
.module--product .product .image {
  margin: auto 0;
}

.module--product .product .image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.module--product .product .image-container {
  width: 100%;
  padding-bottom: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  cursor: pointer;
}

@media screen and (min-width: 48em) {
  .module--product .product .image-container {
    width: 75%;
    padding-bottom: 75%;
  }
}
@media screen and (min-width: 64em) {
  .module--product .product .image-container {
    width: 100%;
    padding-bottom: 100%;
  }
}
.module--product .product .image-container .svg--zoom-plus {
  position: absolute;
  width: 1.625rem;
  height: 1.625rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.5rem;
  transition: all 0.35s ease;
  fill: #a8a8aa;
}

@media screen and (min-width: 48em) {
  .module--product .product .image-container .svg--zoom-plus {
    right: 1.5rem;
    bottom: 1.5rem;
    left: auto;
    transform: inherit;
  }
}
.module--product .product .text-col {
  margin-top: 1.5rem;
}

.module--product .product .text-col .text-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.module--product .product .text-col .text-container {
  width: 100%;
  max-width: 35.625rem;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.module--product .product .text-col .text-container .h-type {
  max-width: 100%;
}

.module--product .product .text-col h2 + h3 {
  margin-top: 1.1875rem;
}

@media screen and (min-width: 48em) {
  .module--product .product .text-col h2 + h3 {
    margin-top: 1.9rem;
  }
}
.module--product .product .product-button-available {
  text-transform: uppercase;
  min-width: 12.5rem;
  text-align: center;
  white-space: nowrap;
  border-radius: 0rem;
  padding: 0.875rem 2.875rem;
  text-decoration: none;
  border: solid 0.0625rem #a8a8aa;
  background-color: transparent;
  overflow: visible;
  cursor: pointer;
  transition: all 0.35s ease;
  margin-top: 2.125rem;
}

.module--product .product .product-button-available h5 {
  color: #ffffff;
}

.module--product .product .product-button-available:hover {
  border: solid 0.0625rem #ffffff;
}

.module--product .product .product-button-sold {
  text-transform: uppercase;
  min-width: 12.5rem;
  text-align: center;
  white-space: nowrap;
  border-radius: 0rem;
  padding: 0.875rem 2.875rem;
  text-decoration: none;
  border: solid 0.0625rem #a8a8aa;
  background-color: transparent;
  overflow: visible;
  transition: all 0.35s ease;
  margin-top: 2.125rem;
}

.module--product .product .product-button-sold h5 {
  color: #a8a8aa;
}

/* ******** OVERLAY ********* */
.product-overlay {
  position: fixed;
  background-color: #000000;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  transition: opacity 0.35s, visibility 0.35s;
  cursor: default;
  opacity: 0;
  pointer-events: none;
}

.product-overlay.open {
  display: inline-block;
  z-index: 106;
  opacity: 1;
  pointer-events: auto;
}

.product-overlay.open .exit-slider {
  background-image: url("/assets/ui/close-x.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 1.8125rem;
  height: 2.5rem;
  position: absolute;
  top: 1.3rem;
  right: 1.5rem;
  z-index: 110;
  cursor: pointer;
}

@media screen and (min-width: 48em) {
  .product-overlay.open .exit-slider {
    top: 3.8125rem;
    right: 4.5rem;
  }
}
.product-overlay.open .svg--z-mark-static {
  width: 1.625rem;
  height: 2.125rem;
  transition: all 0.35s ease;
  position: absolute;
  left: 1.3rem;
  top: 1.5rem;
  cursor: pointer;
  z-index: 110;
  fill: #a8a8aa;
}

@media screen and (min-width: 48em) {
  .product-overlay.open .svg--z-mark-static {
    width: 2.9rem;
    height: 3.75rem;
    left: 4.5rem;
    top: 3.1875rem;
  }
}
.product-overlay.open .svg--z-mark-static:hover {
  fill: #ffffff;
  width: 1.625rem;
  height: 2.125rem;
  transition: all 0.35s ease;
  position: absolute;
  left: 1.3rem;
  top: 1.5rem;
  cursor: pointer;
  z-index: 110;
}

@media screen and (min-width: 48em) {
  .product-overlay.open .svg--z-mark-static:hover {
    width: 2.9rem;
    height: 3.75rem;
    left: 4.5rem;
    top: 3.1875rem;
  }
}
.product-overlay .product-image {
  height: 100vh;
}

.product-overlay .product-slider {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.product-overlay .product-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Dots (Splide pagination) */
.splide__pagination {
  position: absolute;
  bottom: 7.5rem;
  width: 100%;
  right: 0;
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

@media screen and (min-width: 48em) {
  .splide__pagination {
    bottom: 3.8125rem;
    width: auto;
    right: 4.5rem;
  }
}
.splide__pagination li {
  position: relative;
  display: inline-block;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  cursor: pointer;
}

.splide__pagination__page {
  position: relative;
  font-size: 0;
  line-height: 0;
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0.1875rem;
  margin: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.splide__pagination__page:hover,
.splide__pagination__page:focus {
  outline: none;
}

.splide__pagination__page:before {
  background-image: url("/assets/ui/diamond-outlined.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  text-align: center;
}

.splide__pagination__page.is-active:before {
  background-image: url("/assets/ui/diamond-solid.png");
}

.module--text {
  height: 100%;
}

.module--text .text {
  padding: 6rem 0;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.module--text .text .text-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0 auto;
  max-width: 35.625rem;
}

.module--text .text h2 + h3 {
  margin-top: 2rem;
}

/* Winding Image Grid
============================================================= */
@media screen and (min-width: 64em) {
  .module--winding-image-grid > .wrapper {
    margin: -1.5rem 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
}
/* Triple
============================================================= */
.module--winding-image-grid .triple {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 64em) {
  .module--winding-image-grid .triple:first-child {
    padding-left: 1.5rem;
  }
  .module--winding-image-grid .triple:last-child {
    padding-right: 1.5rem;
  }
}
/* Product size (mobile) */
.module--winding-image-grid .triple .product {
  width: 100vw;
  height: 100vw;
}

/* Product size (desktop) - default */
@media screen and (min-width: 64em) {
  .module--winding-image-grid .triple .product {
    height: calc((100vh + 3rem) / 3);
    width: calc((100vh + 3rem) / 3);
  }
}
/* Triple (Type I)
----------------------------- */
@media screen and (min-width: 64em) {
  .module--winding-image-grid .triple:nth-child(4n+1) .double {
    display: flex;
  }
  .module--winding-image-grid .triple:nth-child(4n+1) .product.a {
    height: calc((100vh + 3rem) / 3 * 2);
    width: calc((100vh + 3rem) / 3 * 2);
  }
}
/* Triple (Type 2 & 4)
----------------------------- */
/* Triple (Type 3)
----------------------------- */
@media screen and (min-width: 64em) {
  .module--winding-image-grid .triple:nth-child(4n+3) .single {
    order: 1;
  }
  .module--winding-image-grid .triple:nth-child(4n+3) .double {
    display: flex;
  }
  .module--winding-image-grid .triple:nth-child(4n+3) .product.a {
    height: calc((100vh + 3rem) / 3 * 2);
    width: calc((100vh + 3rem) / 3 * 2);
  }
}
/* Product
============================================================= */
.module--winding-image-grid .triple .product {
  padding: 1.5rem;
}

.module--winding-image-grid .triple .product .photo {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  box-shadow: 3px 3px 15px 0 rgba(0, 0, 0, 0.38);
  display: flex;
  align-items: center;
  justify-content: center;
}

.module--winding-image-grid .triple .product .photo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(#000000, #454545);
  opacity: 0;
  transition: opacity 500ms ease;
}

.module--winding-image-grid .triple .product .photo:hover::before {
  opacity: 0.85;
}

.module--winding-image-grid .triple .product .photo .title {
  position: relative;
  pointer-events: none;
  opacity: 0;
  transition: opacity 500ms ease;
}

.module--winding-image-grid .triple .product .photo:hover .title {
  pointer-events: auto;
  opacity: 1;
}

/*# sourceMappingURL=zol-main.css.map */
