@charset "UTF-8";
/*EDITABLE PART START*/
/*Accent*/
/*EDITABLE PART END*/
:root {
  --s3d-header: calc(var(--space-4) + 42px);
  --filter-offset-hor: var(--space-4);
  --filter-width: min(550px, 100vw);
  --mobile-controller-height: calc(var(--space-2) + 40px);
  --filter-height-top-closed: 200px;
}

@media screen and (max-width: 1024px) {
  :root {
    --filter-height-top-closed: 120px;
  }
}
@media screen and (max-width: 1366px) and (min-width: 1024px) {
  .desktop {
    --filter-width: min(464px, 100vw);
  }
}

.tablet {
  --filter-width: 375px;
  --s3d-header: calc(var(--space-4) + 42px);
}

.mobile {
  --s3d-header: calc(var(--space-2) + 42px);
}

/*OLD variables, dont use it in new version*/
:root {
  --icon16: 16px;
  --icon24: 24px;
  --font12: 12px;
  --font13: 13px;
  --font14: 14px;
  --font20: 20px;
  --font24: 24px;
  --font32: 32px;
  --s3d-title: 28px;
  --s3d-header: 60px;
  --offset: 12px;
  --controller-w: 198px;
  --controller-h: 203px;
  --controller-btn: 28px;
  --controller-padding: 20px;
  --table-row-height: 50px;
  --link-fz-flat: 19px;
  --info-offset-buttom: 20px;
  --filter-width: 520px;
  --filter-offset-hor: 50px;
  --filter-offset-ver: 50px;
  --size-btn-circle: 60px;
  --menu-h: 82px;
  --btn: 36px;
  --smarto-logo-w: 56px;
  --smarto-logo-h: 60px;
  --flyby-flats-count-bg: yellow;
  --flyby-flats-count-color: blue;
  --not-found-color: #f1b16129;
}

.tablet.landscape,
.tablet.portrait {
  --s3d-header: calc(var(--space-4) + 42px);
}
.tablet.landscape [data-type=floor],
.tablet.landscape [data-type=flat],
.tablet.portrait [data-type=floor],
.tablet.portrait [data-type=flat] {
  --controller-w: 100%;
}

@media screen and (max-width: 1440px) {
  :root {
    --table-row-height: 44px;
    --filter-width: 520px;
    --filter-offset-hor: 30px;
  }
}
@media screen and (max-width: 1280px) {
  :root {
    --offset-controller-hor: 25px;
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --controller-w: 100%;
    --controller-h: 76px;
    --controller-btn: 40px;
    --filter-width: 70%;
    --menu-h: 78px;
    --smarto-logo-w: 36px;
    --smarto-logo-h: 40px;
  }
}
@media screen and (max-width: 680px) {
  :root {
    --s3d-title: 18px;
    --s3d-header: 50px;
    --controller-w: 100%;
    --controller-h: 60px;
    --filter-width: 100%;
    --filter-offset-hor: 20px;
    --filter-offset-ver: 30px;
    --size-btn-circle: 36px;
    --menu-h: 58px;
  }
}
.mobile.landscape {
  --controller-h: 36px;
  --s3d-header: 40px;
  --s3d-title: 18px;
  --btn: 30px;
}

