:root {
  --main: #00D1FF;
  --main-dark: #00c4ff;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

.svg-sprite {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 0;
  width: 0;
  visibility: hidden;
  opacity: 0;
}

.icon {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  flex-shrink: 0;
}

html {
  font-size: 10px;
  font-size: calc(100vw * 10 / 1920);
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html,
body,
.page-full-wrapper,
.page-full-content {
  display: flex;
  flex-direction: column;
}

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.9rem;
  line-height: 3.5rem;
  background: #fff;
  color: #000;
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
}

.page-full-wrapper,
.page-full-content {
  width: 100%;
  min-height: 100vh;
}

html.is-noscroll body {
  position: fixed !important;
  width: 100%;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  color: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

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

:hover,
:active,
:focus {
  outline: none;
}

img {
  vertical-align: middle;
  border-style: none;
}

b,
strong {
  font-weight: bold;
}

textarea {
  max-width: 100%;
  min-width: 100%;
  overflow: auto;
  resize: vertical;
}

a,
button {
  transition: 0.15s ease-in-out;
  transition-property: color, border-color, background-color, opacity, box-shadow;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

p,
ul,
ol,
dl,
pre,
table,
figure,
address,
fieldset,
blockquote {
  margin: 0 0 3.5rem 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  color: inherit;
  margin: 0 0 3.5rem 0;
}

h1,
.h1 {
  font-size: 6rem;
  line-height: 7.3rem;
  margin-bottom: 6.4rem;
}

h2,
.h2 {
  font-size: 4rem;
  line-height: 5rem;
  margin-bottom: 4.5rem;
}

h3,
.h3 {
  font-size: 3rem;
  line-height: 3.7rem;
  margin-bottom: 4.5rem;
}

.text h1,
.text .h1 {
  font-size: 4rem;
  line-height: 1.25;
}

.text h1,
.text h2,
.text .h1,
.text .h2,
.text figure {
  margin-bottom: 4.5rem;
}

.text *+h2,
.text *+.h2 {
  margin-top: 6rem;
}

.text *+figure {
  margin-top: 4.5rem;
}

.text img {
  display: block;
  width: 100%;
  height: auto;
}

.form-group {
  position: relative;
  margin-bottom: 5rem;
}

.form-label {
  position: absolute;
  left: 0;
  top: 1.8rem;
  font-size: 1.8rem;
  line-height: 2.2rem;
  pointer-events: none;
  transition: 0.25s ease-in-out;
}

.form-control:placeholder-shown~.form-label {
  transform: translateY(0);
}

.form-label,
.form-control:focus~.form-label {
  transform: translateY(-3.5rem) scale(0.9);
  transform-origin: left center;
}

.form-btn-group {
  margin-top: 9.3rem;
}

.form-control::placeholder {
  color: transparent;
}

.form-control:focus::placeholder {
  color: transparent;
}

.form-control {
  display: block;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  transition: 0.15s ease-in-out;
  width: 100%;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.2rem;
  border: none;
  border-bottom: 1px solid;
  color: currentColor;
  background-color: transparent;
  border-radius: 0;
  height: calc(5.8rem + 1px);
  padding: 1.8rem 0;
}

textarea.form-control {
  height: auto;
}

.form-control.error {
  border-color: #ff0000;
  color: #ff0000;
}

label.error {
  display: block;
  color: #ff0000;
  font-size: 1.1rem;
  line-height: 1.4rem;
  margin-bottom: -1.4rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: none !important;
}

.btn {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  text-decoration: none;
  border: 1px solid var(--main);
  background-color: var(--main);
  color: #fff;
  border-radius: 0;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: .2em;
  font-size: 1.5rem;
  line-height: 1.8rem;
  padding: 2.5rem 3.4rem;
}

.btn_lg {
  letter-spacing: .34em;
  font-size: 1.8rem;
  line-height: 2.2rem;
  padding: 3rem 5.4rem;
}

.btn:not(.anim-btn):hover {
  color: #fff;
  background: var(--main-dark);
  border-color: var(--main-dark);
}

.btn_dark {
  background: #000;
  border-color: #000;
}

.btn_dark:not(.anim-btn):hover {
  background: var(--main);
  border-color: var(--main);
}

.btn_border {
  border-color: #000;
  color: #000;
  background: #fff;
}

.btn_border:not(.anim-btn):hover {
  color: #fff;
  background: #000;
  border-color: #000;
}

.btn__arrow {
  width: 2.5rem;
  display: inline-flex;
  justify-content: flex-end;
  overflow: hidden;
  vertical-align: middle;
  position: relative;
  margin-left: .5rem;
  transition: width .25s ease-in-out;
}

@media (min-width: 992px) {
  .btn:hover .btn__arrow {
    width: 7.1rem;
  }
}

.btn.anim-btn:before {
  background: #40DDFF;
}

.btn_dark.anim-btn:before {
  background: var(--main);
}

.anim-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.anim-btn:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  transition: height .25s ease-in-out;
}

.anim-btn:hover:before {
  height: 100%;
}

.anim-btn__inner {
  position: relative;
  overflow: hidden;
  margin: -.5rem 0;
}

.anim-btn__content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem 0;
  transition: 0.25s ease-in-out;
}

.anim-btn__content + .anim-btn__content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  color: var(--main)
}

.btn .anim-btn__content + .anim-btn__content {
  color: #000;
}

.anim-btn:hover .anim-btn__content {
  transform: translateY(-100%);
}

.anim-btn:hover .anim-btn__content + .anim-btn__content {
  transform: translateY(0);
}

.anim-link {
  display: inline-block;
  vertical-align: top;
  position: relative;
  z-index: 1;
}

.anim-link__inner {
  display: block;
  position: relative;
  overflow: hidden;
}

