@charset "UTF-8";
/* ------------------------------------
   Optima Cyr (Regular 400)
------------------------------------ */
@font-face {
  font-family: "Optima Cyr";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/optima/optima-cyr.ttf") format("ttf"), url("/fonts/optima/optima-cyr.woff") format("woff");
}
/* ------------------------------------
   TT Fors Trial (Regular 400)
------------------------------------ */
@font-face {
  font-family: "TT Fors Trial";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/tt-fors/TT-Fors-Trial-Regular.ttf") format("ttf"), url("/fonts/tt-fors/TT-Fors-Trial-Regular.woff") format("woff");
}
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
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;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-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.
*/
::-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 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}
/* Адаптивный контейнер модалки */
.container {
    width: 100%;
    max-width: 1660px; /* 1920 - 260 */
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    display: flex;
    flex-direction: column;
  }
@media (min-width: 768px) {
    .container {
      padding-left: 20px;
      padding-right: 20px;
    }
  }
@media (min-width: 1660px) {
    .container {
      padding-inline: 0;
    }
  }
.btn {
    font-family: Optima Cyr, sans-serif;
    background: #241D17;
    color: #EAEAEA;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 20px;
    width: 100%;
    font-size: 16px;
    line-height: 21px;
    border: 1px solid #241D17;
    transition: all 0.3 ease-in-out;
  }
.btn:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(215 213 201 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
    color: #241D17;
}
@media (min-width: 768px) {
    .btn {
      height: 96px;
      font-size: 24px;
    }
  }
.btn-round {
    font-family: Optima Cyr, sans-serif;
    color: #241D17;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 20px;
    width: 100%;
    font-size: 16px;
    line-height: 21px;
    border: 1px solid #241D17;
    transition: all 0.3 ease-in-out;
  }
.btn-round:hover {
    background: #241D17;
    color: #EAEAEA;
  }
@media (min-width: 768px) {
    .btn-round {
      height: 96px;
      font-size: 24px;
    }
  }
.breadcrumb-black .breadcrumb__desc,
  .breadcrumb-black .breadcrumb__mob {
    color: #241D17;
  }
.breadcrumb__desc, .breadcrumb__mob {
    display: none;
  }
.breadcrumb__mob {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #D7D5C9;
    font-size: 13px;
    line-height: 17px;
  }
.breadcrumb .breadcrumb__mob.breadcrumb__center {
    justify-content: center;
  }
@media (min-width: 1024px) {
    .breadcrumb__mob {
      display: none;
    }
    .breadcrumb__desc {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      --tw-text-opacity: 1;
      color: rgb(215 213 201 / var(--tw-text-opacity, 1));
    }
    .breadcrumb__desc span {
      font-size: 16px;
    }
  }
.tab{
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(36 29 23 / var(--tw-border-opacity, 1));
  font-family: Optima Cyr, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 21px;
    height: 36px;
    padding-inline: 19.5px;
}
.tab.active {
    color: #D9D9D9;
    background: #041E2E;
  }
@media (min-width: 768px) {
    .tab {
      font-size: 15px;
      line-height: 21px;
      height: 40px;
      padding-inline: 30px;
    }
  }