@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "Inter Display";
  font-display: swap;
  src: url("../../fonts/Inter/Inter-ExtraLight.ttf") format("truetype");
  font-style: normal;
  font-weight: 200;
}
.text-style-3-d-fonts-1920-h-1 {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-h-2-regular {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-h-2-semi-bold {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-h-2-bold {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-body-bold {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-body-medium {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-body-regular {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-super-tiny {
  font-size: 10px;
  font-family: "Inter Display", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 100%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1920-semi-tiny {
  font-size: 14px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-1360-h-1 {
  font-size: 48px;
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  line-height: 100%;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.text-style-3-d-fonts-1360-h-2 {
  font-size: 32px;
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.text-style-3-d-fonts-1360-h-3 {
  font-size: 24px;
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: uppercase;
}

.text-style-3-d-fonts-1360-h-4 {
  font-size: 16px;
  font-family: Inter;
  font-weight: 500;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-360-h-1 {
  font-size: 32px;
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  line-height: 100%;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.text-style-3-d-fonts-360-h-2 {
  font-size: 28px;
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.text-style-3-d-fonts-360-h-3 {
  font-size: 22px;
  font-family: Inter;
  font-weight: 500;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

.text-style-3-d-fonts-360-h-4 {
  font-size: 16px;
  font-family: Inter;
  font-weight: 500;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none !important;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-uppercase-important {
  text-transform: uppercase !important;
}
.text-uppercase-important span {
  text-transform: uppercase !important;
}

/**
Ion.RangeSlider, 2.3.1
© Denis Ineshin, 2010 - 2019, IonDen.com
Build date: 2019-12-19 16:51:02
*/
.irs {
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 12px;
  font-family: Arial, sans-serif;
}

.irs-line {
  position: relative;
  display: block;
  overflow: hidden;
  outline: none !important;
}

.irs-bar {
  position: absolute;
  display: block;
  left: 0;
  width: 0;
}

.irs-shadow {
  position: absolute;
  display: none;
  left: 0;
  width: 0;
}

.irs-handle {
  position: absolute;
  display: block;
  box-sizing: border-box;
  cursor: default;
  z-index: 1;
}

.irs-handle.type_last {
  z-index: 2;
}

.irs-min,
.irs-max {
  position: absolute;
  display: block;
  cursor: default;
}

.irs-min {
  left: 0;
}

.irs-max {
  right: 0;
}

.irs-from,
.irs-to,
.irs-single {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap;
}

.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
}

.irs-with-grid .irs-grid {
  display: block;
}

.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000;
}

.irs-grid-pol.small {
  height: 4px;
}

.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  padding: 0 3px;
  color: #000;
}

.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: -1%;
  width: 102%;
  height: 100%;
  cursor: default;
  background: rgba(0, 0, 0, 0);
  z-index: 2;
}

.lt-ie9 .irs-disable-mask {
  background: #000;
  filter: alpha(opacity=0);
  cursor: not-allowed;
}

.irs-disabled {
  opacity: 0.4;
}

.irs-hidden-input {
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  outline: none !important;
  z-index: -9999 !important;
  background: none !important;
  border-style: solid !important;
  border-color: transparent !important;
}

.irs--flat {
  height: 40px;
}

.irs--flat.irs-with-grid {
  height: 60px;
}

.irs--flat .irs-line {
  top: 25px;
  height: 12px;
  background-color: #e1e4e9;
  border-radius: 4px;
}

.irs--flat .irs-bar {
  top: 25px;
  height: 12px;
  background-color: #ed5565;
}

.irs--flat .irs-bar--single {
  border-radius: 4px 0 0 4px;
}

.irs--flat .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: #e1e4e9;
}

.irs--flat .irs-handle {
  top: 22px;
  width: 16px;
  height: 18px;
  background-color: transparent;
}

.irs--flat .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  background-color: #da4453;
}

.irs--flat .irs-handle.state_hover > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  background-color: #a43540;
}

.irs--flat .irs-min,
.irs--flat .irs-max {
  top: 0;
  padding: 1px 3px;
  color: #999;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  background-color: #e1e4e9;
  border-radius: 4px;
}

.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
  color: white;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #ed5565;
  border-radius: 4px;
}

.irs--flat .irs-from:before,
.irs--flat .irs-to:before,
.irs--flat .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #ed5565;
}

.irs--flat .irs-grid-pol {
  background-color: #e1e4e9;
}

.irs--flat .irs-grid-text {
  color: #999;
}

.irs--big {
  height: 55px;
}

.irs--big.irs-with-grid {
  height: 70px;
}

.irs--big .irs-line {
  top: 33px;
  height: 12px;
  background-color: white;
  background: linear-gradient(to bottom, #ddd -50%, white 150%);
  border: 1px solid #ccc;
  border-radius: 12px;
}

.irs--big .irs-bar {
  top: 33px;
  height: 12px;
  background-color: #92bce0;
  border: 1px solid #428bca;
  background: linear-gradient(to bottom, #ffffff 0%, #428bca 30%, #b9d4ec 100%);
  box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.5);
}

.irs--big .irs-bar--single {
  border-radius: 12px 0 0 12px;
}

.irs--big .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: rgba(66, 139, 202, 0.5);
}

.irs--big .irs-handle {
  top: 25px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-color: #cbcfd5;
  background: linear-gradient(to bottom, white 0%, #B4B9BE 30%, white 100%);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2), inset 0 0 3px 1px white;
  border-radius: 30px;
}

.irs--big .irs-handle.state_hover,
.irs--big .irs-handle:hover {
  border-color: rgba(0, 0, 0, 0.45);
  background-color: #939ba7;
  background: linear-gradient(to bottom, white 0%, #919BA5 30%, white 100%);
}

.irs--big .irs-min,
.irs--big .irs-max {
  top: 0;
  padding: 1px 5px;
  color: white;
  text-shadow: none;
  background-color: #9f9f9f;
  border-radius: 3px;
}

.irs--big .irs-from,
.irs--big .irs-to,
.irs--big .irs-single {
  color: white;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #428bca;
  background: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
  border-radius: 3px;
}

.irs--big .irs-grid-pol {
  background-color: #428bca;
}

.irs--big .irs-grid-text {
  color: #428bca;
}

.irs--modern {
  height: 55px;
}

.irs--modern.irs-with-grid {
  height: 55px;
}

.irs--modern .irs-line {
  top: 25px;
  height: 5px;
  background-color: #d1d6e0;
  background: linear-gradient(to bottom, #e0e4ea 0%, #d1d6e0 100%);
  border: 1px solid #a3adc1;
  border-bottom-width: 0;
  border-radius: 5px;
}

.irs--modern .irs-bar {
  top: 25px;
  height: 5px;
  background: #20b426;
  background: linear-gradient(to bottom, #20b426 0%, #18891d 100%);
}

.irs--modern .irs-bar--single {
  border-radius: 5px 0 0 5px;
}

.irs--modern .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(209, 214, 224, 0.5);
}

.irs--modern .irs-handle {
  top: 37px;
  width: 12px;
  height: 13px;
  border: 1px solid #a3adc1;
  border-top-width: 0;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}

.irs--modern .irs-handle > i:nth-child(1) {
  position: absolute;
  display: block;
  top: -4px;
  left: 1px;
  width: 6px;
  height: 6px;
  border: 1px solid #a3adc1;
  background: white;
  transform: rotate(45deg);
}

.irs--modern .irs-handle > i:nth-child(2) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 10px;
  height: 12px;
  background: #e9e6e6;
  background: linear-gradient(to bottom, white 0%, #e9e6e6 100%);
  border-radius: 0 0 3px 3px;
}

.irs--modern .irs-handle > i:nth-child(3) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 5px;
  border-left: 1px solid #a3adc1;
  border-right: 1px solid #a3adc1;
}

.irs--modern .irs-handle.state_hover,
.irs--modern .irs-handle:hover {
  border-color: #7685a2;
  background: #c3c7cd;
  background: linear-gradient(to bottom, #ffffff 0%, #919ba5 30%, #ffffff 100%);
}

.irs--modern .irs-handle.state_hover > i:nth-child(1),
.irs--modern .irs-handle:hover > i:nth-child(1) {
  border-color: #7685a2;
}

.irs--modern .irs-handle.state_hover > i:nth-child(3),
.irs--modern .irs-handle:hover > i:nth-child(3) {
  border-color: #48536a;
}

.irs--modern .irs-min,
.irs--modern .irs-max {
  top: 0;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  color: white;
  background-color: #d1d6e0;
  border-radius: 5px;
}

.irs--modern .irs-from,
.irs--modern .irs-to,
.irs--modern .irs-single {
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #20b426;
  color: white;
  border-radius: 5px;
}

.irs--modern .irs-from:before,
.irs--modern .irs-to:before,
.irs--modern .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #20b426;
}

.irs--modern .irs-grid {
  height: 25px;
}

.irs--modern .irs-grid-pol {
  background-color: #dedede;
}

.irs--modern .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--sharp {
  height: 50px;
  font-size: 12px;
  line-height: 1;
}

.irs--sharp.irs-with-grid {
  height: 57px;
}

.irs--sharp .irs-line {
  top: 30px;
  height: 2px;
  background-color: black;
  border-radius: 2px;
}

.irs--sharp .irs-bar {
  top: 30px;
  height: 2px;
  background-color: #ee22fa;
}

.irs--sharp .irs-bar--single {
  border-radius: 2px 0 0 2px;
}

.irs--sharp .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(0, 0, 0, 0.5);
}

.irs--sharp .irs-handle {
  top: 25px;
  width: 10px;
  height: 10px;
  background-color: #a804b2;
}

.irs--sharp .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 100%;
  left: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #a804b2;
}

.irs--sharp .irs-handle.state_hover,
.irs--sharp .irs-handle:hover {
  background-color: black;
}

.irs--sharp .irs-handle.state_hover > i:first-child,
.irs--sharp .irs-handle:hover > i:first-child {
  border-top-color: black;
}

.irs--sharp .irs-min,
.irs--sharp .irs-max {
  color: white;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 4px;
  opacity: 0.4;
  background-color: #a804b2;
  border-radius: 2px;
}

.irs--sharp .irs-from,
.irs--sharp .irs-to,
.irs--sharp .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 4px;
  background-color: #a804b2;
  color: white;
  border-radius: 2px;
}

.irs--sharp .irs-from:before,
.irs--sharp .irs-to:before,
.irs--sharp .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #a804b2;
}

.irs--sharp .irs-grid {
  height: 25px;
}

.irs--sharp .irs-grid-pol {
  background-color: #dedede;
}

.irs--sharp .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--round {
  height: 50px;
}

.irs--round.irs-with-grid {
  height: 65px;
}

.irs--round .irs-line {
  top: 36px;
  height: 4px;
  background-color: #dee4ec;
  border-radius: 4px;
}

.irs--round .irs-bar {
  top: 36px;
  height: 4px;
  background-color: #006cfa;
}

.irs--round .irs-bar--single {
  border-radius: 4px 0 0 4px;
}

.irs--round .irs-shadow {
  height: 4px;
  bottom: 21px;
  background-color: rgba(222, 228, 236, 0.5);
}

.irs--round .irs-handle {
  top: 26px;
  width: 24px;
  height: 24px;
  border: 4px solid #006cfa;
  background-color: white;
  border-radius: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 255, 0.3);
}

.irs--round .irs-handle.state_hover,
.irs--round .irs-handle:hover {
  background-color: #f0f6ff;
}

.irs--round .irs-min,
.irs--round .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.irs--round .irs-from,
.irs--round .irs-to,
.irs--round .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: #006cfa;
  color: white;
  border-radius: 4px;
}

.irs--round .irs-from:before,
.irs--round .irs-to:before,
.irs--round .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #006cfa;
}

.irs--round .irs-grid {
  height: 25px;
}

.irs--round .irs-grid-pol {
  background-color: #dedede;
}

.irs--round .irs-grid-text {
  color: silver;
  font-size: 13px;
}

.irs--square {
  height: 50px;
}

.irs--square.irs-with-grid {
  height: 60px;
}

.irs--square .irs-line {
  top: 31px;
  height: 4px;
  background-color: #dedede;
}

.irs--square .irs-bar {
  top: 31px;
  height: 4px;
  background-color: black;
}

.irs--square .irs-shadow {
  height: 2px;
  bottom: 21px;
  background-color: #dedede;
}

.irs--square .irs-handle {
  top: 25px;
  width: 16px;
  height: 16px;
  border: 3px solid black;
  background-color: white;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.irs--square .irs-handle.state_hover,
.irs--square .irs-handle:hover {
  background-color: #f0f6ff;
}

.irs--square .irs-min,
.irs--square .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
}

.irs--square .irs-from,
.irs--square .irs-to,
.irs--square .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: black;
  color: white;
}

.irs--square .irs-grid {
  height: 25px;
}

.irs--square .irs-grid-pol {
  background-color: #dedede;
}

.irs--square .irs-grid-text {
  color: silver;
  font-size: 11px;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.tippy-box[data-animation=fade][data-state=hidden] {
  opacity: 0;
}

[data-tippy-root] {
  max-width: calc(100vw - 10px);
}

.tippy-box {
  position: relative;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  outline: 0;
  transition-property: transform, visibility, opacity;
}

.tippy-box[data-placement^=top] > .tippy-arrow {
  bottom: 0;
}

.tippy-box[data-placement^=top] > .tippy-arrow:before {
  bottom: -7px;
  left: 0;
  border-width: 8px 8px 0;
  border-top-color: initial;
  transform-origin: center top;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow {
  top: 0;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow:before {
  top: -7px;
  left: 0;
  border-width: 0 8px 8px;
  border-bottom-color: initial;
  transform-origin: center bottom;
}

.tippy-box[data-placement^=left] > .tippy-arrow {
  right: 0;
}

.tippy-box[data-placement^=left] > .tippy-arrow:before {
  border-width: 8px 0 8px 8px;
  border-left-color: initial;
  right: -7px;
  transform-origin: center left;
}

.tippy-box[data-placement^=right] > .tippy-arrow {
  left: 0;
}

.tippy-box[data-placement^=right] > .tippy-arrow:before {
  left: -7px;
  border-width: 8px 8px 8px 0;
  border-right-color: initial;
  transform-origin: center right;
}

.tippy-box[data-inertia][data-state=visible] {
  transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}

.tippy-arrow {
  width: 16px;
  height: 16px;
  color: #333;
}

.tippy-arrow:before {
  content: "";
  position: absolute;
  border-color: transparent;
  border-style: solid;
}

.tippy-content {
  position: relative;
  padding: 5px 9px;
  z-index: 1;
}

/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
: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;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 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;
  scroll-snap-stop: always;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/*!
 * Toastify js 1.12.0
 * https://github.com/apvarun/toastify-js
 * @license MIT licensed
 *
 * Copyright (C) 2018 Varun A P
 */
.toastify {
  padding: 12px 20px;
  color: #ffffff;
  display: inline-block;
  box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
  background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
  background: linear-gradient(135deg, #73a5ff, #5477f5);
  position: fixed;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  max-width: calc(50% - 20px);
  z-index: 2147483647;
}

.toastify.on {
  opacity: 1;
}

.toast-close {
  background: transparent;
  border: 0;
  color: white;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  opacity: 0.4;
  padding: 0 5px;
}

.toastify-right {
  right: 15px;
}

.toastify-left {
  left: 15px;
}

.toastify-top {
  top: -150px;
}

.toastify-bottom {
  bottom: -150px;
}

.toastify-rounded {
  border-radius: 25px;
}

.toastify-avatar {
  width: 1.5em;
  height: 1.5em;
  margin: -7px 5px;
  border-radius: 2px;
}

.toastify-center {
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  max-width: fit-content;
  max-width: -moz-fit-content;
}

@media only screen and (max-width: 360px) {
  .toastify-right, .toastify-left {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    max-width: fit-content;
  }
}
.driver-active .driver-overlay, .driver-active * {
  pointer-events: none;
}

.driver-active .driver-active-element, .driver-active .driver-active-element *, .driver-popover, .driver-popover * {
  pointer-events: auto;
}

@keyframes animate-fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.driver-fade .driver-overlay {
  animation: animate-fade-in 0.2s ease-in-out;
}

.driver-fade .driver-popover {
  animation: animate-fade-in 0.2s;
}

.driver-popover {
  all: unset;
  box-sizing: border-box;
  color: #2d2d2d;
  margin: 0;
  padding: 15px;
  border-radius: 5px;
  min-width: 250px;
  max-width: 300px;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
  z-index: 1000000000;
  position: fixed;
  top: 0;
  right: 0;
  background-color: #fff;
}

.driver-popover * {
  font-family: Helvetica Neue, Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif;
}

.driver-popover-title {
  font: 19px/normal sans-serif;
  font-weight: 700;
  display: block;
  position: relative;
  line-height: 1.5;
  zoom: 1;
  margin: 0;
}

.driver-popover-close-btn {
  all: unset;
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 28px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  color: #d2d2d2;
  z-index: 1;
  text-align: center;
  transition: color;
  transition-duration: 0.2s;
}

.driver-popover-close-btn:hover, .driver-popover-close-btn:focus {
  color: #2d2d2d;
}

.driver-popover-title[style*=block] + .driver-popover-description {
  margin-top: 5px;
}

.driver-popover-description {
  margin-bottom: 0;
  font: 14px/normal sans-serif;
  line-height: 1.5;
  font-weight: 400;
  zoom: 1;
}

.driver-popover-footer {
  margin-top: 15px;
  text-align: right;
  zoom: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.driver-popover-progress-text {
  font-size: 13px;
  font-weight: 400;
  color: #727272;
  zoom: 1;
}

.driver-popover-footer button {
  all: unset;
  display: inline-block;
  box-sizing: border-box;
  padding: 3px 7px;
  text-decoration: none;
  text-shadow: 1px 1px 0 #fff;
  background-color: #fff;
  color: #2d2d2d;
  font: 12px/normal sans-serif;
  cursor: pointer;
  outline: 0;
  zoom: 1;
  line-height: 1.3;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.driver-popover-footer .driver-popover-btn-disabled {
  opacity: 0.5;
  pointer-events: none;
}

:not(body):has(> .driver-active-element) {
  overflow: hidden !important;
}

.driver-no-interaction, .driver-no-interaction * {
  pointer-events: none !important;
}

.driver-popover-footer button:hover, .driver-popover-footer button:focus {
  background-color: #f7f7f7;
}

.driver-popover-navigation-btns {
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
}

.driver-popover-navigation-btns button + button {
  margin-left: 4px;
}

.driver-popover-arrow {
  content: "";
  position: absolute;
  border: 5px solid #fff;
}

.driver-popover-arrow-side-over {
  display: none;
}

.driver-popover-arrow-side-left {
  left: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-top-color: transparent;
}

.driver-popover-arrow-side-right {
  right: 100%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-top-color: transparent;
}

.driver-popover-arrow-side-top {
  top: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}

.driver-popover-arrow-side-bottom {
  bottom: 100%;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
}

.driver-popover-arrow-side-center {
  display: none;
}

.driver-popover-arrow-side-left.driver-popover-arrow-align-start, .driver-popover-arrow-side-right.driver-popover-arrow-align-start {
  top: 15px;
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-start, .driver-popover-arrow-side-bottom.driver-popover-arrow-align-start {
  left: 15px;
}

.driver-popover-arrow-align-end.driver-popover-arrow-side-left, .driver-popover-arrow-align-end.driver-popover-arrow-side-right {
  bottom: 15px;
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-end, .driver-popover-arrow-side-bottom.driver-popover-arrow-align-end {
  right: 15px;
}

.driver-popover-arrow-side-left.driver-popover-arrow-align-center, .driver-popover-arrow-side-right.driver-popover-arrow-align-center {
  top: 50%;
  margin-top: -5px;
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-center, .driver-popover-arrow-side-bottom.driver-popover-arrow-align-center {
  left: 50%;
  margin-left: -5px;
}

.driver-popover-arrow-none {
  display: none;
}

.iti {
  position: relative;
  display: inline-block;
}

.iti * {
  box-sizing: border-box;
}

.iti__hide {
  display: none;
}

.iti__v-hide {
  visibility: hidden;
}

.iti input.iti__tel-input, .iti input.iti__tel-input[type=tel], .iti input.iti__tel-input[type=text] {
  position: relative;
  z-index: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-right: 36px;
  margin-right: 0;
}

.iti__flag-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 1px;
}

.iti__selected-flag {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 6px 0 8px;
}

.iti__arrow {
  margin-left: 6px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid #555;
}

[dir=rtl] .iti__arrow {
  margin-right: 6px;
  margin-left: 0;
}

.iti__arrow--up {
  border-top: none;
  border-bottom: 4px solid #555;
}

.iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-left: -1px;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border: 1px solid #ccc;
  max-height: 200px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.iti__dropdown-content--dropup {
  bottom: 100%;
  margin-bottom: -1px;
}

.iti__search-input {
  width: 100%;
  border-width: 0;
}

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

.iti--flexible-dropdown-width .iti__country-list {
  white-space: nowrap;
}

@media (max-width: 500px) {
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: normal;
  }
}
.iti__flag-box {
  display: inline-block;
  width: 20px;
}

.iti__divider {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
}

.iti__country {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  outline: 0;
}

.iti__dial-code {
  color: #999;
}

.iti__country.iti__highlight {
  background-color: rgba(0, 0, 0, 0.05);
}

.iti__country-name, .iti__flag-box {
  margin-right: 6px;
}

[dir=rtl] .iti__country-name, [dir=rtl] .iti__flag-box {
  margin-right: 0;
  margin-left: 6px;
}

.iti--allow-dropdown input.iti__tel-input, .iti--allow-dropdown input.iti__tel-input[type=tel], .iti--allow-dropdown input.iti__tel-input[type=text], .iti--separate-dial-code input.iti__tel-input, .iti--separate-dial-code input.iti__tel-input[type=tel], .iti--separate-dial-code input.iti__tel-input[type=text] {
  padding-right: 6px;
  padding-left: 52px;
  margin-left: 0;
}

[dir=rtl] .iti--allow-dropdown input.iti__tel-input, [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=tel], [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=text], [dir=rtl] .iti--separate-dial-code input.iti__tel-input, [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=tel], [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=text] {
  padding-right: 52px;
  padding-left: 6px;
  margin-right: 0;
}

.iti--allow-dropdown .iti__flag-container, .iti--separate-dial-code .iti__flag-container {
  right: auto;
  left: 0;
}

[dir=rtl] .iti--allow-dropdown .iti__flag-container, [dir=rtl] .iti--separate-dial-code .iti__flag-container {
  right: 0;
  left: auto;
}

.iti--allow-dropdown .iti__flag-container:hover {
  cursor: pointer;
}

.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
  background-color: rgba(0, 0, 0, 0.05);
}

.iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover, .iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover {
  cursor: default;
}

.iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover .iti__selected-flag, .iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover .iti__selected-flag {
  background-color: transparent;
}

.iti--separate-dial-code .iti__selected-flag {
  background-color: rgba(0, 0, 0, 0.05);
}

.iti--separate-dial-code.iti--show-flags .iti__selected-dial-code {
  margin-left: 6px;
}

[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code {
  margin-left: 0;
  margin-right: 6px;
}

.iti--container {
  position: absolute;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: 1px;
}

.iti--container:hover {
  cursor: pointer;
}

.iti--fullscreen-popup.iti--container {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.iti--fullscreen-popup .iti__dropdown-content {
  max-height: 100%;
  position: relative;
}

.iti--fullscreen-popup .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  width: 20px;
}

.iti__flag.iti__be {
  width: 18px;
}

.iti__flag.iti__ch {
  width: 15px;
}

.iti__flag.iti__mc {
  width: 19px;
}

.iti__flag.iti__ne {
  width: 18px;
}

.iti__flag.iti__np {
  width: 13px;
}

.iti__flag.iti__va {
  width: 15px;
}

@media (min-resolution: 2x) {
  .iti__flag {
    background-size: 5762px 15px;
  }
}
.iti__flag.iti__ac {
  height: 10px;
  background-position: 0 0;
}

.iti__flag.iti__ad {
  height: 14px;
  background-position: -22px 0;
}

.iti__flag.iti__ae {
  height: 10px;
  background-position: -44px 0;
}

.iti__flag.iti__af {
  height: 14px;
  background-position: -66px 0;
}

.iti__flag.iti__ag {
  height: 14px;
  background-position: -88px 0;
}

.iti__flag.iti__ai {
  height: 10px;
  background-position: -110px 0;
}

.iti__flag.iti__al {
  height: 15px;
  background-position: -132px 0;
}

.iti__flag.iti__am {
  height: 10px;
  background-position: -154px 0;
}

.iti__flag.iti__ao {
  height: 14px;
  background-position: -176px 0;
}

.iti__flag.iti__aq {
  height: 14px;
  background-position: -198px 0;
}

.iti__flag.iti__ar {
  height: 13px;
  background-position: -220px 0;
}

.iti__flag.iti__as {
  height: 10px;
  background-position: -242px 0;
}

.iti__flag.iti__at {
  height: 14px;
  background-position: -264px 0;
}

.iti__flag.iti__au {
  height: 10px;
  background-position: -286px 0;
}

.iti__flag.iti__aw {
  height: 14px;
  background-position: -308px 0;
}

.iti__flag.iti__ax {
  height: 13px;
  background-position: -330px 0;
}

.iti__flag.iti__az {
  height: 10px;
  background-position: -352px 0;
}

.iti__flag.iti__ba {
  height: 10px;
  background-position: -374px 0;
}

.iti__flag.iti__bb {
  height: 14px;
  background-position: -396px 0;
}

.iti__flag.iti__bd {
  height: 12px;
  background-position: -418px 0;
}

.iti__flag.iti__be {
  height: 15px;
  background-position: -440px 0;
}

.iti__flag.iti__bf {
  height: 14px;
  background-position: -460px 0;
}

.iti__flag.iti__bg {
  height: 12px;
  background-position: -482px 0;
}

.iti__flag.iti__bh {
  height: 12px;
  background-position: -504px 0;
}

.iti__flag.iti__bi {
  height: 12px;
  background-position: -526px 0;
}

.iti__flag.iti__bj {
  height: 14px;
  background-position: -548px 0;
}

.iti__flag.iti__bl {
  height: 14px;
  background-position: -570px 0;
}

.iti__flag.iti__bm {
  height: 10px;
  background-position: -592px 0;
}

.iti__flag.iti__bn {
  height: 10px;
  background-position: -614px 0;
}

.iti__flag.iti__bo {
  height: 14px;
  background-position: -636px 0;
}

.iti__flag.iti__bq {
  height: 14px;
  background-position: -658px 0;
}

.iti__flag.iti__br {
  height: 14px;
  background-position: -680px 0;
}

.iti__flag.iti__bs {
  height: 10px;
  background-position: -702px 0;
}

.iti__flag.iti__bt {
  height: 14px;
  background-position: -724px 0;
}

.iti__flag.iti__bv {
  height: 15px;
  background-position: -746px 0;
}

.iti__flag.iti__bw {
  height: 14px;
  background-position: -768px 0;
}

.iti__flag.iti__by {
  height: 10px;
  background-position: -790px 0;
}

.iti__flag.iti__bz {
  height: 12px;
  background-position: -812px 0;
}

.iti__flag.iti__ca {
  height: 10px;
  background-position: -834px 0;
}

.iti__flag.iti__cc {
  height: 10px;
  background-position: -856px 0;
}

.iti__flag.iti__cd {
  height: 15px;
  background-position: -878px 0;
}

.iti__flag.iti__cf {
  height: 14px;
  background-position: -900px 0;
}

.iti__flag.iti__cg {
  height: 14px;
  background-position: -922px 0;
}

.iti__flag.iti__ch {
  height: 15px;
  background-position: -944px 0;
}

.iti__flag.iti__ci {
  height: 14px;
  background-position: -961px 0;
}

.iti__flag.iti__ck {
  height: 10px;
  background-position: -983px 0;
}

.iti__flag.iti__cl {
  height: 14px;
  background-position: -1005px 0;
}

.iti__flag.iti__cm {
  height: 14px;
  background-position: -1027px 0;
}

.iti__flag.iti__cn {
  height: 14px;
  background-position: -1049px 0;
}

.iti__flag.iti__co {
  height: 14px;
  background-position: -1071px 0;
}

.iti__flag.iti__cp {
  height: 14px;
  background-position: -1093px 0;
}

.iti__flag.iti__cq {
  height: 12px;
  background-position: -1115px 0;
}

.iti__flag.iti__cr {
  height: 12px;
  background-position: -1137px 0;
}

.iti__flag.iti__cu {
  height: 10px;
  background-position: -1159px 0;
}

.iti__flag.iti__cv {
  height: 12px;
  background-position: -1181px 0;
}

.iti__flag.iti__cw {
  height: 14px;
  background-position: -1203px 0;
}

.iti__flag.iti__cx {
  height: 10px;
  background-position: -1225px 0;
}

.iti__flag.iti__cy {
  height: 14px;
  background-position: -1247px 0;
}

.iti__flag.iti__cz {
  height: 14px;
  background-position: -1269px 0;
}

.iti__flag.iti__de {
  height: 12px;
  background-position: -1291px 0;
}

.iti__flag.iti__dg {
  height: 10px;
  background-position: -1313px 0;
}

.iti__flag.iti__dj {
  height: 14px;
  background-position: -1335px 0;
}

.iti__flag.iti__dk {
  height: 15px;
  background-position: -1357px 0;
}

.iti__flag.iti__dm {
  height: 10px;
  background-position: -1379px 0;
}

.iti__flag.iti__do {
  height: 14px;
  background-position: -1401px 0;
}

.iti__flag.iti__dz {
  height: 14px;
  background-position: -1423px 0;
}

.iti__flag.iti__ea {
  height: 14px;
  background-position: -1445px 0;
}

.iti__flag.iti__ec {
  height: 14px;
  background-position: -1467px 0;
}

.iti__flag.iti__ee {
  height: 13px;
  background-position: -1489px 0;
}

.iti__flag.iti__eg {
  height: 14px;
  background-position: -1511px 0;
}

.iti__flag.iti__eh {
  height: 10px;
  background-position: -1533px 0;
}

.iti__flag.iti__er {
  height: 10px;
  background-position: -1555px 0;
}

.iti__flag.iti__es {
  height: 14px;
  background-position: -1577px 0;
}

.iti__flag.iti__et {
  height: 10px;
  background-position: -1599px 0;
}

.iti__flag.iti__eu {
  height: 14px;
  background-position: -1621px 0;
}

.iti__flag.iti__ez {
  height: 14px;
  background-position: -1643px 0;
}

.iti__flag.iti__fi {
  height: 12px;
  background-position: -1665px 0;
}

.iti__flag.iti__fj {
  height: 10px;
  background-position: -1687px 0;
}

.iti__flag.iti__fk {
  height: 10px;
  background-position: -1709px 0;
}

.iti__flag.iti__fm {
  height: 11px;
  background-position: -1731px 0;
}

.iti__flag.iti__fo {
  height: 15px;
  background-position: -1753px 0;
}

.iti__flag.iti__fr {
  height: 14px;
  background-position: -1775px 0;
}

.iti__flag.iti__fx {
  height: 14px;
  background-position: -1797px 0;
}

.iti__flag.iti__ga {
  height: 15px;
  background-position: -1819px 0;
}

.iti__flag.iti__gb {
  height: 10px;
  background-position: -1841px 0;
}

.iti__flag.iti__gd {
  height: 12px;
  background-position: -1863px 0;
}

.iti__flag.iti__ge {
  height: 14px;
  background-position: -1885px 0;
}

.iti__flag.iti__gf {
  height: 14px;
  background-position: -1907px 0;
}

.iti__flag.iti__gg {
  height: 14px;
  background-position: -1929px 0;
}

.iti__flag.iti__gh {
  height: 14px;
  background-position: -1951px 0;
}

.iti__flag.iti__gi {
  height: 10px;
  background-position: -1973px 0;
}

.iti__flag.iti__gl {
  height: 14px;
  background-position: -1995px 0;
}

.iti__flag.iti__gm {
  height: 14px;
  background-position: -2017px 0;
}

.iti__flag.iti__gn {
  height: 14px;
  background-position: -2039px 0;
}

.iti__flag.iti__gp {
  height: 14px;
  background-position: -2061px 0;
}

.iti__flag.iti__gq {
  height: 14px;
  background-position: -2083px 0;
}

.iti__flag.iti__gr {
  height: 14px;
  background-position: -2105px 0;
}

.iti__flag.iti__gs {
  height: 10px;
  background-position: -2127px 0;
}

.iti__flag.iti__gt {
  height: 13px;
  background-position: -2149px 0;
}

.iti__flag.iti__gu {
  height: 11px;
  background-position: -2171px 0;
}

.iti__flag.iti__gw {
  height: 10px;
  background-position: -2193px 0;
}

.iti__flag.iti__gy {
  height: 12px;
  background-position: -2215px 0;
}

.iti__flag.iti__hk {
  height: 14px;
  background-position: -2237px 0;
}

.iti__flag.iti__hm {
  height: 10px;
  background-position: -2259px 0;
}

.iti__flag.iti__hn {
  height: 10px;
  background-position: -2281px 0;
}

.iti__flag.iti__hr {
  height: 10px;
  background-position: -2303px 0;
}

.iti__flag.iti__ht {
  height: 12px;
  background-position: -2325px 0;
}

.iti__flag.iti__hu {
  height: 10px;
  background-position: -2347px 0;
}

.iti__flag.iti__ic {
  height: 14px;
  background-position: -2369px 0;
}

.iti__flag.iti__id {
  height: 14px;
  background-position: -2391px 0;
}

.iti__flag.iti__ie {
  height: 10px;
  background-position: -2413px 0;
}

.iti__flag.iti__il {
  height: 15px;
  background-position: -2435px 0;
}

.iti__flag.iti__im {
  height: 10px;
  background-position: -2457px 0;
}

.iti__flag.iti__in {
  height: 14px;
  background-position: -2479px 0;
}

.iti__flag.iti__io {
  height: 10px;
  background-position: -2501px 0;
}

.iti__flag.iti__iq {
  height: 14px;
  background-position: -2523px 0;
}

.iti__flag.iti__ir {
  height: 12px;
  background-position: -2545px 0;
}

.iti__flag.iti__is {
  height: 15px;
  background-position: -2567px 0;
}

.iti__flag.iti__it {
  height: 14px;
  background-position: -2589px 0;
}

.iti__flag.iti__je {
  height: 12px;
  background-position: -2611px 0;
}

.iti__flag.iti__jm {
  height: 10px;
  background-position: -2633px 0;
}

.iti__flag.iti__jo {
  height: 10px;
  background-position: -2655px 0;
}

.iti__flag.iti__jp {
  height: 14px;
  background-position: -2677px 0;
}

.iti__flag.iti__ke {
  height: 14px;
  background-position: -2699px 0;
}

.iti__flag.iti__kg {
  height: 12px;
  background-position: -2721px 0;
}

.iti__flag.iti__kh {
  height: 13px;
  background-position: -2743px 0;
}

.iti__flag.iti__ki {
  height: 10px;
  background-position: -2765px 0;
}

.iti__flag.iti__km {
  height: 12px;
  background-position: -2787px 0;
}

.iti__flag.iti__kn {
  height: 14px;
  background-position: -2809px 0;
}

.iti__flag.iti__kp {
  height: 10px;
  background-position: -2831px 0;
}

.iti__flag.iti__kr {
  height: 14px;
  background-position: -2853px 0;
}

.iti__flag.iti__kw {
  height: 10px;
  background-position: -2875px 0;
}

.iti__flag.iti__ky {
  height: 10px;
  background-position: -2897px 0;
}

.iti__flag.iti__kz {
  height: 10px;
  background-position: -2919px 0;
}

.iti__flag.iti__la {
  height: 14px;
  background-position: -2941px 0;
}

.iti__flag.iti__lb {
  height: 14px;
  background-position: -2963px 0;
}

.iti__flag.iti__lc {
  height: 10px;
  background-position: -2985px 0;
}

.iti__flag.iti__li {
  height: 12px;
  background-position: -3007px 0;
}

.iti__flag.iti__lk {
  height: 10px;
  background-position: -3029px 0;
}

.iti__flag.iti__lr {
  height: 11px;
  background-position: -3051px 0;
}

.iti__flag.iti__ls {
  height: 14px;
  background-position: -3073px 0;
}

.iti__flag.iti__lt {
  height: 12px;
  background-position: -3095px 0;
}

.iti__flag.iti__lu {
  height: 12px;
  background-position: -3117px 0;
}

.iti__flag.iti__lv {
  height: 10px;
  background-position: -3139px 0;
}

.iti__flag.iti__ly {
  height: 10px;
  background-position: -3161px 0;
}

.iti__flag.iti__ma {
  height: 14px;
  background-position: -3183px 0;
}

.iti__flag.iti__mc {
  height: 15px;
  background-position: -3205px 0;
}

.iti__flag.iti__md {
  height: 10px;
  background-position: -3226px 0;
}

.iti__flag.iti__me {
  height: 10px;
  background-position: -3248px 0;
}

.iti__flag.iti__mf {
  height: 14px;
  background-position: -3270px 0;
}

.iti__flag.iti__mg {
  height: 14px;
  background-position: -3292px 0;
}

.iti__flag.iti__mh {
  height: 11px;
  background-position: -3314px 0;
}

.iti__flag.iti__mk {
  height: 10px;
  background-position: -3336px 0;
}

.iti__flag.iti__ml {
  height: 14px;
  background-position: -3358px 0;
}

.iti__flag.iti__mm {
  height: 14px;
  background-position: -3380px 0;
}

.iti__flag.iti__mn {
  height: 10px;
  background-position: -3402px 0;
}

.iti__flag.iti__mo {
  height: 14px;
  background-position: -3424px 0;
}

.iti__flag.iti__mp {
  height: 10px;
  background-position: -3446px 0;
}

.iti__flag.iti__mq {
  height: 14px;
  background-position: -3468px 0;
}

.iti__flag.iti__mr {
  height: 14px;
  background-position: -3490px 0;
}

.iti__flag.iti__ms {
  height: 10px;
  background-position: -3512px 0;
}

.iti__flag.iti__mt {
  height: 14px;
  background-position: -3534px 0;
}

.iti__flag.iti__mu {
  height: 14px;
  background-position: -3556px 0;
}

.iti__flag.iti__mv {
  height: 14px;
  background-position: -3578px 0;
}

.iti__flag.iti__mw {
  height: 14px;
  background-position: -3600px 0;
}

.iti__flag.iti__mx {
  height: 12px;
  background-position: -3622px 0;
}

.iti__flag.iti__my {
  height: 10px;
  background-position: -3644px 0;
}

.iti__flag.iti__mz {
  height: 14px;
  background-position: -3666px 0;
}

.iti__flag.iti__na {
  height: 14px;
  background-position: -3688px 0;
}

.iti__flag.iti__nc {
  height: 10px;
  background-position: -3710px 0;
}

.iti__flag.iti__ne {
  height: 15px;
  background-position: -3732px 0;
}

.iti__flag.iti__nf {
  height: 10px;
  background-position: -3752px 0;
}

.iti__flag.iti__ng {
  height: 10px;
  background-position: -3774px 0;
}

.iti__flag.iti__ni {
  height: 12px;
  background-position: -3796px 0;
}

.iti__flag.iti__nl {
  height: 14px;
  background-position: -3818px 0;
}

.iti__flag.iti__no {
  height: 15px;
  background-position: -3840px 0;
}

.iti__flag.iti__np {
  height: 15px;
  background-position: -3862px 0;
}

.iti__flag.iti__nr {
  height: 10px;
  background-position: -3877px 0;
}

.iti__flag.iti__nu {
  height: 10px;
  background-position: -3899px 0;
}

.iti__flag.iti__nz {
  height: 10px;
  background-position: -3921px 0;
}

.iti__flag.iti__om {
  height: 10px;
  background-position: -3943px 0;
}

.iti__flag.iti__pa {
  height: 14px;
  background-position: -3965px 0;
}

.iti__flag.iti__pe {
  height: 14px;
  background-position: -3987px 0;
}

.iti__flag.iti__pf {
  height: 14px;
  background-position: -4009px 0;
}

.iti__flag.iti__pg {
  height: 15px;
  background-position: -4031px 0;
}

.iti__flag.iti__ph {
  height: 10px;
  background-position: -4053px 0;
}

.iti__flag.iti__pk {
  height: 14px;
  background-position: -4075px 0;
}

.iti__flag.iti__pl {
  height: 13px;
  background-position: -4097px 0;
}

.iti__flag.iti__pm {
  height: 14px;
  background-position: -4119px 0;
}

.iti__flag.iti__pn {
  height: 10px;
  background-position: -4141px 0;
}

.iti__flag.iti__pr {
  height: 14px;
  background-position: -4163px 0;
}

.iti__flag.iti__ps {
  height: 10px;
  background-position: -4185px 0;
}

.iti__flag.iti__pt {
  height: 14px;
  background-position: -4207px 0;
}

.iti__flag.iti__pw {
  height: 13px;
  background-position: -4229px 0;
}

.iti__flag.iti__py {
  height: 11px;
  background-position: -4251px 0;
}

.iti__flag.iti__qa {
  height: 8px;
  background-position: -4273px 0;
}

.iti__flag.iti__re {
  height: 14px;
  background-position: -4295px 0;
}

.iti__flag.iti__ro {
  height: 14px;
  background-position: -4317px 0;
}

.iti__flag.iti__rs {
  height: 14px;
  background-position: -4339px 0;
}

.iti__flag.iti__ru {
  height: 14px;
  background-position: -4361px 0;
}

.iti__flag.iti__rw {
  height: 14px;
  background-position: -4383px 0;
}

.iti__flag.iti__sa {
  height: 14px;
  background-position: -4405px 0;
}

.iti__flag.iti__sb {
  height: 10px;
  background-position: -4427px 0;
}

.iti__flag.iti__sc {
  height: 10px;
  background-position: -4449px 0;
}

.iti__flag.iti__sd {
  height: 10px;
  background-position: -4471px 0;
}

.iti__flag.iti__se {
  height: 13px;
  background-position: -4493px 0;
}

.iti__flag.iti__sg {
  height: 14px;
  background-position: -4515px 0;
}

.iti__flag.iti__sh {
  height: 10px;
  background-position: -4537px 0;
}

.iti__flag.iti__si {
  height: 10px;
  background-position: -4559px 0;
}

.iti__flag.iti__sj {
  height: 15px;
  background-position: -4581px 0;
}

.iti__flag.iti__sk {
  height: 14px;
  background-position: -4603px 0;
}

.iti__flag.iti__sl {
  height: 14px;
  background-position: -4625px 0;
}

.iti__flag.iti__sm {
  height: 15px;
  background-position: -4647px 0;
}

.iti__flag.iti__sn {
  height: 14px;
  background-position: -4669px 0;
}

.iti__flag.iti__so {
  height: 14px;
  background-position: -4691px 0;
}

.iti__flag.iti__sr {
  height: 14px;
  background-position: -4713px 0;
}

.iti__flag.iti__ss {
  height: 10px;
  background-position: -4735px 0;
}

.iti__flag.iti__st {
  height: 10px;
  background-position: -4757px 0;
}

.iti__flag.iti__su {
  height: 10px;
  background-position: -4779px 0;
}

.iti__flag.iti__sv {
  height: 12px;
  background-position: -4801px 0;
}

.iti__flag.iti__sx {
  height: 14px;
  background-position: -4823px 0;
}

.iti__flag.iti__sy {
  height: 14px;
  background-position: -4845px 0;
}

.iti__flag.iti__sz {
  height: 14px;
  background-position: -4867px 0;
}

.iti__flag.iti__ta {
  height: 10px;
  background-position: -4889px 0;
}

.iti__flag.iti__tc {
  height: 10px;
  background-position: -4911px 0;
}

.iti__flag.iti__td {
  height: 14px;
  background-position: -4933px 0;
}

.iti__flag.iti__tf {
  height: 14px;
  background-position: -4955px 0;
}

.iti__flag.iti__tg {
  height: 13px;
  background-position: -4977px 0;
}

.iti__flag.iti__th {
  height: 14px;
  background-position: -4999px 0;
}

.iti__flag.iti__tj {
  height: 10px;
  background-position: -5021px 0;
}

.iti__flag.iti__tk {
  height: 10px;
  background-position: -5043px 0;
}

.iti__flag.iti__tl {
  height: 10px;
  background-position: -5065px 0;
}

.iti__flag.iti__tm {
  height: 14px;
  background-position: -5087px 0;
}

.iti__flag.iti__tn {
  height: 14px;
  background-position: -5109px 0;
}

.iti__flag.iti__to {
  height: 10px;
  background-position: -5131px 0;
}

.iti__flag.iti__tr {
  height: 14px;
  background-position: -5153px 0;
}

.iti__flag.iti__tt {
  height: 12px;
  background-position: -5175px 0;
}

.iti__flag.iti__tv {
  height: 10px;
  background-position: -5197px 0;
}

.iti__flag.iti__tw {
  height: 14px;
  background-position: -5219px 0;
}

.iti__flag.iti__tz {
  height: 14px;
  background-position: -5241px 0;
}

.iti__flag.iti__ua {
  height: 14px;
  background-position: -5263px 0;
}

.iti__flag.iti__ug {
  height: 14px;
  background-position: -5285px 0;
}

.iti__flag.iti__uk {
  height: 10px;
  background-position: -5307px 0;
}

.iti__flag.iti__um {
  height: 11px;
  background-position: -5329px 0;
}

.iti__flag.iti__un {
  height: 14px;
  background-position: -5351px 0;
}

.iti__flag.iti__us {
  height: 11px;
  background-position: -5373px 0;
}

.iti__flag.iti__uy {
  height: 14px;
  background-position: -5395px 0;
}

.iti__flag.iti__uz {
  height: 10px;
  background-position: -5417px 0;
}

.iti__flag.iti__va {
  height: 15px;
  background-position: -5439px 0;
}

.iti__flag.iti__vc {
  height: 14px;
  background-position: -5456px 0;
}

.iti__flag.iti__ve {
  height: 14px;
  background-position: -5478px 0;
}

.iti__flag.iti__vg {
  height: 10px;
  background-position: -5500px 0;
}

.iti__flag.iti__vi {
  height: 14px;
  background-position: -5522px 0;
}

.iti__flag.iti__vn {
  height: 14px;
  background-position: -5544px 0;
}

.iti__flag.iti__vu {
  height: 12px;
  background-position: -5566px 0;
}

.iti__flag.iti__wf {
  height: 14px;
  background-position: -5588px 0;
}

.iti__flag.iti__ws {
  height: 10px;
  background-position: -5610px 0;
}

.iti__flag.iti__xk {
  height: 15px;
  background-position: -5632px 0;
}

.iti__flag.iti__ye {
  height: 14px;
  background-position: -5654px 0;
}

.iti__flag.iti__yt {
  height: 14px;
  background-position: -5676px 0;
}

.iti__flag.iti__za {
  height: 14px;
  background-position: -5698px 0;
}

.iti__flag.iti__zm {
  height: 14px;
  background-position: -5720px 0;
}

.iti__flag.iti__zw {
  height: 10px;
  background-position: -5742px 0;
}

.iti__flag {
  height: 15px;
  box-shadow: 0 0 1px 0 #888;
  background-image: url(../img/flags.png?1);
  background-repeat: no-repeat;
  background-color: #dbdbdb;
  background-position: 20px 0;
}

@media (min-resolution: 2x) {
  .iti__flag {
    background-image: url(../img/flags@2x.png?1);
  }
}
.iti__flag.iti__np {
  background-color: transparent;
}

.c3 svg {
  font: 10px sans-serif;
  -webkit-tap-highlight-color: transparent;
}

.c3 line, .c3 path {
  fill: none;
  stroke: #000;
}

.c3 text {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.c3-bars path, .c3-event-rect, .c3-legend-item-tile, .c3-xgrid-focus, .c3-ygrid {
  shape-rendering: crispEdges;
}

.c3-chart-arc path {
  stroke: #fff;
}

.c3-chart-arc rect {
  stroke: #fff;
  stroke-width: 1;
}

.c3-chart-arc text {
  fill: #fff;
  font-size: 13px;
}

.c3-grid line {
  stroke: #aaa;
}

.c3-grid text {
  fill: #aaa;
}

.c3-xgrid, .c3-ygrid {
  stroke-dasharray: 3 3;
}

.c3-text.c3-empty {
  fill: grey;
  font-size: 2em;
}

.c3-line {
  stroke-width: 1px;
}

.c3-circle {
  fill: currentColor;
}

.c3-circle._expanded_ {
  stroke-width: 1px;
  stroke: #fff;
}

.c3-selected-circle {
  fill: #fff;
  stroke-width: 2px;
}

.c3-bar {
  stroke-width: 0;
}

.c3-bar._expanded_ {
  fill-opacity: 1;
  fill-opacity: 0.75;
}

.c3-target.c3-focused {
  opacity: 1;
}

.c3-target.c3-focused path.c3-line, .c3-target.c3-focused path.c3-step {
  stroke-width: 2px;
}

.c3-target.c3-defocused {
  opacity: 0.3 !important;
}

.c3-region {
  fill: #4682b4;
  fill-opacity: 0.1;
}

.c3-region text {
  fill-opacity: 1;
}

.c3-brush .extent {
  fill-opacity: 0.1;
}

.c3-legend-item {
  font-size: 12px;
}

.c3-legend-item-hidden {
  opacity: 0.15;
}

.c3-legend-background {
  opacity: 0.75;
  fill: #fff;
  stroke: #d3d3d3;
  stroke-width: 1;
}

.c3-title {
  font: 14px sans-serif;
}

.c3-tooltip-container {
  z-index: 10;
}

.c3-tooltip {
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
  empty-cells: show;
  -webkit-box-shadow: 7px 7px 12px -9px #777;
  -moz-box-shadow: 7px 7px 12px -9px #777;
  box-shadow: 7px 7px 12px -9px #777;
  opacity: 0.9;
}

.c3-tooltip tr {
  border: 1px solid #ccc;
}

.c3-tooltip th {
  background-color: #aaa;
  font-size: 14px;
  padding: 2px 5px;
  text-align: left;
  color: #fff;
}

.c3-tooltip td {
  font-size: 13px;
  padding: 3px 6px;
  background-color: #fff;
  border-left: 1px dotted #999;
}

.c3-tooltip td > span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
}

.c3-tooltip .value {
  text-align: right;
}

.c3-area {
  stroke-width: 0;
  opacity: 0.2;
}

.c3-chart-arcs-title {
  dominant-baseline: middle;
  font-size: 1.3em;
}

.c3-chart-arcs .c3-chart-arcs-background {
  fill: #e0e0e0;
  stroke: #fff;
}

.c3-chart-arcs .c3-chart-arcs-gauge-unit {
  fill: #000;
  font-size: 16px;
}

.c3-chart-arcs .c3-chart-arcs-gauge-max {
  fill: #777;
}

.c3-chart-arcs .c3-chart-arcs-gauge-min {
  fill: #777;
}

.c3-chart-arc .c3-gauge-value {
  fill: #000;
}

.c3-chart-arc.c3-target g path {
  opacity: 1;
}

.c3-chart-arc.c3-target.c3-focused g path {
  opacity: 1;
}

.c3-drag-zoom.enabled {
  pointer-events: all !important;
  visibility: visible;
}

.c3-drag-zoom.disabled {
  pointer-events: none !important;
  visibility: hidden;
}

.c3-drag-zoom .extent {
  fill-opacity: 0.1;
}

:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-shadow: none;
  --f-button-transition: all .15s ease;
  --f-button-transform: none;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(0, 0, 0, .7);
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-opacity: 1;
  --f-button-svg-disabled-opacity: .5;
  --f-button-svg-transition: opacity .15s ease;
  --f-button-svg-transform: none;
}

.f-button {
  width: var(--f-button-width);
  height: var(--f-button-height);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  color: var(--f-button-color);
  background: var(--f-button-bg);
  box-shadow: var(--f-button-shadow);
  transform: var(--f-button-transform);
  transition: var(--f-button-transition);
  backdrop-filter: var(--f-button-backdrop-filter);
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: content-box;
  position: relative;
  margin: 0;
  padding: 0;
  pointer-events: all;
  cursor: pointer;
  overflow: hidden;
}

@media (hover: hover) {
  .f-button:hover:not([aria-disabled]) {
    color: var(--f-button-hover-color, var(--f-button-color));
    background-color: var(--f-button-hover-bg, var(--f-button-bg));
  }
}
.f-button:active:not([aria-disabled]) {
  color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));
  background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)));
}

.f-button:focus {
  outline: none;
}

.f-button:focus-visible {
  outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
  outline-offset: var(--f-button-outline-offset);
}

.f-button svg {
  width: var(--f-button-svg-width);
  height: var(--f-button-svg-height);
  transform: var(--f-button-svg-transform);
  fill: var(--f-button-svg-fill);
  filter: var(--f-button-svg-filter);
  opacity: var(--f-button-svg-opacity, 1);
  transition: var(--f-button-svg-transition);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.f-button[aria-disabled] {
  cursor: default;
}

.f-button[aria-disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}

[data-panzoom-action=toggleFS] g:first-child {
  display: flex;
}

[data-panzoom-action=toggleFS] g:last-child {
  display: none;
}

.in-fullscreen [data-panzoom-action=toggleFS] g:first-child {
  display: none;
}

.in-fullscreen [data-panzoom-action=toggleFS] g:last-child {
  display: flex;
}

[data-autoplay-action=toggle] svg g:first-child {
  display: flex;
}

[data-autoplay-action=toggle] svg g:last-child {
  display: none;
}

.has-autoplay [data-autoplay-action=toggle] svg g:first-child {
  display: none;
}

.has-autoplay [data-autoplay-action=toggle] svg g:last-child {
  display: flex;
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child {
  display: none;
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child {
  display: flex;
}

:root {
  --f-spinner-color-1: rgba(0, 0, 0, .1);
  --f-spinner-color-2: rgba(17, 24, 28, .8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
}

.f-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  padding: 0;
  width: var(--f-spinner-width);
  height: var(--f-spinner-height);
  translate: -50% -50%;
  border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
  border-top-color: var(--f-spinner-color-2);
  border-radius: var(--f-spinner-border-radius);
  animation: f-spinner 0.75s linear infinite, f-fadeIn 0.2s ease 0.2s both;
}

@keyframes f-spinner {
  to {
    rotate: 360deg;
  }
}
.f-panzoom, .f-zoomable {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.f-panzoom:before, .f-panzoom:after, .f-zoomable:before, .f-zoomable:after {
  display: block;
  content: "";
}

.f-panzoom:not(.has-controls):before, .f-zoomable:not(.has-controls):before {
  margin-bottom: auto;
}

.f-panzoom:after, .f-zoomable:after {
  margin-top: auto;
}

.f-panzoom.in-fullscreen, .f-zoomable.in-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: unset !important;
  z-index: 9999;
}

.f-panzoom__wrapper {
  position: relative;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
}

.f-panzoom__wrapper.will-zoom-out {
  cursor: zoom-out;
}

.f-panzoom__wrapper.can-drag {
  cursor: move;
  cursor: grab;
}

.f-panzoom__wrapper.will-zoom-in {
  cursor: zoom-in;
}

.f-panzoom__wrapper.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.f-panzoom__wrapper.has-error {
  display: none;
}

.f-panzoom__content {
  display: block;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
}

.f-panzoom__content.is-lazyloading, .f-panzoom__content.has-lazyerror {
  visibility: hidden;
}

img.f-panzoom__content {
  width: auto;
  height: auto;
  vertical-align: top;
  object-fit: contain;
  transition: none;
  user-select: none;
}

.f-panzoom__wrapper > .f-panzoom__content {
  visibility: hidden;
}

.f-panzoom__viewport {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.f-panzoom__viewport > .f-panzoom__content {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

picture.f-panzoom__content img {
  vertical-align: top;
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  transition: none;
  user-select: none;
}

.f-panzoom__protected {
  position: absolute;
  inset: 0;
  z-index: 1;
  user-select: none;
}

html.with-panzoom-in-fullscreen {
  overflow: hidden;
}

.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}

.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}

@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-fadeOut {
  to {
    opacity: 0;
  }
}
.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease both f-crossfadeIn;
  z-index: 2;
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.2) ease calc(var(--f-transition-duration, 0.2s) * 0.8) both f-crossfadeOut;
  z-index: 1;
}

@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-crossfadeOut {
  to {
    opacity: 0;
  }
}
.is-horizontal .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextX;
}

.is-horizontal .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevX;
}

.is-horizontal .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextX;
}