.anim-link__content {
  display: block;
  transition: 0.25s ease-in-out;
}

.anim-link__content + .anim-link__content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  color: var(--main)
}

.anim-link:hover .anim-link__content {
  transform: translateY(-100%);
}

.anim-link:hover .anim-link__content + .anim-link__content {
  transform: translateY(0);
}

.close-icon {
  display: block;
  position: relative;
  border: none;
  background: none;
  padding: 0;
  width: 1em;
  height: 1em;
  transition: transform .5s ease-in-out;
}

.detail__close-btn.is-active .close-icon {
  transform: rotate(90deg);
}

.close-icon:before,
.close-icon:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  border-bottom: 2px solid;
  margin: -1px 0 0 -50%;
  transform: rotate(45deg);
}

.close-icon:after {
  transform: rotate(-45deg);
}

.slick-dots {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: .4rem;
  z-index: 10;
  text-align: center;
  color: #fff;
}

.slick-dots li {
  display: inline-block;
}

.slick-dots li button {
  width: 2.6rem;
  height: 2.6rem;
  border: none;
  background: none;
  padding: 0;
  position: relative;
  cursor: pointer;
  text-indent: -9999px;
}

.slick-dots li button:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: .8rem;
  height: .8rem;
  margin: -.4rem;
  border-radius: 50%;
  background: currentColor;
}

.slick-dots li button:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.6rem;
  height: 1.6rem;
  margin: -.8rem;
  border-radius: 50%;
  border: .2rem solid currentColor;
  opacity: 0;
  transform: scale(0);
  transition: 0.15s ease-in-out;
}

.slick-dots li.slick-active button:after {
  opacity: 1;
  transform: scale(1);
}

.slick-arrow {
  border: none;
  padding: 0;
  background: transparent;
  background: none;
  position: absolute;
  text-indent: -9999px;
  z-index: 11;
  top: 50%;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  margin-top: -2.75rem;
  background: rgba(255, 255, 255, 0.7);
}

.slick-arrow:hover {
  background: rgba(255, 255, 255, 1);
}

.slick-prev {
  left: 2.5rem;
}

.slick-next {
  right: 2.5rem;
}

.slick-arrow.slick-disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

.slick-arrow:after {
  content: '';
  position: absolute;
  width: 1.9rem;
  height: 1.6rem;
  left: 50%;
  top: 50%;
  margin: -.8rem -.95rem;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.slick-prev:after {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='16' viewBox='0 0 19 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.292892 8.70711C-0.0976315 8.31658 -0.0976314 7.68342 0.292893 7.29289L6.65686 0.928931C7.04738 0.538407 7.68054 0.538407 8.07107 0.928931C8.46159 1.31946 8.46159 1.95262 8.07107 2.34314L2.41421 8L8.07107 13.6569C8.46159 14.0474 8.46159 14.6805 8.07107 15.0711C7.68054 15.4616 7.04738 15.4616 6.65685 15.0711L0.292892 8.70711ZM19 9L1 9L1 7L19 7L19 9Z' fill='black'/%3E%3C/svg%3E");
}

.slick-next:after {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='16' viewBox='0 0 19 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.7071 8.70711C19.0976 8.31658 19.0976 7.68342 18.7071 7.29289L12.3431 0.928931C11.9526 0.538407 11.3195 0.538407 10.9289 0.928931C10.5384 1.31946 10.5384 1.95262 10.9289 2.34314L16.5858 8L10.9289 13.6569C10.5384 14.0474 10.5384 14.6805 10.9289 15.0711C11.3195 15.4616 11.9526 15.4616 12.3431 15.0711L18.7071 8.70711ZM8.74229e-08 9L18 9L18 7L-8.74229e-08 7L8.74229e-08 9Z' fill='black'/%3E%3C/svg%3E%0A");
}

.slick-slide>div>* {
  max-width: none;
  vertical-align: top;
}

.logo {
  display: block;
  font-size: 1rem;
}

.languages {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 3rem;
}

.languages li {
  margin-right: 2rem;
}

.languages li:last-child {
  margin-right: 0;
}

.languages a {
  display: inline-block;
  position: relative;
  transition: transform 0.15s ease-in-out;
}

.languages a:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 2px solid transparent;
}

.languages a:hover,
.languages a.is-active {
  color: var(--main);
}

.languages a:hover:after,
.languages a.is-active:after {
  border-bottom-color: currentColor;
}

.languages a.is-active {
  display: none;
}

.nav-btn {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  display: flex;
}

.nav-btn__content {
  position: relative;
}

.nav-btn__link {
  display: flex;
  align-items: center;
  padding: 0 3.4rem 0 3.5rem;
  height: calc(10rem - 1px);
}

.nav-btn__link-inner {
  position: relative;
  overflow: hidden;
}

.nav-btn__link-content {
  display: flex;
  padding: 0.5rem 0;
  transition: 0.25s ease-in-out;
}

.nav-btn__link-content + .nav-btn__link-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  color: var(--main);
}

.nav-btn__link-text {}

.nav-btn__link-icon {
  width: 1.8rem;
  height: 1.8rem;
  flex-shrink: 0;
  margin-left: 1.6rem;
}

.nav-btn__link-icon .icon {
  display: block;
  width: 100%;
  height: 100%;
}

.nav-btn.is-active .nav-btn__close-btn:hover~.nav-btn__link .nav-btn__link-content {
  transform: translateY(-100%);
}

.nav-btn.is-active .nav-btn__close-btn:hover~.nav-btn__link .nav-btn__link-content + .nav-btn__link-content {
  transform: translateY(0);
}

.nav-btn__close-btn {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: none;
}

.nav-btn__filter-wrapper {
  width: 0;
  flex-shrink: 0;
  overflow: hidden;
  opacity: 0;
}

