body,
html {
  margin: 0;
  padding: 0;
  user-select: none;
  overscroll-behavior: none;
}
html {
  border-collapse: collapse;
}
*,
html {
  box-sizing: border-box;
}
* {
  border-collapse: inherit;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
*,
:after,
:before {
  box-sizing: inherit;
}
menu,
ol,
ul {
  list-style: none;
}
li,
menu,
ol,
ul {
  margin: 0;
  padding: 0;
}
a {
  outline: none;
  color: inherit;
  text-decoration: none;
}
img {
  width: 100%;
  border: none;
  display: block;
  pointer-events: none;
}
pre {
  margin: 16.66vw;
}
p,
small {
  padding: 0;
}
figure,
form,
p,
small {
  margin: 0;
}
fieldset {
  border: none;
  margin: 0;
  padding: 0;
}
blockquote,
h1,
h2,
h3,
h4,
h5,
p {
  margin: 0;
  font-weight: 400;
}
hr {
  margin: 0;
  border: 0;
}
button {
  padding: 0;
  border: none;
  outline: none;
}
body {
  color: #3a3636;
  font-family: Suisse BP Int;
}
body,
html {
  width: 100%;
}
.is__native.y__scroll {
  overflow-y: scroll;
  overflow-x: hidden;
}
.a__scroll {
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: auto;
  margin: auto;
  position: fixed;
  will-change: transform;
}
.a__device .a__scroll {
  top: unset;
  left: unset;
  right: unset;
  position: relative;
}
.a__container {
  width: 1px;
  pointer-events: none;
}
@font-face {
  font-family: Suisse BP Int;
  src: url(../fonts/SuisseBPIntl-Medium.woff2) format("woff2"),
    url(../fonts/SuisseBPIntl-Medium.woff) format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: Suisse BP Int;
  src: url(../fonts/SuisseBPIntl-Regular.woff2) format("woff2"),
    url(../fonts/SuisseBPIntl-Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Suisse BP Int;
  src: url(../fonts/SuisseBPIntl-Light.woff2) format("woff2"),
    url(../fonts/SuisseBPIntl-Light.woff) format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Roos St Regis Display;
  src: url(../fonts/RoosStRegisDisplay-Regular.woff2) format("woff2"),
    url(../fonts/RoosStRegisDisplay-Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Roos St Regis Text;
  src: url(../fonts/RoosStRegisText-Italic.woff2) format("woff2"),
    url(../fonts/RoosStRegisText-Italic.woff) format("woff");
  font-weight: 400;
  font-style: italic;
}
.a__container,
section {
  position: relative;
}
.image__src {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}
.js__modal {
  cursor: pointer;
}
.js__parallax {
  will-change: transform;
  backface-visibility: hidden;
}
.a__main {
  width: 100vw;
  overflow: hidden;
}
.is-scrolling {
  pointer-events: none;
}
.js__split span {
  position: relative;
  display: inline-block;
  will-change: transform;
}
::-webkit-scrollbar {
  display: none !important;
  color: #fff !important;
  height: 0 !important;
  width: 0 !important;
}
.heading__xxl {
  font-size: 9.028vw;
  font-weight: 400;
  line-height: 9.028vw;
  letter-spacing: -0.2vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .heading__xxl {
    font-size: 14.667vw;
    line-height: 14.667vw;
  }
}
@media only screen and (max-width: 580px) {
  .heading__xxl br {
    display: none;
  }
}
.heading__xl {
  font-size: 6.25vw;
  font-weight: 400;
  line-height: 6.25vw;
  letter-spacing: -0.18vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .heading__xl {
    font-size: 14.667vw;
    line-height: 14.667vw;
  }
}
.heading__l,
.modal__text h2 {
  font-size: 3.472vw;
  font-weight: 400;
  letter-spacing: -0.061vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .heading__l,
  .modal__text h2 {
    font-size: 7.467vw;
  }
}
.count__l {
  width: 1.9vw;
  font-size: 3.472vw;
  font-weight: 400;
  line-height: 3.958vw;
  letter-spacing: -0.061vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .count__l {
    font-size: 13.333vw;
    line-height: 9.333vw;
  }
}
.count__s {
  line-height: 4vw;
  font-size: 1.042vw;
}
@media only screen and (max-width: 580px) {
  .count__s {
    font-size: 2.933vw;
    line-height: 9.333vw;
  }
}
.count__s:before {
  content: "/";
  padding: 0 0.2vw;
}
@media only screen and (max-width: 580px) {
  .count__s:before {
    padding: 0 1vw 0 6vw;
  }
}
.heading__r,
.modal__text h3 {
  font-size: 2.083vw;
  font-weight: 400;
  line-height: 2.083vw;
  letter-spacing: -0.002vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .heading__r,
  .modal__text h3 {
    font-size: 7.467vw;
    line-height: 8.533vw;
  }
}
.heading__s {
  font-size: 1.389vw;
  font-weight: 400;
  line-height: 1.389vw;
  letter-spacing: -0.001vw;
  font-family: Roos St Regis Display;
}
.heading__m,
.s__tab .tab__nav .list__item {
  font-size: 1.111vw;
  font-weight: 400;
  line-height: 1.111vw;
  letter-spacing: 0.15vw;
  text-transform: uppercase;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .heading__m,
  .s__tab .tab__nav .list__item {
    font-size: 4vw;
    line-height: 4vw;
  }
}
.marquee__r {
  color: #ff4338;
  font-size: 27.778vw;
  font-weight: 400;
  line-height: 27.778vw;
  letter-spacing: -0.5vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .marquee__r {
    font-size: 38.667vw;
    line-height: 38.667vw;
  }
}
.blockquote__r {
  font-size: 2.083vw;
  font-style: italic;
  font-weight: 400;
  line-height: 2.917vw;
  font-family: Roos St Regis Text;
}
.a__menu .menu__button,
.a__nav .sub__item,
.chapeau__r {
  font-weight: 500;
  font-size: 0.764vw;
  line-height: 0.764vw;
  letter-spacing: 0.208vw;
  text-transform: uppercase;
  margin-bottom: 3.472vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .menu__button,
  .a__nav .sub__item,
  .chapeau__r {
    font-size: 2.933vw;
    line-height: 2.933vw;
    margin-bottom: 8vw;
  }
}
.divider__r {
  height: 1px;
  width: 8.33vw;
  margin: 2.8vw 0;
  background: #ff4338;
  text-align: left;
}
@media only screen and (max-width: 580px) {
  .divider__r {
    width: 16.533vw;
    margin: 6.667vw 0;
  }
}
.divider__s {
  height: 1px;
  width: 5.556vw;
  margin: 2.8vw 0;
  background: #ff4338;
}
.paragraph__l {
  font-weight: 400;
  font-size: 1.389vw;
  line-height: 2.222vw;
  letter-spacing: 0.056vw;
}
@media only screen and (max-width: 580px) {
  .paragraph__l {
    font-size: 4.8vw;
    line-height: 7.2vw;
  }
}
.a__nav .contact__item,
.modal__head p,
.modal__text li,
.modal__text p,
.modal__text td,
.modal__text th,
.paragraph__r,
.s__partnerships .partners__partner p,
.s__rooms .categories__category p,
.s__tab li,
.s__tab p {
  font-weight: 300;
  font-size: 1.042vw;
  line-height: 1.875vw;
  letter-spacing: 0.05vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .contact__item,
  .modal__head p,
  .modal__text li,
  .modal__text p,
  .modal__text td,
  .modal__text th,
  .paragraph__r,
  .s__partnerships .partners__partner p,
  .s__rooms .categories__category p,
  .s__tab li,
  .s__tab p {
    font-size: 4vw;
    line-height: 6.4vw;
  }
}
.link__r {
  font-weight: 300;
  font-size: 1.042vw;
  line-height: 1.875vw;
  letter-spacing: 0.05vw;
}
@media only screen and (max-width: 580px) {
  .link__r {
    font-size: 4vw;
    line-height: 6.4vw;
  }
}
.link__r:before {
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background: #000;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}
.link__r:hover:before {
  transform: scaleX(1);
  transform-origin: left;
}
.button__b {
  color: #fff;
  cursor: pointer;
  width: 12.153vw;
  height: 3.819vw;
  background: #ff4338;
  font-weight: 500;
  font-size: 0.764vw;
  text-align: center;
  line-height: 4vw;
  display: inline-block;
  letter-spacing: 0.208vw;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .button__b {
    width: 42.667vw;
    height: 13.333vw;
    font-size: 2.933vw;
    line-height: 13.333vw;
  }
}
.button__c {
  width: 5.833vw;
  height: 5.833vw;
  z-index: 5;
  cursor: pointer;
  appearance: none;
  position: absolute;
  background: transparent;
  border: 1px solid rgba(58, 54, 54, 0.2);
  background-size: 1.389vw;
  background-position: 50%;
  background-repeat: no-repeat;
  background-image: url(../svg/icon-close.svg);
}
@media only screen and (max-width: 580px) {
  .button__c {
    top: 8.33vw;
    right: 8.33vw;
    width: 13.333vw;
    height: 13.333vw;
    background-size: 4vw;
  }
}
.button__r {
  height: 2.778vw;
  line-height: 2.778vw;
  color: #ff4338;
  display: block;
  cursor: pointer;
  position: relative;
  padding-left: 3.5vw;
  font-weight: 500;
  font-size: 0.764vw;
  letter-spacing: 0.208vw;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .button__r {
    height: 8vw;
    line-height: 8vw;
    font-size: 2.933vw;
    padding-left: 9vw;
  }
}
.button__r:hover svg {
  fill: #fff;
  transform: translateX(0.3vw);
}
.button__r:hover svg rect {
  transform: scaleX(0.5);
}
.button__r:hover span {
  transform: translateX(0.5vw);
}
.button__r:hover:after,
.button__r:hover:before {
  transform: rotate(-45deg) scale(1.2);
}
.button__r:after,
.button__r:before,
.button__r span {
  display: block;
  will-change: transform;
  transition: transform 0.25s ease-out;
}
.button__r:after,
.button__r:before {
  left: 0;
  top: 0.27vw;
  width: 1.944vw;
  height: 1.944vw;
  content: "";
  position: absolute;
  transform: rotate(45deg);
}
.button__r svg {
  top: 0.95vw;
  left: -0.95vw;
  width: 2.153vw;
  height: 0.556vw;
  fill: #ff4338;
  z-index: 1;
  position: absolute;
  transition: all 0.25s ease-out;
}
@media only screen and (max-width: 580px) {
  .button__r svg {
    top: 2.2vw;
    left: -3vw;
    width: 6.667vw;
    height: 2.667vw;
  }
}
.button__r svg rect {
  will-change: transform;
  transform-origin: right center;
  transition: transform 0.25s ease-out;
}
.button__r:after {
  background: #ff4338;
  transform: scale(0.01) rotate(45deg);
}
@media only screen and (max-width: 580px) {
  .button__r:after {
    top: 1vw;
    width: 5.333vw;
    height: 5.333vw;
  }
}
.button__r:before {
  border: 1px solid #ff4338;
}
@media only screen and (max-width: 580px) {
  .button__r:before {
    top: 1vw;
    width: 5.333vw;
    height: 5.333vw;
  }
}
.bullets__list {
  display: flex;
}
.bullets__list .list__item {
  width: 2.083vw;
  height: 2.083vw;
  display: block;
  cursor: pointer;
  position: relative;
  border-radius: 100%;
  margin-right: 0.694vw;
  text-indent: 4vw;
  font-size: 1.389vw;
  line-height: 2.083vw;
  letter-spacing: -0.005vw;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .bullets__list .list__item {
    width: 6.667vw;
    height: 6.667vw;
    margin-right: 1.867vw;
  }
}
.bullets__list .list__item svg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  transform: rotate(-90deg);
}
.bullets__list .list__item svg circle {
  fill: none;
  stroke: #ff4338;
  stroke-width: 1;
  stroke-miterlimit: 10;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}
@keyframes timer {
  to {
    stroke-dashoffset: 0;
  }
}
.bullets__list .list__item:last-of-type {
  margin-right: 0;
}
.bullets__list .list__item:before {
  top: 50%;
  left: 50%;
  content: "";
  width: 0.486vw;
  height: 0.486vw;
  position: absolute;
  background: #ccc;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media only screen and (max-width: 580px) {
  .bullets__list .list__item:before {
    width: 1.467vw;
    height: 1.467vw;
  }
}
.bullets__list .list__item.is__active:before {
  background: #fff;
}
.bullets__list .list__item.is__active svg circle {
  animation: timer 8s linear forwards;
}
.s__album {
  position: relative;
  margin: 0 16.667vw 17.361vw;
}
@media only screen and (max-width: 580px) {
  .s__album {
    margin: 0 8vw 26.667vw;
  }
}
.a__nav .s__album .contact__item,
.modal__head .s__album p,
.modal__text .s__album li,
.modal__text .s__album p,
.modal__text .s__album td,
.modal__text .s__album th,
.s__album .a__nav .contact__item,
.s__album .modal__head p,
.s__album .modal__text li,
.s__album .modal__text p,
.s__album .modal__text td,
.s__album .modal__text th,
.s__album .paragraph__r,
.s__album .s__partnerships .partners__partner p,
.s__album .s__rooms .categories__category p,
.s__album .s__tab li,
.s__album .s__tab p,
.s__partnerships .partners__partner .s__album p,
.s__rooms .categories__category .s__album p,
.s__tab .s__album li,
.s__tab .s__album p {
  position: relative;
  margin-top: 3.472vw;
  padding: 0 11.111vw 0 16.667vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__album .contact__item,
  .modal__head .s__album p,
  .modal__text .s__album li,
  .modal__text .s__album p,
  .modal__text .s__album td,
  .modal__text .s__album th,
  .s__album .a__nav .contact__item,
  .s__album .modal__head p,
  .s__album .modal__text li,
  .s__album .modal__text p,
  .s__album .modal__text td,
  .s__album .modal__text th,
  .s__album .paragraph__r,
  .s__album .s__partnerships .partners__partner p,
  .s__album .s__rooms .categories__category p,
  .s__album .s__tab li,
  .s__album .s__tab p,
  .s__partnerships .partners__partner .s__album p,
  .s__rooms .categories__category .s__album p,
  .s__tab .s__album li,
  .s__tab .s__album p {
    margin-top: 8vw;
    padding: 0 0 0 25.333vw;
  }
}
.a__nav .s__album .contact__item:before,
.modal__head .s__album p:before,
.modal__text .s__album li:before,
.modal__text .s__album p:before,
.modal__text .s__album td:before,
.modal__text .s__album th:before,
.s__album .a__nav .contact__item:before,
.s__album .modal__head p:before,
.s__album .modal__text li:before,
.s__album .modal__text p:before,
.s__album .modal__text td:before,
.s__album .modal__text th:before,
.s__album .paragraph__r:before,
.s__album .s__partnerships .partners__partner p:before,
.s__album .s__rooms .categories__category p:before,
.s__album .s__tab li:before,
.s__album .s__tab p:before,
.s__partnerships .partners__partner .s__album p:before,
.s__rooms .categories__category .s__album p:before,
.s__tab .s__album li:before,
.s__tab .s__album p:before {
  left: 0;
  top: 0.5vw;
  height: 1px;
  width: 6.944vw;
  content: "";
  background: #ff4338;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__album .contact__item:before,
  .modal__head .s__album p:before,
  .modal__text .s__album li:before,
  .modal__text .s__album p:before,
  .modal__text .s__album td:before,
  .modal__text .s__album th:before,
  .s__album .a__nav .contact__item:before,
  .s__album .modal__head p:before,
  .s__album .modal__text li:before,
  .s__album .modal__text p:before,
  .s__album .modal__text td:before,
  .s__album .modal__text th:before,
  .s__album .paragraph__r:before,
  .s__album .s__partnerships .partners__partner p:before,
  .s__album .s__rooms .categories__category p:before,
  .s__album .s__tab li:before,
  .s__album .s__tab p:before,
  .s__partnerships .partners__partner .s__album p:before,
  .s__rooms .categories__category .s__album p:before,
  .s__tab .s__album li:before,
  .s__tab .s__album p:before {
    width: 16.533vw;
  }
}
.s__album .button__r {
  margin-right: 5.556vw;
  display: inline-block;
}
@media only screen and (max-width: 580px) {
  .s__album .button__r {
    margin-bottom: 4vw;
    margin-right: 12.556vw;
  }
}
.s__album .button__r:last-child {
  margin-right: 0;
}
.s__album .album__links {
  text-align: center;
}
@media only screen and (max-width: 580px) {
  .s__album .album__links {
    text-align: left;
  }
}
.s__album .album__logo {
  left: 50%;
  top: 3.472vw;
  z-index: 5;
  width: 10.417vw;
  height: 8.333vw;
  position: absolute;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-position: 50%;
  background-image: url(../svg/st-regis-black.svg);
}
@media only screen and (max-width: 580px) {
  .s__album .album__logo {
    top: 21.333vw;
    width: 33.333vw;
    height: 26.667vw;
  }
}
.s__album .album__heading {
  padding-top: 21.528vw;
  margin-left: 11.111vw;
  margin-bottom: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__album .album__heading {
    margin-left: 0;
    padding-top: 70.528vw;
    margin-bottom: 10.667vw;
  }
}
.s__album .album__image {
  width: 66.667vw;
  height: 37.153vw;
  display: block;
  position: relative;
  margin-bottom: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__album .album__image {
    width: 100%;
    height: 47.153vw;
    margin-bottom: 10.667vw;
  }
}
.a__background {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  will-change: background-color;
  transition: background-color 0.5s cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
[class*="__color"] {
  top: 50%;
  height: 1px;
  width: 100%;
  position: absolute;
}
.s__brand-values {
  margin: 17.361vw 11.111vw;
}
.s__brand-values .heading__xl {
  opacity: 0;
  will-change: opacity;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .heading__xl {
    opacity: 1;
  }
}
@media only screen and (max-width: 580px) {
  .s__brand-values {
    margin: 26.667vw 8vw;
  }
}
.s__brand-values .button__r {
  display: block;
  margin-top: 3.472vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .button__r {
    margin-top: 8vw;
  }
}
.s__brand-values .brand-values__sticky {
  top: 0;
  left: 0;
  z-index: 3;
  position: absolute;
  will-change: transform;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .brand-values__sticky {
    top: unset;
    left: unset;
    position: relative;
    margin-bottom: 13.333vw;
  }
}
.s__brand-values .brand-values__count {
  height: 3.472vw;
  line-height: 3.472vw;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .brand-values__count {
    display: none;
  }
}
.s__brand-values .blocks__block {
  width: 100%;
  display: table;
  position: relative;
  margin-bottom: 16.667vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .blocks__block {
    margin-bottom: 26.667vw;
  }
}
@media only screen and (max-width: 580px) {
  .s__brand-values .blocks__block:last-of-type {
    margin-bottom: 0;
  }
}
.s__brand-values .block__landscape {
  position: relative;
}
.s__brand-values .block__landscape .block__text {
  margin-left: 38.889vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .block__landscape .block__text {
    margin: -8vw 8vw 0;
  }
}
.s__brand-values .block__landscape .block__image {
  width: 55.556vw;
  height: 36.111vw;
  margin-left: 33.333vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .block__landscape .block__image {
    margin: 0;
    width: 100%;
    height: 65.067vw;
  }
}
.s__brand-values .block__portrait {
  position: relative;
}
.s__brand-values .block__portrait .block__text {
  margin-left: 33.333vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .block__portrait .block__text {
    margin: -8vw 8vw 0;
  }
}
.s__brand-values .block__portrait .block__image {
  width: 50vw;
  height: 77.778vw;
  margin-left: 38.889vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .block__portrait .block__image {
    margin: 0;
    width: 100%;
    height: 129.333vw;
  }
}
.s__brand-values .block__text {
  z-index: 1;
  width: 33.333vw;
  padding: 5.556vw;
  background: #fff;
  position: relative;
  margin-top: -15.972vw;
}
@media only screen and (max-width: 580px) {
  .s__brand-values .block__text {
    width: auto;
    padding: 8vw;
    margin-top: -8vw;
  }
}
.a__menu .s__brand-values .block__text .menu__button,
.a__nav .s__brand-values .block__text .sub__item,
.s__brand-values .block__text .a__menu .menu__button,
.s__brand-values .block__text .a__nav .sub__item,
.s__brand-values .block__text .chapeau__r {
  margin: 0;
  height: 1px;
  visibility: hidden;
}
.s__brand-values .block__image {
  overflow: hidden;
  background: #fff;
  position: relative;
}
.s__brand-values .image__src {
  top: -15%;
  height: 110%;
  will-change: transform;
}
.s__calendar {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__calendar {
    margin: 26.667vw 0;
  }
}
.s__calendar .calendar__heading {
  margin-bottom: 13.889vw;
}
@media only screen and (max-width: 580px) {
  .s__calendar .calendar__heading {
    margin: 0 8vw 16vw;
  }
}
.a__menu .s__calendar .calendar__heading .menu__button,
.a__nav .s__calendar .calendar__heading .sub__item,
.s__calendar .calendar__heading .a__menu .menu__button,
.s__calendar .calendar__heading .a__nav .sub__item,
.s__calendar .calendar__heading .chapeau__r,
.s__calendar .calendar__heading .heading__xxl {
  margin-left: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .s__calendar .calendar__heading .menu__button,
  .a__nav .s__calendar .calendar__heading .sub__item,
  .s__calendar .calendar__heading .a__menu .menu__button,
  .s__calendar .calendar__heading .a__nav .sub__item,
  .s__calendar .calendar__heading .chapeau__r,
  .s__calendar .calendar__heading .heading__xxl {
    margin-left: unset;
  }
}
.s__calendar .calendar__heading .divider__r {
  margin-bottom: unset;
}
.s__calendar .calendar__events {
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__calendar .calendar__events {
    margin: 0 8vw;
  }
}
.a__menu .s__calendar .calendar__events .menu__button,
.a__nav .s__calendar .calendar__events .sub__item,
.s__calendar .calendar__events .a__menu .menu__button,
.s__calendar .calendar__events .a__nav .sub__item,
.s__calendar .calendar__events .chapeau__r {
  margin-bottom: 1.736vw;
}
.s__calendar .events__event {
  width: 100%;
  display: table;
  margin: 5.556vw 0;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__calendar .events__event {
    display: block;
    margin: 16vw 0;
  }
}
.s__calendar .events__event:first-of-type {
  margin-top: unset;
}
.s__calendar .events__event:last-of-type {
  margin-bottom: unset;
}
.s__calendar .event__text {
  top: 50%;
  left: -5.556vw;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  width: 38.889vw;
  padding: 5.556vw;
  background: #fff;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__calendar .event__text {
    top: unset;
    left: unset;
    display: block;
    flex-wrap: unset;
    width: auto;
    padding: 0;
    position: relative;
    transform: unset;
  }
}
.s__calendar .event__date {
  flex-basis: 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__calendar .event__date {
    width: 25.333vw;
    padding-top: 8vw;
    background: #fff;
    transform: translateY(-99%);
  }
}
@media only screen and (max-width: 580px) {
  .s__calendar .event__date .divider__s {
    width: 16vw;
    margin-bottom: unset;
  }
}
.s__calendar .event__info {
  flex-basis: 16.667vw;
}
.s__calendar .event__image {
  width: 50vw;
  float: right;
  height: 33.333vw;
  background: #000;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__calendar .event__image {
    width: auto;
    float: unset;
    height: 56vw;
  }
}
.a__cursor {
  opacity: 0;
  z-index: 99;
  width: 6.458vw;
  height: 6.458vw;
  position: fixed;
  pointer-events: none;
}
@media only screen and (max-width: 580px) {
  .a__cursor {
    display: none;
  }
}
.a__cursor .cursor__shape {
  background: #fff;
  transform: rotate(45deg);
  box-shadow: 0 0 35px -25px rgba(0, 0, 0, 0.75);
}
.a__cursor .cursor__icon,
.a__cursor .cursor__shape {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}
.a__cursor .cursor__icon {
  transform: rotate(-45deg);
  background-size: 2.153vw;
  background-repeat: no-repeat;
  background-position: 50%;
  background-image: url(../svg/icon-arrow.svg);
}
.a__cursor .cursor__icon.icon__drag {
  background-size: 3.153vw;
  background-image: url(../svg/icon-drag.svg);
}
.s__flexible-content {
  cursor: none;
  margin: 16.667vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content {
    margin: 26.667vw 0;
  }
}
.s__flexible-content .flexible-content__color {
  display: none;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .flexible-content__color {
    display: block;
  }
}
.s__flexible-content .flexible-content__pattern {
  right: 6.944vw;
  bottom: -18.75vw;
  width: 8.333vw;
  height: 8.333vw;
  z-index: 1;
  position: absolute;
  background-size: 8.33vw;
  background-repeat: repeat;
  background-image: url(../img/pattern-diamond.png);
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .flexible-content__pattern {
    right: 16vw;
    width: 16vw;
    height: 16vw;
    background-size: 16vw;
  }
}
.s__flexible-content .flexible-content__slider {
  width: 100%;
  height: 44.444vw;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .flexible-content__slider {
    height: auto;
  }
}
.s__flexible-content .slider__count {
  top: 50%;
  left: -5.556vw;
  height: 3.472vw;
  line-height: 3.472vw;
  display: flex;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .slider__count {
    left: 50%;
    top: unset;
    height: 9vw;
    width: 12.5vw;
    margin: 8vw 0;
    position: relative;
    transform: translateX(-50%);
  }
}
.s__flexible-content .slider__container {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  will-change: transform;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .slider__container {
    position: relative;
  }
}
.s__flexible-content .slider__slide {
  height: 44.444vw;
  padding: 0 5.556vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .slider__slide {
    height: 164vw;
    padding: 0 8vw;
  }
}
.s__flexible-content .slide__text {
  top: 50%;
  right: 5.556vw;
  z-index: 1;
  width: 27.778vw;
  padding: 5.556vw;
  background: #fff;
  position: absolute;
  will-change: transform;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .slide__text {
    bottom: 0;
    top: unset;
    left: 16vw;
    right: 16vw;
    width: auto;
    height: 96.267vw;
    padding: 8vw;
    transform: unset;
  }
}
.s__flexible-content .slide__image {
  top: -5.5vw;
  width: 44.444vw;
  height: 44.444vw;
  overflow: hidden;
  background: #fff;
  position: relative;
  perspective: 1000px;
}
@media only screen and (max-width: 580px) {
  .s__flexible-content .slide__image {
    top: -12.5vw;
    width: 100%;
    height: auto;
    padding-bottom: 100%;
  }
}
.s__flexible-content .image__src {
  will-change: transform;
}
.s__footer {
  margin: 0 5.556vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__footer {
    margin: 0 8vw;
  }
}
.modal__text .s__footer h3,
.s__footer .heading__r,
.s__footer .modal__text h3 {
  margin-bottom: 2.083vw;
}
.s__footer .link__r {
  position: relative;
}
.s__footer .link__r:before {
  bottom: -0.15vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .button__r {
    display: none;
  }
}
.s__footer .social__icons {
  display: flex;
  height: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .social__icons {
    height: 5.333vw;
  }
}
.s__footer .social__icons a {
  display: flex;
  height: 1.389vw;
  align-items: center;
}
@media only screen and (max-width: 580px) {
  .s__footer .social__icons a {
    height: 5.333vw;
  }
}
.s__footer .social__icon:nth-child(2) {
  margin: 0 2.083vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .social__icon:nth-child(2) {
    margin: 0 8vw;
  }
}
.s__footer .social__icon:nth-child(3) .social__svg {
  height: 1.111vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .social__icon:nth-child(3) .social__svg {
    height: 4.267vw;
  }
}
.s__footer .social__svg {
  height: 1.389vw;
  transition: fill 0.4s ease-out;
}
@media only screen and (max-width: 580px) {
  .s__footer .social__svg {
    height: 5.333vw;
  }
}
.s__footer .social__svg:hover {
  fill: #3a3636;
}
.s__footer .footer__columns,
.s__footer .footer__nav {
  display: flex;
}
.s__footer .footer__columns:first-child {
  padding: 9.722vw 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:first-child {
    flex-wrap: wrap;
    border-top: unset;
    border-bottom: unset;
  }
}
.s__footer .footer__columns:first-child .footer__list {
  margin-bottom: 2.083vw;
}
.s__footer .footer__columns:first-child .footer__column {
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:first-child .footer__column:first-child {
    margin-bottom: 16vw;
  }
}
.a__nav
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .contact__item,
.modal__head
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  p,
.modal__text
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  li,
.modal__text
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  p,
.modal__text
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  td,
.modal__text
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  th,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .a__nav
  .contact__item,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .modal__head
  p,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .modal__text
  li,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .modal__text
  p,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .modal__text
  td,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .modal__text
  th,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .paragraph__r,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .s__partnerships
  .partners__partner
  p,
.s__footer
  .footer__columns:first-child
  .footer__column:first-child
  .s__rooms
  .categories__category
  p,
.s__footer .footer__columns:first-child .footer__column:first-child .s__tab li,
.s__footer .footer__columns:first-child .footer__column:first-child .s__tab p,
.s__partnerships
  .partners__partner
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  p,
.s__rooms
  .categories__category
  .s__footer
  .footer__columns:first-child
  .footer__column:first-child
  p,
.s__tab .s__footer .footer__columns:first-child .footer__column:first-child li,
.s__tab .s__footer .footer__columns:first-child .footer__column:first-child p {
  max-width: 27.778vw;
  margin-bottom: 2.083vw;
}
@media only screen and (max-width: 580px) {
  .a__nav
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .contact__item,
  .modal__head
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    p,
  .modal__text
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    li,
  .modal__text
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    p,
  .modal__text
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    td,
  .modal__text
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    th,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .a__nav
    .contact__item,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .modal__head
    p,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .modal__text
    li,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .modal__text
    p,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .modal__text
    td,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .modal__text
    th,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .paragraph__r,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .s__partnerships
    .partners__partner
    p,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .s__rooms
    .categories__category
    p,
  .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    .s__tab
    li,
  .s__footer .footer__columns:first-child .footer__column:first-child .s__tab p,
  .s__partnerships
    .partners__partner
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    p,
  .s__rooms
    .categories__category
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    p,
  .s__tab
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    li,
  .s__tab
    .s__footer
    .footer__columns:first-child
    .footer__column:first-child
    p {
    max-width: unset;
  }
}
.s__footer .footer__columns:first-child .footer__column:nth-child(2) {
  flex-basis: 16.667vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:first-child .footer__column:nth-child(2) {
    flex-basis: 60%;
  }
}
.s__footer .footer__columns:first-child .footer__column:nth-child(3) {
  flex-basis: 16.667vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:first-child .footer__column:nth-child(3) {
    flex-basis: 40%;
  }
}
.s__footer .footer__columns:nth-child(2) {
  color: #a9a9a9;
  padding: 2.083vw 0;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:nth-child(2) {
    flex-wrap: wrap;
    padding: 0 0 6.667vw;
  }
}
.s__footer .footer__columns:nth-child(2) .footer__list {
  display: flex;
}
.s__footer .footer__columns:nth-child(2) .link__r {
  margin-right: 4vw;
}
.s__footer .footer__columns:nth-child(2) .link__r:before {
  background: #a9a9a9;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:nth-child(2) .footer__column {
    flex-basis: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:nth-child(2) .footer__column:first-child {
    order: 2;
    margin-top: 6.667vw;
  }
}
.s__footer
  .footer__columns:nth-child(2)
  .footer__column:first-child
  .link__r:before {
  display: none;
}
.s__footer .footer__columns:nth-child(2) .footer__column:nth-child(2) {
  flex-basis: 33.333vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__columns:nth-child(2) .footer__column:nth-child(2) {
    flex-basis: 100%;
  }
}
.s__footer .footer__column {
  position: relative;
}
.s__footer .footer__column:first-child {
  flex-basis: 55.556vw;
}
@media only screen and (max-width: 580px) {
  .s__footer .footer__column:first-child {
    flex-basis: 100%;
  }
}
.s__gallery {
  position: relative;
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__gallery {
    margin: 26.667vw 8vw;
  }
}
.s__gallery .gallery__heading {
  margin-left: 5.556vw;
  margin-bottom: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__gallery .gallery__heading {
    margin-left: 0;
  }
}
.s__gallery .gallery__slider {
  width: 83.333vw;
  height: 55.556vw;
  position: relative;
  transform: translateX(5.556vw);
}
@media only screen and (max-width: 580px) {
  .s__gallery .gallery__slider {
    width: 100%;
    height: auto;
    transform: unset;
  }
}
.s__gallery .slider__slides {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__gallery .slider__slides {
    top: unset;
    left: unset;
    height: 56vw;
    position: relative;
  }
}
.s__gallery .slider__count {
  top: 50%;
  right: 90vw;
  height: 3.472vw;
  line-height: 3.472vw;
  display: flex;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__gallery .slider__count {
    top: unset;
    left: unset;
    right: unset;
    height: 9vw;
    width: 12.5vw;
    transform: unset;
    position: relative;
    margin: 10.667vw auto 0;
  }
}
@media only screen and (max-width: 580px) {
  .s__gallery .slider__count .count__s:before {
    padding: 0 1vw;
  }
}
.s__gallery .slider__count .count__l {
  width: unset;
  text-align: right;
}
.s__gallery .slider__slide {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  position: absolute;
  will-change: transform;
}
.s__gallery .slider__slide .image__src {
  will-change: transform;
}
.s__hero {
  width: 100%;
  height: 100vh;
  color: #fff;
  overflow: hidden;
  position: relative;
  background: #000;
}
@media only screen and (max-width: 580px) {
  .s__hero {
    height: 90vh;
    min-height: 155vw;
  }
}
.s__hero .hero__logo {
  left: 50%;
  top: 3.472vw;
  z-index: 5;
  width: 10.417vw;
  height: 8.333vw;
  position: absolute;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-position: 50%;
  background-image: url(../svg/st-regis-white.svg);
}
@media only screen and (max-width: 580px) {
  .s__hero .hero__logo {
    top: 21.333vw;
    width: 33.333vw;
    height: 26.667vw;
  }
}
.s__hero .hero__indicator {
  bottom: 0;
  right: 3.472vw;
  z-index: 5;
  width: 1px;
  height: 4.167vw;
  overflow: hidden;
  background: #fff;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__hero .hero__indicator {
    right: 8vw;
    height: 16vw;
  }
}
.s__hero .indicator__stroke {
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #ff4338;
  position: absolute;
}
.s__hero .hero__copy {
  z-index: 5;
  left: 5.556vw;
  bottom: 4.167vw;
  font-size: 0.903vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__hero .hero__copy {
    display: none;
  }
}
.s__hero .hero__heading {
  top: 50%;
  z-index: 5;
  width: 100%;
  text-align: center;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__hero .hero__heading {
    top: unset;
    left: 8vw;
    right: 8vw;
    width: auto;
    bottom: 32vw;
    text-align: left;
    transform: unset;
  }
}
.s__hero .hero__bullets {
  z-index: 5;
  left: 5.556vw;
  bottom: 7.639vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__hero .hero__bullets {
    left: 8vw;
    bottom: 8vw;
  }
}
.s__hero .hero__bullets .list__item {
  opacity: 0.5;
}
.s__hero .hero__bullets .list__item.is__active {
  opacity: 1;
}
.s__hero .paragraph__l {
  margin: 2.778vw 27.083vw 0;
}
@media only screen and (max-width: 580px) {
  .s__hero .paragraph__l {
    margin: 5.333vw 8vw 0 0;
  }
}
.s__hero .hero__slider {
  will-change: transform;
}
.s__hero .hero__slider,
.s__hero .slider__slide {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}
.s__hero .slider__slide {
  opacity: 0;
  will-change: opacity;
}
.s__hero .slider__slide:before {
  top: 0;
  left: 0;
  z-index: 1;
  content: "";
  opacity: 0.5;
  width: 100%;
  height: 100%;
  position: absolute;
  background: linear-gradient(180deg, transparent 10%, #000);
}
.s__hero .image__src {
  opacity: 0.8;
  object-position: top center;
}
.s__hotel-pillars {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars {
    margin: 26.667vw 8.533vw;
  }
}
.a__menu .s__hotel-pillars .menu__button,
.a__nav .s__hotel-pillars .sub__item,
.s__hotel-pillars .a__menu .menu__button,
.s__hotel-pillars .a__nav .sub__item,
.s__hotel-pillars .chapeau__r,
.s__hotel-pillars .heading__xxl {
  margin-left: 3.472vw;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .heading__xl {
    font-size: 7.467vw;
    line-height: 8.533vw;
  }
}
.a__menu .s__hotel-pillars .menu__button,
.a__nav .s__hotel-pillars .sub__item,
.s__hotel-pillars .a__menu .menu__button,
.s__hotel-pillars .a__nav .sub__item,
.s__hotel-pillars .chapeau__r {
  margin-bottom: 4.167vw;
}
.a__nav .s__hotel-pillars .contact__item,
.modal__head .s__hotel-pillars p,
.modal__text .s__hotel-pillars li,
.modal__text .s__hotel-pillars p,
.modal__text .s__hotel-pillars td,
.modal__text .s__hotel-pillars th,
.s__hotel-pillars .a__nav .contact__item,
.s__hotel-pillars .modal__head p,
.s__hotel-pillars .modal__text li,
.s__hotel-pillars .modal__text p,
.s__hotel-pillars .modal__text td,
.s__hotel-pillars .modal__text th,
.s__hotel-pillars .paragraph__r,
.s__hotel-pillars .s__partnerships .partners__partner p,
.s__hotel-pillars .s__rooms .categories__category p,
.s__hotel-pillars .s__tab li,
.s__hotel-pillars .s__tab p,
.s__partnerships .partners__partner .s__hotel-pillars p,
.s__rooms .categories__category .s__hotel-pillars p,
.s__tab .s__hotel-pillars li,
.s__tab .s__hotel-pillars p {
  position: relative;
  margin-top: 3.472vw;
  padding: 0 38.889vw 0 11.111vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__hotel-pillars .contact__item,
  .modal__head .s__hotel-pillars p,
  .modal__text .s__hotel-pillars li,
  .modal__text .s__hotel-pillars p,
  .modal__text .s__hotel-pillars td,
  .modal__text .s__hotel-pillars th,
  .s__hotel-pillars .a__nav .contact__item,
  .s__hotel-pillars .modal__head p,
  .s__hotel-pillars .modal__text li,
  .s__hotel-pillars .modal__text p,
  .s__hotel-pillars .modal__text td,
  .s__hotel-pillars .modal__text th,
  .s__hotel-pillars .paragraph__r,
  .s__hotel-pillars .s__partnerships .partners__partner p,
  .s__hotel-pillars .s__rooms .categories__category p,
  .s__hotel-pillars .s__tab li,
  .s__hotel-pillars .s__tab p,
  .s__partnerships .partners__partner .s__hotel-pillars p,
  .s__rooms .categories__category .s__hotel-pillars p,
  .s__tab .s__hotel-pillars li,
  .s__tab .s__hotel-pillars p {
    padding: 0 0 0 25.333vw;
  }
}
.a__nav .s__hotel-pillars .contact__item:before,
.modal__head .s__hotel-pillars p:before,
.modal__text .s__hotel-pillars li:before,
.modal__text .s__hotel-pillars p:before,
.modal__text .s__hotel-pillars td:before,
.modal__text .s__hotel-pillars th:before,
.s__hotel-pillars .a__nav .contact__item:before,
.s__hotel-pillars .modal__head p:before,
.s__hotel-pillars .modal__text li:before,
.s__hotel-pillars .modal__text p:before,
.s__hotel-pillars .modal__text td:before,
.s__hotel-pillars .modal__text th:before,
.s__hotel-pillars .paragraph__r:before,
.s__hotel-pillars .s__partnerships .partners__partner p:before,
.s__hotel-pillars .s__rooms .categories__category p:before,
.s__hotel-pillars .s__tab li:before,
.s__hotel-pillars .s__tab p:before,
.s__partnerships .partners__partner .s__hotel-pillars p:before,
.s__rooms .categories__category .s__hotel-pillars p:before,
.s__tab .s__hotel-pillars li:before,
.s__tab .s__hotel-pillars p:before {
  left: 0;
  top: 0.5vw;
  height: 1px;
  width: 6.944vw;
  content: "";
  background: #ff4338;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__hotel-pillars .contact__item:before,
  .modal__head .s__hotel-pillars p:before,
  .modal__text .s__hotel-pillars li:before,
  .modal__text .s__hotel-pillars p:before,
  .modal__text .s__hotel-pillars td:before,
  .modal__text .s__hotel-pillars th:before,
  .s__hotel-pillars .a__nav .contact__item:before,
  .s__hotel-pillars .modal__head p:before,
  .s__hotel-pillars .modal__text li:before,
  .s__hotel-pillars .modal__text p:before,
  .s__hotel-pillars .modal__text td:before,
  .s__hotel-pillars .modal__text th:before,
  .s__hotel-pillars .paragraph__r:before,
  .s__hotel-pillars .s__partnerships .partners__partner p:before,
  .s__hotel-pillars .s__rooms .categories__category p:before,
  .s__hotel-pillars .s__tab li:before,
  .s__hotel-pillars .s__tab p:before,
  .s__partnerships .partners__partner .s__hotel-pillars p:before,
  .s__rooms .categories__category .s__hotel-pillars p:before,
  .s__tab .s__hotel-pillars li:before,
  .s__tab .s__hotel-pillars p:before {
    width: 16.533vw;
  }
}
.s__hotel-pillars .hotel-pillars__slider {
  cursor: none;
  position: relative;
  margin-top: 9.028vw;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .hotel-pillars__slider {
    margin-top: 16vw;
  }
}
.s__hotel-pillars .slider__count {
  top: 50%;
  left: -5.556vw;
  height: 3.472vw;
  line-height: 3.472vw;
  display: flex;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .slider__count {
    top: unset;
    left: unset;
    height: 9.333vw;
    line-height: 9.333vw;
    margin-top: 8vw;
    transform: unset;
    position: relative;
  }
}
.s__hotel-pillars .slider__next,
.s__hotel-pillars .slider__prev {
  z-index: 5;
  width: 50%;
  height: 100%;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .slider__next,
  .s__hotel-pillars .slider__prev {
    display: none;
  }
}
.s__hotel-pillars .slider__prev {
  left: 0;
}
.s__hotel-pillars .slider__next {
  right: 0;
}
.s__hotel-pillars .slider__container {
  position: relative;
}
.s__hotel-pillars .slider__large {
  width: 55.556vw;
  height: 59.028vw;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .slider__large {
    width: 66.4vw;
    height: 70.667vw;
  }
}
.s__hotel-pillars .slider__small {
  top: 50%;
  right: -25vw;
  width: 41.667vw;
  height: 41.667vw;
  overflow: hidden;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .slider__small {
    right: -39vw;
    width: 42.667vw;
    height: 42.667vw;
  }
}
.s__hotel-pillars .slider__mask,
.s__hotel-pillars .slider__slide {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
}
.s__hotel-pillars .slider__slide {
  will-change: transform;
  backface-visibility: hidden;
}
.s__hotel-pillars .slider__mask {
  perspective: 3000px;
}
.s__hotel-pillars .slider__text {
  left: 5.556vw;
  bottom: 5.556vw;
  z-index: 2;
  color: #fff;
  position: absolute;
  will-change: transform;
  backface-visibility: hidden;
}
@media only screen and (max-width: 580px) {
  .s__hotel-pillars .slider__text {
    left: 5.333vw;
    bottom: 5.333vw;
  }
}
.s__hotel-pillars .slider__image {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #000;
  position: absolute;
}
.s__hotel-pillars .slider__image .image__src {
  will-change: transform;
  backface-visibility: hidden;
}
.s__hotel-pillars .slider__image:before {
  top: 0;
  left: 0;
  z-index: 1;
  content: "";
  opacity: 0.5;
  width: 100%;
  height: 100%;
  position: absolute;
  background: linear-gradient(180deg, transparent 30%, #000);
  backface-visibility: hidden;
}
.s__image {
  width: 100%;
  height: 58.681vw;
  position: relative;
  margin: 16.667vw 0;
}
@media only screen and (max-width: 580px) {
  .s__image {
    margin: 26.667vw 0;
  }
}
.s__image .image__pattern {
  top: -4.16vw;
  left: 11.111vw;
  width: 8.333vw;
  height: 8.333vw;
  z-index: 1;
  position: absolute;
  background-size: 100%;
  background-repeat: repeat;
  background-image: url(../img/pattern-diamond.png);
}
@media only screen and (max-width: 580px) {
  .s__image .image__pattern {
    left: 8vw;
    top: -10vw;
    width: 16vw;
    height: 16vw;
  }
}
.s__image .image__mask {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  position: absolute;
}
.s__image .image__src {
  top: -15%;
  height: 110%;
}
.s__instagram {
  width: 100%;
  overflow: hidden;
  margin: 17.361vw 0;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__instagram {
    margin: 26.667vw 0;
  }
}
.modal__text .s__instagram h3,
.s__instagram .heading__r,
.s__instagram .modal__text h3 {
  right: 0;
  bottom: 4.167vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .modal__text .s__instagram h3,
  .s__instagram .heading__r,
  .s__instagram .modal__text h3 {
    bottom: -14.5vw;
    font-size: 5.333vw;
  }
}
.modal__text .s__instagram h3:before,
.s__instagram .heading__r:before,
.s__instagram .modal__text h3:before {
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #ff4338;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  backface-visibility: hidden;
  transition: transform 0.4s ease-out;
}
@media only screen and (max-width: 580px) {
  .modal__text .s__instagram h3:before,
  .s__instagram .heading__r:before,
  .s__instagram .modal__text h3:before {
    display: none;
  }
}
.modal__text .s__instagram h3:hover:before,
.s__instagram .heading__r:hover:before,
.s__instagram .modal__text h3:hover:before {
  transform: scaleX(1);
  transform-origin: left;
}
.s__instagram .instagram__heading {
  position: relative;
  margin: 0 16.66vw 6.944vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__heading {
    margin: 0 8vw 21.333vw;
  }
}
.s__instagram .instagram__dragger {
  cursor: none;
  display: flex;
}
.s__instagram .instagram__image {
  display: flex;
  flex-shrink: 0;
  background: #fff;
  position: relative;
  margin-right: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__image {
    margin-right: 8vw;
  }
}
.s__instagram .instagram__image:last-of-type {
  margin-right: 0;
}
.s__instagram .instagram__image:nth-child(4n + 1) {
  width: 33.333vw;
  height: 33.333vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__image:nth-child(4n + 1) {
    width: 64vw;
    height: 64vw;
  }
}
.s__instagram .instagram__image:nth-child(4n + 2) {
  width: 22.222vw;
  height: 22.222vw;
  margin-top: 19.375vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__image:nth-child(4n + 2) {
    width: 41.6vw;
    height: 41.6vw;
    margin-top: 38.667vw;
  }
}
.s__instagram .instagram__image:nth-child(4n + 3) {
  width: 16.667vw;
  height: 16.667vw;
  margin-top: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__image:nth-child(4n + 3) {
    width: 33.333vw;
    height: 33.333vw;
    margin-top: 13.867vw;
  }
}
.s__instagram .instagram__image:nth-child(4n + 4) {
  width: 27.778vw;
  height: 27.778vw;
  margin-top: 13.75vw;
}
@media only screen and (max-width: 580px) {
  .s__instagram .instagram__image:nth-child(4n + 4) {
    width: 50.133vw;
    height: 50.133vw;
    margin-top: 25.333vw;
  }
}
.a__intro {
  width: 100vw;
  z-index: 99;
  position: fixed;
  background: #fff;
  text-align: center;
}
.a__intro,
.a__intro .intro__container {
  top: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
}
.a__intro .intro__container {
  width: 100%;
  position: absolute;
}
.a__intro .logo__location,
.a__intro .logo__wordmark {
  opacity: 0;
  position: relative;
  will-change: transform;
}
.a__intro .intro__logo {
  top: 0;
  left: 0;
  width: 10.417vw;
  height: 8.333vw;
  opacity: 0;
  position: absolute;
  will-change: transform;
}
@media only screen and (max-width: 580px) {
  .a__intro .intro__logo {
    width: 33.6vw;
    height: 27.2vw;
  }
}
.a__intro .logo__monogram {
  width: 4.653vw;
  height: 4.236vw;
  margin: 0 auto;
}
@media only screen and (max-width: 580px) {
  .a__intro .logo__monogram {
    width: 15.2vw;
    height: 13.867vw;
  }
}
.a__intro .logo__wordmark {
  width: 10.417vw;
  height: 1.389vw;
  margin: 0.694vw 0;
}
@media only screen and (max-width: 580px) {
  .a__intro .logo__wordmark {
    width: 33.867vw;
    height: 4.267vw;
    margin: 4vw 0 1.667vw;
  }
}
.a__intro .logo__location {
  width: 3.611vw;
  height: 1.255vw;
  margin: 0 auto;
}
@media only screen and (max-width: 580px) {
  .a__intro .logo__location {
    width: 12vw;
    height: 4.667vw;
  }
}
.s__invite {
  width: 100%;
  color: #fff;
  position: relative;
  margin-bottom: 8.33vw;
}
@media only screen and (max-width: 580px) {
  .s__invite {
    margin-bottom: 16.66vw;
  }
}
.s__invite .button__r {
  margin: auto;
  display: inline-block;
}
@media only screen and (max-width: 580px) {
  .s__invite .button__r {
    margin-bottom: 8.33vw;
  }
}
.s__invite .invite__video {
  margin-top: 8.33vw;
}
.s__invite .invite__back {
  margin: 8.33vw 0;
  text-align: center;
}
.s__invite .video__src {
  width: 75vw;
  margin: auto;
  border: none;
  outline: none;
  display: block;
  object-fit: cover;
}
@media only screen and (max-width: 580px) {
  .s__invite .video__src {
    width: 83.33vw;
  }
}
.a__logo {
  z-index: 5;
  top: 3.472vw;
  left: 3.472vw;
  width: 4.722vw;
  height: 4.306vw;
  opacity: 0;
  cursor: pointer;
  position: fixed;
}
@media only screen and (max-width: 580px) {
  .a__logo {
    display: none;
  }
}
.a__logo svg {
  fill: #3a3636;
  transition: fill 0.25s cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
.a__logo.is__light svg {
  fill: #fff;
}
.s__marquee {
  width: 100%;
  overflow: hidden;
  margin: 8.33vw 0;
  position: relative;
  white-space: nowrap;
}
.s__marquee .marquee__container {
  width: 100%;
  height: 30vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__marquee .marquee__container {
    height: 40vw;
  }
}
.s__marquee .marquee__r {
  top: 0;
  left: 0;
  position: absolute;
  will-change: transform;
  backface-visibility: hidden;
}
.a__menu {
  z-index: 10;
  top: 3.472vw;
  right: 3.472vw;
  height: 5.833vw;
  position: fixed;
  overflow: hidden;
}
@media only screen and (max-width: 580px) {
  .a__menu {
    top: 8vw;
    right: 8vw;
    left: unset;
    width: 13.333vw;
    height: 13.333vw;
  }
}
.a__menu .menu__bar {
  top: 0;
  z-index: 2;
  height: 5.833vw;
  display: flex;
  color: #fff;
  position: relative;
  margin-right: 5.85vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .menu__bar {
    display: none;
  }
}
.a__menu .social__button {
  height: 100%;
  display: flex;
  align-items: center;
}
.a__menu .button__instagram {
  width: 1.667vw;
  height: 1.667vw;
  fill: #fff;
}
.a__menu .button__instagram:hover {
  fill: #ff4338 !important;
}
.a__menu .menu__buttons {
  height: auto;
  overflow: hidden;
  margin-left: 1.042vw;
}
.a__menu .menu__language,
.a__menu .menu__social {
  margin: 0 1.042vw;
}
.a__menu .menu__divider {
  top: 50%;
  width: 1px;
  height: 2.083vw;
  position: relative;
  margin-left: 1.042vw;
  background-color: #fff;
  backface-visibility: hidden;
  transform: translateY(-50%);
}
.a__menu .menu__button {
  display: block;
  cursor: pointer;
  margin: 0 1.042vw;
  position: relative;
  margin-bottom: unset;
  line-height: 5.833vw;
}
.a__menu .menu__button:before {
  left: 0;
  bottom: 2.2vw;
  width: 100%;
  height: 1px;
  content: "";
  background: #ff4338;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}
.a__menu .menu__button:hover:before {
  transform: scaleX(1);
  transform-origin: left;
}
.a__menu .menu__list {
  display: flex;
}
.a__menu .burger__close,
.a__menu .burger__open {
  top: 50%;
  left: 50%;
  width: 2.222vw;
  z-index: 2;
  overflow: hidden;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__menu .burger__close,
  .a__menu .burger__open {
    width: 5.333vw;
  }
}
.a__menu .burger__open {
  transform: translate(-50%, -50%);
}
.a__menu .burger__open span {
  height: 2px;
  width: 2.222vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .burger__open span {
    height: 1px;
    width: 5.333vw;
  }
}
.a__menu .burger__open span:nth-child(2) {
  margin: 4px 0;
}
.a__menu .burger__close {
  transform: translate(-50%, -50%) rotate(45deg);
  width: 1.667vw;
  height: 1.667vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .burger__close {
    width: 5.333vw;
    height: 5.333vw;
  }
}
.a__menu .burger__close span {
  position: absolute;
}
.a__menu .burger__close span:first-child {
  height: 2px;
  width: 100%;
  top: calc(50% - 1px);
}
@media only screen and (max-width: 580px) {
  .a__menu .burger__close span:first-child {
    height: 1px;
  }
}
.a__menu .burger__close span:nth-child(2) {
  width: 2px;
  height: 100%;
  left: calc(50% - 1px);
}
@media only screen and (max-width: 580px) {
  .a__menu .burger__close span:nth-child(2) {
    width: 1px;
  }
}
.a__menu .burger__shape,
.a__menu .menu__shape {
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  background: #fff;
}
.a__menu .burger__outline {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  border: 1px solid hsla(0, 0%, 100%, 0.2);
}
.a__menu .menu__shape {
  width: auto;
  right: 5.833vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .menu__shape {
    display: none;
  }
}
.a__menu .burger__shape {
  background-color: #ff4338;
  transition: background-color 0.25s ease-out;
}
.a__menu .menu__burger {
  top: 0;
  right: 0;
  z-index: 1;
  width: 5.833vw;
  height: 5.833vw;
  cursor: pointer;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__menu .menu__burger {
    width: 13.333vw;
    height: 13.333vw;
  }
}
.a__menu .menu__burger:hover .burger__shape {
  background-color: #f7382d;
}
.a__menu .menu__burger span {
  display: block;
  background: #fff;
  border-radius: 1px;
  will-change: transform;
}
.a__nav {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  z-index: 6;
  color: #fff;
  position: fixed;
  overflow: hidden;
  background: #3a3636;
  text-align: center;
  visibility: hidden;
}
@media only screen and (max-width: 580px) {
  .a__nav {
    text-align: left;
  }
}
.a__nav .nav__mask {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__mask {
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
.a__nav .nav__mask::-webkit-scrollbar {
  display: none;
  color: #fff;
  height: 0;
}
.a__nav .nav__logo {
  left: 50%;
  top: 3.472vw;
  width: 10.417vw;
  height: 8.333vw;
  z-index: 1;
  position: absolute;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-position: 50%;
  background-image: url(../svg/st-regis-white.svg);
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__logo {
    top: 21.333vw;
    width: 33.333vw;
    height: 26.667vw;
  }
}
.a__nav .nav__image {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.06;
  position: absolute;
  filter: grayscale(100%);
  will-change: transform;
}
.a__nav .nav__image .image__src {
  object-position: top center;
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__image {
    display: none;
  }
}
.a__nav .sub__items {
  display: none;
}
@media only screen and (max-width: 580px) {
  .a__nav .sub__items {
    display: flex;
    position: relative;
    margin: 70vw 8vw 16vw;
  }
}
.a__nav .sub__item {
  opacity: 0.7;
  color: #fff;
  position: relative;
  line-height: 8.933vw;
  margin: 0 8vw 0 0;
}
.a__nav .sub__item:last-of-type {
  margin: 0 0 0 8vw;
}
.a__nav .sub__item:last-of-type:before {
  top: 0;
  left: -8vw;
  width: 1px;
  height: 100%;
  content: "";
  position: absolute;
  background: #fff;
}
.a__nav .contact__item,
.a__nav .nav__item {
  z-index: 1;
  position: relative;
  display: inline-block;
}
.a__nav .contact__item span,
.a__nav .nav__item span {
  position: relative;
  display: inline-block;
}
.a__nav .contact__item span.no__link,
.a__nav .nav__item span.no__link {
  pointer-events: none;
}
.a__nav .contact__item span.no__link:before,
.a__nav .nav__item span.no__link:before {
  display: none;
}
.a__nav .contact__item span:before,
.a__nav .nav__item span:before {
  left: 0;
  bottom: -1px;
  content: "";
  width: 100%;
  height: 1px;
  background: #ff4338;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  backface-visibility: hidden;
  transition: transform 0.4s ease-out;
}
.a__nav .contact__item:hover span:before,
.a__nav .nav__item:hover span:before {
  transform: scaleX(1);
  transform-origin: left;
}
.a__nav .contact__items {
  z-index: 1;
  left: 22.222vw;
  right: 22.222vw;
  bottom: 8.333vw;
  padding: 0 5vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .contact__items {
    left: unset;
    right: unset;
    bottom: unset;
    position: relative;
    margin: 13.333vw 8vw;
    padding: 13.333vw 0 0;
    border-top: 1px solid hsla(0, 0%, 100%, 0.4);
  }
}
.a__nav .contact__item {
  text-align: center;
  display: inline-block;
  margin-right: 2.083vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .contact__item {
    margin-right: 3vw;
  }
}
@media only screen and (max-width: 580px) {
  .a__nav .contact__item:first-child,
  .a__nav .contact__item:nth-child(2),
  .a__nav .contact__item:nth-child(3),
  .a__nav .contact__item:nth-child(4),
  .a__nav .contact__item:nth-child(5) {
    margin-bottom: 3vw;
  }
}
.a__nav .contact__item:last-of-type,
.a__nav .contact__item:nth-child(4) {
  margin-right: unset;
}
.a__nav .nav__items {
  z-index: 1;
  top: 50%;
  left: 22.222vw;
  right: 22.222vw;
  text-align: center;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__items {
    top: unset;
    left: unset;
    right: unset;
    transform: unset;
    text-align: left;
    position: relative;
    margin: 0 8vw;
  }
}
.a__nav .nav__item {
  cursor: pointer;
  margin: 1.389vw 2.083vw;
  font-size: 2.951vw;
  font-weight: 400;
  font-family: Roos St Regis Display;
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__item {
    margin: 8vw 0;
    display: block;
    font-size: 9.333vw;
  }
}
.a__nav .nav__item:hover {
  opacity: 1;
}
.a__nav .nav__item:before {
  height: 2px;
}
.a__nav .nav__item:last-child:after {
  display: none;
}
.a__nav .nav__item:after {
  top: 0.05vw;
  right: -2.8vw;
  opacity: 0.5;
  content: "/";
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .nav__item:after {
    display: none;
  }
}
.a__notification {
  z-index: 90;
  right: 4.16vw;
  bottom: 4.16vw;
  width: 34.556vw;
  position: fixed;
  padding: 3.472vw;
  background: #fff;
  box-shadow: 0 0 35px -25px rgba(0, 0, 0, 0.75);
}
@media only screen and (max-width: 580px) {
  .a__notification {
    top: 50%;
    left: 4.16vw;
    right: 4.16vw;
    bottom: unset;
    width: auto;
    padding: 6.944vw;
    transform: translateY(-50%);
  }
}
.a__notification .button__c {
  top: 2.083vw;
  right: 2.083vw;
  width: 3.819vw;
  height: 3.819vw;
  position: absolute;
  background-size: 1.111vw;
}
@media only screen and (max-width: 580px) {
  .a__notification .button__c {
    top: 4.166vw;
    width: 7.638vw;
    right: 4.166vw;
    height: 7.638vw;
    background-size: 2.222vw;
  }
}
.a__notification .button__b {
  width: 9.153vw;
  right: 2.083vw;
  bottom: 2.083vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__notification .button__b {
    right: 4.166vw;
    bottom: 4.166vw;
    width: 29.153vw;
  }
}
.a__notification .heading__r,
.a__notification .modal__text h3,
.modal__text .a__notification h3 {
  margin-bottom: 1.042vw;
}
@media only screen and (max-width: 580px) {
  .a__notification .heading__r,
  .a__notification .modal__text h3,
  .modal__text .a__notification h3 {
    margin-bottom: 8vw;
  }
}
.a__nav .a__notification .contact__item,
.a__notification .a__nav .contact__item,
.a__notification .modal__head p,
.a__notification .modal__text li,
.a__notification .modal__text p,
.a__notification .modal__text td,
.a__notification .modal__text th,
.a__notification .paragraph__r,
.a__notification .s__partnerships .partners__partner p,
.a__notification .s__rooms .categories__category p,
.a__notification .s__tab li,
.a__notification .s__tab p,
.modal__head .a__notification p,
.modal__text .a__notification li,
.modal__text .a__notification p,
.modal__text .a__notification td,
.modal__text .a__notification th,
.s__partnerships .partners__partner .a__notification p,
.s__rooms .categories__category .a__notification p,
.s__tab .a__notification li,
.s__tab .a__notification p {
  font-size: 0.903vw;
  line-height: 1.25vw;
  margin-bottom: 1.042vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .a__notification .contact__item,
  .a__notification .a__nav .contact__item,
  .a__notification .modal__head p,
  .a__notification .modal__text li,
  .a__notification .modal__text p,
  .a__notification .modal__text td,
  .a__notification .modal__text th,
  .a__notification .paragraph__r,
  .a__notification .s__partnerships .partners__partner p,
  .a__notification .s__rooms .categories__category p,
  .a__notification .s__tab li,
  .a__notification .s__tab p,
  .modal__head .a__notification p,
  .modal__text .a__notification li,
  .modal__text .a__notification p,
  .modal__text .a__notification td,
  .modal__text .a__notification th,
  .s__partnerships .partners__partner .a__notification p,
  .s__rooms .categories__category .a__notification p,
  .s__tab .a__notification li,
  .s__tab .a__notification p {
    font-size: 3.2vw;
    margin-bottom: 8vw;
    line-height: 4.533vw;
  }
}
.a__notification .link__r {
  position: relative;
  font-size: 0.903vw;
  line-height: 1.25vw;
  display: inline-block;
}
@media only screen and (max-width: 580px) {
  .a__notification .link__r {
    font-size: 3.2vw;
    line-height: 4.533vw;
  }
}
.s__offers {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__offers {
    margin: 26.667vw 0;
  }
}
.s__offers .button__r {
  margin: 2.8vw 0 0;
}
.s__offers .offers__heading {
  text-align: center;
  margin-bottom: 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__offers .offers__heading {
    text-align: left;
    margin: 0 8vw 16vw;
  }
}
.s__offers .offers__heading .divider__r {
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 580px) {
  .s__offers .offers__heading .divider__r {
    margin-left: 0;
  }
}
.s__offers .offers__container {
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__offers .offers__container {
    margin: 0 8vw;
  }
}
.s__offers .offers__sticky {
  left: 0;
  top: 5.556vw;
  width: 33.333vw;
  height: 42.708vw;
  z-index: 5;
  padding: 5.556vw;
  background: #fff;
  position: absolute;
  will-change: transform;
}
@media only screen and (max-width: 580px) {
  .s__offers .offers__sticky {
    display: none;
  }
}
.s__offers .offers__blocks {
  position: relative;
}
.s__offers .offers__block {
  width: 61.111vw;
  position: relative;
  margin: 0 0 17.361vw 16.667vw;
}
@media only screen and (max-width: 580px) {
  .s__offers .offers__block {
    margin: 0;
    width: auto;
  }
}
.s__offers .block__text {
  width: 1px;
  height: 1px;
  z-index: 1;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__offers .block__text {
    height: auto;
    width: 66.667vw;
    padding: 8vw;
    background: #fff;
    margin: -26.667vw 8vw 13.333vw;
  }
}
@media only screen and (max-width: 580px) {
  .s__offers .block__text .button__r {
    margin-top: 4vw;
  }
}
.s__offers .image__src {
  height: auto;
  position: relative;
}
.s__partnerships {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__partnerships {
    margin: 26.667vw 0;
  }
}
.s__partnerships .partnerships__heading {
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partnerships__heading {
    margin: 0 8vw;
  }
}
.a__menu .s__partnerships .partnerships__heading .menu__button,
.a__nav .s__partnerships .partnerships__heading .sub__item,
.s__partnerships .partnerships__heading .a__menu .menu__button,
.s__partnerships .partnerships__heading .a__nav .sub__item,
.s__partnerships .partnerships__heading .chapeau__r,
.s__partnerships .partnerships__heading .heading__xxl {
  margin-left: 3.472vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .s__partnerships .partnerships__heading .menu__button,
  .a__nav .s__partnerships .partnerships__heading .sub__item,
  .s__partnerships .partnerships__heading .a__menu .menu__button,
  .s__partnerships .partnerships__heading .a__nav .sub__item,
  .s__partnerships .partnerships__heading .chapeau__r,
  .s__partnerships .partnerships__heading .heading__xxl {
    margin-left: 0;
  }
}
.a__menu .s__partnerships .partnerships__heading .menu__button,
.a__nav .s__partnerships .partnerships__heading .sub__item,
.s__partnerships .partnerships__heading .a__menu .menu__button,
.s__partnerships .partnerships__heading .a__nav .sub__item,
.s__partnerships .partnerships__heading .chapeau__r {
  margin-bottom: 4.167vw;
}
.s__partnerships .partners__partner {
  width: 100%;
  display: table;
  margin: 13.889vw 0;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner {
    width: auto;
    display: block;
    margin: 16vw 8vw;
  }
}
.modal__text .s__partnerships .partners__partner h2,
.s__partnerships .partners__partner .heading__l,
.s__partnerships .partners__partner .modal__text h2 {
  margin-left: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .modal__text .s__partnerships .partners__partner h2,
  .s__partnerships .partners__partner .heading__l,
  .s__partnerships .partners__partner .modal__text h2 {
    margin-left: unset;
  }
}
.s__partnerships .partners__partner p {
  margin-left: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner p {
    margin-left: unset;
  }
}
.s__partnerships .partners__partner .button__r {
  display: block;
  margin: 2.8vw 0 0;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner .button__r {
    margin: 4vw 0 0;
  }
}
.s__partnerships .partners__partner:nth-child(odd) .partner__text {
  right: 0;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner:nth-child(odd) .partner__text {
    right: unset;
  }
}
.s__partnerships .partners__partner:nth-child(odd) .partner__image {
  margin: 0 auto 0 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner:nth-child(odd) .partner__image {
    margin: 0;
  }
}
.s__partnerships .partners__partner:nth-child(2n) .partner__text {
  left: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner:nth-child(2n) .partner__text {
    left: unset;
  }
}
.s__partnerships .partners__partner:nth-child(2n) .partner__image {
  float: right;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner:nth-child(2n) .partner__image {
    float: unset;
  }
}
.s__partnerships .partners__partner .partner__text {
  top: 50%;
  width: 27.778vw;
  padding: 5.556vw;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner .partner__text {
    top: unset;
    width: auto;
    transform: unset;
    position: relative;
    padding: 8vw 0 0;
  }
}
.s__partnerships .partners__partner .partner__image {
  width: 38.889vw;
  height: 60.417vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner .partner__image {
    width: unset;
    height: auto;
  }
}
@media only screen and (max-width: 580px) {
  .s__partnerships .partners__partner .partner__image .image__src {
    height: auto;
    position: relative;
  }
}
.s__rooms {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__rooms {
    margin: 26.667vw 8vw;
  }
}
.s__rooms .rooms__color {
  top: 0;
}
.s__rooms .rooms__heading {
  position: relative;
}
.a__menu .s__rooms .rooms__heading .menu__button,
.a__nav .s__rooms .rooms__heading .sub__item,
.s__rooms .rooms__heading .a__menu .menu__button,
.s__rooms .rooms__heading .a__nav .sub__item,
.s__rooms .rooms__heading .chapeau__r,
.s__rooms .rooms__heading .heading__xxl {
  margin-left: 3.472vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .s__rooms .rooms__heading .menu__button,
  .a__nav .s__rooms .rooms__heading .sub__item,
  .s__rooms .rooms__heading .a__menu .menu__button,
  .s__rooms .rooms__heading .a__nav .sub__item,
  .s__rooms .rooms__heading .chapeau__r,
  .s__rooms .rooms__heading .heading__xxl {
    margin-left: 0;
  }
}
.a__menu .s__rooms .rooms__heading .menu__button,
.a__nav .s__rooms .rooms__heading .sub__item,
.s__rooms .rooms__heading .a__menu .menu__button,
.s__rooms .rooms__heading .a__nav .sub__item,
.s__rooms .rooms__heading .chapeau__r {
  margin-bottom: 4.167vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .s__rooms .rooms__heading .menu__button,
  .a__nav .s__rooms .rooms__heading .sub__item,
  .s__rooms .rooms__heading .a__menu .menu__button,
  .s__rooms .rooms__heading .a__nav .sub__item,
  .s__rooms .rooms__heading .chapeau__r {
    margin-bottom: 6.667vw;
  }
}
.a__nav .s__rooms .rooms__text .contact__item,
.modal__head .s__rooms .rooms__text p,
.modal__text .s__rooms .rooms__text li,
.modal__text .s__rooms .rooms__text p,
.modal__text .s__rooms .rooms__text td,
.modal__text .s__rooms .rooms__text th,
.s__partnerships .partners__partner .s__rooms .rooms__text p,
.s__rooms .categories__category .rooms__text p,
.s__rooms .rooms__text .a__nav .contact__item,
.s__rooms .rooms__text .categories__category p,
.s__rooms .rooms__text .modal__head p,
.s__rooms .rooms__text .modal__text li,
.s__rooms .rooms__text .modal__text p,
.s__rooms .rooms__text .modal__text td,
.s__rooms .rooms__text .modal__text th,
.s__rooms .rooms__text .paragraph__r,
.s__rooms .rooms__text .s__partnerships .partners__partner p,
.s__rooms .rooms__text .s__tab li,
.s__rooms .rooms__text .s__tab p,
.s__tab .s__rooms .rooms__text li,
.s__tab .s__rooms .rooms__text p {
  column-count: 2;
  column-gap: 5.556vw;
  position: relative;
  margin-top: 3.472vw;
  padding: 0 0 0 11.111vw;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__rooms .rooms__text .contact__item,
  .modal__head .s__rooms .rooms__text p,
  .modal__text .s__rooms .rooms__text li,
  .modal__text .s__rooms .rooms__text p,
  .modal__text .s__rooms .rooms__text td,
  .modal__text .s__rooms .rooms__text th,
  .s__partnerships .partners__partner .s__rooms .rooms__text p,
  .s__rooms .categories__category .rooms__text p,
  .s__rooms .rooms__text .a__nav .contact__item,
  .s__rooms .rooms__text .categories__category p,
  .s__rooms .rooms__text .modal__head p,
  .s__rooms .rooms__text .modal__text li,
  .s__rooms .rooms__text .modal__text p,
  .s__rooms .rooms__text .modal__text td,
  .s__rooms .rooms__text .modal__text th,
  .s__rooms .rooms__text .paragraph__r,
  .s__rooms .rooms__text .s__partnerships .partners__partner p,
  .s__rooms .rooms__text .s__tab li,
  .s__rooms .rooms__text .s__tab p,
  .s__tab .s__rooms .rooms__text li,
  .s__tab .s__rooms .rooms__text p {
    column-count: 1;
    column-gap: 0;
    margin-top: 6.667vw;
    padding: 0 0 0 25.333vw;
  }
}
.a__nav .s__rooms .rooms__text .contact__item:before,
.modal__head .s__rooms .rooms__text p:before,
.modal__text .s__rooms .rooms__text li:before,
.modal__text .s__rooms .rooms__text p:before,
.modal__text .s__rooms .rooms__text td:before,
.modal__text .s__rooms .rooms__text th:before,
.s__partnerships .partners__partner .s__rooms .rooms__text p:before,
.s__rooms .categories__category .rooms__text p:before,
.s__rooms .rooms__text .a__nav .contact__item:before,
.s__rooms .rooms__text .categories__category p:before,
.s__rooms .rooms__text .modal__head p:before,
.s__rooms .rooms__text .modal__text li:before,
.s__rooms .rooms__text .modal__text p:before,
.s__rooms .rooms__text .modal__text td:before,
.s__rooms .rooms__text .modal__text th:before,
.s__rooms .rooms__text .paragraph__r:before,
.s__rooms .rooms__text .s__partnerships .partners__partner p:before,
.s__rooms .rooms__text .s__tab li:before,
.s__rooms .rooms__text .s__tab p:before,
.s__tab .s__rooms .rooms__text li:before,
.s__tab .s__rooms .rooms__text p:before {
  left: 0;
  top: 0.5vw;
  height: 1px;
  width: 6.944vw;
  content: "";
  background: #ff4338;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .a__nav .s__rooms .rooms__text .contact__item:before,
  .modal__head .s__rooms .rooms__text p:before,
  .modal__text .s__rooms .rooms__text li:before,
  .modal__text .s__rooms .rooms__text p:before,
  .modal__text .s__rooms .rooms__text td:before,
  .modal__text .s__rooms .rooms__text th:before,
  .s__partnerships .partners__partner .s__rooms .rooms__text p:before,
  .s__rooms .categories__category .rooms__text p:before,
  .s__rooms .rooms__text .a__nav .contact__item:before,
  .s__rooms .rooms__text .categories__category p:before,
  .s__rooms .rooms__text .modal__head p:before,
  .s__rooms .rooms__text .modal__text li:before,
  .s__rooms .rooms__text .modal__text p:before,
  .s__rooms .rooms__text .modal__text td:before,
  .s__rooms .rooms__text .modal__text th:before,
  .s__rooms .rooms__text .paragraph__r:before,
  .s__rooms .rooms__text .s__partnerships .partners__partner p:before,
  .s__rooms .rooms__text .s__tab li:before,
  .s__rooms .rooms__text .s__tab p:before,
  .s__tab .s__rooms .rooms__text li:before,
  .s__tab .s__rooms .rooms__text p:before {
    width: 16.533vw;
  }
}
.s__rooms .rooms__categories {
  position: relative;
  margin-top: 21.889vw;
}
@media only screen and (max-width: 580px) {
  .s__rooms .rooms__categories {
    margin-top: 26.667vw;
  }
}
.s__rooms .categories__category {
  width: 100%;
  display: table;
  margin: 21.889vw 0;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category {
    margin: 0 auto 18.667vw;
  }
}
.modal__text .s__rooms .categories__category h2,
.s__rooms .categories__category .heading__l,
.s__rooms .categories__category .modal__text h2 {
  margin-left: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .modal__text .s__rooms .categories__category h2,
  .s__rooms .categories__category .heading__l,
  .s__rooms .categories__category .modal__text h2 {
    margin-left: 0;
  }
}
.s__rooms .categories__category p {
  margin-left: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category p {
    margin-left: 0;
  }
}
.s__rooms .categories__category .button__r {
  display: block;
  margin: 2.8vw 0 0;
}
.s__rooms .categories__category .category__image {
  background: #fff;
}
.s__rooms .categories__category:first-child .category__text {
  float: right;
  position: relative;
  margin-top: 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:first-child .category__text {
    float: none;
    margin: 46.667vw auto 0;
  }
}
.s__rooms .categories__category:first-child .category__image {
  left: 0;
  top: -8vw;
  width: 55.556vw;
  height: 36.806vw;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:first-child .category__image {
    right: 0;
    width: auto;
    height: 55.467vw;
  }
}
.s__rooms .categories__category:nth-child(2) .category__text {
  top: 50%;
  left: 22.222vw;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:nth-child(2) .category__text {
    top: unset;
    left: unset;
    transform: unset;
    position: relative;
    margin: 120vw auto 0;
  }
}
.s__rooms .categories__category:nth-child(2) .category__image {
  top: -8vw;
  float: right;
  width: 44.444vw;
  height: 68.958vw;
  position: relative;
  transform: translateX(11.111vw);
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:nth-child(2) .category__image {
    top: 0;
    left: 0;
    right: 0;
    float: none;
    width: auto;
    height: 129.333vw;
    transform: unset;
    position: absolute;
  }
}
.s__rooms .categories__category:nth-child(3) .category__text {
  top: 50%;
  left: 38.889vw;
  position: absolute;
  transform: translateY(-50%);
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:nth-child(3) .category__text {
    top: unset;
    left: unset;
    transform: unset;
    position: relative;
    margin: 120vw auto 0;
  }
}
.s__rooms .categories__category:nth-child(3) .category__image {
  top: -8vw;
  width: 44.444vw;
  height: 68.958vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category:nth-child(3) .category__image {
    top: 0;
    left: 0;
    right: 0;
    float: none;
    width: auto;
    height: 129.333vw;
    transform: unset;
    position: absolute;
  }
}
.s__rooms .categories__category .category__text {
  z-index: 1;
  width: 27.778vw;
  padding: 5.556vw;
  background: #fff;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__rooms .categories__category .category__text {
    padding: 8vw;
    width: 66.667vw;
  }
}
.s__tab {
  margin: 17.361vw 11.111vw;
}
@media only screen and (max-width: 580px) {
  .s__tab {
    margin: 26.667vw 8vw;
  }
}
.s__tab .divider__r {
  margin-left: -4.167vw;
}
@media only screen and (max-width: 580px) {
  .s__tab .divider__r {
    margin-left: unset;
  }
}
.s__tab .button__r {
  margin-top: 3.472vw;
  display: inline-block;
}
.s__tab .tab__heading {
  text-align: center;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__heading {
    text-align: left;
  }
}
.s__tab .tab__nav {
  margin: 6.944vw 0;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav {
    text-align: left;
    white-space: nowrap;
    margin: 16vw 0 8vw;
  }
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav:after,
  .s__tab .tab__nav:before {
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 8vw;
    content: "";
    height: 100%;
    position: absolute;
  }
}
.s__tab .tab__nav:before {
  left: -8vw;
  background: linear-gradient(90deg, #fff 0, hsla(0, 0%, 100%, 0));
}
.s__tab .tab__nav:after {
  right: -8vw;
  background: linear-gradient(270deg, #fff 0, hsla(0, 0%, 100%, 0));
}
.s__tab .tab__nav .nav__list {
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .nav__list {
    width: 100vw;
    overflow-x: scroll;
    transform: translateX(-8vw);
    -webkit-overflow-scrolling: touch;
  }
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .nav__list::-webkit-scrollbar {
    height: 1px;
  }
}
.s__tab .tab__nav .nav__list::-webkit-scrollbar-thumb {
  background: transparent;
}
.s__tab .tab__nav .list__item {
  height: 1.389vw;
  cursor: pointer;
  margin: 0 3.472vw;
  position: relative;
  line-height: 1.389vw;
  display: inline-block;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .list__item {
    margin: 0 4vw;
    height: 5.867vw;
    line-height: 5.867vw;
  }
}
.s__tab .tab__nav .list__item:before {
  top: 50%;
  right: -3.8vw;
  width: 0.486vw;
  height: 0.486vw;
  content: "";
  position: absolute;
  background: #ccc;
  transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .list__item:before {
    top: 38%;
    right: -5.3vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
.s__tab .tab__nav .list__item:after {
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #ff4338;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}
.s__tab .tab__nav .list__item.is__active {
  pointer-events: none;
  color: #ff4338;
}
.s__tab .tab__nav .list__item.is__active:after {
  transform: scaleX(1);
  transform-origin: left;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .list__item:first-of-type {
    margin-left: 8vw;
  }
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__nav .list__item:last-of-type {
    margin-right: 8vw;
  }
}
.s__tab .tab__nav .list__item:last-of-type:before {
  display: none;
}
.s__tab .tab__container {
  display: flex;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__container {
    flex-wrap: wrap;
  }
}
.s__tab .tab__text {
  position: relative;
  flex-basis: 33.333vw;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__text {
    order: 2;
    z-index: 4;
    flex-basis: 100%;
    height: 123.133vw;
    background: #fff;
    margin: -8vw 8vw 0;
  }
}
.s__tab .tab__text__slide {
  top: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  padding: 3.472vw 11.111vw 3.472vw 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__text__slide {
    padding: 16vw 8vw;
  }
}
.s__tab .tab__images {
  overflow: hidden;
  height: 34.722vw;
  position: relative;
  flex-basis: 38.889vw;
  margin-right: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .s__tab .tab__images {
    margin-right: 0;
    height: 74.667vw;
    flex-basis: 100%;
  }
}
.s__tab .image__mask,
.s__tab .tab__image__slide {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  position: absolute;
}
.a__desktop .s__tab .tab__nav .list__item:hover {
  color: #ff4338;
}
.a__desktop .s__tab .tab__nav .list__item:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.a__modal {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  opacity: 0;
  z-index: 99;
  position: fixed;
  overflow: hidden;
  pointer-events: none;
}
.a__modal .button__b {
  display: none;
}
.a__modal .modal__container,
.a__modal .modal__main {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
  position: absolute;
  will-change: transform;
  backface-visibility: hidden;
}
.a__modal .modal__background {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  position: fixed;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.6);
  transition: opacity 0.25s cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
.a__modal .modal__scroll {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.a__modal .modal__close {
  top: 3.472vw;
  right: 3.472vw;
  width: 5.833vw;
  height: 5.833vw;
  z-index: 5;
  cursor: pointer;
  appearance: none;
  position: absolute;
  background: transparent;
  border: 1px solid rgba(58, 54, 54, 0.2);
  backface-visibility: hidden;
  background-size: 1.389vw;
  background-position: 50%;
  background-repeat: no-repeat;
  background-image: url(../svg/icon-close.svg);
}
@media only screen and (max-width: 580px) {
  .a__modal .modal__close {
    top: 8.33vw;
    right: 8.33vw;
    width: 13.333vw;
    height: 13.333vw;
    background-size: 4vw;
  }
}
.a__modal .modal__fluid {
  position: relative;
  background: #fff;
  padding: 16.667vw 0;
}
@media only screen and (max-width: 580px) {
  .a__modal .modal__fluid {
    padding: 26.667vw 0;
  }
}
.a__modal .modal__fluid .button__b {
  z-index: 5;
  right: 3.472vw;
  bottom: 3.472vw;
  display: block;
  position: fixed;
}
@media only screen and (max-width: 580px) {
  .a__modal .modal__fluid .button__b {
    display: none;
  }
}
.a__modal .modal__fluid .modal__close {
  position: fixed;
}
.a__modal .modal__large {
  margin: 8.33vw;
  padding: 8.33vw;
  position: relative;
  background: #fff;
}
.a__modal .modal__small {
  top: 50%;
  left: 50%;
  width: 59.722vw;
  background: #fff;
  position: absolute;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 580px) {
  .a__modal .modal__small {
    width: 83.33vw;
    padding: 13.333vw 0;
  }
}
.a__modal .modal__small:before {
  top: 0;
  left: 0;
  height: 100%;
  width: 6.806vw;
  z-index: 1;
  content: "";
  position: absolute;
  background-size: 55vw;
  background-repeat: repeat;
  background-image: url(../img/pattern-diamond.jpg);
}
@media only screen and (max-width: 580px) {
  .a__modal .modal__small:before {
    background-size: 85vw;
  }
}
.modal__gallery {
  height: 37.5vw;
  position: relative;
  margin: 8.333vw 16.667vw;
}
@media only screen and (max-width: 580px) {
  .modal__gallery {
    margin: 8vw;
    height: 46.667vw;
  }
}
.modal__gallery .image__src {
  top: unset;
  left: unset;
  width: auto;
  height: 37.5vw;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .modal__gallery .image__src {
    height: 46.667vw;
  }
}
.modal__gallery .gallery__dragger {
  cursor: none;
  display: flex;
}
.modal__gallery .gallery__image {
  margin-right: 5.556vw;
}
@media only screen and (max-width: 580px) {
  .modal__gallery .gallery__image {
    margin-right: 4vw;
  }
}
.modal__gallery .gallery__image:last-child {
  margin-right: 0;
}
.modal__head {
  margin: 0 16.667vw 8.333vw;
}
@media only screen and (max-width: 580px) {
  .modal__head {
    margin: 0 8vw;
  }
}
.a__menu .modal__head .menu__button,
.a__nav .modal__head .sub__item,
.modal__head .a__menu .menu__button,
.modal__head .a__nav .sub__item,
.modal__head .chapeau__r,
.modal__head .heading__xl {
  margin-left: 11.111vw;
}
@media only screen and (max-width: 580px) {
  .a__menu .modal__head .menu__button,
  .a__nav .modal__head .sub__item,
  .modal__head .a__menu .menu__button,
  .modal__head .a__nav .sub__item,
  .modal__head .chapeau__r,
  .modal__head .heading__xl {
    margin-left: 0;
  }
}
.modal__head p {
  margin-top: 4.167vw;
  margin-left: 22.222vw;
  margin-right: 16.667vw;
}
@media only screen and (max-width: 580px) {
  .modal__head p {
    margin-left: 25.333vw;
  }
}
.modal__image {
  margin: 8.333vw 16.667vw;
}
@media only screen and (max-width: 580px) {
  .modal__image {
    margin: 5.333vw 8vw;
  }
}
.modal__image:last-of-type {
  margin-bottom: 0;
}
.modal__fluid .modal__text {
  padding: 0 11.111vw;
  margin: 8.33vw 16.667vw;
}
@media only screen and (max-width: 580px) {
  .modal__fluid .modal__text {
    margin: 8vw 0;
    padding: 0 8vw;
  }
}
@media only screen and (max-width: 580px) {
  .modal__large .modal__text {
    margin: 16vw 0 8vw;
  }
}
.modal__small .modal__text {
  padding: 5.556vw 0;
  margin: 0 12.153vw;
}
@media only screen and (max-width: 580px) {
  .modal__small .modal__text {
    padding: 0;
  }
}
@media only screen and (max-width: 580px) {
  .modal__text {
    padding: 0;
    margin: 0 8vw;
  }
}
.modal__text:last-of-type {
  margin-bottom: unset;
}
.modal__text h2 {
  margin-bottom: 2.8vw;
}
@media only screen and (max-width: 580px) {
  .modal__text h2 {
    margin-bottom: 5.6vw;
  }
}
.modal__text h3 {
  margin-top: 2.8vw;
  margin-bottom: 0.7vw;
}
@media only screen and (max-width: 580px) {
  .modal__text h3 {
    margin-top: 5.6vw;
    margin-bottom: 1.4vw;
  }
}
.modal__text ul {
  margin-top: 2.778vw;
  margin-left: 1.389vw;
}
@media only screen and (max-width: 580px) {
  .modal__text ul {
    margin-left: 0;
    margin-top: 5.333vw;
  }
}
.modal__text table {
  width: 100%;
  margin: 1.4vw 0;
}
.modal__text li,
.modal__text p,
.modal__text td,
.modal__text th {
  position: relative;
  margin-bottom: 1.4vw;
}
@media only screen and (max-width: 580px) {
  .modal__text li,
  .modal__text p,
  .modal__text td,
  .modal__text th {
    margin-bottom: 5.333vw;
  }
}
.modal__text li strong,
.modal__text p strong,
.modal__text td strong,
.modal__text th strong {
  font-weight: 500;
}
.modal__text th {
  font-weight: 500;
  text-align: left;
}
.modal__text td {
  word-break: break-all;
}
.modal__text li {
  line-height: 2.431vw;
  margin-bottom: unset;
}
@media only screen and (max-width: 580px) {
  .modal__text li {
    line-height: 8vw;
    padding-left: 8vw;
  }
}
.modal__text li:before {
  top: 1vw;
  left: -1.3vw;
  width: 0.278vw;
  height: 0.278vw;
  content: "";
  background: #ccc;
  position: absolute;
  transform: rotate(45deg);
}
@media only screen and (max-width: 580px) {
  .modal__text li:before {
    top: 2.7vw;
    left: 2.5vw;
    width: 1.867vw;
    height: 1.867vw;
  }
}
.modal__text p:last-of-type {
  margin-bottom: unset;
}
.modal__text a {
  color: #ff4338;
  text-decoration: underline;
}
.modal__text a:hover {
  text-decoration: none;
}