.is-horizontal .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevX;
}

@keyframes f-slideInPrevX {
  0% {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextX {
  0% {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextX {
  to {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevX {
  to {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.is-vertical .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextY;
}

.is-vertical .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevY;
}

.is-vertical .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextY;
}

.is-vertical .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevY;
}

@keyframes f-slideInPrevY {
  0% {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextY {
  0% {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextY {
  to {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevY {
  to {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.f-zoomInUp {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomInUp;
}

.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomOutDown;
}

@keyframes f-zoomInUp {
  0% {
    transform: scale(var(--f-zoomInUp-scale, 0.975)) translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0);
    opacity: var(--f-zoomInUp-opacity, 0);
  }
  to {
    transform: scale(1) translateZ(0);
    opacity: 1;
  }
}
@keyframes f-zoomOutDown {
  to {
    transform: scale(var(--f-zoomOutDown-scale, 0.975)) translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0);
    opacity: 0;
  }
}
.f-throwOutUp {
  animation: var(--f-throwOutUp-duration, 0.2s) ease-out both f-throwOutUp;
}

.f-throwOutDown {
  animation: var(--f-throwOutDown-duration, 0.2s) ease-out both f-throwOutDown;
}

@keyframes f-throwOutUp {
  to {
    transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px) * -1), 0);
    opacity: 0;
  }
}
@keyframes f-throwOutDown {
  to {
    transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0);
    opacity: 0;
  }
}
.has-iframe .f-html, .has-pdf .f-html, .has-gmap .f-html {
  width: 100%;
  height: 100%;
  min-height: 1px;
  overflow: visible;
}

.has-pdf .f-html, .has-gmap .f-html {
  padding: 0;
}

.f-html {
  position: relative;
  box-sizing: border-box;
  margin: var(--f-html-margin, 0);
  padding: var(--f-html-padding, 2rem);
  color: var(--f-html-color, currentColor);
  background: var(--f-html-bg);
}

.f-html.is-error {
  text-align: center;
}

.f-iframe {
  display: block;
  margin: 0;
  border: 0;
  height: 100%;
  width: 100%;
}

.f-caption {
  align-self: center;
  flex-shrink: 0;
  margin: var(--f-caption-margin);
  padding: var(--f-caption-padding, 16px 8px);
  max-width: 100%;
  max-height: calc(80vh - 100px);
  overflow: auto;
  overflow-wrap: anywhere;
  line-height: var(--f-caption-line-height);
  color: var(--f-caption-color);
  background: var(--f-caption-bg);
  font: var(--f-caption-font);
}

.has-html5video .f-html, .has-youtube .f-html, .has-vimeo .f-html {
  padding: 0;
  width: 100%;
  height: 100%;
  min-height: 1px;
  overflow: visible;
  max-width: var(--f-video-width, 960px);
  max-height: var(--f-video-height, 540px);
  aspect-ratio: var(--f-video-aspect-ratio);
  background: var(--f-video-bg, rgba(0, 0, 0, 0.9));
}

.f-html5video {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: transparent;
}

.f-button.is-arrow {
  --f-button-width: var(--f-arrow-width, 46px);
  --f-button-height: var(--f-arrow-height, 46px);
  --f-button-svg-width: var(--f-arrow-svg-width, 24px);
  --f-button-svg-height: var(--f-arrow-svg-height, 24px);
  --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
  --f-button-border-radius: var(--f-arrow-border-radius, unset);
  --f-button-bg: var(--f-arrow-bg, transparent);
  --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
  --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
  --f-button-shadow: var(--f-arrow-shadow);
  --f-button-color: var(--f-arrow-color);
  --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
  --f-button-active-color: var( --f-arrow-active-color, var(--f-arrow-hover-color) );
  overflow: visible;
}

.f-button.is-arrow.is-prev, .f-button.is-arrow.is-next {
  position: absolute;
  transform: translate(0);
  z-index: 20;
}

.is-horizontal .f-button.is-arrow.is-prev, .is-horizontal .f-button.is-arrow.is-next {
  inset: 50% auto auto;
  transform: translateY(-50%);
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
  left: var(--f-arrow-pos, 0);
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
  right: var(--f-arrow-pos, 0);
}

.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
  right: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}

.is-horizontal.is-rtl .f-button.is-arrow.is-next {
  left: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev, .is-vertical.is-rtl .f-button.is-arrow.is-prev {
  top: var(--f-arrow-pos, 0);
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%);
}

.is-vertical.is-ltr .f-button.is-arrow.is-next, .is-vertical.is-rtl .f-button.is-arrow.is-next {
  top: auto;
  right: auto;
  bottom: var(--f-arrow-pos, 0);
  left: 50%;
  transform: translate(-50%);
}

.is-vertical .f-button.is-arrow.is-prev svg, .is-vertical .f-button.is-arrow.is-next svg {
  transform: rotate(90deg);
}

.f-carousel__toolbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin: var(--f-toolbar-margin, 0);
  padding: var(--f-toolbar-padding, 8px);
  line-height: var(--f-toolbar-line-height);
  background: var(--f-toolbar-bg, none);
  box-shadow: var(--f-toolbar-shadow, none);
  backdrop-filter: var(--f-toolbar-backdrop-filter);
  position: relative;
  z-index: 20;
  color: var(--f-toolbar-color, currentColor);
  font-size: var(--f-toolbar-font-size, 17px);
  font-weight: var(--f-toolbar-font-weight, inherit);
  font-family: var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);
  text-shadow: var(--f-toolbar-text-shadow);
  text-align: center;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
  white-space: nowrap;
  pointer-events: none;
}

.f-carousel__toolbar.is-absolute {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.f-carousel__toolbar .f-button:focus-visible {
  position: relative;
  z-index: 1;
}

.f-carousel__toolbar__column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: var(--f-toolbar-gap, 0);
}

.f-carousel__toolbar__column.is-left {
  display: flex;
  justify-self: flex-start;
  justify-content: flex-start;
}

.f-carousel__toolbar__column.is-middle {
  display: flex;
  justify-content: center;
}

.f-carousel__toolbar__column.is-right {
  display: flex;
  justify-self: flex-end;
  justify-content: flex-end;
  flex-flow: nowrap;
}

.f-carousel__toolbar__column {
  pointer-events: none;
}

.f-carousel__toolbar__column > * {
  pointer-events: all;
}

.f-counter {
  position: relative;
  display: flex;
  flex-direction: row;
  cursor: default;
  user-select: none;
  margin: var(--f-counter-margin, 0);
  padding: var(--f-counter-padding, 4px);
  line-height: var(--f-counter-line-height);
  background: var(--f-counter-bg);
  border-radius: var(--f-counter-border-radius);
}

.f-counter span {
  padding: 0 var(--f-counter-gap, 4px);
}

:root {
  --f-thumbs-gap: 8px;
  --f-thumbs-margin: 0;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-bg: transparent;
  --f-thumbs-transition: max-height .3s ease, max-width .3s ease, padding .3s ease;
  --f-thumbs-z-index: 1;
  --f-thumbs-viewport-padding-x: 0px;
  --f-thumbs-viewport-padding-y: 0px;
  --f-thumb-width: 94px;
  --f-thumb-height: 76px;
  --f-thumb-clip-width: 46px;
  --f-thumb-extra-gap: 16px;
  --f-thumb-opacity: 1;
  --f-thumb-transition: opacity .3s ease, transform .15s ease;
  --f-thumb-border: none;
  --f-thumb-border-radius: 4px;
  --f-thumb-shadow: none;
  --f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));
  --f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
  --f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
  --f-thumb-border-transition: all .1s ease;
  --f-thumb-img-width: 100%;
  --f-thumb-img-height: 100%;
  --f-thumb-img-fit: cover;
  --f-thumb-img-position: 50% 20%;
}

.f-thumbs {
  --f-carousel-slide-width: var(--f-thumb-width);
  --f-carousel-slide-height: var(--f-thumb-height);
  --f-carousel-gap: var(--f-thumbs-gap);
  position: relative;
  box-sizing: border-box;
  flex-shrink: 0;
  margin: var(--f-thumbs-margin);
  padding: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
  overflow: hidden;
  background: var(--f-thumbs-bg);
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  transition: var(--f-thumbs-transition);
  z-index: var(--f-thumbs-z-index);
}

.f-thumbs.is-horizontal {
  max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2);
}

.f-thumbs.is-horizontal.is-hidden {
  max-height: 0;
  --f-thumbs-padding-y: 0;
}

.f-thumbs.is-vertical {
  max-width: calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x) * 2);
}

.f-thumbs.is-vertical.is-hidden {
  max-width: 0;
  --f-thumbs-padding-x: 0;
}

.f-thumbs.is-scrollable.is-hidden {
  max-height: 0;
  --f-thumbs-padding-y: 0;
}

.f-thumbs.is-ltr {
  direction: ltr;
}

.f-thumbs.is-rtl {
  direction: rtl;
}

.f-thumbs img {
  display: block;
  width: var(--f-thumb-img-width);
  height: var(--f-thumb-img-height);
  object-fit: var(--f-thumb-img-fit);
  object-position: var(--f-thumb-img-position);
  pointer-events: none;
  border-radius: inherit;
  color: transparent;
}

.f-thumbs img[data-lazy-src] {
  visibility: hidden;
}

.f-thumbs img.has-lazyerror {
  display: none;
}

.f-thumbs__viewport {
  box-sizing: border-box;
  height: 100%;
  padding: var(--f-thumbs-viewport-padding-y) var(--f-thumbs-viewport-padding-x);
  overflow: visible;
  display: grid;
}

.f-thumbs__slide {
  position: relative;
  box-sizing: border-box;
  grid-area: 1/1;
  width: var(--f-carousel-slide-width);
  height: var(--f-carousel-slide-height);
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  overflow: visible;
}

.f-thumbs__slide:hover button {
  opacity: var(--f-thumb-hover-opacity, 1);
  transform: var(--f-thumb-hover-transform, none);
}

.f-thumbs__slide:hover button:after {
  border: var(--f-thumb-hover-border, none);
  box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide button {
  all: unset;
  display: block;
  margin: auto;
  padding: 0;
  position: relative;
  overflow: visible;
  width: 100%;
  height: 100%;
  outline: none;
  transition: var(--f-thumb-transition);
  border-radius: var(--f-thumb-border-radius);
  opacity: var(--f-thumb-opacity);
  transform: var(--f-thumb-transform);
  background: var(--f-thumb-bg);
}

.f-thumbs__slide button:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: var(--f-thumb-border-transition);
  border-radius: inherit;
  border: var(--f-thumb-border);
  box-shadow: var(--f-thumb-shadow);
}

.f-thumbs__slide button:focus-within {
  opacity: var(--f-thumb-focus-opacity, 1);
  transform: var(--f-thumb-focus-transform, none);
}

.f-thumbs__slide button:focus-within:after {
  border: var(--f-thumb-focus-border, none);
  box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide:active {
  opacity: var(--f-thumb-active-opacity, 1);
  transform: var(--f-thumb-active-transform, none);
}

.f-thumbs__slide:active:after {
  border: var(--f-thumb-active-border, none);
  box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide.is-selected {
  z-index: 2;
}

.f-thumbs__slide.is-selected button {
  opacity: var(--f-thumb-selected-opacity, 1);
  transform: var(--f-thumb-selected-transform, none);
}

.f-thumbs__slide.is-selected button:after {
  border: var(--f-thumb-selected-border, none);
  box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow));
}

.f-thumbs.is-modern {
  --f-carousel-slide-width: calc( var(--f-thumb-clip-width) + var(--f-thumbs-gap) );
  --f-carousel-slide-height: var(--f-thumb-height);
  --f-carousel-gap: 0;
  --width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)));
}

.f-thumbs.is-modern .f-thumbs__viewport {
  width: calc(100% + var(--f-carousel-slide-width) * 2 + var(--f-thumbs-padding-x));
  margin-inline: calc((var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)) * -1);
}

.f-thumbs.is-modern .f-thumbs__slide {
  --clip-shift: calc((var(--width-diff) * .5) * var(--progress));
  --clip-path: inset( 0 var(--clip-shift) round var(--f-thumb-border-radius, 0) );
  padding: 0;
  overflow: visible;
  left: var(--shift, 0);
  will-change: left;
  transition: left var(--f-transition-duration) var(--f-transition-easing);
}

.f-thumbs.is-modern .f-thumbs__slide button {
  display: block;
  margin-inline: 50%;
  width: var(--f-thumb-width);
  clip-path: var(--clip-path);
  border: none;
  box-shadow: none;
  transition: clip-path var(--f-transition-duration) var(--f-transition-easing), opacity var(--f-thumb-transition-duration, 0.2s) var(--f-thumb-transition-easing, ease);
}

.f-thumbs.is-modern .f-thumbs__slide button:after {
  display: none;
}

.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
  outline: none;
}

.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: var(--clip-shift);
  bottom: 0;
  right: var(--clip-shift);
  transition: border var(--f-transition-duration) var(--f-transition-easing), box-shadow var(--f-transition-duration) var(--f-transition-easing);
  border-radius: inherit;
  border: var(--f-thumb-focus-border, none);
  box-shadow: var(--f-thumb-focus-shadow, none);
}

.f-thumbs.is-modern {
  --f-transition-duration: .25s;
  --f-transition-easing: ease-out;
}

.f-thumbs.is-modern.is-syncing {
  --f-transition-duration: 0s;
}

.f-thumbs.is-scrollable .f-thumbs__viewport {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--f-thumb-width), 1fr));
  grid-auto-rows: var(--f-thumb-height);
  gap: var(--f-thumbs-gap);
  overflow: auto;
  overscroll-behavior: contain;
  user-select: none;
}

.f-thumbs.is-scrollable .f-thumbs__viewport .f-thumbs__slide {
  grid-area: auto;
  display: block;
  position: relative;
  max-width: 100%;
  width: var(--f-thumb-width);
  height: var(--f-thumb-height);
  cursor: pointer;
  outline: none;
}

:root {
  --f-progressbar-height: 3px;
  --f-progressbar-color: var(--f-carousel-theme-color, #575ad6);
  --f-progressbar-opacity: 1;
  --f-progressbar-z-index: 30;
}

.f-progressbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--f-progressbar-z-index);
  height: var(--f-progressbar-height);
  transform: scaleX(0);
  transform-origin: 0;
  opacity: var(--f-progressbar-opacity);
  background: var(--f-progressbar-color);
  user-select: none;
  pointer-events: none;
  animation-name: f-progressbar;
  animation-play-state: running;
  animation-timing-function: linear;
}

.f-progressbar:empty {
  display: block;
}

button > .f-progressbar {
  --f-progressbar-height: 100%;
  --f-progressbar-opacity: .2;
}

@keyframes f-progressbar {
  0% {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
[data-fullscreen-action=toggle] svg g:first-child {
  display: flex;
}

[data-fullscreen-action=toggle] svg g:last-child {
  display: none;
}

:fullscreen [data-fullscreen-action=toggle] svg g:first-child {
  display: none;
}

:fullscreen [data-fullscreen-action=toggle] svg g:last-child {
  display: flex;
}

.in-fullscreen-mode > .f-carousel {
  flex: 1;
  min-width: 0 !important;
  min-height: 0 !important;
}

html.with-fancybox {
  width: auto;
  overflow: visible;
  scroll-behavior: auto;
}

html.with-fancybox body.hide-scrollbar {
  width: auto;
  margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
  overflow: hidden !important;
  overscroll-behavior-y: none;
}

.fancybox__dialog {
  position: fixed;
  inset: 0;
  z-index: 1050;
  width: 100%;
  height: 100vh;
  max-height: unset;
  max-width: unset;
  padding: 0;
  margin: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
  touch-action: none;
  overscroll-behavior: contain;
}

.fancybox__dialog:focus {
  outline: none;
}

.fancybox__dialog::backdrop {
  opacity: 0;
}

@supports (height: 100dvh) {
  .fancybox__dialog {
    height: 100dvh;
  }
}
.fancybox__dialog *:empty {
  display: block;
}

.fancybox__container {
  --fancybox-color: #dbdbdb;
  --fancybox-backdrop-bg: rgba(24, 24, 27, .95);
  --f-toolbar-margin: 0;
  --f-toolbar-padding: 8px;
  --f-toolbar-gap: 0;
  --f-toolbar-color: #ddd;
  --f-toolbar-font-size: 16px;
  --f-toolbar-font-weight: 500;
  --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
  --f-toolbar-line-height: var(--f-button-height);
  --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);
  --f-toolbar-shadow: none;
  --f-toolbar-bg: none;
  --f-counter-margin: 0;
  --f-counter-padding: 0px 10px;
  --f-counter-gap: 4px;
  --f-counter-line-height: var(--f-button-height);
  --f-carousel-gap: 17px;
  --f-carousel-slide-width: 100%;
  --f-carousel-slide-height: 100%;
  --f-carousel-slide-padding: 0;
  --f-carousel-slide-bg: unset;
  --f-html-color: #222;
  --f-html-bg: #fff;
  --f-error-color: #fff;
  --f-error-bg: #333;
  --f-caption-margin: 0;
  --f-caption-padding: 16px 8px;
  --f-caption-color: var(--fancybox-color, #dbdbdb);
  --f-caption-bg: transparent;
  --f-caption-font: inherit;
  --f-caption-line-height: 1.375;
  --f-spinner-color-1: rgba(255, 255, 255, .2);
  --f-spinner-color-2: rgba(255, 255, 255, .8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
  --f-progressbar-color: rgba(255, 255, 255);
  --f-button-width: 46px;
  --f-button-height: 46px;
  --f-button-color: #ddd;
  --f-button-hover-color: #fff;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(255, 255, 255, .75);
  --f-button-outline-offset: 0px;
  --f-button-bg: rgba(54, 54, 54, .75);
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-shadow: none;
  --f-button-transition: all .2s ease;
  --f-button-transform: none;
  --f-button-svg-width: 24px;
  --f-button-svg-height: 24px;
  --f-button-svg-stroke-width: 1.75;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));
  --f-button-svg-fill: none;
  --f-button-svg-disabled-opacity: .5;
  --f-arrow-pos: 32px;
  --f-arrow-width: 50px;
  --f-arrow-height: 50px;
  --f-arrow-svg-width: 24px;
  --f-arrow-svg-height: 24px;
  --f-arrow-svg-stroke-width: 2.5;
  --f-arrow-border-radius: 50%;
  --f-arrow-bg: rgba(54, 54, 54, .65);
  --f-arrow-color: #ddd;
  --f-arrow-hover-color: #fff;
  --f-close-button-width: 30px;
  --f-close-button-height: 30px;
  --f-close-button-svg-width: 24px;
  --f-close-button-svg-height: 24px;
  --f-close-button-svg-stroke-width: 1.75;
  --f-close-border-radius: 4px;
  --f-close-button-color: #fff;
  --f-close-button-hover-color: #fff;
  --f-close-button-bg: transparent;
  --f-close-button-hover-bg: transparent;
  --f-close-button-active-bg: transparent;
  --f-thumbs-margin: 0px;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-bg: none;
  --f-thumb-transition: all .2s ease;
  --f-thumb-width: 94px;
  --f-thumb-height: 76px;
  --f-thumb-opacity: 1;
  --f-thumb-border: none;
  --f-thumb-shadow: none;
  --f-thumb-transform: none;
  --f-thumb-focus-opacity: 1;
  --f-thumb-focus-border: none;
  --f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);
  --f-thumb-focus-transform: none;
  --f-thumb-hover-opacity: 1;
  --f-thumb-hover-border: none;
  --f-thumb-hover-transform: none;
  --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
  --f-thumb-active-border: var(--f-thumb-hover-border);
  --f-thumb-active-transform: var(--f-thumb-hover-transform);
  --f-thumb-selected-opacity: 1;
  --f-thumb-selected-border: none;
  --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
  --f-thumb-selected-transform: none;
  --f-scrollbar-width: 7px;
  --f-scrollbar-track-bg: #444;
  --f-scrollbar-track-border-radius: 10px;
  --f-scrollbar-track-shadow: inset 0 0 6px rgba(0, 0, 0, .2);
  --f-scrollbar-thumb-bg: #ddd;
  --f-scrollbar-thumb-border-radius: 10px;
}

.fancybox__container[theme=light] {
  --fancybox-color: #222;
  --fancybox-backdrop-bg: rgba(255, 255, 255, .97);
  --f-toolbar-color: var(--fancybox-color, #222);
  --f-toolbar-text-shadow: none;
  --f-toolbar-font-weight: 400;
  --f-html-color: var(--fancybox-color, #222);
  --f-html-bg: #fff;
  --f-error-color: #555;
  --f-error-bg: #fff;
  --f-video-bg: #fff;
  --f-caption-color: #333;
  --f-spinner-color-1: rgba(0, 0, 0, .2);
  --f-spinner-color-2: rgba(0, 0, 0, .8);
  --f-spinner-border-width: 3.5px;
  --f-progressbar-color: rgba(111, 111, 116);
  --f-button-color: #333;
  --f-button-hover-color: #000;
  --f-button-outline-color: rgba(0, 0, 0, .85);
  --f-button-bg: rgba(255, 255, 255, .85);
  --f-button-svg-stroke-width: 1.3;
  --f-button-svg-filter: none;
  --f-arrow-bg: rgba(255, 255, 255, .85);
  --f-arrow-color: #333;
  --f-arrow-hover-color: #000;
  --f-arrow-svg-stroke-width: 1.3;
  --f-close-button-color: #555;
  --f-close-button-hover-color: #000;
  --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
  --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
  --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;
  --f-scrollbar-track-bg: #ddd;
  --f-scrollbar-thumb-bg: #444;
}

.fancybox__container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.fancybox__container:focus {
  outline: none;
}

.fancybox__container.has-vertical-thumbs {
  flex-direction: row-reverse;
}

.fancybox__container.has-vertical-thumbs:not(.is-closing) .fancybox__viewport {
  overflow-x: clip;
  overflow-y: visible;
}

.fancybox__container > *:not(.fancybox__carousel), .fancybox__container .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper, .f-spinner) {
  opacity: var(--f-drag-opacity, 1);
}

.fancybox__container:not(.is-ready, .is-hiding) {
  visibility: hidden;
}

.fancybox__container.is-revealing > *:not(.fancybox__carousel), .fancybox__container.is-revealing .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper, .f-spinner) {
  animation: var(--f-interface-enter-duration, 0.35s) ease none f-fadeIn;
}

.fancybox__container.is-hiding > *:not(.fancybox__carousel), .fancybox__container.is-hiding .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-hiding .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper) {
  animation: var(--f-interface-exit-duration, 0.35s) ease forwards f-fadeOut;
}

.fancybox__container.is-hiding .fancybox__carousel .fancybox__slide:not(.is-selected) {
  opacity: 0;
}

.fancybox__container.is-hiding {
  pointer-events: none;
}

.fancybox__container.is-idle .f-carousel__toolbar {
  pointer-events: none;
  opacity: 0;
}

.fancybox__container.is-idle .f-button.is-arrow {
  opacity: 0;
}

.fancybox__container.is-idle.is-ready .f-carousel__toolbar {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__container.is-idle.is-ready .f-button.is-arrow {
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__backdrop {
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--fancybox-backdrop-bg);
}

.fancybox__carousel {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  position: relative;
  z-index: 10;
  overflow-y: visible;
  overflow-x: clip;
}

.fancybox__carousel.is-vertical {
  --f-carousel-slide-height: 100%;
}

.fancybox__carousel.is-ltr {
  direction: ltr;
}

.fancybox__carousel.is-rtl {
  direction: rtl;
}

.fancybox__carousel > .f-button.is-arrow:before {
  position: absolute;
  content: "";
  inset: -30px;
  z-index: 1;
}

.fancybox__viewport {
  display: grid;
  flex: 1;
  min-height: 0;
  min-width: 0;
  position: relative;
  overflow: visible;
  transform: translate3d(0, var(--f-drag-offset, 0), 0);
}

.fancybox__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}

