@charset "UTF-8";
.utils--text-center, .utils--align-center {
  text-align: center;
}
.utils--centered {
  display: block;
  margin: 0 auto;
}
.utils--text-left {
  display: block;
  text-align: left;
}
.utils__video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 1.5625rem;
  height: 0;
}
.utils__video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.utils--flex {
  display: flex;
}
.utils--margin-bottom {
  margin-bottom: 3.125rem;
}
.utils__grid--1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

body {
  margin: 0;
  padding: 0;
  font-size: 100%;
  height: 100%;
}
body.no-scroll {
  height: 100vh;
  width: 100vW;
  overflow: hidden;
}
@media (-webkit-device-pixel-ratio: 1.25) {
  body {
    font-size: 80%;
  }
}
@media (-webkit-device-pixel-ratio: 1.5) {
  body {
    font-size: 60%;
  }
}

a {
  text-decoration: none;
}

img, video {
  max-width: none;
}

@font-face {
  font-family: "tex_gyre_adventor";
  src: url("/assets/fonts/texgyreadventor-bold-webfont.woff2") format("woff2"), url("/assets/fonts/texgyreadventor-bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "tex_gyre_adventor";
  src: url("/assets/fonts/texgyreadventor-bolditalic-webfont.woff2") format("woff2"), url("/assets/fonts/texgyreadventor-bolditalic-webfont.woff") format("woff");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: "tex_gyre_adventor";
  src: url("/assets/fonts/texgyreadventor-italic-webfont.woff2") format("woff2"), url("/assets/fonts/texgyreadventor-italic-webfont.woff") format("woff");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "tex_gyre_adventor";
  src: url("/assets/fonts/texgyreadventor-regular-webfont.woff2") format("woff2"), url("/assets/fonts/texgyreadventor-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
body {
  font-family: "tex_gyre_adventor", sans-serif;
}

h1, .h1 {
  font-style: normal;
  font-weight: 600;
  font-size: 4.0625rem;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
h1 small, .h1 small {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.1875rem;
}
@media only screen and (max-width: 85.375rem) {
  h1, .h1 {
    font-size: 3.4375rem;
  }
  h1 small, .h1 small {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 48rem) {
  h1, .h1 {
    font-size: 2.5rem;
  }
  h1 small, .h1 small {
    font-size: 0.9375rem;
  }
}

h2, .h2 {
  font-size: 1.875rem;
  letter-spacing: 0.08em;
  color: #363636;
  font-style: normal;
  font-weight: bold;
  margin-bottom: 3.125rem;
}

h3 {
  color: #363636;
  font-family: "tex_gyre_adventor";
  font-size: 1.25rem;
  font-weight: 400;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.08em;
  margin: 0 0 1.875rem 0;
}
@media only screen and (max-width: 48rem) {
  h3 {
    font-size: 1rem;
  }
}

h4 {
  font-size: 0.875rem;
  font-family: "tex_gyre_adventor";
  font-weight: normal;
  font-style: normal;
  color: #A0A0A0;
  margin: 0 0 0.375rem 0;
  letter-spacing: 0.08em;
}

h5 {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

span {
  font-family: "tex_gyre_adventor", sans-serif;
  letter-spacing: 0.1em;
}

label {
  letter-spacing: 0.1em;
}

p {
  font-family: "tex_gyre_adventor", sans-serif;
  letter-spacing: 0.1em;
  margin: 0;
  font-size: 0.875rem;
  color: #363636;
}
p.p--red {
  color: #D52626;
}
p.p--large {
  font-size: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  p.p--large {
    font-size: 1rem;
  }
}
p a {
  color: #363636;
  text-decoration: underline;
}
p strong {
  font-weight: 700;
}

ul.ul-custom {
  font-size: 0.875rem;
  color: #363636;
  list-style: none;
  padding: 0;
  margin-left: 1em;
}
ul.ul-custom li {
  margin-bottom: 0.625rem;
}
ul.ul-custom li::before {
  content: "•";
  color: #363636;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

li {
  letter-spacing: 0.1em;
  color: #363636;
}

a {
  color: #363636;
  letter-spacing: 0.1em;
}

address {
  color: #363636;
  font-family: "tex_gyre_adventor";
  font-size: 1.25rem;
  font-weight: 400;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 48rem) {
  address {
    font-size: 1rem;
  }
}

@font-face {
  font-family: "nallu";
  src: url("/assets/iconsets/nallu.eot?3hzypz");
  src: url("/assets/iconsets/nallu.eot?3hzypz#iefix") format("embedded-opentype"), url("/assets/iconsets/nallu.ttf?3hzypz") format("truetype"), url("/assets/iconsets/nallu.woff?3hzypz") format("woff"), url("/assets/iconsets/nallu.svg?3hzypz#nallu") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "nallu" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class^=icon-]:before, [class*=" icon-"]:before {
  letter-spacing: 0;
}

.icon-close:before {
  content: "\e900";
}

.icon-reload:before {
  content: "\e901";
}

.icon-arrow_right:before {
  content: "\e902";
}

.icon-arrow_up:before {
  content: "\e903";
}

.icon-arrow_down:before {
  content: "\e909";
}

.icon-arrow_left:before {
  content: "\e90a";
}

.icon-basket:before {
  content: "\e904";
}

.icon-facebook:before {
  content: "\e905";
}

.icon-instagram:before {
  content: "\e906";
}

.icon-mail:before {
  content: "\e907";
}

.icon-phone:before {
  content: "\e908";
}

.button {
  font-size: 0.875rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  border-radius: 1.875rem;
  padding: 0.625rem 1.875rem;
  border: 0;
  outline: 0;
  transition: all 0.3s ease-in-out;
  display: inline-block;
  cursor: pointer;
  font-family: "tex_gyre_adventor", sans-serif;
  text-align: center;
}
.button--transparent {
  background-color: rgba(160, 160, 160, 0.2);
}
.button--transparent:hover {
  background-color: white;
  color: #363636;
}
.button--primary {
  background-color: #363636;
}
.button--primary:hover {
  background-color: #030303;
}
.button--primary:disabled {
  opacity: 0.3;
}
.button--primary:disabled:hover {
  background-color: #363636;
}
.button--icon-left {
  padding-left: 2.1875rem;
  position: relative;
}
.button--icon-left img {
  position: absolute;
  left: 0.625rem;
  display: inline-block;
}
.button--icon-left img:before {
  content: "";
  position: absolute;
  bottom: -0.1875rem;
  top: -0.1875rem;
  right: 0;
  border-right: 1px solid white;
}
.button--icon-left span {
  position: relative;
  display: inline-block;
  padding-left: 0.625rem;
}
.button--border {
  border: 1px solid #A0A0A0;
  border-radius: 0.3125rem;
  background-color: transparent;
}
.button--circle {
  background-color: #363636;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 1.875rem;
  min-width: 0;
  padding: 0;
  text-align: center;
}
.button--square {
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 0.3125rem;
  min-width: 0;
  padding: 0;
  text-align: center;
  background-color: transparent;
  border: 0.125rem solid #A0A0A0;
  color: #A0A0A0;
  font-size: 1.125rem;
}
.button--square:before {
  width: 1.125rem;
}
.button--reduce {
  width: 1.875rem;
  height: 1.875rem;
  text-align: center;
  min-width: 0;
  padding: 0;
  position: relative;
}
.button--reduce:before {
  position: absolute;
  content: "";
  width: 0.75rem;
  height: 0.0625rem;
  display: inline-block;
  background-color: #A0A0A0;
  top: calc(50% - 1px);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.button--add {
  width: 1.875rem;
  height: 1.875rem;
  text-align: center;
  min-width: 0;
  position: relative;
  padding: 0;
}
.button--add:before {
  position: absolute;
  content: "";
  width: 0.75rem;
  height: 0.0625rem;
  display: block;
  background-color: #A0A0A0;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
}
.button--add:after {
  padding: 0;
  content: "";
  width: 0.0625rem;
  height: 0.75rem;
  display: block;
  background-color: #A0A0A0;
  position: absolute;
  left: calc(50% - 1px);
  top: calc(50% - 6px);
}
.button--toggle {
  height: 2.5rem;
  width: 2.5rem;
  padding: 0;
  background-color: transparent;
  text-align: center;
  position: relative;
}
.button--toggle span {
  margin: 0.3125rem auto;
  width: 1.25rem;
  height: 0.0625rem;
  background-color: black;
  display: block;
  transition: transform 0.3s ease-in-out;
}
.button--toggle.is-active span:nth-child(2) {
  opacity: 0;
}
.button--toggle.is-active span:first-child {
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.button--toggle.is-active span:last-child {
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.button--close {
  background-color: transparent;
  height: 1.5625rem;
  width: 1.5625rem;
  position: relative;
  border: 0;
  outline: 0;
  padding: 0;
}
.button--close:before {
  content: "";
  border-bottom: 2px solid #A0A0A0;
  transform-origin: center center;
  display: block;
  position: absolute;
  top: 50%;
  width: 1.75rem;
  transform: rotate(45deg);
}
.button--close:after {
  content: "";
  border-bottom: 2px solid #A0A0A0;
  transform-origin: center center;
  display: block;
  position: absolute;
  top: 50%;
  width: 1.75rem;
  transform: rotate(-45deg);
}
.button--rounded-icon {
  border-radius: 0.3125rem;
  padding: 0.3125rem 0.3125rem;
  text-align: center;
  width: 1.875rem;
  height: 1.875rem;
}
.button--border-circle {
  width: 2.625rem;
  height: 2.625rem;
  border: 2px solid #363636;
  border-radius: 1.3125rem;
  background-color: transparent;
  outline: 0;
  font-size: 1.25rem;
  padding: 0;
  color: #363636;
  min-width: none;
}
.button--large {
  height: 2.5rem;
}
.button--rounded {
  border-radius: 0.3125rem;
}
.button--red {
  border-color: #D52626;
  color: #D52626;
}
.button--green {
  border-color: #8ABB2A;
  color: #8ABB2A;
}
.button--green-background {
  background-color: #008800;
}
.button--dark {
  background-color: #524e4e;
}
.button--clear {
  color: #363636;
  padding: 0;
  margin: 0;
  min-width: 0;
  background-color: transparent;
}
.button--underline {
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0;
  min-width: 0;
  position: relative;
}
.button--underline:after {
  content: "";
  width: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid #524e4e;
  transition: width 0.3s ease-in-out;
}
.button--underline:hover:after, .button--underline.is-active:after {
  width: 100%;
}
.button--tile {
  width: 12.5rem;
  height: 12.5rem;
  border: 0.125rem solid transparent;
  position: relative;
  background-color: transparent;
  vertical-align: top;
}
.button--tile:disabled {
  opacity: 0.3;
}
.button--tile span {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  width: 100%;
  display: block;
  z-index: 9;
  text-align: center;
  color: #363636;
}
.button--tile svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.button--tile svg path {
  fill: #363636;
}
.button--tile .button__background {
  position: absolute;
  top: 0.1875rem;
  left: 0.1875rem;
  right: 0.1875rem;
  bottom: 0.1875rem;
  width: auto;
  height: auto;
  background-color: #DDDDDD;
  z-index: 0;
  border-radius: 1.5rem;
}
.button--tile.is-active {
  border: 0.125rem solid #363636;
}
.button--tile.is-active span {
  color: #ffffff;
}
.button--tile.is-active .button__background {
  background-color: #363636;
}
.button--tile.is-active svg path {
  fill: #ffffff;
}
@media only screen and (max-width: 48rem) {
  .button--tile {
    width: 10rem;
    height: 9.375rem;
  }
  .button--tile span {
    top: 20px;
  }
  .button--tile svg {
    width: 100%;
    height: 100%;
  }
}
.button--color {
  height: 2.875rem;
  width: 2.875rem;
  border-radius: 2.875rem;
  border: 0.125rem solid transparent;
  padding: 0;
  position: relative;
  background-color: transparent;
}
.button--color .button__background {
  border-radius: 100%;
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 3px;
  top: 3px;
}
.button--color.is-active {
  border: 0.125rem solid #363636;
}

.input {
  background-color: white;
  border: 0.0625rem solid #C4C3C3;
  border-radius: 0.3125rem;
  min-height: 1.875rem;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  padding: 0 0.9375rem;
  position: relative;
  font-family: "tex_gyre_adventor", sans-serif;
  letter-spacing: 0.1em;
}
.input[type=number] {
  -moz-appearance: textfield;
}
.input[type=number]::-webkit-outer-spin-button, .input[type=number] ::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.input--small {
  width: 2.5rem;
  text-align: center;
  padding: 0 0.3125rem;
}
.input--long {
  width: 18.75rem;
}
.input--default {
  border: 0.0625rem solid #C4C3C3;
  border-radius: 0.3125rem;
  height: 2.5rem;
}
.input--default:focus {
  outline: none;
}
.input.has-error {
  border: 0.0625rem solid #D52626;
}
.input:focus {
  border: 0.0625rem solid #2c2c2c;
}
.input--checkbox {
  border: none;
  position: relative;
  padding-left: 1.875rem;
  font-size: 0.875rem;
}
.input--checkbox [type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  z-index: -1;
}
.input--checkbox [type=checkbox]:checked ~ .input__checkmark:after {
  display: block;
}
.input--checkbox [type=checkbox]:invalid ~ .input__checkmark {
  border: 0.0625rem solid #D52626;
  color: #D52626;
}
.input--checkbox [type=checkbox]:invalid ~ .input__text {
  color: #D52626;
}
.input--checkbox [type=checkbox]:invalid ~ .input__text a {
  color: #D52626;
}
.input--checkbox .input__checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 1.25rem;
  width: 1.25rem;
  background-color: white;
  border: 0.0625rem solid #C4C3C3;
  border-radius: 0.3125rem;
  box-sizing: border-box;
  padding: 0.25rem;
}
.input--checkbox .input__checkmark:after {
  content: "";
  position: absolute;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #524e4e;
  display: none;
}
.input--checkbox:hover .input__checkmark {
  border: 0.0625rem solid #524e4e;
}

.accordion {
  margin-bottom: 1.25rem;
}
.accordion__header {
  padding: 0.625rem 2.5rem;
  text-align: center;
  background-color: transparent;
  border: 0;
  width: 100%;
  display: block;
  text-align: center;
  outline: 0;
  position: relative;
  cursor: pointer;
}
.accordion__header h2, .accordion__header h3 {
  font-size: 1.25rem;
  font-family: "tex_gyre_adventor", sans-serif;
  margin: 0;
  text-align: center;
  color: #B8B6B6;
}
.accordion__header p {
  padding: 0;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  color: #524e4e;
}
.accordion__header > span {
  display: inline-block;
  transition: transform 0.3s ease-in-out;
}
@media only screen and (max-width: 48rem) {
  .accordion__header h2 {
    font-size: 1.125rem;
  }
}
.accordion__content {
  overflow: hidden;
  height: 0;
  padding: 0rem;
  transition: height 0.3s ease-in;
}
.accordion__body {
  padding: 1.25rem;
}
.accordion__arrow {
  width: 1.875rem;
  margin-right: 0;
  position: absolute;
  top: 0;
  right: 0.625rem;
  height: 1.875rem;
  top: calc(50% - 15px);
  color: #B8B6B6;
  display: inline-block;
  vertical-align: middle;
  line-height: 1.875rem;
}
.accordion__item {
  margin-bottom: 1.3125rem;
  border: 1px solid #B8B6B6;
  border-radius: 0.3125rem;
  box-shadow: 0rem 0rem 0rem 0rem rgba(0, 0, 0, 0);
  transition: box-shadow 0.3s ease-in-out;
}
.accordion__item.is-active {
  box-shadow: 0rem 0.1875rem 0.375rem 0rem rgba(0, 0, 0, 0.3);
}
.accordion__item.is-active .accordion__header > span {
  transform: rotate(180deg);
}
.accordion__item.is-active .accordion__header > h2 {
  color: #363636;
}
.accordion--border {
  border: 1px solid #C4C3C3;
  border-radius: 1.25rem;
}
.accordion--border .accordion__item {
  border: 0rem;
  margin-bottom: 0;
  box-shadow: none;
}
.accordion--border .accordion__content {
  padding: 0;
}
.accordion--border .accordion__arrow {
  margin: 0 auto;
  left: 0;
  right: 0;
  position: relative;
}

.breadcrumb {
  text-align: center;
}
.breadcrumb ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.breadcrumb li {
  display: inline-block;
}
.breadcrumb li::before {
  display: none;
}
.breadcrumb li:after {
  content: "/";
  display: inline-block;
  font-size: 1.375rem;
  color: #B8B6B6;
}
@media only screen and (max-width: 48rem) {
  .breadcrumb li:after {
    font-size: 0.875rem;
  }
}
.breadcrumb li:last-child:after {
  display: none;
}
.breadcrumb span, .breadcrumb a {
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  color: #B8B6B6;
  font-style: normal;
  font-weight: normal;
  text-transform: uppercase;
}
@media only screen and (max-width: 48rem) {
  .breadcrumb span, .breadcrumb a {
    font-size: 0.875rem;
  }
}
.breadcrumb a:hover {
  color: #363636;
}
.breadcrumb span {
  color: #363636;
}

.blog__introtext {
  margin-bottom: 4.5rem;
  text-align: center;
}

.blog-detail__title h1 {
  font-size: 2.1875rem;
  font-weight: bold;
}
@media only screen and (max-width: 48rem) {
  .blog-detail__title h1 {
    font-size: 1.5rem;
  }
}
.blog-detail__header {
  display: flex;
}
.blog-detail__header p {
  font-size: 1.25rem;
  margin-top: 3.75rem;
  max-width: 34.375rem;
}
@media only screen and (max-width: 64rem) {
  .blog-detail__header p {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 48rem) {
  .blog-detail__header p {
    font-size: 1rem;
    margin-bottom: 2.5rem;
    margin-top: 1.25rem;
    max-width: none;
  }
}
@media only screen and (max-width: 48rem) {
  .blog-detail__header {
    flex-direction: column;
  }
}
.blog-detail__perex {
  flex: 1;
  width: 100%;
}
@media only screen and (max-width: 64rem) {
  .blog-detail__perex {
    margin-bottom: 1.25rem;
  }
}
.blog-detail__author {
  text-align: right;
  padding-left: 1.875rem;
}
.blog-detail__author img {
  width: 100%;
  max-width: 28.125rem;
}
@media only screen and (max-width: 64rem) {
  .blog-detail__author img {
    max-width: 21.875rem;
    text-align: center;
  }
}
@media only screen and (max-width: 48rem) {
  .blog-detail__author img {
    max-width: 15.625rem;
    display: block;
    margin: 0 auto 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .blog-detail__author {
    padding: 0;
  }
}
@media only screen and (max-width: 48rem) {
  .blog-detail__info {
    font-size: 0.75rem;
  }
}
.blog-detail .text-block {
  max-width: 43.75rem;
  margin: 0 auto;
}
.blog-detail__about-author {
  margin-bottom: 6.25rem;
}
@media only screen and (max-width: 88.75rem) {
  .blog-detail {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

.blog-list {
  margin-bottom: 3.75rem;
}
.blog-list__introtext {
  font-size: 18px;
  text-align: center;
  margin-bottom: 4.5rem;
}
.blog-list__highligt > h4 {
  color: black;
  font-weight: 600;
}
.blog-list__list {
  gap: 1.875rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-template-rows: 1fr;
}

.blog-item {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.3);
}
.blog-item__body {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: relative;
  display: flex;
  height: 360px;
}
.blog-item__title {
  flex: 1;
}
.blog-item__photo {
  height: 100%;
  width: 100%;
  background-size: cover;
  display: flex;
  flex-direction: column;
}
.blog-item__footer {
  background-color: rgba(255, 255, 255, 0.6);
  padding: 1.875rem;
  display: flex;
  font-size: 0.875rem;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
}
.blog-item__footer span {
  font-size: 0.875rem;
}
.blog-item h2 {
  font-size: 0.925rem;
  font-weight: 600;
  margin-bottom: 0;
}
.blog-item h3 {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0;
}
.blog-item--small {
  transition: transform 0.3s ease-in-out;
}
.blog-item--small:hover {
  transform: scale(1.05);
}
.blog-item--large {
  margin-bottom: 1.875rem;
  padding-bottom: 75%;
}
.blog-item--large h2 {
  color: white;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
  font-size: 2.625rem;
  color: white;
}
@media only screen and (max-width: 48rem) {
  .blog-item--large h2 {
    font-size: 1.375rem;
  }
}
.blog-item--large .blog-item__body {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  display: flex;
  height: auto;
}
@media only screen and (max-width: 48rem) {
  .blog-item--large .blog-item__body {
    flex-direction: column;
    position: relative;
  }
}
.blog-item--large .blog-item__photo {
  flex: 1;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem 2.6875rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 48rem) {
  .blog-item--large .blog-item__photo {
    width: 100%;
    padding: 1.25rem 1.25rem;
    min-height: 18.75rem;
  }
}
.blog-item--large .blog-item__text {
  width: 25rem;
  padding: 3.3125rem;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  position: relative;
}
.blog-item--large .blog-item__text p {
  margin-bottom: 4.1875rem;
  line-height: 1.8;
}
.blog-item--large .blog-item__text a {
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 48rem) {
  .blog-item--large .blog-item__text {
    width: 100%;
    padding: 1.25rem;
  }
}
.blog-item--large .blog-item__footer {
  display: flex;
  justify-content: space-between;
  position: relative;
  background-color: transparent;
  height: auto;
  flex-direction: row;
  padding: 0;
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 48rem) {
  .blog-item--large .blog-item__footer {
    margin-bottom: 0;
  }
}
.blog-item--large .blog-item__footer span {
  font-size: 0.875rem;
  color: white;
}
@media only screen and (max-width: 48rem) {
  .blog-item {
    padding: 0;
  }
}

.cart-table {
  margin-bottom: 1.875rem;
}
.cart-table__row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
}
@media only screen and (max-width: 48rem) {
  .cart-table__row {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
.cart-table__header {
  margin-bottom: 0.4375rem;
  border: 1px solid #C4C3C3;
  border-radius: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table__header {
    display: none;
  }
}
.cart-table__body {
  margin-bottom: 0.4375rem;
  border: 1px solid #C4C3C3;
  border-radius: 1.25rem;
}
.cart-table__column {
  display: flex;
  align-items: center;
  padding: 0.625rem;
  position: relative;
}
.cart-table__column h4 {
  display: inline-block;
  width: 100%;
  text-transform: uppercase;
  font-size: 0.9375rem;
  color: #363636;
  margin: 0;
  text-align: center;
}
.cart-table__column:after {
  content: "";
  border-right: 1px solid #C4C3C3;
  position: absolute;
  top: 0.625rem;
  bottom: 0.625rem;
  display: block;
  right: 0;
}
@media only screen and (max-width: 48rem) {
  .cart-table__column:after {
    display: none;
  }
}
.cart-table__column:last-child:after {
  display: none;
}
.cart-table__column h3 {
  font-size: 1.25rem;
  color: #363636;
}
@media only screen and (max-width: 48rem) {
  .cart-table__column h3 {
    font-size: 1rem;
  }
}
.cart-table__column p {
  font-size: 0.875rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table__column p {
    text-align: center;
  }
}
.cart-table__column--center-align {
  justify-content: center;
}
.cart-table__column .input {
  margin: 0 0.3125rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table__column .input {
    margin: 0 0;
  }
}
.cart-table__column .button {
  margin: 0 0.3125rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table__column .button {
    margin: 0 0;
  }
}
@media only screen and (max-width: 48rem) {
  .cart-table__column .form-group {
    padding: 0;
    text-align: center;
  }
}
@media only screen and (max-width: 48rem) {
  .cart-table__column {
    justify-content: center;
  }
}
.cart-table__image {
  height: 6.25rem;
  margin-right: 1.125rem;
  display: flex;
  align-items: center;
}
.cart-table__image img {
  max-height: 100%;
  max-width: 100%;
}
@media only screen and (max-width: 48rem) {
  .cart-table__image {
    position: absolute;
    max-width: 6.25rem;
    max-height: 6.25rem;
    justify-self: center;
  }
}
.cart-table__title {
  text-align: left;
  display: flex;
  align-items: center;
}
.cart-table__title h3 {
  margin: 0;
}
@media only screen and (max-width: 48rem) {
  .cart-table__title {
    margin-top: 7.5rem;
  }
}
.cart-table__price {
  letter-spacing: 0.15em;
  font-size: 1.25rem;
}
.cart-table__options {
  display: flex;
  margin-bottom: 1.875rem;
}
.cart-table__options__left {
  flex: 1;
}
.cart-table__options__right {
  flex: 1;
}
@media only screen and (max-width: 64rem) {
  .cart-table__options {
    flex-direction: column;
  }
}
.cart-table__voucher {
  max-width: 31.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cart-table__voucher .input {
  flex: 1;
}
.cart-table__voucher .button {
  margin-left: 0.9375rem;
}
@media only screen and (max-width: 64rem) {
  .cart-table__voucher {
    max-width: none;
  }
}
.cart-table__aditions {
  padding: 0.625rem 0;
}
.cart-table__aditions__price {
  text-align: center;
  width: 50%;
}
.cart-table__aditions__label {
  width: 50%;
  text-align: center;
}
.cart-table__aditions span {
  display: inline-block;
}
@media only screen and (max-width: 48rem) {
  .cart-table__aditions {
    width: 100%;
  }
}
.cart-table__summary {
  padding: 0.9375rem 0;
  display: flex;
}
.cart-table__summary__price {
  text-align: center;
  width: 50%;
}
.cart-table__summary__label {
  width: 50%;
  text-align: center;
}
.cart-table__summary span {
  display: inline-block;
  letter-spacing: 0.1em;
  font-size: 1.25rem;
  text-transform: uppercase;
  font-weight: 600;
  color: #363636;
}
.cart-table__summary--highlited {
  border: 3px solid #707070;
  border-radius: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table__summary {
    width: 100%;
  }
}
.cart-table--tab .cart-table__tab {
  margin-bottom: -0.0625rem;
}
.cart-table--tab .cart-table__tab .cart-table__row {
  margin-bottom: 0;
}
.cart-table--tab .cart-table__tab .cart-table__row span {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.cart-table--tab .cart-table__tab .cart-table__body {
  border: 0rem;
  border-radius: 0;
}
.cart-table--tab .cart-table__tab .cart-table__column {
  justify-content: center;
  border: 1px solid #C4C3C3;
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
}
.cart-table--tab .cart-table__body {
  border-top-left-radius: 0;
}
.cart-table--tab .cart-table__body--universal {
  border-radius: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .cart-table--tab .cart-table__body {
    border-top-right-radius: 0;
  }
}
.cart-table--3-columns .cart-table__row {
  grid-template-columns: 1fr 1fr 2fr;
  grid-template-rows: 1fr;
}
@media only screen and (max-width: 48rem) {
  .cart-table--3-columns .cart-table__row {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}

.cart-wizzard {
  margin-bottom: 5.625rem;
}
.cart-wizzard__header {
  display: flex;
  justify-content: flex-end;
}
.cart-wizzard__steps {
  display: flex;
  justify-content: center;
  margin-bottom: 0.625rem;
}
.cart-wizzard__steps__container span:first-child {
  color: #363636;
}
.cart-wizzard__steps__container span {
  font-size: 1.5625rem;
  letter-spacing: 0.1em;
  color: #C4C3C3;
}
@media only screen and (max-width: 48rem) {
  .cart-wizzard__steps__container span {
    font-size: 1rem;
  }
}
.cart-wizzard__title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.75rem 0;
}
.cart-wizzard__title h2 {
  font-size: 1.5625rem;
  letter-spacing: 0.1em;
  color: #363636;
  margin: 0;
  margin-right: 0.9375rem;
  text-align: left;
}
@media only screen and (max-width: 48rem) {
  .cart-wizzard__title h2 {
    font-size: 1rem;
  }
}
.cart-wizzard__title span {
  font-size: 0.875rem;
  margin-right: auto;
}
.cart-wizzard__title--message {
  justify-content: center;
  max-width: 38.75rem;
  margin: 2.5rem auto 6.25rem;
}
.cart-wizzard__title--message h2 {
  text-align: center;
}
.cart-wizzard__description {
  margin-bottom: 1.25rem;
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 1.875rem;
}
.cart-wizzard__description__image {
  text-align: center;
  height: 8.125rem;
  margin-bottom: 2.1875rem;
}
@media only screen and (max-width: 48rem) {
  .cart-wizzard__description {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
.cart-wizzard__form-group {
  margin-bottom: 1.25rem;
}
.cart-wizzard__form-group a {
  text-decoration: underline;
}
.cart-wizzard__footer {
  display: flex;
  justify-content: space-between;
}
.cart-wizzard__footer--center {
  justify-content: center;
}
@media only screen and (max-width: 48rem) {
  .cart-wizzard__footer {
    flex-direction: column;
  }
  .cart-wizzard__footer .button {
    margin-bottom: 1.25rem;
    text-align: center;
  }
}
.cart-wizzard__two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  grid-gap: 2.5rem;
}
@media only screen and (max-width: 47rem) {
  .cart-wizzard__two-columns {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 1.25rem;
  }
}
.cart-wizzard__payment {
  text-align: right;
}
.cart-wizzard__payment img {
  height: 1.6875rem;
}
.cart-wizzard__delivery-branch {
  margin-bottom: 1.25rem;
}
.cart-wizzard__delivery-branch__name {
  font-weight: 700;
}
.cart-wizzard__delivery-branch.is-active {
  display: block;
}

.category-carousel {
  padding: 0 5rem;
  box-sizing: border-box;
  margin-bottom: 4.375rem;
}
.category-carousel__list {
  margin: 0;
  padding: 0;
  display: flex;
  list-style-type: none;
  justify-content: space-around;
}
.category-carousel__list button {
  position: relative;
  color: #524e4e;
  text-transform: initial;
  font-size: 1.25rem;
}
.category-carousel__list li {
  text-align: center;
}
@media only screen and (max-width: 48rem) {
  .category-carousel__list {
    flex-flow: column;
    justify-content: center;
  }
}
.category-carousel__content .owl-stage-outer {
  padding: 3.75rem 0;
}
.category-carousel__content .owl-item {
  transition: transform 0.3s ease-in-out;
}
.category-carousel__content .owl-item.large {
  transform: scale(1.5);
}
@media only screen and (max-width: 48rem) {
  .category-carousel__content .owl-item.large {
    transform: scale(1);
  }
}
@media only screen and (max-width: 48rem) {
  .category-carousel__content .owl-nav {
    bottom: 0;
    top: auto;
    position: relative;
  }
}
.category-carousel__left {
  position: absolute;
  top: calc(50% - 45px);
  left: 0;
}
.category-carousel__right {
  position: absolute;
  right: 0;
  top: calc(50% - 45px);
}
.category-carousel__item {
  padding: 0 2.75rem;
}
.category-carousel__item img {
  width: 100%;
}
.category-carousel__item a {
  display: block;
}
@media only screen and (max-width: 48rem) {
  .category-carousel__item {
    padding: 0;
    transform: scale(1);
  }
}
.category-carousel__text {
  text-align: center;
  padding-top: 0.9375rem;
}
.category-carousel__title, .category-carousel__price, .category-carousel__currency {
  font-size: 0.875rem;
  margin: 0;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 48rem) {
  .category-carousel {
    padding: 0;
  }
}

.contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  margin-bottom: 3.9375rem;
}
.contact__row {
  margin-bottom: 1.875rem;
}
.contact__social-icon {
  margin-top: 0.3125rem;
  display: inline-block;
  font-size: 1.875rem;
  color: #A0A0A0;
  margin-right: 1.25rem;
  transition: color 0.3s ease-in-out;
}
.contact__social-icon:hover {
  color: #363636;
}
@media only screen and (max-width: 48rem) {
  .contact {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}

.contact-form__row {
  margin-bottom: 1.875rem;
}
.contact-form__row--two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 1.875rem;
}
@media only screen and (max-width: 48rem) {
  .contact-form__row--two-columns {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
.contact-form__form {
  margin-top: 1.875rem;
}
.contact-form input, .contact-form textarea {
  width: 100%;
}
.contact-form__actions {
  display: flex;
  justify-content: flex-end;
}

.counter {
  display: inline-block;
}
.counter__reduce {
  vertical-align: top;
}
.counter__add {
  vertical-align: top;
}
.counter__result {
  vertical-align: top;
  -webkit-appearance: none;
  min-width: 1.875rem;
  width: 1.875rem;
  height: 1.875rem;
  display: inline-block;
  text-align: center;
  background-color: transparent;
  border: 0;
}
.counter input::-webkit-outer-spin-button,
.counter input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.counter input[type=number] {
  -moz-appearance: textfield;
}

.decor__ornament {
  position: absolute;
  z-index: 9;
  margin: 0 auto;
  left: 0;
  right: 0;
  max-width: 25rem;
  width: 100%;
  top: 1.25rem;
}
.decor__ornament img {
  height: auto;
  width: 100%;
}
@media only screen and (max-width: 48rem) {
  .decor__ornament {
    max-width: 18.75rem;
  }
}
.decor__bear svg {
  width: 100%;
}
.decor__stars svg {
  position: absolute;
  width: 100%;
  z-index: 0;
}
.decor__stars .star {
  animation: starPulse 3s linear;
  animation-iteration-count: infinite;
  transform-origin: center;
  transform-box: fill-box;
}
.decor__stars .star-2 .star-6, .decor__stars .star-8, .decor__stars .star-11, .decor__stars .star-12, .decor__stars .star-18, .decor__stars .star-22, .decor__stars .star-28 {
  animation-delay: 0.8s;
}
.decor__stars .star-9 .star-15, .decor__stars .star-17, .decor__stars .star-24, .decor__stars .star-27, .decor__stars .star-29, .decor__stars .star-30 {
  animation-delay: 1.5s;
}

@keyframes starPulse {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.5);
  }
  75% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
.dropdown {
  display: inline-block;
  position: relative;
}
.dropdown__button {
  position: relative;
  border: 0.0625rem solid #C4C3C3;
  background-color: transparent;
  min-height: 2.5rem;
  min-width: 7.5rem;
  padding: 0.1875rem 0.9375rem;
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  display: block;
  outline: 0;
  padding-right: 3.4375rem;
  cursor: pointer;
}
.dropdown__button > div {
  justify-content: center;
}
@media only screen and (max-width: 48rem) {
  .dropdown__button {
    font-size: 0.75rem;
  }
}
.dropdown__menu {
  background-color: white;
  display: none;
  min-width: 100%;
  position: absolute;
  z-index: 99;
  border: 1px solid #C4C3C3;
  list-style-type: none;
  padding: 0;
  margin: 0;
  margin-top: -0.0625rem;
  box-sizing: border-box;
  max-height: 18.75rem;
  overflow-y: auto;
  margin-bottom: 0.625rem;
}
.dropdown__icon {
  height: 100%;
  width: 2.5rem;
  position: absolute;
  right: 0;
  top: -0.0625rem;
  bottom: 0;
  border-left: 1px solid #C4C3C3;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dropdown__icon:before {
  transition: transform 0.3s ease-in-out;
}
.dropdown__text {
  display: flex;
  justify-content: space-between;
}
.dropdown__item {
  margin: 0;
  text-align: center;
  border-bottom: 1px solid #C4C3C3;
  font-size: 0.875rem;
}
.dropdown__item label {
  padding: 0.625rem 0.9375rem;
  display: block;
}
.dropdown__item label > div {
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.dropdown__item label span {
  pointer-events: none;
}
@media only screen and (max-width: 48rem) {
  .dropdown__item label {
    font-size: 0.75rem;
  }
}
.dropdown__item input[type=radio] {
  display: none;
}
.dropdown__item:hover, .dropdown__item.is-active {
  background-color: #C4C3C3;
  color: white;
}
.dropdown__item:last-child {
  border-bottom: 0;
}
.dropdown--fullwidth {
  width: 100%;
}
.dropdown--fullwidth .dropdown__button {
  text-align: left;
  width: 100%;
}
.dropdown--fullwidth .dropdown__button > div {
  justify-content: space-between;
}
.dropdown--fullwidth .dropdown__item {
  text-align: left;
}
.dropdown--fullwidth .dropdown__item label > div {
  justify-content: space-between;
}
.dropdown--show-radios .dropdown input[type=radio] {
  display: inline-block;
}
.dropdown--small .dropdown__button {
  min-height: 1.875rem;
  color: #707070;
  min-width: 6.25rem;
}
.dropdown--small .dropdown__item label {
  padding: 0.3125rem 0.9375rem;
}
.dropdown--medium-height {
  min-height: 2.625rem;
}
.dropdown.is-focused .dropdown__button {
  border-bottom-right-radius: 0rem;
  border-bottom-left-radius: 0rem;
}
.dropdown.is-focused .dropdown__icon:before {
  transform: rotate(180deg);
}
.dropdown.is-focused .dropdown__menu {
  display: block;
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
}
.dropdown.has-error .dropdown__button {
  border-color: #D52626;
  color: #D52626;
}

.error {
  min-height: calc(100vh - 6.25rem);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.error__illustration {
  max-width: 31.25rem;
}
.error__message {
  text-align: center;
}
.error__message h1 {
  font-size: 2.5rem;
  margin: 0 0 1.25rem;
}
.error__message p {
  font-size: 1.25rem;
  margin: 0 0 1.25rem;
}

.faq__write-us {
  margin: 3.75rem 0;
  text-align: center;
}
.faq__write-us h3 {
  font-size: 1rem;
}
.faq__link {
  font-size: 1.25rem;
  text-transform: uppercase;
  text-decoration: none;
  color: #363636;
  margin-top: 0.3125rem;
}
.faq__link:hover {
  color: black;
}
.faq__accordion {
  margin-top: 2.6875rem;
}

.footer {
  background-color: #E6E7E8;
  position: relative;
}
.footer h3 {
  font-size: 0.875rem;
  color: #363636;
}
@media only screen and (max-width: 48rem) {
  .footer h3 {
    margin-top: 1.875rem;
    margin-bottom: 0.625rem;
  }
}
.footer p, .footer a, .footer address, .footer .footer__contact {
  font-size: 0.6875rem;
  font-family: "tex_gyre_adventor", sans-serif;
  margin-bottom: 0.375rem;
  color: #707070;
}
.footer a {
  text-decoration: none;
}
.footer a:hover {
  color: black;
}
.footer__container {
  max-width: 85rem;
  margin: 0 auto;
  padding: 1.875rem 0rem;
  display: grid;
  grid-template-columns: 25% auto;
  grid-template-rows: auto;
}
@media only screen and (max-width: 88.75rem) {
  .footer__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .footer__container {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0 1.25rem 1.25rem 1.25rem;
  }
}
.footer__left {
  border-right: 1px solid #707070;
}
@media only screen and (max-width: 48rem) {
  .footer__left {
    border-right: none;
    border-bottom: 1px solid #707070;
    padding-bottom: 1.25rem;
  }
}
.footer__right {
  position: relative;
}
@media only screen and (max-width: 48rem) {
  .footer__right {
    position: static;
  }
}
.footer__links {
  display: flex;
  justify-content: space-between;
  max-width: 43.75rem;
  margin: 0 auto;
  padding: 0 calc(1.875rem / 2);
}
@media only screen and (max-width: 85.375rem) {
  .footer__links {
    padding: 0 3.75rem 0 calc(1.875rem / 2);
  }
}
@media only screen and (max-width: 48rem) {
  .footer__links {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 1.25rem;
  }
}
@media only screen and (max-width: 36.25rem) {
  .footer__links {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0;
  }
}
.footer__link {
  display: block;
  position: relative;
}
.footer__link:hover .footer__link__category {
  display: block;
}
.footer__link__category {
  display: none;
  left: 5.625rem;
  top: 0;
  position: absolute;
  border-radius: 1.5625rem;
  border: 1px solid #B8B6B6;
}
.footer__link__category:before {
  content: "";
  display: block;
  width: 1.875rem;
  position: absolute;
  left: -1.875rem;
  top: 0.75rem;
  border-bottom: 1px solid #B8B6B6;
}
.footer__link__category a {
  display: inline-block;
  vertical-align: top;
  padding: 0rem 0.9375rem;
  line-height: 1.5625rem;
  margin: 0;
}
.footer__link__category a:first-child {
  border-right: 1px solid #B8B6B6;
}
.footer__elevator {
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 48rem) {
  .footer__elevator {
    top: auto;
    bottom: 1.875rem;
    right: 1.875rem;
  }
}
.footer__contact {
  display: block;
}
.footer__contact > span {
  margin-right: 0.9375rem;
  font-size: 1.125rem;
  vertical-align: middle;
}
.footer__payment {
  margin-top: 0.625rem;
}
.footer__payment img {
  height: 1.4375rem;
}

.form-group {
  border: 1px solid #C4C3C3;
  border-radius: 1.25rem;
  padding: 2.25rem;
}
.form-group__inline-label {
  margin-bottom: 0.625rem;
  display: grid;
  grid-template-columns: 9.375rem auto;
  grid-template-rows: 1fr;
  grid-gap: 2.5rem;
}
.form-group__inline-label input {
  width: 100%;
}
.form-group__inline-label label {
  font-size: 0.875rem;
  align-self: center;
}
.form-group__inline-label label.form-group--label-top {
  align-self: flex-start;
}
.form-group__inline-label:last-child {
  margin-bottom: 0rem;
}
.form-group__inline-label.has-error input {
  border: 1px solid #D52626;
}
.form-group__inline-label.has-error label {
  color: #D52626;
}
.form-group__inline-label.has-error .input--checkbox {
  color: #D52626;
}
.form-group__inline-label.has-error .input--checkbox .input__checkmark {
  border: 0.0625rem solid #D52626;
}
@media only screen and (max-width: 48rem) {
  .form-group__inline-label {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 1.25rem;
  }
}
.form-group__inline-label--large-small {
  grid-template-columns: 150px 3fr 1fr;
  grid-template-rows: 1fr;
}
@media only screen and (max-width: 48rem) {
  .form-group__inline-label--large-small {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
.form-group__inline-label--hidden {
  display: none;
}
.form-group__inline-label--hidden.is-active {
  display: block;
}
.form-group__line.has-error input {
  border: 1px solid #D52626;
}
.form-group__line.has-error label, .form-group__line.has-error a, .form-group__line.has-error span {
  color: #D52626;
}
.form-group__line.has-error .input--checkbox {
  color: #D52626;
}
.form-group__line.has-error .input--checkbox .input__checkmark {
  border: 0.0625rem solid #D52626;
}
.form-group--simple {
  border: none;
  padding: 0;
}
.form-group--no-border {
  border: none;
}
.form-group--full-width {
  width: 100%;
}
@media only screen and (max-width: 48rem) {
  .form-group {
    padding: 1.25rem;
  }
}

.header {
  max-height: 100vh;
  position: relative;
  top: 0;
  padding-top: 1.875rem;
  box-sizing: border-box;
  overflow: hidden;
}
.header__wrapper {
  position: relative;
  height: 100%;
  width: 100%;
}
.header__container {
  max-width: 85rem;
  margin: 0 auto;
  height: 100%;
  position: relative;
  z-index: 9;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 88.75rem) {
  .header__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .header__container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    justify-content: center;
  }
}
.header__background {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-position: center;
  background-size: cover;
  z-index: -1;
  overflow: hidden;
}
.header__video {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media only screen and (max-width: 48rem) {
  .header__video {
    display: none;
  }
}
.header__default {
  animation: bounceOutLeft 0.8s ease-in-out;
  height: 100%;
  transform: translateX(-100%);
}
.header__default.is-active {
  transform: translateX(0%);
  animation: bounceInLeft 0.8s ease-in-out;
}
.header__content {
  max-width: 43.75rem;
  text-align: left;
  margin-bottom: 1.25rem;
}
.header__content__heading {
  font-size: 5rem;
  margin-bottom: 0.9375rem;
}
.header__content__heading small {
  font-size: 3.125rem;
  font-weight: 600;
}
.header__content__text {
  color: white;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.1875rem;
  margin-bottom: 0.9375rem;
}
.header__content__text:last-child {
  margin-bottom: 1.875rem;
}
.header__content__old-price {
  color: #D52626;
  text-decoration: line-through;
}
.header__content__price {
  font-size: 1.625rem;
  font-weight: 600;
}
.header__content h1 {
  text-align: left;
  color: white;
  text-shadow: 0rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.4);
}
@media only screen and (max-width: 48rem) {
  .header__content h1 {
    text-align: center;
  }
}
.header__content h3 {
  color: white;
  text-transform: uppercase;
  font-size: 1.25rem;
}
.header__content a {
  margin: 0 0.9375rem;
  display: inline-block;
}
.header__content .button {
  margin: 1.25rem 1.25rem 0 0;
}
@media only screen and (max-width: 48rem) {
  .header__content .button {
    margin: 0 0.625rem 0.625rem;
  }
}
.header__content ul {
  padding-left: 1.25rem;
}
.header__content ul li {
  color: white;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 48rem) {
  .header__content ul li {
    margin-bottom: 0.3125rem;
  }
}
.header__content--dark h1 {
  color: #353535;
}
@media only screen and (max-width: 88.75rem) {
  .header__content {
    margin-bottom: 0rem;
    padding-bottom: 0rem;
  }
}
@media only screen and (max-width: 48rem) {
  .header__content {
    max-width: none;
    text-align: center;
  }
}
.header__pagination {
  height: 3.125rem;
  z-index: 99;
  position: absolute;
  bottom: 0.625rem;
  text-align: center;
  margin: 0 auto;
  left: 0;
  right: 0;
  max-width: 31.25rem;
}
.header__pagination .swiper-pagination-bullet {
  height: 0.75rem;
  width: 0.75rem;
  border-radius: 0.375rem;
  display: inline-block;
  border: 0.0625rem solid white;
  margin: 0 0.625rem;
}
.header__pagination .swiper-pagination-bullet-active {
  background-color: white;
  box-shadow: 0rem 0rem 0.3125rem 0rem #FFFFFF;
}
.header__pagination.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.header__subslide {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding-top: 6.25rem;
  box-sizing: border-box;
  display: none;
}
.header__subslide__back {
  position: absolute;
  bottom: 1.875rem;
  padding: 0;
  width: 2.625rem;
  height: 2.625rem;
}
@media only screen and (max-width: 64rem) {
  .header__subslide__back {
    right: 1.25rem;
    left: auto;
    background-color: rgba(0, 0, 0, 0.3);
  }
}
.header__subslide .header__container {
  padding-top: 4.375rem;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  height: 100%;
}
@media only screen and (max-width: 48rem) {
  .header__subslide .header__container {
    padding-top: 0rem;
  }
}
@media only screen and (max-height: 38.75rem) {
  .header__subslide .header__container {
    padding-top: 1.25rem;
  }
}
@media only screen and (max-width: 64rem) {
  .header__subslide .header__content {
    text-align: left;
  }
}
.header__subslide.is-active {
  display: block;
  animation-delay: 0.8s;
  transform: translateX(0%);
  animation: bounceInLeft 0.8s ease-in-out;
}
.header__subslide.is-disactive {
  display: block;
  animation: bounceOutLeft 0.8s ease-in-out;
  transform: translateX(-100%);
}
.header__subslide:before {
  z-index: -1;
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
  left: -6.25rem;
  right: 40%;
  top: 0;
  bottom: 0;
  border-bottom-right-radius: 100vh;
}
@media only screen and (max-width: 85.375rem) {
  .header__subslide:before {
    right: 20%;
  }
}
@media only screen and (max-width: 64rem) {
  .header__subslide:before {
    right: 0;
    border-bottom-right-radius: 40vh;
  }
}
@media only screen and (max-width: 48rem) {
  .header__subslide {
    padding-top: 3.75rem;
  }
}
@media only screen and (max-width: 48rem) {
  .header {
    padding-top: 3.75rem;
  }
}
.header--large {
  height: 56.25rem;
}
.header--full-height {
  min-height: 38.75rem;
  height: 100vh;
}
@media only screen and (max-width: 48rem) {
  .header--full-height {
    min-height: 0;
  }
}
.header--small {
  height: 21.875rem;
}
.header--small h1 {
  font-size: 2.625rem;
  font-weight: 400;
}
@media only screen and (max-width: 48rem) {
  .header--small h1 {
    font-size: 1.625rem;
  }
}
@media only screen and (max-width: 88.75rem) {
  .header--small {
    height: 15.625rem;
  }
}
@media only screen and (max-width: 48rem) {
  .header--small {
    height: 12.5rem;
  }
}
.header--left-bottom .header__container {
  align-items: flex-end;
}
@media only screen and (max-width: 48rem) {
  .header--left-bottom .header__container {
    justify-content: center;
    align-items: center;
  }
}
.header--left-bottom .header__content {
  padding-bottom: 1.875rem;
}
@media only screen and (max-width: 48rem) {
  .header--left-bottom .header__content {
    padding-bottom: 0rem;
  }
}
.header--right-center .header__container {
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 48rem) {
  .header--right-center .header__container {
    justify-content: center;
    align-items: center;
  }
}
.header--right-top .header__container {
  align-items: flex-start;
  justify-content: flex-end;
}
@media only screen and (max-width: 48rem) {
  .header--right-top .header__container {
    justify-content: center;
    align-items: center;
  }
}
.header--right-bottom .header__container {
  align-items: flex-end;
  justify-content: flex-end;
}
@media only screen and (max-width: 48rem) {
  .header--right-bottom .header__container {
    justify-content: center;
    align-items: center;
  }
}
.header--right-bottom .header__content {
  padding-bottom: 2.5rem;
}
@media only screen and (max-width: 48rem) {
  .header--right-bottom .header__content {
    padding-bottom: 0rem;
  }
}
.header--left-center .header__container {
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 48rem) {
  .header--left-center .header__container {
    justify-content: center;
    align-items: center;
  }
}
.header--empty {
  height: 6.25rem;
}

.homepage-carousel {
  margin-bottom: 3.125rem;
  position: relative;
  z-index: 9;
}
.homepage-carousel__navigation {
  display: flex;
  justify-content: space-between;
  max-width: 43.75rem;
  margin: 0 auto;
}
.homepage-carousel__navigation-item {
  transition: transform 0.3s ease-in-out;
}
.homepage-carousel__navigation-item.is-active {
  transform: scale(1.3);
}
.homepage-carousel__navigation-item.is-active .homepage-carousel__navigation-button {
  border: 1px solid #363636;
}
.homepage-carousel__navigation-item.is-active .homepage-carousel__navigation-button svg path {
  fill: #363636;
}
.homepage-carousel__navigation-item.is-active .homepage-carousel__navigation-item__title {
  color: #363636;
}
.homepage-carousel__navigation-item__title {
  color: #999;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  margin-top: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 48rem) {
  .homepage-carousel__navigation-item__title {
    font-size: 0.75rem;
  }
}
.homepage-carousel__navigation-button {
  width: 5.625rem;
  height: 5.625rem;
  border: 1px solid #999;
  border-radius: 2.8125rem;
  cursor: pointer;
  background-color: white;
}
.homepage-carousel__navigation-button svg path {
  fill: #999;
}
@media only screen and (max-width: 48rem) {
  .homepage-carousel__navigation-button {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.homepage-carousel__category-description {
  display: flex;
  margin-top: 3.125rem;
  justify-content: center;
}
@media only screen and (min-width: 1024px) {
  .homepage-carousel__category-description {
    justify-content: flex-end;
    max-width: 50%;
    margin-right: 0;
    margin-left: auto;
  }
}
.homepage-carousel__content {
  background-position: center bottom;
  background-size: 100% auto;
}
.homepage-carousel__swiper {
  position: relative;
  height: 25rem;
}
.homepage-carousel__swiper .swiper-wrapper {
  position: relative;
  z-index: 1;
}
.homepage-carousel__slide {
  text-align: center;
}
.homepage-carousel__slide img {
  transform-origin: 0 0;
  width: 100%;
  max-width: 16.875rem;
}
.homepage-carousel__slide.swiper-slide.swiper-slide-active:hover .homepage-carousel__slide-overlay {
  display: flex;
}
@media only screen and (min-width: 1024px) {
  .homepage-carousel__slide.swiper-slide img {
    transform: scale(0.5) translateZ(0) translate(80%, 80%);
  }
  .homepage-carousel__slide.swiper-slide.swiper-slide-next img {
    transition: transform 0.5s ease-in-out;
    transform: scale(0.8) translateZ(0) translate(70%, 50%) !important;
  }
  .homepage-carousel__slide.swiper-slide.swiper-slide-active img {
    transition: transform 0.5s ease-in-out;
    transform: scale(1.8) translateZ(0) !important;
  }
  .homepage-carousel__slide img {
    width: 100%;
  }
}
.homepage-carousel__slide-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  align-items: center;
  justify-content: center;
}
.homepage-carousel__left, .homepage-carousel__right {
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  z-index: 9;
}
.homepage-carousel__left {
  left: 0;
}
.homepage-carousel__right {
  right: 0;
}
.homepage-carousel__action {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 1024px) {
  .homepage-carousel__action {
    justify-content: flex-end;
  }
}

.info__accordion {
  margin-top: 2.6875rem;
  margin-bottom: 3.75rem;
}

.instagram__url {
  text-align: center;
  position: relative;
  height: 5rem;
}
.instagram__url a:hover {
  text-decoration: underline;
}
.instagram__icon {
  text-align: center;
  margin: 0 auto;
  bottom: -2.5rem;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 9;
  display: block;
}
.instagram__slide.swiper-slide {
  width: 15.125rem;
  height: 15.125rem;
  border-radius: 1.25rem;
  overflow: hidden;
}
.instagram__slide.swiper-slide img {
  width: 100%;
}

.language-menu {
  height: 100%;
}
.language-menu__item {
  display: inline-block;
  position: relative;
  height: 100%;
}
.language-menu__item a, .language-menu__item span {
  display: block;
  color: white;
  padding: 0 1.5625rem;
  height: 100%;
  display: flex;
  align-items: center;
  letter-spacing: 0.075em;
  justify-content: center;
  transition: color 0.3s ease-in-out;
  font-size: 1rem;
}
@media only screen and (max-width: 68.75rem) {
  .language-menu__item a, .language-menu__item span {
    color: black;
  }
}
.language-menu__item:after {
  content: "";
  bottom: 0;
  width: 0;
  position: absolute;
  height: 0.125rem;
  background-color: white;
  display: block;
  transition: width 0.3s ease-in-out;
}
.language-menu__item:hover:after {
  width: 100%;
}
.language-menu__item:hover .language-menu__submenu {
  max-height: 31.25rem;
  height: auto;
}
.language-menu__item.is-active:after {
  width: 100%;
}
@media only screen and (max-width: 68.75rem) {
  .language-menu__item {
    display: block;
  }
}
.language-menu__menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
.language-menu__submenu {
  top: 100%;
  left: 0;
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  max-height: 0;
  height: 0;
  width: 100%;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  list-style-type: none;
  margin: 0;
  padding: 0;
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
  box-shadow: 0rem 0.375rem 0.75rem 0rem rgba(0, 0, 0, 0.3);
}
.language-menu__submenu .language-menu__item {
  border-bottom: 1px solid white;
  overflow: hidden;
  display: block;
  transition: background-color 0.3s ease-in-out;
}
.language-menu__submenu .language-menu__item:hover, .language-menu__submenu .language-menu__item.is-active {
  background-color: rgba(255, 255, 255, 0.2);
}
.language-menu__submenu .language-menu__item a {
  min-height: 2.8125rem;
  padding: 0 1.25rem;
  font-size: 1rem;
}
@media only screen and (max-width: 68.75rem) {
  .language-menu__submenu .language-menu__item a {
    font-size: 0.875rem;
    border-bottom: none;
    min-height: 1.875rem;
  }
}
.language-menu__submenu .language-menu__item:after {
  display: none;
}
.language-menu__submenu .language-menu__item:last-child {
  border-bottom: 0rem;
}
@media only screen and (max-width: 68.75rem) {
  .language-menu__submenu .language-menu__item {
    border-bottom: 0rem;
  }
}
@media only screen and (max-width: 68.75rem) {
  .language-menu__submenu {
    box-shadow: none;
  }
}
@media only screen and (max-width: 68.75rem) {
  .language-menu {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}

.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}

.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  margin: -4px 0 0 -4px;
}

.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
  top: 63px;
  left: 63px;
}

.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}

.lds-roller div:nth-child(2):after {
  top: 68px;
  left: 56px;
}

.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}

.lds-roller div:nth-child(3):after {
  top: 71px;
  left: 48px;
}

.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}

.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}

.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}

.lds-roller div:nth-child(5):after {
  top: 71px;
  left: 32px;
}

.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}

.lds-roller div:nth-child(6):after {
  top: 68px;
  left: 24px;
}

.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}

.lds-roller div:nth-child(7):after {
  top: 63px;
  left: 17px;
}

.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}

.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12px;
}

@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.map {
  height: 31.25rem;
  width: 100%;
  margin-bottom: 3.75rem;
}
.map .mapboxgl-marker {
  display: block;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
}
.map .mapboxgl-marker path {
  fill: black;
}

.main-menu {
  height: 100%;
}
.main-menu__item {
  display: inline-block;
  position: relative;
  height: 100%;
}
.main-menu__item a {
  display: block;
  color: white;
  padding: 0 2.1875rem;
  height: 100%;
  display: flex;
  align-items: center;
  letter-spacing: 0.075em;
  justify-content: center;
  transition: color 0.3s ease-in-out;
  font-size: 1rem;
}
@media only screen and (max-width: 68.75rem) {
  .main-menu__item a {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    font-size: 1.375rem;
    border-bottom: 0.125rem solid #E9E9E9;
  }
}
.main-menu__item:after {
  content: "";
  bottom: 0;
  width: 0;
  position: absolute;
  height: 0.125rem;
  background-color: white;
  display: block;
  transition: width 0.3s ease-in-out;
}
.main-menu__item:hover:after {
  width: 100%;
}
.main-menu__item:hover .main-menu__submenu {
  max-height: 31.25rem;
  height: auto;
}
.main-menu__item.is-active:after {
  width: 100%;
}
@media only screen and (max-width: 68.75rem) {
  .main-menu__item {
    display: block;
    height: auto;
  }
}
.main-menu__menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
@media only screen and (max-width: 68.75rem) {
  .main-menu__menu {
    height: auto;
    max-width: 20rem;
    width: 100%;
  }
}
.main-menu__submenu {
  top: 100%;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  max-height: 0;
  height: 0;
  width: 100%;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  list-style-type: none;
  margin: 0;
  padding: 0;
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
  box-shadow: 0rem 0.375rem 0.75rem 0rem rgba(0, 0, 0, 0.3);
}
.main-menu__submenu .main-menu__item {
  border-bottom: 1px solid white;
  overflow: hidden;
  display: block;
  transition: background-color 0.3s ease-in-out;
}
.main-menu__submenu .main-menu__item:hover, .main-menu__submenu .main-menu__item.is-active {
  background-color: rgba(0, 0, 0, 0.3);
}
.main-menu__submenu .main-menu__item a {
  min-height: 2.8125rem;
  padding: 0 1.25rem;
}
@media only screen and (max-width: 68.75rem) {
  .main-menu__submenu .main-menu__item a {
    font-size: 0.875rem;
    border-bottom: none;
    min-height: 1.875rem;
  }
}
.main-menu__submenu .main-menu__item:after {
  display: none;
}
.main-menu__submenu .main-menu__item:last-child {
  border-bottom: 0rem;
}
@media only screen and (max-width: 68.75rem) {
  .main-menu__submenu {
    position: relative;
    max-height: 31.25rem;
    height: auto;
    box-shadow: none;
  }
}
@media only screen and (max-width: 68.75rem) {
  .main-menu {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.modal {
  height: 100vh;
  width: 100vw;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  display: none;
  box-sizing: border-box;
}
.modal__background {
  z-index: 0;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal__wrapper {
  padding: 1.875rem;
  overflow: auto;
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
@media only screen and (max-width: 64rem) {
  .modal__wrapper {
    padding: 0.625rem;
  }
}
.modal__container {
  background-color: white;
  max-height: 95vh;
  width: 100%;
  max-width: 90vw;
  border-radius: 1.25rem;
  position: relative;
  display: flex;
  flex-direction: column;
}
.modal__container--long-text {
  padding: 0rem 0.625rem 0.625rem 0.625rem;
}
.modal__container--long-text .modal__header, .modal__container--long-text .modal__footer {
  padding: 0rem 3.125rem;
}
@media only screen and (max-width: 64rem) {
  .modal__container--long-text .modal__header, .modal__container--long-text .modal__footer {
    padding: 0rem 0rem;
  }
}
.modal__container--long-text .modal__body {
  padding: 0rem 3.125rem 3.125rem 5rem;
  text-align: left;
}
@media only screen and (max-width: 64rem) {
  .modal__container--long-text .modal__body {
    padding: 0rem 1.25rem 0rem 1.25rem;
  }
}
.modal__close {
  position: absolute;
  background-color: transparent;
  border: 0;
  right: 1.25rem;
  top: 1.25rem;
  cursor: pointer;
  outline: 0;
}
.modal__header {
  padding: 0rem 1.25rem;
  margin-top: 1.875rem;
}
@media only screen and (max-width: 64rem) {
  .modal__header h2 {
    margin-bottom: 0.9375rem;
  }
}
@media only screen and (max-width: 64rem) {
  .modal__header {
    margin-top: 0.9375rem;
  }
}
.modal__body {
  padding: 0rem 1.25rem;
  overflow-y: auto;
  flex: 1;
}
.modal__footer {
  padding: 1.25rem 1.25rem;
}
.modal--medium .modal__container {
  max-width: 34.375rem;
  text-align: center;
}
.modal--large .modal__container {
  max-width: 57.5rem;
  text-align: center;
}
.modal--xlarge .modal__container {
  max-width: 90vw;
  text-align: center;
}
.modal.is-active {
  display: flex;
}

.newsletter {
  margin-bottom: 1.25rem;
  width: 100%;
}
.newsletter__form {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.875rem;
}
.newsletter p {
  font-weight: 600;
  font-size: 1rem;
}

.promo-section {
  background-size: cover;
  min-height: 37.5rem;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.promo-section__container {
  max-width: 85rem;
  margin: 0 auto;
  display: flex;
  padding: 4.375rem 0rem;
  z-index: 9;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
}
@media only screen and (max-width: 88.75rem) {
  .promo-section__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .promo-section__container {
    padding: 1.25rem;
  }
}
.promo-section__video {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media only screen and (max-width: 48rem) {
  .promo-section__video {
    display: none;
  }
}
.promo-section__content {
  z-index: 9;
}
.promo-section__body {
  text-align: center;
}
.promo-section h1 {
  color: white;
  text-shadow: 0rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.4);
  margin-top: 0;
  margin-bottom: 4.375rem;
  font-size: 3.75rem;
}
@media only screen and (max-width: 48rem) {
  .promo-section h1 {
    margin-bottom: 3.125rem;
    font-size: 2.5rem;
  }
}
.promo-section h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 4.375rem;
  color: white;
}
.promo-section h2 small {
  font-size: 1.5625rem;
  font-weight: 400;
}
@media only screen and (max-width: 48rem) {
  .promo-section h2 {
    font-size: 1.25rem;
    margin-bottom: 3.125rem;
  }
  .promo-section h2 small {
    font-size: 0.9375rem;
  }
}
.promo-section--right {
  background-position: 20% center;
}
.promo-section--right .promo-section__container {
  justify-content: flex-end;
  height: 100%;
}
.promo-section--right .promo-section__content {
  text-align: right;
  max-width: 70%;
}
@media only screen and (max-width: 64rem) {
  .promo-section--right .promo-section__content {
    max-width: 100%;
  }
}
@media only screen and (max-width: 48rem) {
  .promo-section--right .promo-section__content {
    text-align: center;
  }
}
.promo-section--right .promo-section__actions {
  text-align: right;
}
@media only screen and (max-width: 48rem) {
  .promo-section--right .promo-section__actions {
    text-align: center;
  }
}
.promo-section--right .promo-section__actions {
  text-align: right;
}
@media only screen and (max-width: 48rem) {
  .promo-section--right .promo-section__actions {
    text-align: center;
  }
}
.promo-section--right h1, .promo-section--right h2 {
  text-align: right;
}
@media only screen and (max-width: 48rem) {
  .promo-section--right h1, .promo-section--right h2 {
    text-align: center;
  }
}
@media only screen and (max-width: 48rem) {
  .promo-section--right {
    background-position: 50% center;
  }
}
.promo-section--center .promo-section__container {
  justify-content: center;
  align-items: center;
  height: auto;
}
@media only screen and (max-width: 48rem) {
  .promo-section--center .promo-section__container {
    height: auto;
  }
}
.promo-section--center .promo-section__content {
  text-align: center;
}
.promo-section--center .promo-section__body {
  background-color: transparent;
  padding: 0;
}
.promo-section--center h1, .promo-section--center h2 {
  text-align: center;
}
.promo-section--light .button.button--primary {
  background-color: white;
  color: #363636;
}
.promo-section--large {
  min-height: 100vh;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 48rem) {
  .promo-section--large {
    min-height: 50vh;
  }
}

.product-carousel {
  padding: 0 5rem;
  box-sizing: border-box;
  margin-top: 4.375rem;
  margin-bottom: 4.375rem;
}
.product-carousel__left {
  position: absolute;
  top: calc(50% - 45px);
  left: 0;
}
@media only screen and (max-width: 48rem) {
  .product-carousel__left {
    position: relative;
    margin: 0 0.625rem;
  }
}
.product-carousel__right {
  position: absolute;
  right: 0;
  top: calc(50% - 45px);
}
@media only screen and (max-width: 48rem) {
  .product-carousel__right {
    position: relative;
    margin: 0 0.625rem;
  }
}
.product-carousel__item {
  padding: 0 2.75rem;
}
.product-carousel__item img {
  width: 100%;
}
@media only screen and (max-width: 48rem) {
  .product-carousel__item {
    padding: 0 1.25rem;
  }
}
.product-carousel__text {
  text-align: center;
  padding-top: 0.9375rem;
}
.product-carousel__title, .product-carousel__price, .product-carousel__currency {
  font-size: 0.875rem;
  margin: 0;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 48rem) {
  .product-carousel .owl-nav {
    bottom: 0;
    top: auto;
    position: relative;
    left: 0;
    right: 0;
    text-align: center;
    padding-top: 1.25rem;
  }
}
.product-carousel .owl-stage-outer {
  width: 100%;
}
@media only screen and (max-width: 48rem) {
  .product-carousel {
    padding: 0;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

.product-detail {
  padding-bottom: 5rem;
}
.product-detail.is-loaded {
  display: grid !important;
}
.product-detail__container {
  max-width: 85rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: 1fr;
  grid-gap: 6.25rem;
}
@media only screen and (max-width: 88.75rem) {
  .product-detail__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr;
  }
}
@media only screen and (max-width: 64rem) {
  .product-detail__container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: flex;
    flex-direction: column;
  }
}
.product-detail__error {
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-detail__error h3 {
  text-align: center;
}
.product-detail__large-image img {
  max-width: 100%;
}
.product-detail__title {
  margin-bottom: 1.875rem;
}
.product-detail__title h2 {
  margin-bottom: 1.875rem;
}
.product-detail__notes {
  margin-bottom: 1.25rem;
  color: #524e4e;
}
.product-detail__notes ul {
  padding-left: 25px;
}
.product-detail__notes li {
  list-style-type: none;
  margin-bottom: 8px;
}
.product-detail__notes li:before {
  content: "";
  position: absolute;
  height: 1px;
  width: 10px;
  background-color: #323232;
  display: inline-block;
  margin-left: -1.5625rem;
  margin-top: 0.625rem;
}
.product-detail__colors {
  margin-bottom: 2.5rem;
}
.product-detail__types {
  display: flex;
  gap: 1.875rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 48rem) {
  .product-detail__types {
    gap: calc(1.875rem / 2);
  }
}
.product-detail__options {
  margin-bottom: 1.875rem;
  color: #524e4e;
}
.product-detail__options .size-info {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 64rem) {
  .product-detail__options .size-info {
    width: 3.125rem;
  }
}
@media only screen and (max-width: 36.25rem) {
  .product-detail__options .size-info {
    width: 3.125rem;
  }
  .product-detail__options .size-info:before {
    display: none;
  }
}
.product-detail__sizes {
  display: flex;
  gap: 1.875rem;
}
.product-detail__sizes .dropdown {
  flex: 1;
}
@media only screen and (max-width: 36.25rem) {
  .product-detail__sizes {
    flex-direction: column;
  }
}
.product-detail__sizes-buttons .size-info {
  width: 100%;
}
.product-detail__prices {
  display: flex;
  align-items: center;
  margin-bottom: 2.5rem;
}
.product-detail__store, .product-detail__change {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}
.product-detail__store--available, .product-detail__change--available {
  color: #8ABB2A;
}
.product-detail__store--not-available, .product-detail__change--not-available {
  color: #D52626;
}
.product-detail__currency {
  display: inline-block;
  vertical-align: top;
  margin-right: 1.25rem;
}
.product-detail__price {
  display: inline-block;
}
.product-detail__price__value {
  font-weight: 600;
  color: #363636;
  letter-spacing: 0.075em;
  font-size: 1.25rem;
}
.product-detail__price__discount {
  color: #D52626;
  text-decoration: line-through;
  margin-left: 0.625rem;
}
.product-detail__price .dropdown {
  margin-left: 1.875rem;
}
@media only screen and (max-width: 48rem) {
  .product-detail__price {
    margin-bottom: 1.25rem;
    display: inline-block;
  }
}
.product-detail__old-price {
  display: inline-block;
  margin-right: 0.9375rem;
  margin: 0 0.625rem;
}
.product-detail__old-price span {
  color: #D52626;
  text-decoration: line-through;
  font-size: 1.125rem;
}
.product-detail__actions p {
  margin-bottom: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .product-detail__actions .button {
    width: 100%;
  }
}
.product-detail h2 {
  margin-top: 0;
  font-size: 1.875rem;
  font-weight: bold;
  color: #363636;
}
.product-detail__gallery {
  display: flex;
  justify-content: flex-end;
}
.product-detail__gallery .product-zoom {
  max-width: 600px;
}
@media only screen and (max-width: 64rem) {
  .product-detail__gallery {
    justify-content: center;
  }
}
@media only screen and (max-width: 48rem) {
  .product-detail {
    padding-bottom: 1.875rem;
  }
}
.product-detail__description p, .product-detail__description ul {
  margin-bottom: 1.875rem;
}
.product-detail__description ul, .product-detail__description li, .product-detail__description p {
  font-size: 1rem;
  color: #707070;
}
.product-detail__description h3 {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
  color: #323232;
}
.product-detail__loading {
  height: 18.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-selection__container {
  text-align: center;
  padding-bottom: 8.125rem;
  margin: 0 auto;
}
.product-selection__title {
  font-size: 1.875rem;
  font-weight: bold;
  margin-bottom: 5rem;
  letter-spacing: 0.075em;
  margin-top: 0;
}
.product-selection__body {
  display: flex;
  justify-content: space-between;
  gap: 3.75rem;
}
@media only screen and (max-width: 64rem) {
  .product-selection__body {
    gap: 2.5rem;
  }
}
@media only screen and (max-width: 48rem) {
  .product-selection__body {
    flex-direction: column;
  }
}
.product-selection__item {
  max-width: 21.875rem;
  width: 100%;
  position: relative;
}
.product-selection__item__type {
  display: block;
  line-height: 1;
  position: relative;
  margin-bottom: 1.875rem;
}
.product-selection__item__image {
  overflow: hidden;
  border-radius: 1.25rem;
  position: relative;
  z-index: 9;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  box-shadow: 0rem 0.1875rem 0.375rem 0rem rgba(0, 0, 0, 0.3);
}
.product-selection__item__image img {
  width: 100%;
}
.product-selection__item__image:hover {
  transform: scale(1.1);
}
.product-selection__item__title {
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
  left: 0;
  right: 0;
  max-width: 13.75rem;
  width: 100%;
  margin: 0 auto;
  font-size: 1.125rem;
  text-transform: uppercase;
  background-color: #363636;
  color: white;
  border-radius: 1.25rem;
  z-index: 19;
  box-sizing: border-box;
  letter-spacing: 0.18em;
  height: 2.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0rem 0.1875rem 0.375rem 0rem rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width: 64rem) {
  .product-selection__item__title {
    font-size: 1rem;
    max-width: 12.5rem;
    height: 2.1875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .product-selection__item {
    margin: 3.125rem auto 0;
  }
  .product-selection__item:after {
    display: none;
  }
}
.product-selection__item--large {
  max-width: 31.25rem;
  width: 100%;
}
.product-selection__item--large img {
  width: 100%;
}
.product-selection__info-container {
  overflow: hidden;
  max-height: 0;
  margin-bottom: 8.125rem;
  transition: max-height 1s ease-in-out;
}
.product-selection__info-container.is-active {
  max-height: 125rem;
}
.product-selection__info {
  padding: 0 1.875rem;
  gap: 8.75rem;
  margin-bottom: calc(1.875rem * 2);
  display: flex;
}
.product-selection__info__text {
  text-align: left;
  width: 50%;
}
@media only screen and (max-width: 64rem) {
  .product-selection__info__text {
    width: 100%;
  }
}
.product-selection__info__image {
  width: 50%;
}
.product-selection__info__image img {
  width: 100%;
}
@media only screen and (max-width: 64rem) {
  .product-selection__info__image {
    width: 100%;
  }
}
.product-selection__info .button {
  margin: 50px auto;
  display: block;
  max-width: 9.375rem;
  text-align: center;
}
@media only screen and (max-width: 64rem) {
  .product-selection__info {
    flex-direction: column;
  }
}
.product-selection__description {
  text-align: left;
  padding-top: 2.5rem;
}
.product-selection h3 {
  font-size: 0.875rem;
  color: #707070;
  margin-bottom: 0.625rem;
  font-weight: bold;
  text-transform: uppercase;
}

.products-list__container {
  max-width: 60rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  grid-gap: 6.875rem;
  padding: 6.875rem 0;
}
@media only screen and (max-width: 88.75rem) {
  .products-list__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .products-list__container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 1.25rem;
  }
}
.products-list__link {
  display: block;
  text-decoration: none;
  color: #363636;
  position: relative;
}
.products-list__link h3 {
  font-size: 1.25rem;
  margin: 0.625rem 0;
}
.products-list__link span {
  font-size: 1.25rem;
}
.products-list__colors {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.9375rem;
  z-index: 9;
}
.products-list__color {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 1.5rem;
  display: inline-block;
  margin: 0 0.125rem;
}
.products-list__image {
  height: 26.5625rem;
  overflow: hidden;
}
.products-list__image img {
  transition: transform 0.3s ease-in-out;
  max-width: 100%;
  max-height: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.products-list__price {
  margin-bottom: 1.0625rem;
}
.products-list__item {
  border-radius: 1.25rem;
  box-shadow: 0rem 0rem 0rem 0rem rgba(0, 0, 0, 0);
  text-align: center;
  overflow: hidden;
  transition: box-shadow 0.3s ease-in-out;
}
.products-list__item:hover {
  box-shadow: 0rem 0.375rem 0.75rem 0rem rgba(0, 0, 0, 0.3);
}
.products-list__item:hover img {
  transform: scale(1.1);
}

.product-zoom {
  width: 100%;
  overflow: hidden;
}
.product-zoom__preview-container {
  max-width: 100%;
  padding-bottom: 100%;
  position: relative;
}
.product-zoom__preview-container img {
  width: 100%;
  position: absolute;
  width: 100%;
}
.product-zoom__preview {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  border-radius: 1.25rem;
  overflow: hidden;
}
.product-zoom__preview img {
  width: 100%;
  position: absolute;
  width: 100%;
}
.product-zoom__zoom {
  border-radius: 1.25rem;
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  overflow: hidden;
  visibility: hidden;
  transform-origin: center center;
}
.product-zoom__zoom img {
  position: absolute;
}
.product-zoom__thumbs {
  width: 100%;
  display: flex;
  gap: 1.875rem;
  margin-top: 1.875rem;
  flex-wrap: wrap;
}
.product-zoom__thumbs a {
  border-radius: 1.25rem;
  overflow: hidden;
  height: 7.5rem;
  width: 7.5rem;
}
.product-zoom__thumbs a img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 7.5rem;
  width: 7.5rem;
}
@media only screen and (max-width: 48rem) {
  .product-zoom__thumbs a img {
    height: 5.625rem;
    width: 5.625rem;
  }
}
@media only screen and (max-width: 48rem) {
  .product-zoom__thumbs a {
    height: 5.625rem;
    width: 5.625rem;
  }
}

.review {
  margin: 3.75rem 0;
}
.review__container {
  padding: 1.875rem;
  overflow: hidden;
  border: 0.125rem solid #B8B6B6;
  border-radius: 1.25rem;
}
.review__item {
  text-align: center;
}
.review .owl-stage-outer {
  width: 100%;
  overflow: hidden;
}

.section__container {
  max-width: 85rem;
  margin: 0 auto;
}
.section__container > h2 {
  display: block;
  text-align: center;
  font-size: 1.875rem;
}
.section__container--left > h2 {
  display: block;
  text-align: center;
}
@media only screen and (max-width: 88.75rem) {
  .section__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .section__container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.section__content-container {
  max-width: 60rem;
  margin: 0 auto;
}
.section__content-container > h2 {
  display: block;
  text-align: center;
  font-size: 1.875rem;
}
@media only screen and (max-width: 63.75rem) {
  .section__content-container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .section__content-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.section__blog-container {
  max-width: 68.75rem;
  margin: 0 auto;
}
@media only screen and (max-width: 63.75rem) {
  .section__blog-container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .section__blog-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.section__text-block {
  max-width: 48.125rem;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 51.875rem) {
  .section__text-block {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 48rem) {
  .section__text-block {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.section__fullwidth-image img {
  width: 100%;
  margin: 0;
  display: block;
}
.section__three-images {
  position: relative;
}
.section__three-images__container {
  display: flex;
}
.section__three-images img {
  width: 33.333%;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
@media only screen and (max-width: 36.25rem) {
  .section__three-images img {
    width: 100%;
    flex-direction: column;
  }
}
.section__image-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-size: cover;
}
.section__illustration {
  text-align: center;
}
.section--image {
  position: relative;
}
.section--large-padding {
  padding: 3.125rem 0;
}
@media only screen and (max-width: 48rem) {
  .section--large-padding {
    padding: 1.875rem 0;
  }
}
.section--large-top-padding {
  padding: 3.125rem 0 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .section--large-top-padding {
    padding: 1.875rem 0;
  }
}
.section--large-bottom-padding {
  padding: 0 0 4.375rem 0;
}
@media only screen and (max-width: 48rem) {
  .section--large-bottom-padding {
    padding: 1.875rem 0;
  }
}
.section--medium-padding {
  padding: 1.875rem 0;
}
@media only screen and (max-width: 88.75rem) {
  .section--medium-padding {
    padding: 1.875rem 0;
  }
}

.simple-table {
  border-radius: 1.25rem;
  border: 3px solid #C4C3C3;
  padding: 0.9375rem 1.5rem;
  margin-top: 0.625rem;
  margin-bottom: 1.875rem;
}
.simple-table__row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: 1fr;
  padding: 0.5rem 0rem;
  grid-gap: 1.25rem;
}
@media only screen and (max-width: 48rem) {
  .simple-table__row {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 0.625rem;
  }
}
.simple-table__column {
  color: #363636;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  font-weight: 600;
}
@media only screen and (max-width: 48rem) {
  .simple-table__column:first-child {
    color: #B8B6B6;
  }
}
@media only screen and (max-width: 48rem) {
  .simple-table {
    margin-top: 0.625rem;
    margin-bottom: 1.25rem;
  }
}

.size-info {
  display: flex;
  border: 0;
  cursor: pointer;
  padding: 0;
  margin-bottom: 1.25rem;
  align-items: center;
  background-color: transparent;
  justify-content: left;
  width: 100%;
}
.size-info:focus {
  outline: none;
}
.size-info:hover .size-info__icon {
  animation: pulse 0.5s ease-in-out;
  animation-iteration-count: infinite;
}
.size-info * {
  pointer-events: none;
}
.size-info__icon {
  height: 1.875rem;
  width: 1.875rem;
  margin-right: 0.9375rem;
}
.size-info__text {
  font-weight: 600;
  font-size: 0.875rem;
  text-align: left;
}
.size-info__modal-actions {
  margin: 2.5rem 0;
  display: flex;
  justify-content: center;
  gap: 1.875rem;
}
@media only screen and (max-width: 64rem) {
  .size-info__modal-actions {
    flex-direction: column;
  }
}
@media only screen and (max-width: 64rem) {
  .size-info__modal-actions .dropdown, .size-info__modal-actions .dropdown__button {
    width: 100%;
  }
}
.size-info__modal-table {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 1.875rem;
}
.size-info__modal-table img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 88.75rem) {
  .size-info__modal-table {
    flex-direction: column;
  }
}
@keyframes pulse {
  0% {
    scale: 1;
  }
  50% {
    scale: 1.2;
  }
  100% {
    scale: 1;
  }
}

.shopping-cart {
  position: fixed;
  z-index: 9999;
  display: none;
}
.shopping-cart__container {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  position: relative;
}
.shopping-cart__background {
  animation: fadeIn 0.4s ease-in-out;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}
.shopping-cart__body {
  transform: translateX(100%);
  animation: fadeInRight 0.3s ease-in-out;
  animation-fill-mode: forwards;
  background-color: #E6E7E8;
  width: 37.5rem;
  height: calc(100vh - 12.5rem);
  min-height: 18.125rem;
  position: absolute;
  top: 6.25rem;
  bottom: 6.25rem;
  right: 0;
  padding: 1.25rem 0 1.25rem 1.25rem;
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
  box-sizing: border-box;
  overflow: auto;
}
.shopping-cart__body h2 {
  font-size: 1rem;
  text-transform: uppercase;
  margin: 0 0 0.75rem 0;
  display: inline-block;
}
.shopping-cart__body p {
  display: inline-block;
}
@media only screen and (max-width: 68.75rem) {
  .shopping-cart__body {
    width: 100%;
    top: 3.75rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
@media only screen and (max-width: 36.25rem) {
  .shopping-cart__body {
    height: calc(100vh - 3.75rem);
  }
}
.shopping-cart__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
}
.shopping-cart__header {
  background-color: white;
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
  display: flex;
  padding: 1.375rem 2.125rem;
  box-sizing: border-box;
  margin-bottom: 0.625rem;
  gap: 1.875rem;
}
.shopping-cart__header h3 {
  font-size: 0.875rem;
  margin: 0;
}
.shopping-cart__header__title {
  flex: 1;
}
@media only screen and (max-width: 36.25rem) {
  .shopping-cart__header {
    flex-direction: column;
  }
}
.shopping-cart__to-cart {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 13.25rem;
}
.shopping-cart__list {
  overflow-y: auto;
}
.shopping-cart__item {
  background-color: white;
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
  padding: 0.9375rem 1.25rem;
  box-sizing: border-box;
  margin-bottom: 0.625rem;
  display: flex;
  align-items: center;
  position: relative;
}
.shopping-cart__item:last-child {
  margin-bottom: 0;
}
.shopping-cart__item__text {
  margin-left: 1.25rem;
}
.shopping-cart__item__text span {
  font-size: 0.875rem;
}
.shopping-cart__item__image {
  max-width: 5.625rem;
  max-height: 5.625rem;
}
.shopping-cart__item__image img {
  width: 100%;
}
.shopping-cart__item__title {
  display: inline-block;
  margin-right: 0.625rem;
}
.shopping-cart__item__color {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 0.875rem;
  display: inline-block;
}
.shopping-cart__item .button {
  margin-left: auto;
}
.shopping-cart.is-active {
  display: block;
}
.shopping-cart.is-active .shopping-cart__body {
  transform: translateX(0%);
}
.shopping-cart__notification {
  position: relative;
  height: 2rem;
  width: 2rem;
}
.shopping-cart__notification__count {
  display: inline-block;
  background-color: black;
  width: 1rem;
  height: 1rem;
  border-radius: 0.5rem;
  position: absolute;
  top: 0;
  right: -0.375rem;
  font-size: 0.625rem;
  vertical-align: middle;
  color: white;
  line-height: 1rem;
}
.shopping-cart__notification__message {
  position: absolute;
  background-color: black;
  padding: 1.25rem;
  left: 8.75rem;
  top: 0.625rem;
  margin: 0 auto;
  font-size: 0.875rem;
  color: white;
  border-radius: 1.25rem;
  display: block;
  white-space: nowrap;
  opacity: 0;
  animation: fadeInOut 2s ease-in-out;
}
.shopping-cart__notification__message span {
  color: white;
  letter-spacing: 0.1em;
}
.shopping-cart__notification__message:after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  transform: rotate(45deg);
  transform-origin: center center;
  bottom: -0.3125rem;
  left: -8.125rem;
  right: 0;
  margin: 0 auto;
  background-color: black;
  display: block;
  position: absolute;
}
@media only screen and (max-width: 68.75rem) {
  .shopping-cart__notification__message {
    display: none;
  }
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.static-page h2 {
  margin-bottom: 2.5rem;
  font-size: 1.5625rem;
}
.static-page h3 {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}
.static-page p {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}
.static-page--center {
  text-align: center;
}
.static-page--thin {
  max-width: 43.75rem;
}

.stores-list > h3 {
  text-align: center;
  font-weight: 1.25rem;
  color: #707070;
  text-transform: uppercase;
  font-weight: 600;
}
.stores-list__list {
  margin-bottom: 3.125rem;
}
.stores-list__item {
  display: flex;
  align-items: center;
  max-width: 34.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  justify-content: space-between;
  min-height: 3.75rem;
}
.stores-list__item h4 {
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: black;
  flex: 1;
}
.stores-list__item a {
  font-weight: 400;
  font-size: 0.875rem;
}
@media only screen and (max-width: 36.25rem) {
  .stores-list__item {
    flex-direction: column;
    margin-bottom: 1.875rem;
  }
}
.stores-list__logo {
  max-width: 6.25rem;
  flex: 6.25rem;
}
.stores-list__logo img {
  width: 100%;
}
@media only screen and (max-width: 36.25rem) {
  .stores-list__logo {
    flex: 1;
  }
}
.stores-list__link {
  flex: 1;
  text-align: right;
  text-decoration: underline;
}

.testemonials {
  text-align: center;
  margin-bottom: 1.875rem;
  position: relative;
}
.testemonials h4 {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 1.5625rem;
  margin-top: 0.9375rem;
  color: #363636;
}
.testemonials__avatar {
  vertical-align: middle;
  width: 9.375rem;
  height: 9.375rem;
  border-radius: 50%;
}
.testemonials__slide {
  border-radius: 1.25rem;
  padding: 1.25rem;
  box-sizing: border-box;
}
.testemonials__slide:nth-child(2n) {
  background-color: #ECECEC;
}
.testemonials__left, .testemonials__right {
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  z-index: 9;
}
.testemonials__left {
  left: 0;
}
.testemonials__right {
  right: 0;
}

.text-block h2 {
  font-size: 1.875rem;
  font-weight: bold;
  margin-bottom: 3.75rem;
}
.text-block h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
  margin-top: 1.25rem;
}
.text-block h4 {
  color: #313132;
  font-weight: 600;
}
.text-block p {
  font-size: 0.875rem;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
.text-block .p--green {
  color: #0A942A;
}
.text-block ul {
  margin-bottom: 3.125rem;
}
.text-block ul li {
  font-size: 0.875rem;
  line-height: 1.8;
  margin-bottom: 1.25rem;
}
.text-block__header {
  display: flex;
}
.text-block__simple-image {
  margin-bottom: 3.125rem;
  width: 100%;
}
.text-block__image {
  display: flex;
  margin: 3.125rem -18.75rem;
  position: relative;
}
.text-block__image__background {
  height: 50%;
  position: absolute;
  top: 3.125rem;
  left: 0;
  right: 0;
  height: 60%;
  background-size: cover;
  z-index: 0;
  opacity: 0.1;
}
@media only screen and (max-width: 88.75rem) {
  .text-block__image__background {
    display: none;
  }
}
.text-block__image__left {
  position: relative;
  z-index: 9;
  flex: 1;
}
.text-block__image__left img {
  width: 100%;
}
.text-block__image__right {
  position: relative;
  z-index: 9;
  max-width: 30rem;
  padding: 0 2.5rem;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}
@media only screen and (max-width: 88.75rem) {
  .text-block__image__right {
    max-width: 23.75rem;
  }
}
@media only screen and (max-width: 64rem) {
  .text-block__image__right {
    padding: 0.625rem 0rem;
    max-width: none;
  }
}
.text-block__image__caption {
  font-family: "Bitter", serif;
  font-size: 1.75rem;
  color: #9F9F9F;
  font-style: italic;
  line-height: 1.6;
}
@media only screen and (max-width: 88.75rem) {
  .text-block__image__caption {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 64rem) {
  .text-block__image__caption {
    font-size: 1rem;
  }
}
.text-block__image--rightimage {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 88.75rem) {
  .text-block__image {
    margin: 3.125rem -6.25rem;
  }
}
@media only screen and (max-width: 64rem) {
  .text-block__image {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    margin: 3.125rem 0rem;
    flex-direction: column;
    padding: 0;
  }
}
.text-block--two-columns {
  display: flex;
  gap: 10rem;
}
@media only screen and (max-width: 64rem) {
  .text-block--two-columns {
    gap: 0;
    flex-direction: column;
  }
}

.textarea {
  background-color: white;
  border: 0.0625rem solid #C4C3C3;
  border-radius: 0.3125rem;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  padding: 0.75rem 0.9375rem;
  font-family: "tex_gyre_adventor", sans-serif;
  letter-spacing: 0.1em;
}
.textarea:focus {
  border: 0.0625rem solid #2c2c2c;
}
.textarea--small {
  width: 3.9375rem;
  text-align: center;
}
.textarea--default {
  border: 0.0625rem solid #C4C3C3;
  border-radius: 0.3125rem;
  min-height: 10.125rem;
}
.textarea--default:focus {
  outline: none;
}

.top-bar {
  height: 1.875rem;
  background-color: #94ffde;
  position: relative;
  width: 100%;
  text-align: center;
}
.top-bar span {
  font-size: 0.875rem;
  font-weight: 600;
}
@media only screen and (max-width: 48rem) {
  .top-bar span {
    font-size: 0.75rem;
  }
}

html[lang=en] .top-menu {
  height: 6.25rem;
}
@media only screen and (max-width: 68.75rem) {
  html[lang=en] .top-menu {
    height: 3.75rem;
  }
}
@media only screen and (max-width: 68.75rem) {
  html[lang=en] .top-menu__menu {
    height: calc(100% - 3.75rem);
    top: 3.75rem;
  }
}
html[lang=en] .header {
  padding-top: 0;
}

.top-menu {
  height: 8.125rem;
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  transition: background-color 0.3s ease-in-out;
}
.top-menu__container {
  height: 6.25rem;
  max-width: 85rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.25rem;
  position: relative;
}
@media only screen and (max-width: 88.75rem) {
  .top-menu__container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 68.75rem) {
  .top-menu__container {
    height: 3.75rem;
  }
}
@media only screen and (max-width: 48rem) {
  .top-menu__container {
    padding-left: 1.25rem;
    padding-right: calc(1.25rem / 2);
  }
}
.top-menu__logo {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 1.25rem 0;
  box-sizing: border-box;
}
.top-menu__logo a {
  display: block;
  text-align: left;
  height: 100%;
}
.top-menu__logo svg {
  height: 100%;
  width: auto;
}
.top-menu__logo svg g path {
  fill: #ffffff;
}
@media only screen and (max-width: 68.75rem) {
  .top-menu__logo {
    padding: 0.625rem 0;
  }
}
.top-menu__menu {
  height: 100%;
}
@media only screen and (max-width: 68.75rem) {
  .top-menu__menu {
    width: 100%;
    height: calc(100% - 5.625rem);
    position: fixed;
    left: 0;
    top: 5.625rem;
    background-color: white;
    z-index: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
  }
}
.top-menu__language {
  height: 100%;
  display: flex;
  align-items: center;
}
.top-menu__language button {
  outline: 0;
  border: 0;
  background-color: transparent;
  color: white;
  font-size: 1.75rem;
  transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
  padding: 0;
  cursor: pointer;
}
.top-menu__language button:hover {
  color: #E9E9E9;
}
@media only screen and (max-width: 48rem) {
  .top-menu__language button {
    font-size: 1.5rem;
    margin-left: 0.625rem;
    color: black;
  }
}
.top-menu__language svg path {
  transition: fill 0.3s ease-in-out;
}
@media only screen and (max-width: 68.75rem) {
  .top-menu__language {
    position: absolute;
    right: 6.25rem;
  }
}
@media only screen and (max-width: 48rem) {
  .top-menu__language {
    right: 4.375rem;
  }
}
.top-menu__social a, .top-menu__social button {
  outline: 0;
  border: 0;
  background-color: transparent;
  margin-left: 1.1875rem;
  color: white;
  font-size: 1.875rem;
  transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
  padding: 0;
  cursor: pointer;
}
.top-menu__social a:hover, .top-menu__social button:hover {
  color: #E9E9E9;
}
@media only screen and (max-width: 48rem) {
  .top-menu__social a, .top-menu__social button {
    font-size: 1.5rem;
    margin-left: 0.625rem;
  }
}
.top-menu__social svg path {
  transition: fill 0.3s ease-in-out;
}
.top-menu__toggle {
  display: none;
}
@media only screen and (max-width: 68.75rem) {
  .top-menu__toggle {
    display: block;
  }
}
.top-menu.is-scrolled, .top-menu--black {
  color: black;
  background-color: white;
}
.top-menu.is-scrolled .main-menu__item a, .top-menu.is-scrolled .main-menu__item button, .top-menu.is-scrolled .language-menu__item a, .top-menu.is-scrolled .language-menu__item button, .top-menu--black .main-menu__item a, .top-menu--black .main-menu__item button, .top-menu--black .language-menu__item a, .top-menu--black .language-menu__item button {
  color: black;
}
.top-menu.is-scrolled .main-menu__item:after, .top-menu.is-scrolled .language-menu__item:after, .top-menu--black .main-menu__item:after, .top-menu--black .language-menu__item:after {
  background-color: black;
}
.top-menu.is-scrolled .main-menu__submenu, .top-menu.is-scrolled .language-menu__submenu, .top-menu--black .main-menu__submenu, .top-menu--black .language-menu__submenu {
  background-color: white;
}
.top-menu.is-scrolled .language-menu button, .top-menu.is-scrolled .language-menu span, .top-menu--black .language-menu button, .top-menu--black .language-menu span {
  color: black;
}
.top-menu.is-scrolled .top-menu__social a, .top-menu.is-scrolled .top-menu__social button, .top-menu.is-scrolled .top-menu__language a, .top-menu.is-scrolled .top-menu__language button, .top-menu--black .top-menu__social a, .top-menu--black .top-menu__social button, .top-menu--black .top-menu__language a, .top-menu--black .top-menu__language button {
  color: black;
}
.top-menu.is-scrolled .top-menu__logo svg path, .top-menu--black .top-menu__logo svg path {
  fill: #000000;
}
.top-menu.is-active .top-menu__menu {
  transform: translateX(0%);
}
@media only screen and (max-width: 68.75rem) {
  .top-menu {
    color: black;
    background-color: white;
    height: 5.625rem;
  }
  .top-menu .main-menu__item a, .top-menu .main-menu__item button, .top-menu .language-menu__item a, .top-menu .language-menu__item button {
    color: black;
  }
  .top-menu .main-menu__item:after, .top-menu .language-menu__item:after {
    background-color: black;
  }
  .top-menu .main-menu__submenu, .top-menu .language-menu__submenu {
    background-color: white;
  }
  .top-menu .language-menu button, .top-menu .language-menu span {
    color: black;
  }
  .top-menu .top-menu__social a, .top-menu .top-menu__social button, .top-menu .top-menu__language a, .top-menu .top-menu__language button {
    color: black;
  }
  .top-menu .top-menu__logo svg path {
    fill: #000000;
  }
}

.wysiwyg ul, .wysiwyg ol {
  margin-bottom: 1.875rem;
  list-style-position: inside;
  max-width: 38.75rem;
  margin: 0 auto;
  text-align: left;
  list-style-type: none;
  counter-reset: list-items-counter;
  padding-left: 1em;
  margin-bottom: 1.875rem;
  list-style: none;
}
.wysiwyg ul li, .wysiwyg ol li {
  font-size: 0.875rem;
  color: #524e4e;
  letter-spacing: 0.1em;
  margin-bottom: 0.3125rem;
}
.wysiwyg ul li:before, .wysiwyg ol li:before {
  content: "•";
  color: #524e4e;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
@media only screen and (max-width: 48rem) {
  .wysiwyg ul li, .wysiwyg ol li {
    margin-bottom: 0.625rem;
  }
}
.wysiwyg ol li {
  padding-left: 2.5rem;
  position: relative;
}
.wysiwyg ol li:before {
  counter-increment: list-items-counter;
  content: counter(list-items-counter);
  border: 0.125rem solid #524e4e;
  border-radius: 1.4375rem;
  height: 1.4375rem;
  width: 1.4375rem;
  display: inline-block;
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0;
  position: absolute;
  left: 0;
}
.wysiwyg p {
  font-size: 0.875rem;
  color: #524e4e;
  letter-spacing: 0.1em;
  margin-bottom: 1.25rem;
}
.wysiwyg p.p--small {
  font-size: 0.625rem;
  font-weight: 400;
}
.wysiwyg h2 {
  margin-bottom: 1.875rem;
}
.wysiwyg h3 {
  font-size: 1rem;
  font-weight: 400;
  color: #363636;
  letter-spacing: 0.1em;
}
.wysiwyg h4 {
  font-size: 0.875rem;
  color: #524e4e;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 1.875rem;
}
.wysiwyg a {
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  color: #A0A0A0;
  text-decoration: underline;
}
.wysiwyg address {
  font-size: 1rem;
}
.wysiwyg--align-center {
  text-align: center;
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.hinge {
  animation-duration: 2s;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  animation-name: bounce;
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.shake {
  animation-name: shake;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  0% {
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes slideInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    transform: translateY(0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideOutLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  0% {
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  100% {
    transform: translateY(700px);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

/* CSS for the loading div */
.sp-loading {
  text-align: center;
  max-width: 270px;
  padding: 15px;
  border: 5px solid #eee;
  border-radius: 3px;
  font-size: 12px;
  color: #888;
}

/* Element wrapper */
.sp-wrap {
  display: none;
  line-height: 0;
  font-size: 0;
  position: relative;
  margin: 0 25px 15px 0;
  float: left;
  max-width: 100%;
}

/* Thumbnails */
.sp-thumbs {
  text-align: left;
  display: inline-block;
}

.sp-thumbs img {
  min-height: 100px;
  min-width: 150px;
  max-width: 150px;
}

.sp-thumbs a:link, .sp-thumbs a:visited {
  width: 150px;
  height: 150px;
  overflow: hidden;
  opacity: 0.3;
  display: inline-block;
  background-size: cover;
  background-position: center;
  transition: all 0.2s ease-out;
}

.sp-thumbs a:hover {
  opacity: 1;
}

/* Styles for the currently selected thumbnail */
.sp-thumbs a:active, .sp-current {
  opacity: 1 !important;
  position: relative;
}

/* Image currently being viewed */
.sp-large {
  position: relative;
  overflow: hidden;
  top: 0;
  left: 0;
}

.sp-large a img {
  max-width: 100%;
  height: auto;
}

.sp-large a {
  display: block;
}

/* Panning Zoomed Image */
.sp-zoom {
  position: absolute !important;
  left: -50%;
  top: -50%;
  cursor: zoom-in;
  display: none;
}

/* Lightbox */
.sp-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: black;
  background: rgba(0, 0, 0, 0.9);
  z-index: 500;
  display: none;
  cursor: pointer;
}

.sp-lightbox img {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 90%;
  max-height: 90%;
  border: 2px solid #fff;
}

#sp-prev, #sp-next {
  position: absolute;
  top: 50%;
  margin-top: -25px;
  z-index: 501;
  color: #fff;
  padding: 14px;
  text-decoration: none;
  background: transparent;
  border-radius: 25px;
  border: 1px solid #fff;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  transition: 0.2s;
}

#sp-prev {
  left: 10px;
}

#sp-prev:before {
  content: "";
  position: absolute;
  height: 16px;
  width: 16px;
  top: 16px;
  left: 18px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(-135deg);
}

#sp-next {
  right: 10px;
}

#sp-next:before {
  content: "";
  position: absolute;
  height: 16px;
  width: 16px;
  top: 16px;
  left: 18px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(45deg) translate(-5px, 5px);
}

#sp-prev:hover, #sp-next:hover {
  background: #444;
}

/* Tweak styles for small viewports */
@media screen and (max-width: 400px) {
  .sp-wrap {
    margin: 0 0 15px 0;
  }

  #sp-prev, #sp-next {
    top: auto;
    margin-top: 0;
    bottom: 25px;
  }
}
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}
.owl-carousel .owl-stage {
  position: relative;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}
.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}
.owl-carousel.owl-drag .owl-item {
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
  	This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
  	calculation of the height of the owl-item that breaks page layouts
   */
}
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
}
.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}
.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}