.nav-btn__filter-btn {
  border: none;
  padding: 0;
  background: #000;
  border-left: 1px solid #fff;
  color: #fff;
  width: 10.7rem;
  height: calc(10rem - 1px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-btn__filter-btn .icon {
  transition: transform 0.25s ease-in-out;
}

.nav-btn__filter-btn:hover .icon {
  
}

.nav-btn__link,
.nav-btn__filter-wrapper {
  transition: 0.25s ease-in-out;
}

.nav-btn__link-icon {
  transition: .5s ease-in-out;
}

.nav-btn__link {
  transition-property: background-color, color;
}

.nav-btn__link-icon {
  transition-property: transform;
}

.nav-btn__filter-wrapper {
  transition-property: width, opacity;
}

.nav-btn__link:hover,
.nav-btn.is-active .nav-btn__link {
  background: #000;
  color: #fff;
}

.nav-btn.is-active .nav-btn__link-icon {
  transform: rotate(-45deg);
}

.nav-btn.is-active .nav-btn__close-btn {
  display: block;
}

.nav-btn.is-active .nav-btn__filter-wrapper {
  width: 10.7rem;
  opacity: 1;
}

.search {
  width: 100%;
}

.search__form {}

.search__row {
  position: relative;
}

.search__row label.error {
  display: none !important;
}

.search__input::placeholder {
  color: #A0A0A0;
}

.search__input:focus::placeholder {
  color: transparent;
}

.search__input {
  height: auto;
  font-size: 1.6rem;
  line-height: 2.2rem;
  padding: .3rem 2.8rem .3rem 12.8rem;
}

.search__form[action^="/en/"] .search__input {
  padding-left: 28rem;
}

.search__form[action^="/fr/"] .search__input {
  padding-left: 22rem;
}

.search__btn {
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 500;
  border: none;
  background: none;
  font-size: 2rem;
  line-height: 2.2rem;
  padding: .1rem 0 .5rem;
}

.search__input.error~.search__btn {
  color: #ff0000;
}

.search__close {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border: none;
  background: none;
  padding: 0;
  font-size: 2.4rem;
  line-height: 1;
}

.control-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10rem;
  width: 10.4rem;
  flex-shrink: 0;
  border: none;
  padding: 0;
  background: none;
  position: relative;
}

.control-btn_search .icon {
  transition: transform 0.15s ease-in-out;
}

.control-btn_search:hover .icon {
  transform: scale(1.3);
}

.control-btn_burger {}

.control-btn_burger:before,
.control-btn_burger:after {
  content: '';
}

.control-btn_burger:before,
.control-btn_burger:after,
.control-btn_burger>span {
  position: absolute;
  width: 3.2rem;
  height: .2rem;
  left: 50%;
  top: 50%;
  margin: -1px 0 0 -1.6rem;
  border-bottom: 2px solid;
  transition: transform 0.15s ease-in-out;
}

.control-btn_burger>span {
  width: 2.8rem;
}

.control-btn_burger:before {
  transform: translateY(-.9rem);
}

.control-btn_burger:after {
  transform: translateY(.9rem);
  width: 2.4rem;
}

.control-btn_burger:hover:before {
  transform: translateY(-1.2rem);
}

.control-btn_burger:hover:after {
  transform: translateY(1.2rem);
}

.header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  background: #fff;
  border-bottom: 1px solid;
  display: flex;
  align-items: center;
  padding: 0 8rem;
  height: 10rem;
  z-index: 1001;
  transition: 0.15s ease-in-out;
  transition-property: background-color;
}

html:not(.is-search-open):not(.is-scrolled).theme-light .header {
  color: #fff;
  background-color: transparent;
}

.header__logo {
  position: relative;
  z-index: 11;
}

.header__logo .logo {
  position: relative;
}

.header__logo .logo img + img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}

html:not(.is-search-open):not(.is-scrolled).theme-light .header__logo .logo img {
  opacity: 0;
}

html:not(.is-search-open):not(.is-scrolled).theme-light .header__logo .logo img + img {
  opacity: 1;
}

.header__languages {}

.header__nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
}

.header__nav-item {
  margin: 0 1px;
}

.header__search {
  position: absolute;
  bottom: 100%;
  height: 100%;
  z-index: 10;
  left: 0;
  right: 0;
  padding-left: 40rem;
  padding-right: 14.4rem;
  display: flex;
  align-items: center;
  background: #fff;
  color: #000;
  transition: 0.15s ease-in-out;
}

.header__control {
  display: flex;
  margin-right: -8rem;
  margin-left: auto;
}

.header__control-item {
  margin-left: 1px;
  position: relative;
}

.header__control-item_burger {
  z-index: 11;
}

html.is-search-open .header__search {
  transform: translateY(100%);
}

.menu {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1002;
  background: #fff;
  padding-right: 25%;
}

.menu__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #272930;
}

.menu__media {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 25%;
  background-color: #212026;
}

.menu__media-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transition: 0.5s ease-in-out;
}

.menu__media-item.is-active {
  opacity: 1;
}

.menu__inner {
  position: relative;
  padding: 10rem 8rem 3rem;
  padding-top: 11vh;
  height: 100%;
  background: #fff;
  overflow: hidden;
  overflow-y: auto;
}

.menu__wrapper {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  height: 100%;
  position: relative;
}

.menu__header {
  flex: 0 0 calc(5 * 100% / 16);
  max-width: calc(5 * 100% / 16);
}

.menu__logo {}

.menu__close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  width: 10rem;
  height: 10rem;
  padding: 0;
  border: none;
  background: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
}

.menu__content {
  display: flex;
  flex: 0 0 calc(11 * 100% / 16);
  max-width: calc(11 * 100% / 16);
  position: relative;
}