.fancybox__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.fancybox__viewport [data-selectable], .fancybox__viewport [contenteditable] {
  cursor: auto;
}

.fancybox__slide {
  box-sizing: border-box;
  position: relative;
  grid-area: 1/1;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: var(--f-carousel-slide-width);
  height: var(--f-carousel-slide-height);
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  margin: 0;
  padding: var(--f-carousel-slide-padding);
  background: var(--f-carousel-slide-bg);
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

.fancybox__slide:before, .fancybox__slide:after {
  display: block;
  content: "";
}

.fancybox__slide:before {
  margin-bottom: auto;
}

.fancybox__slide:after {
  margin-top: auto;
}

.fancybox__slide.is-selected {
  z-index: 1;
}

.fancybox__slide.f-zoomable {
  overflow: visible;
}

.fancybox__slide.has-error {
  --f-html-color: var(--f-error-color, --f-html-color);
  --f-html-bg: var(--f-error-bg, --f-html-bg);
}

.fancybox__slide.has-html {
  overflow: auto;
  padding: 8px;
}

.fancybox__slide.has-close-btn {
  padding-top: 34px;
}

.fancybox__slide.has-controls:before {
  margin: 0;
}

.fancybox__slide .f-spinner {
  cursor: pointer;
}

.fancybox__container.is-closing .f-caption, .fancybox__slide.is-loading .f-caption {
  visibility: hidden;
}

.fancybox__container.is-closing .fancybox__carousel {
  overflow: visible;
}

.f-button.is-close-button {
  --f-button-width: var(--f-close-button-width);
  --f-button-height: var(--f-close-button-height);
  --f-button-border-radius: var(--f-close-border-radius);
  --f-button-color: var(--f-close-button-color);
  --f-button-hover-color: var(--f-close-button-hover-color);
  --f-button-bg: var(--f-close-button-bg);
  --f-button-hover-bg: var(--f-close-button-hover-bg);
  --f-button-active-bg: var(--f-close-button-active-bg);
  --f-button-svg-width: var(--f-close-button-svg-width);
  --f-button-svg-height: var(--f-close-button-svg-height);
  --f-button-svg-stroke-width: var(--f-close-button-svg-stroke-width);
  position: absolute;
  top: calc((var(--f-button-height) + 2px) * -1);
  right: 0;
  z-index: 10;
}

.fancybox__thumbs {
  flex: 0 1 100%;
}

.fancybox__thumbs.is-scrollable {
  --f-thumbs-cols: 1;
  --f-thumbs-gap: 8px;
  --f-thumbs-transition: none;
  --f-thumbs-padding-x: 4px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-viewport-padding-x: 4px;
  --f-thumbs-viewport-padding-y: 0px;
  max-width: calc(var(--f-thumb-width) * var(--f-thumbs-cols) + var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1) + var(--f-thumbs-padding-x) * 2 + var(--f-thumbs-viewport-padding-x) * 2);
}

.fancybox__thumbs.is-scrollable ::-webkit-scrollbar {
  width: var(--f-scrollbar-width);
}

.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-track {
  background: var(--f-scrollbar-track-bg);
  border-radius: var(--f-scrollbar-track-border-radius);
  box-shadow: var(--f-scrollbar-track-shadow);
}

.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-thumb {
  background: var(--f-scrollbar-thumb-bg);
  border-radius: var(--f-scrollbar-thumb-border-radius);
}

.fancybox__thumbs.is-scrollable.is-hidden {
  max-width: 0;
  --f-thumbs-padding-x: 0;
  max-height: unset;
  --f-thumbs-padding-y: unset;
}

.fancybox__thumbs.is-scrollable .f-thumbs__viewport {
  overflow-x: hidden !important;
  grid-template-columns: repeat(auto-fill, calc((100% - var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1)) / var(--f-thumbs-cols))) !important;
}

.toastify {
  border-radius: var(--border-space-2);
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  line-height: 130%;
  background: var(--text-gray-900);
  color: #ffffff;
  background-color: var(--color-surface-brand-800);
  color: var(--text-gray-200);
}

.iti {
  width: 100%;
  overscroll-behavior: contain;
}

.iti__flag {
  background-image: url("../images/libs/flags.png");
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-image: url("../images/libs/flags@2x.png");
  }
}
.iti--allow-dropdown input.iti__tel-input, .iti--allow-dropdown input.iti__tel-input[type=tel], .iti--allow-dropdown input.iti__tel-input[type=text], .iti--separate-dial-code input.iti__tel-input, .iti--separate-dial-code input.iti__tel-input[type=tel], .iti--separate-dial-code input.iti__tel-input[type=text] {
  padding-left: 60px;
}

.iti__selected-flag {
  padding: 0 6px 0 20px;
}

:root {
  /*Accent*/
  --color-accent-700: #ff2c45;
  --color-accent-800: #e42858;
  --color-accent-900: #cd1c49;
  /*Gray*/
  --color-gray-100: #ffffff;
  --color-gray-200: #fafbfe;
  --color-surface-gray-200-transperent-88: rgba(250, 251, 254, 0.88);
  --color-surface-gray-400-transperent-88: rgba(219, 228, 236, 0.88);
  --color-gray-300: #ecf2f8;
  --color-gray-400: #dbe4ec;
  --color-gray-500: #d1d9e1;
  --color-gray-600: #aebecc;
  --color-gray-700: #6c7a88;
  --color-gray-800: #4b535b;
  --color-gray-900: #1a1e21;
  /*Special*/
  --color-200-trancperent-88: rgba(250, 251, 254, 0.8784313725);
  --color-900-trancperent-40: rgba(26, 30, 33, 0.4);
  --color-bg-overlays-transparent-80: rgba(26, 30, 33, 0.8);
  /*Brand*/
  --color-brand-700: #333333;
  --color-brand-800: #1f1f1f;
  --color-brand-900: #000000;
  --color-brand-hover-overlays-transparent-32: rgba(31, 31, 31, 0.32);
  --color-brand-hover-overlays-transparent-48: rgba(31, 31, 31, 0.48);
  --color-brand-active-element-transparent-72: rgba(31, 31, 31, 0.72);
  /*Effect*/
  --color-effect-900-transparent-24: rgba(32, 35, 38, 0.2392156863);
  --color-effect-900-transparent-40: rgba(32, 35, 38, 0.4);
  /*Semantic*/
  --color-semantic-success: #83af8d;
  --color-semantic-warning: #f1b161;
  --color-semantic-warning-transparent-16: rgba(241, 177, 97, 0.16);
  --color-semantic-info: #64a5f8;
  --color-semantic-danger: #e7473a;
  --color-surface-success: #83af8d;
  --color-surface-warning-transparent-16: rgba(131, 175, 141, 0.16);
  --color-surface-success-available-transparent-20: rgba(131, 175, 141, 0.2);
  --color-surface-success-available-hover-transparent-60: rgba(131, 175, 141, 0.6);
  /*Colour tokens (front)*/
  /*Colour tokens (front)*/
  /*Surface*/
  /*Gray*/
  --color-surface-gray-100: var(--color-gray-100);
  --color-surface-gray-200: var(--color-gray-200);
  --color-surface-gray-300: var(--color-gray-300);
  --color-surface-gray-400: var(--color-gray-400);
  --color-surface-gray-500: var(--color-gray-500);
  --color-surface-gray-600: var(--color-gray-600);
  --color-surface-gray-700: var(--color-gray-700);
  --color-surface-gray-800: var(--color-gray-800);
  --color-surface-gray-900: var(--color-gray-900);
  --color-surface-gray-900-transperent-40: rgba(26, 30, 33, 0.2);
  --color-shadow-gray-900-transperent-40: rgba(26, 30, 33, 0.16);
  --surface-gray-700: var(--color-gray-700);
  --surface-gray-900: var(--color-gray-900);
  --surface-gray-900-transperent-40: rgba(26, 30, 33, 0.2);
  --color-surface-gray-900: var(--color-gray-900);
  /*Accent*/
  --color-surface-accent-700: var(--color-accent-700);
  --color-surface-accent-800: var(--color-accent-800);
  /*Brand*/
  --color-surface-brand-700: var(--color-brand-700);
  --color-surface-brand-800: var(--color-brand-800);
  --color-surface-brand-900: var(--color-brand-900);
  /*Semantic*/
  --color-surface-semantic-success: var(--color-semantic-success);
  --color-surface-semantic-warning-transparent-16: var(--color-semantic-warning-transparent-16);
  /*Colour tokens (front)*/
  /*Border*/
  /*Gray*/
  --border-gray-200: var(--color-gray-200);
  --border-gray-400: var(--color-gray-400);
  --border-gray-500: var(--color-gray-500);
  --border-gray-600: var(--color-gray-600);
  --border-gray-600-transparent-40: rgba(174, 190, 204, 0.4);
  --border-gray-600-transparent-88: rgba(174, 190, 204, 0.88);
  --border-gray-900: var(--color-gray-900);
  /*Accent*/
  --border-accent-800: var(--color-accent-800);
  --border-accent-900: var(--color-accent-900);
  /*Brand*/
  --border-brand-700: var(--color-brand-700);
  --border-brand-800: var(--color-brand-800);
  --border-brand-900: var(--color-brand-900);
  /*Semantic*/
  --border-semantic-warning: var(--color-semantic-warning);
  --border-semantic-danger: var(--color-semantic-danger);
  /* Colour tokens (front) text */
  /*Gray*/
  --text-gray-200: var(--color-gray-200);
  --text-gray-400: var(--color-gray-400);
  --text-gray-600: var(--color-gray-600);
  --text-gray-700: var(--color-gray-700);
  --text-gray-800: var(--color-gray-800);
  --text-gray-900: var(--color-gray-900);
  /*Semantic*/
  --text-danger: var(--color-semantic-danger);
  --text-warning: var(--color-semantic-warning);
  --not-found-color: var(--not-found-color);
  /* Colour tokens (front) Icon */
  /*Gray*/
  --icon-gray-200: var(--color-gray-200);
  --icon-gray-400: var(--color-gray-400);
  --icon-gray-600: var(--color-gray-600);
  --icon-gray-700: var(--color-gray-700);
  --icon-gray-900: var(--color-gray-900);
  /*Semantic*/
  --icon-warning: var(--color-semantic-warning);
  --icon-danger: var(--color-semantic-danger);
  /* Colour tokens (front) Effects */
  --shadow-gray-900-transparent-24: rgba(32, 35, 38, 0.2392156863);
  --shadow-gray-900-transparent-40: rgba(32, 35, 38, 0.4);
  /* Colour tokens (front) Special */
  --bg-overlay: rgba(26, 29, 33, 0.8);
  --hover-overlays-transparent-32: rgba(31, 31, 31, 0.32);
  --hover-overlays-transparent-48: rgba(31, 31, 31, 0.48);
  --active-element-transparent-72: rgba(31, 31, 31, 0.72);
  --color-special-accent-sold-overlays-transparent-16: rgba(228, 40, 88, 0.1607843137);
  --color-special-accent-sold-overlays-transparent-72: rgba(228, 40, 88, 0.7215686275);
  --color-special-200-transparent-88: rgba(250, 251, 254, 0.88);
  --surface-accent-800: var(--color-accent-800);
  --border-accent-900: var(--color-accent-900);
  --surface-gray-700: var(--color-gray-700);
  --surface-gray-900: var(--color-gray-900);
}

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

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

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

.text-gray-700 {
  color: var(--text-gray-700);
}

.text-gray-800 {
  color: var(--text-gray-800);
}

.text-gray-900 {
  color: var(--text-gray-900);
}

.text-danger {
  color: var(--text-danger);
}

.text-warning {
  color: var(--text-warning);
}

:root {
  --space-0: 0px;
  --space-025: 1px;
  --space-05: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-28: 112px;
  --space-32: 128px;
  --space-40: 160px;
  --border-space-0: 0px;
  --border-space-025: 1px;
  --border-space-05: 2px;
  --border-space-1: 4px;
  --border-space-2: 8px;
  --border-space-3: 12px;
  --border-space-4: 16px;
  --border-space-5: 20px;
  --border-space-6: 24px;
  --border-space-8: 32px;
  --border-space-10: 40px;
  --border-space-12: 48px;
  --border-space-16: 64px;
  --border-space-20: 80px;
  --border-space-24: 96px;
  --border-space-28: 112px;
  --border-space-32: 128px;
}

/* Класи відступів */
.space-t-0 {
  margin-top: var(--space-0);
}

.space-r-0 {
  margin-right: var(--space-0);
}

.space-b-0 {
  margin-bottom: var(--space-0);
}

.space-l-0 {
  margin-left: var(--space-0);
}

.space-t-025 {
  margin-top: var(--space-025);
}

.space-r-025 {
  margin-right: var(--space-025);
}

.space-b-025 {
  margin-bottom: var(--space-025);
}

.space-l-025 {
  margin-left: var(--space-025);
}

.space-t-05 {
  margin-top: var(--space-05);
}

.space-r-05 {
  margin-right: var(--space-05);
}

.space-b-05 {
  margin-bottom: var(--space-05);
}

.space-l-05 {
  margin-left: var(--space-05);
}

.space-t-1 {
  margin-top: var(--space-1);
}

.space-r-1 {
  margin-right: var(--space-1);
}

.space-b-1 {
  margin-bottom: var(--space-1);
}

.space-l-1 {
  margin-left: var(--space-1);
}

.space-t-2 {
  margin-top: var(--space-2);
}

.space-r-2 {
  margin-right: var(--space-2);
}

.space-b-2 {
  margin-bottom: var(--space-2);
}

.space-l-2 {
  margin-left: var(--space-2);
}

.space-t-3 {
  margin-top: var(--space-3);
}

.space-r-3 {
  margin-right: var(--space-3);
}

.space-b-3 {
  margin-bottom: var(--space-3);
}

.space-l-3 {
  margin-left: var(--space-3);
}

.space-t-4 {
  margin-top: var(--space-4);
}

.space-r-4 {
  margin-right: var(--space-4);
}

.space-b-4 {
  margin-bottom: var(--space-4);
}

.space-l-4 {
  margin-left: var(--space-4);
}

.space-t-5 {
  margin-top: var(--space-5);
}

.space-r-5 {
  margin-right: var(--space-5);
}

.space-b-5 {
  margin-bottom: var(--space-5);
}

.space-l-5 {
  margin-left: var(--space-5);
}

.space-t-6 {
  margin-top: var(--space-6);
}

.space-r-6 {
  margin-right: var(--space-6);
}

.space-b-6 {
  margin-bottom: var(--space-6);
}

.space-l-6 {
  margin-left: var(--space-6);
}

.space-t-8 {
  margin-top: var(--space-8);
}

.space-r-8 {
  margin-right: var(--space-8);
}

.space-b-8 {
  margin-bottom: var(--space-8);
}

.space-l-8 {
  margin-left: var(--space-8);
}

.space-t-10 {
  margin-top: var(--space-10);
}

.space-r-10 {
  margin-right: var(--space-10);
}

.space-b-10 {
  margin-bottom: var(--space-10);
}

.space-l-10 {
  margin-left: var(--space-10);
}

.space-t-12 {
  margin-top: var(--space-12);
}

.space-r-12 {
  margin-right: var(--space-12);
}

.space-b-12 {
  margin-bottom: var(--space-12);
}

.space-l-12 {
  margin-left: var(--space-12);
}

.space-t-16 {
  margin-top: var(--space-16);
}

.space-r-16 {
  margin-right: var(--space-16);
}

.space-b-16 {
  margin-bottom: var(--space-16);
}

.space-l-16 {
  margin-left: var(--space-16);
}

.space-t-20 {
  margin-top: var(--space-20);
}

.space-r-20 {
  margin-right: var(--space-20);
}

.space-b-20 {
  margin-bottom: var(--space-20);
}

.space-l-20 {
  margin-left: var(--space-20);
}

.space-t-24 {
  margin-top: var(--space-24);
}

.space-r-24 {
  margin-right: var(--space-24);
}

.space-b-24 {
  margin-bottom: var(--space-24);
}

.space-l-24 {
  margin-left: var(--space-24);
}

.space-t-28 {
  margin-top: var(--space-28);
}

.space-r-28 {
  margin-right: var(--space-28);
}

.space-b-28 {
  margin-bottom: var(--space-28);
}

.space-l-28 {
  margin-left: var(--space-28);
}

.space-t-32 {
  margin-top: var(--space-32);
}

.space-r-32 {
  margin-right: var(--space-32);
}

.space-b-32 {
  margin-bottom: var(--space-32);
}

.space-l-32 {
  margin-left: var(--space-32);
}

.space-0 {
  margin: 0px;
  margin: var(--space-0);
}

.space-025 {
  margin: 1px;
  margin: var(--space-025);
}

.space-05 {
  margin: 2px;
  margin: var(--space-05);
}

.space-1 {
  margin: 4px;
  margin: var(--space-1);
}

.space-2 {
  margin: 8px;
  margin: var(--space-2);
}

.space-3 {
  margin: 12px;
  margin: var(--space-3);
}

.space-4 {
  margin: 16px;
  margin: var(--space-4);
}

.space-5 {
  margin: 20px;
  margin: var(--space-5);
}

.space-6 {
  margin: 24px;
  margin: var(--space-6);
}

.space-8 {
  margin: 32px;
  margin: var(--space-8);
}

.space-10 {
  margin: 40px;
  margin: var(--space-10);
}

.space-12 {
  margin: 48px;
  margin: var(--space-12);
}

.space-16 {
  margin: 64px;
  margin: var(--space-16);
}

.space-20 {
  margin: 80px;
  margin: var(--space-20);
}

.space-24 {
  margin: 96px;
  margin: var(--space-24);
}

.space-28 {
  margin: 112px;
  margin: var(--space-28);
}

.space-32 {
  margin: 128px;
  margin: var(--space-32);
}

html.iphone,
html.iphone body {
  position: fixed;
}

html.iphone,
html.iphone body {
  height: calc(var(--vh, 1vh) * 100);
  width: 100vw;
}

html.tablet,
html.tablet body {
  position: fixed;
  width: 100%;
  height: 100%;
}

:fullscreen [data-fullscreen-mode] {
  display: none;
}

html:not(:fullscreen) [data-fullscreen-mode-off] {
  display: none;
}

.object-fit-contain-important {
  object-fit: contain !important;
}

.FlybyControllerWrapper {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 101;
  pointer-events: none;
}
.FlybyControllerWrapper > * {
  pointer-events: all;
}
.FlybyControllerWrapper .FlybyControllerWrapper-filter-call-button {
  position: absolute;
  left: var(--space-4);
  top: calc(var(--s3d-header) + var(--space-1));
}
.FlybyControllerWrapper .s3d__compass {
  position: absolute;
  right: var(--space-4);
  top: calc(var(--s3d-header) + var(--space-1));
}

.FlybyController {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  z-index: 100;
  width: calc(180px + var(--space-4) * 2);
}
.FlybyController > :nth-child(n+2) {
  margin-top: var(--space-1);
}
.FlybyController > :empty {
  display: none;
}
.FlybyController__row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-1);
}
.FlybyController > .ButtonWithoutIcon {
  text-align: left;
}
.FlybyController .s3dFlybySideChooser .ButtonWithoutIcon {
  padding-top: 3px;
  padding-bottom: 3px;
}

.tablet .FlybyControllerWrapper-filter-call-button,
.tablet .FlybyController,
.mobile .FlybyControllerWrapper-filter-call-button,
.mobile .FlybyController {
  display: none;
}

.SpinNav {
  position: fixed;
  bottom: var(--space-4);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  background-color: var(--surface-gray-900-transperent-40);
  --transition: .25s ease-out;
  transition: var(--transition);
  padding: var(--space-2);
  border-radius: 100px;
  width: max-content !important;
  overflow: hidden;
  z-index: 100;
}
.SpinNav__load-element {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
  transform-origin: left;
  transition: var(--transition);
}
.SpinNav__counter {
  margin: 0 var(--space-2);
  position: relative;
  width: 46px;
  z-index: 1;
  text-align: center;
  color: var(--text-gray-200);
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  transition: var(--transition);
}
.SpinNav__arrow {
  width: 56px;
  height: 56px;
  border-radius: var(--border-space-8);
  border: none;
  background-color: var(--color-surface-gray-300);
  background-color: var(--color-surface-gray-200-transperent-88);
  cursor: pointer;
  position: relative;
  z-index: 1;
  transition: 0.25s ease-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (hover: hover) {
  .SpinNav__arrow {
    overflow: hidden;
    background-color: var(--color-surface-gray-300);
  }
  .SpinNav__arrow::before {
    content: "";
    background: var(--color-surface-gray-200-transperent-88);
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 50%;
    transition: transform 0.3s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 0, 0);
  }
  .SpinNav__arrow:hover {
    border-color: var(--color-surface-gray-200-transperent-88);
  }
  .SpinNav__arrow:hover::before {
    transform: translate3d(0, 100%, 0);
  }
}
.SpinNav__arrow svg {
  width: 24px;
  height: 24px;
  transition: var(--transition);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .SpinNav__arrow svg {
    width: 18px;
    height: 18px;
  }
}
.SpinNav.inLoad {
  background-color: var(--color-surface-gray-400-transperent-88);
}
.SpinNav.inLoad .SpinNav__load-element {
  background-color: var(--color-surface-gray-200);
}
.SpinNav.inLoad .SpinNav__counter {
  color: var(--text-gray-900);
}
.SpinNav.inLoad .SpinNav__arrow {
  background-color: var(--color-surface-gray-200-transperent-88);
}
.SpinNav.inLoad .SpinNav__arrow svg {
  fill: var(--icon-gray-400);
  pointer-events: none;
}

.desktop .SpinNav svg {
  transition: 0.25s ease-out;
}
.desktop .SpinNav__arrow:hover {
  background-color: var(--color-surface-gray-400-transperent-88);
}
.tablet .SpinNav,
.mobile .SpinNav {
  user-select: none;
  bottom: calc(var(--mobile-controller-height) + var(--space-4));
}
.tablet .SpinNav__arrow,
.mobile .SpinNav__arrow {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: 0.25s ease-out;
}
.tablet .SpinNav__arrow:active,
.mobile .SpinNav__arrow:active {
  transform: scale(1.05);
}

.mobile .SpinNav {
  bottom: calc(var(--mobile-controller-height) + var(--space-1));
}

.MobileFlybyController {
  position: fixed;
  bottom: 0;
  padding-bottom: var(--space-2);
  width: 100%;
  display: flex;
  height: var(--mobile-controller-height);
  justify-content: center;
  z-index: 101;
  pointer-events: all;
}
.MobileFlybyController > :nth-child(n+2) {
  margin-left: var(--space-05);
}
.MobileFlybyController.open-some-modal > *:not(.me-open-some-element) {
  opacity: 0.5;
}

.desktop .MobileFlybyController {
  display: none;
}

.mobile [data-type=flat] .MobileFlybyController {
  width: 295px;
  left: 50%;
  transform: translateX(-50%);
  transition: none;
}
.mobile [data-type=flat] .MobileFlybyController [data-open-form] {
  flex-grow: 1;
}