.visible{
  visibility: visible;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.block{
  display: block;
}
.flex{
  display: flex;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.h-screen{
  height: 100vh;
}
.w-screen{
  width: 100vw;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-5xl{
  max-width: 64rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer{
  cursor: pointer;
}
.resize{
  resize: both;
}
.items-center{
  align-items: center;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.overflow-hidden{
  overflow: hidden;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-full{
  border-radius: 9999px;
}
.bg-neutral-900{
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
}
.bg-neutral-950{
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.p-6{
  padding: 1.5rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.font-medium{
  font-weight: 500;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.tracking-\[0\.2em\]{
  letter-spacing: 0.2em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-neutral-400{
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.title{
  font-family: Optima Cyr, sans-serif;
    font-size: 36px;
    line-height: 34px;
}
@media (min-width: 768px) {
    .title {
      font-size: 70px;
      line-height: 48px;
    }
  }
@media (min-width: 1024px) {
    .title {
      font-size: 100px;
      line-height: 91px;
    }
  }
.text {
    font-size: 13px;
    line-height: 17px;
    font-weight: 400;
  }
@media (min-width: 768px) {
    .text {
      font-size: 17px;
      line-height: 19px;
    }
  }
@media (min-width: 1024px) {
    .text {
      font-size: 20px;
      line-height: 120%;
    }
  }
.scrollTo {
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 60px;
  height: 60px;
  z-index: 2;
  opacity: 0;
}
.scrollTo::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 9999px;
  backdrop-filter: blur(12px);
  background: rgba(64, 51, 42, 0.5019607843);
}
.scrollTo > * {
  position: relative;
}
@media (min-width: 768px) {
  .scrollTo {
    width: 70px;
    height: 70px;
  }
}
@media (min-width: 1024px) {
  .scrollTo {
    right: 20px;
    bottom: 20px;
    width: 100px;
    height: 100px;
  }
}

.morph-test {
  position: absolute;
  top: 0;
}

.bg {
  height: 100%;
  width: auto;
}

.svg-container {
  position: relative;
}

.svg-clippath {
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  overflow: hidden;
}

/* Общие стили, которые Tailwind’ом не удобно описывать */
html, body{
  --tw-bg-opacity: 1;
  background-color: rgb(36 29 23 / var(--tw-bg-opacity, 1));
  font-family: TT Fors Trial, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
  overflow-x: clip;
  color: #fff;
}

*::-webkit-scrollbar {
  display: none;
}
* {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scroll-wrapper {
  height: 200vh;
}

.sticky-container {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.desc {
  display: none;
}
@media (min-width: 1024px) {
  .desc {
    display: block;
  }
  .mob {
    display: none;
  }
}

.first-section {
  padding-top: 126px;
}

.block-section {
  height: 100vh;
  scroll-snap-align: start;
}

.page {
  overflow: visible;
  background: #241D17;
}

.section {
  position: relative;
}

.fullscreen-svg {
  width: 100vw;
  height: 100vh;
  display: block;
}

@media (min-width: 1024px) {
  .swipe-section,
  .swipe-sectionhidden {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
  }
  .swipe-sectionhidden > * {
    height: 0;
    width: 0;
  }
  /* панели лежат стопкой */
  .swipe-section > .section {
    position: absolute;
    inset: 0;
    height: 100vh;
    width: 100%;
    will-change: transform;
  }
}
.map-section {
  height: 100vh;
}

#map {
  width: 100%;
  height: 100%;
  background: #241D17;
}

.custom-marker {
  position: relative;
  transform: translate(-50%, -100%); /* Сдвиг, чтобы низ SVG совпал с точкой */
}

@media (min-width: 1024px) {
  .swipe-section {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
  }
  .swipe-section .panel {
    position: absolute;
    inset: 0; /* top/right/bottom/left = 0 */
    width: 100%;
    height: 100%;
    will-change: transform;
  }
  .swipe-section .panel:first-child {
    z-index: 2;
  }
}
.header{
  font-family: Optima Cyr, sans-serif;
  position: fixed;
  z-index: 10;
  top: 0px;
  inset-inline: 0;
  height: 88px;
  display: flex;
  align-items: center;
  background: transparent;
  justify-content: space-between;
  color: #D7D5C9;
}

.headermain {
  position: fixed;
}
@media (min-width: 1024px) {
  .headermain .header-choose-btn {
    display: none;
  }
}

.isscrollingpin header.header-fixed,
.isscrolling header.header-fixed {
  opacity: 1;
  transform: translateY(0%);
}

.isscrollingpin header.header-main,
.isscrolling header.header-main {
  opacity: 0;
  transform: translateY(-100%);
}

.header-main {
  transition: 0.3s ease;
  will-change: transform, opacity;
}

.header-fixed {
  background: rgba(64, 51, 42, 0.5019607843);
  opacity: 0;
  backdrop-filter: blur(14px);
  transform: translateY(-100%);
  transition: 0.3s ease;
  will-change: transform, opacity;
}

.header-black {
  color: #241D17;
}
.header-black .header-logo {
  color: #241D17;
  cursor: pointer;
}
.header-black .header-choose-btn {
  border-color: #241D17;
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
}

.header-left,
.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-right {
  justify-self: end;
}

.header-phone-btn{
  font-family: Optima Cyr, sans-serif;
}

.header-left .header-phone-btn {
  display: none;
}

.header-logo {
  width: 108px;
  height: 28px;
  justify-self: center;
  text-decoration: none;
  color: white;
  cursor: pointer;
}

/* БУРГЕР */
.header-burger {
  width: 36px;
  height: 22px;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 4px;
  align-items: center;
  cursor: pointer;
}

.header-burger-one {
  justify-content: center;
}

.header-burger-line {
  width: 100%;
  height: 1.5px;
  border-radius: 999px;
  background: #D7D5C9;
}

.header-black .header-burger-line {
  background: #241D17;
}

/* ИКОНКА ТЕЛЕФОНА (круглая) */
.header-phone-btn,
.header-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #D7D5C9;
}

.header-phone-btn svg,
.header-phone-link svg {
  display: block;
  width: 26px;
  height: 26px;
}

.header-phone-text{
  font-family: Optima Cyr, sans-serif;
  font-size: 16px;
  line-height: 21px;
}

/* ТЕКСТОВЫЕ ССЫЛКИ В ХЕДЕРЕ */
.header-phone-number,
.header-cta-link {
  text-decoration: none;
}

.header-cta-link {
  position: relative;
}

.header-cta-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: rgba(245, 243, 238, 0.6);
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.header-cta-link:hover::after {
  transform: scaleX(1);
}

.header-choose-btn{
  font-family: Optima Cyr, sans-serif;
  font-size: 16px;
  line-height: 21px;
  transition: all 0.3 ease-in-out;
}
.header-choose-btn:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(215 213 201 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px) {
  .header-logo {
    width: 121px;
    height: 32px;
    cursor: pointer;
  }
  .header-left .header-phone-btn {
    display: flex;
    gap: 60px;
    align-items: center;
  }
  .header-right .header-right-desktop {
    gap: 60px;
  }
}
@media (min-width: 1024px) {
  .header {
    height: 126px;
  }
  .header-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
  }
  .header-right {
    justify-self: end;
  }
  .header-choose-btn {
    height: 73px;
    width: 349px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid white;
  }
  .header-logo {
    cursor: pointer;
    width: 204px;
    height: 54px;
  }
  .header-left .header-phone-btn {
    display: none;
  }
  .header-phone-text {
    font-size: 20px;
    line-height: 21px;
  }
}
/* Вспомогательный класс для скрытых элементов (если Tailwind не используешь) */
@media (min-width: 768px) {
  .md\\:hidden {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .md\\:hidden {
    display: inline-flex !important;
  }
}
/* но у тебя уже есть Tailwind, так что можно опереться на него и не добавлять это */
/* Когда модалка открыта — блокируем скролл твоего контейнера */
.block-scroll-wrapper.is-modal-open {
  overflow: hidden;
}

/* Оверлей: на весь экран, с блюром */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none; /* по умолчанию скрыта */
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  max-height: 100vh;
}

.modal-overlay.is-open {
  display: flex;
  pointer-events: auto;
}

.modal-content {
  display: grid;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
}

.modal-title {
  font-size: 24px;
  line-height: 42px;
}

/* Карточка модалки */
.modal-card{
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
  position: absolute;
  z-index: 1;
  bottom: 0;
  background: #f5f5f7;
  max-width: 233px;
  padding: 50px 40px;
  width: 100%;
  min-height: 532px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  transform-origin: 50% 50%;
}

/* Шапка: заголовок + крест */
.modal-header {
  display: grid;
  align-items: center;
  align-content: start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.modal-title{
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
  font-family: "Optima Cyr", sans-serif;
  font-size: 26px;
  line-height: 1.2;
}

.modal-subtitle{
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
  font-size: 13px;
  line-height: 17px;
}

.modal-close {
  display: none;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(116 163 208 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(116 163 208 / var(--tw-text-opacity, 1));
  position: absolute;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  right: 27px;
  top: 48px;
  background: transparent;
  outline: none;
  cursor: pointer;
  font-size: 12px;
}

.modal-close:hover {
  background: rgba(0, 0, 0, 0.06);
}

/* Тело модалки */
.modal-body {
  flex: 1;
  display: grid;
  overflow: auto;
}

/* Внутренний layout под 2 колонки (потом наполнишь) */
.modal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 32px;
}

.modal-col {
  min-width: 0;
}

@media (min-width: 768px) {
  .modal-overlay {
    align-items: center;
  }
  .modal-header-center {
    text-align: center;
  }
  .modal-content {
    justify-items: center;
  }
  .modal-header {
    gap: 30px;
    margin-bottom: 30px;
  }
  .modal-title {
    font-size: 53px;
    line-height: 47px;
    letter-spacing: 0.01em;
  }
  .modal-subtitle {
    font-size: 14px;
    line-height: 120%;
  }
  .modal-card {
    max-width: 605px;
    padding: 64px;
    min-height: 778px;
  }
  .modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .modal-header {
    width: 304px;
  }
  .modal-card {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    padding: 64px 113px 0 113px;
    min-height: 727px;
  }
}
/* Мобилка */
@media (max-width: 767px) {
  .modal-card {
    max-width: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
  .modal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}
/* ШТОРКА (drag handle) — видна только на мобиле */
.modal-drag-handle {
  display: none;
}
@media (max-width: 767px) {
  .modal-drag-handle {
    display: flex;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 12px;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.modal-drag-handle::before {
  content: "";
  width: 64px;
  height: 4px;
  border-radius: 999px;
  background: #d0d0d5;
}

.modal-other .modal-close {
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid black;
  border-radius: 9999px;
  color: black;
  position: absolute;
  top: 19px;
  right: 20px;
}
.modal-other .modal-card {
  background: #D7D5C9;
  padding-inline: 20px;
  padding-top: 70px;
}
@media (min-width: 768px) {
  .modal-other .modal-close {
    width: 40px;
    height: 40px;
    top: 46px;
  }
  .modal-other .modal-card {
    padding-top: 124px;
    min-height: auto;
    height: -moz-max-content;
    height: max-content;
  }
}
@media (min-width: 1024px) {
  .modal-other .modal-close {
    width: 48px;
    height: 48px;
    top: 50px;
    right: 87px;
  }
  .modal-other .modal-card {
    padding-inline: 87px;
    padding-top: 136px;
    max-width: 1596px;
    min-height: auto;
    height: -moz-max-content;
    height: max-content;
  }
}

.mortgage-form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.modal-header {
  padding-top: 5px;
  margin-bottom: 30px;
}

.mortgage-form__fields {
  display: grid;
}

.mortgage-form__bottom {
  display: grid;
  gap: 13px;
  justify-items: center;
}

.mortgage-pol {
  text-align: center;
  font-size: 10px;
  line-height: normal;
  max-width: 219px;
}

.mortgage-pol a{
  --tw-text-opacity: 1;
  color: rgb(116 163 208 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px) {
  .mortgage-pol {
    font-size: 12px;
  }
}
@media (min-width: 1024px) {
  .modal-header {
    padding-top: 5px;
    margin-bottom: 50px;
  }
  .mortgage-form {
    gap: 69px;
  }
}
/* Поля */
.field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.field-label {
  font-size: 13px;
  color: #444;
}

.field-input {
  border: none;
  border-bottom: 1px solid #a7bfd8;
  padding: 6px 0;
  font-size: 15px;
  background: transparent;
  outline: none;
}

.field.field-other .field-input {
  border-color: #D7D5C9;
  color: rgba(215, 213, 201, 0.5019607843);
}
.field.field-other .field-input::-moz-placeholder {
  color: rgba(215, 213, 201, 0.5019607843);
}
.field.field-other .field-input::placeholder {
  color: rgba(215, 213, 201, 0.5019607843);
}

.field.field--error .field-input {
  border-color: #e25151;
}

.field-error {
  min-height: 16px;
  font-size: 12px;
  color: #e25151;
}

/* чекбокс */
.field-checkbox {
  margin-top: 4px;
}

.checkbox {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkbox input:checked ~ .checkbox__checkmark {
  background-color: #fff;
}

.checkbox input:checked ~ .checkbox__checkmark:after {
  opacity: 1;
}

.checkbox:hover input ~ .checkbox__checkmark {
  background-color: transparent;
}

.checkbox:hover input:checked ~ .checkbox__checkmark {
  background-color: #fff;
}

.checkbox .checkbox__checkmark {
  position: absolute;
  top: 0px;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: transparent;
  border: 2px solid #D7D5C9;
  transition: background-color 0.25s ease;
  border-radius: 3px;
}

.checkbox .checkbox__checkmark:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #D7D5C9;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.checkbox .checkbox__body {
  color: rgba(215, 213, 201, 0.6);
  line-height: 120%;
  font-size: 17px;
}
.checkbox .checkbox__body a {
  text-decoration: underline;
}

/* Кнопка отправки */
.mortgage-submit {
  margin-top: 8px;
  border: none;
  width: 100%;
  padding: 14px;
  border-radius: 999px;
  background: #6b9dd9;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}

.mortgage-submit:hover {
  background: #5a8cc7;
}

/* Состояния “спасибо” и “ошибка” */
.modal-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
  padding-top: 40px;
}

.modal-state-text {
  font-size: 15px;
  line-height: 1.5;
}

.modal-state-note {
  margin-top: auto;
  font-size: 13px;
  color: #666;
}

.modal-state-note span {
  color: #4a7ec5;
}

.modal-state-btn {
  margin-top: auto;
  border: none;
  padding: 12px 28px;
  border-radius: 999px;
  background: #6b9dd9;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.modal-state-btn:hover {
  background: #5a8cc7;
}

.pinned-block {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.el {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

/* pinned секция всегда высотой с экран, даже если внутри всё скрыто */
.unic,
.conceptdesc {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

.footer {
  padding-block: 22px;
  background-size: 596px 1150px;
  background-position: 0px top;
  background-repeat: no-repeat;
}
.footer__top .footer__logo {
  display: none;
}
.footer__top .footer__logo > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5019607843);
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.footer__top-wrapper {
  display: grid;
  gap: 30px;
}
.footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 19px 0;
}
.footer__links-item {
  display: grid;
  align-content: start;
  gap: 10px;
  font-family: Optima Cyr, sans-serif;
  font-size: 13px;
  line-height: 21px;
  color: #D7D5C9;
}
.footer__links-item > * {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.footer__links-item > *::before {
  content: "";
  background: #D7D5C9;
  height: 1px;
  width: 0%;
  position: absolute;
  left: 0;
  bottom: -5px;
  transition: all 0.3s ease;
}
.footer__links-item > *:hover::before {
  width: 100%;
}
.footer__links-main {
  font-size: 20px;
  line-height: 21px;
}
.footer__links-offset {
  padding-top: 31px;
}
.footer__calls {
  display: grid;
  gap: 10px;
}
.footer__phone {
  font-family: Optima Cyr, sans-serif;
  color: #D7D5C9;
  font-size: 26px;
  line-height: 26px;
}
.footer__call {
  font-family: Optima Cyr, sans-serif;
  font-size: 14px;
  line-height: 14px;
  color: #EAEAEA;
}
.footer__linksotherdesc {
  display: none;
}
.footer__linksother {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.footer__bottom .footer__logo {
  width: 108px;
  height: 28px;
  cursor: pointer;
}
.footer__dis {
  font-size: 12px;
  line-height: 120%;
  color: #D7D5C9;
}
.footer__docs {
  display: flex;
  color: #A09E95;
  font-size: 10px;
  line-height: 120%;
  justify-content: space-between;
  margin-bottom: 10px;
}
.footer__docs .pol-pers {
  display: none;
}
.footer__descr {
  color: #A09E95;
  font-size: 9px;
  line-height: 12px;
}

@media (min-width: 768px) {
  .footer {
    background-size: 848px 1636px;
    background-position: -20px -200px;
    padding-top: 48px;
    padding-bottom: 20px;
  }
  .footer__top .footer__logo {
    display: block;
    width: 183px;
    height: 48px;
    cursor: pointer;
  }
  .footer__top {
    padding-bottom: 67px;
    margin-bottom: 41px;
  }
  .footer__top-wrapper {
    gap: 42px;
  }
  .footer__top-linksother {
    display: flex;
    justify-content: space-between;
  }
  .footer__calls {
    gap: 20px;
  }
  .footer__phone {
    font-size: 40px;
    line-height: 120%;
  }
  .footer__call {
    font-size: 24px;
    line-height: 120%;
    justify-self: end;
  }
  .footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .footer__links-item {
    font-size: 15px;
    line-height: 21px;
    gap: 12px;
  }
  .footer__links-main {
    font-size: 20px;
    line-height: 21px;
  }
  .footer__links-offset {
    padding-top: 0;
  }
  .footer__bottom .footer__logo {
    display: none;
  }
  .footer__bottom {
    display: grid;
    grid-template-areas: "A A B B" "C C C C";
  }
  .footer__bottom .footer__linksother {
    grid-area: B;
    justify-self: end;
  }
  .footer__bottom .footer__docs {
    grid-area: A;
    margin-bottom: 0;
  }
  .footer__bottom .footer__descr {
    grid-area: C;
  }
}
@media (min-width: 1024px) {
  .footer {
    background-size: 100%;
    background-position: 0px -1000px;
    padding-top: 48px;
    padding-bottom: 20px;
  }
  .footer__top .footer__logo {
    display: none;
  }
  .footer__top {
    display: grid;
    gap: 59px;
    padding-bottom: 36px;
    margin-bottom: 28px;
  }
  .footer__top-wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 109px;
    align-items: start;
  }
  .footer__top .footer__top-links {
    order: 1;
    flex-shrink: 0;
  }
  .footer__top .footer__top-linksother {
    order: 2;
  }
  .footer__links {
    gap: 27px;
  }
  .footer__links-item {
    font-size: 20px;
    color: #D7D5C9;
  }
  .footer__bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr;
    grid-template-areas: "A C";
    align-items: center;
  }
  .footer__docs {
    font-size: 16px;
    line-height: 120%;
    display: flex;
    gap: 112px;
    justify-content: flex-start;
  }
  .footer__docs .pol-pers {
    display: inline-block;
  }
  .footer__descr {
    font-size: 12px;
    line-height: 12px;
    width: 539px;
    justify-self: end;
  }
  .footer__linksother {
    display: none;
  }
  .footer__linksotherdesc {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  .footer__linksotherdesc .footer__logo {
    display: block;
  }
}
.menu {
  position: fixed;
  background: #241D17;
  width: 100%;
  height: 100%;
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.3s ease-in;
  bottom: -1px;
  overflow: hidden;
  z-index: 11;
  left: 0;
}
.menu.open{
  width: 100%;
  opacity: 1;
}
@media (min-width: 1280px){
  .menu.open{
    display: block;
  }
}
.menu.active{
  width: 100%;
  opacity: 1;
}
@media (min-width: 1280px){
  .menu.active{
    display: block;
  }
}
.menu.active {
  transform: translateY(0%);
}
.menu__wrapper {
  height: 100vh;
}
.menu__titlelinks {
  padding-block: 47px;
  display: grid;
}
.menu__titlelink {
  color: #D7D5C9;
  font-size: 26px;
  line-height: 34px;
}
.menu__left {
  padding-top: 100px;
  padding-bottom: 46px;
  overflow: auto;
}
.menu__right {
  display: none;
}
.menu__links {
  display: grid;
  grid-template-columns: 160px 160px;
  gap: 6px;
}
.menu__links-list {
  display: grid;
  font-family: Optima Cyr, sans-serif;
  color: #D7D5C9;
  gap: 10px;
  font-size: 14px;
  line-height: 21px;
}
.menu__links-list > * {
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.menu__links-list > *::before {
  content: "";
  background: #D7D5C9;
  height: 1px;
  width: 0%;
  position: absolute;
  left: 0;
  bottom: -5px;
}
@media (min-width: 1024px) {
  .menu__links-list > *::before {
    transition: all 0.3s ease;
  }
}
.menu__links-list > *:hover::before {
  width: 100%;
}
.menu__ankors {
  margin-bottom: 70px;
}
.menu__links-other {
  gap: 81px 6px;
}
@media (min-width: 768px) {
  .menu__titlelink {
    font-size: 50px;
    line-height: 68px;
  }
  .menu__links {
    grid-template-columns: 195px 195px 195px;
    gap: 50px;
  }
  .menu__links-list {
    gap: 27px;
    font-size: 20px;
    line-height: 21px;
  }
}
@media (min-width: 1024px) {
  .menu__titlelinks {
    padding-block: 15px;
  }
  .menu__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .menu__links {
    grid-template-columns: 160px 160px 160px;
    gap: 105px;
  }
  .menu__left {
    display: grid;
    align-content: start;
    align-content: space-between;
  }
  .menu__right {
    margin-right: -20px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
@media (min-width: 1660px) {
  .menu__right {
    margin-right: -130px;
  }
}
@media (min-width: 1920px) {
  .menu__titlelinks {
    padding-block: 47px;
  }
  .menu__links {
    grid-template-columns: 195px 195px 195px;
    gap: 105px;
  }
  .menu__right {
    position: absolute;
    width: 50%;
    height: 100%;
    right: 0;
    top: 0;
    margin: 0;
  }
}

.hero {
  position: relative;
  min-height: 100vh;
  background: #241D17;
  display: flex;
  overflow: hidden;
}

.hero-clip-svg-desc, .hero-clip-svg-mob {
  display: none;
}
@media (max-width: 1023px) {
  .hero-clip-svg-mob {
    display: block;
  }
}
@media (min-width: 1024px) {
  .hero-clip-svg-desc {
    display: block;
  }
}

/* текст всегда поверх пятна */
.hero-left {
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 67px;
  left: 50%;
  transform: translateX(-50%);
}

.hero-left__wrapper {
  display: grid;
  justify-items: center;
  gap: 26px;
  padding-top: 67px;
}

.hero-title{
  font-family: Optima Cyr, sans-serif;
  font-size: 36px;
  line-height: 39px;
  text-align: center;
}

.hero-btn{
  --tw-text-opacity: 1;
  color: rgb(215 213 201 / var(--tw-text-opacity, 1));
  font-size: 16px;
  line-height: 21px;
  height: 53px;
  min-width: 266px;
  border: 1px solid white;
  padding: 0 20px;
  transition: all 0.3 ease-in-out;
  display: inline-block;
  display: grid;
  place-content: center;
}
.hero-btn:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(215 213 201 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(36 29 23 / var(--tw-text-opacity, 1));
}

/* Моби / планшет по умолчанию */
.hero-right {
  position: relative;
  margin-top: 2rem;
}

/* Пятно */
.hero-blob {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  will-change: transform;
  /* финальная форма (мобилка) */
}

/* планшет >= 768 */
@media (min-width: 768px) {
  .hero-left {
    left: 0;
    transform: translateX(0);
  }
}
/* десктоп >= 1024 (можешь поменять порог на 1280 при желании) */
/* стартовая форма для morph (десктоп) */
.hero-clip-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-clip-svg .mobile,
.hero-clip-svg .laptop,
.hero-clip-svg .desktop {
  display: none;
}

@media (max-width: 767px) {
  .hero-clip-svg .mobile {
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-clip-svg .laptop {
    display: block;
  }
}
@media (min-width: 1024px) {
  .hero-clip-svg {
    transform: translateY(-100%);
  }
  .hero-clip-svg .desktop {
    display: block;
  }
}
.hero-media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  clip-path: url(#heroClip);
}

.hero-right {
  position: absolute;
  bottom: -50px;
  width: 471px;
  height: 423px;
  left: 50%;
  transform: translate(-50%, 60px);
}

/* Планшет / десктоп — выносим пятно вправо, как в макете */
@media (min-width: 768px) {
  .hero-left {
    top: 123px;
  }
  .hero-left__wrapper {
    justify-items: start;
  }
  .hero-title {
    font-size: 70px;
    line-height: 70px;
    text-align: left;
  }
  .hero-cta {
    display: none;
  }
  .hero-right {
    width: 823.65px;
    height: 739px;
    transform: translate(-50%, 0px);
  }
}
@media (min-width: 1024px) {
  .hero {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .hero-cta {
    display: block;
  }
  .hero-left {
    top: 322px;
  }
  .hero-right {
    right: -150px;
    left: auto;
    transform: translate(0, 0);
    top: 0px;
  }
  .hero-blob {
    max-width: none;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
}
@media (min-width: 1660px) {
  .hero-left {
    top: 350px;
  }
  .hero-title {
    font-size: 110px;
    line-height: 96px;
  }
  .hero-btn {
    width: 349px;
    height: 73px;
    font-size: 20px;
    line-height: 21px;
  }
  .hero-left__wrapper {
    gap: 60px;
  }
  .hero-right {
    width: 1355px;
    height: 1216px;
    right: -30px;
    left: auto;
    transform: translate(0, 0);
    top: -60px;
  }
}
.space {
  position: relative;
  height: 100vh;
}
.space__bg {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.space__bg-wrapper {
  width: 1588px;
  height: 893px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -594px 100%;
}
.space__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1588px;
  height: 893px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 86.83%);
  z-index: 0;
}
.space-inner {
  position: relative;
}
.space__wrapper {
  padding-top: 60px;
  position: relative;
  z-index: 1;
}
.space__wrapper .title {
  font-weight: 400;
  font-size: 36px;
  line-height: 34px;
  margin-bottom: 30px;
}
.space__wrapper .text {
  font-size: 13px;
  line-height: 17px;
  width: 313px;
}

@media (min-width: 768px) {
  .space__bg-wrapper {
    width: 1823px;
    height: 1025px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: -411.5px 100%;
  }
  .space__wrapper {
    padding-top: 100px;
  }
  .space__wrapper .title {
    font-size: 60px;
    line-height: 48px;
  }
  .space__wrapper .text {
    font-size: 17px;
    line-height: 19px;
    width: 385px;
  }
}
@media (min-width: 1024px) {
  .space__bg-wrapper {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  .space__bg::before {
    width: 100%;
    height: 100%;
  }
  .space__wrapper {
    padding-top: 128px;
  }
  .space__wrapper .title {
    font-size: 70px;
    line-height: 70px;
    margin-bottom: 34px;
  }
  .space__wrapper .text {
    font-size: 20px;
    line-height: 120%;
    width: 559px;
  }
}
@media (min-width: 1660px) {
  .space__wrapper {
    padding-top: 178px;
  }
  .space__wrapper .title {
    font-size: 100px;
    line-height: 91px;
    margin-bottom: 54px;
  }
  .space__wrapper .text {
    width: 559px;
  }
}
.map {
  position: relative;
  height: 100vh;
}
.map__bg {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.map__bg-wrapper {
  margin: auto;
  width: 1083px;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -491.5px 100%;
}

@media (min-width: 768px) {
  .map__bg-wrapper {
    width: 1466px;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: -483px 100%;
  }
}
@media (min-width: 1024px) {
  .map__bg-wrapper {
    width: 1700px;
    height: 1187.86px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: -543px -350px;
  }
}
@media (min-width: 1660px) {
  .map__bg-wrapper {
    width: 2104px;
    height: 1469.86px;
    background-position: -243px -400px;
  }
}
.location {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.location__mob, .location__laptop, .location__desk {
  position: absolute;
  display: none;
  -o-object-fit: cover;
     object-fit: cover;
}
.location__bg-svg {
  display: none;
}
@media (max-width: 1023px) {
  .location__bg-svg.mob {
    display: block;
    width: 373px;
    height: 332px;
  }
  .location__bg-svg.mob #location-mask-m path {
    transform-origin: center;
  }
}
@media (min-width: 768px) {
  .location__bg-svg.mob {
    width: 534px;
    height: 474px;
  }
}
@media (min-width: 1024px) {
  .location__bg-svg.desk {
    display: block;
    width: 719.33px;
    height: 920.99px;
  }
}
@media (min-width: 1660px) {
  .location__bg-svg.desk {
    display: block;
    width: 1219.33px;
    height: 1420.99px;
  }
}
.location__bg {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
.location-inner {
  padding-bottom: 370px;
}
.location__wrapper {
  padding-top: 60px;
}
.location__content .title {
  font-size: 36px;
  line-height: 34px;
  margin-bottom: 30px;
  color: #D7D5C9;
}
.location__content .text {
  font-size: 13px;
  line-height: 17px;
  width: 321px;
  color: #D7D5C9;
}

@media (min-width: 768px) {
  .location__bg {
    overflow: hidden;
  }
  .location-inner {
    position: relative;
    padding-bottom: 550px;
  }
  .location__wrapper {
    padding-top: 100px;
  }
  .location__content {
    display: grid;
    text-align: center;
    justify-content: center;
  }
  .location__content .title {
    font-size: 50px;
    line-height: 48px;
    margin-bottom: 30px;
  }
  .location__content .text {
    width: 391px;
    font-size: 17px;
    line-height: 19px;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .location {
    min-height: 100vh;
  }
  .location__bg {
    top: auto;
    transform: translateY(-100%);
    bottom: 0;
    height: -moz-max-content;
    height: max-content;
    left: -130px;
    right: auto;
  }
  .location-inner {
    padding-bottom: 370px;
  }
  .location__wrapper {
    padding-top: 200px;
  }
  .location__content {
    width: 546px;
    padding-left: 60px;
    justify-content: start;
    margin-left: auto;
    margin-right: 0;
    text-align: left;
  }
  .location__content .title {
    margin-bottom: 32px;
    font-size: 56px;
    line-height: 56px;
  }
  .location__content .text {
    font-size: 20px;
    line-height: 120%;
    width: 489px;
    margin-left: 0;
  }
}
@media (min-width: 1660px) {
  .location__wrapper {
    padding-top: 250px;
  }
  .location__content {
    width: 746px;
    padding-left: 40px;
  }
  .location__content .title {
    margin-bottom: 82px;
    font-size: 80px;
    line-height: 68px;
  }
  .location__content .text {
    width: 489px;
    margin-left: 0;
  }
}
.time {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.time__wrapper {
  display: grid;
}
.time-inner {
  padding-block: 60px;
}
.time__top {
  margin-bottom: 44px;
}
.time__top .title {
  font-size: 36px;
  line-height: 34px;
  margin-bottom: 30px;
  color: #D7D5C9;
}
.time__top .text {
  font-size: 13px;
  line-height: 17px;
  width: 321px;
  color: #D7D5C9;
}
.time-list {
  display: grid;
  gap: 60px;
}
.time-item {
  position: relative;
}
.time-item.item1 .time-img {
  width: 335px;
  height: 285px;
  margin-bottom: 20px;
}
.time-item.item2 {
  justify-self: end;
}
.time-item.item2 .time-img {
  width: 218px;
  height: 292px;
  margin-bottom: 20px;
}
.time-item.item3 .time-img {
  width: 218px;
  height: 292px;
  margin-bottom: 20px;
}
.time-item.item4 {
  justify-self: center;
}
.time-item.item4 .time-img {
  width: 334px;
  height: 240px;
  margin-bottom: 20px;
}
.time-img > * {
  width: 100%;
  height: 100%;
}
.time-title {
  font-family: Optima Cyr, sans-serif;
  color: #D7D5C9;
  font-size: 20px;
  line-height: 21px;
}

@media (min-width: 768px) {
  .time {
    padding-block: 100px;
  }
  .time-inner {
    position: relative;
  }
  .time__top {
    justify-self: end;
    margin-bottom: 76px;
  }
  .time__top .title {
    font-size: 50px;
    line-height: 48px;
    margin-bottom: 45px;
  }
  .time__top .text {
    font-size: 17px;
    line-height: 19px;
    width: 321px;
  }
  .time-list {
    gap: 0px;
  }
  .time-item {
    position: relative;
  }
  .time-item.item1 .time-img {
    width: 432px;
    height: 369px;
    margin-bottom: 8px;
  }
  .time-item.item2 {
    justify-self: end;
    transform: translateY(-229px);
    margin-bottom: -229px;
  }
  .time-item.item2 .time-img {
    width: 359px;
    height: 479px;
    margin-bottom: 30px;
  }
  .time-item.item3 {
    transform: translateY(29px);
    margin-bottom: 29px;
  }
  .time-item.item3 .time-img {
    width: 236px;
    height: 316px;
    margin-bottom: 30px;
  }
  .time-item.item4 {
    justify-self: end;
  }
  .time-item.item4 .time-img {
    width: 511px;
    height: 366px;
    margin-bottom: 30px;
  }
  .time-title {
    font-size: 22px;
    line-height: 21px;
  }
}
@media (min-width: 1024px) {
  .time {
    padding-block: 37px;
  }
  .time__top .title {
    margin-bottom: 62px;
    font-size: 50px;
    line-height: 50px;
  }
  .time__top .text {
    width: 401px;
    font-size: 20px;
    line-height: 120%;
    margin-left: 0;
  }
  .time-list {
    margin-top: -150px;
  }
  .time-item {
    will-change: transform;
    position: relative;
  }
  .time-item.item1 .time-img {
    width: 491.3333333333px;
    height: 414.6666666667px;
    margin-bottom: 0px;
  }
  .time-item.item2 {
    justify-self: end;
    margin-right: 70px;
  }
  .time-item.item2 .time-img {
    width: 341.3333333333px;
    height: 455.3333333333px;
    margin-bottom: 40px;
  }
  .time-item.item3 .time-img {
    width: 252px;
    height: 336px;
    margin-bottom: 40px;
  }
  .time-item.item4 {
    justify-self: end;
    margin-right: 0px;
  }
  .time-item.item4 .time-img {
    width: 456.6666666667px;
    height: 326.6666666667px;
    margin-bottom: 40px;
  }
  .time-title {
    font-size: 34px;
    line-height: 35px;
  }
}
@media (min-width: 1660px) {
  .time {
    padding-block: 37px;
  }
  .time__top .title {
    margin-bottom: 82px;
    font-size: 60px;
    line-height: 60px;
  }
  .time__top .text {
    width: 571px;
    font-size: 20px;
    line-height: 120%;
    margin-left: 0;
  }
  .time-list {
    margin-top: -250px;
  }
  .time-item {
    will-change: transform;
    position: relative;
  }
  .time-item.item1 .time-img {
    width: 737px;
    height: 622px;
    margin-bottom: 0px;
  }
  .time-item.item2 {
    justify-self: end;
    margin-top: -400px;
    margin-right: 70px;
  }
  .time-item.item2 .time-img {
    width: 512px;
    height: 683px;
    margin-bottom: 40px;
  }
  .time-item.item3 {
    transform: translate(220px, -229px);
    margin-bottom: -229px;
  }
  .time-item.item3 .time-img {
    width: 378px;
    height: 504px;
    margin-bottom: 40px;
  }
  .time-item.item4 {
    justify-self: end;
    transform: translateY(-129px);
    margin-top: -109px;
    margin-right: 0px;
  }
  .time-item.item4 .time-img {
    width: 685px;
    height: 490px;
    margin-bottom: 40px;
  }
  .time-title {
    font-size: 34px;
    line-height: 35px;
  }
}
.unical {
  position: relative;
}
.unical__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: calc(50% - 100px) center;
  background-size: cover;
}
.unical__wrapper {
  position: relative;
  height: 100vh;
  display: grid;
  align-content: end;
  padding-bottom: 144px;
}
.unical-title {
  font-size: 50px;
  line-height: 43px;
}
@media (min-width: 768px) {
  .unical__bg {
    background-position: center;
  }
  .unical-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1024px) {
  .unical__wrapper {
    display: grid;
    align-content: center;
    padding: 0;
  }
  .unical-title {
    padding: 0;
    font-size: 100px;
    line-height: 91px;
  }
}
.taun {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.taun__wrapper {
  padding-block: 60px;
  padding-bottom: 414px;
}
.taun__content .title {
  margin-bottom: 30px;
  color: #D7D5C9;
}
.taun__content .text {
  width: 257px;
  color: #D7D5C9;
}
.taun__imgs {
  position: relative;
  margin-top: 30px;
}
.taun__img {
  margin-top: 42px;
  width: 219.24px;
  height: 143.86px;
  margin-left: 0;
  position: relative;
}
.taun__img > * {
  width: 100%;
  height: 100%;
}
.taun__img {
  z-index: 1;
}
.taun__img > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.taun__figure {
  width: 343px;
  height: 310.46px;
  position: absolute;
  top: 0px;
  right: -70px;
}
.taun__figure > * {
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .taun {
    padding-top: 80px;
  }
  .taun__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .taun__content .text {
    width: 379px;
  }
  .taun__img {
    margin-top: 53px;
    width: 317.56px;
    height: 222.6px;
  }
  .taun__figure {
    width: 758.87px;
    height: 687.29px;
    position: absolute;
    bottom: 44px;
    right: -320px;
  }
}
@media (min-width: 1024px) {
  .taun {
    height: 100vh;
    padding-top: 100px;
  }
  .taun__content {
    width: 400px;
    margin-right: 50px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
  .taun__content > :first-child {
    margin: 0;
  }
  .taun__content .title {
    margin-bottom: 36px;
    font-size: 50px;
  }
  .taun__content .text {
    width: 400px;
  }
  .taun__img {
    width: 380.0933333333px;
    height: 266.5466666667px;
    margin-right: 95px;
    margin-left: auto;
  }
  .taun__figure {
    width: 908.6666666667px;
    height: 822.9533333333px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -450px;
  }
}
@media (min-width: 1660px) {
  .taun {
    padding-top: 172px;
  }
  .taun__content {
    width: 500px;
  }
  .taun__content .title {
    margin-bottom: 36px;
    font-size: 80px;
  }
  .taun__content .text {
    width: 500px;
  }
  .taun__img {
    width: 570.14px;
    height: 399.82px;
    margin-right: 20px;
  }
  .taun__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -550px;
  }
}
.comer {
  position: relative;
  background: #241D17;
  min-height: 656px;
  overflow: hidden;
}
.comer__wrapper {
  padding-block: 60px;
}
.comer__content {
  position: relative;
  z-index: 1;
}
.comer__content .title {
  font-size: 36px;
  line-height: 34px;
  margin-bottom: 30px;
}
.comer__content .text {
  font-size: 13px;
  line-height: 17px;
  width: 257px;
}
.comer__img {
  margin-top: 42px;
  width: 219.24px;
  height: 143.86px;
}
.comer__img > * {
  width: 100%;
  height: 100%;
}
.comer__figure {
  width: 343px;
  height: 310.46px;
  position: absolute;
  bottom: 53px;
  right: -70px;
  will-change: transform, opacity;
}
.comer__figure > * {
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .comer {
    min-height: 1024px;
    padding-top: 100px;
  }
  .comer__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .comer__content .text {
    font-size: 17px;
    line-height: 19px;
    width: 379px;
  }
  .comer__img {
    margin-top: 53px;
    width: 317.56px;
    height: 222.6px;
  }
  .comer__figure {
    width: 758.87px;
    height: 687.29px;
    position: absolute;
    bottom: 44px;
    right: -320px;
  }
}
@media (min-width: 1024px) {
  .comer {
    height: 100vh;
    padding-top: 100px;
  }
  .comer__content .title {
    margin-bottom: 36px;
    font-size: 50px;
  }
  .comer__content .text {
    width: 400px;
  }
  .comer__img {
    width: 380.0933333333px;
    height: 266.5466666667px;
  }
  .comer__figure {
    width: 908.6666666667px;
    height: 822.9533333333px;
    position: absolute;
    bottom: 50%;
    transform: translateY(50%);
    right: -450px;
  }
}
@media (min-width: 1660px) {
  .comer {
    padding-top: 172px;
  }
  .comer__content .title {
    margin-bottom: 36px;
    font-size: 80px;
  }
  .comer__content .text {
    width: 500px;
  }
  .comer__img {
    width: 570.14px;
    height: 399.82px;
  }
  .comer__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(50%);
    right: -550px;
  }
}
.penthouse {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.penthouse__wrapper {
  padding-block: 60px;
  padding-bottom: 414px;
}
.penthouse__content .title {
  margin-bottom: 30px;
  color: #D7D5C9;
}
.penthouse__content .text {
  width: 257px;
  color: #D7D5C9;
}
.penthouse__imgs {
  position: relative;
  margin-top: 30px;
}
.penthouse__img {
  top: 100px;
  margin-left: auto;
  width: 129px;
  height: 181px;
  position: absolute;
  right: 20px;
  z-index: 1;
}
.penthouse__img > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.penthouse__figure {
  width: 343px;
  height: 310.46px;
  position: absolute;
  top: 0px;
  left: -50px;
}
.penthouse__figure > * {
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .penthouse {
    padding-top: 80px;
  }
  .penthouse__content > :first-child {
    margin-right: 110px;
    margin-left: auto;
    width: 330px;
  }
  .penthouse__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .penthouse__content .text {
    width: 330px;
  }
  .penthouse__img {
    margin-top: 125px;
    width: 180px;
    height: 251px;
    position: static;
  }
  .penthouse__figure {
    transform: rotate(0);
    width: 758.87px;
    height: 687.29px;
    position: absolute;
    bottom: 44px;
    right: auto;
    left: -300px;
  }
}
@media (min-width: 1024px) {
  .penthouse {
    height: 100vh;
    padding-top: 100px;
  }
  .penthouse__content {
    width: 400px;
    margin-right: 50px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
  .penthouse__content > :first-child {
    margin: 0;
  }
  .penthouse__content .title {
    margin-bottom: 36px;
    font-size: 50px;
  }
  .penthouse__content .text {
    width: 400px;
  }
  .penthouse__img {
    width: 184px;
    height: 257.3333333333px;
    margin-right: 280px;
  }
  .penthouse__figure {
    width: 908.6666666667px;
    height: 822.9533333333px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -450px;
  }
}
@media (min-width: 1660px) {
  .penthouse {
    padding-top: 172px;
  }
  .penthouse__content {
    width: 500px;
  }
  .penthouse__content .title {
    margin-bottom: 36px;
    font-size: 80px;
  }
  .penthouse__content .text {
    width: 500px;
  }
  .penthouse__img {
    width: 276px;
    height: 386px;
    margin-right: 280px;
  }
  .penthouse__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -550px;
  }
}
.office {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.office__wrapper {
  padding-block: 60px;
  padding-bottom: 414px;
}
.office__content .title {
  margin-bottom: 30px;
  color: #D7D5C9;
}
.office__content .text {
  width: 257px;
  color: #D7D5C9;
}
.office__imgs {
  position: relative;
  margin-top: 30px;
}
.office__img {
  top: 100px;
  margin-left: auto;
  width: 129px;
  height: 181px;
  position: absolute;
  right: 20px;
  z-index: 1;
}
.office__img > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.office__figure {
  width: 343px;
  height: 310.46px;
  position: absolute;
  top: 0px;
  left: -50px;
}
.office__figure > * {
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .office {
    padding-top: 80px;
  }
  .office__content > :first-child {
    margin-right: 110px;
    margin-left: auto;
    width: 330px;
  }
  .office__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .office__content .text {
    width: 330px;
  }
  .office__img {
    margin-top: 125px;
    width: 180px;
    height: 251px;
    position: static;
  }
  .office__figure {
    transform: rotate(0);
    width: 758.87px;
    height: 687.29px;
    position: absolute;
    bottom: 44px;
    right: auto;
    left: -300px;
  }
}
@media (min-width: 1024px) {
  .office {
    height: 100vh;
    padding-top: 100px;
  }
  .office__content {
    width: 400px;
    margin-right: 50px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
  .office__content > :first-child {
    margin: 0;
  }
  .office__content .title {
    margin-bottom: 36px;
    font-size: 50px;
  }
  .office__content .text {
    width: 400px;
  }
  .office__img {
    width: 184px;
    height: 257.3333333333px;
    margin-right: 280px;
  }
  .office__figure {
    width: 908.6666666667px;
    height: 822.9533333333px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -450px;
  }
}
@media (min-width: 1660px) {
  .office {
    padding-top: 172px;
  }
  .office__content {
    width: 500px;
  }
  .office__content .title {
    margin-bottom: 36px;
    font-size: 80px;
  }
  .office__content .text {
    width: 500px;
  }
  .office__img {
    width: 276px;
    height: 386px;
    margin-right: 280px;
  }
  .office__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(-50%);
    left: -550px;
  }
}
.arc {
  position: relative;
  background: #241D17;
  min-height: 756px;
  overflow: hidden;
}
.arc__desc, .arc__mob {
  display: none;
}
@media (min-width: 1024px) {
  .arc__desc {
    display: block;
  }
}
@media (max-width: 1023px) {
  .arc__mob {
    display: block;
  }
}
.arc__bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.arc__bg::before {
  content: "";
  opacity: 0.96;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #241D17;
  z-index: 0;
}
.arc__bg > * {
  padding-block: 1px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.arc__img {
  position: absolute;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%) rotate(-10deg);
  right: 0;
  width: 445px;
  height: 449.33px;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  z-index: 1;
}
.arc__img > * {
  width: 100%;
  height: 100%;
  transform: rotate(15deg);
}
.arc-inner {
  position: relative;
  z-index: 1;
  padding-block: 60px;
}
.arc__content .title {
  margin-bottom: 30px;
  color: #D7D5C9;
}
.arc__content .text {
  width: 313px;
  color: #D7D5C9;
}

@media (min-width: 768px) {
  .arc {
    min-height: 100vh;
  }
  .arc__img {
    width: 919px;
    height: 783px;
    bottom: -220px;
    left: -230px;
    overflow: hidden;
    transform: rotate(-15deg);
  }
  .arc__img > * {
    height: -moz-max-content;
    height: max-content;
  }
  .arc-inner {
    position: relative;
    padding-top: 87px;
  }
  .arc__content {
    display: grid;
    text-align: center;
    justify-content: center;
  }
  .arc__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .arc__content .text {
    width: 383px;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .arc__img {
    width: 994.5686848958px;
    height: 847.3333333333px;
    bottom: 50%;
    left: -523px;
    right: auto;
    transform: translateY(50%);
  }
  .arc__img > * {
    transform: translateY(0px) rotate(0deg);
  }
  .arc__content {
    padding-top: 178px;
    width: 500px;
    position: absolute;
    right: 50px;
    text-align: left;
  }
  .arc__content .title {
    margin-bottom: 102px;
    font-size: 50px;
    line-height: 50px;
  }
  .arc__content .text {
    width: 480px;
    font-size: 20px;
    line-height: 28px;
    margin-left: 0;
  }
}
@media (min-width: 1660px) {
  .arc__img {
    width: 1491.8530273438px;
    height: 1271px;
    bottom: 50%;
    left: -523px;
    right: auto;
    transform: translateY(50%);
  }
  .arc__img > * {
    transform: translateY(0px) rotate(0deg);
  }
  .arc__content {
    padding-top: 178px;
    width: 571px;
    position: absolute;
    right: 237px;
    text-align: left;
  }
  .arc__content .title {
    margin-bottom: 102px;
    font-size: 80px;
    line-height: 68px;
  }
  .arc__content .text {
    width: 571px;
    font-size: 20px;
    line-height: 28px;
    margin-left: 0;
  }
}
.sections {
  overflow: hidden;
}
.sections__svg {
  width: 100%;
  height: 100%;
}
.sections__svg > * {
  width: 100%;
  height: 100%;
}
.sections__svg-el {
  opacity: 0;
}
.sections__svg-el:hover {
  opacity: 1;
  cursor: pointer;
}
.sections__desc, .sections__mob {
  display: none;
}
@media (min-width: 1024px) {
  .sections__desc {
    display: block;
  }
}
@media (max-width: 1023px) {
  .sections__mob {
    display: block;
  }
}

@media (min-width: 1024px) {
  .sections {
    height: 100vh;
  }
  .sections__wrapper {
    height: 100%;
    overflow: hidden;
  }
}
.geopark {
  position: relative;
  height: 100vh;
}
.geopark__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.geopark-inner {
  position: absolute;
  bottom: 0;
  bottom: 129px;
  right: 0;
  width: 100%;
}
.geopark-title {
  font-size: 50px;
  line-height: 43px;
}

@media (min-width: 768px) {
  .geopark__bg {
    background-position: center;
  }
  .geopark-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1024px) {
  .geopark-inner {
    top: 180px;
    bottom: auto;
  }
  .geopark-title {
    padding: 0;
    font-size: 100px;
    line-height: 91px;
    text-align: right;
  }
}
.lobbi,
.lobbi-m {
  position: relative;
  height: 100vh;
}
.lobbi__bg,
.lobbi-m__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.lobbi-inner,
.lobbi-m-inner {
  position: absolute;
  bottom: 0;
  top: 88px;
  text-align: center;
  right: 0;
  width: 100%;
}
.lobbi-title,
.lobbi-m-title {
  font-size: 50px;
  line-height: 43px;
}

@media (min-width: 768px) {
  .lobbi__bg {
    background-position: center;
  }
  .lobbi-inner {
    top: 130px;
  }
  .lobbi-m-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1024px) {
  .lobbi-inner {
    top: 160px;
  }
  .lobbi-title {
    padding: 0;
    font-size: 70px;
    line-height: 70px;
  }
  .lobbi-m-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1660px) {
  .lobbi-title {
    font-size: 100px;
    line-height: 91px;
  }
}
.parking {
  position: relative;
  height: 100vh;
}
.parking__bg {
  --image: '';
  background: linear-gradient(190.09deg, rgba(0, 0, 0, 0.6) 22.41%, rgba(0, 0, 0, 0) 71.5%), var(--image);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.parking-inner {
  position: absolute;
  bottom: 0;
  top: 88px;
  text-align: center;
  right: 0;
  width: 100%;
}
.parking-title {
  font-size: 50px;
  line-height: 43px;
}

@media (min-width: 768px) {
  .parking__bg {
    background-position: center;
  }
  .parking-inner {
    top: 130px;
  }
  .parking-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1024px) {
  .parking-inner {
    top: 160px;
  }
  .parking-title {
    padding: 0;
    font-size: 100px;
    line-height: 91px;
  }
}
.brig {
  background: #D7D5C9;
  color: #241D17;
  height: 100vh;
  position: relative;
  background: #241D17;
  display: grid;
  align-content: center;
}
.brig__bg {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
.brig__bg::before {
  content: "";
  opacity: 0.96;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #241D17;
  z-index: 0;
}
.brig__bg > * {
  padding-block: 1px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.brig__wrapper {
  position: relative;
  color: white;
  display: grid;
  gap: 43px;
  justify-content: center;
  margin: 0 auto;
  text-align: center;
}
.brig__logo {
  width: 104px;
  height: 42px;
}
.brig__bottom {
  display: grid;
  justify-items: center;
  gap: 53px;
}
.brig-title {
  font-size: 36px;
  line-height: 34px;
}

@media (min-width: 768px) {
  .brig-title {
    font-size: 50px;
    line-height: 48px;
  }
  .brig__wrapper {
    width: auto;
    gap: 46px;
  }
  .brig__logo {
    width: 151px;
    height: 61px;
  }
  .brig__bottom {
    gap: 59px;
  }
}
@media (min-width: 1024px) {
  .brig-title {
    font-size: 80px;
    line-height: 68px;
    width: 604px;
  }
  .brig__logo {
    width: 183px;
    height: 74px;
  }
  .brig__bottom {
    justify-items: start;
    justify-self: center;
    gap: 74px;
    width: 549px;
  }
  .brig__wrapper {
    justify-content: start;
    text-align: left;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 74px;
    width: auto;
    margin: 0;
  }
}
.smart {
  position: relative;
  background: #241D17;
  overflow: hidden;
}
.smart__list {
  --item: 0;
  counter-reset: item var(--item);
  display: grid;
  gap: 20px;
  color: #E5E5E5;
}
.smart__item {
  counter-increment: item 1;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 120%;
}
.smart__item span {
  padding-bottom: 4px;
  color: #E5E5E5;
}
.smart__item::before {
  color: #E5E5E5;
  content: "0" counter(item);
  font-family: Optima Cyr, sans-serif;
  font-size: 24px;
  line-height: 120%;
}
.smart__item:nth-child(n+10)::before {
  content: counter(item);
}
.smart__img {
  margin-inline: -20px;
  height: 376px;
}
.smart__img svg {
  display: none;
}
.smart__img img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.smart__img > * {
  width: 100%;
  height: 100%;
}
.smart__wrapper {
  display: grid;
  gap: 31px;
}
.smart-inner {
  position: relative;
  z-index: 1;
}
.smart__content {
  padding-top: 60px;
  align-content: start;
  display: grid;
  gap: 40px;
}
.smart__content .text {
  width: 313px;
}

@media (min-width: 768px) {
  .smart__img {
    width: 702px;
    height: 636px;
    overflow: hidden;
  }
  .smart__img svg {
    display: block;
  }
  .smart__img img {
    display: none;
  }
  .smart__img > * {
    height: -moz-max-content;
    height: max-content;
  }
  .smart__wrapper {
    grid-template-columns: 319px 1fr;
    padding-top: 84px;
    padding-bottom: 123px;
  }
  .smart__content {
    padding: 0;
    display: grid;
    gap: 42px;
  }
  .smart__content .title {
    font-size: 50px;
    line-height: 48px;
  }
  .smart__list {
    width: 319px;
  }
}
@media (min-width: 1024px) {
  .smart__img {
    width: 1096px;
    height: 992.52px;
  }
  .smart__wrapper {
    grid-template-columns: 776px 1fr;
    padding-top: 32px;
    padding-bottom: 52px;
    gap: 90px;
  }
  .smart__list {
    gap: 40px;
  }
  .smart__list-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 128px;
  }
  .smart__item {
    gap: 30px;
  }
  .smart__item span {
    font-size: 18px;
    line-height: 23px;
  }
  .smart__item::before {
    font-size: 30px;
  }
  .smart__content {
    gap: 138px;
    padding-top: 132px;
  }
  .smart__content .title {
    font-size: 80px;
  }
}
.centr,
.centr-m {
  background: #D7D5C9;
  color: #241D17;
  position: relative;
  display: grid;
}
.centr__slider,
.centr-m__slider {
  display: grid;
  margin-inline: -20px;
}
.centr__slider-wrapper,
.centr-m__slider-wrapper {
  overflow: hidden;
}
.centr__slider-wrapper > *,
.centr-m__slider-wrapper > * {
  height: 100%;
}
.centr__wrapper,
.centr-m__wrapper {
  display: grid;
  grid-template-rows: auto 1fr;
}
.centr__content,
.centr-m__content {
  padding-top: 60px;
  padding-bottom: 42px;
}
.centr__content-wrapper,
.centr-m__content-wrapper {
  display: grid;
  gap: 30px;
}
.centr-title,
.centr-m-title {
  font-size: 36px;
  line-height: 34px;
}
.centr-text,
.centr-m-text {
  width: 311px;
}
.centr__bg,
.centr-m__bg {
  width: calc(100% + 32px);
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  aspect-ratio: 1;
}
.centr .swiper-paginate,
.centr-m .swiper-paginate {
  position: absolute;
  bottom: 44px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 9px;
  z-index: 1;
  width: 80%;
  justify-content: center;
}
.centr .swiper-paginate .dot,
.centr-m .swiper-paginate .dot {
  max-width: 44px;
  width: 100%;
  height: 1px;
  min-width: 20px;
  background: #A0A0A0;
}
.centr .swiper-paginate .dot-active,
.centr-m .swiper-paginate .dot-active {
  background: white;
}
.centr .swiper-nav,
.centr-m .swiper-nav {
  display: none;
}

@media (min-width: 768px) {
  .centr__content {
    padding-top: 60px;
    padding-bottom: 42px;
  }
  .centr__content-wrapper {
    display: grid;
    gap: 40px;
  }
  .centr__content-title {
    font-size: 50px;
    line-height: 48px;
  }
  .centr__content-text {
    width: 429px;
    font-size: 17px;
    line-height: 19px;
  }
  .centr__content__bg {
    width: calc(100% + 40px);
    margin-inline: -20px;
    padding-inline: 20px;
  }
}
@media (min-width: 1024px) {
  .centr__wrapper {
    height: 100vh;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .centr__content {
    padding-top: 60px;
    padding-bottom: 42px;
  }
  .centr__content-wrapper {
    display: grid;
    gap: 160px;
    align-content: center;
    align-items: start;
    height: 100%;
  }
  .centr-title {
    font-size: 50px;
    line-height: 50px;
  }
  .centr-text {
    font-size: 20px;
    line-height: 120%;
    width: 400px;
  }
  .centr__bg {
    width: 100%;
  }
  .centr .swiper-paginate {
    display: none;
  }
  .centr .swiper-nav {
    position: absolute;
    bottom: 80px;
    z-index: 1;
    display: flex;
    gap: 13px;
    left: 50%;
    transform: translate(-50%, -100%);
    cursor: pointer;
  }
}
@media (min-width: 1660px) {
  .centr__content-wrapper {
    padding-left: 20px;
  }
  .centr-title {
    font-size: 80px;
    line-height: 68px;
  }
  .centr-text {
    font-size: 20px;
    line-height: 120%;
    width: 575px;
  }
  .centr__slider {
    display: grid;
    position: absolute;
    width: 50%;
    height: 100%;
    right: 0;
    top: 0;
    margin: 0;
  }
  .centr__slider-wrapper {
    margin-right: 0px;
  }
  .centr__slider .swiper-nav {
    gap: 22px;
  }
  .centr__slider .swiper-nav > * > * {
    width: 60px;
    height: 60px;
  }
}
.choose {
  background: #D7D5C9;
  height: 100vh;
  position: relative;
  display: grid;
}
.choose__wrapper {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  height: 100%;
}
.choose__wrapper > * {
  display: grid;
  place-content: center;
}
.choose__item {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  cursor: pointer;
}
.choose__item-content {
  position: relative;
  width: 245.17px;
  height: 225.89px;
}
.choose__item-content > svg {
  width: 100%;
  height: 100%;
}
.choose__item-text {
  font-family: Optima Cyr, sans-serif;
  font-size: 20px;
  line-height: 21px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
.choose__item-black {
  color: #241D17;
}
.choose__item-black .choose__item-content {
  width: 247.02px;
  height: 228.08px;
}
.choose-title {
  font-size: 36px;
  line-height: 34px;
}

@media (min-width: 768px) {
  .choose__item-text {
    font-size: 25px;
    line-height: 24px;
  }
  .choose__item-content {
    width: 339.75px;
    height: 313.03px;
  }
  .choose__item-black .choose__item-content {
    width: 342.31px;
    height: 316.06px;
  }
}
@media (min-width: 1024px) {
  .choose__wrapper {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .choose__item-content {
    /* Зум контейнера */
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .choose__item-content:hover {
    transform: scale(1.1);
  }
  .choose__item-content svg {
    /* Плавность возврата вращения */
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    /* Важно для работы JS */
    will-change: transform;
  }
}
.first {
  position: relative;
  background: #D7D5C9;
  color: #241D17;
  height: auto;
  padding-block: 124px;
}
.first__wrapper {
  display: grid;
  gap: 50px;
  justify-content: center;
  margin: 0 auto;
  width: 267px;
}
.first__btns {
  display: grid;
  gap: 20px;
}
.first-title {
  font-size: 36px;
  line-height: 34px;
  text-align: center;
}

@media (min-width: 768px) {
  .first {
    padding-block: 150px;
  }
  .first-title {
    font-size: 60px;
    line-height: 48px;
  }
  .first__wrapper {
    width: auto;
    gap: 60px;
  }
  .first__btns {
    gap: 37px;
  }
  .first__btns > .first__btns {
    min-width: 454px;
  }
}
@media (min-width: 1024px) {
  .first {
    padding-block: 223px;
  }
  .first-title {
    font-size: 100px;
    line-height: 91px;
  }
  .first__wrapper {
    gap: 74px;
    margin: 0;
    justify-content: normal;
    width: 100%;
  }
  .first__btns {
    display: flex;
    justify-content: center;
    gap: 37px;
  }
  .first__btns > * {
    max-width: 454px;
  }
}
.techn {
  position: relative;
  height: 100vh;
  display: grid;
}
.techn__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.techn-inner {
  padding-top: 70px;
  height: 100%;
  display: grid;
}
.techn__wrapper {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 55px;
  height: 100%;
}
.techn-title {
  font-size: 50px;
  line-height: 43px;
  justify-self: center;
  text-align: center;
}
.techn__list {
  overflow: hidden;
  margin-inline: -20px;
  padding-inline: 20px;
}
.techn__list-wrapper {
  display: flex;
  gap: 16px;
  overflow: visible;
  width: -moz-max-content;
  width: max-content;
}
.techn__item {
  position: relative;
  width: 323.49px;
  height: 386.57px;
  color: black;
  flex-shrink: 0;
}
.techn__item-content {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 37px;
  text-align: center;
  padding-top: 76px;
}
.techn__item svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.techn__item-title {
  font-family: Optima Cyr, sans-serif;
  font-size: 18px;
  line-height: 18px;
}
.techn__item-text {
  max-width: 239px;
  font-size: 12px;
  line-height: 120%;
}

@media (min-width: 768px) {
  .techn__bg {
    background-position: center;
  }
  .techn-title {
    text-align: left;
    font-size: 50px;
    line-height: 48px;
    justify-self: auto;
  }
  .techn__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .techn__item {
    justify-self: center;
  }
}
@media (min-width: 1024px) {
  .techn-inner {
    padding-block: 100px;
    padding-top: 172px;
  }
  .techn-title {
    padding: 0;
    font-size: 50px;
    line-height: 50px;
    width: 640px;
  }
  .techn__wrapper {
    gap: 51px;
    align-content: center;
  }
  .techn__list {
    display: flex;
    overflow: visible;
    overflow: auto;
  }
  .techn__item-content {
    gap: 46px;
    padding-top: 95px;
  }
  .techn__item-title {
    font-size: 18px;
    line-height: 18px;
  }
}
@media (min-width: 1660px) {
  .techn-title {
    padding: 0;
    font-size: 80px;
    line-height: 68px;
    width: 640px;
  }
  .techn__wrapper {
    gap: 71px;
    align-content: center;
  }
  .techn__list {
    display: flex;
    overflow: visible;
  }
  .techn__item {
    width: 400px;
    height: 478px;
  }
  .techn__item-content {
    gap: 46px;
    padding-top: 95px;
  }
  .techn__item-title {
    font-size: 22px;
    line-height: 22px;
  }
  .techn__item-text {
    max-width: 296px;
    font-size: 16px;
    line-height: 25px;
  }
}
@media (max-width: 1023px) {
  .techn__list {
    display: none;
  }
  .techn-slider-wrapper {
    overflow: hidden;
    margin-inline: -16px;
  }
  .techn-slider-wrapper .techn-slider {
    padding-bottom: 45px;
  }
  .techn-slider-wrapper .techn-slider .swiper-slide {
    padding-left: 8px;
  }
  .techn-slider-wrapper .swiper-paginate {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 9px;
    z-index: 1;
    width: 80%;
    justify-content: center;
  }
  .techn-slider-wrapper .swiper-paginate .dot {
    max-width: 44px;
    width: 100%;
    height: 2px;
    min-width: 20px;
    background: #CFCFCF;
  }
  .techn-slider-wrapper .swiper-paginate .dot-active {
    background: white;
  }
}
@media (min-width: 1024px) {
  .techn-slider-wrapper {
    display: none;
  }
}
.apartment-info-mob {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .apartment-info-mob {
    display: none !important;
  }
}
.apartment-info-mob__wrapper {
  position: relative;
  padding-top: 90px;
  gap: 20px;
  width: 100%;
  height: 100vh;
  display: grid;
}
.apartment-info-mob__content {
  gap: 30px;
  position: relative;
  display: grid;
  grid-template-areas: "stack";
  align-items: start;
}
.apartment-info-mob__1, .apartment-info-mob__2, .apartment-info-mob__3, .apartment-info-mob__4 {
  grid-area: stack;
  position: relative;
  transition: visibility 0s;
  opacity: 0;
  overflow: hidden;
  transform: translate(-40px);
}
.apartment-info-mob__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  overflow: hidden;
}
.apartment-info-mob #img2,
.apartment-info-mob #img3,
.apartment-info-mob #img4 {
  opacity: 0;
}
.apartment-info-mob__svg {
  transform: translateX(50px);
  width: 426px;
  height: 426px;
}
.apartment-info-mob__1 .apartment-info-mob-text {
  width: 329px;
}
.apartment-info-mob__2 .apartment-info-mob-text {
  width: 313px;
}
.apartment-info-mob__3 .apartment-info-mob-text {
  width: 296px;
}
.apartment-info-mob__4 .apartment-info-mob-text {
  width: 331px;
}
.apartment-info-mob-title {
  color: #D7D5C9;
  font-size: 36px;
  line-height: 34px;
}
.apartment-info-mob-text {
  color: #D7D5C9;
  font-size: 13px;
  line-height: 17px;
}

.apartmentinfo-mob {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .apartmentinfo-mob {
    display: none !important;
  }
}
.apartmentinfo-mob__wrapper {
  position: relative;
  padding-top: 130px;
  gap: 20px;
  width: 100%;
  height: 100vh;
  display: grid;
}
.apartmentinfo-mob__text {
  gap: 30px;
  position: relative;
  display: grid;
  grid-template-areas: "stack";
  align-items: start;
}
.apartmentinfo-mob__text > * {
  display: grid;
  gap: 30px;
  grid-area: stack;
  position: relative;
  transition: visibility 0s;
  opacity: 0;
  overflow: hidden;
  transform: translate(-40px);
}
.apartmentinfo-mob__1, .apartmentinfo-mob__2, .apartmentinfo-mob__3, .apartmentinfo-mob__4 {
  grid-area: stack;
  position: relative;
  transition: visibility 0s;
  opacity: 0;
  overflow: hidden;
  transform: translate(-40px);
}
.apartmentinfo-mob__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  overflow: hidden;
}
.apartmentinfo-mob__svg {
  transform: translateX(100%);
  width: 426px;
  height: 426px;
}
.apartmentinfo-mob__text-1 .apartmentinfo-mob-text {
  width: 329px;
}
.apartmentinfo-mob__text-2 .apartmentinfo-mob-text {
  width: 313px;
}
.apartmentinfo-mob__text-3 .apartmentinfo-mob-text {
  width: 296px;
}
.apartmentinfo-mob__text-4 .apartmentinfo-mob-text {
  width: 331px;
}
.apartmentinfo-mob-title {
  color: #D7D5C9;
  font-size: 36px;
  line-height: 34px;
}
.apartmentinfo-mob-text {
  color: #D7D5C9;
  font-size: 13px;
  line-height: 17px;
}
@media (min-width: 768px) {
  .apartmentinfo-mob {
    min-height: auto;
    height: auto;
  }
  .apartmentinfo-mob__wrapper {
    height: auto;
  }
  .apartmentinfo-mob-title {
    font-size: 50px;
    line-height: 48px;
  }
  .apartmentinfo-mob-text {
    font-size: 17px;
    line-height: 19px;
  }
  .apartmentinfo-mob__wrapper {
    padding-top: 0;
  }
  .apartmentinfo-mob__top {
    display: flex;
    padding-top: 60px;
    padding-bottom: 50px;
    width: 768px;
    margin-inline: auto;
    position: relative;
  }
  .apartmentinfo-mob__content {
    height: auto;
  }
  .apartmentinfo-mob__text {
    padding-top: 40px;
  }
  .apartmentinfo-mob__text > * {
    gap: 49px;
  }
  .apartmentinfo-mob__img {
    position: static;
    transform: translateX(0%);
    opacity: 1;
    overflow: auto;
    height: 100vh;
    margin-inline: -20px;
    width: calc(100% + 40px);
    display: block;
    max-width: -webkit-fill-available;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .apartmentinfo-mob-target-1 .apartmentinfo-mob-text {
    width: 335px;
  }
  .apartmentinfo-mob-target-2 .apartmentinfo-mob__top {
    padding-block: 48px;
  }
  .apartmentinfo-mob-target-2 .apartmentinfo-mob__text {
    order: 2;
    min-width: 50%;
  }
  .apartmentinfo-mob-target-2 .apartmentinfo-mob__svg {
    order: 1;
    transform: translateX(-60px);
  }
  .apartmentinfo-mob-target-3 .apartmentinfo-mob__text {
    order: 2;
    min-width: 50%;
  }
  .apartmentinfo-mob-target-3 .apartmentinfo-mob-text {
    width: 335px;
  }
  .apartmentinfo-mob-target-3 .apartmentinfo-mob__svg {
    order: 1;
    transform: translateX(-60px);
  }
  .scroll-wrapper#apartmentinfo-mob-1,
  .scroll-wrapper#apartmentinfo-mob-2 {
    height: auto;
  }
  .scroll-wrapper#apartmentinfo-mob-1 .sticky-container,
  .scroll-wrapper#apartmentinfo-mob-2 .sticky-container {
    height: auto;
    position: static;
  }
}
.apartament-info {
  position: relative;
  background: #241D17;
  height: 100vh;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .apartament-info .stage {
    height: 100vh;
  }
  .apartament-info .stage__text .title {
    color: #D7D5C9;
    margin-bottom: 36px;
    font-size: 50px;
    line-height: 50px;
    height: 200px;
  }
  .apartament-info .stage__text .desc {
    color: #D7D5C9;
    font-size: 20px;
    line-height: 28px;
    height: 286px;
  }
  .apartament-info .stage__svg {
    position: absolute;
    width: 1166.6666666667px;
    left: -500px;
    top: 50%;
    transform: translateY(-50%);
  }
  .apartament-info .stage__content {
    position: absolute;
    top: 150px;
    right: 65px;
    width: 455px;
  }
  .apartament-info .stage__content > :first-child {
    margin: 0;
  }
  .apartament-info .stage__content .title {
    margin-bottom: 36px;
    font-size: 80px;
    line-height: 71px;
  }
  .apartament-info .stage__content .text {
    font-size: 20px;
  }
  .apartament-info .stage__content .nav {
    display: flex;
    gap: 13px;
    align-self: end;
  }
  .apartament-info__img {
    width: 276px;
    height: 386px;
    margin-left: 0;
  }
  .apartament-info__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(50%);
    left: -550px;
  }
}
@media (min-width: 1660px) {
  .apartament-info .stage {
    height: 100vh;
  }
  .apartament-info .stage__text .title {
    color: #D7D5C9;
    margin-bottom: 36px;
    font-size: 80px;
    line-height: 71px;
    height: 253px;
  }
  .apartament-info .stage__text .desc {
    color: #D7D5C9;
    font-size: 20px;
    line-height: 28px;
    height: 286px;
  }
  .apartament-info .stage__svg {
    position: absolute;
    width: 1564px;
    left: -740px;
    top: 50%;
    transform: translateY(-50%);
  }
  .apartament-info .stage__content {
    position: absolute;
    top: 252px;
    right: 225px;
    width: 525px;
  }
  .apartament-info .stage__content > :first-child {
    margin: 0;
  }
  .apartament-info .stage__content .title {
    margin-bottom: 36px;
    font-size: 80px;
    line-height: 71px;
  }
  .apartament-info .stage__content .text {
    font-size: 20px;
  }
  .apartament-info .stage__content .nav {
    display: flex;
    gap: 22px;
    align-self: end;
  }
  .apartament-info .stage__content .nav > * > * {
    width: 60px;
    height: 60px;
  }
  .apartament-info__img {
    width: 276px;
    height: 386px;
    margin-left: 0;
  }
  .apartament-info__figure {
    width: 1363px;
    height: 1234.43px;
    position: absolute;
    bottom: 50%;
    transform: translateY(50%);
    left: -550px;
  }
}
@media (min-width: 1920px) {
  .apartament-info .stage__svg {
    position: absolute;
    width: 1750px;
    left: -675px;
    top: 50%;
    transform: translateY(-50%);
  }
}
.ekosist {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.ekosist__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.ekosist__wrapper {
  padding-top: 60px;
  position: relative;
}
.ekosist-title {
  font-size: 50px;
  line-height: 43px;
}

.ekosist__list {
  display: flex;
  gap: 12px;
}
.ekosist__item {
  cursor: pointer;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 271.3333333333px;
  height: 362px;
  padding: 35px 27px;
  position: relative;
}
@media (min-width: 1660px) {
  .ekosist__item {
    width: 407px;
    height: 543px;
    padding: 25px 17px;
  }
}
.ekosist__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.ekosist__item-title {
  font-family: Optima Cyr, sans-serif;
  font-size: 24px;
  line-height: 23px;
  text-align: left;
  position: absolute;
  bottom: 35px;
  transition: all 0.3s ease-in-out;
}
.ekosist__item-text {
  font-size: 14px;
  line-height: 120%;
  text-align: left;
  position: absolute;
  width: 230px;
  bottom: 15px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
@media (min-width: 1660px) {
  .ekosist__item-text {
    font-size: 16px;
    line-height: 120%;
    width: 345px;
    bottom: 35px;
  }
}
.ekosist__item:hover::before {
  opacity: 1;
}
.ekosist__item:hover .ekosist__item-title {
  transform: translateY(-226px);
}
@media (min-width: 1660px) {
  .ekosist__item:hover .ekosist__item-title {
    transform: translateY(-452px);
  }
}
.ekosist__item:hover .ekosist__item-text {
  opacity: 1;
}

@media (min-width: 768px) {
  .ekosist__bg {
    background-position: center;
  }
  .ekosist-inner {
    top: 130px;
  }
  .ekosist-title {
    font-size: 80px;
    line-height: 70px;
  }
}
@media (min-width: 1024px) {
  .ekosist__bg {
    width: 100%;
    height: 2883px;
  }
  .ekosist__wrapper {
    padding-top: 144px;
  }
  .ekosist-title {
    padding: 0;
    font-size: 100px;
    line-height: 91px;
    text-align: center;
    margin-bottom: 61px;
  }
}
.ekosist-mob-title {
  font-family: Optima Cyr, sans-serif;
  font-size: 50px;
  line-height: 43px;
  text-align: center;
  padding-top: 95px;
  padding-bottom: 61px;
}
.ekosist-mob__list {
  margin-inline: -16px;
  background-repeat: no-repeat;
  background-position: 100%;
  background-size: 605px 1167px;
}
.ekosist-mob__item {
  height: 100vh;
  display: grid;
  grid-template-rows: 50vh 50vh;
}
.ekosist-mob__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ekosist-mob__item-content {
  height: 368px;
  padding-top: 76px;
  display: grid;
  gap: 46px;
  padding-inline: 21px;
  text-align: center;
  align-content: start;
}
.ekosist-mob__item-title {
  font-family: Optima Cyr, sans-serif;
  font-size: 37px;
  line-height: 21px;
}
.ekosist-mob__item-text {
  font-size: 13px;
  line-height: 17px;
}
.ekosist-mob .swiper-paginate {
  position: absolute;
  top: calc(50vh - 31px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 9px;
  z-index: 1;
  width: 80%;
  justify-content: center;
}
.ekosist-mob .swiper-paginate .dot {
  max-width: 44px;
  width: 100%;
  height: 2px;
  min-width: 20px;
  background: #CFCFCF;
}
.ekosist-mob .swiper-paginate .dot-active {
  background: white;
}

.forbiznes {
  padding-block: 41px;
}
.forbiznes__wrapper {
  display: grid;
  gap: 60px;
}
.forbiznes__left {
  display: grid;
  gap: 30px;
}
.forbiznes__right {
  justify-self: center;
}
.forbiznes__right svg {
  width: 327.48px;
  height: 279px;
}
.forbiznes-title {
  color: #D7D5C9;
  font-size: 36px;
  line-height: 34px;
}
.forbiznes-text {
  color: #D7D5C9;
  font-size: 13px;
  line-height: 17px;
}
@media (min-width: 768px) {
  .forbiznes {
    padding-block: 41px;
  }
  .forbiznes__wrapper {
    gap: 51px;
  }
  .forbiznes__left {
    gap: 39px;
  }
  .forbiznes__right {
    justify-self: right;
  }
  .forbiznes__right svg {
    width: 588.06px;
    height: 501px;
  }
  .forbiznes-title {
    font-size: 50px;
    line-height: 48px;
  }
  .forbiznes-text {
    width: 481px;
    font-size: 17px;
    line-height: 19px;
  }
}
@media (min-width: 1024px) {
  .forbiznes {
    padding-block: 120px;
  }
  .forbiznes__wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .forbiznes__left {
    gap: 74px;
    align-content: start;
  }
  .forbiznes__right {
    align-self: center;
  }
  .forbiznes__right svg {
    width: 731px;
    height: 622.68px;
  }
  .forbiznes-title {
    font-size: 80px;
    line-height: 68px;
  }
  .forbiznes-text {
    font-size: 20px;
    line-height: 28px;
    width: 582px;
  }
}

.steps {
  padding-top: 20px;
  padding-bottom: 91px;
}
.steps .breadcrumb {
  margin-bottom: 41px;
}
.steps__title {
  margin-bottom: 51px;
  color: #D7D5C9;
}
.steps__subtitle{
  font-family: Optima Cyr, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(215 213 201 / var(--tw-text-opacity, 1));
  font-size: 20px;
  line-height: 21px;
  margin-bottom: 21px;
}
.steps__online {
  margin-top: 70px;
}
.steps__photos {
  overflow: hidden;
}
.steps__item {
  display: grid;
  gap: 23px;
}
.steps__item-photo {
  height: 196px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.steps__item__title {
  font-size: 16px;
  line-height: 17px;
}
@media (min-width: 768px) {
  .steps {
    padding-top: 29px;
  }
  .steps .breadcrumb {
    margin-bottom: 71px;
  }
  .steps__subtitle {
    font-size: 30px;
    line-height: 48px;
    margin-bottom: 29px;
  }
  .steps__content {
    gap: 51px;
  }
  .steps__item {
    gap: 20px;
  }
  .steps__item-photo {
    height: 284px;
  }
  .steps__item__title {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 1024px) {
  .steps {
    padding-top: 70px;
    padding-bottom: 159px;
  }
  .steps .breadcrumb {
    margin-bottom: 54px;
  }
  .steps__title {
    font-size: 56px;
    line-height: 68px;
  }
  .steps__content {
    gap: 70px;
  }
  .steps__subtitle {
    font-size: 36px;
    line-height: 68px;
    margin-bottom: 54px;
  }
}

.progressCards__navigation {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  gap: 12px;
  z-index: 1;
}
.progressCards__navigation > * {
  width: 24px;
  height: 24px;
}
.progressCards__navigation > * > * {
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .progressCards__navigation {
    position: static;
    justify-content: flex-end;
    gap: 24px;
  }
  .progressCards__navigation > * {
    margin-top: 21px;
    width: 48px;
    height: 48px;
  }
}
@media (min-width: 1024px) {
  .progressCards__navigation {
    position: static;
    justify-content: flex-end;
    gap: 4px;
  }
  .progressCards__navigation > * {
    margin-top: 54px;
    width: 48px;
    height: 48px;
  }
}

.progressModal {
  overflow: hidden;
}
.progressModal .swiper-slide > * {
  margin: auto;
}
.progressModal iframe {
  height: 70vh;
  width: 100%;
}
.progressModal__head {
  position: absolute;
  top: 19px;
}
.progressModal__body {
  margin-top: 80px;
}
.progressModal__title {
  font-family: Optima Cyr, sans-serif;
  font-size: 20px;
  line-height: 28px;
}
.progressModal__img {
  height: 188px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.progressModal__next, .progressModal__prev {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
}
.progressModal__next > *, .progressModal__prev > * {
  width: 30px;
  height: 30px;
}
.progressModal__prev {
  left: 10px;
}
.progressModal__next {
  right: 10px;
}
@media (min-width: 768px) {
  .progressModal__head {
    top: 40px;
  }
  .progressModal__title {
    font-size: 40px;
    line-height: 68px;
  }
  .progressModal__body {
    margin-top: 10px;
    padding-bottom: 75px;
  }
  .progressModal__img {
    height: 388px;
  }
  .progressModal__nav {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
  }
  .progressModal__next, .progressModal__prev {
    position: static;
    top: auto;
    margin-top: 24px;
    transform: translateY(0%);
    height: -moz-max-content;
    height: max-content;
  }
  .progressModal__next > * > path, .progressModal__prev > * > path {
    fill: #241D17;
  }
  .progressModal__next > * > rect, .progressModal__prev > * > rect {
    stroke: #241D17;
  }
}
@media (min-width: 1024px) {
  .progressModal__head {
    top: 40px;
  }
  .progressModal__title {
    font-size: 50px;
    line-height: 68px;
  }
  .progressModal__body {
    margin-top: 10px;
  }
  .progressModal__img {
    height: 598px;
  }
  .progressModal__nav {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
  }
  .progressModal__next, .progressModal__prev {
    margin-top: 38px;
  }
  .progressModal__next > *, .progressModal__prev > * {
    width: 48px;
    height: 48px;
  }
  .progressModal__next, .progressModal__prev {
    height: -moz-max-content;
    height: max-content;
  }
  .progressModal__next > * > path, .progressModal__prev > * > path {
    fill: #241D17;
  }
  .progressModal__next > * > rect, .progressModal__prev > * > rect {
    stroke: #241D17;
  }
}

.contacts {
  padding-top: 20px;
}
.contacts .breadcrumb {
  margin-bottom: 41px;
}
.contacts__title {
  margin-bottom: 51px;
  color: #D7D5C9;
}
.contacts__links {
  display: grid;
  align-content: start;
  font-family: Optima Cyr, sans-serif;
  font-size: 20px;
  line-height: 21px;
}
.contacts__links a[href^="tel:"] {
  font-size: 30px;
  line-height: 68px;
}
.contacts__list {
  display: grid;
  gap: 44px;
}
.contacts__item {
  display: grid;
  align-content: start;
  gap: 4px;
}
.contacts__item-title {
  font-size: 13px;
  line-height: 17px;
  color: rgba(215, 213, 201, 0.7098039216);
}
.contacts__item-content {
  display: grid;
  gap: 4px;
  font-size: 16px;
  line-height: 120%;
  color: #D9D9D9;
}
.contacts__map {
  margin-inline: -16px;
  height: 400px;
}
.contacts__subtitle{
  font-family: Optima Cyr, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(215 213 201 / var(--tw-text-opacity, 1));
  font-size: 20px;
  line-height: 21px;
  margin-bottom: 21px;
}
.contacts__content {
  display: grid;
  gap: 70px;
  padding-bottom: 27px;
}
@media (min-width: 768px) {
  .contacts {
    padding-top: 29px;
  }
  .contacts .breadcrumb {
    margin-bottom: 71px;
  }
  .contacts__content {
    gap: 51px;
    padding-bottom: 70px;
  }
  .contacts__item-title {
    font-size: 16px;
    line-height: 120%;
  }
  .contacts__item-content {
    font-size: 20px;
  }
  .contacts__map {
    height: 620px;
    margin-inline: -130px;
  }
}
@media (min-width: 1024px) {
  .contacts {
    padding-top: 70px;
  }
  .contacts .breadcrumb {
    margin-bottom: 54px;
  }
  .contacts__content {
    padding-bottom: 106px;
    gap: 36px;
    align-content: start;
    grid-template-columns: 585px 1fr;
  }
  .contacts__map {
    height: 826px;
  }
}

.formother {
  padding-block: 60px;
}
.formother__wrapper {
  display: grid;
  gap: 47px;
}
.formother-title {
  color: #D7D5C9;
  font-size: 36px;
  line-height: 34px;
}
.formother-form button {
  font-family: Optima Cyr, sans-serif;
  background: #D7D5C9;
  color: #241D17;
  height: 57px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 20px;
  width: 100%;
  font-size: 20px;
  line-height: 21px;
}
@media (min-width: 768px) {
  .formother-form button {
    height: 73px;
    font-size: 24px;
  }
}
.formother-form__fields {
  display: grid;
  gap: 28px;
}
@media (min-width: 768px) {
  .formother__wrapper {
    gap: 76px;
  }
  .formother-title {
    margin-inline: auto;
    font-size: 50px;
    line-height: 48px;
    text-align: center;
    max-width: 482px;
  }
  .formother-form {
    padding-inline: 57px;
  }
}
@media (min-width: 1024px) {
  .formother {
    padding-top: 72px;
    padding-bottom: 114px;
  }
  .formother__wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .formother-title {
    text-align: left;
    margin-left: 0;
    font-size: 80px;
    line-height: 68px;
    max-width: 645px;
  }
  .formother-form {
    width: 706px;
    justify-self: end;
  }
  .formother-form .field-checkbox {
    width: 480px;
  }
}

.facad {
  overflow: hidden;
}
.facad__bg {
  width: 100%;
  height: auto;
}
.facad__bg-m, .facad__bg-d {
  display: none;
  margin: auto;
}
@media (max-width: 1023px) {
  .facad__bg-m {
    display: block;
  }
}
@media (min-width: 1024px) {
  .facad__bg-d {
    display: block;
  }
}
.facad__svg-el {
  opacity: 0;
}
.facad__svg-el:hover {
  opacity: 1;
  cursor: pointer;
}

@media (min-width: 1024px) {
  .sections__wrapper {
    height: 100%;
    overflow: hidden;
  }
}
.facad-l,
.facad-r {
  display: none;
}

@media (min-width: 1920px) {
  .facad-inner {
    max-width: 1920px;
    margin: auto;
    position: relative;
  }
  .facad-l {
    position: absolute;
    left: 1px;
    top: 0;
    transform: translateX(-100%);
    display: block;
  }
  .facad-r {
    position: absolute;
    right: 1px;
    top: 0;
    transform: translateX(100%);
    display: block;
  }
}
.unic-scroll__list {
  overflow: hidden;
}
.unic-scroll__list-wrapper {
  display: flex;
  gap: 16px;
  overflow: visible;
  width: -moz-max-content;
  width: max-content;
}
@media (min-width: 1024px) {
  .unic-scroll__list-wrapper {
    display: flex;
  }
  .unic-scroll__list-wrapper > * {
    flex-shrink: 0;
    width: 100vw;
  }
}
@media (max-width: 1023px) {
  .unic {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .unic-mob {
    display: none !important;
  }
}
.unic-step1 {
  z-index: 1;
}
.unic__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.unic__wrapper {
  display: grid;
  align-content: center;
  padding: 0;
}
.unic-title {
  padding: 0;
  font-size: 60px;
  line-height: 60px;
}
.unic-step1, .unic-step {
  position: absolute;
  width: 100%;
  height: 100%;
}
.unic-content {
  position: relative;
  background: #241D17;
  height: 100vh;
}
.unic-content .unic-step2.text-content,
.unic-content .unic-step5.text-content {
  position: absolute;
  top: 172px;
  left: 0px;
  display: grid;
  gap: 36px;
}
.unic-content .unic-step2.title,
.unic-content .unic-step5.title {
  color: #D7D5C9;
  font-size: 50px;
  line-height: 50px;
}
.unic-content .unic-step2.text,
.unic-content .unic-step5.text {
  max-width: 500px;
  font-size: 20px;
  line-height: 28px;
  color: #D7D5C9;
}
.unic-content .unic-step2.img,
.unic-content .unic-step5.img {
  position: absolute;
  left: 0px;
  bottom: 15px;
  width: 333.4266666667px;
  height: -moz-max-content;
  height: max-content;
}
.unic-content .unic-step2.figure,
.unic-content .unic-step5.figure {
  position: absolute;
  width: 908.6666666667px;
  height: 822.9533333333px;
  right: -350px;
  top: 50%;
  transform: translateY(-50%);
}
.unic-content .unic-step2.figure > *,
.unic-content .unic-step5.figure > * {
  width: 100%;
  height: 100%;
}
.unic-content .unic-step3.text-content,
.unic-content .unic-step4.text-content {
  position: absolute;
  top: 172px;
  right: 20px;
  display: grid;
  gap: 36px;
}
.unic-content .unic-step3.title,
.unic-content .unic-step4.title {
  color: #D7D5C9;
  font-size: 50px;
  line-height: 50px;
}
.unic-content .unic-step3.text,
.unic-content .unic-step4.text {
  color: #D7D5C9;
  max-width: 500px;
  font-size: 20px;
  line-height: 28px;
}
.unic-content .unic-step3.img,
.unic-content .unic-step4.img {
  position: absolute;
  right: 332px;
  top: 435px;
}
.unic-content .unic-step3.img > *,
.unic-content .unic-step4.img > * {
  width: 184px;
  height: 257.3333333333px;
}
.unic-content .unic-step3.figure,
.unic-content .unic-step4.figure {
  position: absolute;
  width: 908.6666666667px;
  height: 822.9533333333px;
  left: -350px;
  top: 50%;
  transform: translateY(-50%);
}
.unic-content .unic-step3.figure > svg,
.unic-content .unic-step4.figure > svg {
  width: 100%;
  height: 100%;
}
@media (min-width: 1660px) {
  .unic-title {
    padding: 0;
    font-size: 100px;
    line-height: 91px;
  }
  .unic-content {
    position: relative;
    background: #241D17;
    height: 100vh;
  }
  .unic-content .unic-step2.text-content,
  .unic-content .unic-step5.text-content {
    position: absolute;
    top: 172px;
    left: 78px;
    display: grid;
    gap: 36px;
  }
  .unic-content .unic-step2.title,
  .unic-content .unic-step5.title {
    color: #D7D5C9;
    font-size: 70px;
    line-height: 81px;
  }
  .unic-content .unic-step2.text,
  .unic-content .unic-step5.text {
    max-width: 500px;
    font-size: 20px;
    line-height: 28px;
    color: #D7D5C9;
  }
  .unic-content .unic-step2.img,
  .unic-content .unic-step5.img {
    position: absolute;
    left: 71px;
    bottom: 15px;
    width: 500.14px;
    height: -moz-max-content;
    height: max-content;
  }
  .unic-content .unic-step2.figure,
  .unic-content .unic-step5.figure {
    position: absolute;
    width: 1363px;
    height: 1234.43px;
    right: -350px;
    top: 50%;
    transform: translateY(-50%);
  }
  .unic-content .unic-step3.text-content,
  .unic-content .unic-step4.text-content {
    position: absolute;
    top: 172px;
    right: px;
    display: grid;
    gap: 36px;
  }
  .unic-content .unic-step3.title,
  .unic-content .unic-step4.title {
    color: #D7D5C9;
    font-size: 70px;
    line-height: 81px;
  }
  .unic-content .unic-step3.text,
  .unic-content .unic-step4.text {
    color: #D7D5C9;
    max-width: 500px;
    font-size: 20px;
    line-height: 28px;
  }
  .unic-content .unic-step3.img,
  .unic-content .unic-step4.img {
    position: absolute;
    right: 242px;
    top: 535px;
  }
  .unic-content .unic-step3.img > *,
  .unic-content .unic-step4.img > * {
    width: 276px;
    height: 386px;
  }
  .unic-content .unic-step3.figure,
  .unic-content .unic-step4.figure {
    position: absolute;
    width: 1363px;
    height: 1234.43px;
    left: -350px;
    top: 50%;
    transform: translateY(-50%);
  }
  .unic-content .unic-step3.figure > svg,
  .unic-content .unic-step4.figure > svg {
    width: 100%;
    height: 100%;
  }
}

.unic {
  position: relative;
}

.unic-pin {
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.conceptdesc {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .conceptdesc {
    display: none;
  }
}
.conceptdesc__bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.conceptdesc__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
}
.conceptdesc__bg > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.conceptdesc .concept__wrapper {
  height: 100vh;
}
.conceptdesc .concept__figure {
  position: absolute;
  z-index: 1;
}
.conceptdesc .concept__mask {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  width: 100%;
  height: 100%;
  position: relative;
}
.conceptdesc .concept-title, .conceptdesc .concept-text {
  position: absolute;
  z-index: 2;
}
.conceptdesc .concept__1 .concept__figure {
  width: 644.5266666667px;
  height: 572.9866666667px;
  top: 114px;
  left: -276.33px;
  z-index: 1;
}
.conceptdesc .concept__1 .concept-title {
  top: 204px;
  left: 404px;
}
.conceptdesc .concept__1 .concept-text {
  width: 514px;
  top: 503px;
  left: 404px;
}
.conceptdesc .concept__1 .concept__img {
  position: absolute;
  width: 518.56px;
  height: 261.3333333333px;
  top: 210px;
  right: -295px;
}
.conceptdesc .concept__1 .concept__mask {
  -webkit-mask-image: url(/img/concept-fugire1.svg); /* Safari / Chrome */
  mask-image: url(/img/concept-fugire1.svg); /* Firefox */
}
.conceptdesc .concept__1 .concept__mask > img {
  width: 1106.6666666667px;
  height: 622.6666666667px;
  -o-object-fit: cover;
     object-fit: cover;
}
.conceptdesc .concept__2 .concept__figure {
  width: 535.3333333333px;
  height: 500.6666666667px;
  top: 214px;
  right: 20px;
  z-index: 0;
}
.conceptdesc .concept__2 .concept-title {
  top: 204px;
  left: 20px;
  z-index: 1;
}
.conceptdesc .concept__2 .concept-text {
  width: 514px;
  top: 504px;
  left: 20px;
  z-index: 1;
}
.conceptdesc .concept__2 .concept__img {
  position: absolute;
  width: 518.56px;
  height: 261.3333333333px;
  top: 210px;
  left: -1000px;
}
.conceptdesc .concept__3 .concept__figure {
  width: 766.6666666667px;
  height: 688px;
  top: 97px;
  left: -200px;
  z-index: 1;
}
.conceptdesc .concept__3 .concept-title {
  top: 204px;
  right: 202px;
  z-index: 2;
}
.conceptdesc .concept__3 .concept-text {
  width: 404px;
  top: 473px;
  right: 46px;
  z-index: 2;
}
.conceptdesc .concept__3 .concept__img {
  position: absolute;
  width: 518.56px;
  height: 261.3333333333px;
  top: 210px;
  right: -295px;
}
.conceptdesc .concept__3 .concept__mask {
  -webkit-mask-image: url(/img/concept-fugire3.svg); /* Safari / Chrome */
  mask-image: url(/img/concept-fugire3.svg); /* Firefox */
}
.conceptdesc .concept__3 .concept__mask > img {
  width: 2093.3333333333px;
  height: 1177.3333333333px;
  -o-object-fit: cover;
     object-fit: cover;
}
.conceptdesc .concept__4 .concept-title {
  top: 244px;
  left: 204px;
}
.conceptdesc .concept__4 .concept-text {
  width: 514px;
  top: 580px;
  left: 204px;
}
.conceptdesc .concept__4 .concept__figure {
  width: 847.3333333333px;
  height: 754.6666666667px;
  top: -5px;
  right: -303px;
  z-index: 1;
}
.conceptdesc .concept__4 .concept__img {
  position: absolute;
  width: 174.6666666667px;
  height: 209.3333333333px;
  top: 326px;
  left: 20px;
}
.conceptdesc .concept__4 .concept__mask {
  -webkit-mask-image: url(/img/concept-fugire4.svg); /* Safari / Chrome */
  mask-image: url(/img/concept-fugire4.svg); /* Firefox */
}
.conceptdesc .concept__4 .concept__mask > img {
  width: 1510.6666666667px;
  height: 850px;
  -o-object-fit: cover;
     object-fit: cover;
}
.conceptdesc .title {
  color: #3D3D3D;
  font-size: 50px;
  line-height: 50px;
}
.conceptdesc .text {
  color: #3D3D3D;
  font-size: 20px;
  line-height: 120%;
}
@media (min-width: 1660px) {
  .conceptdesc .title {
    font-size: 70px;
    line-height: 61px;
  }
  .conceptdesc .concept__1 .concept__figure {
    width: 966.79px;
    height: 859.48px;
    top: 114px;
    left: -176.33px;
    z-index: 1;
  }
  .conceptdesc .concept__1 .concept-title {
    top: 204px;
    left: 904px;
  }
  .conceptdesc .concept__1 .concept-text {
    width: 514px;
    top: 673px;
    left: 904px;
  }
  .conceptdesc .concept__1 .concept__img {
    display: none;
  }
  .conceptdesc .concept__1 .concept__mask {
    -webkit-mask-image: url(/img/concept-fugire1.svg); /* Safari / Chrome */
    mask-image: url(/img/concept-fugire1.svg); /* Firefox */
  }
  .conceptdesc .concept__1 .concept__mask > img {
    width: 1660px;
    height: 934px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .conceptdesc .concept__2 .concept__figure {
    width: 803px;
    height: 751px;
    top: 214px;
    right: 103px;
    z-index: 0;
  }
  .conceptdesc .concept__2 .concept-title {
    top: 204px;
    left: 154px;
    z-index: 1;
  }
  .conceptdesc .concept__2 .concept-text {
    width: 514px;
    top: 673px;
    left: 154px;
    z-index: 1;
  }
  .conceptdesc .concept__2 .concept__img {
    display: none;
  }
  .conceptdesc .concept__2 .concept__mask {
    -webkit-mask-image: url(/img/concept-fugire2.svg); /* Safari / Chrome */
    mask-image: url(/img/concept-fugire2.svg); /* Firefox */
  }
  .conceptdesc .concept__2 .concept__mask > img {
    width: 3612px;
    height: 2032px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .conceptdesc .concept__3 .concept__figure {
    width: 1150px;
    height: 1032px;
    top: 97px;
    left: -200px;
    z-index: 1;
  }
  .conceptdesc .concept__3 .concept-title {
    top: 204px;
    right: 252px;
  }
  .conceptdesc .concept__3 .concept-text {
    width: 514px;
    top: 673px;
    right: 86px;
  }
  .conceptdesc .concept__3 .concept__img {
    position: absolute;
    width: 777.84px;
    height: 392px;
    top: 210px;
    right: -295px;
    z-index: 1;
  }
  .conceptdesc .concept__3 .concept__mask {
    -webkit-mask-image: url(/img/concept-fugire3.svg); /* Safari / Chrome */
    mask-image: url(/img/concept-fugire3.svg); /* Firefox */
  }
  .conceptdesc .concept__3 .concept__mask > img {
    width: 3140px;
    height: 1766px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .conceptdesc .concept__4 .concept-title {
    top: 204px;
    left: 184px;
  }
  .conceptdesc .concept__4 .concept-text {
    width: 514px;
    top: 673px;
    left: 184px;
  }
  .conceptdesc .concept__4 .concept__figure {
    width: 1271px;
    height: 1132px;
    top: -75px;
    right: -303px;
    z-index: 1;
  }
  .conceptdesc .concept__4 .concept__img {
    display: none;
  }
  .conceptdesc .concept__4 .concept__mask {
    -webkit-mask-image: url(/img/concept-fugire4.svg); /* Safari / Chrome */
    mask-image: url(/img/concept-fugire4.svg); /* Firefox */
  }
  .conceptdesc .concept__4 .concept__mask > img {
    width: 2266px;
    height: 1275px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1920px) {
  .conceptdesc .title {
    font-size: 70px;
    line-height: 61px;
  }
  .conceptdesc .concept__1 .concept__img {
    display: block;
    width: 777.84px;
    height: 392px;
  }
  .conceptdesc .concept__2 .concept-title {
    left: 454px;
  }
  .conceptdesc .concept__2 .concept-text {
    left: 454px;
  }
  .conceptdesc .concept__2 .concept__img {
    display: block;
    position: absolute;
    width: 777.84px;
    height: 392px;
    top: 210px;
    left: -500px;
  }
  .conceptdesc .concept__3 .concept-title {
    top: 204px;
    right: 402px;
  }
  .conceptdesc .concept__3 .concept-text {
    width: 514px;
    top: 673px;
    right: 236px;
  }
  .conceptdesc .concept__4 .concept-title {
    top: 204px;
    left: 504px;
  }
  .conceptdesc .concept__4 .concept-text {
    width: 514px;
    top: 673px;
    left: 504px;
  }
  .conceptdesc .concept__4 .concept__img {
    display: block;
    width: 262px;
    height: 314px;
    top: 326px;
    left: 20px;
  }
}

.conceptdesc {
  position: relative;
}

.conceptdesc-pin {
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.concept-m {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .concept-m {
    display: none !important;
  }
}
.concept-m__bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.concept-m__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
}
.concept-m__bg > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept-m__wrapper {
  position: relative;
  padding-top: 90px;
  gap: 20px;
  width: 100%;
  height: 100vh;
  display: grid;
}
.concept-m__content {
  gap: 30px;
  position: relative;
  display: grid;
  grid-template-areas: "stack";
  align-items: start;
}
.concept-m__1, .concept-m__2, .concept-m__3, .concept-m__4 {
  grid-area: stack;
  position: relative;
  transition: visibility 0s;
  opacity: 0;
  overflow: hidden;
  transform: translate(-40px);
}
.concept-m__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  overflow: hidden;
}
.concept-m #img2,
.concept-m #img3,
.concept-m #img4 {
  opacity: 0;
}
.concept-m__svg {
  width: 328.96px;
  height: 292px;
}
.concept-m__1 .concept-m-text {
  width: 329px;
}
.concept-m__2 .concept-m-text {
  width: 313px;
}
.concept-m__3 .concept-m-text {
  width: 296px;
}
.concept-m__4 .concept-m-text {
  width: 331px;
}
.concept-m-title {
  color: #241D17;
  font-size: 36px;
  line-height: 34px;
}
.concept-m-text {
  color: #241D17;
  font-size: 13px;
  line-height: 17px;
}

.concept-mob {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .concept-mob {
    display: none !important;
  }
}
.concept-mob__bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.concept-mob__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
}
.concept-mob__bg > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept-mob__wrapper {
  position: relative;
  padding-top: 140px;
  padding-bottom: 90px;
  gap: 20px;
  display: grid;
  grid-auto-rows: 1fr 1fr;
  height: 100%;
}
.concept-mob__content {
  height: 100vh;
  width: 100%;
}
.concept-mob-target-1 {
  will-change: transform;
}
.concept-mob__text {
  display: grid;
  grid-template-areas: "stack";
  align-items: start;
}
.concept-mob__text > * {
  display: grid;
  gap: 30px;
  grid-area: stack;
  position: relative;
  transition: visibility 0s;
  opacity: 0;
  overflow: hidden;
  transform: translate(-40px);
}
.concept-mob__1, .concept-mob__2, .concept-mob__3, .concept-mob__4 {
  position: relative;
  transform: translate(-40px);
}
.concept-mob__img {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translateX(-50%);
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  overflow: hidden;
}
.concept-mob #concept-mob_img2 {
  opacity: 0;
}
.concept-mob__svg {
  margin: auto;
  width: 328.96px;
  height: 292px;
}
.concept-mob__1 .concept-mob-text {
  width: 329px;
}
.concept-mob__2 .concept-mob-text {
  width: 313px;
}
.concept-mob__3 .concept-mob-text {
  width: 296px;
}
.concept-mob__4 .concept-mob-text {
  width: 331px;
}
.concept-mob-title {
  color: #241D17;
  font-size: 36px;
  line-height: 34px;
}
.concept-mob-text {
  color: #241D17;
  font-size: 13px;
  line-height: 17px;
}
@media (min-width: 768px) {
  .concept-mob-title {
    font-size: 50px;
    line-height: 48px;
  }
  .concept-mob-text {
    font-size: 17px;
    line-height: 19px;
  }
  .concept-mob-target-1 .concept-mob__svg {
    width: 637.79px;
    height: 567px;
  }
  .concept-mob-target-2 .concept-mob__svg {
    width: 620px;
    height: 556.32px;
  }
  .concept-mob-target-3 .concept-mob__svg {
    width: 784px;
    height: 699px;
  }
  .concept-mob__text-1 {
    gap: 40px;
  }
  .concept-mob__text-1 .concept-mob-text {
    width: 509px;
  }
}

.flat {
  position: relative;
  background: #fff;
  color: #241D17;
  padding-block: 48px;
  padding-top: 70px;
  overflow: hidden;
}
.flat__top {
  margin-bottom: 39px;
}
.flat__slide {
  display: grid;
  gap: 9px;
  margin-bottom: 18px;
}
.flat__slide-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.flat__slide-content {
  display: grid;
  justify-items: center;
  gap: 34px;
}
.flat__slide-street {
  color: #6A6A6A;
  font-size: 11px;
  line-height: 17px;
}
.flat__bg {
  position: relative;
}
.flat__compas {
  width: 71px;
  position: absolute;
  right: 0;
}
.flat__img {
  height: 274px;
}
.flat__img > * {
  margin: auto;
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.flat__prices {
  display: grid;
  margin-bottom: 25px;
}
.flat__price {
  font-size: 30px;
  line-height: 120%;
}
.flat__oldprice {
  color: #9F9F9F;
  font-size: 15px;
  position: relative;
  display: inline;
  width: -moz-max-content;
  width: max-content;
}
.flat__oldprice::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #9F9F9F;
  width: 100%;
  top: calc(25% + 3px);
}
.flat__data-list {
  display: flex;
  gap: 43px;
  margin-bottom: 23px;
}
.flat__data-list > * {
  flex-shrink: 0;
}
.flat__item {
  display: grid;
  gap: 12px;
}
.flat__item-title {
  font-size: 13px;
  line-height: 17px;
}
.flat__item-content {
  font-size: 30px;
  line-height: 120%;
}
.flat__datatabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}
.flat__datatabs > * {
  font-family: Optima Cyr, sans-serif;
  color: #241D17;
  border: 1px solid #241D17;
  border-radius: 9999px;
  padding-inline: 30px;
  height: 40px;
  display: flex;
  align-items: center;
}
.flat__btns {
  display: grid;
  gap: 14px;
}
.flat__btn {
  font-family: Optima Cyr, sans-serif;
  width: 100%;
  display: grid;
  align-content: center;
  justify-items: center;
  height: 55px;
  background: #041E2E;
  color: #EAEAEA;
}
.flat__btn-border {
  background: transparent;
  color: #241D17;
  border: 1px solid #241D17;
}
@media (min-width: 768px) {
  .flat__compas {
    width: 95px;
  }
  .flat__slide {
    gap: 34px;
    margin-bottom: 18px;
  }
  .flat__slide-street {
    font-size: 16px;
  }
  .flat__btns {
    display: flex;
  }
  .flat__img {
    height: 410px;
  }
}
@media (min-width: 1024px) {
  .flat {
    padding-block: 156px;
  }
  .flat__top {
    margin-bottom: 70px;
  }
  .flat__wrapper {
    display: grid;
    grid-template-columns: 1fr minmax(auto, 500px);
  }
  .flat__compas {
    width: 88px;
    right: 53px;
  }
  .flat__slide {
    justify-self: center;
    gap: 70px;
    margin-bottom: 0px;
  }
  .flat__slide-content {
    order: 1;
  }
  .flat__slide-tabs {
    order: 2;
  }
  .flat__bg {
    padding-inline: 53px;
  }
  .flat__img {
    height: 583px;
  }
  .flat__content {
    padding-right: 83px;
    padding-top: 48px;
  }
  .flat__prices {
    margin-bottom: 36px;
  }
  .flat__price {
    font-size: 60px;
    line-height: 120%;
  }
  .flat__oldprice {
    font-size: 30px;
    line-height: 120%;
  }
  .flat__data-list {
    gap: 12px;
    margin-bottom: 36px;
  }
  .flat__item-title {
    font-size: 20px;
    line-height: 120%;
  }
  .flat__item-content {
    font-size: 50px;
    line-height: 120%;
  }
  .flat__datatabs {
    margin-bottom: 59px;
  }
  .flat__btns {
    display: grid;
    width: 252px;
  }
}

.floor {
  position: relative;
  background: #fff;
  color: #241D17;
  padding-block: 48px;
  padding-top: 70px;
  overflow: hidden;
}
.floor__wrapper {
  display: grid;
  gap: 30px;
}
.floor__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
.floor__nav-content {
  width: 236px;
  display: grid;
  font-family: Optima Cyr, sans-serif;
  font-size: 34px;
  text-align: center;
}
.floor__top {
  margin-bottom: 39px;
}
.floor__slide {
  display: grid;
  gap: 9px;
  margin-bottom: 18px;
}
.floor__slide-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.floor__slide-content {
  display: grid;
  justify-items: center;
  gap: 12px;
}
.floor__slide-street {
  color: #6A6A6A;
  font-size: 11px;
  line-height: 17px;
}
.floor__bg {
  position: relative;
}
.floor__compas {
  width: 71px;
  position: absolute;
  right: 0;
}
.floor__img {
  height: 274px;
}
.floor__img > * {
  margin: auto;
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.floor__content-title {
  font-family: Optima Cyr, sans-serif;
  font-size: 20px;
  line-height: 21px;
  margin-bottom: 22px;
}
.floor__lots {
  display: grid;
  gap: 8px;
}
.floor__lot {
  background: rgba(116, 163, 208, 0.2);
  padding: 10px 13px;
  font-size: 12px;
  line-height: 120%;
  display: grid;
  grid-template-columns: 113px 1fr;
  align-items: center;
  justify-content: space-between;
}
.floor__lot :first-child {
  font-family: Optima Cyr, sans-serif;
}
.floor__lot :last-child {
  display: flex;
  gap: 4px;
  justify-content: space-between;
}
.floor__lot:hover {
  background: rgba(116, 163, 208, 0.6);
}
@media (min-width: 768px) {
  .floor__wrapper {
    gap: 50px;
  }
  .floor__nav {
    gap: 111px;
  }
  .floor__nav-content {
    font-size: 50px;
    line-height: 48px;
  }
  .floor__compas {
    width: 95px;
  }
  .floor__slide {
    gap: 34px;
    margin-bottom: 18px;
  }
  .floor__slide-street {
    font-size: 16px;
  }
  .floor__img {
    height: 494px;
  }
  .floor__content-title {
    font-size: 28px;
    line-height: 38px;
  }
  .floor__lots {
    gap: 10px;
  }
  .floor__lot {
    grid-template-columns: 432px 1fr;
    padding-block: 18px;
    font-size: 16px;
    line-height: 15px;
  }
}
@media (min-width: 1024px) {
  .floor {
    padding-block: 156px;
  }
  .floor__top {
    margin-bottom: 70px;
  }
  .floor__wrapper {
    display: grid;
    grid-template-columns: 800px 1fr 200px;
    grid-template-areas: "B C A";
  }
  .floor__slide {
    grid-area: B;
  }
  .floor__nav {
    grid-area: A;
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 84px;
  }
  .floor__nav-prev > svg, .floor__nav-next > svg {
    height: 58px;
    width: 23px;
  }
  .floor__nav-prev {
    transform: rotate(90deg);
  }
  .floor__nav-content {
    font-size: 60px;
    line-height: 58px;
  }
  .floor__nav-next {
    transform: rotate(90deg);
  }
  .floor__content {
    grid-area: C;
  }
  .floor__compas {
    width: 88px;
    right: 53px;
  }
  .floor__slide {
    justify-self: center;
    gap: 70px;
    margin-bottom: 0px;
  }
  .floor__slide-content {
    order: 1;
  }
  .floor__slide-tabs {
    order: 2;
  }
  .floor__img {
    height: 731px;
  }
  .floor__content-title {
    font-size: 28px;
    line-height: 34px;
    margin-bottom: 42px;
  }
  .floor__lot {
    padding-inline: 13px;
    padding-block: 12px;
    grid-template-columns: 157px 1fr;
    font-size: 16px;
    line-height: 15px;
  }
}

.other-flats {
  padding-block: 60px;
}
.other-flats-title {
  font-family: Optima Cyr, sans-serif;
  color: #D7D5C9;
  font-size: 36px;
  line-height: 34px;
  margin-bottom: 39px;
}
@media (min-width: 768px) {
  .other-flats {
    padding-block: 76px;
  }
  .other-flats-title {
    font-size: 50px;
    line-height: 48px;
  }
}
@media (min-width: 1024px) {
  .other-flats {
    padding-block: 130px;
  }
  .other-flats-title {
    font-size: 80px;
    line-height: 68px;
  }
}

.not-found {
  height: 100vh;
  background: #241D17;
  color: #D7D5C9;
  display: grid;
}
.not-found__wrapper {
  display: grid;
  justify-content: center;
  justify-items: center;
  align-content: center;
  text-align: center;
  gap: 44px;
}
.not-found__content {
  position: relative;
  display: flex;
  gap: 120px;
  height: 215px;
  align-items: center;
  justify-self: center;
  font-family: Optima Cyr, sans-serif;
  font-size: 170px;
  line-height: 57.58px;
}
.not-found__content > * {
  flex-shrink: 0;
  z-index: 1;
  position: relative;
}
.not-found__img {
  width: 230px;
  height: 215px;
  position: absolute;
  left: 50%;
  z-index: 0;
  transform: translateX(-50%);
}
.not-found__title {
  font-size: 26px;
  line-height: 29px;
  font-family: Optima Cyr, sans-serif;
}
.not-found__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 21px;
  padding: 13px 47px;
  border-radius: 100px;
  font-family: Optima Cyr, sans-serif;
  border: 1px solid #D7D5C9;
}
@media (min-width: 768px) {
  .not-found__title {
    display: none;
  }
  .not-found__content {
    height: 353px;
    gap: 180px;
    font-size: 279.12px;
    line-height: 94.54px;
  }
  .not-found__img {
    width: 398px;
    height: 353px;
  }
  .not-found__btn {
    padding: 26px 61px;
  }
}
@media (min-width: 1024px) {
  .not-found__wrapper {
    gap: 70px;
  }
  .not-found__title {
    display: block;
    font-size: 36px;
    line-height: 34px;
  }
  .not-found__content {
    height: 517px;
    gap: 320px;
    font-size: 409px;
    line-height: 138px;
  }
  .not-found__img {
    width: 582.72px;
    height: 517px;
  }
  .not-found__btn {
    padding: 26px 122px;
    font-size: 20px;
    line-height: 21px;
    border-radius: 100px;
  }
}

.picker {
  padding-top: 20px;
}
.picker .breadcrumb {
  margin-bottom: 41px;
}
.picker__title {
  margin-bottom: 51px;
  color: #D7D5C9;
}
@media (min-width: 768px) {
  .picker {
    padding-top: 29px;
  }
  .picker .breadcrumb {
    margin-bottom: 71px;
  }
  .picker__content {
    gap: 51px;
    padding-bottom: 70px;
  }
}
@media (min-width: 1024px) {
  .picker {
    padding-top: 70px;
  }
  .picker .breadcrumb {
    margin-bottom: 54px;
  }
  .picker__title {
    font-size: 56px;
    line-height: 68px;
  }
  .picker__content {
    padding-bottom: 106px;
    gap: 36px;
    align-content: start;
    grid-template-columns: 585px 1fr;
  }
}

.page--picker {
  background: #241d17;
  color: #d7d5c9;
  min-height: 100vh;
}

/* header (минимально) */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(36, 29, 23, 0.75);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(215, 213, 201, 0.12);
}

.site-header__row {
  height: 64px;
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
}

.site-header__logo {
  justify-self: center;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: #d7d5c9;
  text-decoration: none;
}

.site-header__burger {
  width: 40px;
  height: 40px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.site-header__burger span {
  display: block;
  height: 1px;
  width: 24px;
  background: rgba(215, 213, 201, 0.8);
}

.site-header__phone {
  justify-self: end;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* page */
.picker {
  padding: 22px 0 48px;
}

.picker-breadcrumbs {
  font-size: 12px;
  opacity: 0.7;
  margin-bottom: 10px;
}

.picker-title {
  font-size: 34px;
  line-height: 1.05;
  margin: 0 0 18px;
}

/* filters */
.picker-filters {
  margin-bottom: 22px;
}

.picker-filters__row {
  display: grid;
  gap: 16px;
  align-items: end;
}
@media (min-width: 1024px) {
  .picker-filters__row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 22px;
  }
  .picker-filters__row > * {
    flex-shrink: 0;
    width: -moz-max-content;
    width: max-content;
  }
}

.picker-filters__group-other {
  flex-grow: 0;
}

.picker-filters__row.picker-filters__row-bottom {
  border-top: 1px solid rgba(215, 213, 201, 0.2);
  display: flex;
  justify-content: space-between;
}

.picker-filters__row + .picker-filters__row {
  margin-top: 14px;
}
@media (min-width: 1024px) {
  .picker-filters__row + .picker-filters__row {
    margin-top: 60px;
    padding-top: 70px;
    grid-template-columns: 1fr 1fr auto;
  }
}

.picker-filters__label {
  font-size: 12px;
  opacity: 0.75;
  margin-bottom: 10px;
}

.picker-filters__pills,
.picker-filters__rooms {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.pill {
  background: transparent;
  border: 1px solid #D7D5C9;
  color: #D7D5C9;
  border-radius: 999px;
  padding: 10px 20px;
  font-size: 14px;
  cursor: pointer;
}

.pill.is-active {
  background: #D7D5C9;
  color: #241D17;
}

.room {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #D7D5C9;
  background: transparent;
  color: #D7D5C9;
  cursor: pointer;
}

.room.is-active {
  background: #D7D5C9;
  color: #241D17;
}

.range {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}

.range__dash {
  opacity: 0.5;
}

.range input {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(215, 213, 201, 0.35);
  padding: 8px 0;
  color: #d7d5c9;
  outline: none;
}

.range input::-moz-placeholder {
  color: rgba(215, 213, 201, 0.55);
}

.range input::placeholder {
  color: rgba(215, 213, 201, 0.55);
}

.picker-filters__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.picker-found {
  font-size: 12px;
  opacity: 0.8;
}

.picker-reset {
  background: transparent;
  border: 0;
  padding: 0;
  color: rgba(215, 213, 201, 0.8);
  cursor: pointer;
  letter-spacing: 0.08em;
}

/* cards */
.picker-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .picker-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .picker-grid {
    padding-block: 50px;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
  }
}

.flat-card {
  background: #fff;
  color: #241d17;
  border-radius: 0;
  overflow: hidden;
  padding: 60px 35px 35px;
}

.flat-card__img {
  margin-bottom: 48px;
}

.flat-card__img img {
  width: 100%;
  display: block;
  height: 148px;
  aspect-ratio: 8/5;
  -o-object-fit: contain;
     object-fit: contain;
}

.flat-card__body-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0px;
}
.flat-card__body-middle {
  margin-bottom: 22px;
}

.flat-card__price {
  font-size: 22px;
}

.flat-card__oldprice {
  color: #9F9F9F;
  font-size: 15px;
  position: relative;
}
.flat-card__oldprice::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #9F9F9F;
  width: 100%;
  top: calc(25% + 3px);
}

.flat-card__meta {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.flat-card__btn {
  font-family: Optima Cyr, sans-serif;
  font-size: 15px;
  width: 100%;
  background: transparent;
  border: 1px solid #241D17;
  padding: 10px 12px;
  height: 60px;
  cursor: pointer;
}

@media (min-width: 1024px) {
  .flat-card__img img {
    height: 204px;
  }
  .flat-card__body-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 13px;
  }
  .flat-card__body-middle {
    margin-bottom: 22px;
  }
  .flat-card__price {
    font-size: 28px;
  }
  .flat-card__oldprice {
    font-size: 17px;
  }
  .flat-card__meta {
    margin-bottom: 30px;
    font-size: 18px;
  }
  .flat-card__btn {
    font-size: 20px;
    padding: 10px 12px;
    height: 55px;
  }
}
.picker-more {
  display: flex;
  justify-content: center;
  padding: 26px 0 0;
}

.picker-more__btn {
  min-width: 150px;
  background: transparent;
  font-family: Optima Cyr, sans-serif;
  border: 1px solid #D7D5C9;
  color: #D7D5C9;
  padding: 14px 18px;
  height: 60px;
  font-size: 16px;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .picker-more__btn {
    height: 96px;
    min-width: 454px;
    font-size: 24px;
  }
}

.range2 {
  width: 100%;
}
@media (min-width: 1024px) {
  .range2 {
    min-width: 234px;
  }
}

.range2__labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
  color: #d7d5c9;
  font-size: 18px;
}

.range2__track {
  position: relative;
  height: 24px;
}

.range2__input {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 24px;
}

.range2__input::-webkit-slider-runnable-track {
  height: 2px;
  background: rgba(215, 213, 201, 0.35);
}

.range2__input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d7d5c9;
  margin-top: -5px;
}

.range2__input::-moz-range-track {
  height: 2px;
  background: rgba(215, 213, 201, 0.35);
}

.range2__input::-moz-range-thumb {
  pointer-events: auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d7d5c9;
  border: 0;
}

.range2__fill {
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: #d7d5c9;
}

@media (max-width: 1023px) {
  .unical-title {
    opacity: 0;
    will-change: transform, opacity;
  }
  .taun-title, .taun-text, .taun__img .taun__figure,
  .penthouse-title,
  .penthouse-text,
  .taun__img .penthouse__figure,
  .office-title,
  .office-text,
  .taun__img .office__figure,
  .comer-title,
  .comer-text,
  .taun__img .comer__figure,
  .penthouse__img .taun__figure,
  .penthouse__img .penthouse__figure,
  .penthouse__img .office__figure,
  .penthouse__img .comer__figure,
  .office__img .taun__figure,
  .office__img .penthouse__figure,
  .office__img .office__figure,
  .office__img .comer__figure,
  .comer__img .taun__figure,
  .comer__img .penthouse__figure,
  .comer__img .office__figure,
  .comer__img .comer__figure {
    opacity: 0;
    will-change: transform, opacity;
  }
}
@media (min-width: 1024px) {
  .space-title, .space-text {
    opacity: 0;
    will-change: transform, opacity;
  }
  .location-title, .location-text {
    opacity: 0;
    will-change: transform, opacity;
  }
  .geopark-title, .geopark-text {
    opacity: 0;
    will-change: transform, opacity;
  }
  .lobbi-title, .lobbi-text {
    opacity: 0;
    will-change: transform, opacity;
  }
  .centr-title, .centr-text {
    opacity: 0;
    will-change: transform, opacity;
  }
  .taun-title, .taun-text, .taun__img, .taun__figure {
    opacity: 0;
    will-change: transform, opacity;
  }
  .penthouse-title, .penthouse-text, .penthouse__img, .penthouse__figure {
    opacity: 0;
    will-change: transform, opacity;
  }
  .office-title, .office-text, .office__img, .office__figure {
    opacity: 0;
    will-change: transform, opacity;
  }
  .comer-title, .comer-text, .comer__img, .comer__figure {
    opacity: 0;
    will-change: transform, opacity;
  }
  .unic-figure {
    height: 1234px;
    width: 1363px;
    top: 50%;
    left: 0%;
    opacity: 0;
    position: absolute;
    z-index: 1;
    overflow: hidden;
  }
}
@media (min-width: 768px){
  .md\:flex{
    display: flex;
  }
  .md\:hidden{
    display: none;
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
@media (min-width: 1024px){
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
}/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}
.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat);
}
.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2);
}
.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3);
}
.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay);
}
.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2);
}
.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3);
}
.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4);
}
.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5);
}
.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2);
}
.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8);
}
.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
}
.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3);
}
@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }

  .animate__animated[class*='Out'] {
    opacity: 0;
  }
}
/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}
@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY;
}
@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown;
}
@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft;
}
@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight;
}
@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp;
}
/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown;
}
@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft;
}
@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight;
}
@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp;
}
/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft;
}
@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight;
}
@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft;
}
@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight;
}
/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft;
}
@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight;
}
@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight;
}
@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft;
}
/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left;
}
@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
/**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.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-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      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-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
