:root {
  --font-family: "GillSans", sans-serif;
  --content-width: 1700px;
  --container-offset: 1.25rem;
  --container-width: calc(var(--content-width) + (var(--container-offset) * 2));
  --fs-base: 1.25rem;
  --fw-base: 300;
  --lh-base: normal;
  --text-color: var(--gray-600);
  --light: #fff;
  --gray: #808080;
  --gray-200: #e6e6e6;
  --gray-250: #ccc;
  --gray-300: #b3b3b3;
  --gray-400: #999;
  --gray-500: #5e5e5e;
  --gray-600: #4d4d4d;
  --gray-800: #333;
  --light-rgb: 255, 255, 255;
  --gray-rgb: 128, 128, 128;
  --gray-200-rgb: 230, 230, 230;
  --gray-250-rgb: 204, 204, 204;
  --gray-300-rgb: 179, 179, 179;
  --gray-400-rgb: 153, 153, 153;
  --gray-500-rgb: 94, 94, 94;
  --gray-600-rgb: 77, 77, 77;
  --gray-800-rgb: 51, 51, 51;
  --body-bg: var(--gray-200);
  --rounded: 1rem;
  --shadow: 0px 0px .625rem .125rem rgba(0,0,0,0.375);
  --shadow-sm: 0px 0px .625rem .125rem rgba(0,0,0,0.25);
  --transition-duration: 300ms;
  --transition-timing-function: ease-in-out;
  --header-padding: 3rem;
}
@media (max-width: 992px) {
  :root {
    --fs-base: 1rem;
    --header-padding: 2.5rem;
  }
}