.MobileFunctionsMenu {
  position: fixed;
  bottom: calc(var(--mobile-controller-height) + var(--space-1));
  left: 50%;
  transform: translateX(-50%);
  z-index: 120;
  padding: var(--space-2);
  background-color: var(--color-surface-gray-200-transperent-88);
  width: 360px;
  max-width: 100vw;
  border-radius: var(--border-space-3);
  padding-bottom: var(--space-5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}
.MobileFunctionsMenu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.MobileFunctionsMenu {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  gap: var(--space-05);
  flex-wrap: wrap;
}
.MobileFunctionsMenu__row {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.MobileFunctionsMenu__group {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-200-trancperent-88);
  border-radius: var(--border-space-2);
}
.MobileFunctionsMenu__group .IconButton {
  border: none;
}
.MobileFunctionsMenu__title {
  text-align: center;
  flex-grow: 1;
  padding: var(--space-2) var(--space-3);
}
.MobileFunctionsMenu .s3dFlybySideChooser,
.MobileFunctionsMenu .s3d-ctr__menu-3d-btn-style,
.MobileFunctionsMenu .ButtonWithoutIcon {
  width: 100%;
  text-align: left;
}
.MobileFunctionsMenu .s3dFlybySideChooser,
.MobileFunctionsMenu .s3d__choose--flat {
  width: max-content;
  width: 100%;
  height: 40px;
}
.MobileFunctionsMenu .s3dFlybySideChooser .ButtonWithoutIcon,
.MobileFunctionsMenu .s3d__choose--flat .ButtonWithoutIcon {
  text-align: center;
}
.MobileFunctionsMenu .s3d-floor__tabs-title-mob {
  display: none;
}
.MobileFunctionsMenu .s3d-floor__tabs-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.MobileFunctionsMenu .s3d-floor__tabs-wrapper .s3d-floor__info-container__title {
  width: 100%;
}
.MobileFunctionsMenu .s3d-floor__tabs-wrapper .CheckboxWithLabel {
  width: 50%;
}
.MobileFunctionsMenu .s3d-floor__tabs-wrapper .CheckboxWithLabel {
  margin-top: var(--space-2);
}
.MobileFunctionsMenu__close {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(-4%, 4%);
}
.MobileFunctionsMenu__close svg {
  width: 24px;
  height: 24px;
}
.MobileFunctionsMenu[data-mobile-floor-functions-menu] .MobileFunctionsMenu__title {
  text-align: center;
  padding-bottom: var(--space-05);
}
.MobileFunctionsMenu[data-mobile-floor-functions-menu] .s3d-ctr__menu-3d-btn-style {
  margin-bottom: var(--space-3);
}
.MobileFunctionsMenu[data-mobile-floor-functions-menu] .s3d-floor__info-container__title {
  margin-bottom: 0;
}

.desktop .MobileFunctionsMenu {
  display: none !important;
}

.MobileNavigationMenu {
  position: fixed;
  bottom: calc(var(--mobile-controller-height) + var(--space-1));
  left: 50%;
  transform: translateX(-50%);
  z-index: 120;
  padding: var(--space-2);
  background-color: var(--color-surface-gray-200-transperent-88);
  width: 360px;
  max-width: 100vw;
  border-radius: var(--border-space-3);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  gap: var(--space-05);
  flex-wrap: wrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}
.MobileNavigationMenu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.MobileNavigationMenu .js-s3d-nav__btn[data-type=flat] {
  display: none;
}
.MobileNavigationMenu .js-s3d-nav__btn[data-type=flat][data-id] {
  display: flex;
}
.MobileNavigationMenu .js-s3d-nav__btn[data-type=flat][data-id=undefined] {
  display: none;
}
.MobileNavigationMenu__title {
  text-align: center;
  flex-grow: 1;
  padding: var(--space-2) var(--space-3);
}
.MobileNavigationMenu__close {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(-4%, 4%);
}
.MobileNavigationMenu__close svg {
  width: 24px;
  height: 24px;
}
.MobileNavigationMenu .s3d-ctr__menu-3d-btn-style,
.MobileNavigationMenu .ButtonWithoutIcon {
  width: 100%;
}
.MobileNavigationMenu .ButtonWithoutIcon {
  text-align: left;
}

.desktop .MobileNavigationMenu {
  display: none !important;
}

.CompareItem {
  position: relative;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  justify-content: flex-start;
  width: 40%;
  border: 1px solid transparent;
  border-radius: var(--border-space-2);
  transition: 0.25s ease-out;
}
.CompareItem__close {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  top: 8px;
  transform-origin: center;
  transition: 0.25s ease-out;
  cursor: pointer;
  z-index: 2;
}
.CompareItem__close:hover {
  transform: rotate(90deg);
}
.CompareItem__table {
  overflow-y: scroll;
  height: 35vh;
  margin-right: 4px;
  overscroll-behavior: none;
}
@media screen and (max-width: 600px) {
  .CompareItem__table {
    overscroll-behavior: auto;
  }
}
.CompareItem__table::-webkit-scrollbar {
  background-color: none;
  width: 4px;
}
.CompareItem__table::-webkit-scrollbar-thumb {
  border-radius: 10px;
  height: 44px;
  background-color: var(--text-gray-600);
}
.CompareItem__table::-webkit-scrollbar-track {
  background-color: none;
}
.CompareItem__table-cell {
  display: flex;
  align-items: center;
}
.CompareItem__table-cell > :nth-child(1) {
  margin-right: var(--space-2);
}
.CompareItem__table-row {
  padding-left: var(--space-5);
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
}
.CompareItem__table-title {
  color: var(--color-gray-700);
}
.CompareItem__link {
  margin: 27px var(--space-5) var(--space-8);
}
.CompareItem__img {
  position: relative;
  padding-bottom: 52.5%;
  margin-bottom: var(--space-5);
  border-radius: var(--border-space-2);
}
.CompareItem__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (min-height: 880px) {
  .mouseOnly .CompareItem:hover,
  .hybrid .CompareItem:hover {
    border-color: var(--border-gray-600-transparent-88);
  }
}
.tablet .CompareItem__table {
  height: 196px;
}

.mobile .CompareItem {
  border: 1px solid var(--border-gray-400);
  border-radius: var(--border-space-2);
}
.mobile .CompareItem__link {
  margin: var(--space-5) var(--space-5) var(--space-8) var(--space-5);
}
.mobile .CompareItem__table {
  height: 21vh;
}

.SuccessFormPopup {
  background-color: var(--color-900-trancperent-40);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
}
.SuccessFormPopup__content {
  padding: var(--space-12);
  background-color: var(--color-surface-gray-200);
  max-width: 920px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: var(--space-16);
  max-height: 100vh;
  overflow-y: auto;
}
@media screen and (max-width: 1024px) {
  .SuccessFormPopup__content {
    width: calc(100% - var(--space-5) - var(--space-5));
    margin: auto;
    max-width: none;
    padding: var(--space-8) var(--space-7);
  }
}
@media screen and (max-width: 600px) {
  .SuccessFormPopup__content {
    padding-bottom: 150px;
    padding-left: var(--space-6);
    padding-right: var(--space-6);
    padding-top: var(--space-8);
    width: calc(100% - var(--space-2) - var(--space-2));
  }
}
@media screen and (max-width: 1024px) {
  .SuccessFormPopup__button {
    align-self: flex-end;
  }
}
@media screen and (max-width: 600px) {
  .SuccessFormPopup__button {
    order: 6;
    margin-top: var(--space-8);
  }
}
.SuccessFormPopup__close {
  width: var(--space-6);
  height: var(--space-6);
  position: absolute;
  right: var(--space-5);
  top: var(--space-5);
  cursor: pointer;
  z-index: 3;
  transform-origin: center;
  transition: 0.3s ease-in-out;
}
@media (hover: hover) {
  .SuccessFormPopup__close:hover {
    transform: rotate(180deg);
  }
}
@media screen and (max-width: 1024px) {
  .SuccessFormPopup__close {
    right: var(--space-2);
    top: var(--space-2);
  }
}
.SuccessFormPopup__close svg {
  width: 100%;
  height: 100%;
}
.SuccessFormPopup__title {
  font-family: "Inter Display";
  font-size: 96px;
  font-style: normal;
  font-weight: 200;
  line-height: 100%; /* 96px */
  letter-spacing: -1.92px;
  margin-bottom: 100px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .SuccessFormPopup__title {
    font-size: 64px;
    width: 80%;
  }
}
@media screen and (max-width: 600px) {
  .SuccessFormPopup__title {
    font-family: "Inter Display";
    font-size: 40px;
    font-style: normal;
    font-weight: 200;
    line-height: 100%; /* 40px */
    letter-spacing: -0.8px;
    width: 100%;
    margin-bottom: var(--space-8);
  }
}
.SuccessFormPopup__text {
  font-family: "Inter Display";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
  color: var(--text-gray-800);
  max-width: 274px;
}
@media screen and (max-width: 1024px) {
  .SuccessFormPopup__text {
    max-width: 225px;
  }
}
.SuccessFormPopup__bg {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 35%;
  height: auto;
  pointer-events: none;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .SuccessFormPopup__bg {
    width: 75%;
  }
}
.SuccessFormPopup__bg img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: scaleX(-1) translate3d(-15%, 10%, 10px);
}

@keyframes confetti-slow {
  0% {
    transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);
  }
  100% {
    transform: translate3d(25px, 105vh, 0) rotateX(360deg) rotateY(180deg);
  }
}
@keyframes confetti-medium {
  0% {
    transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);
  }
  100% {
    transform: translate3d(100px, 105vh, 0) rotateX(100deg) rotateY(360deg);
  }
}
@keyframes confetti-fast {
  0% {
    transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);
  }
  100% {
    transform: translate3d(-50px, 105vh, 0) rotateX(10deg) rotateY(250deg);
  }
}
.container {
  width: 100vw;
  height: 100vh;
  background: #f0f0f0;
}

.confetti-container {
  perspective: 700px;
  position: absolute;
  overflow: hidden;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}

.confetti {
  position: absolute;
  z-index: 1;
  top: -10px;
  border-radius: 0%;
}
.confetti--animation-slow {
  animation: confetti-slow 3s linear 1 forwards;
}
.confetti--animation-medium {
  animation: confetti-medium 2.5s linear 1 forwards;
}
.confetti--animation-fast {
  animation: confetti-fast 2s linear 1 forwards;
}

.SvgFloorPolygonTooltip-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: translateY(-100%) translateX(0%);
}
@media screen and (max-width: 768px) {
  .SvgFloorPolygonTooltip-wrapper {
    transform: none;
  }
}

.SvgFloorPolygonTooltip {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.SvgFloorPolygonTooltip__title {
  border-radius: 50%;
  background-color: var(--color-surface-gray-200);
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
  padding: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font20);
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .SvgFloorPolygonTooltip__title {
    position: relative;
    width: 64px;
    height: 64px;
  }
}
@media screen and (min-width: 769px) {
  .SvgFloorPolygonTooltip__title:before {
    content: "+";
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
    color: var(--color-surface-gray-200);
    width: 100%;
    height: 100%;
    clip-path: circle(0% at 50% 50%);
    transition: all 0.5s ease;
  }
}
.SvgFloorPolygonTooltip__title.active:before {
  clip-path: circle(100% at 50% 50%);
  background-color: var(--border-brand-800);
}
.SvgFloorPolygonTooltip__description {
  background-color: var(--surface-gray-900);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  font-size: 14px;
  padding: var(--space-1);
  color: var(--text-gray-200);
  margin-top: var(--space-1);
  border-radius: var(--border-space-1);
  width: max-content;
}
.SvgFloorPolygonTooltip--active .SvgFloorPolygonTooltip__title {
  background-color: var(--surface-gray-900);
  border-color: var(--border-gray-900);
  color: var(--text-gray-200);
}

.safari .SvgFloorPolygonTooltip-wrapper {
  transform: none;
}
.safari .SvgFloorPolygonTooltip__title {
  position: static;
}
.safari .SvgFloorPolygonTooltip__title:before {
  display: none;
}

.s3d2-header {
  position: relative;
  padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3);
  background-color: var(--color-surface-gray-200);
  background-color: var(--color-surface-gray-200-transperent-88);
  display: flex;
  align-items: center;
  --btn-border-radius: var(--border-space-1);
  border-radius: var(--border-space-2);
  border: 1px solid transparent;
  border-radius: var(--paddings-gaps-paddings-gaps-2, 8px);
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
}
.s3d2-header__logo {
  margin-right: var(--space-3);
  height: 28px;
}
@media screen and (max-width: 600px) {
  .s3d2-header__logo {
    margin-right: 0;
    padding-right: var(--space-3);
    margin-left: calc(var(--space-3) * -1);
    padding-left: calc(var(--space-3));
  }
}
.s3d2-header__logo img {
  height: 100%;
  width: auto;
  object-fit: contain;
}
.s3d2-header [data-history-back-button] {
  padding-right: 8px;
}
.s3d2-header__back-button {
  font-size: 10px;
  font-family: "Inter Display", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 100%;
  text-decoration: none;
  text-transform: none;
  padding: var(--space-1);
  margin-right: var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-gray-200);
  border: 1px solid var(--border-gray-400);
  border-radius: var(--btn-border-radius);
  cursor: pointer;
  color: var(--icon-gray-900);
  transition: 0.25s ease-out;
  height: 36px;
  background-color: transparent;
  border-color: transparent;
  color: var(--text-gray-200);
}
.s3d2-header__back-button[data-type=plannings] {
  border-radius: var(--Spacing-Corner-radius-radius-1, 4px);
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
}
.s3d2-header__back-button[data-type=plannings] path {
  fill: var(--icon-gray-200);
}
.s3d2-header__back-button.active {
  background-color: var(--border-brand-800);
}
.s3d2-header__back-button.active svg path {
  fill: var(--icon-gray-200);
}
.s3d2-header__back-button-icon {
  margin-right: var(--space-1);
  width: 24px;
  height: 24px;
  fill: var(--icon-gray-200);
  margin-right: var(--space-1);
  transform-origin: center;
  transform-box: fill-box;
  transition: 0.25s ease-out;
  padding: var(--space-1);
}
.s3d2-header__back-button-icon .cubes {
  transform-origin: center;
  transform-box: fill-box;
  transition: 0.25s ease-out;
}
.s3d2-header__back-button-icon:only-child {
  margin-right: 0;
}
.s3d2-header__back-button.highlighted {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-900);
}
.s3d2-header__back-button.highlighted .s3d2-header__back-button-icon {
  fill: var(--icon-gray-200);
}
.s3d2-header__back-button.highlighted .s3d2-header__back-button-icon [fill] {
  fill: var(--icon-gray-200);
}
.s3d2-header__back-button:hover {
  background-color: var(--color-surface-gray-200);
  border-color: transparent;
  color: var(--text-gray-900);
}
@media (hover: hover) {
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon {
    fill: var(--icon-gray-900);
  }
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon .x1y1 {
    transform: translateX(9px);
  }
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon .x1y2 {
    transform: translateY(-9px);
  }
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon .x2y1 {
    transform: translateY(9px);
  }
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon .x2y2 {
    transform: translateX(-9px);
  }
  .s3d2-header__back-button:hover .s3d2-header__back-button-icon [fill] {
    fill: var(--icon-gray-900);
  }
}
.s3d2-header__back-button:disabled {
  pointer-events: none;
}
.s3d2-header__nav-button {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-gray-300);
  background-color: var(--color-surface-gray-200-transperent-88);
  padding: var(--space-2) var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--btn-border-radius);
  color: var(--text-gray-900);
  transition: 0.25s ease-out;
  cursor: pointer;
  border-radius: var(--Spacing-Corner-radius-radius-1, 4px);
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  color: var(--text-gray-200);
}
.s3d2-header__nav-button[data-id=undefined][data-type=flat] {
  opacity: 0.7;
  pointer-events: none;
}
.s3d2-header__nav-button[data-header-flat-plan-group] {
  display: none;
}
.s3d2-header__nav-button[data-header-flat-plan-group][data-id] {
  display: flex;
}
.s3d2-header__nav-button[data-header-flat-plan-group][data-id=undefined] {
  display: none;
}
.s3d2-header__nav-button.active {
  background-color: var(--color-surface-brand-800);
  color: var(--text-gray-900);
  pointer-events: none;
  background: var(--Colors-Surface-Gray-surface-gray-200, #FAFBFE);
}
.s3d2-header__between-icon {
  width: 16px;
  height: 16px;
  fill: var(--icon-gray-200);
}
.s3d2-header__hide-block {
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 34px;
}
.s3d2-header__hide-block-opener {
  position: absolute;
  left: 100%;
  top: 50%;
  width: 16px;
  height: 16px;
  background-color: var(--color-surface-gray-200);
  background-color: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  border-radius: var(--border-space-1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  transform: translateY(-50%);
  border: 1px solid transparent;
  border-left: none;
  cursor: pointer;
  transition: 0.25s ease-out;
}
.s3d2-header__hide-block-opener-icon {
  width: 100%;
  height: 100%;
  fill: var(--Colors-Icon-Gray-icon-gray-200, #FAFBFE);
  transition: 0.25s ease-out;
}
.s3d2-header__hide-block-opener.active svg {
  transform: rotate(180deg);
}
.s3d2-header .Dropdown .Dropdown__item {
  border-radius: var(--Spacing-Corner-radius-radius-1, 4px);
  background-color: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6)) !important;
  color: var(--text-gray-200);
  border-color: transparent;
}
.s3d2-header .Dropdown .Dropdown__item:hover {
  color: var(--text-gray-900);
}
.s3d2-header .Dropdown .Dropdown__title {
  border-radius: var(--Spacing-Corner-radius-radius-1, 4px);
  background-color: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6)) !important;
  border-color: transparent;
  color: var(--text-gray-200);
}
.s3d2-header .Dropdown .Dropdown__title svg {
  fill: var(--icon-gray-200);
}

.desktop .s3d2-header__nav-button:hover {
  background-color: var(--color-brand-900);
}

.tablet .s3d2-header__hide-block-opener,
.tablet .s3d2-header__hide-block,
.mobile .s3d2-header__hide-block-opener,
.mobile .s3d2-header__hide-block {
  display: none !important;
}

.mobile .s3d2-header {
  padding-top: calc(var(--space-1) + 1px);
  padding-bottom: calc(var(--space-1) + 1px);
}
.mobile .s3d2-header__back-button {
  display: none;
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  padding: var(--space-4) var(--space-4) 0 var(--space-4);
  width: 100%;
  height: var(--s3d-header);
  background: none;
  pointer-events: none;
}
.header__left {
  display: flex;
  align-items: center;
  pointer-events: auto;
}
.header__right {
  display: flex;
  align-items: center;
  margin-left: auto;
  pointer-events: auto;
}
.header__right > :nth-child(n+2) {
  margin-left: var(--space-1);
}
.header [data-open-form] {
  -webkit-animation-duration: 8s;
  -webkit-transform-origin: 50% 50%;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: tremble;
}

@-webkit-keyframes tremble {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
  }
  1% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
  }
  2% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
  }
  3% {
    -webkit-transform: translate(0px, 2px) rotate(0deg);
  }
  4% {
    -webkit-transform: translate(5px, -1px) rotate(1deg);
  }
  5% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
  }
  6% {
    -webkit-transform: translate(-2px, 1px) rotate(0deg);
  }
  7% {
    -webkit-transform: translate(6px, 2px) rotate(-1deg);
  }
  8% {
    -webkit-transform: translate(-1px, -3px) rotate(1deg);
  }
  9% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(5px, -2px) rotate(-1deg);
  }
  11% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
  }
}
.mobile .header__right > :nth-child(n+2) {
  margin-left: var(--space-05);
}
.mobile .header .ButtonIconRight:last-child {
  width: var(--space-10);
  height: var(--space-10);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--space-2);
}
.mobile .header .ButtonIconRight:last-child span {
  display: none;
}
.mobile .header .ButtonIconRight:last-child svg {
  margin-left: 0;
}
.mobile .header [data-fullscreen-mode] {
  display: none;
}
.mobile .header {
  padding: var(--space-2) var(--space-2) 0 var(--space-2);
}
.mobile .js-s3d-filter-open:not([data-type=plannings]) .header {
  opacity: 0;
  visibility: hidden;
}

.lang-wrap {
  position: relative;
  width: 40px;
  height: 40px;
}

.language-list {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  width: 40px;
  max-height: 40px;
  border: 1px solid var(--border-gray-600-transparent-40);
  background-color: var(--color-surface-gray-200-transperent-88);
  border-radius: var(--border-space-2);
  transition: max-height 0.3s ease-in-out;
}
.language-list:hover {
  max-height: calc(var(--lang-count) * 40px);
}
.language-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--border-space-2);
  color: var(--text-gray-900);
  font-size: 13px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.3s ease-in-out;
}
.language-list a:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}

.Dropdown {
  position: relative;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
}
.Dropdown__title {
  background-color: var(--color-surface-gray-300);
  background-color: var(--color-surface-gray-200-transperent-88);
  color: var(--text-gray-900);
  white-space: nowrap;
  display: flex;
  align-items: center;
}
.Dropdown__title svg {
  width: 16px;
  height: 16px;
  fill: var(--icon-gray-700);
  margin-left: var(--space-2);
  transform-origin: center;
  transform-box: fill-box;
  transition: 0.25s ease-out;
}
.Dropdown.highlighted .Dropdown__title {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-800);
  color: var(--text-gray-200);
}
.Dropdown.highlighted .Dropdown__title svg {
  fill: var(--icon-gray-200);
}
.Dropdown__content {
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.25s ease-out;
}
.Dropdown:hover .Dropdown__content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.Dropdown:hover .Dropdown__title > svg {
  transform: rotate(180deg);
}
.Dropdown__item {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--border-space-1);
  background-color: var(--color-surface-gray-200);
  color: var(--text-gray-900);
  transition: 0.25s ease-out;
  border: 1px solid var(--border-gray-400);
  border-radius: var(--border-space-1);
  margin-top: -1px;
  cursor: pointer;
}
.Dropdown__item.active {
  pointer-events: none;
  background-color: var(--color-special-200-transparent-88);
  opacity: 0.5;
}
.Dropdown__item.active-because-prev-history-is-flyby {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-800);
  color: var(--text-gray-200);
}
.Dropdown__title {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-gray-400);
  border-radius: var(--border-space-1);
}
.Dropdown--animate .Dropdown__title:before, .Dropdown--animate .Dropdown__title:after {
  content: "";
  position: absolute;
  z-index: -10;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: var(--border-space-1);
  background: var(--color-surface-brand-900);
  transform: translate3d(0, 0, 0);
  opacity: 0;
  transform-origin: center;
}
.Dropdown--animate.playing .Dropdown__title {
  position: relative;
}
.Dropdown--animate.playing .Dropdown__title:before {
  opacity: 1;
  animation: pulseAnime 3s ease-out infinite;
}
.Dropdown--animate.playing .Dropdown__title:after {
  opacity: 1;
  animation: pulseAnime 3s ease-out 1s infinite;
}
.Dropdown--tiny .Dropdown__title {
  border: none;
  padding: 0;
  background-color: transparent;
}
.Dropdown--tiny svg {
  margin: 0;
}
.Dropdown .IconButton.active {
  background-color: var(--color-brand-900) !important;
}

@keyframes pulseAnime {
  0% {
    transform: scale(0.95);
    opacity: 1;
  }
  90% {
    opacity: 0.1;
  }
  to {
    transform: scale(1.2, 1.5);
    opacity: 0;
  }
}
.mouseOnly .Dropdown__item:not(.active-because-prev-history-is-flyby):hover,
.hybrid .Dropdown__item:not(.active-because-prev-history-is-flyby):hover {
  background-color: var(--color-surface-gray-300);
}

.IconButton {
  border: 1px solid var(--border-gray-600-transparent-40);
  background-color: var(--color-surface-gray-200-transperent-88);
  border-radius: var(--border-space-2);
  padding: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.25s ease-out;
}
.IconButton svg {
  width: 24px;
  height: 24px;
  fill: var(--icon-gray-900);
}
.IconButton.s3d_audioAssistantState-active {
  background-color: var(--color-brand-900) !important;
}
.IconButton.s3d_audioAssistantState-active svg {
  fill: var(--icon-gray-200);
}
.IconButton.active {
  background-color: var(--color-brand-800);
  border-color: var(--border-brand-900);
}
.IconButton.active svg {
  fill: var(--icon-gray-200);
}
.IconButton--alert {
  border-color: var(--border-accent-800);
  background-color: var(--color-special-accent-sold-overlays-transparent-72);
}
.IconButton--alert svg {
  fill: var(--icon-gray-200);
}
.IconButton--dark {
  border-radius: var(--Spacing-Corner-radius-radius-2, 8px);
  background: var(--colors-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
  border-color: transparent;
}
.IconButton--dark svg {
  fill: var(--icon-gray-200);
}
.IconButton:disabled {
  pointer-events: none;
  border-color: var(--border-gray-400);
  background-color: var(--color-surface-gray-200);
}
.IconButton:disabled svg {
  fill: var(--icon-gray-400);
}

.mouseOnly .IconButton:hover,
.hybrid .IconButton:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.mouseOnly .IconButton.active,
.hybrid .IconButton.active {
  border-color: var(--border-brand-900);
  background-color: var(--color-surface-brand-800);
}
.mouseOnly .IconButton.active svg,
.hybrid .IconButton.active svg {
  fill: var(--icon-gray-200);
}
.mouseOnly .IconButton--dark.active,
.mouseOnly .IconButton--dark:hover,
.hybrid .IconButton--dark.active,
.hybrid .IconButton--dark:hover {
  border-color: transparent;
  background: var(--colors-surface-gray-surface-gray-900-transparent-80, rgba(26, 30, 33, 0.8));
}

.ButtonWithoutIcon {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  padding: calc(-1px + var(--space-3)) var(--space-3);
  color: var(--text-gray-900);
  background-color: var(--color-surface-gray-200-transperent-88);
  border: 1px solid var(--border-gray-400);
  border-radius: var(--border-space-2);
  cursor: pointer;
  transition: 0.25s ease-out;
  text-align: left;
  text-align: center;
}
.ButtonWithoutIcon--alert {
  background-color: var(--color-special-accent-sold-overlays-transparent-72);
  color: var(--text-gray-200);
  border-color: var(--border-accent-800);
}
.ButtonWithoutIcon--with-icon {
  display: flex;
  align-items: center;
}
.ButtonWithoutIcon--with-icon [fill] {
  fill: var(--icon-gray-200);
}
.ButtonWithoutIcon--with-icon svg {
  margin-right: var(--space-3);
}
.ButtonWithoutIcon.active, .ButtonWithoutIcon--secondary {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-900);
  color: var(--text-gray-200);
}
.ButtonWithoutIcon[disabled] {
  border-color: var(--border-gray-400);
  background-color: var(--color-surface-gray-200);
  color: var(--text-gray-600);
  pointer-events: none;
  cursor: not-allowed !important;
  opacity: 0.5;
}

.mouseOnly .ButtonWithoutIcon.active,
.hybrid .ButtonWithoutIcon.active {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-900);
  color: var(--text-gray-200);
}
.mouseOnly .ButtonWithoutIcon.active:hover,
.hybrid .ButtonWithoutIcon.active:hover {
  background-color: var(--color-surface-brand-800);
  border-color: var(--border-brand-900);
  color: var(--text-gray-200);
  cursor: default;
}
.mouseOnly .ButtonWithoutIcon.active:not([data-flat-explication-button=floor]):not([data-flat-explication-button=type]),
.hybrid .ButtonWithoutIcon.active:not([data-flat-explication-button=floor]):not([data-flat-explication-button=type]) {
  border-color: var(--border-brand-800);
  background-color: var(--color-surface-brand-700);
}
.mouseOnly .ButtonWithoutIcon:hover,
.hybrid .ButtonWithoutIcon:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.mouseOnly .ButtonWithoutIcon--alert:hover,
.hybrid .ButtonWithoutIcon--alert:hover {
  background-color: var(--color-surface-accent-800);
  border-color: var(--border-accent-800);
}
.mouseOnly .ButtonWithoutIcon--secondary:hover,
.hybrid .ButtonWithoutIcon--secondary:hover {
  background-color: var(--color-surface-brand-700);
  border-color: var(--border-brand-800);
}

.ButtonIconRight {
  border-radius: var(--border-space-2);
  padding: var(--space-2) var(--space-3);
  color: var(--text-gray-900);
  background-color: var(--color-surface-gray-200-transperent-88);
  border: 1px solid var(--border-gray-400);
  cursor: pointer;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  display: flex;
  align-items: center;
}
.ButtonIconRight svg {
  fill: var(--icon-gray-900);
  width: 24px;
  height: 24px;
  margin-left: var(--space-1);
}
.ButtonIconRight--dark {
  border-radius: var(--Spacing-Corner-radius-radius-2, 8px);
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
  border-color: transparent;
  color: var(--text-gray-200);
}
.ButtonIconRight--dark svg {
  fill: var(--icon-gray-200);
}

.mouseOnly .ButtonIconRight:hover,
.hybrid .ButtonIconRight:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.mouseOnly .ButtonIconRight--dark:hover,
.hybrid .ButtonIconRight--dark:hover {
  border-color: transparent;
  background: var(--colors-surface-gray-surface-gray-900-transparent-80, rgba(26, 30, 33, 0.8));
}

.mobile .ButtonIconRight {
  padding-top: calc(var(--space-2) - 1px);
  padding-bottom: calc(var(--space-2) - 1px);
}

.ButtonIconLeft {
  border-radius: var(--border-space-2);
  padding: var(--space-2) var(--space-3);
  color: var(--text-gray-900);
  background-color: var(--color-surface-gray-200);
  background-color: var(--color-surface-gray-200-transperent-88);
  border: 1px solid var(--border-gray-400);
  cursor: pointer;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  display: flex;
  align-items: center;
  transition: 0.25s ease-out;
}
.ButtonIconLeft span {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}
@media screen and (max-width: 768px) {
  .ButtonIconLeft span {
    font-size: 11px;
  }
}
.ButtonIconLeft svg {
  width: 24px;
  height: 24px;
  margin-right: var(--space-1);
}
.ButtonIconLeft svg:not(.ButtonIconLeft__icon--no-paints) {
  fill: var(--icon-gray-900);
}
.ButtonIconLeft svg:not(.ButtonIconLeft__icon--no-paints) path {
  fill: var(--icon-gray-900);
}
.ButtonIconLeft--secondary {
  background-color: var(--color-surface-brand-800);
  border: 1px solid var(--color-brand-900);
  color: var(--text-gray-200);
}
.ButtonIconLeft--secondary svg:not(.ButtonIconLeft__icon--no-paints) {
  fill: var(--icon-gray-200);
  stroke: var(--icon-gray-200);
}
.ButtonIconLeft--centered {
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .ButtonIconLeft--centered span {
    font-size: 13px;
  }
}
.ButtonIconLeft--dark {
  border-radius: var(--Spacing-Corner-radius-radius-2, 8px);
  background: var(--colors-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
  border-color: transparent;
  color: var(--text-gray-200);
}
.ButtonIconLeft:disabled {
  background-color: var(--color-surface-gray-100);
  border: 1px solid var(--border-gray-400);
  color: var(--text-gray-600);
  cursor: not-allowed;
}
.ButtonIconLeft:disabled svg {
  fill: var(--icon-gray-600);
}
.ButtonIconLeft[data-filter-not-empty]::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--color-surface-success);
  border-radius: 50%;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.ButtonIconLeft--filter path {
  transform-origin: center;
  transition: 0.25s ease-out;
  transform-box: fill-box;
}