.menu__nav {
  flex: 0 0 calc(8 * 100% / 11);
  max-width: calc(8 * 100% / 11);
  margin-top: .8rem;
  padding-right: 4.2rem;
}

.menu__subnav {
  flex: 0 0 calc(3 * 100% / 11);
  max-width: calc(3 * 100% / 11);
  margin-top: 5.5rem;
  position: relative;
}

.nav {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 3rem;
  line-height: 3.7rem;
}

.nav__item {
  margin-bottom: 3.4rem;
}

.nav__link {
  display: block;
  padding: 1rem 0;
  position: relative;
}

.nav__sub {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.nav__item .nav__sub {
  display: none;
}

.nav__sub-header {
  display: none;
}

.nav__sub-back-arrow {}

.nav__sub-title {}

.nav__sub-content {}

.nav__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2rem;
}

.nav__sublist-item {
  margin-bottom: 3.7rem;
}

@media (min-width: 992px) {
  .nav__sublist-item._mob {
    display: none;
  }
  
  .nav__sublist-link {
    white-space: nowrap;
  }
}

.menu__footer {
  flex: 0 0 100%;
  max-width: 100%;
}

.menu__control {
  display: flex;
}

.menu__control-item {}

.menu__control-item_favorites {
  flex: 0 0 calc(5 * 100% / 16);
  max-width: calc(5 * 100% / 16);
}

.menu__control-item_filter {
  flex: 0 0 calc(11 * 100% / 16);
  max-width: calc(11 * 100% / 16);
}

.menu__control-btn {
  border-color: transparent;
  background: none;
  color: inherit;
  margin-left: -3.5rem;
}

.menu__control-btn:hover {
  background-color: var(--main);
  color: #fff;
}

.menu__favorites-btn-icon {
  margin: -.5rem .6rem -.5rem 0;
  display: inline-block;
  vertical-align: middle;
}

.menu__favorites-btn-count {
  width: 4rem;
  height: 4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: -1.1rem 0 -1.1rem .7rem;
  border-radius: 50%;
  background: var(--main);
  color: #fff;
  transition: 0.15s ease-in-out;
}

.menu__favorites-btn:hover .menu__favorites-btn-count {
  background: #fff;
  color: var(--main);
}

.menu__footer-bottom {
  border-top: 1px solid #E7E7E7;
  padding-top: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 3.9rem;
  margin-top: 3.6rem;
}

.menu__contacts {
  font-size: 2.4rem;
}

.menu__contacts ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 10.5rem;
  row-gap: 2rem;
}

.menu__contacts a {
  color: #909090;
}

@media (min-width: 992px) {
  .menu {
    --step: .3s;
    opacity: 0;
    visibility: hidden;
    transition: calc(2 * var(--step)) ease-in-out;
    transition-property: opacity, visibility;
    transition-delay: calc(3 * var(--step));
  }

  html.is-menu-open .menu {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .menu__bg {
    transform: translateX(100%);
    transition: calc(2 * var(--step)) ease-in-out;
    transition-property: transform;
    transition-delay: calc(2 * var(--step));
  }

  html.is-menu-open .menu__bg {
    transform: translateX(0);
    transition-delay: 0s;
  }

  .menu__inner {
    opacity: 0;
    transform: translateX(133.33%);
    transition: calc(2 * var(--step)) ease-in-out;
    transition-property: opacity, transform;
    transition-delay: 0s;
  }

  html.is-menu-open .menu__inner {
    opacity: 1;
    transform: translateX(0);
    transition-delay: calc(2 * var(--step));
  }

  .menu__media {
    opacity: 0;
    transition: calc(1 * var(--step)) ease-in-out;
    transition-property: opacity;
    transition-delay: 0s;
  }

  html.is-menu-open .menu__media {
    opacity: 1;
    transition-duration: calc(4 * var(--step));
    transition-delay: calc(3 * var(--step));
  }

  .control-btn_burger,
  .menu__close {
    transition: transform 0.5s ease-in-out;
  }

  html.is-menu-open .control-btn_burger {
    transform: rotate(-90deg);
  }

  html:not(.is-menu-open) .menu__close {
    transform: rotate(90deg);
  }

  .nav__link[data-subnav-id]:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    border-bottom: 1px solid #000;
    transition: 0.5s ease-in-out;
  }

  .nav__link[data-subnav-id].is-active:after {
    width: 100%;
  }

  .nav__sub {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10rem);
    transition: 0.35s ease-in-out;
  }

  .nav__sub.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: .35s;
  }
}

.filter {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1002;
  background: #fff;
  padding-right: 41.67%;
}

.filter__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #272930;
}

.filter__close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  width: 10rem;
  height: 10rem;
  padding: 0;
  border: none;
  background: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  transition: transform .5s ease-in-out;
}

html.is-filter-open .filter__close .close-icon {
  transform: rotate(-90deg);
}

.filter__media {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 41.67%;
  background-color: #212026;
}

.filter__media-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease-in-out;
}

html.is-filter-open .filter__media-item.is-active {
  opacity: 1;
  visibility: visible;
}

.filter__map {
  width: 100%;
  height: 100%;
}

.filter__inner {
  position: relative;
  padding: 7.7rem 8rem 6.8rem;
  height: 100%;
  height: calc(var(--vh, 1vh) * 100);
  background: #fff;
  overflow: hidden;
  overflow-y: auto;
}

.filter__form {
  display: flex;
  flex-wrap: wrap;
}

.filter__header {
  flex: 0 0 100%;
  max-width: 100%;
  margin-bottom: 6.6rem;
}

.filter__header-row {
  display: flex;
}

.filter__title-col {
  flex: 0 0 calc(8 * 100% / 12);
  max-width: calc(8 * 100% / 12);
  padding-right: 16rem;
}

.filter__title {
  font-size: 5rem;
  line-height: 1.22
}