/* stylelint-disable */
/* stylelint-disable */
@font-face {
  font-family: "GillSans";
  src: url("../fonts/GillSans-Light.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "GillSans";
  src: url("../fonts/GillSans-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: "GillSans";
  src: url("../fonts/GillSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.page {
  height: 100%;
  font-family: var(--font-family, sans-serif);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

.page__body {
  margin: 0;
  min-width: 22.5rem;
  min-height: 100%;
  font-size: var(--fs-base);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  color: var(--text-color);
  background-color: var(--body-bg);
}

.site-container {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

img {
  height: auto;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

a {
  text-decoration: none;
}

.btn-reset {
  border: none;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}

.list-reset {
  list-style: none;
  margin: 0;
  padding: 0;
}

.input-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  background-color: #fff;
}
.input-reset::-webkit-search-decoration, .input-reset::-webkit-search-cancel-button, .input-reset::-webkit-search-results-button, .input-reset::-webkit-search-results-decoration {
  display: none;
}

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

.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--container-offset);
  max-width: var(--container-width);
}

.centered {
  text-align: center;
}

.dis-scroll {
  position: fixed;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

.page--ios .dis-scroll {
  position: relative;
}

@-webkit-keyframes bell-shake {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  15% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  30% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  45% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  60% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  75% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes bell-shake {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  15% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  30% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  45% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  60% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  75% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
.section-header {
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .section-header {
    margin-bottom: 3rem;
  }
}
.section-sub-button.btn {
  --_fw: 600;
  --_ls: normal;
  --_color: var(--gray-400);
  --_color-hover: var(--gray);
  --_color-active: var(--gray);
  --_icon-size: 1.5rem;
}
.section-sub-button.btn .icon {
  -webkit-animation: bell-shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite;
  animation: bell-shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite;
}
.section-title, .section-subtitle {
  color: var(--gray-400);
  text-transform: uppercase;
}
.section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25em;
  font-size: 2.75rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  line-height: 1;
}
@media (min-width: 992px) {
  .section-title {
    font-size: 5rem;
  }
}
@media (min-width: 1200px) {
  .section-title {
    font-size: 6rem;
  }
}
@media (min-width: 1400px) {
  .section-title {
    font-size: 8.5rem;
  }
}
.section-title + .section-subtitle {
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .section-title-start {
    width: 45%;
  }
}
.section-title-end {
  margin-left: auto;
}
@media (min-width: 992px) {
  .section-title-end {
    width: 51.5%;
  }
}
.section-subtitle {
  font-size: 1.5rem;
}
@media (min-width: 1200px) {
  .section-subtitle {
    font-size: 1.75rem;
  }
}
@media (min-width: 1400px) {
  .section-subtitle {
    font-size: 2.25rem;
  }
}

.icon {
  --_size: 1rem;
  --_color: currentColor;
  width: var(--_size);
  height: var(--_size);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--_color);
}
.icon svg {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.btn {
  --_width: initial;
  --_height: initial;
  --_fs: var(--fs-base);
  --_fw: 300;
  --_lh: normal;
  --_ls: .25em;
  --_color: var(--text-color);
  --_bg: transparent;
  --_border-width: 0;
  --_border-style: solid;
  --_border-color: transparent;
  --_rounded: 0;
  --_padding: 0;
  --_transform: translateZ(0);
  --_transition-duration: var(--transition-duration);
  --_transition-timing-function: var(--transition-timing-function);
  --_color-hover: var(--gray-800);
  --_bg-hover: transparent;
  --_border-color-hover: transparent;
  --_transform-hover: translateZ(0);
  --_color-active: var(--gray-800);
  --_bg-active: transparent;
  --_border-color-active: transparent;
  --_transform-active: initial;
  --_icon-size: 1rem;
  --_icon-color: currentColor;
  width: var(--_width);
  height: var(--_height);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: var(--_fs);
  font-weight: var(--_fw);
  line-height: var(--_lh);
  letter-spacing: var(--_ls);
  color: var(--_color);
  text-transform: uppercase;
  cursor: pointer;
  background-color: var(--_bg);
  border: var(--_border-width) var(--_border-style) var(--_border-color);
  border-radius: var(--_rounded);
  padding: var(--_padding);
  outline: none;
  -webkit-transform: var(--_transform);
  -ms-transform: var(--_transform);
  transform: var(--_transform);
  -webkit-transition-property: color, text-shadow, background, border, opacity, -webkit-transform;
  transition-property: color, text-shadow, background, border, opacity, -webkit-transform;
  transition-property: color, text-shadow, background, border, transform, opacity;
  transition-property: color, text-shadow, background, border, transform, opacity, -webkit-transform;
  -webkit-transition-duration: var(--_transition-duration);
  transition-duration: var(--_transition-duration);
  -webkit-transition-timing-function: var(--_transition-timing-function);
  transition-timing-function: var(--_transition-timing-function);
}
@media (hover: hover) {
  .btn:is(:hover, :focus-visible) {
    color: var(--_color-hover);
    background-color: var(--_bg-hover);
    border-color: var(--_border-color-hover);
    -webkit-transform: var(--_transform-hover);
    -ms-transform: var(--_transform-hover);
    transform: var(--_transform-hover);
  }
}
.btn:is(:active, .is-active) {
  color: var(--_color-active);
  background-color: var(--_bg-active);
  border-color: var(--_border-color-active);
  -webkit-transform: var(--_transform-active);
  -ms-transform: var(--_transform-active);
  transform: var(--_transform-active);
}
.btn .icon {
  --_size: var(--_icon-size);
  --_color: var(--_icon-color);
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check + .btn {
  --_color: var(--gray-300);
  --_ls: normal;
}
.btn-check:checked + .btn {
  --_color: var(--gray-800);
  --_color-hover: var(--gray-800);
  --_color-active: var(--gray-800);
}

.btn-light {
  --_color: var(--gray);
  --_bg: rgba(var(--gray-200-rgb), .8);
  --_color-hover: var(--gray-200);
  --_bg-hover: var(--gray-800);
  --_color-active: var(--gray);
  --_bg-active: var(--gray-800);
}

.btn-secondary {
  --_color: var(--gray-200);
  --_bg: var(--gray);
  --_color-hover: var(--gray-200);
  --_bg-hover: var(--gray-800);
  --_color-active: var(--gray);
  --_bg-active: var(--gray-800);
}

.btn-inline {
  --_color: inherit;
}

.btn-inherit {
  --_fs: inherit;
  --_fw: inherit;
  --_lh: inherit;
  --_ls: inherit;
  --_color: inherit;
  display: inline;
  text-transform: initial;
}

.btn-back {
  --_fs: .75rem;
  --_ls: normal;
}

.btn-cart {
  --_icon-size: 1.5rem;
}

.btn-close {
  --_bg: var(--gray-400);
  --_rounded: 50%;
  --_padding: .5rem;
  --_bg-hover: var(--gray-800);
  --_bg-active: var(--gray-800);
}

.btn-base {
  --_height: 2.25rem;
  --_fs: 1.25rem;
  --_rounded: 1.25rem;
  --_padding: .25rem 1rem;
}

.btn-lg {
  --_height: 2.5rem;
  --_fs: 1.25rem;
  --_rounded: 1.25rem;
  --_padding: .25rem 1.5rem;
}
@media (min-width: 992px) {
  .btn-lg {
    --_height: 3.125rem;
    --_fs: 1.5rem;
    --_rounded: 1.5rem;
    --_padding: .25rem 1.25rem;
  }
}

.form-control-requireds,
.form-fieldset-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  color: var(--gray-300);
}
.form-control-requireds .form-check,
.form-fieldset-header .form-check {
  color: inherit;
}
.form-control-requireds .form-check-input:checked,
.form-fieldset-header .form-check-input:checked {
  --bs-form-check-bg-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"%3E%3Ccircle cx="10" cy="10" r="8" stroke="none" fill="%23b3b3b3" /%3E%3C/svg%3E') ;
}
.form-control-requireds:not(:first-child),
.form-fieldset-header:not(:first-child) {
  margin-top: 1.5rem;
}
.form-control-requireds:not(:last-child),
.form-fieldset-header:not(:last-child) {
  margin-bottom: 1.5rem;
}

.form-control-requireds .required {
  color: inherit;
  margin-bottom: 0;
}

.form-fieldset-header {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.form-fieldset-header-title {
  font-size: 1.25rem;
  font-weight: 300;
  letter-spacing: normal;
  color: inherit;
}

.field-control,
.fieldset {
  position: relative;
}

.field-control + .field-control,
.field-control + .btn-submit {
  margin-top: 1.5rem;
}

.field {
  --_width: 100%;
  --_height: 2.5rem;
  --_fs: var(--fs-base);
  --_fw: var(--fw-base);
  --_lh: var(--lh-base);
  --_ls: var(--ls-base);
  --_color: var(--gray-300);
  --_bg: transparent;
  --_border-width: 1px;
  --_border-solid: solid;
  --_border-color: currentColor;
  --_rounded: 1.5rem;
  --_padding: .625rem 1rem;
  --_color-hover: var(--gray-800);
  --_bg-hover: transparent;
  --_border-color-hover: currentColor;
  --_color-active: var(--gray-800);
  --_bg-active: transparent;
  --_border-color-active: currentColor;
  width: var(--_width);
  min-height: var(--_height);
  display: block;
  font-size: var(--_fs);
  font-weight: var(--_fw);
  line-height: var(--_lh);
  letter-spacing: var(--_ls, normal);
  color: var(--_color);
  background-color: var(--_bg);
  border: var(--_border-width) var(--_border-solid) var(--_border-color);
  border-radius: var(--_rounded);
  padding: var(--_padding);
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition-property: color, background, border;
  transition-property: color, background, border;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
@media (min-width: 992px) {
  .field {
    --_height: 3.125rem;
    --_padding: .78125rem 1rem;
  }
}
.field::-webkit-input-placeholder {
  font: inherit;
  color: currentColor;
}
.field::-moz-placeholder {
  font: inherit;
  color: currentColor;
}
.field:-ms-input-placeholder {
  font: inherit;
  color: currentColor;
}
.field::-ms-input-placeholder {
  font: inherit;
  color: currentColor;
}
.field::placeholder {
  font: inherit;
  color: currentColor;
}
.field:focus-visible {
  color: var(--_color-active);
  background-color: var(--_bg-active);
  border-color: var(--_border-color-active);
}

textarea {
  height: 7.5rem;
  resize: none;
}
@media (min-width: 992px) {
  textarea {
    height: 10rem;
  }
}

.required {
  font-size: 0.625rem;
  color: var(--gray-300);
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  margin-bottom: 0.5rem;
  text-align: end;
}
@media (min-width: 992px) {
  .required {
    font-size: 0.75rem;
  }
}

.btn-submit {
  --_width: 100%;
}
.btn-submit:not(:first-child) {
  margin-top: 1.5rem;
}

.field-controls + .field-controls {
  margin-top: 1.5rem;
}

[data-has-fields] {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
[data-has-fields] .field-control {
  margin: 0;
}
@media (min-width: 992px) {
  [data-has-fields] [data-columns-field="2"] {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}

@media (min-width: 992px) {
  [data-has-fields="2"] {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  [data-has-fields="3"] {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.form-check {
  --bs-form-check-bg: transparent;
  font-size: 0.625rem;
  color: var(--gray);
}
@media (min-width: 992px) {
  .form-check {
    font-size: 0.75rem;
  }
}
.form-check:not(:first-child) {
  margin-top: 1.5rem;
}
.form-check-label, .form-check-input {
  cursor: pointer;
}
.form-check-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1em;
}
.form-check-input {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5em;
  border: 1px solid currentColor;
  border-radius: 50%;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
@media (min-width: 992px) {
  .form-check-input {
    width: 1em;
    height: 1em;
  }
}
.form-check-input:checked {
  --bs-form-check-bg-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"%3E%3Ccircle cx="10" cy="10" r="8" stroke="none" fill="%23808080" /%3E%3C/svg%3E');
}

@-webkit-keyframes object-lens {
  0% {
    background-color: currentColor;
  }
  50% {
    background-color: red;
  }
  100% {
    background-color: currentColor;
  }
}

@keyframes object-lens {
  0% {
    background-color: currentColor;
  }
  50% {
    background-color: red;
  }
  100% {
    background-color: currentColor;
  }
}
h1, h2, h3, h4, h5, p {
  margin: 0;
}

h1, h2, h3, h4, h5 {
  letter-spacing: 0.625em;
}

p + p {
  margin-top: 1rem;
}

.color-gray-200 {
  color: var(--gray-200) !important;
}

.color-gray-300 {
  color: var(--gray-300) !important;
}

.color-gray-400 {
  color: var(--gray-400) !important;
}

.color-gray-600 {
  color: var(--gray-600) !important;
}

@media (max-width: 992px) {
  .color-gray-200-lg {
    color: var(--gray-200) !important;
  }
  .color-gray-300-lg {
    color: var(--gray-300) !important;
  }
  .color-gray-400-lg {
    color: var(--gray-400) !important;
  }
}
b {
  font-weight: 600;
}

.object-lens {
  display: inline-block;
  padding-left: 0.25em;
  position: relative;
}
.object-lens .object-lens-decor,
.object-lens .icon {
  position: absolute;
}
.object-lens .object-lens-decor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625em;
  font-size: 0.125em;
  letter-spacing: 0;
  top: 0;
  left: 0;
}
.object-lens .object-lens-decor::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  border-radius: 50%;
  -webkit-animation: object-lens 2s infinite alternate;
  animation: object-lens 2s infinite alternate;
}
.object-lens .icon {
  --_size: .5em;
}
.object-lens .icon-border-top-right {
  top: 0;
  right: 0.0625em;
}
.object-lens .icon-border-bottom-left {
  left: 0;
  bottom: 0;
}

.is-hidden {
  display: none !important;
}

.is-invisible {
  opacity: 0 !important;
}

.text-underline {
  text-decoration-line: underline !important;
  text-decoration-thickness: 0.0625em;
  text-underline-offset: 0.125em;
}

.stretched-link {
  position: absolute;
  inset: 0;
}
.stretched-link::after {
  content: "";
  display: block;
  cursor: pointer;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.burger .icon {
  width: 2rem;
  height: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}
.burger .icon::after, .burger .icon::before {
  content: "";
  width: 100%;
  height: 0.1875rem;
  display: block;
  background-color: currentColor;
  border-radius: 1rem;
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.burger.is-active .icon::after {
  width: 75%;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(0.5rem);
    transform: translateY(0.5rem);
  }
  60% {
    -webkit-transform: translateY(0.25rem);
    transform: translateY(0.25rem);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(0.5rem);
    transform: translateY(0.5rem);
  }
  60% {
    -webkit-transform: translateY(0.25rem);
    transform: translateY(0.25rem);
  }
}
@-webkit-keyframes swipe-right {
  0%, 20% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  60% {
    -webkit-transform: translateX(-0.5rem) rotate(-20deg);
    transform: translateX(-0.5rem) rotate(-20deg);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes swipe-right {
  0%, 20% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  60% {
    -webkit-transform: translateX(-0.5rem) rotate(-20deg);
    transform: translateX(-0.5rem) rotate(-20deg);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.swiper-container {
  --swiper-theme-color: var(--gray-200);
  --swiper-navigation-sides-offset: -4rem;
  position: relative;
}
.swiper-container .swiper {
  overflow: initial;
}
.swiper-container .swiper-slide {
  height: auto;
}
.swiper-container .swiper-slide > * {
  opacity: 0;
  -webkit-transition-property: opacity, background, color, border, -webkit-transform, -webkit-filter;
  transition-property: opacity, background, color, border, -webkit-transform, -webkit-filter;
  transition-property: transform, opacity, filter, background, color, border;
  transition-property: transform, opacity, filter, background, color, border, -webkit-transform, -webkit-filter;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.swiper-container .swiper-slide.swiper-slide-visible > * {
  opacity: 1;
}

.swiper-button-prev,
.swiper-button-next {
  --_width: var(--swiper-navigation-size);
  --_height: var(--swiper-navigation-size);
  --_color: var(--swiper-navigation-color, var(--swiper-theme-color));
  --_bg: rgba(var(--gray-800-rgb), .5);
  --_rounded: 50%;
  --_padding: .25rem;
  --_color-hover: var(--swiper-navigation-color, var(--swiper-theme-color));
  --_color-active: var(--swiper-navigation-color, var(--swiper-theme-color));
  --_bg-hover: var(--gray-800);
  --_bg-active: var(--gray-800);
  --_icon-size: 100%;
}
@media (max-width: 1840px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
.swiper-button-prev::after,
.swiper-button-next::after {
  all: unset;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0;
}

.main-swiper {
  height: 100vh;
  height: 100svh;
  height: 100dvh;
}
.main-swiper > * > .swiper-slide {
  overflow: hidden;
}
.main-swiper-slide {
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-block: var(--header-padding);
}
.main-swiper-slide > .container {
  height: 100%;
}
.main-swiper-slide-bg {
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.main-swiper-slide-bg-wrapper {
  width: 100%;
  -webkit-box-shadow: 0.25rem 0.25rem 2rem 1rem rgba(0, 0, 0, 0.25);
  box-shadow: 0.25rem 0.25rem 2rem 1rem rgba(0, 0, 0, 0.25);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media (min-width: 992px) {
  .main-swiper-slide-bg-wrapper {
    width: 45%;
  }
}
.main-swiper-slide-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.main-swiper-slide-hint {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (hover: none) {
  .main-swiper-slide-hint .icon-mouse,
  .main-swiper-slide-hint .icon-down {
    display: none;
  }
}
.main-swiper-slide-hint .icon-mouse {
  --_size: 2.25rem ;
}
.main-swiper-slide-hint .icon-down {
  --_size: 1.25rem;
}
@media (hover: hover) {
  .main-swiper-slide-hint .icon-down {
    -webkit-animation: bounce 3s infinite ease-in-out;
    animation: bounce 3s infinite ease-in-out;
  }
}
.main-swiper-slide-hint .icon-swipe {
  --_size: 3rem;
}
@media (hover: hover) {
  .main-swiper-slide-hint .icon-swipe {
    display: none;
  }
}
@media (hover: none) {
  .main-swiper-slide-hint .icon-swipe {
    -webkit-animation: swipe-right 2s infinite ease-in-out;
    animation: swipe-right 2s infinite ease-in-out;
  }
}
.main-swiper-nav .nav__list > *:first-child {
  display: none;
}

.cards-swiper {
  --swiper-navigation-top-offset: calc(50% - 1rem);
}

.photos-swiper .swiper-slide > * {
  -webkit-filter: saturate(0%);
  filter: saturate(0%);
}
@media (hover: hover) {
  .photos-swiper .swiper-slide > *:hover {
    -webkit-filter: saturate(100%);
    filter: saturate(100%);
  }
}
.photos-swiper .swiper-slide > *:is(:active, :focus-visible) {
  -webkit-filter: saturate(100%);
  filter: saturate(100%);
}

.swiper-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.375em;
}

[data-button-collapse] {
  margin-top: 1rem;
}
@media (min-width: 576px) {
  [data-button-collapse] {
    display: none;
  }
}

[data-text-collapse] {
  display: -ms-grid;
  display: grid;
}
@media (max-width: 576px) {
  [data-text-collapse] {
    -ms-grid-rows: 0fr;
    grid-template-rows: 0fr;
    -webkit-transition-property: grid-template-rows;
    transition-property: grid-template-rows;
    transition-property: grid-template-rows, -ms-grid-rows;
    -webkit-transition-duration: var(--transition-duration);
    transition-duration: var(--transition-duration);
    -webkit-transition-timing-function: var(--transition-timing-function);
    transition-timing-function: var(--transition-timing-function);
  }
}
[data-text-collapse] > * {
  overflow: hidden;
}
[data-text-collapse][data-expanded=true] {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}

.offcanvas {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 100%;
  --bs-offcanvas-height: 100%;
  --bs-offcanvas-padding: var(--header-padding) var(--container-offset);
  --bs-offcanvas-color: var(--gray-300);
  --bs-offcanvas-bg: rgba(var(--gray-500-rgb), .5);
  --bs-offcanvas-border-width: 0;
  --bs-offcanvas-border-color: transparent;
  --bs-offcanvas-box-shadow: unset;
  --bs-offcanvas-transition: transform var(--transition-duration) var(--transition-timing-function);
  --bs-offcanvas-title-line-height: var(--lh-base);
}
@media (min-width: 992px) {
  .offcanvas {
    --bs-offcanvas-width: 25rem;
    --bs-offcanvas-padding: 3rem 4rem;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  -webkit-transition: var(--bs-offcanvas-transition);
  transition: var(--bs-offcanvas-transition);
  -webkit-backdrop-filter: blur(1.25rem);
  backdrop-filter: blur(1.25rem);
}
.offcanvas .field {
  --_color: var(--gray-200);
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  min-width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  display: block;
  background-color: transparent;
  cursor: pointer;
  position: fixed;
  inset: 0;
  z-index: 1040;
}

.offcanvas-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: var(--bs-offcanvas-padding);
}
.offcanvas-header .btn-close,
.offcanvas-header .burger {
  margin-left: auto;
}
.offcanvas-header .burger {
  --_color-active: inherit;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-header {
  padding-bottom: 2rem;
}

.offcanvas-body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: var(--bs-offcanvas-padding);
  padding-top: 2rem;
  overflow-y: auto;
}
.offcanvas-body .contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  margin-top: auto;
}

.offcanvas-navigation {
  --bs-offcanvas-color: var(--gray-200);
}
.offcanvas-navigation .field {
  --_color: inherit;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 992px;
  --bs-modal-padding: 0;
  --bs-modal-margin: var(--container-offset);
  --bs-modal-color: var(--text-color);
  --bs-modal-bg: var(--gray-200);
  --bs-modal-border-color: transparent;
  --bs-modal-border-width: 0;
  --bs-modal-border-radius: var(--rounded);
  --bs-modal-box-shadow: ;
  --bs-modal-inner-border-radius: 0;
  --bs-modal-header-padding-x: 0;
  --bs-modal-header-padding-y: 0;
  --bs-modal-header-padding: 0;
  --bs-modal-header-border-color: transparent;
  --bs-modal-header-border-width: 0;
  --bs-modal-title-line-height: inherit;
  --bs-modal-footer-gap: 0;
  --bs-modal-footer-bg: transparent;
  --bs-modal-footer-border-color: transparent;
  --bs-modal-footer-border-width: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal .btn-close {
  pointer-events: auto;
  position: absolute;
  top: 3rem;
  right: max(var(--container-offset), (100% - var(--content-width)) / 2);
  z-index: 1;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
  -webkit-transform: translate(0, -3rem);
  -ms-transform: translate(0, -3rem);
  transform: translate(0, -3rem);
}
.modal.show .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
.modal.modal-static .modal-dialog {
  -webkit-transform: scale(1.02);
  -ms-transform: scale(1.02);
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  -webkit-box-shadow: var(--shadow-sm);
  box-shadow: var(--shadow-sm);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: rgba(var(--gray-800-rgb), .625);
  --bs-backdrop-opacity: 1;
  display: block;
  background-color: var(--bs-backdrop-bg);
  opacity: var(--bs-backdrop-opacity);
  -webkit-backdrop-filter: blur(1.25rem);
  backdrop-filter: blur(1.25rem);
  cursor: pointer;
  position: fixed;
  inset: 0;
  z-index: var(--bs-backdrop-zindex);
}

.modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  min-height: 25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}
@media (min-width: 992px) {
  .modal-body {
    min-height: 37.5rem;
  }
}
.modal-body-article {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
}
@media (min-width: 992px) {
  .modal-body-article {
    font-size: 1.5rem;
  }
}
@media (min-width: 992px) {
  .modal-body-article-start, .modal-body-article-end {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
}
.modal-body-article-start {
  padding: 1.5rem 2rem;
}
@media (min-width: 992px) {
  .modal-body-article-start {
    padding: 2.5rem 3rem;
  }
}
@media (max-width: 992px) {
  .modal-body-article-end {
    display: none;
  }
}
.modal-body-article-title {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .modal-body-article-title {
    font-size: 2.25rem;
  }
}
.modal-body-article-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-top-right-radius: var(--bs-modal-border-radius);
  border-bottom-right-radius: var(--bs-modal-border-radius);
}
.modal-body-form {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1.5rem 2rem;
}
@media (min-width: 992px) {
  .modal-body-form {
    padding: 3rem;
  }
}
.modal-body-form-title {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
  text-align: center;
  margin-block: 2rem;
}
@media (min-width: 992px) {
  .modal-body-form-title {
    font-size: 2.25rem;
    margin-block: 3rem;
  }
}
.modal-body-form .field {
  --_color: var(--gray);
  text-align: center;
  text-transform: uppercase;
}
.modal-body-form .form-check {
  margin-top: auto;
  padding-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

.modal-picture,
.modal-video {
  --bs-modal-bg: transparent;
  --bs-modal-border-color: transparent;
  --bs-modal-border-width: 0;
  --bs-modal-border-radius: 1.25rem;
  --bs-modal-padding: 0;
}
.modal-picture .modal-body,
.modal-video .modal-body {
  min-height: initial;
}

.modal-picture {
  --bs-modal-width: auto;
}
.modal-picture .modal-content {
  width: var(--bs-modal-width);
  margin-inline: auto;
}
.modal-picture [data-iframe-picture] img {
  max-height: calc(100vh - 3rem);
  max-height: calc(100svh - 3rem);
  max-height: calc(100dvh - 3rem);
  display: block;
  border-radius: var(--bs-modal-border-radius);
}

@media (min-width: 992px) {
  .modal {
    --bs-modal-margin: 0rem;
    --bs-modal-box-shadow: unset;
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

.accordion {
  --bs-accordion-color: inherit;
  --bs-accordion-bg: var(--body-bg);
  --bs-accordion-border-color: var(--gray-300);
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: var(--rounded);
  --bs-accordion-inner-border-radius: var(--rounded);
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: .75rem;
  --bs-accordion-btn-fs: 1rem;
  --bs-accordion-btn-color: inherit;
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-btn-icon-width: 1rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform var(--transition-duration) var(--transition-timing-function);
  --bs-accordion-btn-focus-box-shadow: unset;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--gray-800);
  --bs-accordion-active-bg: transparent;
  font-size: 1rem;
}

.accordion-button {
  position: relative;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  font-size: var(--bs-accordion-btn-fs);
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  overflow-anchor: none;
  -webkit-transition-property: color, border, -webkit-box-shadow;
  transition-property: color, border, -webkit-box-shadow;
  transition-property: color, border, box-shadow;
  transition-property: color, border, box-shadow, -webkit-box-shadow;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  -webkit-box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button::after, .accordion-button::before {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: 0.0625rem;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  right: 0;
}
.accordion-button::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: var(--bs-accordion-btn-icon-transition);
  transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-left-radius: var(--bs-accordion-border-radius);
  border-bottom-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-left-radius: var(--bs-accordion-border-radius);
  border-bottom-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-left-radius: var(--bs-accordion-border-radius);
  border-bottom-right-radius: var(--bs-accordion-border-radius);
}

.accordion-collapse {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  padding: 0 var(--bs-accordion-body-padding-x);
  -webkit-transition-property: grid-template-rows, padding;
  transition-property: grid-template-rows, padding;
  transition-property: grid-template-rows, padding, -ms-grid-rows;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.accordion-collapse.show {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-body {
  overflow: hidden;
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}

/* ===============================
=            Choices            =
=============================== */
.choices {
  color: var(--gray-300);
  position: relative;
  overflow: hidden;
  margin-bottom: 0rem;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.choices:focus {
  outline: none;
}
.choices:last-child {
  margin-bottom: 0;
}
.choices.is-open {
  color: var(--gray-800);
  overflow: visible;
}
.choices.is-disabled .choices__inner,
.choices.is-disabled .choices__input {
  background-color: #eaeaea;
  cursor: not-allowed;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.choices.is-disabled .choices__item {
  cursor: not-allowed;
}
.choices [hidden] {
  display: none !important;
}

.choices[data-type*=select-one] {
  cursor: pointer;
}
.choices[data-type*=select-one] .choices__input {
  display: block;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  margin: 0;
}
.choices[data-type*=select-one] .choices__button {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==");
  padding: 0;
  background-size: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  margin-right: 25px;
  height: 20px;
  width: 20px;
  border-radius: 10em;
  opacity: 0.25;
}
.choices[data-type*=select-one] .choices__button:hover, .choices[data-type*=select-one] .choices__button:focus {
  opacity: 1;
}
.choices[data-type*=select-one] .choices__button:focus {
  -webkit-box-shadow: 0 0 0 2px #005F75;
  box-shadow: 0 0 0 2px #005F75;
}
.choices[data-type*=select-one] .choices__item[data-placeholder] .choices__button {
  display: none;
}
.choices[data-type*=select-one].is-open .choices__item-icon {
  -webkit-transform: translateY(-50%) rotateX(180deg);
  transform: translateY(-50%) rotateX(180deg);
}
.choices[data-type*=select-one][dir=rtl] .choices__button {
  right: auto;
  left: 0;
  margin-left: 25px;
  margin-right: 0;
}

.choices[data-type*=select-multiple] .choices__inner,
.choices[data-type*=text] .choices__inner {
  cursor: text;
}
.choices[data-type*=select-multiple] .choices__button,
.choices[data-type*=text] .choices__button {
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-right: -4px;
  margin-bottom: 0;
  margin-left: 8px;
  padding-left: 16px;
  border-left: 1px solid rgb(0, 53.5897435897, 66);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==");
  background-size: 8px;
  width: 8px;
  line-height: 1;
  opacity: 0.75;
  border-radius: 0;
}
.choices[data-type*=select-multiple] .choices__button:hover, .choices[data-type*=select-multiple] .choices__button:focus,
.choices[data-type*=text] .choices__button:hover,
.choices[data-type*=text] .choices__button:focus {
  opacity: 1;
}

.choices__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 2.5rem;
  background-color: transparent;
  padding: 0.625rem 1rem;
  border: 1px solid currentColor;
  border-radius: 1.5rem;
  overflow: hidden;
}
@media (min-width: 992px) {
  .choices__inner {
    height: 3.125rem;
    padding: 0.78125rem 1rem;
  }
}
.is-focused .choices__inner, .is-open .choices__inner {
  border-color: currentColor;
}
.is-open .choices__inner {
  border-radius: 1.5rem 1.5rem 0 0;
}
.is-flipped.is-open .choices__inner {
  border-radius: 0 0 1.5rem 1.5rem;
}

.choices__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.choices__list--single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 1.25rem 0 0;
  width: 100%;
}
[dir=rtl] .choices__list--single {
  padding-right: 4px;
  padding-left: 16px;
}
.choices__list--single .choices__item {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.choices__list--multiple {
  display: inline;
}
.choices__list--multiple .choices__item {
  display: inline-block;
  vertical-align: middle;
  border-radius: 20px;
  padding: 4px 10px;
  font-weight: 500;
  margin-right: 3.75px;
  margin-bottom: 3.75px;
  background-color: #005F75;
  border: 1px solid rgb(0, 74.2948717949, 91.5);
  color: #fff;
  word-break: break-all;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.choices__list--multiple .choices__item[data-deletable] {
  padding-right: 5px;
}
[dir=rtl] .choices__list--multiple .choices__item {
  margin-right: 0;
  margin-left: 3.75px;
}
.choices__list--multiple .choices__item.is-highlighted {
  background-color: rgb(0, 74.2948717949, 91.5);
  border: 1px solid rgb(0, 53.5897435897, 66);
}
.is-disabled .choices__list--multiple .choices__item {
  background-color: rgb(170.25, 170.25, 170.25);
  border: 1px solid rgb(144.75, 144.75, 144.75);
}

.choices__list--dropdown, .choices__list[aria-expanded] {
  display: none;
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: var(--body-bg);
  border: 1px solid currentColor;
  top: 100%;
  margin-top: -1px;
  border-bottom-left-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem;
  overflow: hidden;
  word-break: break-all;
}
.is-active.choices__list--dropdown, .is-active.choices__list[aria-expanded] {
  display: block;
}
.is-open .choices__list--dropdown, .is-open .choices__list[aria-expanded] {
  border-color: currentColor;
}
.is-flipped .choices__list--dropdown, .is-flipped .choices__list[aria-expanded] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: -1px;
  border-radius: 1.5rem 1.5rem 0 0;
}
.choices__list--dropdown .choices__list, .choices__list[aria-expanded] .choices__list {
  position: relative;
  max-height: 300px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}
.choices__list--dropdown .choices__item, .choices__list[aria-expanded] .choices__item {
  position: relative;
  padding: 0.5rem 1rem;
}
[dir=rtl] .choices__list--dropdown .choices__item, [dir=rtl] .choices__list[aria-expanded] .choices__item {
  text-align: right;
}
.choices__list--dropdown .choices__item.choices__placeholder, .choices__list[aria-expanded] .choices__item.choices__placeholder {
  display: none;
}
.choices__list--dropdown .choices__item--selectable, .choices__list[aria-expanded] .choices__item--selectable {
  color: var(--gray-300);
}
@media (min-width: 640px) {
  [dir=rtl] .choices__list--dropdown .choices__item--selectable[data-select-text], [dir=rtl] .choices__list[aria-expanded] .choices__item--selectable[data-select-text] {
    text-align: right;
    padding-right: 10px;
  }
}
.choices__list--dropdown .choices__item--selectable.is-highlighted, .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  color: var(--gray-800);
}

.choices__item {
  cursor: default;
}
.choices__item-icon {
  --_size: 1.25rem;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 992px) {
  .choices__item-icon {
    --_size: 1.5rem;
  }
}

.choices__item--selectable {
  cursor: pointer;
}

.choices__item--disabled {
  cursor: not-allowed;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  opacity: 0.5;
}

.choices__heading {
  font-weight: 600;
  padding: 10px;
  border-bottom: 1px solid rgb(246.5, 246.5, 246.5);
  color: rgb(127.5, 127.5, 127.5);
}

.choices__button {
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}
.choices__button:focus {
  outline: none;
}

.choices__input {
  display: inline-block;
  vertical-align: baseline;
  background-color: transparent;
  margin-bottom: 5px;
  border: 0;
  border-radius: 0;
  max-width: 100%;
  padding: 4px 0 4px 2px;
}
.choices__input:focus {
  outline: 0;
}
.choices__input::-webkit-search-decoration, .choices__input::-webkit-search-cancel-button, .choices__input::-webkit-search-results-button, .choices__input::-webkit-search-results-decoration {
  display: none;
}
.choices__input::-ms-clear, .choices__input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
[dir=rtl] .choices__input {
  padding-right: 2px;
  padding-left: 0;
}

/* =====  End of Choices  ====== */
[data-iframe-youtube] {
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--gray-800);
  border-radius: 1.25rem;
  aspect-ratio: 16/9;
}
[data-iframe-youtube] iframe {
  border-radius: inherit;
}

@media (max-width: 992px) {
  .contacts-nav .nav__item:first-child {
    display: none;
  }
}

.social {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
  color: var(--gray-200);
}
@media (min-width: 992px) {
  .social {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0;
  }
}
.social__link {
  --_color: inherit;
  --_icon-size: 2rem;
}

.logo {
  letter-spacing: 0.625em;
  text-transform: uppercase;
  pointer-events: auto;
}

.header {
  color: var(--gray);
  padding-block: var(--header-padding);
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
  -webkit-transition-property: background;
  transition-property: background;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.header-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 4rem;
  text-align: end;
}
.header-container .btn {
  --_color: inherit;
  pointer-events: auto;
}
.header-top {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.header-top, .header-top-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.header-top-main {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.header-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  margin-left: auto;
}
.header-nav {
  text-align: end;
}
.header-nav + .header-nav {
  margin-top: 2rem;
}
.header-nav + .contacts {
  margin-top: 4rem;
}
.header-nav .nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}
.header-nav .nav__list .btn {
  --_color: inherit;
  pointer-events: auto;
}
.header .logo,
.header .btn-back {
  display: none;
}
.header .btn-back {
  --_width: max-content;
  margin-left: auto;
}
.header:not(.header--card, .header--shop) .btn-cart {
  opacity: 0;
  pointer-events: none;
}
.header.is-sticky {
  background-color: var(--body-bg);
}
@media (max-width: 992px) {
  .header--shop {
    pointer-events: auto;
    background-color: var(--body-bg);
  }
}
.header--card .header-nav, .header--cart .header-nav {
  display: none;
}
.header--card .logo, .header--cart .logo {
  display: block;
}
.header--card .btn-back, .header--cart .btn-back {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
@media (min-width: 768px) {
  .header--card.is-sticky, .header--cart.is-sticky {
    background-color: transparent;
  }
}
@media (min-width: 768px) {
  .header--card .header-top {
    width: 50%;
    background-color: var(--body-bg);
    margin-left: auto;
    padding-left: 3rem;
  }
}
@media (min-width: 1200px) {
  .header--card .header-top {
    padding-left: 5rem;
  }
}

.hero {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  color: var(--gray-300);
}
.hero, .hero-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.hero-bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}
@media (min-width: 992px) {
  .hero-bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: initial;
  }
}
.hero-info, .hero-footer {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .hero-info, .hero-footer {
    width: 360px;
  }
}
@media (max-width: 992px) {
  .hero-info {
    text-align: center;
    position: absolute;
    left: 50%;
    top: calc(50% - 1rem);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}
.hero-info-title {
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--gray-200);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
@media (min-width: 992px) {
  .hero-info-title {
    font-size: 3.75rem;
    margin-bottom: unset;
    position: absolute;
    left: 50%;
    top: calc(50% - 1rem);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}
.hero-info-text {
  font-style: italic;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .hero-info-text {
    margin-bottom: 1.25rem;
  }
}
.hero-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 0.625rem;
}
@media (min-width: 992px) {
  .hero-footer {
    font-size: 0.75rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
.hero-footer .btn-link {
  --_fs: .875rem;
  --_color: inherit;
}
@media (max-width: 992px) {
  .hero-footer .btn-link {
    display: none;
  }
}
@media (min-width: 992px) {
  .hero-footer .btn-link + .hero-footer-copy {
    margin-top: 0.75rem;
  }
}
.hero-footer-copy {
  text-align: center;
}
@media (min-width: 992px) {
  .hero-footer-copy {
    text-align: end;
  }
}

@media (max-width: 992px) {
  .about .section-header {
    margin-bottom: 1rem;
  }
}
.about-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.about-info-start {
  display: none;
}
@media (min-width: 992px) {
  .about-info-start {
    display: block;
    width: 45%;
  }
}
@media (min-width: 992px) {
  .about-info-end {
    width: 50%;
    margin-left: auto;
  }
}

.projects-card {
  --_width: 100%;
  --_height: 100%;
  --_fs: .75rem;
  --_ls: normal;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  gap: 0;
  text-align: start;
  text-transform: initial;
}
@media (hover: hover) {
  .projects-card:hover .projects-card-image {
    -webkit-filter: saturate(100%);
    filter: saturate(100%);
  }
}
.projects-card:is(:active, :focus-visible) {
  -webkit-filter: saturate(100%);
  filter: saturate(100%);
}
.projects-card-image {
  width: 100%;
  height: 12.5rem;
  display: block;
  border-radius: 1.25rem;
  background-color: var(--gray-300);
  -webkit-box-shadow: var(--shadow);
  box-shadow: var(--shadow);
  -o-object-fit: none;
  object-fit: none;
  -webkit-filter: saturate(0%);
  filter: saturate(0%);
  -webkit-transition-property: -webkit-filter;
  transition-property: -webkit-filter;
  transition-property: filter;
  transition-property: filter, -webkit-filter;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
@media (min-width: 992px) {
  .projects-card-image {
    height: 15.625rem;
  }
}
.projects-card-title {
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: inherit;
  color: currentColor;
  margin-top: 0.5rem;
}
.projects-card-descr {
  min-height: 1.1675em;
  color: currentColor;
  margin-top: 0.125rem;
}

.modeling-card {
  --_width: 100%;
  --_height: 100%;
  --_rounded: 1.25rem;
}
.modeling-card * {
  width: 100%;
  border-radius: inherit;
}
.modeling-card-image {
  height: 15rem;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-box-shadow: var(--shadow);
  box-shadow: var(--shadow);
}
@media (min-width: 992px) {
  .modeling-card-image {
    height: 18.25rem;
  }
}

.events-card {
  --_width: 100%;
  --_height: 100%;
  --_ls: normal;
  --_bg: var(--gray-200);
  --_rounded: var(--rounded);
  --_padding: 2.25rem;
  --_bg-hover: var(--gray);
  --_bg-active: var(--gray);
  --_icon-size: 2.25rem;
  --_icon-color: var(--gray-200);
  min-height: 12.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  gap: 0;
  text-align: start;
  text-transform: initial;
  -webkit-box-shadow: var(--shadow);
  box-shadow: var(--shadow);
  position: relative;
}
@media (min-width: 992px) {
  .events-card {
    --_padding: 2.5rem;
    min-height: 15.625rem;
  }
}
.events-card-title {
  font-size: 1.75rem;
  font-weight: inherit;
  line-height: 1.25;
  letter-spacing: inherit;
  text-transform: uppercase;
}
.events-card-icon {
  background-color: var(--gray-400);
  border-radius: 50%;
  padding: 0.25rem;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
.events .swiper-filter {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.press .cards-swiper {
  margin-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .press .cards-swiper {
    margin-bottom: 2.875rem;
  }
}

.shop {
  padding-bottom: 0rem;
}
@media (max-width: 992px) {
  .shop {
    height: 100%;
    min-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
  }
}
@media (max-width: 992px) {
  .shop .main-swiper-slide-container {
    height: auto;
  }
}
.shop .section-header {
  margin-top: calc(var(--header-height) - var(--header-padding));
}
@media (min-width: 992px) {
  .shop .section-header {
    margin-block: 5rem 2rem;
  }
}
@media (min-width: 1200px) {
  .shop .section-header {
    margin-top: 4.75rem;
  }
}
@media (min-width: 1400px) {
  .shop .section-header {
    margin-top: 4.25rem;
  }
}
@media (max-width: 992px) {
  .shop .section-title {
    font-size: 5.75rem;
  }
}
.shop .section-subtitle {
  font-size: 0.9375rem;
  font-weight: 600;
}
@media (min-width: 1200px) {
  .shop .section-subtitle {
    font-size: 1.25rem;
  }
}
@media (min-width: 1400px) {
  .shop .section-subtitle {
    font-size: 1.5rem;
  }
}
.shop .swiper-filter {
  gap: 0.5rem;
  margin-block: -1rem;
  padding-block: 1rem;
  padding-inline: max(var(--container-offset), (100% - var(--content-width)) / 2);
  background-color: var(--body-bg);
  position: sticky;
  top: calc(var(--header-height, 6.25rem) - var(--header-padding));
  left: 0;
  z-index: 1020;
}
@media (min-width: 992px) {
  .shop .swiper-filter {
    gap: 0.75rem;
    position: static;
  }
}
.shop .swiper-filter .btn-check + .btn {
  --_fs: .75rem;
  --_color: var(--gray-400);
  --_color-hover: var(--gray-400);
  --_color-active: var(--gray-400);
}
@media (min-width: 992px) {
  .shop .swiper-filter .btn-check + .btn {
    --_fs: 1rem;
  }
}
.shop .swiper-filter .btn-check:checked + .btn {
  --_color: var(--gray-400);
  --_color-hover: var(--gray-400);
  --_color-active: var(--gray-400);
  text-shadow: 0.025em 0 currentColor, 0 0.025em currentColor, -0.025em 0 currentColor, 0 -0.025em currentColor;
}
.shop .swiper-filter + .swiper {
  margin-top: 2rem;
}
@media (min-width: 992px) {
  .shop .swiper-filter + .swiper {
    margin-top: 4rem;
  }
}
.shop-swiper {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.shop-swiper .swiper {
  width: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
@media (max-width: 992px) {
  .shop-swiper .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.75rem;
  }
}
@media (max-width: 992px) {
  .shop-swiper .swiper-slide > * {
    opacity: 1;
  }
}
.shop-card {
  height: 100%;
  color: var(--light);
  position: relative;
}
@media (max-width: 992px) {
  .shop-card {
    aspect-ratio: 3/4;
  }
}
@media (hover: hover) {
  .shop-card .stretched-link:hover ~ .shop-card-bg::after {
    opacity: 0;
  }
  .shop-card .stretched-link:hover ~ .shop-card-info {
    opacity: 1;
  }
}
.shop-card-bg::after, .shop-card-info {
  background-color: rgba(var(--gray-800-rgb), 0.5);
  position: absolute;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--transition-duration);
  transition-duration: var(--transition-duration);
  -webkit-transition-timing-function: var(--transition-timing-function);
  transition-timing-function: var(--transition-timing-function);
}
.shop-card-bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  inset: 0;
}
.shop-card-bg::after {
  content: "";
  display: block;
  pointer-events: none;
  inset: 0;
  opacity: 0;
}
@media (hover: hover) {
  .shop-card-bg::after {
    opacity: 1;
  }
}
.shop-card-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (min-width: 992px) {
  .shop-card-info {
    padding: 1.5rem 3rem;
  }
}
@media (hover: hover) {
  .shop-card-info {
    opacity: 0;
  }
}
.shop-card-info-end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  text-align: end;
}
.shop-card-title {
  font-size: 1.25rem;
  letter-spacing: normal;
}
@media (min-width: 992px) {
  .shop-card-title {
    font-size: 1.5rem;
  }
}
.shop-card-colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
}
@media (min-width: 992px) {
  .shop-card-colors {
    gap: 0.5rem;
  }
}
.shop-card-color {
  --_size: .75rem;
  --_color: #000;
  display: inline-block;
  width: var(--_size);
  height: var(--_size);
  background-color: var(--_color);
  border-radius: 50%;
}
@media (min-width: 992px) {
  .shop-card-color {
    --_size: 1rem;
  }
}

.product {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media (min-width: 768px) {
  .product {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .product-start, .product-end {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
}
.product-start {
  position: relative;
}
.product-start .main-swiper-slide-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}
@media (min-width: 768px) {
  .product-start .main-swiper-slide-hint {
    width: 50%;
    color: var(--gray-800);
    position: fixed;
    left: 0;
    bottom: 2.5rem;
    -webkit-transform: initial;
    -ms-transform: initial;
    transform: initial;
  }
}
.product-end {
  position: relative;
  padding-inline: max(var(--container-offset), (100% - var(--content-width)) / 2);
}
@media (min-width: 768px) {
  .product-end {
    padding-left: 3rem;
  }
}
@media (min-width: 1200px) {
  .product-end {
    padding-left: 5rem;
  }
}
.product-info {
  width: 100%;
  color: var(--gray);
  padding-block: 3rem;
}
@media (min-width: 768px) {
  .product-info {
    max-width: 20rem;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    padding-block: var(--header-height) 2rem;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .product-info-inner {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
  }
  .product-info-inner::-webkit-scrollbar {
    display: none;
  }
}
.product-header {
  margin-bottom: 5rem;
}
@media (min-width: 992px) {
  .product-header {
    margin-bottom: 6.25rem;
  }
}
.product-title, .product-price {
  font-size: 2rem;
}
@media (min-width: 992px) {
  .product-title, .product-price {
    font-size: 2.5rem;
  }
}
.product-title {
  letter-spacing: normal;
  text-transform: uppercase;
}
.product-price {
  font-weight: 600;
}
.product-price-sale {
  color: var(--gray-250);
  text-decoration: line-through;
}
.product-sizes, .product-colors {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .product-sizes, .product-colors {
    margin-bottom: 1.5rem;
  }
}
.product-sizes .btn-check + .btn {
  --_color: inherit;
}
.product-sizes .btn-check:checked + .btn {
  --_color: var(--gray-800) ;
}
.product-colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem;
}
@media (min-width: 992px) {
  .product-colors {
    gap: 0.5rem;
  }
}
.product-colors .btn-check + .btn {
  --_width: 1.5rem;
  --_height: 1.5rem;
  --_border-width: 2px;
  --_rounded: 50%;
  --_border-color-hover: var(--gray);
  --_border-color-active: var(--gray);
}
@media (min-width: 992px) {
  .product-colors .btn-check + .btn {
    --_width: 1.75rem;
    --_height: 1.75rem;
  }
}
.product-colors .btn-check:checked + .btn {
  --_border-color: var(--gray);
}
.product-color {
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--_color);
  border-radius: 50%;
}
.product-buttons:not(:first-child) {
  margin-top: 2.5rem;
}
.product-footer {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .product-swiper .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.product-swiper-image {
  height: 70vh;
  display: block;
}
@media (min-width: 768px) {
  .product-swiper-image {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
  }
}

.cart {
  max-width: 768px;
  color: var(--gray);
  margin-inline: auto;
  padding-inline: var(--container-offset);
  padding-block: calc(var(--header-height) + 2.5rem) 2.5rem;
}
@media (min-width: 992px) {
  .cart {
    padding-block: var(--header-height) 7.5rem;
  }
}
.cart-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
  text-transform: uppercase;
}
@media (min-width: 576px) {
  .cart-header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 1.5rem;
  }
}
@media (min-width: 992px) {
  .cart-header {
    gap: 4rem;
  }
}
.cart-header:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .cart-header:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.cart-header-picture {
  max-width: 5rem;
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media (min-width: 576px) {
  .cart-header-picture {
    max-width: initial;
  }
}
.cart-header-image {
  display: block;
  border: 1px solid var(--gray);
  -o-object-fit: contain;
  object-fit: contain;
}
@media (min-width: 576px) {
  .cart-header-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.cart-header-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
@media (min-width: 576px) {
  .cart-header-detail {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.cart-header-detail h3,
.cart-header-detail h4 {
  letter-spacing: normal;
}
.cart-header-detail h3 {
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .cart-header-detail h3 {
    font-size: 1.5rem;
  }
}
.cart-header-detail .shop-card-color {
  margin-left: 0.75rem;
}
@media (min-width: 992px) {
  .cart-header-detail .shop-card-color {
    margin-left: 1rem;
  }
}
.cart-header-parameters, .cart-header-prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.25rem;
}
.cart-header-parameters > li, .cart-header-prices > li {
  min-height: 1.25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (min-width: 576px) {
  .cart-header-prices {
    text-align: end;
  }
}
@media (min-width: 576px) {
  .cart-header-prices > li {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.order-info {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-grid-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
  gap: 0.25rem 1.25rem;
  font-size: 0.875rem;
  text-transform: uppercase;
  margin-bottom: 3rem;
}
@media (min-width: 576px) {
  .order-info {
    -ms-grid-columns: (-webkit-max-content)[3];
    -ms-grid-columns: (max-content)[3];
    grid-template-columns: repeat(3, -webkit-max-content);
    grid-template-columns: repeat(3, max-content);
  }
}
@media (min-width: 992px) {
  .order-info {
    margin-bottom: 7rem;
  }
}
.order-info-title {
  grid-column: -1/1;
  font-size: 1.25rem;
}

.alert-page {
  color: var(--gray);
  text-align: center;
  margin-top: calc(var(--header-height) + 1.5rem);
}
.alert-page .hero-footer {
  position: absolute;
  right: max(var(--container-offset), (100% - var(--content-width)) / 2);
  bottom: var(--header-padding);
  z-index: 1;
}
.alert-page .hero-footer, .alert-page .hero-footer-copy {
  text-align: right;
}
.alert-page-content {
  max-width: 30rem;
  margin-inline: auto;
}
@media (min-width: 992px) {
  .alert-page-content {
    max-width: 35rem;
  }
}
.alert-page-info {
  min-height: 5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .alert-page-info {
    margin-bottom: 3rem;
  }
}
.alert-page-title {
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  .alert-page-title {
    margin-bottom: 2.5rem;
  }
}
.alert-page-text {
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .alert-page-text {
    margin-bottom: 2rem;
  }
}
.alert-page-btn {
  --_width: 100%;
}
@media (min-width: 992px) {
  .alert-page-btn {
    --_width: calc(100% - 3rem);
    margin-inline: 1.5rem;
  }
}

.policy {
  padding-top: calc(var(--header-height) + 1.5rem);
  padding-bottom: var(--header-padding);
}
.policy-title,
.policy h3 {
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
}
.policy-title {
  text-align: center;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .policy-title {
    margin-bottom: 2.5rem;
  }
}
.policy-content {
  max-width: 50rem;
  max-height: calc(100vh - var(--header-height) - var(--header-padding) - 8rem);
  max-height: calc(100svh - var(--header-height) - var(--header-padding) - 8rem);
  max-height: calc(100dvh - var(--header-height) - var(--header-padding) - 8rem);
  margin-inline: auto;
  padding-right: 1rem;
  font-size: 1rem;
  overflow-y: auto;
  overflow-x: hidden;
}
@media (min-width: 992px) {
  .policy-content {
    max-height: calc(100vh - var(--header-height) - var(--header-padding) - 12rem);
    max-height: calc(100svh - var(--header-height) - var(--header-padding) - 12rem);
    max-height: calc(100dvh - var(--header-height) - var(--header-padding) - 12rem);
  }
}
.policy h3 {
  font-size: inherit;
  margin-bottom: 0.25rem;
}
.policy h3:not(:first-child) {
  margin-top: 1.5rem;
}
.policy p {
  margin-top: 0.25rem;
  text-align: justify;
}
.policy .hero-footer {
  position: absolute;
  right: max(var(--container-offset), (100% - var(--content-width)) / 2);
  bottom: var(--header-padding);
  z-index: 1;
}
.policy .hero-footer, .policy .hero-footer-copy {
  text-align: right;
}

::-webkit-scrollbar {
  width: 0.125rem;
  height: 0.125rem;
}

::-webkit-scrollbar-track {
  background-color: rgba(var(--gray-250-rgb), 0.8);
  border-radius: 0.5rem;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(var(--gray-rgb), 0.5);
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--gray-800);
}