.mouseOnly .ButtonIconLeft:hover,
.hybrid .ButtonIconLeft:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.mouseOnly .ButtonIconLeft--secondary:hover, .mouseOnly .swal2-confirm:hover,
.hybrid .ButtonIconLeft--secondary:hover,
.hybrid .swal2-confirm:hover {
  border-color: var(--border-brand-800);
  background-color: var(--color-surface-brand-700);
}
.mouseOnly .ButtonIconLeft--filter:hover path:nth-child(1),
.hybrid .ButtonIconLeft--filter:hover path:nth-child(1) {
  transform: translateX(-8px);
}
.mouseOnly .ButtonIconLeft--filter:hover path:nth-child(2),
.hybrid .ButtonIconLeft--filter:hover path:nth-child(2) {
  transform: translateX(8px);
}
.mouseOnly .ButtonIconLeft--filter:hover path:nth-child(3),
.hybrid .ButtonIconLeft--filter:hover path:nth-child(3) {
  transform: translateX(-8px);
}
.mouseOnly .ButtonIconLeft--dark:hover,
.hybrid .ButtonIconLeft--dark:hover {
  border-color: transparent;
  background: var(--colors-surface-gray-surface-gray-900-transparent-80, rgba(26, 30, 33, 0.8));
}

.BigButton {
  border-radius: var(--border-space-32);
  padding: var(--space-6) var(--space-8);
  color: var(--text-gray-200);
  background-color: var(--color-brand-800);
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  display: flex;
  align-items: center;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 1024px) {
  .BigButton {
    padding: var(--space-3) var(--space-8);
  }
}
.BigButton span {
  font-family: "Inter Display";
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 16.9px */
}
@media screen and (max-width: 768px) {
  .BigButton span {
    font-size: 11px;
  }
}
.BigButton svg {
  width: 24px;
  height: 24px;
  margin-right: var(--space-1);
  fill: var(--icon-gray-200);
  margin-right: var(--space-3);
}
.BigButton:disabled {
  background-color: var(--color-surface-gray-100);
  border: 1px solid var(--border-gray-400);
  color: var(--text-gray-600);
  cursor: not-allowed;
}
.BigButton:disabled svg {
  fill: var(--icon-gray-600);
}

.mouseOnly .BigButton:hover,
.hybrid .BigButton:hover {
  background-color: var(--color-brand-900);
}

.Link {
  background-color: transparent;
  padding: 0;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.Link__text {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-700);
  transition: 0.25s ease-out;
}
.Link svg {
  width: var(--space-6);
  height: var(--space-6);
  margin-right: var(--space-1);
  fill: var(--icon-gray-700);
  transition: 0.25s ease-out;
}
.Link:hover .Link__text {
  color: var(--text-gray-900);
}
.Link:hover svg {
  fill: var(--icon-gray-900);
}
.Link[disabled] {
  cursor: not-allowed;
}
.Link[disabled] .Link__text {
  color: var(--text-gray-400);
}
.Link[disabled] svg {
  fill: var(--icon-gray-400);
}

.MenuMobileButton {
  padding: var(--space-2);
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  backdrop-filter: blur(20px);
  border-radius: var(--border-space-2);
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  font-size: 13px;
}
.MenuMobileButton > span {
  color: var(--text-gray-200);
}
.MenuMobileButton svg {
  width: 24px;
  height: 24px;
  fill: var(--icon-gray-200);
  transform-origin: center;
  transform-box: fill-box;
  transition: 0.25s ease-out;
}
.MenuMobileButton span ~ svg {
  margin-left: var(--space-1);
  width: 16px;
  height: 16px;
  fill: var(--icon-gray-200);
  transform: rotate(180deg);
}
.MenuMobileButton.me-open-some-element span ~ svg {
  transform: rotate(0);
}
.MenuMobileButton--secondary {
  background: var(--color-special-accent-sold-overlays-transparent-72);
  border-color: var(--border-accent-900);
  color: var(--text-gray-200);
}
.MenuMobileButton--secondary span {
  color: var(--text-gray-200);
}
.MenuMobileButton--secondary span ~ svg {
  fill: var(--icon-gray-200);
}
.MenuMobileButton--primary.me-open-some-element svg, .MenuMobileButton--primary.active svg {
  fill: var(--icon-gray-700);
}
.MenuMobileButton--brand.active {
  background-color: var(--color-surface-brand-800);
}
.MenuMobileButton--brand.active svg {
  fill: var(--icon-gray-200);
}
.MenuMobileButton--primary.me-open-some-element {
  position: relative;
}
.MenuMobileButton--primary.me-open-some-element:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 5px;
  background: var(--colors-surface-gray-surface-gray-900-transparent-60, rgba(26, 30, 33, 0.6));
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
.MenuMobileButton--secondary.me-open-some-element {
  background-color: var(--surface-accent-800);
  border-color: var(--border-accent-900);
  position: relative;
}
.MenuMobileButton--secondary.me-open-some-element:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 5px;
  background-color: var(--surface-accent-800);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
.MenuMobileButton[data-filter-not-empty] {
  position: relative;
}
.MenuMobileButton[data-filter-not-empty]::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--color-surface-success);
  border-radius: 50%;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}

.accordion-wrapper {
  width: 100%;
  border: 1px solid var(--border-gray-600-transparent-40);
  border-radius: var(--border-space-2);
  background-color: var(--color-surface-gray-200-transperent-88);
  overflow: hidden;
}

.accordion {
  color: var(--text-gray-900);
  cursor: pointer;
  padding: var(--space-3);
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  background-color: var(--color-surface-gray-200-transperent-88);
  transition: 0.4s;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}
.accordion__padding-block {
  height: var(--space-2);
  width: 100%;
}
.accordion:after {
  content: "";
  /* Unicode character for "plus" sign (+) */
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.9762 4.97619C12.775 4.78706 12.4585 4.79685 12.2694 4.99806L7.99766 9.54265L3.72591 4.99806C3.53678 4.79685 3.22035 4.78706 3.01914 4.97619C2.81793 5.16532 2.80814 5.48175 2.99726 5.68296L7.56047 10.5376C7.79742 10.7897 8.19789 10.7897 8.43484 10.5376L12.998 5.68296C13.1872 5.48175 13.1774 5.16532 12.9762 4.97619Z' fill='%236C7A88'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  float: right;
  margin-left: 5px;
  transform-origin: center;
  transition: 0.25s ease-out;
}
.accordion.active:after {
  content: "";
  /* Unicode character for "minus" sign (-) */
  transform: rotate(180deg);
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
/* Style the accordion panel. Note: hidden by default */
.panel {
  padding: 0 var(--space-2);
  background-color: white;
  background-color: var(--color-surface-gray-200-transperent-88);
  overflow: hidden;
  max-height: 0;
  transition: 0.25s ease-out;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-05);
}
.panel > *:not(.accordion__padding-block) {
  width: auto !important;
}

.TinyButton {
  width: 24px;
  height: 24px;
  background-color: transparent;
  border-radius: var(--border-space-2);
  border: 1px solid transparent;
  transition: 0.25s ease-out;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-gray-900);
}
.TinyButton.active {
  border-color: var(--border-brand-900);
  background-color: var(--surface-gray-900);
  color: var(--text-gray-200);
}

.mouseOnly .TinyButton:hover {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-400);
  color: var(--text-gray-900);
}

.lds-ring {
  /* change color here */
  color: var(--border-brand-800);
}

.lds-ring,
.lds-ring div {
  box-sizing: border-box;
}

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

.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 4px solid currentColor;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: currentColor transparent transparent transparent;
}

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

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

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

@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.TextInput {
  padding: var(--space-4);
  background-color: var(--color-surface-gray-100);
  border: 1px solid var(--border-gray-600-transparent-40);
  border-radius: var(--border-space-1);
  -webkit-appearance: none;
  appearance: none;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  transition: 0.25s ease-out;
}
@media screen and (min-width: 769px) {
  .TextInput {
    padding: calc(var(--space-5) + 2px) var(--space-5);
  }
}
.TextInput:focus {
  outline: none;
  border-color: var(--border-gray-600);
  background-color: var(--color-gray-100);
}
.TextInput:hover {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-600);
}

.Textarea {
  padding: var(--space-5);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  background-color: var(--color-surface-gray-100);
  border: 1px solid var(--border-gray-600-transparent-40);
  border-radius: var(--border-space-1);
  color: var(--text-gray-900);
  flex-grow: 1;
  width: 100%;
  min-height: 60px;
  max-width: 100%;
  max-height: 250px;
}
@media screen and (max-width: 768px) {
  .Textarea {
    padding: var(--space-4);
  }
}
.Textarea::placeholder {
  color: var(--text-gray-600);
}
.Textarea:focus {
  outline: none;
  border-color: var(--border-gray-600);
  background-color: var(--color-gray-100);
}

.Range .irs {
  --irs-point: 15px;
  --irs-color-text: var(--color-surface-brand-800);
  --irs-color-bg-line: var(--color-surface-brand-800);
  --irs-color-bar: var(--color-surface-brand-800);
  --irs-color-point: var(--color-surface-brand-800);
  --irs-color-point-stroke: var(--color-surface-brand-800);
  margin-bottom: -20px;
}
@media screen and (min-width: 1441px) {
  .Range .irs {
    margin-bottom: -25px;
  }
}
.Range .irs--flat .irs-bar {
  height: 2px;
}
.Range {
  --input-width: 100px;
}
@media screen and (max-width: 1360px) and (min-width: 1024px) {
  .Range {
    --input-width: 80px;
  }
}
.Range {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.Range__title {
  width: 100%;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  margin-bottom: var(--space-1);
  color: var(--text-gray-900);
}
.Range__item {
  flex-grow: 1;
  margin: 0 var(--space-2);
}
.Range__input {
  width: var(--input-width);
  border-radius: var(--border-space-2);
  background-color: var(--color-surface-gray-200);
  color: var(--text-gray-900);
  padding: var(--space-3);
  border: 1px solid var(--border-gray-600-transparent-40);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  text-align: center;
  transition: 0.25s ease-out;
}
.Range__input:hover {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-600);
}
.Range__input:focus {
  outline: none;
}

.mobile .Range {
  display: grid;
  grid-template-areas: "title input1 input2" "range range range";
  gap: var(--space-2);
  grid-template-columns: 74px 1fr 1fr;
}
.mobile .Range__title {
  grid-area: title;
}
.mobile .Range__item {
  grid-area: range;
}
.mobile .Range__input:first-of-type {
  grid-area: input1;
}
.mobile .Range__input:last-of-type {
  grid-area: input2;
}
.mobile .Range__input {
  width: 100%;
}

.Checkbox__input {
  display: none;
}
.Checkbox {
  cursor: pointer;
}
.Checkbox__label {
  display: block;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  border-radius: var(--border-space-2);
  padding: var(--space-3) !important;
  background-color: var(--color-surface-gray-200-transperent-88);
  border: 1px solid var(--border-gray-600-transparent-40);
  cursor: pointer;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 600px) {
  .Checkbox__label {
    padding-top: calc(var(--space-3) - 1px) !important;
    padding-bottom: calc(var(--space-3) - 1px) !important;
  }
}
.Checkbox:hover .Checkbox__label {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-600);
  color: var(--text-gray-900);
}
.Checkbox__input:checked + .Checkbox__label {
  border-color: var(--border-brand-900);
  background-color: var(--color-surface-brand-800);
  color: var(--text-gray-200);
}
.CheckboxWithLabel {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.CheckboxWithLabel input {
  display: none;
}
.CheckboxWithLabel__input {
  width: 24px;
  height: 24px;
  padding: var(--space-1);
  border: 1px solid var(--border-brand-900);
  border-radius: var(--border-space-1);
  background-color: var(--color-surface-gray-200);
  border-color: var(--border-gray-600-transparent-40);
  transition: 0.25s ease-out;
}
.CheckboxWithLabel__input svg {
  display: none;
}
.CheckboxWithLabel:hover input:not(:checked) + .CheckboxWithLabel__input {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-600);
}
input:checked + .CheckboxWithLabel__input {
  border-color: var(--border-brand-900);
  background-color: var(--color-surface-brand-800);
}
input:checked + .CheckboxWithLabel__input svg {
  display: block;
}
.CheckboxWithLabel svg {
  width: 16px;
  height: 16px;
  fill: var(--icon-gray-200);
  transform: translate(-1px, -1px);
}
.CheckboxWithLabel__label {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
  margin-left: var(--space-2);
}

.StatusTooltip--hidden {
  opacity: 0 !important;
}
.StatusTooltip .tippy-box {
  background-color: var(--color-surface-gray-100);
  color: var(--text-gray-800);
  padding: 0;
  border: 1px solid var(--border-gray-400);
  border-radius: var(--border-space-2);
  max-width: 132px !important;
}
.StatusTooltip .tippy-content {
  padding: var(--space-2);
  font-size: 13px;
  text-align: center;
}
.StatusTooltip .tippy-arrow {
  color: var(--color-surface-gray-100);
  position: relative;
}
.StatusTooltip .tippy-arrow:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform-origin: center;
  transform: translateY(50%) rotate(45deg) scale(0.585);
  border-bottom: 1px solid var(--border-gray-400);
  border-right: 1px solid var(--border-gray-400);
}

.s3d2-svg-flyby-tooltip {
  transform: none !important;
}

.SvgFlybyTooltip {
  background-color: var(--color-surface-gray-200);
  padding: var(--space-1);
  border-radius: var(--border-space-2);
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  grid-template-areas: "title right" "bottom bottom";
  width: max-content;
}
.SvgFlybyTooltip svg {
  width: 16px;
  height: 16px;
}
.SvgFlybyTooltip__title {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-200);
  border: 1px solid var(--border-brand-900);
  background-color: var(--color-surface-brand-800);
  border-radius: var(--border-space-1);
  padding: 2px 12px;
  grid-area: title;
  text-align: center;
}
.SvgFlybyTooltip__right {
  grid-area: right;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}
.SvgFlybyTooltip__right-item {
  white-space: nowrap;
}
.SvgFlybyTooltip__bottom {
  grid-area: bottom;
  display: flex;
  align-items: center;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}
.SvgFlybyTooltip__bottom-item {
  display: flex;
  align-items: center;
  column-gap: var(--space-1);
  gap: 8px;
}
.SvgFlybyTooltip__bottom-item ~ .SvgFlybyTooltip__bottom-item {
  margin-left: var(--space-2);
}

.SvgFlybyTooltip-filter-part {
  background-color: var(--color-surface-semantic-success);
  color: var(--text-gray-200);
  padding: var(--space-2);
  border-radius: var(--border-space-2);
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: var(--space-05);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}

@-webkit-keyframes heartbeatTooltip {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes heartbeatTooltip {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.MobileSvgFlybyTooltip {
  background-color: var(--text-gray-200);
  padding: var(--space-1);
  border-radius: var(--border-space-2);
  display: flex;
  flex-direction: column;
  width: max-content;
  align-items: flex-start;
  color: var(--text-gray-200);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
}
.MobileSvgFlybyTooltip svg {
  width: 16px;
  height: 16px;
  margin-right: var(--space-1);
}
.MobileSvgFlybyTooltip svg [fill] {
  fill: var(--icon-gray-200);
}
.MobileSvgFlybyTooltip svg [stroke] {
  stroke: var(--icon-gray-200);
}
.MobileSvgFlybyTooltip__title {
  width: max-content;
  padding: var(--space-1) var(--space-2);
  background-color: var(--color-brand-active-element-transparent-72);
  border-radius: 4px;
  color: var(--text-gray-200);
}
.MobileSvgFlybyTooltip__bottom {
  display: flex;
  align-items: flex-start;
  color: var(--text-gray-900);
}
.MobileSvgFlybyTooltip__bottom svg {
  display: none;
}
.MobileSvgFlybyTooltip__bottom-item {
  display: flex;
  align-items: center;
  column-gap: var(--space-1);
}
.MobileSvgFlybyTooltip__bottom-item ~ .MobileSvgFlybyTooltip__bottom-item {
  margin-left: var(--space-2);
}

polygon[data-type=infrastructure] {
  stroke: var(--border-gray-200);
}

polygon[data-type=flyby] {
  stroke: var(--border-gray-200);
}

polygon[data-type=flat] {
  stroke: white;
}
polygon[data-type=flat][data-sale="2"], polygon[data-type=flat][data-sale="3"], polygon[data-type=flat][data-sale="4"], polygon[data-type=flat][data-sale="5"], polygon[data-type=flat][data-sale="6"], polygon[data-type=flat][data-sale="0"] {
  fill: var(--color-special-accent-sold-overlays-transparent-16);
  cursor: auto;
}
polygon[data-type=flat].active, polygon[data-type=flat].polygon__selected {
  fill: rgba(131, 175, 141, 0.75) !important;
  pointer-events: all;
  stroke: rgb(255, 255, 255) !important;
}
polygon[data-type=flat].polygon__filter-deselect {
  fill: transparent;
}

.hybrid g[data-type=infrastructure]:hover polygon,
.mouseOnly g[data-type=infrastructure]:hover polygon {
  fill: var(--color-brand-active-element-transparent-72);
  stroke: var(--border-gray-200);
}
.hybrid polygon[data-type=floor]:hover,
.hybrid polygon[data-type=flyby]:hover,
.hybrid polygon[data-type=flat]:hover,
.mouseOnly polygon[data-type=floor]:hover,
.mouseOnly polygon[data-type=flyby]:hover,
.mouseOnly polygon[data-type=flat]:hover {
  fill: var(--color-brand-active-element-transparent-72);
  stroke: var(--border-gray-200);
}
.hybrid g[data-pin-type=pin]:hover polygon,
.mouseOnly g[data-pin-type=pin]:hover polygon {
  fill: transparent;
  stroke: transparent;
}
.hybrid polygon[data-type=flat]:hover[data-sale="2"], .hybrid polygon[data-type=flat]:hover[data-sale="3"], .hybrid polygon[data-type=flat]:hover[data-sale="4"], .hybrid polygon[data-type=flat]:hover[data-sale="5"], .hybrid polygon[data-type=flat]:hover[data-sale="6"], .hybrid polygon[data-type=flat]:hover[data-sale="0"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="2"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="3"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="4"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="5"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="6"],
.mouseOnly polygon[data-type=flat]:hover[data-sale="0"] {
  fill: var(--color-special-accent-sold-overlays-transparent-72);
}

.s3d-villa__flyby polygon[data-type=flat].active {
  fill: var(--color-surface-success-available-transparent-20);
  animation: none;
  stroke-width: 1;
}
.s3d-villa__flyby polygon[data-type=flat].active[data-sale="2"], .s3d-villa__flyby polygon[data-type=flat].active[data-sale="3"], .s3d-villa__flyby polygon[data-type=flat].active[data-sale="4"], .s3d-villa__flyby polygon[data-type=flat].active[data-sale="5"], .s3d-villa__flyby polygon[data-type=flat].active[data-sale="6"], .s3d-villa__flyby polygon[data-type=flat].active[data-sale="0"] {
  fill: transparent !important;
  stroke: none !important;
  cursor: auto;
  pointer-events: none;
}
.s3d-villa__flyby polygon[data-type=flat].active-flat {
  fill: rgba(131, 175, 141, 0.75);
  animation: stroke-pulsation 1.6s infinite cubic-bezier(0, 0, 0.12, 1.02);
}
.s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="2"], .s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="3"], .s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="4"], .s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="5"], .s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="6"], .s3d-villa__flyby polygon[data-type=flat].active-flat[data-sale="0"] {
  fill: var(--color-special-accent-sold-overlays-transparent-16);
}

/*
Якщо вказаний тип "pin" то зона має бути невидимою, але має мати хоча б мінімальний колір щоб бути клікабельною
*/
[data-pin-type=pin] polygon {
  stroke: rgba(0, 0, 0, 0.01);
  fill: rgba(0, 0, 0, 0.01);
}

.s3d-svg-flat-tooltip {
  opacity: 0;
}
.s3d-svg-flat-tooltip__content {
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-gray-200);
  background-color: var(--color-brand-800);
  text-align: center;
  border-radius: var(--border-space-2);
}
.s3d-svg-flat-tooltip__inner {
  width: 15px;
  height: 24px;
  margin-right: auto;
  border-radius: var(--border-space-2);
}
.s3d-svg-flat-tooltip__inner[data-tooltip-sale="1"] {
  background-color: var(--color-surface-success);
  flex-shrink: 0;
}
.s3d-svg-flat-tooltip__inner[data-tooltip-sale="0"] {
  background-color: var(--color-semantic-danger);
  flex-shrink: 0;
}
.s3d-svg-flat-tooltip__inner[data-tooltip-sale="2"] {
  background-color: var(--color-brand-800);
  flex-shrink: 0;
}
.s3d-svg-flat-tooltip__inner[data-tooltip-sale="3"] {
  background-color: var(--color-brand-800);
  flex-shrink: 0;
}
.s3d-svg-flat-tooltip__inner[data-tooltip-sale="4"] {
  background-color: var(--color-semantic-danger);
  flex-shrink: 0;
}
.s3d-svg-flat-tooltip__title {
  padding: var(--space-1) var(--space-2);
  text-align: center;
  flex-grow: 1;
}

.SvgPin {
  pointer-events: all;
  transform: none;
}
.SvgPin > * {
  pointer-events: none;
}
.SvgPin__title {
  padding: var(--space-1) var(--space-3);
  color: var(--text-gray-900);
  border-radius: var(--border-space-2);
  background-color: var(--text-gray-200);
  text-align: center;
  margin-bottom: 2px;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  width: max-content;
  margin: auto;
}
.SvgPin__title:empty {
  opacity: 0;
}
.SvgPin__icon > * {
  pointer-events: none;
}
.SvgPin__icon-large {
  width: 65px !important;
  height: 90px !important;
  pointer-events: none !important;
}
.SvgPin__icon-small {
  width: 32px !important;
  height: 32px !important;
  pointer-events: none !important;
}

.FlatDocCard {
  padding: var(--space-16) var(--space-10);
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  justify-content: space-between;
  background: var(--color-gray-200);
}
@media screen and (max-width: 1920px) {
  .FlatDocCard {
    padding: var(--space-6);
    gap: var(--space-10);
  }
}
.FlatDocCard__title-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.FlatDocCard__date {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-800);
}
.FlatDocCard__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__title {
    font-size: 24px;
  }
}
.FlatDocCard__content-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-28);
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__content-wrap {
    gap: var(--space-20);
  }
}
.FlatDocCard__img-group {
  display: flex;
  gap: var(--space-10);
  align-items: flex-start;
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__img-group {
    gap: var(--space-6);
  }
}
.FlatDocCard__img {
  width: calc(24.71% - var(--space-10) / 2);
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__img {
    width: calc(24.71% - var(--space-6) / 2);
  }
}
.FlatDocCard__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.FlatDocCard__description {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-800);
  width: calc(76.29% - var(--space-10) / 2);
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__description {
    width: calc(76.29% - var(--space-6) / 2);
  }
}
.FlatDocCard__button {
  height: var(--space-16);
  width: fit-content;
  display: flex;
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
  border-radius: var(--border-space-32);
}
@media screen and (max-width: 1920px) {
  .FlatDocCard__button {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .FlatDocCard__button {
    height: var(--space-12);
  }
}
.FlatDocCard__button span {
  text-transform: uppercase;
}

.mobile .FlatDocCard {
  padding: var(--space-5);
  grid-template-areas: "img date download" "img title title" "img description description";
}

.FlatFinancialTermsCard {
  display: grid;
  border-radius: var(--border-space-2);
  border: 1px solid var(--border-gray-400);
  padding: var(--space-8);
  flex-wrap: wrap;
  display: grid;
  grid-template-rows: auto max-content auto;
  row-gap: var(--space-2);
  grid-template-areas: "icons icons" "title title" "description description";
}
.FlatFinancialTermsCard__title {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
  grid-area: title;
  margin-bottom: var(--space-2);
}
.FlatFinancialTermsCard__description {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-800);
  grid-area: description;
}
.FlatFinancialTermsCard__icons {
  display: flex;
  grid-template-columns: max-content max-content;
  justify-items: start;
  gap: var(--space-1);
  flex-wrap: wrap;
  grid-area: icons;
  margin-bottom: var(--space-2);
  align-items: start;
}
.FlatFinancialTermsCard__icons img {
  height: 30px;
  width: auto;
}

.mobile .FlatFinancialTermsCard {
  padding: var(--space-4);
  padding: var(--space-5);
}