.filter__count-col {
  flex: 0 0 calc(4 * 100% / 12);
  max-width: calc(4 * 100% / 12);
}

.filter__count {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  min-width: 16rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(50%);
  transition: 0.25s ease-in-out;
}

.filter__count.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.filter__count-value {
  display: block;
  font-weight: 300;
  font-size: 10rem;
  line-height: 0.85;
  margin-bottom: 0.12em;
}

.filter__count-text {
  display: block;
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.23;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.filter__content {
  flex: 0 0 calc(8 * 100% / 12);
  max-width: calc(8 * 100% / 12);
  padding-right: 16rem;
}

.filter__nav {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.2;
}

.filter__nav-item {
  margin-bottom: 5.1rem;
}

.filter__nav-link {
  display: flex;
  padding: 0;
  border: none;
  background: none;
  width: 100%;
}

.filter__nav-text {
  flex-shrink: 0;
  margin-right: 5rem;
}

.filter__label {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.2;
  margin-bottom: 2.2rem;
}

.filter__price {
  margin-bottom: 3rem;
}

.ui-slider {
  height: 1px;
  border: none !important;
  background: #000;
  border-radius: 0;
}

.ui-slider .ui-slider-range {
  border-radius: 0;
  background: var(--main);
  top: 0;
  bottom: 0;
  height: auto;
}

.ui-slider .ui-slider-handle {
  width: 2.9rem;
  height: 2.9rem;
  top: 0;
  margin: 0;
  transform: translate(-50%, -50%);
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--main);
  outline: none;
  cursor: pointer;
}

.ui-slider .ui-slider-handle.ui-state-hover,
.ui-slider .ui-slider-handle.ui-state-active {
  background: #000;
}

.filter__range {}

.filter__range-slider-wrapper {
  padding: 1.4rem;
}

.filter__range-inputs {
  display: flex;
  margin-top: .7rem;
}

.filter__range-inputs-item {
  flex: 0 0 50%;
  max-width: 50%;
  border-left: 1px solid #000;
}

.filter__range-inputs-item:first-child {
  border-left: none;
}

input.filter__range-input {
  border: none;
  border-radius: 0;
  background-color: transparent;
  width: 100%;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 4.2rem;
  height: 4.2rem;
}

.filter__rooms {
  margin-bottom: 8.7rem;
}

.filter__rooms-list {
  display: flex;
  margin-right: 1px;
}

.filter__rooms-item {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 1px;
  position: relative;
}

.filter__rooms-input {
  position: absolute;
  opacity: 0;
}

.filter__rooms-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7.9rem;
  font-weight: 500;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
  border: 1px solid #000;
  border-width: 0 1px;
  margin-right: -1px;
}

.filter__rooms-btn:hover {
  color: var(--main);
}

.filter__rooms-input:checked~.filter__rooms-btn {
  background: var(--main);
  color: #fff;
}

.filter__buttons {
  display: flex;
  margin: 0 -1.1rem;
}

.filter__buttons-item {
  padding: 0 1.1rem;
}

.filter__button {
  min-width: 21.8rem;
}

.filter__aside {
  flex: 0 0 calc(4 * 100% / 12);
  max-width: calc(4 * 100% / 12);
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.22;
  margin-top: 0.5rem;
}

.filter__check {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.filter__check-header {
  display: none;
}

.filter__check-back-arrow {}

.filter__check-title {}

.filter__check-content {}

.filter__check-row {
  display: block;
  position: relative;
  cursor: pointer;
  margin-bottom: 3.4rem;
}

.filter__check-input {
  position: absolute;
  opacity: 0;
}

.filter__check-text {
  display: block;
  position: relative;
}

.filter__check-input:checked~.filter__check-text {
  font-weight: bold;
}

.filter__check-input:checked~.filter__check-text:before {
  content: '';
  position: absolute;
  left: -2.1rem;
  top: .3rem;
  width: 1.5rem;
  height: .8rem;
  border-width: 0 0 .2rem .2rem;
  border-style: solid;
  transform: rotate(-45deg);
}

.anim-check {
  
}

.anim-check__inner {
  display: block;
  position: relative;
  overflow: hidden;
}

.anim-check__content {
  display: block;
  transition: 0.25s ease-in-out;
}

.anim-check__content + .anim-check__content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  color: var(--main)
}

.anim-check:hover .filter__check-input:not(:checked) ~ .filter__check-text .anim-check__content {
  transform: translateY(-100%);
}

.anim-check:hover .filter__check-input:not(:checked) ~ .filter__check-text .anim-check__content + .anim-check__content {
  transform: translateY(0);
}

.filter__footer-count {
  display: none;
}

@media (min-width: 992px) {
  .filter {
    --step: .3s;
    opacity: 0;
    visibility: hidden;
    transition: calc(2 * var(--step)) ease-in-out;
    transition-property: opacity, visibility;
    transition-delay: calc(3 * var(--step));
  }

  html.is-filter-open .filter {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .filter__bg {
    transform: translateX(100%);
    transition: calc(2 * var(--step)) ease-in-out;
    transition-property: transform;
    transition-delay: calc(2 * var(--step));
  }

  html.is-filter-open .filter__bg {
    transform: translateX(0);
    transition-delay: 0s;
  }

  .filter__inner {
    opacity: 0;
    transform: translateX(133.33%);
    transition: calc(2 * var(--step)) ease-in-out;
    transition-delay: 0s;
  }

  html.is-filter-open .filter__inner {
    opacity: 1;
    transform: translateX(0);
    transition-property: opacity, transform;
    transition-delay: calc(2 * var(--step));
  }

  .filter__media {
    opacity: 0;
    transition: calc(1 * var(--step)) ease-in-out;
    transition-property: opacity;
    transition-delay: 0s;
  }

  html.is-filter-open .filter__media {
    opacity: 1;
    transition-duration: calc(4 * var(--step));
    transition-delay: calc(3 * var(--step));
  }

  .filter__nav-link:after {
    content: '';
    display: block;
    flex-grow: 1;
    min-width: 1px;
    border-bottom: 1px solid;
    position: relative;
    top: 0.6em;
    margin-right: -11.6rem;
    opacity: 0;
    transition: 0.5s ease-in-out;
  }

  .filter__nav-link.is-active:after {
    opacity: 1;
  }

  .filter__check {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10rem);
    transition: 0.35s ease-in-out;
  }

  .filter__check.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: .35s;
  }

  .filter__inner {
    overflow-y: overlay;
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
  }

  .filter__inner::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .filter__inner::-webkit-scrollbar-track {
    background-color: transparent;
  }

  .filter__inner::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}