.s3d-villa {
  width: 100%;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  scroll-behavior: smooth;
}
@media screen and (min-width: 1025px) {
  .s3d-villa {
    z-index: 2;
  }
}
.s3d-villa__container {
  position: relative;
  user-select: none;
}
@media screen and (max-width: 600px) {
  .s3d-villa__container {
    z-index: 4;
  }
}
.s3d-villa__navigation {
  position: fixed;
  bottom: var(--space-4);
  left: 50%;
  transform: translateX(-50%);
  padding: var(--space-1);
  z-index: 101;
  background-color: var(--color-surface-gray-200-transperent-88);
  border-radius: var(--border-space-3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.s3d-villa__navigation > *:nth-child(n+2) {
  margin-left: var(--space-1);
}
.s3d-villa button input {
  display: none;
}
.s3d-villa button [data-in-fav] {
  display: none;
}
@media (hover: hover) {
  .s3d-villa button:not(.ButtonIconLeft):not([type=submit]) span {
    position: relative;
  }
  .s3d-villa button:not(.ButtonIconLeft) span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    transform-origin: left;
    transition: 0.25s ease-out;
    transform: scaleX(0);
    height: 1px;
    width: 100%;
    background-color: var(--text-gray-900);
  }
  .s3d-villa button:not(.ButtonIconLeft):not([type=submit]):hover span::after {
    transform: scaleX(1);
  }
}
.s3d-villa button.added-to-favourites {
  background-color: var(--color-surface-gray-300);
  color: var(--text-gray-900);
  border-color: var(--border-gray-600);
}
.s3d-villa button.added-to-favourites [data-not-in-fav] {
  display: none;
}
.s3d-villa button.added-to-favourites [data-in-fav] {
  display: block;
}
.s3d-villa-hero {
  position: sticky;
  top: 0;
  width: 100%;
  height: calc(100vh - 130px);
  z-index: -1;
}
.s3d-villa-hero__img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(26, 30, 33, 0) 0%, rgba(26, 30, 33, 0.8) 100%);
}
.s3d-villa-hero__img-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s3d-villa-hero__info {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.s3d-villa-hero__title {
  margin: 0;
  font-style: normal;
  font-weight: 200;
  line-height: 80%; /* 176px */
  letter-spacing: -4.4px;
  font-size: 220px;
  color: var(--text-gray-200);
  will-change: transform;
  position: relative;
  transform: translateZ(0);
}
@media screen and (max-width: 1920px) {
  .s3d-villa-hero__title {
    font-size: 120px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa-hero__title {
    font-size: 64px;
  }
}
.s3d-villa-hero__line {
  width: var(--space-10);
  height: 1px;
  background: var(--color-surface-gray-200);
  margin: var(--space-8) 0;
}
@media screen and (max-width: 768px) {
  .s3d-villa-hero__line {
    margin: var(--space-6) 0;
  }
}
.s3d-villa-hero__subtitle {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: 32px;
  color: var(--text-gray-200);
  margin-bottom: var(--space-5);
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .s3d-villa-hero__subtitle {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa-hero__subtitle {
    font-size: 14px;
  }
}
.s3d-villa-hero__description {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-400);
  font-weight: 200;
  width: 60%;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1920px) {
  .s3d-villa-hero__description {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa-hero__description {
    font-size: 14px;
    width: 90%;
    font-weight: 400;
    line-height: 140%;
  }
}
.s3d-villa__floor {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor {
    padding: var(--space-28) var(--space-6) var(--space-40) var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor {
    border-top-left-radius: var(--space-12);
    border-top-right-radius: var(--space-12);
    padding: var(--space-24) var(--space-5) var(--space-10) var(--space-5);
    gap: var(--space-10);
  }
}
.s3d-villa__floor-scroll-wrap {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-5) var(--space-2) var(--space-2) var(--space-2);
  border-top-left-radius: var(--space-32);
  border-top-right-radius: var(--space-32);
  text-decoration: none;
}
.s3d-villa__floor-scroll-title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-800);
}
.s3d-villa__floor-scroll-svg-wrap {
  position: relative;
  display: flex;
  width: 56px;
  height: 56px;
  padding: var(--Spacing-Space-space-4, 16px);
  justify-content: center;
  align-items: center;
  border-radius: var(--paddings-gaps-paddings-gaps-8, 32px);
  border: 1px solid var(--Colors-Border-Gray-border-gray-500, #d1d9e1);
  overflow: hidden;
}
.s3d-villa__floor-scroll-svg-wrap svg {
  position: absolute;
  top: -25px;
  animation: moveArrow 2s infinite cubic-bezier(0.5, 0.5, 0, 0);
}
@keyframes moveArrow {
  0% {
    top: -20px; /* Стартовая позиция */
  }
  20% {
    top: 16px; /* Достижение середины контейнера */
  }
  50% {
    top: 16px; /* Стрелка стоит в середине (задержка) */
  }
  80% {
    top: 16px; /* Задержка в середине */
  }
  100% {
    top: 100%; /* Стрелка опускается вниз */
  }
}
.s3d-villa__floor__title-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor__title-wrap {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor__title-wrap {
    gap: var(--space-2);
    justify-content: space-between;
  }
}
.s3d-villa__floor__title-wrap__line {
  flex-grow: 2;
  position: relative;
}
.s3d-villa__floor__title-wrap__line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(2px);
  width: 100%;
  height: 1px;
  background: var(--color-gray-500);
}
.s3d-villa__floor__title-wrap__line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-2px);
  width: 100%;
  height: 1px;
  background: var(--color-gray-500);
}
.s3d-villa__floor__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: 64px;
  text-transform: uppercase;
  letter-spacing: -1.92px;
  color: #1a1e21;
}
@media screen and (min-width: 1025px) {
  .s3d-villa__floor__title {
    font-weight: 200;
  }
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor__title {
    letter-spacing: -2px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor__title {
    font-size: 40px;
    letter-spacing: -0.8px;
    flex: 1;
    width: fit-content;
    min-width: auto;
    text-align: center;
    font-family: "Inter Display";
    font-size: 40px;
    font-style: normal;
    font-weight: 200;
    line-height: 100%; /* 40px */
    letter-spacing: -0.8px;
    min-width: 245px;
  }
}
.s3d-villa__floor-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: var(--space-10);
  grid-row-gap: 0px;
  height: fit-content;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-inner {
    grid-column-gap: var(--space-6);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__floor-inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-20);
  }
}
.s3d-villa__floor-details {
  grid-column: 1/2;
}
.s3d-villa__floor-details__info-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: fit-content;
  aspect-ratio: 16/9;
}
.s3d-villa__floor-details__info-img-wrapper {
  aspect-ratio: 16/9;
  position: relative;
}
.s3d-villa__floor-details__info-img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.s3d-villa__floor-details__info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding: var(--space-5);
  background: linear-gradient(180deg, rgba(26, 30, 33, 0) 0%, rgba(26, 30, 33, 0.96) 100%);
}
.s3d-villa__floor-details__info-status-wrap {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  width: fit-content;
  height: var(--space-6);
  padding: 0 var(--space-2) 0 var(--space-2);
  border-radius: var(--border-space-2);
  background: #83af8d;
}
.s3d-villa__floor-details__info-status__title {
  font-size: 12px;
  font-family: "Inter Display", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 100%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-200);
  text-transform: uppercase;
}
.s3d-villa__floor-details__info-status__svg {
  width: var(--space-4);
  height: var(--space-4);
}
.s3d-villa__floor-details__info-prices-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.s3d-villa__floor-details__info-prices-full {
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-details__info-prices-full span:last-child {
    font-family: "Inter Display";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 120%; /* 28.8px */
  }
}
.s3d-villa__floor-details__info-prices-full-without-promo {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-600);
  text-decoration: line-through;
}
.s3d-villa__floor-details__info-prices-full-with-promo {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-200);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-details__info-prices-full-with-promo {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-details__info-prices-full-with-promo {
    font-size: 14px;
  }
}
.s3d-villa__floor-details__info-prices-perm {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.s3d-villa__floor-details__info-prices-perm-without-promo {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-600);
  text-decoration: line-through;
}
.s3d-villa__floor-details__info-prices-perm-with-promo {
  font-size: 14px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-200);
}
.s3d-villa__floor-details__info-prices-promo-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.s3d-villa__floor-details__info-prices-promo-svg {
  width: var(--space-4);
  height: var(--space-4);
}
.s3d-villa__floor-details__info-prices-promo-title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-200);
  border-radius: var(--border-space-1);
  background: var(--color-surface-success);
  padding: 0 var(--space-1);
}
.s3d-villa__floor-details__info-list {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.s3d-villa__floor-details__info-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-6);
  width: 50%;
  border-right: 1px solid var(--color-gray-400);
  border-bottom: 1px solid var(--color-gray-400);
}
.s3d-villa__floor-details__info-list-item:nth-child(-n+2) {
  border-top: 1px solid var(--color-gray-400);
}
.s3d-villa__floor-details__info-list-item:nth-child(odd) {
  border-left: 1px solid var(--color-gray-400);
}
.s3d-villa__floor-details__info-list-item:last-child {
  border-right: 1px solid var(--color-gray-400);
}
.s3d-villa__floor-details__info-list-item__svg-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-5);
}
.s3d-villa__floor-details__info-list-item__svg-group svg {
  width: 64px;
  height: 64px;
}
.s3d-villa__floor-details__info-list-item__value {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: 96px;
  color: var(--text-gray-900);
}
@media screen and (min-width: 1025px) {
  .s3d-villa__floor-details__info-list-item__value {
    font-weight: 200;
  }
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-details__info-list-item__value {
    font-size: 64px;
  }
}
.s3d-villa__floor-details__info-list-item__title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  font-weight: 300;
  text-transform: uppercase;
  color: var(--text-gray-900);
}
.s3d-villa__floor-explication-screen {
  grid-column: 1/5;
  display: flex;
  flex-wrap: wrap;
  height: fit-content;
  justify-content: space-between;
  width: 100%;
  row-gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen {
    row-gap: var(--space-8);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen {
    flex-direction: column;
  }
}
.s3d-villa__floor-explication-screen-buttons--floor {
  height: fit-content;
  min-width: 46vw;
  display: flex;
  gap: 0;
  border-radius: var(--space-12);
  border: 1px solid var(--color-gray-600);
  overflow: hidden;
  margin: auto;
}
.s3d-villa__floor-explication-screen-buttons--floor:empty {
  display: none;
}
@media screen and (max-width: 600px) {
  .s3d-villa__floor-explication-screen-buttons--floor {
    align-items: flex-start;
    height: var(--space-12);
  }
}
.s3d-villa__floor-explication-screen-buttons--floor button {
  flex: 1;
  text-transform: uppercase;
  font-weight: 400;
  background: transparent;
  height: var(--space-16);
  min-width: 17vw;
  border: none;
  border-radius: 0;
  border-right: 1px solid var(--color-gray-600);
}
@media screen and (max-width: 600px) {
  .s3d-villa__floor-explication-screen-buttons--floor button {
    font-size: 11px;
    height: var(--space-12);
    padding: var(--space-2) var(--space-3);
  }
  .s3d-villa__floor-explication-screen-buttons--floor button.active {
    background-color: var(--color-surface-gray-300);
    color: var(--text-gray-900);
    border-color: var(--border-gray-600);
  }
}
.s3d-villa__floor-explication-screen-buttons--floor button:last-child {
  border-right: none;
}
.s3d-villa__floor-explication-screen-buttons--slider {
  display: flex;
  gap: var(--space-3);
  width: 100%;
  align-items: center;
  justify-content: center;
  display: none !important;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__floor-explication-screen-buttons--slider {
    gap: var(--space-2);
  }
}
.s3d-villa__floor-explication-screen-buttons--planning3d {
  height: fit-content;
  width: fit-content;
  display: flex;
  gap: 0;
  border-radius: var(--space-10);
  border: 1px solid var(--color-gray-600);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-buttons--planning3d {
    height: auto;
  }
}
.s3d-villa__floor-explication-screen-buttons--planning3d button {
  text-transform: uppercase;
  background: transparent;
  height: var(--space-10);
  border: none;
  border-radius: 0;
  border-right: 1px solid var(--color-gray-600);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-buttons--planning3d button {
    height: var(--space-8);
    font-size: 11px;
    padding: var(--space-2) var(--space-3);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-buttons--planning3d button {
    padding: var(--space-2);
  }
  .s3d-villa__floor-explication-screen-buttons--planning3d button.active {
    background-color: var(--color-surface-gray-300);
    color: var(--text-gray-900);
    border-color: var(--border-gray-600);
  }
}
.s3d-villa__floor-explication-screen-buttons--planning3d button:last-child {
  border-right: none;
}
.s3d-villa__floor-explication-screen-buttons--furnished {
  border-radius: var(--space-10);
  border: 1px solid var(--color-gray-600);
  overflow: hidden;
}
.s3d-villa__floor-explication-screen-buttons--furnished label {
  text-transform: uppercase;
  background: transparent;
  height: var(--space-10);
  border: none;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-buttons--furnished label {
    height: var(--space-8);
    font-size: 11px;
    padding: var(--space-2) var(--space-1) var(--space-2) var(--space-3);
  }
}
.s3d-villa__floor-explication-screen-slider {
  padding: var(--space-10);
  width: 65.7%;
  height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-slider {
    padding: var(--space-6);
    gap: var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-slider {
    width: 100%;
    padding: 0;
    gap: var(--space-8);
    height: 50vh;
  }
}
.s3d-villa__floor-explication-screen-slider .swiper-wrapper {
  height: 80%;
}
.s3d-villa__floor-explication-screen-slider .swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-slider .swiper-slide {
    display: flex;
    align-items: start;
    justify-content: center;
  }
}
.s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: start;
}
@media screen and (min-width: 769px) {
  .s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide {
    aspect-ratio: 16/9;
  }
}
.s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide img {
  width: auto;
  height: 60vh;
  object-fit: contain;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide img {
    height: auto;
  }
}
.s3d-villa__floor-explication-screen-table {
  width: calc(34.3% - var(--space-10));
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-table {
    width: calc(34.3% - var(--space-6));
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-table {
    width: 100%;
    margin-top: var(--space-12);
  }
}
.s3d-villa__floor-explication-screen-info-row {
  display: flex;
  align-items: flex-end;
}
.s3d-villa__floor-explication-screen-table__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: 32px;
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-table__title {
    font-size: 24px;
  }
}
.s3d-villa__floor-explication-screen-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.s3d-villa__floor-explication-screen-info-row-title {
  font-size: 14px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  font-weight: 300;
  color: var(--text-gray-800);
}
.s3d-villa__floor-explication-screen-info-row-value {
  font-size: 14px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  font-weight: 300;
  color: var(--text-gray-800);
}
.s3d-villa__floor-explication-screen-info-row-blank {
  margin: 0 var(--space-2);
  flex-grow: 2;
  height: 1px;
  background: var(--color-gray-400);
}
.s3d-villa__floor-explication-screen-table-inner {
  width: 75%;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-table-inner {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__floor-explication-screen-table-inner {
    width: 100%;
  }
}
.s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft {
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft svg:not(.ButtonIconLeft__icon--no-paints) {
  fill: none;
  stroke: var(--icon-gray-200);
}
.s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__floor-explication-screen-table-inner .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__documentation-screen {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__documentation-screen {
    padding: var(--space-32) var(--space-6) 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__documentation-screen {
    padding: var(--space-20) var(--space-5) 0 var(--space-5);
    gap: var(--space-10);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__documentation-screen .s3d-villa__floor__title-wrap__line {
    display: none;
  }
}
.s3d-villa__documentation-screen-swiper-container {
  width: 100%;
}
.s3d-villa__documentation-swiper-nav-wrap {
  margin-top: var(--space-10);
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__documentation-swiper-nav-wrap {
    margin-top: var(--space-6);
  }
}
.s3d-villa__documentation-swiper-button-prev {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  width: 56px;
  border-radius: 50%;
  background: var(--color-gray-200);
  cursor: pointer;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__documentation-swiper-button-prev {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__documentation-swiper-button-prev svg {
  width: 24px;
  height: 24px;
  fill: var(--gray-900);
}
.s3d-villa__documentation-swiper-button-prev:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.s3d-villa__documentation-swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  width: 56px;
  border-radius: 50%;
  background: var(--color-gray-200);
  cursor: pointer;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__documentation-swiper-button-next {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__documentation-swiper-button-next svg {
  width: 24px;
  height: 24px;
  fill: var(--gray-900);
}
.s3d-villa__documentation-swiper-button-next:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.s3d-villa__documentation-swiper-button-next.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-villa__documentation-swiper-button-next.swiper-button-disabled svg path {
  fill: white;
}
.s3d-villa__documentation-swiper-button-prev.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-villa__documentation-swiper-button-prev.swiper-button-disabled svg path {
  fill: white;
}
.s3d-villa__video-screen {
  padding-top: 200px;
  padding-left: var(--space-10);
  padding-right: var(--space-10);
  margin-bottom: -1px;
}
@media screen and (max-width: 768px) {
  .s3d-villa__video-screen {
    padding-left: var(--space-2);
    padding-right: var(--space-2);
    padding-top: var(--space-20);
  }
}
.s3d-villa__video-screen .s3d-villa__floor__title {
  min-width: 290px;
}
.s3d-villa__video-screen-iframe-wrap {
  margin-top: var(--space-16);
  padding-bottom: min(80vh, 52.5%);
  position: relative;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .s3d-villa__video-screen-iframe-wrap {
    margin-top: var(--space-10);
  }
}
.s3d-villa__video-screen-iframe-wrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.s3d-villa__up-arrow {
  position: relative;
  width: 80px;
  height: 80px;
  overflow: hidden;
  /* flex-shrink: 0; */
  border-radius: 50%;
  margin-left: auto;
  margin-top: calc((80px + var(--space-12)) * -1);
  margin-right: var(--space-12);
  padding: var(--space-3) var(--space-5);
  font-family: "Inter Display";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-brand-800);
  color: var(--text-gray-200);
  cursor: pointer;
}
.s3d-villa__up-arrow svg {
  margin-bottom: var(--space-1);
}
@media screen and (max-width: 600px) {
  .s3d-villa__up-arrow {
    margin-top: -164px;
    margin-right: var(--space-2);
    width: 64px;
    height: 64px;
    z-index: 4;
  }
  .s3d-villa__up-arrow svg {
    margin-bottom: var(--space-05);
  }
}
@media (hover: hover) {
  .s3d-villa__up-arrow {
    transition: 0.25s ease-in;
    background-color: transparent;
    background-color: var(--color-brand-700);
  }
  .s3d-villa__up-arrow span,
  .s3d-villa__up-arrow svg {
    position: relative;
    z-index: 2;
  }
  .s3d-villa__up-arrow:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-brand-800);
    transition: 0.25s ease-out;
    border-radius: 50%;
    transform: translate3d(0, 0, 0);
  }
  .s3d-villa__up-arrow:hover:after {
    transform: translate3d(0, 100%, 0);
  }
}
.s3d-villa__flyby polygon:not(.active-flat) {
  fill: transparent !important;
  stroke: transparent !important;
}

.tablet .s3d-villa .ButtonIconLeft span,
.mobile .s3d-villa .ButtonIconLeft span {
  font-size: 13px;
}
.tablet .s3d-villa__navigation,
.mobile .s3d-villa__navigation {
  bottom: var(--mobile-controller-height);
  background-color: transparent;
  width: 295px;
  flex-direction: row-reverse;
  padding-bottom: var(--space-05);
  padding-left: 0;
  padding-right: 0;
}
.tablet .s3d-villa__navigation > *:nth-child(n+2),
.mobile .s3d-villa__navigation > *:nth-child(n+2) {
  margin-left: 0;
}
.tablet .s3d-villa__navigation > *:nth-last-child(n+2),
.mobile .s3d-villa__navigation > *:nth-last-child(n+2) {
  margin-left: var(--space-05);
}
.tablet .s3d-villa__navigation > *:last-child,
.mobile .s3d-villa__navigation > *:last-child {
  margin-left: var(--space-05);
}
.tablet .s3d-villa__navigation > *,
.mobile .s3d-villa__navigation > * {
  flex-shrink: 0;
  flex-grow: 1;
}
.tablet .s3d-villa__navigation [data-open-form],
.mobile .s3d-villa__navigation [data-open-form] {
  display: none;
}

.s3d-villa__additional-amenities-title {
  padding: var(--space-5) 0;
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  border-bottom: 1px solid var(--color-brand-800);
  margin-bottom: var(--space-4);
  margin-top: var(--space-10);
}

.s3d-villa__additional-amenities-item {
  display: flex;
  flex-direction: column;
}

.s3d-villa__additional-amenities {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: var(--space-4);
}
@media screen and (max-width: 1024px) {
  .s3d-villa__additional-amenities {
    grid-template-columns: repeat(1, 1fr);
  }
}

.s3d-villa__additional-amenities-list-item {
  display: flex;
  justify-content: space-between;
}
.s3d-villa__additional-amenities-list-item-key {
  color: var(--text-gray-800);
  flex-basis: 50%;
  flex-shrink: 0;
  text-transform: uppercase;
}
.s3d-villa__additional-amenities-list-item-value {
  text-align: left;
  flex-basis: 50%;
  flex-shrink: 0;
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  font-weight: 400;
}

.s3d-villa__additional-amenities-list-item ~ .s3d-villa__additional-amenities-list-item {
  margin-top: var(--space-4);
}

.s3d-villa-description-screen-item {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
@media screen and (max-width: 1024px) {
  .s3d-villa-description-screen-item {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
.s3d-villa-description-screen-item-title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
}
.s3d-villa-description-screen-item-text {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  font-weight: 400;
  line-height: 140%;
}
.s3d-villa-description-screen-item ~ .s3d-villa-description-screen-item {
  margin-top: var(--space-10);
}

.s3d-villa__construction-progress-screen {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-progress-screen {
    padding: var(--space-32) var(--space-6) 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-screen {
    padding: var(--space-32) var(--space-5) 0 var(--space-5);
    gap: var(--space-10);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__construction-progress-screen .s3d-villa__floor__title {
    width: fit-content;
    text-align: center;
    flex: initial;
  }
}
.s3d-villa__construction-progress-screen__list {
  width: 100%;
}
.s3d-villa__construction-progress-card {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card {
    aspect-ratio: 2.45/4;
  }
}
.s3d-villa__construction-progress-card:hover .s3d-villa__construction-progress-card__top__button-svg--1 {
  transform: translate(-350%, -50%);
}
.s3d-villa__construction-progress-card:hover .s3d-villa__construction-progress-card__top__button-svg--2 {
  transform: translate(-50%, -50%);
}
.s3d-villa__construction-progress-card:hover .s3d-villa__construction-progress-card__image img {
  transform: scale(1.1);
  filter: grayscale(0);
}
.s3d-villa__construction-progress-card:hover .s3d-villa__construction-progress-card__image:before {
  opacity: 0;
}
.s3d-villa__construction-progress-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.s3d-villa__construction-progress-card__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.s3d-villa__construction-progress-card__image::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, #1a1e21 0%, rgba(26, 30, 33, 0) 100%);
  transition: all ease-in-out 0.4s;
  opacity: 1;
}
.s3d-villa__construction-progress-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all ease-in-out 0.4s;
  filter: grayscale(1);
}
.s3d-villa__construction-progress-card__content {
  position: relative;
  z-index: 2;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-5);
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card__content {
    padding: var(--space-3) var(--space-3) var(--space-5) var(--space-3);
  }
}
.s3d-villa__construction-progress-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.s3d-villa__construction-progress-card__top__day {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-200);
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card__top__day {
    font-family: "Inter Display";
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 14.3px */
  }
}
.s3d-villa__construction-progress-card__top__button {
  width: 80px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: var(--color-gray-200);
  border-radius: 50%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-progress-card__top__button {
    width: 64px;
    height: 64px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card__top__button {
    width: var(--space-12);
    height: var(--space-12);
  }
}
.s3d-villa__construction-progress-card__top__button-svg-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(135deg) translate(-50%, -50%);
  z-index: 10;
  display: flex;
  justify-content: space-between;
}
.s3d-villa__construction-progress-card__top__button-svg--1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  width: 24px;
  height: 24px;
  transition: all ease-in-out 0.4s;
}
.s3d-villa__construction-progress-card__top__button-svg--2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(350%, -50%);
  width: 24px;
  height: 24px;
  transition: all ease-in-out 0.4s;
}
.s3d-villa__construction-progress-card__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
}
.s3d-villa__construction-progress-card__bottom__day {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: 96px;
  line-height: 100%;
  color: var(--color-gray-200);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-progress-card__bottom__day {
    font-size: 64px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card__bottom__day {
    font-family: "Inter Display";
    font-size: 40px;
    font-style: normal;
    font-weight: 200;
    line-height: 100%; /* 40px */
    letter-spacing: -0.8px;
  }
}
.s3d-villa__construction-progress-card__bottom__month {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-200);
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-progress-card__bottom__month {
    font-family: "Inter Display";
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 14.3px */
  }
}
@media screen and (min-width: 769px) {
  .s3d-villa__construction-progress-card__bottom__month {
    margin-bottom: var(--space-2);
  }
}
.s3d-villa__construction-swiper-nav-wrap {
  margin-top: var(--space-10);
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-swiper-nav-wrap {
    margin-top: var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__construction-swiper-nav-wrap {
    margin-top: var(--space-5);
  }
}
.s3d-villa__construction-swiper-button-prev {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  width: 56px;
  border-radius: 50%;
  background: var(--color-gray-200);
  cursor: pointer;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-swiper-button-prev {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__construction-swiper-button-prev svg {
  width: 24px;
  height: 24px;
  fill: var(--gray-900);
}
.s3d-villa__construction-swiper-button-prev:hover {
  border-color: var(--border-gray-600-transparent-88);
  background-color: var(--color-surface-gray-400-transperent-88);
}
.s3d-villa__construction-swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  width: 56px;
  border-radius: 50%;
  background: var(--color-gray-200);
  cursor: pointer;
  transition: 0.25s ease-out;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__construction-swiper-button-next {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__construction-swiper-button-next svg {
  width: 24px;
  height: 24px;
  fill: var(--gray-900);
}
@media (hover: hover) {
  .s3d-villa__construction-swiper-button-next, .s3d-villa__construction-swiper-button-prev {
    position: relative;
    overflow: hidden;
    background-color: transparent;
    background-color: var(--color-surface-gray-400-transperent-88);
  }
  .s3d-villa__construction-swiper-button-next svg, .s3d-villa__construction-swiper-button-prev svg {
    position: relative;
    z-index: 2;
  }
  .s3d-villa__construction-swiper-button-next:after, .s3d-villa__construction-swiper-button-prev:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.25s ease-in-out;
    background-color: var(--color-surface-gray-200);
    border-radius: 50%;
  }
  .s3d-villa__construction-swiper-button-next:hover:after, .s3d-villa__construction-swiper-button-prev:hover:after {
    transform: translate3d(0, -100%, 0);
  }
}
.s3d-villa__construction-swiper-button-next.disabled, .s3d-villa__construction-swiper-button-prev.disabled {
  display: none;
}
.s3d-villa__construction-swiper-button-prev.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-villa__construction-swiper-button-prev.swiper-button-disabled svg path {
  fill: white;
}
.s3d-villa__construction-swiper-button-next.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-villa__construction-swiper-button-next.swiper-button-disabled svg path {
  fill: white;
}

.s3d-villa__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact {
    padding: var(--space-32) var(--space-6) 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact {
    padding: var(--space-20) var(--space-5) 0 var(--space-5);
    gap: var(--space-10);
  }
}
.s3d-villa__contact-screen {
  overflow: hidden;
  border-bottom-right-radius: var(--border-space-32);
  border-bottom-left-radius: var(--border-space-32);
  padding: var(--space-40) 0;
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-screen {
    border-bottom-right-radius: var(--space-12);
    border-bottom-left-radius: var(--space-12);
    padding: var(--space-20) 0;
  }
}
.s3d-villa__contact__content {
  display: flex;
  gap: var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__content {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__content {
    flex-wrap: wrap;
    row-gap: var(--space-28);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact__content {
    flex-direction: column;
    gap: var(--space-10);
  }
}
.s3d-villa__contact__content__column {
  width: calc(25% - var(--space-10) * 3 / 4);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__content__column {
    width: calc(25% - var(--space-6) * 3 / 4);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__content__column {
    width: calc(50% - var(--space-6) / 2);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact__content__column {
    width: 100%;
  }
}
.s3d-villa__contact__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
@media screen and (min-width: 1025px) {
  .s3d-villa__contact__intro__title, .s3d-villa__contact__intro__description {
    padding-right: 15%;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact__intro {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.s3d-villa__contact__intro__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__intro__title {
    font-size: 24px;
  }
}
.s3d-villa__contact__intro__description {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-800);
}
.s3d-villa__contact__intro__img {
  margin-top: var(--space-16);
  width: 80%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__intro__img {
    margin-top: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact__intro__img {
    display: none;
  }
}
.s3d-villa__contact__intro__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.s3d-villa__contact__form form {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__form form {
    gap: var(--space-6);
  }
}
.s3d-villa__contact__form .submit-wrapper {
  display: flex;
  justify-content: center;
  align-self: flex-start;
  min-width: 170px;
}
.s3d-villa__contact__form .form-overflow {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.s3d-villa__contact__form__title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  margin-bottom: var(--space-2);
}
.s3d-villa__contact__form input {
  width: 100%;
  height: 64px;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__form input {
    height: 48px;
  }
}
.s3d-villa__contact__form .input-message {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-semantic-danger);
}
.s3d-villa__contact__form .Textarea {
  min-height: 100px;
  transition: all 0.25s ease-out;
}
.s3d-villa__contact__form .Textarea:hover {
  background-color: var(--color-surface-gray-300);
  border-color: var(--border-gray-600);
}
.s3d-villa__contact__form .ButtonIconLeft {
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__form .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__form .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__contact__form .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__form .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__contact__manager {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact__manager {
    margin-top: var(--space-10);
  }
}
.s3d-villa__contact__manager__name {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  text-transform: uppercase;
  margin-bottom: var(--space-1);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__manager__name {
    font-size: 24px;
  }
}
.s3d-villa__contact__manager__title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-700);
}
.s3d-villa__contact__manager__img-wrap {
  overflow: hidden;
  width: 50%;
  margin: var(--space-6) 0;
}
.s3d-villa__contact__manager__img-wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.s3d-villa__contact__manager__phone {
  position: relative;
  width: max-content;
  text-decoration: none;
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  margin-bottom: var(--space-6);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__manager__phone {
    font-size: 24px;
  }
}
.s3d-villa__contact__manager__phone:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.s3d-villa__contact__manager__phone::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--color-gray-900);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s ease;
}
.s3d-villa__contact__manager__socials {
  display: flex;
  gap: var(--space-2);
  display: none;
}
.s3d-villa__contact__manager__socials-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-surface-gray-400);
  transition: background 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__manager__socials-link {
    width: 48px;
    height: 48px;
  }
}
@media (hover: hover) {
  .s3d-villa__contact__manager__socials-link:hover {
    background: var(--color-surface-gray-400);
  }
}
.s3d-villa__contact__manager__socials-link svg {
  width: 40%;
  height: 40%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 1px);
  z-index: 2;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__manager__socials-link svg {
    width: 50%;
    height: 50%;
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__manager__socials-link svg {
    width: 60%;
    height: 60%;
  }
}
.s3d-villa__contact__manager__socials-link::before {
  content: "";
  background: var(--color-surface-gray-200);
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 50%;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
  position: absolute;
  top: 0;
  left: 0;
}
@media (hover: hover) {
  .s3d-villa__contact__manager__socials-link:hover::before {
    transform: translate3d(0, 100%, 0);
  }
}
.s3d-villa__contact__advantages {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__advantages {
    gap: var(--space-10);
  }
}
.s3d-villa__contact__advantages__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__advantages__title {
    font-size: 24px;
  }
}
.s3d-villa__contact__advantages-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  flex-wrap: wrap;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__advantages-list {
    gap: var(--space-2);
  }
}
.s3d-villa__contact__advantages-item {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}
.s3d-villa__contact__advantages-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--color-surface-gray-200);
  border-radius: 50%;
}
.s3d-villa__contact__advantages-item-icon svg {
  width: 70%;
  height: 70%;
}
.s3d-villa__contact__advantages-item-title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-800);
}
.s3d-villa__contact__advantages .ButtonIconLeft {
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact__advantages .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__advantages .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__contact__advantages .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact__advantages .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__contact__advantages .ButtonIconLeft svg {
  fill: none;
  stroke: var(--color-surface-gray-200);
}
.s3d-villa__contact-location {
  display: flex;
  flex-direction: column;
  background: url("/wp-content/themes/3d/assets/s3d/images/background-inside.jpg");
  gap: var(--space-16);
  padding: var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location {
    padding: 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location {
    padding: 0 var(--space-5);
  }
}
.s3d-villa__contact-location-content {
  display: flex;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-content {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact-location-content {
    flex-direction: column;
    gap: var(--space-28);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-content {
    gap: var(--space-20);
  }
}
.s3d-villa__contact-location-intro {
  display: flex;
  width: calc(50% - var(--space-10) / 2);
  height: fit-content;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro {
    gap: var(--space-6);
    width: calc(50% - var(--space-6) / 2);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact-location-intro {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-intro {
    flex-direction: column;
    gap: var(--space-10);
  }
}
.s3d-villa__contact-location-intro-item {
  width: calc(50% - var(--space-10) / 2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro-item {
    width: calc(50% - var(--space-6) / 2);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-intro-item {
    width: 100%;
  }
}
.s3d-villa__contact-location-intro-item:first-child {
  gap: var(--space-10);
  justify-content: stretch;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro-item:first-child {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-intro-item:first-child {
    gap: var(--space-10);
  }
}
.s3d-villa__contact-location-intro-item--top {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.s3d-villa__contact-location-intro-item__inner-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.s3d-villa__contact-location-intro-item__title {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-700);
}
.s3d-villa__contact-location-intro-item__title--black {
  color: var(--color-gray-900);
  width: fit-content;
  position: relative;
}
.s3d-villa__contact-location-intro-item__title--black:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.s3d-villa__contact-location-intro-item__title--black::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--color-gray-900);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s ease;
}
.s3d-villa__contact-location-intro-item__value {
  position: relative;
  width: max-content;
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-900);
  text-transform: uppercase;
  text-decoration: none;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro-item__value {
    font-size: 24px;
  }
}
.s3d-villa__contact-location-intro-item__value:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.s3d-villa__contact-location-intro-item__value::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--color-gray-900);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s ease;
}
.s3d-villa__contact-location-intro-item__department-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft {
  margin-top: var(--space-3);
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
.s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft svg path {
  fill: var(--text-gray-200);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact-location-intro-item__department-wrap .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__contact-location-intro-item__social-list {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-intro-item__social-list--desktop {
    display: none;
  }
}
.s3d-villa__contact-location-intro-item__social-list--mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .s3d-villa__contact-location-intro-item__social-list--mobile {
    display: flex;
  }
}
.s3d-villa__contact-location-intro-item__social-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-surface-gray-400);
  transition: background 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-intro-item__social-item {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__contact-location-intro-item__social-item svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40%;
  height: 40%;
}
.s3d-villa__contact-location-intro-item__social-item::before {
  content: "";
  background: var(--color-surface-gray-200);
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 50%;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
  position: absolute;
  top: 0;
  left: 0;
}
.s3d-villa__contact-location-intro-item__social-item:hover::before {
  transform: translate3d(0, 100%, 0);
}
.s3d-villa__contact-location-map {
  width: calc(50% - var(--space-10) / 2);
  height: 551px;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__contact-location-map {
    width: calc(50% - var(--space-6) / 2);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__contact-location-map {
    width: 100%;
  }
}
.s3d-villa__contact-location-map iframe {
  width: 100%;
  height: 100%;
}

.s3d-villa__gallery-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) 0 0 0;
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__gallery-wrap {
    padding: var(--space-32) 0 0 0;
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__gallery-wrap {
    padding: var(--space-20) 0 0 0;
    gap: var(--space-10);
  }
}
.s3d-villa__gallery-wrap .s3d-villa__floor__title-wrap {
  padding: 0 var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__gallery-wrap .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__gallery-wrap .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-5);
  }
}
.s3d-villa__gallery-container {
  height: 90vh;
  position: relative;
}
.s3d-villa__gallery-container .swiper {
  height: 100%;
  width: 100%;
}
.s3d-villa__gallery-container-slide {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.s3d-villa__gallery-container-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s3d-villa__gallery-container-navigation {
  position: absolute;
  bottom: var(--space-20);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2);
  border-radius: var(--Spacing-Corner-radius-radius-32, 128px);
  background: var(--colors-special-gray-surface-gray-900-transparent-40, rgba(26, 29, 33, 0.4));
}
.s3d-villa__gallery-container-navigation__counter {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-200);
}
@media screen and (max-width: 768px) {
  .s3d-villa__gallery-container-navigation__counter {
    font-size: 20px;
  }
}
.s3d-villa__gallery-container-navigation .IconButton {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid var(--border-gray-600-transparent-40);
  background: var(--color-surface-gray-200-transperent-88);
}
@media screen and (max-width: 768px) {
  .s3d-villa__gallery-container-navigation .IconButton {
    width: 40px;
    height: 40px;
  }
}
@media (hover: hover) {
  .s3d-villa__gallery-container-navigation .IconButton {
    position: relative;
    overflow: hidden;
    background-color: transparent;
    background-color: var(--color-surface-gray-400-transperent-88);
  }
  .s3d-villa__gallery-container-navigation .IconButton svg {
    position: relative;
    z-index: 2;
  }
  .s3d-villa__gallery-container-navigation .IconButton:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.25s ease-in-out;
    background-color: var(--color-surface-gray-200);
    border-radius: 50%;
  }
  .s3d-villa__gallery-container-navigation .IconButton:hover:after {
    transform: translate3d(0, -100%, 0);
  }
}

.s3d-villa__virtual-tour-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) 0 0 0;
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__virtual-tour-wrap {
    padding: var(--space-32) 0 0 0;
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__virtual-tour-wrap {
    padding: var(--space-20) 0 0 0;
    gap: var(--space-10);
  }
}
.s3d-villa__virtual-tour-wrap .s3d-villa__floor__title-wrap {
  padding: 0 var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__virtual-tour-wrap .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__virtual-tour-wrap .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-5);
  }
}
.s3d-villa__virtual-tour-iframe-wrap {
  width: 100%;
  height: 90vh;
  position: relative;
}
.s3d-villa__virtual-tour-iframe-wrap-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.05);
  z-index: 1;
  transform: translateZ(0px);
}
.s3d-villa__virtual-tour-iframe-wrap-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  transform: translateZ(0px);
}
@media screen and (max-width: 600px) {
  .s3d-villa__virtual-tour-iframe-wrap {
    height: 65vh;
  }
}
.s3d-villa__virtual-tour-iframe-wrap iframe {
  width: 100%;
  height: 100%;
}

.s3d-villa__exterior {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__exterior {
    padding: var(--space-40) var(--space-6) 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior {
    padding: var(--space-20) var(--space-5) 0 var(--space-5);
    gap: var(--space-10);
  }
}
.s3d-villa__exterior-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  justify-content: center;
  gap: calc(var(--space-10) * 5);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__exterior-list {
    gap: calc(var(--space-6) * 5);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-list {
    gap: var(--space-28);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-list {
    gap: var(--space-20);
  }
}
.s3d-villa__exterior-card {
  height: 90vh;
  display: flex;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__exterior-card {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card {
    flex-direction: column;
    gap: var(--space-10);
    height: fit-content;
  }
}
.s3d-villa__exterior-card:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card:nth-child(even) {
    flex-direction: column;
  }
}
.s3d-villa__exterior-card__img-wrap {
  width: 74.45%;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__img-wrap {
    width: 100%;
  }
}
.s3d-villa__exterior-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s3d-villa__exterior-card__text-wrap {
  height: 100%;
  width: 23.36%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-5);
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__text-wrap {
    width: 100%;
    flex-direction: row;
    align-items: flex-start;
    height: fit-content;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__text-wrap {
    flex-direction: column;
  }
}
.s3d-villa__exterior-card__text-wrap--top {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__text-wrap--top {
    align-items: flex-start;
    justify-content: flex-start;
    width: calc(50% - var(--space-6) / 2);
    gap: var(--space-5);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__text-wrap--top {
    align-items: center;
    justify-content: center;
    width: 100%;
  }
}
.s3d-villa__exterior-card__text-wrap--bottom {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__text-wrap--bottom {
    align-items: flex-start;
    justify-content: flex-start;
    width: calc(50% - var(--space-6) / 2);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__text-wrap--bottom {
    align-items: center;
    justify-content: center;
    width: 100%;
  }
}
.s3d-villa__exterior-card__number {
  padding: var(--space-4);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-800);
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__number {
    order: 3;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__number {
    display: none;
  }
}
.s3d-villa__exterior-card__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
  text-transform: uppercase;
  text-align: center;
  width: 80%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__exterior-card__title {
    font-size: 24px;
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__title {
    order: 1;
    width: 100%;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__title {
    text-align: center;
  }
}
.s3d-villa__exterior-card__line {
  width: 20%;
  height: 1px;
  background: var(--border-gray-500);
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__line {
    order: 2;
  }
}
.s3d-villa__exterior-card__text {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  line-height: 140%;
  color: var(--text-gray-800);
  text-align: center;
  width: 80%;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card__text {
    width: 100%;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__exterior-card__text {
    text-align: center;
  }
}
.s3d-villa__exterior-card .ButtonIconLeft {
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__exterior-card .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__exterior-card .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__exterior-card .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__exterior-card .ButtonIconLeft svg {
  fill: none;
  stroke: var(--icon-gray-200);
}

.s3d-villa__faq {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) 0 0 0;
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__faq {
    padding: var(--space-32) 0 0 0;
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__faq {
    padding: var(--space-20) 0 0 0;
    gap: var(--space-10);
  }
}
.s3d-villa__faq .s3d-villa__floor__title-wrap {
  padding: 0 var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__faq .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__faq .s3d-villa__floor__title-wrap {
    padding: 0 var(--space-5);
  }
}
.s3d-villa__faq-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.s3d-villa__faq-card {
  position: relative;
  width: 100%;
  padding: var(--space-12) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 1px solid var(--border-gray-400);
  transition: all ease-in-out 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__faq-card {
    padding: var(--space-10) 0;
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__faq-card {
    padding: var(--space-10) var(--space-6);
    align-items: flex-start;
  }
}
.s3d-villa__faq-card:last-child {
  border-bottom: 1px solid var(--border-gray-400);
}
.s3d-villa__faq-card[data-open=true] {
  background: var(--color-surface-gray-200);
}
.s3d-villa__faq-card[data-open=true] .s3d-villa__faq-card__answer {
  margin-top: var(--space-3);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  cursor: initial;
}
.s3d-villa__faq-card[data-open=true] .s3d-villa__faq-card__question-icon::after {
  transform: rotate(0deg);
}
.s3d-villa__faq-card:hover {
  background: #fafbfe;
}
.s3d-villa__faq-card-inner {
  width: 46.875%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__faq-card-inner {
    width: 100%;
  }
}
.s3d-villa__faq-card__question-wrap {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  align-items: center;
}
.s3d-villa__faq-card__question {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  text-transform: uppercase;
  margin-top: 0;
  transition: all ease-in-out 0.3s;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__faq-card__question {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__faq-card__question {
    width: 80%;
  }
}
.s3d-villa__faq-card__question-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-gray-200);
  transition: background 0.3s;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__faq-card__question-icon {
    width: 48px;
    height: 48px;
  }
}
.s3d-villa__faq-card__question-icon line {
  transform-origin: center;
  transform-box: fill-box;
  transition: transform 0.3s;
}
@media (hover: hover) {
  .s3d-villa__faq-card__question-icon {
    overflow: hidden;
    background-color: var(--color-surface-gray-300);
  }
  .s3d-villa__faq-card__question-icon svg {
    position: relative;
    z-index: 2;
  }
  .s3d-villa__faq-card__question-icon::before {
    content: "";
    background: var(--color-surface-gray-200);
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 50%;
    transition: transform 0.3s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 0, 0);
  }
  .s3d-villa__faq-card__question-icon:hover::before {
    transform: translate3d(0, 100%, 0);
  }
}
.s3d-villa__faq-card__question-icon:hover {
  background: var(--color-surface-gray-400);
}
.s3d-villa__faq-card[data-open=true] .s3d-villa__faq-card__question-icon:before {
  background: var(--color-surface-gray-200);
}
.s3d-villa__faq-card[data-open=true] line:last-child {
  transform: rotate(90deg);
}
.s3d-villa__faq-card__answer {
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  font-size: 14px;
  line-height: 140%;
  color: var(--color-surface-gray-800);
  transition: all ease-in-out 0.3s;
}

.s3d-villa__financial-terms-screen {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40) var(--space-10) 0 var(--space-10);
  width: 100%;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-screen {
    padding: var(--space-32) var(--space-6) 0 var(--space-6);
    gap: var(--space-12);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__financial-terms-screen {
    padding: var(--space-20) var(--space-5) 0 var(--space-5);
    gap: var(--space-10);
  }
}
.s3d-villa__financial-terms-list {
  display: flex;
  gap: var(--space-10);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-list {
    gap: var(--space-6);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__financial-terms-list {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__financial-terms-list {
    gap: var(--space-5);
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard {
  width: calc(25% - var(--space-10) * 3 / 4);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-10);
  height: 480px;
  background: var(--color-surface-gray-200);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard {
    width: calc(25% - var(--space-6) * 3 / 4);
    height: 424px;
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard {
    width: calc(50% - var(--space-6) / 2);
    height: auto;
    gap: var(--space-32);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard {
    width: 100%;
    padding: var(--space-6);
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__top-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__bottom-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__title {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  color: var(--color-surface-gray-900);
  text-transform: uppercase;
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard__title {
    font-size: 24px;
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__description {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  color: var(--color-gray-800);
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__icons {
  display: flex;
  gap: var(--space-2);
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard__icon {
  width: auto;
  height: var(--space-8);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard__icon {
    height: var(--space-6);
  }
}
@media screen and (max-width: 768px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard__icon {
    height: var(--space-8);
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft {
  width: fit-content;
  height: var(--space-16);
  border-radius: var(--border-space-32);
  padding: var(--space-5) var(--space-8);
  gap: var(--space-3);
}
@media screen and (max-width: 1920px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft {
    padding: var(--space-3) var(--space-8);
  }
}
@media screen and (max-width: 1366px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft {
    height: var(--space-12);
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft span {
  text-transform: uppercase;
}
@media screen and (max-width: 1366px) {
  .s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft span {
    font-size: 11px;
  }
}
.s3d-villa__financial-terms-list .VillaFinancialTermsCard .ButtonIconLeft svg:not(.ButtonIconLeft__icon--no-paints) {
  fill: none;
  stroke: var(--icon-gray-200);
}

.s3d-villa__flyby {
  position: relative;
  width: 100%;
  height: 100%;
}
.s3d-villa__flyby-wrapper {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .s3d-villa__flyby-wrapper {
    overflow-x: auto;
    z-index: 2;
    margin-top: -42px;
  }
}
.s3d-villa__flyby img,
.s3d-villa__flyby svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 600px) {
  .s3d-villa__flyby img,
  .s3d-villa__flyby svg {
    height: 100%;
    width: 177.7777777778vh;
    max-width: none;
  }
}
@media screen and (max-width: 600px) {
  .s3d-villa__flyby svg {
    z-index: 2;
  }
}

.s3d-flat-new__details-top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 32px;
  font-size: 12px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-transform: uppercase;
}
.s3d-flat-new__details-top-left {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  width: 70%;
}
.s3d-flat-new__details-top-left div {
  padding: 6px 12px;
  border: 1px solid var(--color-gray-400);
  border-radius: 8px;
  color: var(--text-gray-800);
}
.s3d-flat-new__details-top-right {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  padding: 6px 12px;
  border-radius: 8px;
  background-color: #83af8d;
  color: var(--text-gray-200);
}
.s3d-flat-new__details-top-right span {
  margin-right: 4px;
}
.s3d-flat-new__details-area {
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
  max-width: 400px;
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: max(2.5vw, 20px);
}
.s3d-flat-new__details-area span:nth-child(2) {
  color: var(--color-gray-600);
}
@media screen and (max-width: 768px) {
  .s3d-flat-new__details-area span {
    font-family: "Inter Display";
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: 120%; /* 43.2px */
    text-transform: uppercase;
  }
}
.s3d-flat-new__details-price {
  margin-bottom: 32px;
}
.s3d-flat-new__details-price div:first-child {
  margin-bottom: 8px;
  font-size: 14px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  color: var(--text-gray-800);
}
.s3d-flat-new__details-price div:last-child {
  font-size: 32px;
  font-family: "Inter Display", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 130%;
  letter-spacing: -1px;
  text-decoration: none;
  text-transform: none;
  font-size: max(2.5vw, 20px);
}
@media screen and (max-width: 768px) {
  .s3d-flat-new__details-price div:last-child {
    font-family: "Inter Display";
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: 120%; /* 43.2px */
    text-transform: uppercase;
  }
}
.s3d-flat-new__details-buttons {
  display: flex;
  flex-direction: row;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .s3d-flat-new__details-buttons {
    max-width: 22vw;
  }
}
.s3d-flat-new__details-buttons {
  margin-bottom: 32px;
}
.s3d-flat-new__details-buttons button:first-child {
  border-left: 1px solid var(--color-gray-400);
}
.s3d-flat-new__details-buttons button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 33.333%;
  border: none;
  border-right: 1px solid var(--color-gray-400);
  margin: 16px 0;
  background: none;
  cursor: pointer;
}
.s3d-flat-new__details-buttons button svg {
  width: 24px;
  height: 24px;
  margin-bottom: 12px;
  fill: var(--icon-gray-900);
}
.s3d-flat-new__details-buttons button span {
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-transform: uppercase;
  color: var(--text-gray-900);
}
.s3d-flat-new__details .ButtonIconLeft {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: var(--space-16);
  padding: var(--space-3) var(--space-8);
  border-radius: var(--border-space-32);
}
@media screen and (max-width: 1366px) {
  .s3d-flat-new__details .ButtonIconLeft {
    height: var(--space-12);
  }
}

.s3d-flat-new__floor-plan {
  padding-bottom: max(10.83vw, 80px);
}
@media screen and (min-width: 769px) {
  .s3d-flat-new__floor-plan {
    padding-bottom: calc(var(--space-10) * 0.75);
  }
}

.s3d-flat-new__apartments-list {
  position: relative;
  padding: var(--space-32) var(--space-10) 0 var(--space-10);
  padding-top: var(--space-16);
  background-color: #fafbfe;
}
@media screen and (max-width: 768px) {
  .s3d-flat-new__apartments-list {
    padding-top: var(--space-5);
    padding-left: var(--space-5);
    padding-right: var(--space-5);
  }
}
.s3d-flat-new__apartments-list-wrapper {
  margin-top: var(--space-16);
}
@media screen and (max-width: 600px) {
  .s3d-flat-new__apartments-list-wrapper {
    margin-top: var(--space-10);
  }
}
.s3d-flat-new__apartments-list-swiper-button-prev.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-flat-new__apartments-list-swiper-button-prev.swiper-button-disabled svg path {
  fill: white;
}
.s3d-flat-new__apartments-list-swiper-button-next.swiper-button-disabled {
  opacity: 0.1;
  background: rgb(0, 0, 0);
  pointer-events: none;
}
.s3d-flat-new__apartments-list-swiper-button-next.swiper-button-disabled svg path {
  fill: white;
}
@media screen and (max-width: 768px) {
  .s3d-flat-new__apartments-list .s3d-villa__floor__title-wrap {
    width: calc(100% + 2px);
  }
  .s3d-flat-new__apartments-list .s3d-villa__floor__title-wrap .s3d-villa__floor__title {
    width: 100%;
  }
  .s3d-flat-new__apartments-list .s3d-villa__floor__title-wrap .s3d-villa__floor__title-wrap__line {
    display: none;
  }
}

.s3d-flat-new .s3d-villa__floor-inner {
  width: 100%;
}
.s3d-flat-new .flat-page-none {
  display: none;
}
.s3d-flat-new .s3d-villa__contact-screen {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.s3d-flat-new .s3d-flat-new__bottom {
  display: block;
  width: 100%;
  height: 128px;
  border-bottom-right-radius: var(--border-space-32);
  border-bottom-left-radius: var(--border-space-32);
  background-color: var(--color-gray-200);
}
@media screen and (max-width: 768px) {
  .s3d-flat-new .s3d-flat-new__bottom {
    height: 40px;
  }
}

.driver-popover {
  padding: var(--space-2);
}
.driver-popover-title {
  display: flex !important;
  justify-content: center;
  margin-top: var(--space-2);
}
.driver-popover-title .driver-popover-progress-text {
  margin-right: var(--space-1);
}
.driver-popover-close-btn {
  width: 24px;
  height: 24px;
  color: transparent;
  font-size: 0;
}
.driver-popover-close-btn svg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  transition: 0.3s ease-in-out;
}
@media screen and (min-width: 1023px) {
  .driver-popover-close-btn:hover svg {
    transform: rotate(90deg);
  }
}
.driver-popover-description {
  color: var(--text-gray-800);
  font-size: 13px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 140%;
  text-decoration: none;
  text-transform: none;
  text-align: center;
  margin-bottom: var(--space-3);
}
.driver-popover-progress-text {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
}

.driver-popover-title {
  font-size: 20px;
  font-family: "Inter Display", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  text-decoration: none;
  text-transform: none;
  color: var(--text-gray-900);
}

.driver-popover-footer {
  flex-wrap: wrap;
  margin-top: var(--space-2);
}
.driver-popover-footer .driver-popover-navigation-btns {
  width: 100%;
}
.driver-popover-footer .driver-popover-next-btn {
  text-shadow: none;
  flex-grow: 1;
  text-align: center;
}

.driver-fade .driver-overlay path {
  fill: var(--bg-overlay) !important;
  opacity: 1 !important;
}

.driver-popover-close-btn {
  display: flex !important;
}

.driver-popover-navigation-btns button[style="display: none;"] + button {
  margin-left: 0px;
}

.mobile .driver-fade .driver-popover {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
}
.mobile .driver-popover-arrow {
  left: auto !important;
  right: 50% !important;
  transform: translateX(50%);
}
.mobile .driver-popover-arrow.driver-popover-arrow-side-right {
  display: none !important;
}

.irs {
  --irs-height: 40px;
  --irs-point: 15px;
  --irs-color-text: #000000;
  --irs-color-bg-line: var(--color-surface-gray-600);
  --irs-color-bar: #000000;
  --irs-color-point: #000000;
  --irs-color-point-hover: var(--surface-gray-900);
  --irs-color-point-stroke: #000000;
  height: var(--irs-height);
}
.irs--flat .irs-line {
  height: 2px;
  top: calc(var(--irs-point) / 2);
  background: var(--irs-color-bg-line);
  background-color: var(--color-surface-gray-600);
}
.irs--flat .irs-bar {
  top: calc(var(--irs-point) / 2);
  height: 1px;
  background: var(--irs-color-bar);
}
.irs--flat .irs-handle {
  top: 0;
  width: var(--irs-point);
  height: var(--irs-point);
  border-radius: 50%;
  overflow: hidden;
  box-sizing: content-box;
  transition: transform 0.4s ease-in-out;
}
.irs--flat .irs-handle > i:first-child {
  width: 100%;
  position: static;
  margin: 0;
  cursor: pointer;
  border-radius: 50%;
  background-color: var(--irs-color-point);
  border: 1px solid var(--irs-color-point-stroke);
}
.irs--flat .irs-from, .irs--flat .irs-to, .irs--flat .irs-single {
  color: var(--irs-color-text);
  font-size: var(--font14);
  line-height: 1.3em;
  top: calc(var(--irs-point) + 2px);
  background: none;
}
.irs--flat .irs-from:before, .irs--flat .irs-to:before, .irs--flat .irs-single:before {
  display: none;
}

.irs--flat .irs-handle.state_hover > i:first-child, .irs--flat .irs-handle:hover > i:first-child {
  background-color: #000000;
}

@media screen and (min-width: 1023px) {
  .irs--flat .irs-handle:hover {
    transform: scale(1.2);
  }
  .irs--flat .irs-handle:hover > i:first-child {
    background-color: var(--irs-color-point-hover);
  }
}
@media screen and (max-width: 1440px) {
  .irs {
    --irs-height: 35px;
  }
}
@media screen and (max-width: 680px) {
  .irs {
    --irs-height: 45px;
    --irs-point: 24px;
  }
  .irs--flat .irs-handle {
    top: calc(var(--irs-point) / 2);
    transform: translate(0%, -50%) scale(1.45);
  }
}
.mobile.landscape .irs {
  --irs-height: 30px;
}

@media screen and (min-width: 1025px) {
  .s3d-villa__floor-explication-screen-slider {
    height: auto !important;
  }
  .s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide img {
    height: auto !important;
  }
  .s3d-villa__floor {
    padding-bottom: 0 !important;
  }
  .s3d-flat-new__apartments-list {
    padding-top: var(--space-16);
  }
}
@media screen and (min-width: 769px) {
  .s3d-villa__floor-explication-screen-slider .swiper-slide .s3d-villa__floor-explication-screen-slide {
    aspect-ratio: auto;
  }
}
.s3d-intro__content > div {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 1025px) {
  .s3d-intro__content button {
    margin-top: 35vh !important;
    width: 325px !important;
  }
}
.s3d-filter__input-wrapper,
.s3d-villa__navigation,
.s3d-flat-new__details,
[data-hide-elements=genplan],
[data-s3d2-header-flyby-dropdown],
[data-header-floor-plan-group],
[data-type=flyby] .MenuMobileButton.js-s3d-ctr__filter,
.MobileNavigationMenu .ButtonWithoutIcon.js-s3d-nav__btn[data-type=floor],
.MobileFunctionsMenu > :nth-last-child(1),
.MobileFunctionsMenu > :nth-last-child(2),
.MobileFunctionsMenu .js-ctr-btn.s3d__choose--flat,
[data-type=intro] .MobileFlybyController,
[data-type=intro] #quiz-open-icon,
[data-type=undefined] #quiz-open-icon,
[data-type=undefined] .s3d-ctr__audio,
[data-type=intro] .s3d-ctr__audio,
[data-type=intro] .header__right,
[data-type=undefined] .header__right,
.s3d-villa__contact-screen,
.s3d-infoBox [data-href=null],
.s3d-villa__contact-screen .s3d-villa__contact,
[data-show-flat-in-flyby] ~ [data-show-flat-in-flyby] {
  display: none !important;
}

[data-s3d-share] svg {
  width: 18px !important;
  height: 18px !important;
}

.s3d-infoBox__flat .s3d-infoBox__close svg {
  fill: white;
}

.SvgPin__icon-bg {
  stroke: var(--color-brand-800) !important;
}

foreignObject[data-type=infrastructure] {
  width: 120px;
}

.s3d-infoBox__infrastructure-description {
  padding: 12px;
}
/*# sourceMappingURL=main_v2.css.map */