.page-wrapper {
  flex-grow: 1;
  min-height: 1px;
}

.container {
  padding: 0 8rem;
}

.page {
  padding-top: 10rem;
}

.page-home {
  background-color: #000;
  color: #fff;
  padding-top: 0 !important;
}

.page-home__bg {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.page-home__bg video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-home__inner {
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-top: 14.5rem;
  padding-bottom: 12vh;
  position: relative;
}

.page-home__header {
  max-width: 100%;
  margin-bottom: 4.5rem;
}

.page-home__title {
  font-weight: 300;
  font-size: 8rem;
  line-height: 10rem;
  max-width: 120rem;
  margin: 0 auto;
}

.page-home__footer {
  max-width: 100%;
  margin-top: auto;
}

.page-home__filter-btn {
  padding: 2.85rem 3.7rem;
}

.page-home__filter-btn-text {}

.mob-filter-btn {
  border: none;
  padding: 0 2rem;
  background: #000;
  text-align: left;
  color: #fff;
  width: 100%;
  height: 4.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.catalog__mob-filter-btn {
  display: none;
}

.catalog {
  padding-top: 8rem;
}

.item {
  position: relative;
  margin-bottom: 8rem;
}

.item__main {}

.item__gallery-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  transition: 0.5s ease-in-out;
}

.item__gallery-header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(39, 38, 49, 0.4);
  color: #fff;
  z-index: 100;
  cursor: pointer;
  transition: 0.5s ease-in-out;
  user-select: none;
}

.item__gallery-header-inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 8rem 7.8rem 0;
  overflow: hidden;
}

@media (min-width: 992px) {
  .item.is-open .item__gallery-wrapper {
    width: calc(14 * 100% / 22);
  }

  .item.is-open .item__gallery-header {
    opacity: 0;
    visibility: hidden;
  }
}

.item .slick-arrow,
.item .slick-dots {
  transition: 0.15s ease-in-out;
}

.item:not(.is-open) .slick-arrow,
.item:not(.is-open) .slick-dots {
  opacity: 0 !important;
}

.item__gallery-title {
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 3.9rem;
  margin-bottom: 1.4rem;
}

.item__gallery-location {
  font-weight: 500;
  font-size: 2rem;
  line-height: 2.4rem;
  opacity: 0.7;
}

.item__gallery {
  height: 100%;
}

.item__gallery .slick-list,
.item__gallery .slick-track,
.item__gallery .slick-slide,
.item__gallery .slick-slide>div {
  height: 100%;
  width: 100% !important;
}

.item__gallery .slick-slide {
  position: absolute !important;
  left: 0 !important;
}

.item__gallery-item {
  height: 100%;
  background-color: #000;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.item__gallery-item+.item__gallery-item {
  display: none;
}

.item__main-inner {
  width: calc(8 * 100% / 22);
  margin-left: auto;
  padding: 10rem 0 6rem 8rem;
  min-height: 55rem;
  position: relative;
}

.item__close {
  position: absolute;
  border: none;
  padding: 0;
  background: none;
  left: calc(14 * 100% / 22 + 7.2rem);
  top: 2.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  font-size: 3rem;
  z-index: 1;
  transition: .5s ease-in-out;
}

.item.is-open .item__close {
  transform: rotate(-90deg);
}

.item__header {
  margin-bottom: 6.5rem;
}

@media (min-width: 992px) {
  .item__header {
    background: none !important;
  }
}

.item__header-content {}

.item__title {
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.233;
  letter-spacing: -0.02em;
  margin-bottom: 1.7rem;
}

.item__location {
  font-weight: 500;
  font-size: 1.9rem;
  line-height: 1.21;
  color: #909090;
}

.item__location .icon {
  top: -.2rem;
}

.item__content {}

.item__data {
  display: flex;
  margin-bottom: 2.5rem;
}

.item__data-item {
  border-right: 1px solid #A9A9A9;
  padding: 0 4rem;
}

.item__data-item:first-child {
  padding-left: 0;
}

.item__data-item:last-child {
  padding-right: 0;
  border-right: none;
}

.item__data-title {
  font-weight: 600;
  font-size: 1.3rem;
  line-height: 1.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #919191;
  margin-bottom: 0.4rem;
}

.item__data-description {
  font-weight: 500;
  font-size: 3.5rem;
  line-height: 4.3rem;
}

.item__price {
  font-weight: 500;
  font-size: 3.5rem;
  line-height: 4.3rem;
  margin-bottom: 4.8rem;
}

.item__btn-row {}

.item__btn {
  position: relative;
  z-index: 1;
  background: none !important;
  border: none;
}

.item__btn:before,
.item__btn:after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  transition: .5s ease-in-out;
}

.item__btn:hover:before,
.item__btn:not(:hover):after {
  opacity: 0;
  width: 0;
}

.item__btn:before {
  background: #000;
}

.item__btn:after {
  background: var(--main);
}

.page-detail {
  padding-top: 0 !important;
}

.detail {
  --header-height: 10rem;
  position: relative;
  z-index: 1010;
  background: #fff;
  padding-top: 100vh;
}

.detail__control {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1011;
  display: flex;
}

.detail__control-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  background: #1C1C1F;
  color: #fff;
  flex-shrink: 0;
  width: 10rem;
  height: 10rem;
  cursor: pointer;
}

.detail__control-btn:hover,
.detail__control-btn.active {
  background: #2A2931;
  color: var(--main);
}

.detail__favorite-btn {}

.detail__close-btn {
  font-size: 3rem;
}

.detail__cover {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: flex;
  align-items: center;
  z-index: -1;
  background-color: #000;
  color: #fff;
}

.detail__cover-bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.detail__cover-bg:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.detail__cover-inner {
  width: 100%;
  position: relative;
}

.detail__cover-content {
  text-align: center;
  margin: 0 auto;
  max-width: 90%;
}

.detail__cover-title {
  font-weight: 500;
  font-size: 6rem;
  line-height: 1.18;
  letter-spacing: 0.2em;
  margin: 0;
  text-transform: uppercase;
}

.detail__cover-scroll {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 2.2rem;
  height: 3.4rem;
  border-radius: 2rem;
  border: 1px solid #fff;
  animation: scroll-icon 1.5s linear infinite;
}

.detail__cover-scroll span {
  position: absolute;
  top: .6rem;
  left: 50%;
  transform: translateX(-50%);
  border-radius: .2rem;
  width: .2rem;
  height: .5rem;
  background-color: #fff;
  animation: scroll-icon-dott 1.5s ease infinite;
  transform-origin: top center;
}

@keyframes scroll-icon {

  0%,
  100% {
    transform: translateY(0) translateX(-50%);
  }

  75% {
    transform: translateY(.3rem) translateX(-50%);
  }
}

@keyframes scroll-icon-dott {

  0%,
  100% {
    transform: scaleY(1) translateX(-50%);
  }

  75% {
    transform: scaleY(2) translateX(-50%);
  }
}

.detail__cover-back {
  position: absolute;
  left: 0;
  top: 0;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1rem;
  padding: 0 4.8rem;
  font-size: 1.7rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.29em;
  color: inherit;
}

.detail__cover-back:hover {
  color: inherit;
}

.detail__cover-back-arrow {
  width: 3.7rem;
  display: inline-flex;
  overflow: hidden;
  vertical-align: middle;
  position: relative;
  transition: width .25s ease-in-out;
}

@media (min-width: 992px) {
  .detail__cover-back:hover .detail__cover-back-arrow {
    width: 4.5rem;
  }
}

.detail__cover-swipe {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: 0.29em;
  text-transform: uppercase;
  text-align: center;
}

.detail__cover-swipe .icon {
  animation: swipe-icon 1.5s linear infinite;
}

@keyframes swipe-icon {
  0%,
  100% {
    transform: translateY(0);
  }

  75% {
    transform: translateY(.5rem);
  }
}

.detail__header {
  height: var(--header-height);
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  border-bottom: 1px solid #000;
}

.detail__header-back {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: var(--header-height);
  border-right: 1px solid #000;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.detail__header-back:before {
  background: #F3F3F3;
}

.detail__header-swipe {
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.29em;
  text-transform: uppercase;
  color: #acacac;
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.detail__header-swipe .icon {
  animation: swipe-icon 1.5s linear infinite;
}

.detail__header-aside {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: calc(8 * 100% / 24);
  display: flex;
}

.detail__header-btn {
  flex-grow: 1;
  min-width: 1px;
  font-size: 1.8rem;
  letter-spacing: 0.34em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.detail__header-favorite-btn {
  flex-shrink: 0;
  width: var(--header-height);
  height: 100%;
  border: none;
  background: #fff;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.detail__header-favorite-btn:before {
  background: #F3F3F3;
}

.detail__header-favorite-btn.active {
  --fill: var(--main);
  color: var(--main);
}

.detail__content {
  position: relative;
  background: #fff;
}

.detail__main {
  position: relative;
}

.detail__main-image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: calc(8 * 100% / 24);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #000;
}

.detail__main-inner {
  min-height: calc(100vh - var(--header-height));
  position: relative;
  padding-right: calc(8 * 100% / 22);
  display: flex;
  align-items: center;
}

.detail__main-content {
  width: 100%;
  padding: 8rem calc(3 * 100% / 14) 8rem calc(2 * 100% / 14);
}

.detail__main-header {
  position: relative;
  padding-bottom: 12.5rem;
  margin-bottom: 4.9rem;
}

.detail__main-header:after {
  content: '';
  position: absolute;
  left: 8rem;
  bottom: 0;
  height: 10rem;
  border-left: 1px solid;
}

.detail__main-title {
  margin: 0;
}

.detail__main-text {}

.detail__desc {
  background: #1C1C1F;
  color: #fff;
  position: relative;
}

.detail__desc:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(9 * 100% / 24);
  background: #212127;
}

.detail__desc-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding-left: calc(3 * 100% / 22);
  padding-top: 11.5rem;
  padding-bottom: 21.5rem;
}

.detail__desc-header {
  flex: 0 0 100%;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8.6rem;
}

.detail__desc-title {
  margin: 0;
  font-weight: 500;
  font-size: 4rem;
  line-height: 4.9rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
}

.detail__desc-location,
.detail__desc-options {
  padding: 0;
  border: none;
  background: none;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.6rem;
  letter-spacing: 0.145em;
  text-transform: uppercase;
}

.detail__desc-location:hover,
.detail__desc-options:hover {
  color: var(--main);
}

.detail__desc-location .icon,
.detail__desc-options .icon {
  margin-right: .5rem;
  top: -.1rem;
}

.detail__desc-aside {
  flex: 0 0 calc(5 * 100% / 19);
  max-width: calc(5 * 100% / 19);
}

.detail__data {}

.detail__data-item {
  margin-bottom: 2.5rem;
}

.detail__data-title {
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.6rem;
  text-transform: uppercase;
  color: #747474;
}

.detail__data-value {
  margin: 0;
  font-weight: 500;
  font-size: 5rem;
  line-height: 6.1rem;
  color: var(--main);
}

.detail__data-value small {
  font-size: .6em;
}

.detail__desc-content {
  flex: 0 0 calc(14 * 100% / 19);
  max-width: calc(14 * 100% / 19);
}

.detail__desc-content-inner {
  padding-left: calc(2 * 100% / 14);
  padding-right: calc(1 * 100% / 14);
}

.detail__options {}

.detail__options-title {}

.detail__options-list {
  margin: 0;
  padding: 0;
  list-style: none;
  column-count: 2;
  column-gap: 8rem;
  line-height: 3rem;
  color: #C6C6C6;
  margin-top: -1.7rem;
}

.detail__options-list li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  border-bottom: 1px solid #353539;
  padding-bottom: 1.2rem;
  padding-top: 1.7rem;
}

.detail__desc-footer {
  display: none;
}

.detail__gallery {
  padding-top: 8rem;
}

.detail__gallery-item {
  text-align: center;
  margin-bottom: 8rem;
}

.detail__gallery-item img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

.detail__footer {
  position: relative;
}

.detail__footer-image {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(11 * 100% / 24);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.detail__footer-header {
  margin-left: auto;
  width: calc(12 * 100% / 22);
  padding: 9.2rem 16rem 8.8rem;
}

.detail__footer-text {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.5;
}

.detail__footer-callback {
  margin-right: -8rem;
  margin-left: auto;
  width: calc(19 * 100% / 22);
  position: relative;
  background: #1C1C1F;
  color: #fff;
  padding: 8.6rem 8rem 10rem;
}

.detail__callback {
  display: flex;
  margin: 0 -4rem;
}

.detail__callback-header {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
}

.detail__callback-title {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 5rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.detail__callback-price {
  margin-top: 2rem;
}

.detail__callback-header-footer {
  margin-top: auto;
}

.detail__price {
  font-weight: 300;
  font-size: 8rem;
  line-height: 8.4rem;
}

.detail__callback-content {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 4rem;
}

.detail__form {
  max-width: 48rem;
}

.detail__map {
  width: 100%;
  height: 100%;
}

.gm-style .gm-style-iw {
  max-width: 40rem !important;
  font-size: 1.6rem !important;
  line-height: 2.5rem !important;
}

.gm-style .gm-style-iw h3 {
  margin-bottom: 2rem;
}

.map-popup {
  position: fixed;
  z-index: 9999;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #343332;
}

.map-popup__close-btn {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  background: #1C1C1F;
  color: #fff;
  width: 10rem;
  height: 10rem;
  cursor: pointer;
  font-size: 3rem;
  z-index: 100;
}

.map-popup__close-btn:hover {
  background: #2A2931;
  color: var(--main);
}

.detail__map-wrapper {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  backface-visibility: hidden;
  transition: 0.35s ease-in-out;
}

.detail__map-wrapper.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.contacts {
  position: relative;
}

.contacts__content {
  min-height: calc(100vh - 10rem);
  width: calc(9 * 100% / 24);
  padding: 4.4rem 0;
}

.contacts__title {
  margin-bottom: 8.2rem;
}

.contacts__nav {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8.9rem;
}

.contacts__nav-btn {
  display: inline-block;
  padding: 0 0 0.2rem;
  margin-right: 4.3rem;
  background: none;
  border: none;
  border-bottom: .3rem solid transparent;
}

.contacts__nav-btn.is-active {
  border-bottom-color: var(--main);
}

.contacts__items {}

.contacts__item {
  display: none;
  line-height: 2.8rem;
}

.contacts__item p {
  margin-bottom: 1.9rem;
}

.contacts__item.is-active {
  display: block;
}

.contacts__footer {
  display: none;
}

.contacts__map-btn {}

.contacts__maps {
  position: fixed;
  left: calc(9 * 100% / 24);
  right: 0;
  top: 10rem;
  bottom: 0;
  background: #000;
}

.contacts__map {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
}

.contacts__map.is-active {
  display: block;
}

@media (min-width: 992px) {
  .contacts__maps-wrapper {
    position: static;
    background: none;
  }

  .contacts__maps-close-btn {
    display: none;
  }
}

.text-page {
  padding-top: 8.7rem;
  padding-bottom: 4rem;
}

.text-page__content {
  max-width: 112rem;
  margin: 0 auto;
}

.transition {
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: #C9C9C9;
  line-height: 1.22;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 100001;
  background: #fff;
  display: flex;
  align-items: center;
  font-weight: 300;
  transform: translateX(-100%);

}

html.is-loading .transition {
  transform: translateX(0);
  transition: 1s ease-in-out;
}

html.is-loaded .transition {
  transform: translateX(100%);
  transition: 1s ease-in-out;
}

.transition__inner {
  width: 100%;
}

.transition__main-title {
  font-size: 5rem;
  letter-spacing: 0.505em;
}

.transition__main-logo {
  font-size: 1rem;
  margin-bottom: 5rem;
}

.transition__main-text {
  font-weight: normal;
  margin-top: 2.5rem;
  font-size: 2.2rem;
  letter-spacing: 0.5em;
}

.detail__gallery-more-btn-row {
  text-align: center;
  margin: -5rem 0 3rem;
}

.detail__gallery-more-btn-row:not(.is-visible) {
  display: none;
}

.detail-callback-popup {
  display: none;
}

.detail-callback-btn {
  display: none;
}