@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Thin.eot");
  src: local("TT Norms Thin"), local("TTNorms-Thin"), url("../fonts/TTNorms-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Thin.woff") format("woff"), url("../fonts/TTNorms-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-ExtraLight.eot");
  src: local("TT Norms ExtraLight"), local("TTNorms-ExtraLight"), url("../fonts/TTNorms-ExtraLight.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-ExtraLight.woff") format("woff"), url("../fonts/TTNorms-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Light.eot");
  src: local("TT Norms Light"), local("TTNorms-Light"), url("../fonts/TTNorms-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Light.woff") format("woff"), url("../fonts/TTNorms-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Regular.eot");
  src: local("TT Norms Regular"), local("TTNorms-Regular"), url("../fonts/TTNorms-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Regular.woff") format("woff"), url("../fonts/TTNorms-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Medium.eot");
  src: local("TT Norms Medium"), local("TTNorms-Medium"), url("../fonts/TTNorms-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Medium.woff") format("woff"), url("../fonts/TTNorms-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Bold.eot");
  src: local("TT Norms Bold"), local("TTNorms-Bold"), url("../fonts/TTNorms-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Bold.woff") format("woff"), url("../fonts/TTNorms-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-ExtraBold.eot");
  src: local("TT Norms ExtraBold"), local("TTNorms-ExtraBold"), url("../fonts/TTNorms-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-ExtraBold.woff") format("woff"), url("../fonts/TTNorms-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "TT Norms";
  src: url("../fonts/TTNorms-Black.eot");
  src: local("TT Norms Black"), local("TTNorms-Black"), url("../fonts/TTNorms-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/TTNorms-Black.woff") format("woff"), url("../fonts/TTNorms-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
* {
  box-sizing: border-box;
  outline: none;
}

html {
  overflow-x: hidden;
  overflow-y: auto;
}
html.-coverscreen {
  height: 100%;
}
@media (max-width: 1106px) {
  html:not(.-coverscreen):not(.-zoommap) {
    overflow-x: scroll;
  }
}

body {
  margin: 0;
  min-width: 1106px;
  overflow: hidden;
}
.-coverscreen body {
  min-width: 0;
  height: 100%;
}

h1, h2, h3, h4 {
  margin: 0;
  font: inherit;
}

p {
  margin: 0;
}

ul, ol {
  padding: 0;
  margin: 0;
}

li {
  display: block;
}

a {
  color: inherit;
  text-decoration: inherit;
  font: inherit;
}

input, select, textarea {
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
}

input::-ms-clear {
  display: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
}
select::-ms-expand {
  display: none;
}

textarea {
  display: block;
  resize: none;
}

button {
  cursor: pointer;
  user-select: none;
  padding: 0;
  background: none;
  border: none;
  font: inherit;
  color: inherit;
  text-transform: inherit;
}
button::-moz-focus-inner {
  border: 0;
}

.row {
  display: flex;
}

.col {
  display: flex;
  flex-direction: column;
}

.w1 {
  flex-shrink: 0;
  width: 7.1428571429vw;
}
@media (max-width: 1106px) {
  .w1 {
    width: 79px;
  }
}

.w2 {
  flex-shrink: 0;
  width: 14.2857142857vw;
}
@media (max-width: 1106px) {
  .w2 {
    width: 158px;
  }
}

.w3 {
  flex-shrink: 0;
  width: 21.4285714286vw;
}
@media (max-width: 1106px) {
  .w3 {
    width: 237px;
  }
}

.w4 {
  flex-shrink: 0;
  width: 28.5714285714vw;
}
@media (max-width: 1106px) {
  .w4 {
    width: 316px;
  }
}

.w5 {
  flex-shrink: 0;
  width: 35.7142857143vw;
}
@media (max-width: 1106px) {
  .w5 {
    width: 395px;
  }
}

.w6 {
  flex-shrink: 0;
  width: 42.8571428571vw;
}
@media (max-width: 1106px) {
  .w6 {
    width: 474px;
  }
}

.w7 {
  flex-shrink: 0;
  width: 50vw;
}
@media (max-width: 1106px) {
  .w7 {
    width: 553px;
  }
}

.w8 {
  flex-shrink: 0;
  width: 57.1428571429vw;
}
@media (max-width: 1106px) {
  .w8 {
    width: 632px;
  }
}

.w9 {
  flex-shrink: 0;
  width: 64.2857142857vw;
}
@media (max-width: 1106px) {
  .w9 {
    width: 711px;
  }
}

.w10 {
  flex-shrink: 0;
  width: 71.4285714286vw;
}
@media (max-width: 1106px) {
  .w10 {
    width: 790px;
  }
}

.w11 {
  flex-shrink: 0;
  width: 78.5714285714vw;
}
@media (max-width: 1106px) {
  .w11 {
    width: 869px;
  }
}

.w12 {
  flex-shrink: 0;
  width: 85.7142857143vw;
}
@media (max-width: 1106px) {
  .w12 {
    width: 948px;
  }
}

.p1 {
  margin-left: 7.1428571429vw;
}
@media (max-width: 1106px) {
  .p1 {
    margin-left: 79px;
  }
}

.p2 {
  margin-left: 14.2857142857vw;
}
@media (max-width: 1106px) {
  .p2 {
    margin-left: 158px;
  }
}

.p3 {
  margin-left: 21.4285714286vw;
}
@media (max-width: 1106px) {
  .p3 {
    margin-left: 237px;
  }
}

.p4 {
  margin-left: 28.5714285714vw;
}
@media (max-width: 1106px) {
  .p4 {
    margin-left: 316px;
  }
}

.p5 {
  margin-left: 35.7142857143vw;
}
@media (max-width: 1106px) {
  .p5 {
    margin-left: 395px;
  }
}

.p6 {
  margin-left: 42.8571428571vw;
}
@media (max-width: 1106px) {
  .p6 {
    margin-left: 474px;
  }
}

.t8 {
  margin-top: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .t8 {
    margin-top: 10.6666666667px;
  }
}
@media (max-width: 1439px) {
  .t8 {
    margin-top: 8px;
  }
}

.r8 {
  margin-right: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .r8 {
    margin-right: 10.6666666667px;
  }
}
@media (max-width: 1439px) {
  .r8 {
    margin-right: 8px;
  }
}

.b8 {
  margin-bottom: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .b8 {
    margin-bottom: 10.6666666667px;
  }
}
@media (max-width: 1439px) {
  .b8 {
    margin-bottom: 8px;
  }
}

.l8 {
  margin-left: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .l8 {
    margin-left: 10.6666666667px;
  }
}
@media (max-width: 1439px) {
  .l8 {
    margin-left: 8px;
  }
}

.t12 {
  margin-top: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .t12 {
    margin-top: 16px;
  }
}
@media (max-width: 1439px) {
  .t12 {
    margin-top: 12px;
  }
}

.r12 {
  margin-right: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .r12 {
    margin-right: 16px;
  }
}
@media (max-width: 1439px) {
  .r12 {
    margin-right: 12px;
  }
}

.b12 {
  margin-bottom: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .b12 {
    margin-bottom: 16px;
  }
}
@media (max-width: 1439px) {
  .b12 {
    margin-bottom: 12px;
  }
}

.l12 {
  margin-left: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .l12 {
    margin-left: 16px;
  }
}
@media (max-width: 1439px) {
  .l12 {
    margin-left: 12px;
  }
}

.t16 {
  margin-top: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .t16 {
    margin-top: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  .t16 {
    margin-top: 16px;
  }
}

.r16 {
  margin-right: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .r16 {
    margin-right: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  .r16 {
    margin-right: 16px;
  }
}

.b16 {
  margin-bottom: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .b16 {
    margin-bottom: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  .b16 {
    margin-bottom: 16px;
  }
}

.l16 {
  margin-left: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .l16 {
    margin-left: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  .l16 {
    margin-left: 16px;
  }
}

.t24 {
  margin-top: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .t24 {
    margin-top: 32px;
  }
}
@media (max-width: 1439px) {
  .t24 {
    margin-top: 24px;
  }
}

.r24 {
  margin-right: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .r24 {
    margin-right: 32px;
  }
}
@media (max-width: 1439px) {
  .r24 {
    margin-right: 24px;
  }
}

.b24 {
  margin-bottom: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .b24 {
    margin-bottom: 32px;
  }
}
@media (max-width: 1439px) {
  .b24 {
    margin-bottom: 24px;
  }
}

.l24 {
  margin-left: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .l24 {
    margin-left: 32px;
  }
}
@media (max-width: 1439px) {
  .l24 {
    margin-left: 24px;
  }
}

.t32 {
  margin-top: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .t32 {
    margin-top: 42.6666666667px;
  }
}
@media (max-width: 1439px) {
  .t32 {
    margin-top: 32px;
  }
}

.r32 {
  margin-right: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .r32 {
    margin-right: 42.6666666667px;
  }
}
@media (max-width: 1439px) {
  .r32 {
    margin-right: 32px;
  }
}

.b32 {
  margin-bottom: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .b32 {
    margin-bottom: 42.6666666667px;
  }
}
@media (max-width: 1439px) {
  .b32 {
    margin-bottom: 32px;
  }
}

.l32 {
  margin-left: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .l32 {
    margin-left: 42.6666666667px;
  }
}
@media (max-width: 1439px) {
  .l32 {
    margin-left: 32px;
  }
}

.t40 {
  margin-top: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .t40 {
    margin-top: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .t40 {
    margin-top: 40px;
  }
}

.r40 {
  margin-right: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .r40 {
    margin-right: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .r40 {
    margin-right: 40px;
  }
}

.b40 {
  margin-bottom: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .b40 {
    margin-bottom: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .b40 {
    margin-bottom: 40px;
  }
}

.l40 {
  margin-left: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .l40 {
    margin-left: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .l40 {
    margin-left: 40px;
  }
}

.t48 {
  margin-top: 3.3333333333vw;
}
@media (min-width: 1920px) {
  .t48 {
    margin-top: 64px;
  }
}
@media (max-width: 1439px) {
  .t48 {
    margin-top: 48px;
  }
}

.r48 {
  margin-right: 3.3333333333vw;
}
@media (min-width: 1920px) {
  .r48 {
    margin-right: 64px;
  }
}
@media (max-width: 1439px) {
  .r48 {
    margin-right: 48px;
  }
}

.b48 {
  margin-bottom: 3.3333333333vw;
}
@media (min-width: 1920px) {
  .b48 {
    margin-bottom: 64px;
  }
}
@media (max-width: 1439px) {
  .b48 {
    margin-bottom: 48px;
  }
}

.l48 {
  margin-left: 3.3333333333vw;
}
@media (min-width: 1920px) {
  .l48 {
    margin-left: 64px;
  }
}
@media (max-width: 1439px) {
  .l48 {
    margin-left: 48px;
  }
}

.t64 {
  margin-top: 4.4444444444vw;
}
@media (min-width: 1920px) {
  .t64 {
    margin-top: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  .t64 {
    margin-top: 64px;
  }
}

.r64 {
  margin-right: 4.4444444444vw;
}
@media (min-width: 1920px) {
  .r64 {
    margin-right: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  .r64 {
    margin-right: 64px;
  }
}

.b64 {
  margin-bottom: 4.4444444444vw;
}
@media (min-width: 1920px) {
  .b64 {
    margin-bottom: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  .b64 {
    margin-bottom: 64px;
  }
}

.l64 {
  margin-left: 4.4444444444vw;
}
@media (min-width: 1920px) {
  .l64 {
    margin-left: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  .l64 {
    margin-left: 64px;
  }
}

.layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.renderfix {
  transform: translateZ(0);
}

html {
  font-family: "TT Norms", serif;
  font-size: 1.0416666667vw;
  line-height: 1.47;
  color: #1A1A1A;
}
@media (min-width: 1920px) {
  html {
    font-size: 20px;
  }
}
@media (max-width: 1439px) {
  html {
    font-size: 15px;
  }
}

#wrapper {
  background: white;
}
.-coverscreen #wrapper {
  height: 100%;
}

#page {
  position: relative;
}
.-coverscreen #page {
  height: 100%;
}

.h52 {
  font-size: 3.6111111111vw;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.0631944444vw;
  text-transform: uppercase;
}
.h52.-top {
  margin-top: -1vw;
}
@media (min-width: 1920px) {
  .h52 {
    font-size: 69px;
    letter-spacing: 1.21px;
  }
  .h52.-top {
    margin-top: -19px;
  }
}
@media (max-width: 1439px) {
  .h52 {
    font-size: 52px;
    letter-spacing: 0.91px;
  }
  .h52.-top {
    margin-top: -14px;
  }
}
@media (max-width: 1106px) {
  .h52 {
    font-size: 40px;
  }
  .h52.-top {
    margin-top: -11px;
  }
}

.h40 {
  font-size: 2.7777777778vw;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
}
.h40.-top {
  margin-top: -0.7638888889vw;
}
@media (min-width: 1920px) {
  .h40 {
    font-size: 53px;
  }
  .h40.-top {
    margin-top: -14.6666666667px;
  }
}
@media (max-width: 1439px) {
  .h40 {
    font-size: 40px;
  }
  .h40.-top {
    margin-top: -11px;
  }
}

.h36 {
  font-size: 2.5vw;
  font-weight: 500;
  line-height: 1.41;
  letter-spacing: 0.04375vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  .h36 {
    font-size: 48px;
    letter-spacing: 0.84px;
  }
}
@media (max-width: 1439px) {
  .h36 {
    font-size: 36px;
    letter-spacing: 0.63px;
  }
}

.h26 {
  font-size: 1.8055555556vw;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: 0.0347222222vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  .h26 {
    font-size: 35px;
    letter-spacing: 0.67px;
  }
}
@media (max-width: 1439px) {
  .h26 {
    font-size: 26px;
    letter-spacing: 0.5px;
  }
}

.h18 {
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.56;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  .h18 {
    font-size: 24px;
  }
}
@media (max-width: 1439px) {
  .h18 {
    font-size: 18px;
  }
}

.h11 {
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
  white-space: pre;
}
@media (min-width: 1920px) {
  .h11 {
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  .h11 {
    font-size: 11px;
    letter-spacing: 1px;
  }
}

.p {
  color: #595959;
}

.link {
  transition: color 0.15s ease-in-out;
}
.link:hover, .link:focus {
  color: #958DC7;
}
.showMenu .link:hover, .showMenu .link:focus {
  color: #1A1A1A;
}

.action {
  color: #F1B6C2;
  transition: color 0.15s ease-in-out;
}
.action:hover, .action:focus {
  color: #958DC7;
}
@supports (-webkit-background-clip: text) {
  .action {
    background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 50%, #958DC7 100%);
    background-size: 200%;
    background-position: 0;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position 0.15s ease-in-out;
  }
  .action:hover, .action:focus {
    background-position: 100%;
  }
}

.gradient {
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
}

.video {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  position: relative;
}
.video img {
  width: 100%;
  height: auto;
}
.video .gradient {
  opacity: 0.5;
}
.video:before, .video:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: center/5vw no-repeat;
  transition: opacity 0.5s;
  cursor: pointer;
}
@media (min-width: 1920px) {
  .video:before, .video:after {
    background-size: 96px;
  }
}
@media (max-width: 1439px) {
  .video:before, .video:after {
    background-size: 72px;
  }
}
.video:before {
  background-image: url(../img/icons/video.svg);
}
.video:hover:before {
  opacity: 0;
}
.video:after {
  background-image: url(../img/icons/video-hover.svg);
  opacity: 0;
}
.video:hover:after {
  opacity: 1;
}

.select {
  position: relative;
  box-sizing: border-box;
  height: 3.4722222222vw;
  border: 1px solid #EBEBEB;
}
@media (min-width: 1920px) {
  .select {
    height: 66.6666666667px;
  }
}
@media (max-width: 1439px) {
  .select {
    height: 50px;
  }
}
.select select {
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 0.8333333333vw 2.2222222222vw 1.1111111111vw 1.6666666667vw;
  text-overflow: ellipsis;
}
@media (min-width: 1920px) {
  .select select {
    padding-top: 16px;
    padding-bottom: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  .select select {
    padding-top: 12px;
    padding-bottom: 16px;
  }
}
.select .placeholder {
  pointer-events: none;
  position: absolute;
  top: 0.8333333333vw;
  left: 1.6666666667vw;
  right: 2.2222222222vw;
  color: #A3A3A3;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 1920px) {
  .select .placeholder {
    top: 16px;
  }
}
@media (max-width: 1439px) {
  .select .placeholder {
    top: 12px;
  }
}
.select select:valid + .placeholder {
  opacity: 0;
}
.select:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.4166666667vw);
  right: 1.1111111111vw;
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border: 0.1388888889vw solid #1A1A1A;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
@media (min-width: 1920px) {
  .select:after {
    top: calc(50% - 8px);
    right: 21.3333333333px;
    width: 8px;
    height: 8px;
    border-width: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  .select:after {
    top: calc(50% - 6px);
    right: 16px;
    width: 6px;
    height: 6px;
    border-width: 2px;
  }
}

.button {
  user-select: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 4.1666666667vw;
  overflow: hidden;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 50%, #958DC7 100%);
  background-size: 200%;
  background-position: 0;
  transition: background-position 0.15s ease-in-out;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
  color: white;
}
@media (min-width: 1920px) {
  .button {
    height: 80px;
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  .button {
    height: 60px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}
.button:hover {
  background-position: 100%;
}
.button:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.animate .button:after, .button.animate:after {
  animation-name: slide;
}
.animate .button .text, .button.animate .text {
  animation-name: appear;
  animation-duration: 0.5s;
  animation-timing-function: ease-in;
  animation-fill-mode: backwards;
  animation-delay: 0.5s;
}

.formatted p {
  margin: 1.9444444444vw 0;
}
@media (min-width: 1920px) {
  .formatted p {
    margin: 37.3333333333px 0;
  }
}
@media (max-width: 1439px) {
  .formatted p {
    margin: 28px 0;
  }
}
.formatted ul {
  margin: 2.7777777778vw 0 4.4444444444vw;
}
@media (min-width: 1920px) {
  .formatted ul {
    margin: 53.3333333333px 0 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  .formatted ul {
    margin: 40px 0 64px;
  }
}
.formatted li {
  display: flex;
  margin: 0.8333333333vw 0;
}
@media (min-width: 1920px) {
  .formatted li {
    margin: 16px 0;
  }
}
@media (max-width: 1439px) {
  .formatted li {
    margin: 12px 0;
  }
}
.formatted li:before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1A1A1A;
  margin-top: 0.8333333333vw;
  margin-right: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .formatted li:before {
    width: 8px;
    height: 8px;
    margin-top: 16px;
    margin-right: 16px;
  }
}
@media (max-width: 1439px) {
  .formatted li:before {
    margin-top: 12px;
    margin-right: 12px;
  }
}

.delay1 {
  animation-delay: 0.1s;
}

.delay2 {
  animation-delay: 0.2s;
}

.delay3 {
  animation-delay: 0.3s;
}

.delay4 {
  animation-delay: 0.4s;
}

.delay5 {
  animation-delay: 0.5s;
}

.delay6 {
  animation-delay: 0.6s;
}

.delay7 {
  animation-delay: 0.7s;
}

.delay8 {
  animation-delay: 0.8s;
}

.delay9 {
  animation-delay: 0.9s;
}

.delay10 {
  animation-delay: 1s;
}

.delay11 {
  animation-delay: 1.1s;
}

.delay12 {
  animation-delay: 1.2s;
}

.delay13 {
  animation-delay: 1.3s;
}

.delay14 {
  animation-delay: 1.4s;
}

.delay15 {
  animation-delay: 1.5s;
}

@keyframes enable {
  0% {
    pointer-events: none;
  }
  99% {
    pointer-events: none;
  }
  100% {
    pointer-events: all;
  }
}
@keyframes appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.appear {
  animation-name: appear;
  animation-duration: 0.5s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

@keyframes disappear {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.disappear {
  animation-name: disappear;
  animation-duration: 0.5s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

@keyframes fromBottom {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hidden .fromBottom, .fromBottom.hidden, .hidden .animated-text, .animated-text.hidden {
  opacity: 0;
}
.animate .fromBottom, .fromBottom.animate, .animate .animated-text, .animated-text.animate {
  animation-name: fromBottom;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: backwards;
}

@keyframes slide {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}
.media {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.media:before, .media:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.animate .media:before, .animate .media:after {
  animation-name: slide;
}
.media:before {
  z-index: 3;
  background: white;
}
.media:after {
  z-index: 2;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  animation-delay: 0.5s;
}

@keyframes zoomIn {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
@keyframes zoomOut {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
@keyframes backgroundGradient1 {
  0% {
    background-image: url(../img/gradient/01.svg);
    opacity: 1;
  }
  25% {
    background-image: url(../img/gradient/01.svg);
    opacity: 0;
  }
  25.1% {
    background-image: url(../img/gradient/03.svg);
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0;
    background-image: url(../img/gradient/03.svg);
  }
  75.1% {
    background-image: url(../img/gradient/01.svg);
  }
  100% {
    opacity: 1;
    background-image: url(../img/gradient/01.svg);
  }
}
@keyframes backgroundGradient2 {
  0% {
    background-image: url(../img/gradient/02.svg);
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    background-image: url(../img/gradient/02.svg);
    opacity: 0;
  }
  50.1% {
    background-image: url(../img/gradient/04.svg);
  }
  75% {
    opacity: 1;
  }
  100% {
    background-image: url(../img/gradient/04.svg);
    opacity: 0;
  }
}
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  transition: opacity 1s;
}
.hidePreloader #preloader {
  opacity: 0;
}
.-ready #preloader {
  visibility: hidden;
}
#preloader:before, #preloader:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@keyframes preloader {
  from {
    filter: hue-rotate(45deg);
  }
  to {
    filter: hue-rotate(-90deg);
  }
}
#preloader:before {
  background: radial-gradient(circle, #ffcbd6, #d0c2ff) 200px;
  animation: preloader 1s linear alternate infinite;
}
#preloader:after {
  background: url(../img/preloader.svg) center/cover;
}

.swiper-container {
  animation: enable 2s backwards;
}
.swiper-container:not(.-noloop) {
  overflow: hidden;
}
.hidden .swiper-container {
  animation-play-state: paused;
}

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  position: relative;
}
.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) {
  cursor: pointer;
}
.swiper-slide .container {
  display: flex;
  position: relative;
  overflow: hidden;
}
.swiper-slide .container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  background: white;
}
.swiper-slide .container:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
}
.swiper-slide .background {
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  filter: blur(10px);
}
@media (pointer: coarse) {
  .swiper-slide .background {
    display: none;
  }
}
.swiper-slide .image {
  position: relative;
  width: auto;
  height: 100%;
  transition: opacity 0.5s;
}
.swiper-slide .gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s;
}
@media (pointer: fine) {
  .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active):not(:hover) .image {
    opacity: 0;
  }
}
.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active):not(:hover) .gradient {
  opacity: 0.5;
}

@keyframes slide {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}
.animate .container:before, .animate .container:after {
  animation: slide 1s ease-in-out forwards;
}

.swiper-container:not(.-left) .swiper-slide[data-swiper-slide-index="0"] .container:after {
  animation-delay: 0.5s;
}
.swiper-container:not(.-left) .swiper-slide[data-swiper-slide-index="1"] .container:before {
  animation-delay: 1s;
}
.swiper-container:not(.-left) .swiper-slide[data-swiper-slide-index="1"] .container:after {
  animation-delay: 1.5s;
}
.swiper-container:not(.-left) .swiper-slide[data-swiper-slide-index="2"] .container:before {
  animation-delay: 2s;
}
.swiper-container:not(.-left) .swiper-slide[data-swiper-slide-index="2"] .container:after {
  animation-delay: 2.5s;
}

.swiper-container.-left .swiper-slide-active .container:before {
  animation-delay: 1s;
}
.swiper-container.-left .swiper-slide-active .container:after {
  animation-delay: 1.5s;
}

.swiper-container.-noloop .swiper-slide-next .container:before {
  animation-delay: 1s;
}
.swiper-container.-noloop .swiper-slide-next .container:after {
  animation-delay: 1.5s;
}

.swiper-controls {
  display: flex;
  align-items: center;
  position: absolute;
  margin-top: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .swiper-controls {
    margin-top: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .swiper-controls {
    margin-top: 40px;
  }
}

.swiper-container.-left .swiper-controls {
  justify-content: flex-end;
}

.swiper-pagination {
  display: flex;
}

.swiper-pagination-bullet, .bullet {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 17px;
  height: 17px;
}
.animate .swiper-pagination-bullet, .animate .bullet {
  animation: zoomIn 0.5s ease-in-out backwards;
}
.swiper-pagination-bullet:after, .bullet:after {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #D1D1D1;
  transition: background 0.15s ease-in-out, box-shadow 0.5s ease-in-out;
}
.swiper-pagination-bullet-active, .swiper-pagination-bullet.-active, .bullet-active, .bullet.-active {
  pointer-events: none;
}
.swiper-pagination-bullet-active:after, .swiper-pagination-bullet.-active:after, .bullet-active:after, .bullet.-active:after {
  background: #1A1A1A;
  box-shadow: 0 0 0 6px #E8E8E8;
}
.swiper-pagination-bullet:hover:after, .swiper-pagination-bullet:focus:after, .bullet:hover:after, .bullet:focus:after {
  background-color: #958DC7;
}
@media (min-width: 1680px) {
  .swiper-pagination-bullet, .bullet {
    width: 20px;
    height: 20px;
  }
  .swiper-pagination-bullet:after, .bullet:after {
    width: 6px;
    height: 6px;
  }
  .swiper-pagination-bullet-active:after, .swiper-pagination-bullet.-active:after, .bullet-active:after, .bullet.-active:after {
    box-shadow: 0 0 0 7px #E8E8E8;
  }
}
@media (min-width: 1920px) {
  .swiper-pagination-bullet, .bullet {
    width: 23px;
    height: 23px;
  }
  .swiper-pagination-bullet:after, .bullet:after {
    width: 7px;
    height: 7px;
  }
  .swiper-pagination-bullet-active:after, .swiper-pagination-bullet.-active:after, .bullet-active:after, .bullet.-active:after {
    box-shadow: 0 0 0 8px #E8E8E8;
  }
}
.swiper-pagination-bullet:not(:last-of-type), .bullet:not(:last-of-type) {
  margin-right: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .swiper-pagination-bullet:not(:last-of-type), .bullet:not(:last-of-type) {
    margin-right: 16px;
  }
}
@media (max-width: 1439px) {
  .swiper-pagination-bullet:not(:last-of-type), .bullet:not(:last-of-type) {
    margin-right: 12px;
  }
}

.swiper-container .prev, .swiper-container .next {
  cursor: pointer;
  position: relative;
  width: 2.2222222222vw;
  height: 2.2222222222vw;
  background: center/2.2222222222vw no-repeat;
  transition: opacity 0.15s linear;
}
.swiper-container .prev.swiper-button-disabled, .swiper-container .next.swiper-button-disabled {
  cursor: default;
  opacity: 0.2;
}
.swiper-container .prev:after, .swiper-container .next:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white center/2.2222222222vw no-repeat;
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}
@media (min-width: 1920px) {
  .swiper-container .prev, .swiper-container .next {
    width: 43px;
    height: 43px;
    background-size: 43px;
  }
  .swiper-container .prev:after, .swiper-container .next:after {
    background-size: 43px;
  }
}
@media (max-width: 1439px) {
  .swiper-container .prev, .swiper-container .next {
    width: 32px;
    height: 32px;
    background-size: 32px;
  }
  .swiper-container .prev:after, .swiper-container .next:after {
    background-size: 32px;
  }
}
.-left .swiper-container .prev, .-left .swiper-container .next {
  animation-delay: 1s;
}
@keyframes prev {
  from {
    opacity: 0;
    transform: translateX(12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.swiper-container .prev {
  background-image: url(../img/icons/prev.svg);
  margin-right: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .swiper-container .prev {
    margin-right: 32px;
  }
}
@media (max-width: 1439px) {
  .swiper-container .prev {
    margin-right: 24px;
  }
}
.swiper-container .prev:after {
  background-image: url(../img/icons/prev-hover.svg);
}
.swiper-container .prev:not(.swiper-button-disabled):hover:after, .swiper-container .prev:not(.swiper-button-disabled):focus:after {
  opacity: 1;
}
.hidden .swiper-container .prev {
  opacity: 0;
  transform: translateX(12px);
}
.animate .swiper-container .prev {
  animation-name: prev;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: backwards;
}
@keyframes next {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.swiper-container .next {
  background-image: url(../img/icons/next.svg);
}
.swiper-container .next:after {
  background-image: url(../img/icons/next-hover.svg);
}
.swiper-container .next:not(.swiper-button-disabled):hover:after, .swiper-container .next:not(.swiper-button-disabled):focus:after {
  opacity: 1;
}
.hidden .swiper-container .next {
  opacity: 0;
  transform: translateX(-12px);
}
.animate .swiper-container .next {
  animation-name: next;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: backwards;
}

.splash {
  margin-left: 14.2857142857vw;
  position: relative;
  height: 48.6111111111vw;
  max-height: 90vh;
  overflow: hidden;
  color: white;
  transform: translateZ(0);
}
@media (min-width: 1920px) {
  .splash {
    height: 933.3333333333px;
  }
}
@media (max-width: 1439px) {
  .splash {
    height: 700px;
  }
}
@media (max-width: 1106px) {
  .splash {
    margin-left: 158px;
  }
}
.splash.hidden {
  pointer-events: none;
}
.splash.animate {
  animation: enable 1.5s backwards;
}
.splash .layer {
  pointer-events: none;
}
.splash .blurred:before, .splash .blurred:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: transform 1s ease-in-out;
}
.splash .blurred:before {
  z-index: 1;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  transition-delay: 0.5s;
}
.splash .blurred:after {
  z-index: 2;
  background: white;
}
.splash .blurred .image {
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background: center/cover;
  filter: blur(15px);
}
@media (max-width: 1106px) {
  .splash .blurred .image {
    width: calc(948px + 30px);
  }
}
.splash .blurred .image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  opacity: 0.5;
}
.splash.animate .blurred:before, .splash.animate .blurred:after {
  transform: translate3d(-100%, 0, 0);
}
.splash .text {
  z-index: 3;
  padding-top: 6.6666666667vw;
  padding-left: 7.1428571429vw;
}
@media (min-width: 1920px) {
  .splash .text {
    padding-top: 128px;
  }
}
@media (max-width: 1439px) {
  .splash .text {
    padding-top: 96px;
  }
}
@media (max-width: 1106px) {
  .splash .text {
    padding-left: 79px;
  }
}
.splash .circle {
  pointer-events: none;
  position: absolute;
  z-index: 4;
  width: 0;
  height: 0;
  border-radius: 50%;
  overflow: hidden;
}
.splash .circle .image {
  position: absolute;
  width: 85.7142857143vw;
  height: 48.6111111111vw;
  max-height: 90vh;
  background: center/cover;
}
@media (min-width: 1920px) {
  .splash .circle .image {
    height: 933.3333333333px;
  }
}
@media (max-width: 1439px) {
  .splash .circle .image {
    height: 700px;
  }
}
@media (max-width: 1106px) {
  .splash .circle .image {
    width: 948px;
  }
}

#wrapper {
  transform-origin: right center;
  transition: transform 1s ease-in-out;
}
.showMenu #wrapper {
  cursor: pointer;
  transform: scale(0.5);
}

.showMenu #page, .menuTransition #page {
  pointer-events: none;
}

#menu {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-left: 14.2857142857vw;
  color: white;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
}
.showMenu #menu {
  opacity: 1;
}
.showMenu:not(.menuTransition) #menu {
  pointer-events: all;
}
@keyframes menuBackgroundHue {
  from {
    filter: hue-rotate(0deg);
  }
  to {
    filter: hue-rotate(-45deg);
  }
}
@keyframes menuBackgroundRotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-360deg);
  }
}
#menu .background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-image: linear-gradient(to right, #D98F9E 0%, #736AAD 100%);
}
#menu .background:before, #menu .background:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center/cover no-repeat;
  animation: 10s linear infinite;
}
.showMenu #menu .background:before, .menuTransition #menu .background:before {
  animation-name: backgroundGradient1;
}
.showMenu #menu .background:after, .menuTransition #menu .background:after {
  animation-name: backgroundGradient2;
}
#menu .links {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
#menu .links .link {
  font-size: 1.0416666667vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
  padding: 1.25vw 0;
}
@media (min-width: 1920px) {
  #menu .links .link {
    padding: 24px 0;
    font-size: 20px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  #menu .links .link {
    padding: 18px 0;
    font-size: 15px;
    letter-spacing: 1px;
  }
}
@keyframes menuLink {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.showMenu #menu .links .link {
  animation: menuLink 0.5s ease-in-out backwards;
}
#menu .links .link:nth-child(1) {
  animation-delay: 0.5s;
}
#menu .links .link:nth-child(2) {
  animation-delay: 0.6s;
}
#menu .links .link:nth-child(3) {
  animation-delay: 0.7s;
}
#menu .links .link:nth-child(4) {
  animation-delay: 0.8s;
}
#menu .links .link:nth-child(5) {
  animation-delay: 0.9s;
}
#menu .links .link:nth-child(6) {
  animation-delay: 1s;
}
#menu .links .link:nth-child(7) {
  animation-delay: 1.1s;
}
#menu .links .link:nth-child(8) {
  animation-delay: 1.2s;
}
#menu .links .link:nth-child(9) {
  animation-delay: 1.3s;
}
#menu .links .link.-active {
  display: flex;
  align-items: center;
  position: relative;
}
#menu .links .link.-active:before {
  content: "";
  display: block;
  position: absolute;
  right: 100%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: white;
  margin-right: 1.1111111111vw;
  transition: background 0.15s ease-in-out;
}
@media (min-width: 1680px) {
  #menu .links .link.-active:before {
    width: 8px;
    height: 8px;
  }
}
@media (min-width: 1920px) {
  #menu .links .link.-active:before {
    width: 9px;
    height: 9px;
    margin-right: 21.3333333333px;
  }
}
@media (max-width: 1439px) {
  #menu .links .link.-active:before {
    margin-right: 16px;
  }
}
#menu .links .link.-active:hover:before {
  background: #1A1A1A;
}
#menu .greencow {
  position: absolute;
  bottom: 34px;
  right: 4.4444444444vw;
  font-size: 0.9027777778vw;
  line-height: 1.38;
}
@media (min-width: 1920px) {
  #menu .greencow {
    right: 85.3333333333px;
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #menu .greencow {
    right: 64px;
    font-size: 13px;
  }
}
.showMenu #menu .greencow {
  animation: fromBottom 0.5s ease-in-out 0.5s backwards;
}

#sidebar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 80px;
  background: white;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
  transition: background-color 0.25s ease-in 0.5s;
}
#sidebar:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 1px;
  background: #EBEBEB;
  transition: background-color 1s ease-in-out;
}
#sidebar.-transparent {
  background: none;
  color: white;
}
#sidebar.-transparent:after {
  background: rgba(255, 255, 255, 0.2);
}
.showMenu #sidebar {
  background: transparent;
  transition-delay: 0s;
}
.showMenu #sidebar:after {
  background: rgba(255, 255, 255, 0.2);
}
@media (min-width: 1920px) {
  #sidebar {
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  #sidebar {
    font-size: 11px;
    letter-spacing: 1px;
  }
}
@keyframes menu {
  from {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
#sidebar.hidden {
  transform: translateX(-200%);
}
#sidebar.animate {
  animation: menu 1s ease-out;
}

.menu_button {
  user-select: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
  height: 160px;
}
body:not(.showMenu):not(.menuTransition) .menu_button:hover {
  color: #958DC7;
}
@media (pointer: coarse) {
  body:not(.showMenu):not(.menuTransition) .menu_button:hover {
    color: white;
  }
}
#sidebar.-transparent .menu_button:hover {
  color: #1A1A1A;
}
@media (pointer: coarse) {
  #sidebar.-transparent .menu_button:hover {
    color: white;
  }
}
.showMenu:not(.menuTransition) .menu_button:hover .menu_icon {
  transform: rotate(90deg);
}

.menu_icon {
  display: flex;
  align-items: center;
  width: 2.2222222222vw;
  height: 80px;
}
.showMenu .menu_icon {
  transition: transform 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  .menu_icon {
    width: 43px;
  }
}
@media (max-width: 1439px) {
  .menu_icon {
    width: 32px;
  }
}
.menu_icon:before, .menu_icon:after {
  content: "";
  position: absolute;
  width: 2.2222222222vw;
  height: 2px;
  background: #1A1A1A;
  transform-origin: center center;
  transition: background-color 0.15s ease-in-out;
}
#sidebar.-transparent .menu_icon:before, #sidebar.-transparent .menu_icon:after {
  background: white;
}
#sidebar.-transparent .menu_button:hover .menu_icon:before, #sidebar.-transparent .menu_button:hover .menu_icon:after {
  background: #1A1A1A;
}
@media (pointer: coarse) {
  #sidebar.-transparent .menu_button:hover .menu_icon:before, #sidebar.-transparent .menu_button:hover .menu_icon:after {
    background: white;
  }
}
.menuTransition .menu_icon:before, .menuTransition .menu_icon:after {
  transition-duration: 1s;
}
@media (min-width: 1920px) {
  .menu_icon:before, .menu_icon:after {
    width: 43px;
    height: 3px;
  }
}
@media (max-width: 1439px) {
  .menu_icon:before, .menu_icon:after {
    width: 32px;
  }
}
@keyframes menuIconBeforeCollapse {
  from {
    transform: translateY(-4px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes menuIconBeforeExpand {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-4px);
  }
}
@keyframes menuIconBeforeRotate {
  from {
    transform: translateY(0) rotate(0);
  }
  to {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes menuIconBeforeStraighten {
  from {
    transform: translateY(0) rotate(-45deg);
  }
  to {
    transform: translateY(0) rotate(0);
  }
}
.menu_icon:before {
  transform: translateY(-4px);
}
.showMenu .menu_icon:before {
  transform: translateY(0) rotate(-45deg);
  animation: menuIconBeforeCollapse 0.5s ease-in-out, menuIconBeforeRotate 0.5s ease-in-out 0.5s;
}
.hideMenu .menu_icon:before {
  animation: menuIconBeforeStraighten 0.5s ease-in-out, menuIconBeforeExpand 0.5s ease-in-out 0.5s;
}
@media (min-width: 1920px) {
  .menu_icon:before {
    transform: translateY(-5px);
  }
}
@keyframes menuIconAfterCollapse {
  from {
    transform: translateY(4px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes menuIconAfterExpand {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(4px);
  }
}
@keyframes menuIconAfterRotate {
  from {
    transform: translateY(0) rotate(0);
  }
  to {
    transform: translateY(0) rotate(45deg);
  }
}
@keyframes menuIconAfterStraighten {
  from {
    transform: translateY(0) rotate(45deg);
  }
  to {
    transform: translateY(0) rotate(0);
  }
}
.menu_icon:after {
  transform: translateY(4px);
}
.showMenu .menu_icon:after {
  transform: translateY(0) rotate(45deg);
  animation: menuIconAfterCollapse 0.5s ease-in-out, menuIconAfterRotate 0.5s ease-in-out 0.5s;
}
.hideMenu .menu_icon:after {
  animation: menuIconAfterStraighten 0.5s ease-in-out, menuIconAfterExpand 0.5s ease-in-out 0.5s;
}
@media (min-width: 1920px) {
  .menu_icon:after {
    transform: translateY(5px);
  }
}

.showMenu .menu_button:not(:hover) .menu_icon:before, .showMenu .menu_button:not(:hover) .menu_icon:after {
  background: white;
}

body:not(.showMenu):not(.menuTransition) .menu_button:hover .menu_icon:before, body:not(.showMenu):not(.menuTransition) .menu_button:hover .menu_icon:after {
  background: #958DC7;
}
@media (pointer: coarse) {
  body:not(.showMenu):not(.menuTransition) .menu_button:hover .menu_icon:before, body:not(.showMenu):not(.menuTransition) .menu_button:hover .menu_icon:after {
    background: white;
  }
}

.menu_label {
  position: absolute;
  right: 50%;
  top: 60px;
  transform-origin: right center;
  transform: rotate(-90deg);
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, color 0.15s ease-in-out;
}
.menuTransition .menu_label {
  transition-duration: 0.5s, 0.5s, 1s;
}
.menu_label:not(.-close) {
  transition-delay: 0.5s, 0.5s, 0s;
}
.menu_label.-close {
  transform: translateY(10px) rotate(-90deg);
  opacity: 0;
}

.showMenu .menu_button:not(:hover) .menu_label.-close {
  color: white;
}

.showMenu .menu_label:not(.-close) {
  transform: translateY(10px) rotate(-90deg);
  opacity: 0;
  transition-delay: 0s;
}
.showMenu .menu_label.-close {
  transform: translateY(0) rotate(-90deg);
  opacity: 1;
  transition-delay: 0.5s, 0.5s, 0s;
}
@media (pointer: coarse) {
  .showMenu .menu_label.-close {
    color: white;
  }
}

.logo {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 12.2916666667vw;
  transform: translateY(-50%);
  font-size: 0;
  color: transparent;
}
.logo:before, .logo:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: opacity 0.15s ease-in-out;
}
.menuTransition .logo:before, .menuTransition .logo:after {
  transition-duration: 1s;
}
.logo:before {
  background: url(../img/logo-gradient.svg) center/contain no-repeat;
}
.-transparent .logo:before {
  background-image: url(../img/logo-home.svg);
}
.showMenu .logo:before {
  opacity: 0;
}
.showMenu:not(.menuTransition) .logo:before {
  background-image: url(../img/logo.svg);
}
.logo:hover:before, .logo:focus:before {
  opacity: 0;
}
.showMenu .logo:hover:before, .showMenu .logo:focus:before {
  opacity: 1;
}
.logo:after {
  background: url(../img/logo-color.svg) center/contain no-repeat;
  opacity: 0;
}
.-transparent .logo:after {
  background-image: url(../img/logo.svg);
}
.showMenu .logo:after, .menuTransition .logo:after {
  background-image: url(../img/logo-white.svg);
}
.showMenu .logo:after {
  opacity: 1;
}
.logo:hover:after, .logo:focus:after {
  opacity: 1;
}
.showMenu .logo:hover:after, .showMenu .logo:focus:after {
  opacity: 0;
}
@media (min-width: 1920px) {
  .logo {
    height: 236px;
  }
}
@media (max-width: 1439px) {
  .logo {
    height: 177px;
  }
}

.language {
  margin-left: 50%;
  transform-origin: left center;
  transform: rotate(-90deg);
  transition: color 0.15s ease-in-out;
  margin-bottom: 30px;
}
.showMenu .language {
  color: white;
}
#sidebar.-transparent .language:hover {
  color: #1A1A1A;
}
.menuTransition .language {
  transition-duration: 1s;
}

#header {
  display: flex;
  position: absolute;
  left: 14.2857142857vw;
  width: 78.5714285714vw;
  padding-top: 35px;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  #header {
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  #header {
    font-size: 11px;
    letter-spacing: 1px;
  }
}
@media (max-width: 1106px) {
  #header {
    left: 158px;
    width: 869px;
  }
}
@keyframes header {
  from {
    transform: translateY(-200%);
  }
  to {
    transform: translateY(0);
  }
}
#header.hidden {
  transform: translateY(-200%);
}
#header.animate {
  animation: header 1s ease-out;
}
#header .title {
  flex-grow: 1;
  display: flex;
  align-items: center;
  position: relative;
}
#header .phone {
  position: relative;
  z-index: 5;
  font-size: 0.8333333333vw;
  letter-spacing: 0.0451388889vw;
}
@media (min-width: 1920px) {
  #header .phone {
    font-size: 16px;
  }
}
@media (max-width: 1439px) {
  #header .phone {
    font-size: 12px;
  }
}

.social {
  display: flex;
  align-items: center;
  transition: color 0.15s ease-in-out;
}
.social:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 0.8333333333vw;
}
@media (min-width: 1680px) {
  .social:before {
    width: 7px;
    height: 7px;
  }
}
@media (min-width: 1920px) {
  .social:before {
    width: 8px;
    height: 8px;
    margin-right: 16px;
  }
}
@media (max-width: 1439px) {
  .social:before {
    margin-right: 12px;
  }
}

.facebook:before {
  background: #1777F2;
  animation: appear 0.5s ease-in backwards 1.1s;
}
.facebook:hover, .facebook:focus {
  color: #1777F2;
}

.instagram:before {
  background: #D21D89;
  animation: appear 0.5s ease-in backwards 1.2s;
}
.instagram:hover, .instagram:focus {
  color: #D21D89;
}

.showSuccess, .hideSuccess {
  overflow: hidden;
}

.form {
  display: flex;
  margin-bottom: 11.1111111111vw;
}
@media (min-width: 1920px) {
  .form {
    margin-bottom: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  .form {
    margin-bottom: 160px;
  }
}
.form form {
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}
.form.hidden form {
  opacity: 0;
  transform: translateY(50px);
}
.form.animate form {
  opacity: 1;
  transform: translateY(0);
}

.inputs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.input {
  position: relative;
  width: 13.5416666667vw;
  height: 4.1666666667vw;
  box-shadow: 0 0 0 1px #EBEBEB inset;
}
.input.-invalid, .input.-empty {
  color: #C73C3C;
}
@media (min-width: 1920px) {
  .input {
    height: 80px;
  }
}
@media (max-width: 1439px) {
  .input {
    height: 60px;
  }
}
@media (max-width: 1106px) {
  .input {
    width: 152px;
  }
}
.input input {
  width: 100%;
  height: 100%;
  padding: 1.9444444444vw 1.6666666667vw 0.6944444444vw;
}
@media (min-width: 1920px) {
  .input input {
    padding: 37.3333333333px 32px 13.3333333333px;
  }
}
@media (max-width: 1439px) {
  .input input {
    padding: 28px 1.6666666667vw 10px;
  }
}
.input:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  top: 0.6944444444vw;
  right: 0.7638888889vw;
  border-radius: 50%;
  background: #D1D1D1;
}
@media (min-width: 1920px) {
  .input:after {
    width: 5px;
    height: 5px;
  }
}
@media (max-width: 1439px) {
  .input:after {
    top: 10px;
    right: 11px;
  }
}
.input.-valid:after {
  background: #1A1A1A;
}
.input.-invalid:after, .input.-empty:after {
  background: #C73C3C;
}

.textarea {
  margin-top: 1.1111111111vw;
  display: flex;
  position: relative;
  width: 100%;
  height: 8.3333333333vw;
  box-shadow: 0 0 0 1px #EBEBEB inset;
}
@media (min-width: 1920px) {
  .textarea {
    height: 160px;
  }
}
@media (max-width: 1439px) {
  .textarea {
    height: 120px;
  }
}
@media (max-width: 1106px) {
  .textarea {
    margin-top: 12px;
  }
}
.textarea textarea {
  width: 100%;
  height: 100%;
  padding: 1.9444444444vw 1.6666666667vw 0.6944444444vw;
}
@media (min-width: 1920px) {
  .textarea textarea {
    padding: 37.3333333333px 32px 13.3333333333px;
  }
}
@media (max-width: 1439px) {
  .textarea textarea {
    padding: 28px 1.6666666667vw 10px;
  }
}

.input .placeholder, .textarea .placeholder {
  pointer-events: none;
  position: absolute;
  top: 1.25vw;
  left: 1.6666666667vw;
  font-size: 1.0416666667vw;
  line-height: 1.5;
  color: #A3A3A3;
  transition: top 0.15s ease-in-out, font-size 0.15s ease-in-out;
}
@media (min-width: 1920px) {
  .input .placeholder, .textarea .placeholder {
    top: 24px;
    left: 32px;
    font-size: 20px;
  }
}
@media (max-width: 1439px) {
  .input .placeholder, .textarea .placeholder {
    top: 18px;
    font-size: 15px;
  }
}
.input:hover .placeholder, .textarea:hover .placeholder {
  color: #767676;
}
.input.-valid .placeholder, .textarea.-valid .placeholder {
  color: #958DC7;
}
.input.-empty .placeholder, .textarea.-empty .placeholder {
  color: #C73C3C;
}
.input.-focus .placeholder, .input.-valid .placeholder, .input.-invalid .placeholder, .textarea.-focus .placeholder, .textarea.-valid .placeholder, .textarea.-invalid .placeholder {
  top: 0.5555555556vw;
  font-size: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .input.-focus .placeholder, .input.-valid .placeholder, .input.-invalid .placeholder, .textarea.-focus .placeholder, .textarea.-valid .placeholder, .textarea.-invalid .placeholder {
    top: 10.6666666667px;
    font-size: 16px;
  }
}
@media (max-width: 1439px) {
  .input.-focus .placeholder, .input.-valid .placeholder, .input.-invalid .placeholder, .textarea.-focus .placeholder, .textarea.-valid .placeholder, .textarea.-invalid .placeholder {
    top: 8px;
    font-size: 12px;
  }
}

.submit {
  cursor: pointer;
  margin-top: 1.1111111111vw;
  position: relative;
  width: 100%;
  height: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .submit {
    height: 80px;
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  .submit {
    height: 60px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}
@media (max-width: 1106px) {
  .submit {
    margin-top: 12px;
  }
}
.submit .background {
  position: absolute;
  width: 0;
  height: 100%;
  transition: width 1s ease-in-out 0.5s;
}
.submit .background:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 42.8571428571vw;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 50%, #958DC7 100%);
  background-size: 200%;
  background-position: 0;
  transition: background-position 0.15s ease-in-out;
}
@media (max-width: 1106px) {
  .submit .background:before {
    width: 474px;
  }
}

.form.animate .submit .background {
  width: 100%;
}

.form .submit:hover .background:before, .form .submit .text:focus + .background:before {
  background-position: 100%;
}
.form .submit .text {
  z-index: 1;
  width: 100%;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
  text-align: center;
  color: white;
  transition: opacity 1s ease-in-out 1s;
}
@media (min-width: 1920px) {
  .form .submit .text {
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  .form .submit .text {
    font-size: 11px;
    letter-spacing: 1px;
  }
}

.form.hidden .submit .text {
  opacity: 0;
}

.form.animate .submit .text {
  opacity: 1;
}

.small {
  font-size: 0.9027777778vw;
  line-height: 1.38;
  color: #BBB;
  transition: transform 1s ease-in-out 0.75s, opacity 1s ease-in-out 0.75s;
}
@media (min-width: 1920px) {
  .small {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  .small {
    font-size: 13px;
  }
}
.small a {
  transition: color 0.15s ease-in-out;
}
.small a:hover, .small a:focus {
  color: #1A1A1A;
}

.form.hidden .small {
  opacity: 0;
  transform: translateY(50px);
}

.form.animate .small {
  opacity: 1;
  transform: translateY(0);
}

.success-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  visibility: hidden;
}
.showSuccess .success-container, .hideSuccess .success-container {
  visibility: visible;
}
.showSuccess .success-container {
  animation: appear 0.5s;
}
.hideSuccess .success-container {
  animation: disappear 0.5s forwards;
}
.success-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  opacity: 0.5;
}

.success-modal {
  position: relative;
  width: 42.8571428571vw;
  height: 20.4166666667vw;
  padding: 4.4444444444vw 0 0 5vw;
  background: white;
}
@media (min-width: 1920px) {
  .success-modal {
    height: 392px;
    padding: 85.3333333333px 0 0 96px;
  }
}
@media (max-width: 1439px) {
  .success-modal {
    height: 294px;
    padding: 64px 0 0 72px;
  }
}
@media (max-width: 1106px) {
  .success-modal {
    width: 474px;
  }
}
.success-modal .close {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  width: 5.4166666667vw;
  height: 5.4166666667vw;
}
@media (min-width: 1920px) {
  .success-modal .close {
    width: 104px;
    height: 104px;
  }
}
@media (max-width: 1439px) {
  .success-modal .close {
    width: 78px;
    height: 78px;
  }
}
.success-modal .close:before, .success-modal .close:after {
  content: "";
  position: absolute;
  top: 2.6388888889vw;
  left: 1.875vw;
  width: 1.8055555556vw;
  height: 0.1388888889vw;
  background: #1A1A1A;
  transition: transform 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  .success-modal .close:before, .success-modal .close:after {
    top: 50.6666666667px;
    left: 36px;
    width: 34.6666666667px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  .success-modal .close:before, .success-modal .close:after {
    top: 38px;
    left: 27px;
    width: 26px;
    height: 2px;
  }
}
.success-modal .close:before {
  transform: rotate(45deg);
}
.success-modal .close:hover:before {
  transform: rotate(135deg);
}
.success-modal .close:after {
  transform: rotate(-45deg);
}
.success-modal .close:hover:after {
  transform: rotate(45deg);
}

#footer {
  margin-left: 14.2857142857vw;
  width: 78.5714285714vw;
}
@media (max-width: 1106px) {
  #footer {
    margin-left: 158px;
    width: 869px;
  }
}
#footer .links {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: space-between;
  height: 3.125vw;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  #footer .links {
    height: 60px;
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  #footer .links {
    height: 45px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}
#footer .link:nth-child(2n) {
  margin-top: 1.6666666667vw;
  animation-delay: 0.1s;
}
@media (min-width: 1920px) {
  #footer .link:nth-child(2n) {
    margin-top: 32px;
  }
}
@media (max-width: 1439px) {
  #footer .link:nth-child(2n) {
    margin-top: 24px;
  }
}
#footer .link.-active {
  display: flex;
  align-items: center;
  position: relative;
}
#footer .link.-active:before {
  content: "";
  display: block;
  position: absolute;
  right: 100%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1A1A1A;
  margin-right: 0.8333333333vw;
  transition: background 0.15s ease-in-out;
}
@media (min-width: 1680px) {
  #footer .link.-active:before {
    width: 7px;
    height: 7px;
  }
}
@media (min-width: 1920px) {
  #footer .link.-active:before {
    width: 8px;
    height: 8px;
    margin-right: 16px;
  }
}
@media (max-width: 1439px) {
  #footer .link.-active:before {
    margin-right: 12px;
  }
}
#footer .link:hover:before, #footer .link:focus:before {
  background: #958DC7;
}
#footer.hidden .link {
  opacity: 0;
  transform: translateY(50px);
}
#footer.animate .link {
  animation-name: fromBottom;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: backwards;
}
@keyframes info {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
#footer .info {
  margin-top: 6.25vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 0.9027777778vw;
  line-height: 0.73;
  transition: transform 1s ease-out;
}
@media (min-width: 1920px) {
  #footer .info {
    margin-top: 120px;
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #footer .info {
    margin-top: 90px;
    font-size: 13px;
  }
}
#footer.hidden .info {
  transform: translateY(100%);
}
#footer.animate .info {
  transform: translateY(0);
}
#footer .copyright {
  flex-shrink: 1;
  width: 50%;
  margin-bottom: 36px;
}
#footer .hutton {
  flex-shrink: 0;
  position: relative;
  width: 250px;
  height: 125px;
  bottom: -9px;
  background: url(../img/hutton-black.svg) center/cover;
}
@media (min-width: 1920px) {
  #footer .hutton {
    width: 332px;
    height: 166px;
    bottom: -16px;
  }
}
@supports (clip-path: circle()) or (-webkit-clip-path: circle()) {
  #footer .hutton .hutton-hover {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(../img/hutton-white.svg) center/cover;
    -webkit-clip-path: circle(0 at 50% 100%);
    clip-path: circle(0 at 50% 100%);
  }
}
#footer .greencow {
  flex-shrink: 1;
  width: 50%;
  text-align: right;
  margin-bottom: 36px;
}

.showGallery {
  overflow: hidden;
}

#gallery {
  display: none;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  padding-left: 7.1428571429vw;
  background: white;
  opacity: 0;
  transition: opacity 0.5s;
}
.showGallery #gallery {
  display: flex;
  opacity: 1;
}
@media (max-width: 1106px) {
  #gallery {
    padding-left: 79px;
  }
}
#gallery .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  left: 7.1428571429vw;
  right: 0;
  height: 5.4166666667vw;
}
@media (min-width: 1920px) {
  #gallery .header {
    height: 104px;
  }
}
@media (max-width: 1439px) {
  #gallery .header {
    height: 78px;
  }
}
@media (max-width: 1106px) {
  #gallery .header {
    left: 79px;
  }
}
#gallery .close {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: 1.3888888889vw;
  transition: color 0.15s ease-in-out;
}
#gallery .close:hover {
  color: #958DC7;
}
#gallery .close .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 5.4166666667vw;
  margin-left: -8px;
  transition: transform 0.15s ease-in-out;
}
@media (min-width: 1920px) {
  #gallery .close .icon {
    width: 104px;
  }
}
@media (max-width: 1439px) {
  #gallery .close .icon {
    width: 78px;
  }
}
#gallery .close .icon:before, #gallery .close .icon:after {
  content: "";
  position: absolute;
  width: 1.8055555556vw;
  height: 0.1388888889vw;
  background: #1A1A1A;
  transform-origin: center center;
  transition: background-color 0.15s ease-in-out;
}
@media (min-width: 1920px) {
  #gallery .close .icon:before, #gallery .close .icon:after {
    width: 34.6666666667px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  #gallery .close .icon:before, #gallery .close .icon:after {
    width: 26px;
    height: 2px;
  }
}
#gallery .close .icon:before {
  transform: rotate(45deg);
}
#gallery .close .icon:after {
  transform: rotate(-45deg);
}
#gallery .close:hover .icon {
  transform: rotate(90deg);
}
#gallery .close:hover .icon:before, #gallery .close:hover .icon:after {
  background: #958DC7;
}
#gallery .image {
  height: 42.8571428571vw;
  max-height: calc(100vh - 17.4305555556vw);
}
@media (min-width: 1920px) {
  #gallery .image {
    max-height: calc(100vh - 334.6666666667px);
  }
}
@media (max-width: 1439px) {
  #gallery .image {
    max-height: calc(100vh - 251px);
  }
}
@media (max-width: 1106px) {
  #gallery .image {
    height: 474px;
  }
}

.showVideo, .hideVideo {
  overflow: hidden;
}

.video-modal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: black;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s;
}
.showVideo .video-modal, .hideVideo .video-modal {
  visibility: visible;
}
.showVideo .video-modal {
  opacity: 1;
}
.video-modal .close {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 80px;
  height: 80px;
}
.video-modal .close:before, .video-modal .close:after {
  content: "";
  position: absolute;
  width: 1.5277777778vw;
  height: 0.1388888889vw;
  background: white;
  transition: transform 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  .video-modal .close:before, .video-modal .close:after {
    width: 29.3333333333px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  .video-modal .close:before, .video-modal .close:after {
    width: 22px;
    height: 2px;
  }
}
.video-modal .close:before {
  transform: rotate(45deg);
}
.video-modal .close:hover:before {
  transform: rotate(135deg);
}
.video-modal .close:after {
  transform: rotate(-45deg);
}
.video-modal .close:hover:after {
  transform: rotate(45deg);
}

#video {
  width: 100%;
  height: 100%;
}

@keyframes lightOn {
  from {
    filter: brightness(0);
  }
  to {
    filter: none;
  }
}
@keyframes light {
  from {
    background-position: 100%;
  }
  to {
    background-position: 0;
  }
}
#concept {
  padding-top: 11.3888888889vw;
}
@media (min-width: 1920px) {
  #concept {
    padding-top: 218.6666666667px;
  }
}
@media (max-width: 1439px) {
  #concept {
    padding-top: 164px;
  }
}
#concept .light {
  display: flex;
  height: 35.7142857143vw;
  max-height: calc(100vh - 11.3888888889vw - 100px);
}
@media (min-width: 1920px) {
  #concept .light {
    max-height: calc(100vh - 218.6666666667px - 100px);
  }
}
@media (max-width: 1439px) {
  #concept .light {
    max-height: calc(100vh - 164px - 100px);
  }
}
@media (max-width: 1106px) {
  #concept .light {
    height: 395px;
  }
}
#concept .light_text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
#concept .light_space1 {
  flex-grow: 1;
  flex-shrink: 0;
  min-height: 24px;
}
#concept .light .animated-text {
  flex-shrink: 0;
}
@supports (-webkit-background-clip: text) {
  #concept .light .h18 {
    background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 33.33%, #F1B6C2 66.66%, #958DC7 100%);
    background-size: 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: lightOn 1s 1s backwards, light 2.5s linear infinite;
  }
}
#concept .light_space2 {
  flex-grow: 1;
  min-height: 24px;
  max-height: 2.7777777778vw;
}
@media (min-width: 1920px) {
  #concept .light_space2 {
    max-height: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  #concept .light_space2 {
    max-height: 40px;
  }
}
@media (max-width: 1106px) {
  #concept .light_space2 {
    max-height: 24px;
  }
}
#concept .light_space3 {
  flex-grow: 1;
  flex-shrink: 0;
  min-height: 24px;
}
#concept .light .image {
  height: 35.7142857143vw;
  min-height: 300px;
  max-height: calc(100vh - 11.3888888889vw - 100px);
}
@media (min-width: 1920px) {
  #concept .light .image {
    max-height: calc(100vh - 218.6666666667px - 100px);
  }
}
@media (max-width: 1439px) {
  #concept .light .image {
    max-height: calc(100vh - 164px - 100px);
  }
}
@media (max-width: 1106px) {
  #concept .light .image {
    height: 395px;
  }
}
#concept .facade {
  margin-top: 15.625vw;
}
@media (min-width: 1920px) {
  #concept .facade {
    margin-top: 300px;
  }
}
@media (max-width: 1439px) {
  #concept .facade {
    margin-top: 225px;
  }
}
#concept .facade .animated-text {
  transition-timing-function: ease-out;
}
#concept .facade .animated-text:first-child {
  animation-delay: 1s;
}
#concept .facade .animated-text:last-child {
  animation-delay: 1.1s;
}
#concept .privacy {
  margin-top: 11.1111111111vw;
  display: flex;
  height: 42.8571428571vw;
  max-height: calc(90vh - 100px);
}
@media (min-width: 1920px) {
  #concept .privacy {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #concept .privacy {
    margin-top: 160px;
  }
}
@media (max-width: 1106px) {
  #concept .privacy {
    height: 474px;
  }
}
#concept .privacy .image {
  height: 42.8571428571vw;
  max-height: calc(90vh - 100px);
}
@media (max-width: 1106px) {
  #concept .privacy .image {
    height: 474px;
  }
}
#concept .privacy .text {
  display: flex;
  align-items: center;
}
#concept .privacy .animated-text {
  animation-delay: 1s;
}
#concept .glass {
  margin-top: 15.625vw;
  display: flex;
  height: 35.7142857143vw;
  max-height: calc(90vh - 100px);
}
@media (min-width: 1920px) {
  #concept .glass {
    margin-top: 300px;
  }
}
@media (max-width: 1439px) {
  #concept .glass {
    margin-top: 225px;
  }
}
@media (max-width: 1106px) {
  #concept .glass {
    height: 395px;
  }
}
#concept .glass .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#concept .glass .animated-text:last-child {
  animation-delay: 0.1s;
}
#concept .glass .image {
  height: 35.7142857143vw;
  max-height: calc(90vh - 100px);
}
@media (max-width: 1106px) {
  #concept .glass .image {
    height: 395px;
  }
}
#concept .numbers {
  margin-top: 15.625vw;
}
@media (min-width: 1920px) {
  #concept .numbers {
    margin-top: 300px;
  }
}
@media (max-width: 1439px) {
  #concept .numbers {
    margin-top: 225px;
  }
}
#concept .numbers .animated-text {
  transition-timing-function: ease-out;
}
#concept .numbers .animated-text:first-child {
  animation-delay: 1s;
}
#concept .numbers .animated-text:nth-child(2) {
  animation-delay: 1.1s;
}
#concept .numbers .animated-text:nth-child(3) {
  animation-delay: 1.2s;
}
#concept .form {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #concept .form {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #concept .form {
    margin-top: 160px;
  }
}

#public_spaces:before {
  content: "";
  display: block;
  height: 10.2083333333vw;
  max-height: 15vh;
}
@media (min-width: 1920px) {
  #public_spaces:before {
    height: 196px;
  }
}
@media (max-width: 1439px) {
  #public_spaces:before {
    height: 147px;
  }
}
#public_spaces .unity .content {
  display: flex;
  margin-top: 4.4444444444vw;
}
@media (min-width: 1920px) {
  #public_spaces .unity .content {
    margin-top: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .unity .content {
    margin-top: 64px;
  }
}
#public_spaces .unity .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#public_spaces .unity .text .animated-text {
  width: 26.5972222222vw;
}
@media (min-width: 1920px) {
  #public_spaces .unity .text .animated-text {
    width: 510.6666666667px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .unity .text .animated-text {
    width: 383px;
  }
}
#public_spaces .unity .image {
  height: 21.4285714286vw;
  min-height: 220px;
  max-height: calc(100vh - 10.2083333333vw - 7.2222222222vw - 4.4444444444vw - 100px);
}
@media (min-width: 1920px) {
  #public_spaces .unity .image {
    max-height: calc(100vh - 196px - 138.6666666667px - 85.3333333333px - 100px);
  }
}
@media (max-width: 1439px) {
  #public_spaces .unity .image {
    max-height: calc(100vh - 147px - 104px - 64px - 100px);
  }
}
@media (max-width: 1106px) {
  #public_spaces .unity .image {
    height: 237px;
  }
}
#public_spaces .artobject {
  display: flex;
  align-items: center;
  margin-top: 15.8333333333vw;
}
@media (min-width: 1920px) {
  #public_spaces .artobject {
    margin-top: 304px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .artobject {
    margin-top: 228px;
  }
}
#public_spaces .artobject .media {
  padding-left: 80px;
}
#public_spaces .artobject .media img {
  width: 100%;
}
#public_spaces .designer {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #public_spaces .designer {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .designer {
    margin-top: 160px;
  }
}
#public_spaces .materials {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #public_spaces .materials {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .materials {
    margin-top: 160px;
  }
}
#public_spaces .materials .text {
  display: flex;
  align-items: baseline;
}
#public_spaces .materials .space {
  min-height: 56px;
  height: 10vh;
  max-height: 8.3333333333vw;
}
@media (min-width: 1920px) {
  #public_spaces .materials .space {
    max-height: 160px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .materials .space {
    max-height: 120px;
  }
}
#public_spaces .materials .photos {
  display: flex;
}
#public_spaces .materials .photos img {
  width: 100%;
}
#public_spaces .materials .media:nth-child(2):before {
  animation-delay: 1s;
}
#public_spaces .materials .media:nth-child(2):after {
  animation-delay: 1.5s;
}
#public_spaces .unity2 {
  margin-top: 11.1111111111vw;
  display: flex;
  height: 42.8571428571vw;
  max-height: calc(90vh - 100px);
}
@media (min-width: 1920px) {
  #public_spaces .unity2 {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .unity2 {
    margin-top: 160px;
  }
}
@media (max-width: 1106px) {
  #public_spaces .unity2 {
    height: 474px;
  }
}
#public_spaces .unity2 .image {
  height: 42.8571428571vw;
  max-height: calc(90vh - 100px);
}
@media (max-width: 1106px) {
  #public_spaces .unity2 .image {
    height: 474px;
  }
}
#public_spaces .unity2 .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#public_spaces .unity2 .text .h18 {
  animation-delay: 1s;
}
#public_spaces .unity2 .text .p {
  animation-delay: 1.1s;
}
#public_spaces .form {
  margin-top: 15.625vw;
}
@media (min-width: 1920px) {
  #public_spaces .form {
    margin-top: 300px;
  }
}
@media (max-width: 1439px) {
  #public_spaces .form {
    margin-top: 225px;
  }
}

#apartments .elegance {
  display: flex;
  flex-direction: column;
  max-height: 100vh;
}
#apartments .elegance .space1 {
  flex-shrink: 1;
  min-height: 80px;
  height: 10.2083333333vw;
}
@media (min-width: 1920px) {
  #apartments .elegance .space1 {
    height: 196px;
  }
}
@media (max-width: 1439px) {
  #apartments .elegance .space1 {
    height: 147px;
  }
}
#apartments .elegance .space2 {
  flex-shrink: 1;
  height: 6.4930555556vw;
}
@media (min-width: 1920px) {
  #apartments .elegance .space2 {
    height: 124.6666666667px;
  }
}
@media (max-width: 1439px) {
  #apartments .elegance .space2 {
    height: 93.5px;
  }
}
#apartments .elegance .content {
  display: flex;
  justify-content: space-between;
}
#apartments .elegance .text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 26.5972222222vw;
  padding: 2.5vw 0;
}
@media (min-width: 1920px) {
  #apartments .elegance .text {
    width: 510.6666666667px;
    padding: 48px 0;
  }
}
@media (max-width: 1439px) {
  #apartments .elegance .text {
    width: 383px;
    padding: 36px 0;
  }
}
#apartments .elegance .media img {
  height: 28.5714285714vw;
  min-height: 320px;
  max-height: calc(100vh - 10.2083333333vw - 7.2222222222vw - 6.4930555556vw - 30px);
}
@media (min-width: 1920px) {
  #apartments .elegance .media img {
    max-height: calc(100vh - 196px - 138.6666666667px - 124.6666666667px - 30px);
  }
}
@media (max-width: 1439px) {
  #apartments .elegance .media img {
    max-height: calc(100vh - 147px - 104px - 93.5px - 30px);
  }
}
@media (max-width: 1106px) {
  #apartments .elegance .media img {
    height: 316px;
  }
}
#apartments .slider {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #apartments .slider {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #apartments .slider {
    margin-top: 160px;
  }
}
#apartments .slider .image {
  height: 42.8571428571vw;
  max-height: calc(90vh - 100px);
}
@media (max-width: 1106px) {
  #apartments .slider .image {
    height: 474px;
  }
}
#apartments .terrace {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #apartments .terrace {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #apartments .terrace {
    margin-top: 160px;
  }
}
#apartments .terrace .text {
  display: flex;
  align-items: baseline;
}
#apartments .terrace .space {
  min-height: 56px;
  height: 10vh;
  max-height: 6.6666666667vw;
}
@media (min-width: 1920px) {
  #apartments .terrace .space {
    max-height: 128px;
  }
}
@media (max-width: 1439px) {
  #apartments .terrace .space {
    max-height: 96px;
  }
}
#apartments .terrace .terrace_image {
  display: flex;
  justify-content: center;
}
#apartments .terrace .terrace_image .media {
  min-width: 480px;
  min-height: 340px;
}
#apartments .terrace .terrace_image img {
  min-width: 480px;
  min-height: 340px;
  width: 57.1428571429vw;
  max-width: calc((90vh - 140px) * 1.414);
}
@media (max-width: 1106px) {
  #apartments .terrace .terrace_image img {
    width: 632px;
  }
}
#apartments .sight {
  display: flex;
  align-items: center;
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #apartments .sight {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #apartments .sight {
    margin-top: 160px;
  }
}
#apartments .sight img {
  width: 100%;
}
#apartments .minimalism {
  margin-top: 11.1111111111vw;
  margin-bottom: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #apartments .minimalism {
    margin-top: 213.3333333333px;
    margin-bottom: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #apartments .minimalism {
    margin-top: 160px;
    margin-bottom: 160px;
  }
}
#apartments .minimalism .text {
  display: flex;
  align-items: baseline;
  margin-bottom: 8.3333333333vw;
}
@media (min-width: 1920px) {
  #apartments .minimalism .text {
    margin-bottom: 160px;
  }
}
@media (max-width: 1439px) {
  #apartments .minimalism .text {
    margin-bottom: 120px;
  }
}
#apartments .minimalism .image {
  height: 35.7142857143vw;
  max-height: calc(90vh - 100px);
}
@media (max-width: 1106px) {
  #apartments .minimalism .image {
    height: 395px;
  }
}

#team {
  padding-top: 11.25vw;
}
@media (min-width: 1920px) {
  #team {
    padding-top: 216px;
  }
}
@media (max-width: 1439px) {
  #team {
    padding-top: 162px;
  }
}
#team .item {
  position: relative;
  padding: 5.5555555556vw 0;
}
@media (min-width: 1920px) {
  #team .item {
    padding: 106.6666666667px 0;
  }
}
@media (max-width: 1439px) {
  #team .item {
    padding: 80px 0;
  }
}
#team .item:first-child {
  padding-top: 0;
}
#team .item .text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}
#team .item:after {
  content: "";
  position: absolute;
  top: 100%;
  left: -8px;
  right: 0;
  height: 1px;
  background: #EBEBEB;
  transform-origin: left center;
  transition: transform 1s ease-in-out 0.5s;
}
#team .item.hidden:after {
  transform: scaleX(0);
}
#team .form {
  margin-top: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #team .form {
    margin-top: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #team .form {
    margin-top: 160px;
  }
}

#news {
  padding-top: 11.25vw;
  margin-bottom: 13.8888888889vw;
}
@media (min-width: 1920px) {
  #news {
    padding-top: 216px;
    margin-bottom: 266.6666666667px;
  }
}
@media (max-width: 1439px) {
  #news {
    padding-top: 162px;
    margin-bottom: 200px;
  }
}
#news .news {
  display: flex;
  position: relative;
}
#news .year-container {
  position: absolute;
  right: calc(100% + 21.4285714286vw);
}
#news .year-container.-fixed {
  display: flex;
  justify-content: flex-end;
  position: fixed;
  top: 30px;
  right: auto;
  left: 0;
  width: 14.2857142857vw;
}
@media (max-width: 1106px) {
  #news .year-container {
    right: calc(100% + 237px);
  }
  #news .year-container.-fixed {
    width: 158px;
  }
}
#news .year {
  font-size: 6.9444444444vw;
  line-height: 0.74;
  letter-spacing: 0.0576388889vw;
  text-align: right;
  transform-origin: top right;
  transform: rotate(-90deg);
}
@media (min-width: 1920px) {
  #news .year {
    font-size: 133.3333333333px;
    letter-spacing: 1.1066666667px;
  }
}
@media (max-width: 1439px) {
  #news .year {
    font-size: 100px;
    letter-spacing: 0.83px;
  }
}
#news .item {
  display: flex;
  position: relative;
  padding: 5vw 0;
  font-weight: 500;
  transition: color 0.15s ease-in-out;
}
@media (min-width: 1920px) {
  #news .item {
    padding: 96px 0;
  }
}
@media (max-width: 1439px) {
  #news .item {
    padding: 72px 0;
  }
}
#news .item:hover, #news .item:focus {
  color: #958DC7;
}
#news .item .media {
  transform: translateZ(0);
}
#news .item .background {
  position: absolute;
  top: -10px;
  left: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  filter: blur(10px);
}
#news .item .image {
  position: relative;
  width: 100%;
  transition: filter 0.5s ease-in-out;
}
#news .item .gradient {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
#news .item:hover .gradient, #news .item:focus .gradient {
  opacity: 0.5;
}
#news .item:before, #news .footer:before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 1px;
  background: #EBEBEB;
  transform-origin: left center;
  transition: transform 1s ease-in-out 0.5s;
}
#news .item.hidden:before, #news .footer.hidden:before {
  transform: scaleX(0);
}
#news .footer {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-top: 5vw;
}
@media (min-width: 1920px) {
  #news .footer {
    padding-top: 96px;
  }
}
@media (max-width: 1439px) {
  #news .footer {
    padding-top: 72px;
  }
}
#news .footer .h52 {
  line-height: 0.69;
}
#news .footer .h11 {
  line-height: 1.45;
}
#news .more {
  cursor: pointer;
}

#article {
  padding-top: 11.0416666667vw;
  margin-bottom: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #article {
    padding-top: 212px;
    margin-bottom: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #article {
    padding-top: 159px;
    margin-bottom: 160px;
  }
}
#article h3 {
  padding: 0 7.1428571429vw;
  margin-bottom: 2.7777777778vw;
}
@media (min-width: 1920px) {
  #article h3 {
    margin-bottom: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  #article h3 {
    margin-bottom: 40px;
  }
}
@media (max-width: 1106px) {
  #article h3 {
    padding: 0 79px;
  }
}
#article p {
  padding: 0 7.1428571429vw;
  font-size: 1.25vw;
  line-height: 1.56;
  letter-spacing: normal;
  color: #595959;
}
@media (min-width: 1920px) {
  #article p {
    font-size: 24px;
  }
}
@media (max-width: 1439px) {
  #article p {
    font-size: 18px;
  }
}
@media (max-width: 1106px) {
  #article p {
    padding: 0 79px;
  }
}
#article .swiper-container {
  margin: 6.6666666667vw 0;
}
@media (min-width: 1920px) {
  #article .swiper-container {
    margin: 128px 0;
  }
}
@media (max-width: 1439px) {
  #article .swiper-container {
    margin: 96px 0;
  }
}
#article .swiper-container .image {
  height: 36.1805555556vw;
}
@media (max-width: 1106px) {
  #article .swiper-container .image {
    height: 400px;
  }
}
#article .swiper-controls {
  position: static;
}
#article .media {
  margin: 6.6666666667vw 0;
}
@media (min-width: 1920px) {
  #article .media {
    margin: 128px 0;
  }
}
@media (max-width: 1439px) {
  #article .media {
    margin: 96px 0;
  }
}
#article .video:before, #article .video:after {
  background-size: 6.6666666667vw;
}
@media (min-width: 1920px) {
  #article .video:before, #article .video:after {
    background-size: 128px;
  }
}
@media (max-width: 1439px) {
  #article .video:before, #article .video:after {
    background-size: 96px;
  }
}
#article .button {
  margin: 6.6666666667vw 7.1428571429vw 0;
}
@media (min-width: 1920px) {
  #article .button {
    margin-top: 128px;
  }
}
@media (max-width: 1439px) {
  #article .button {
    margin-top: 96px;
  }
}
@media (max-width: 1106px) {
  #article .button {
    margin: 96px 79px;
  }
}

#process {
  padding-top: 11.25vw;
}
@media (min-width: 1920px) {
  #process {
    padding-top: 216px;
  }
}
@media (max-width: 1439px) {
  #process {
    padding-top: 162px;
  }
}
#process .realtime {
  display: flex;
  align-items: center;
}
#process .media {
  transform: translateZ(0);
}
#process .media .image {
  position: relative;
  width: 100%;
}
#process .media .gradient {
  opacity: 0.5;
  transition: opacity 0.5s ease-in-out;
}
#process .media:hover .gradient, #process .media:focus .gradient {
  opacity: 0;
}
#process .filters {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 8.3333333333vw;
}
@media (min-width: 1920px) {
  #process .filters {
    margin-top: 160px;
  }
}
@media (max-width: 1439px) {
  #process .filters {
    margin-top: 120px;
  }
}
#process .filters .h11 {
  margin-right: 5vw;
}
@media (min-width: 1920px) {
  #process .filters .h11 {
    margin-right: 96px;
  }
}
@media (max-width: 1439px) {
  #process .filters .h11 {
    margin-right: 32px;
  }
}
#process .filters .select {
  width: 100%;
  margin-left: -1px;
}
#process .filter {
  user-select: none;
  position: relative;
  width: 24.2361111111vw;
  height: 3.4722222222vw;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  #process .filter {
    width: 465.3333333333px;
    height: 66.6666666667px;
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 1439px) {
  #process .filter {
    width: 349px;
    height: 50px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}
#process .filter .status {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid #EBEBEB;
  cursor: pointer;
}
#process .filter .status:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.4166666667vw);
  right: 1.8055555556vw;
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border: 0.1388888889vw solid #1A1A1A;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
  transition: border-color 0.15s;
}
@media (min-width: 1920px) {
  #process .filter .status:after {
    top: calc(50% - 8px);
    right: 34.6666666667px;
    width: 8px;
    height: 8px;
    border-width: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  #process .filter .status:after {
    top: calc(50% - 6px);
    right: 26px;
    width: 6px;
    height: 6px;
    border-width: 2px;
  }
}
#process .filter .status:hover:after {
  border-color: #958DC7;
}
#process .filter.-dropdown .status:after {
  transform: rotate(225deg);
  top: auto;
  bottom: calc(50% - 0.4166666667vw);
}
@media (min-width: 1920px) {
  #process .filter.-dropdown .status:after {
    bottom: calc(50% - 8px);
  }
}
@media (max-width: 1439px) {
  #process .filter.-dropdown .status:after {
    bottom: calc(50% - 6px);
  }
}
#process .filter .placeholder {
  pointer-events: none;
  position: absolute;
  top: 0.9027777778vw;
  left: 1.6666666667vw;
  font-size: 1.0416666667vw;
  font-weight: normal;
  line-height: 1.47;
  letter-spacing: normal;
  text-transform: none;
  color: #A3A3A3;
  transition: color 0.15s;
}
@media (min-width: 1920px) {
  #process .filter .placeholder {
    top: 17.3333333333px;
    left: 32px;
    font-size: 20px;
  }
}
@media (max-width: 1439px) {
  #process .filter .placeholder {
    top: 13px;
    left: 24px;
    font-size: 15px;
  }
}
#process .filter .status:hover .placeholder {
  color: #767676;
}
#process .filter.-picked .placeholder {
  display: none;
}
#process .filter .picked {
  display: none;
  align-items: center;
  position: absolute;
  top: 0;
  left: 3.4722222222vw;
  bottom: 0;
  pointer-events: none;
}
@media (min-width: 1920px) {
  #process .filter .picked {
    left: 66.6666666667px;
  }
}
@media (max-width: 1439px) {
  #process .filter .picked {
    left: 50px;
  }
}
#process .filter.-picked .picked {
  display: flex;
}
#process .filter .clear {
  display: flex;
  align-items: center;
  position: absolute;
  top: calc(50% - 1.4583333333vw);
  right: 100%;
  width: 2.9166666667vw;
  height: 2.9166666667vw;
  pointer-events: all;
  cursor: pointer;
}
@media (min-width: 1920px) {
  #process .filter .clear {
    top: calc(50% - 28px);
    width: 56px;
    height: 56px;
  }
}
@media (max-width: 1439px) {
  #process .filter .clear {
    top: calc(50% - 21px);
    width: 42px;
    height: 42px;
  }
}
#process .filter .clear:before, #process .filter .clear:after {
  content: "";
  position: absolute;
  left: calc(50% - 0.4861111111vw);
  width: 0.9722222222vw;
  height: 0.1388888889vw;
  background: #1A1A1A;
  transition: background-color 0.15s;
}
@media (min-width: 1920px) {
  #process .filter .clear:before, #process .filter .clear:after {
    left: calc(50% - 9.3333333333px);
    width: 18.6666666667px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  #process .filter .clear:before, #process .filter .clear:after {
    left: calc(50% - 7px);
    width: 14px;
    height: 2px;
  }
}
#process .filter .clear:hover:before, #process .filter .clear:hover:after {
  background: #958DC7;
}
#process .filter .clear:before {
  transform: rotate(45deg);
}
#process .filter .clear:after {
  transform: rotate(-45deg);
}
#process .filter .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 10;
  background: white;
  border: 1px solid #EBEBEB;
  margin-top: -1px;
}
#process .filter.-dropdown .dropdown {
  display: block;
}
#process .filter .year {
  display: flex;
  height: 3.3333333333vw;
  border-bottom: 1px solid #EBEBEB;
}
@media (min-width: 1920px) {
  #process .filter .year {
    height: 64px;
  }
}
@media (max-width: 1439px) {
  #process .filter .year {
    height: 48px;
  }
}
#process .filter .arrow {
  width: 4.7222222222vw;
  height: 100%;
  background: center/1.3888888889vw no-repeat;
}
@media (min-width: 1920px) {
  #process .filter .arrow {
    width: 90.6666666667px;
    background-size: 26.6666666667px;
  }
}
@media (max-width: 1439px) {
  #process .filter .arrow {
    width: 68px;
    background-size: 20px;
  }
}
#process .filter .prev {
  cursor: pointer;
  background-image: url(../img/icons/sm-prev.svg);
}
#process .filter .prev:hover {
  background-image: url(../img/icons/sm-prev-hover.svg);
}
#process .filter .next {
  background-image: url(../img/icons/sm-next.svg);
  opacity: 0.2;
  pointer-events: none;
}
#process .filter .next:hover {
  background-image: url(../img/icons/sm-next-hover.svg);
}
#process .filter.-next .next {
  opacity: 1;
  pointer-events: all;
  cursor: pointer;
}
#process .filter #year {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#process .filter .months {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#process .filter .month {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: calc((100% - 2px) / 3);
  height: 3.3333333333vw;
  padding-left: 1.6666666667vw;
  transition: color 0.15s;
  cursor: pointer;
}
@media (min-width: 1920px) {
  #process .filter .month {
    height: 64px;
    padding-left: 32px;
  }
}
@media (max-width: 1439px) {
  #process .filter .month {
    height: 48px;
    padding-left: 24px;
  }
}
#process .filter .month:hover {
  color: #958DC7;
}
#process .filter .month.-active {
  background: #958DC7;
  color: white;
}
#process .filter .month:not(:nth-child(3n)) {
  position: relative;
}
#process .filter .month:not(:nth-child(3n)):after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  width: 1px;
  background: #EBEBEB;
}
#process .filter .month:nth-child(n+4) {
  border-top: 1px solid #EBEBEB;
}
#process .items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5vw;
  margin-bottom: 15vw;
}
@media (min-width: 1920px) {
  #process .items {
    margin-top: 96px;
    margin-bottom: 288px;
  }
}
@media (max-width: 1439px) {
  #process .items {
    margin-top: 72px;
    margin-bottom: 216px;
  }
}
#process .item {
  cursor: pointer;
  position: relative;
  width: 35.7142857143vw;
}
@media (max-width: 1106px) {
  #process .item {
    width: 395px;
  }
}
#process .item:nth-child(n+3) {
  margin-top: 7.1428571429vw;
}
@media (max-width: 1106px) {
  #process .item:nth-child(n+3) {
    margin-top: 79px;
  }
}
#process .item:before, #process .item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  box-shadow: 0 0 0 1px #EBEBEB inset;
  transition: background-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out, transform 0.5s ease-out 1s;
}
#process .item:hover:before, #process .item:hover:after {
  box-shadow: none;
}
#process .item.animate:before {
  transform: translate3d(1.1111111111vw, 1.1111111111vw, 0);
}
@media (min-width: 1920px) {
  #process .item.animate:before {
    transform: translate3d(21.3333333333px, 21.3333333333px, 0);
  }
}
@media (max-width: 1439px) {
  #process .item.animate:before {
    transform: translate3d(16px, 16px, 0);
  }
}
#process .item:hover:before {
  background: #958DC7;
}
#process .item.animate:after {
  transform: translate3d(0.5555555556vw, 0.5555555556vw, 0);
}
@media (min-width: 1920px) {
  #process .item.animate:after {
    transform: translate3d(10.6666666667px, 10.6666666667px, 0);
  }
}
@media (max-width: 1439px) {
  #process .item.animate:after {
    transform: translate3d(8px, 8px, 0);
  }
}
#process .item:hover:after {
  background: #BAB4E0;
}
#process .item .media {
  position: relative;
  z-index: 1;
}
#process .item img {
  width: 100%;
  height: auto;
}
#process .item .text {
  position: absolute;
  top: 2.7777777778vw;
  left: 3.3333333333vw;
  bottom: 3.3333333333vw;
  right: 3.3333333333vw;
  color: white;
  transition: opacity 0.5s ease-in-out;
}
@media (min-width: 1920px) {
  #process .item .text {
    top: 53.3333333333px;
    left: 64px;
    bottom: 64px;
    right: 64px;
  }
}
@media (max-width: 1439px) {
  #process .item .text {
    top: 40px;
    left: 48px;
    bottom: 48px;
    right: 48px;
  }
}
#process .item:hover .text {
  opacity: 0;
}
#process .item .h11 {
  position: absolute;
  bottom: 0;
  right: 0;
}
#process .item .fromBottom:first-child {
  animation-delay: 1s;
}
#process .item .fromBottom:nth-child(2) {
  animation-delay: 1.1s;
}
#process .item .fromBottom:nth-child(3) {
  animation-delay: 1.2s;
}
#process .item:nth-child(2n):before, #process .item:nth-child(2n):after {
  transition-delay: 0s, 0s, 2s;
}
#process .item:nth-child(2n) .media:before {
  animation-delay: 1s;
}
#process .item:nth-child(2n) .media:after {
  animation-delay: 1.5s;
}
#process .item:nth-child(2n) .fromBottom:first-child {
  animation-delay: 2s;
}
#process .item:nth-child(2n) .fromBottom:nth-child(2) {
  animation-delay: 2.1s;
}
#process .item:nth-child(2n) .fromBottom:nth-child(3) {
  animation-delay: 2.2s;
}

#documents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 11.25vw;
  margin-bottom: 13.8888888889vw;
}
@media (min-width: 1920px) {
  #documents {
    padding-top: 216px;
    margin-bottom: 266.6666666667px;
  }
}
@media (max-width: 1439px) {
  #documents {
    padding-top: 162px;
    margin-bottom: 200px;
  }
}
#documents .document {
  display: flex;
  position: relative;
  width: calc((100% - 10vw) / 3);
  box-shadow: 0 0 0 1px #EBEBEB inset;
  transition: color 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  #documents .document {
    width: calc((100% - 192px) / 3);
  }
}
@media (min-width: 2560px) {
  #documents .document {
    width: calc((100% - 216px) / 4);
  }
}
@media (max-width: 1106px) {
  #documents .document {
    width: calc((100% - 110px) / 3);
  }
}
#documents .document:hover, #documents .document:focus {
  color: white;
}
#documents .document:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
}
#documents .document:hover:before, #documents .document:focus:before {
  opacity: 1;
}
#documents .document:after {
  content: "";
  display: block;
  width: 0;
  padding-top: 100%;
}
#documents .document:nth-child(n+4) {
  margin-top: 5vw;
}
@media (min-width: 1920px) {
  #documents .document:nth-child(n+4) {
    margin-top: 96px;
  }
}
@media (min-width: 2560px) {
  #documents .document:nth-child(n+4) {
    margin-top: 72px;
  }
}
@media (max-width: 1106px) {
  #documents .document:nth-child(n+4) {
    margin-top: 55px;
  }
}
@media (min-width: 2560px) {
  #documents .document:nth-child(4) {
    margin-top: 0;
  }
}
#documents .text {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2.7777777778vw 2.7777777778vw 8.3333333333vw;
}
@media (min-width: 1920px) {
  #documents .text {
    padding: 53.3333333333px 53.3333333333px 160px;
  }
}
@media (max-width: 1106px) {
  #documents .text {
    padding: 30px 30px 90px;
  }
}
#documents .title {
  font-weight: 500;
}
#documents .info {
  font-size: 0.9027777778vw;
  color: #595959;
  transition: color 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  #documents .info {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #documents .info {
    font-size: 13px;
  }
}
#documents .document:hover .info, #documents .document:focus .info {
  color: white;
}
#documents .download {
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 2.2222222222vw;
  right: 2.7777777778vw;
  font-size: 0.9027777778vw;
  color: #595959;
  transition: color 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  #documents .download {
    bottom: 42.6666666667px;
    right: 53.3333333333px;
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #documents .download {
    font-size: 13px;
  }
}
@media (max-width: 1106px) {
  #documents .download {
    bottom: 24px;
    right: 30px;
  }
}
#documents .download .icon {
  position: relative;
  width: 3.3333333333vw;
  height: 3.3333333333vw;
}
@media (min-width: 1920px) {
  #documents .download .icon {
    width: 64px;
    height: 64px;
  }
}
@media (max-width: 1106px) {
  #documents .download .icon {
    width: 36px;
    height: 36px;
  }
}
#documents .download .icon:before, #documents .download .icon:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center/contain no-repeat;
  transition: opacity 0.25s linear;
}
#documents .download .icon:before {
  background-image: url(../img/icons/download.svg);
  opacity: 1;
}
#documents .download .icon:after {
  background-image: url(../img/icons/download-hover.svg);
  opacity: 0;
}
#documents .document:hover .download, #documents .document:focus .download {
  color: white;
}
#documents .document:hover .download .icon:before, #documents .document:focus .download .icon:before {
  opacity: 0;
}
#documents .document:hover .download .icon:after, #documents .document:focus .download .icon:after {
  opacity: 1;
}

#contacts {
  padding-top: 10.2083333333vw;
}
@media (min-width: 1920px) {
  #contacts {
    padding-top: 196px;
  }
}
@media (max-width: 1439px) {
  #contacts {
    padding-top: 147px;
  }
}
#contacts .main {
  display: flex;
  align-items: center;
  height: 28.5714285714vw;
  margin-top: 6.6666666667vw;
  margin-bottom: 15.625vw;
}
@media (min-width: 1920px) {
  #contacts .main {
    margin-top: 128px;
    margin-bottom: 300px;
  }
}
@media (max-width: 1439px) {
  #contacts .main {
    margin-top: 96px;
    margin-bottom: 225px;
  }
}
@media (max-width: 1106px) {
  #contacts .main {
    height: 316px;
  }
}
#contacts .main .image {
  height: 28.5714285714vw;
}
@media (max-width: 1106px) {
  #contacts .main .image {
    height: 316px;
  }
}

#conditions {
  padding-top: 11.0416666667vw;
  margin-bottom: 11.1111111111vw;
  font-size: 1.25vw;
  line-height: 1.56;
}
@media (min-width: 1920px) {
  #conditions {
    padding-top: 212px;
    margin-bottom: 213.3333333333px;
    font-size: 24px;
  }
}
@media (max-width: 1439px) {
  #conditions {
    padding-top: 159px;
    margin-bottom: 160px;
    font-size: 18px;
  }
}
#conditions .button {
  margin-top: 6.6666666667vw;
}
@media (min-width: 1920px) {
  #conditions .button {
    margin-top: 128px;
  }
}
@media (max-width: 1439px) {
  #conditions .button {
    margin-top: 96px;
  }
}

#notfound {
  position: relative;
  height: 100vh;
  padding-top: 10.2083333333vw;
  padding-left: 14.2857142857vw;
}
@media (min-width: 1920px) {
  #notfound {
    padding-top: 196px;
  }
}
@media (max-width: 1439px) {
  #notfound {
    padding-top: 147px;
  }
}
@media (max-width: 1106px) {
  #notfound {
    padding-left: 158px;
  }
}
#notfound .button {
  position: relative;
  z-index: 1;
  margin-top: 3.8194444444vw;
  width: 21.4285714286vw;
}
@media (min-width: 1920px) {
  #notfound .button {
    margin-top: 73.3333333333px;
  }
}
@media (max-width: 1439px) {
  #notfound .button {
    margin-top: 55px;
  }
}
@media (max-width: 1106px) {
  #notfound .button {
    width: 237px;
  }
}
#notfound .button:after {
  animation-delay: 0.5s;
}
#notfound .button .text {
  animation-delay: 1s;
}
#notfound .circle-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@supports (clip-path: circle()) or (-webkit-clip-path: circle()) {
  #notfound .circle {
    background: url(../img/content/404/01@2x.jpg) center/cover;
    -webkit-clip-path: circle(0 at 70% 70%);
    clip-path: circle(0 at 70% 70%);
  }
}

#home {
  display: flex;
  height: 100%;
  background: url(../img/content/index/background@2x.jpg) center top/cover;
}
#home .left {
  flex-grow: 1;
}
#home .left .background {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, #D98F9E 0%, #736AAD 100%);
  opacity: 0.75;
}
#home .left .background:before, #home .left .background:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center/cover no-repeat;
  animation: 10s linear infinite;
}
#home .left .background:before {
  animation-name: backgroundGradient1;
}
#home .left .background:after {
  animation-name: backgroundGradient2;
}
#home .main {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 80px;
  right: 400px;
  overflow: hidden;
}
@media (max-width: 1439px) {
  #home .main {
    right: 27.7777777778vw;
  }
}
#home .sections {
  display: flex;
  color: white;
}
#home .section {
  cursor: pointer;
  user-select: none;
  display: flex;
  justify-content: center;
  position: relative;
  width: 80px;
  overflow: hidden;
  transition: width 0.5s ease-in-out, opacity 0.5s;
}
.hidden #home .section {
  width: 0;
}
@media (max-width: 1439px) {
  #home .section {
    width: 5.5555555556vw;
  }
}
#home .section:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease-in;
}
#home .section:hover:before {
  opacity: 1;
}
@media (pointer: coarse) {
  #home .section:hover:before {
    opacity: 0.5;
  }
}
#home .section.-active:before {
  opacity: 1;
}
#home .section:after {
  content: "";
  position: absolute;
  top: 36px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
  opacity: 0.4;
  transition: transform 0.5s ease-in-out;
  pointer-events: none;
}
#home .section.-active:after {
  transform: scale(0);
}
@keyframes sectionCloseIconIn {
  from {
    transform: rotate(-90deg);
  }
  to {
    transform: rotate(0);
  }
}
@keyframes sectionCloseIconOut {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-90deg);
  }
}
#home .section .close {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 80px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s, transform 0.25s ease-in-out;
  animation: sectionCloseIconOut 0.5s ease-in-out;
}
#home .section .close:before, #home .section .close:after {
  content: "";
  position: absolute;
  width: 1.5277777778vw;
  height: 0.1388888889vw;
  background: white;
}
@media (min-width: 1920px) {
  #home .section .close:before, #home .section .close:after {
    width: 29.3333333333px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  #home .section .close:before, #home .section .close:after {
    width: 22px;
    height: 2px;
  }
}
#home .section .close:before {
  transform: rotate(45deg);
}
#home .section .close:after {
  transform: rotate(-45deg);
}
#home .section:hover .close {
  transform: rotate(90deg);
}
#home .section.-active .close {
  opacity: 1;
  animation: sectionCloseIconIn 0.5s ease-out;
  pointer-events: all;
}
#home .section .h11 {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform-origin: left center;
  transform: rotate(-90deg);
}
#home #section-concept {
  transition-delay: 0.9s;
}
#home #section-concept:before {
  background-image: linear-gradient(to bottom, #d19496, #6d8bb0);
}
#home #section-location {
  transition-delay: 0.8s;
}
#home #section-location:before {
  background-image: linear-gradient(to bottom, #d6b99f, #835cb8);
}
#home #section-spaces {
  transition-delay: 0.7s;
}
#home #section-spaces:before {
  background-image: linear-gradient(to bottom, #b386aa, #8a296c);
}
#home #section-apartments {
  transition-delay: 0.6s;
}
#home #section-apartments:before {
  background-image: linear-gradient(to bottom, #f2a296, #3b006b);
}
#home #section-team {
  transition-delay: 0.5s;
}
#home #section-team:before {
  background-image: linear-gradient(to bottom, #945123, #03244d);
}
#home .default {
  color: white;
}
#home .default .header {
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  height: 80px;
  padding: 0 4.4444444444vw;
  font-size: 0.8333333333vw;
  font-weight: bold;
  line-height: 0.67;
  letter-spacing: 0.0451388889vw;
  text-transform: uppercase;
}
@media (min-width: 1920px) {
  #home .default .header {
    padding: 0 85.3333333333px;
    font-size: 16px;
    letter-spacing: 0.8666666667px;
  }
}
@media (max-width: 1439px) {
  #home .default .header {
    padding: 0 64px;
    font-size: 12px;
    letter-spacing: 0.65px;
  }
}
.hidden #home .default .header {
  transform: translate3d(0, -100%, 0);
}
.animate #home .default .header {
  animation: header 1s ease-out;
}
#home .default .phone {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  transition: color 0.15s;
}
#home .default .phone:hover, #home .default .phone:focus {
  color: #1A1A1A;
}
#home .default .socials {
  display: flex;
  position: relative;
  z-index: 1;
}
#home .default .social {
  transition: color 0.15s;
}
#home .default .social:before {
  background: white;
  transition: background-color 0.15s;
}
#home .default .social:hover, #home .default .social:focus {
  color: #1A1A1A;
}
#home .default .social:hover:before, #home .default .social:focus:before {
  background: #1A1A1A;
}
#home .default .text {
  margin-top: 10.2083333333vw;
  padding: 0 4.4444444444vw;
}
@media (min-width: 1920px) {
  #home .default .text {
    padding: 0 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  #home .default .text {
    padding: 0 64px;
  }
}
#home .default .circle-container {
  position: absolute;
  top: 0;
  left: -80px;
  right: 0;
  bottom: 0;
}
#home .default .circle {
  pointer-events: none;
  width: 0;
  height: 0;
  border-radius: 50%;
  overflow: hidden;
  transform: translate3d(500px, 500px, 0);
}
#home .default .circle .image {
  width: 100vw;
  height: 100vh;
  background: url(../img/content/index/circle@2x.jpg) center top/cover;
  transform: translate3d(-500px, -500px, 0);
}
#home .default .greencow {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  padding-bottom: 34px;
  padding-right: 4.4444444444vw;
  font-size: 0.9027777778vw;
  line-height: 1.38;
}
@media (min-width: 1920px) {
  #home .default .greencow {
    padding-right: 85.3333333333px;
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #home .default .greencow {
    padding-right: 64px;
    font-size: 13px;
  }
}
#home .default .greencow .link:hover, #home .default .greencow .link:focus {
  color: #1A1A1A;
}
.hidden #home .default .greencow {
  opacity: 0;
}
.animate #home .default .greencow {
  animation: fromBottom 0.5s ease-in-out 0.5s backwards;
}
@keyframes showScreen {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes hideScreen {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
#home .screen {
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  z-index: 1;
  width: 100%;
  background: white;
}
#home .screen.-show {
  animation: showScreen 1s ease-in-out forwards;
}
#home .screen.-hide {
  animation: hideScreen 1s ease-in-out 0.5s backwards;
}
#home .screen .phone {
  display: flex;
  align-items: center;
  position: absolute;
  left: 4.4444444444vw;
  z-index: 3;
  height: 80px;
  font-size: 0.8333333333vw;
  font-weight: bold;
  line-height: 0.67;
  letter-spacing: 0.0451388889vw;
  text-transform: uppercase;
  color: white;
  transition: color 0.15s;
}
#home .screen .phone:hover, #home .screen .phone:focus {
  color: #1A1A1A;
}
@media (min-width: 1920px) {
  #home .screen .phone {
    left: 85.3333333333px;
    font-size: 16px;
    letter-spacing: 0.8666666667px;
  }
}
@media (max-width: 1439px) {
  #home .screen .phone {
    left: 64px;
    font-size: 12px;
    letter-spacing: 0.65px;
  }
}
#home .screen .cover {
  position: relative;
  width: 50%;
  background: center top/cover;
}
#home .screen .cover:after {
  content: "";
  display: block;
  position: relative;
  z-index: 1;
  width: 101%;
  height: 100%;
  background: white;
}
@keyframes showScreenCover {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes hideScreenCover {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
#home .screen.-show .cover:after {
  animation: showScreenCover 1s ease-out forwards 1s;
}
#home .screen.-hide .cover:after {
  animation: hideScreenCover 0.5s ease-in;
}
#home .screen .slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center/cover;
}
#home .screen .slide:not(.-active) {
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
#home .screen .content {
  width: 50%;
  padding: 6vmin 6vmin 2.5vw;
}
@media (min-width: 1920px) {
  #home .screen .content {
    padding-bottom: 48px;
  }
}
@keyframes toBottom {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(0, 50px, 0);
    opacity: 0;
  }
}
#home .screen .title {
  font-size: 1.8055555556vw;
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: 0.0347222222vw;
  text-transform: uppercase;
  margin-bottom: 6vmin;
}
@media (min-width: 1920px) {
  #home .screen .title {
    font-size: 34.6666666667px;
    letter-spacing: 0.6666666667px;
  }
}
@media (max-width: 1439px) {
  #home .screen .title {
    font-size: 26px;
    letter-spacing: 0.5px;
  }
}
#home .screen.-show .title {
  animation: fromBottom 1s ease-out 1s backwards;
}
#home .screen.-hide .title {
  animation: toBottom 0.5s ease-in 0.1s forwards;
}
#home .screen.-show .text {
  animation: fromBottom 1s ease-out 1.1s backwards;
}
#home .screen.-hide .text {
  animation: toBottom 0.5s ease-in forwards;
}
#home .screen .close {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 80px;
  height: 80px;
}
#home .screen .close:before, #home .screen .close:after {
  content: "";
  position: absolute;
  width: 1.5277777778vw;
  height: 0.1388888889vw;
  background: white;
  transition: transform 0.25s ease-in-out;
}
@media (min-width: 1920px) {
  #home .screen .close:before, #home .screen .close:after {
    width: 29.3333333333px;
    height: 2.6666666667px;
  }
}
@media (max-width: 1439px) {
  #home .screen .close:before, #home .screen .close:after {
    width: 22px;
    height: 2px;
  }
}
#home .screen .close:before {
  transform: rotate(45deg);
}
#home .screen .close:hover:before {
  transform: rotate(135deg);
}
#home .screen .close:after {
  transform: rotate(-45deg);
}
#home .screen .close:hover:after {
  transform: rotate(45deg);
}
#home .screen .controls {
  position: absolute;
  bottom: 35px;
  left: calc(50% + 6vmin);
}
#home .screen .thumbs {
  display: flex;
}
#home .screen .thumb {
  position: relative;
  width: 10.625vw;
  max-width: calc(100vh - 460px);
  transform: translateZ(0);
  margin-right: 1.6666666667vw;
  cursor: pointer;
}
@media (min-width: 1920px) {
  #home .screen .thumb {
    width: 204px;
    height: 204px;
    margin-right: 32px;
  }
}
#home .screen .thumb:before {
  content: "";
  display: block;
  position: relative;
  z-index: 5;
  width: 100%;
  padding-top: 100%;
  background-image: linear-gradient(to right, #F1B6C2 0%, #958DC7 100%);
  opacity: 0.5;
}
#home .screen .thumb:after {
  content: "";
  display: block;
  position: absolute;
  top: -1%;
  left: -1%;
  z-index: 5;
  width: 102%;
  height: 102%;
  background: white;
}
@keyframes showThumb {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes hideThumb {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
#home .screen.-show .thumb:after {
  animation: showThumb 0.5s ease-in-out forwards;
}
#home .screen.-show .thumb:first-child:after {
  animation-delay: 1s;
}
#home .screen.-show .thumb:last-child:after {
  animation-delay: 1.5s;
}
#home .screen.-hide .thumb:after {
  animation: hideThumb 0.25s ease-in-out backwards;
}
#home .screen.-hide .thumb:first-child:after {
  animation-delay: 0.25s;
}
#home .screen .thumb-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#home .screen .thumb-slide:not(.-active) {
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
#home .screen .thumb-slide img {
  filter: blur(10px);
}
@media (pointer: coarse) {
  #home .screen .thumb-slide img {
    filter: none;
  }
}
#home .screen .thumb-slide img:first-child {
  position: absolute;
  top: -20px;
  left: -20px;
  width: calc(100% + 40px);
  height: calc(100% + 40px);
}
@media (pointer: coarse) {
  #home .screen .thumb-slide img:first-child {
    display: none;
  }
}
#home .screen .thumb-slide img:last-child {
  width: 100%;
  height: 100%;
}
#home .screen .bullets {
  display: flex;
  margin-top: 2.2222222222vw;
}
@media (min-width: 1920px) {
  #home .screen .bullets {
    margin-top: 42.6666666667px;
  }
}
#home .screen .bullet {
  animation: none;
}
#home .screen.-show .bullet {
  animation: zoomIn 1s ease-out backwards 1.5s;
}
#home .screen.-hide .bullet {
  animation: zoomOut 0.5s ease-in forwards;
}
#home #screen-team .cover {
  background-image: url(../img/content/index/team/01@2x.jpg);
}
#home #screen-team .h11 {
  white-space: initial;
  line-height: inherit;
}
#home #screen-concept .cover {
  background-image: url(../img/content/index/concept/01@2x.jpg);
}
#home #screen-concept.-fullscreen .phone:hover {
  color: #958DC7;
}
#home #screen-concept .fade {
  z-index: 1;
  background: black;
  opacity: 0;
  transition: opacity 0.5s;
}
#home #screen-concept.-fullscreen .fade {
  z-index: 3;
  opacity: 1;
  transition-delay: 0.25s;
}
#home #screen-concept .close {
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s;
}
#home #screen-concept.-fullscreen .close {
  pointer-events: all;
  z-index: 3;
  opacity: 1;
}
#home #screen-concept .video-container {
  position: absolute;
  bottom: 6.6666666667vw;
  right: 6vmin;
  width: 18.4722222222vw;
  height: 10.4861111111vw;
}
@media (min-width: 1920px) {
  #home #screen-concept .video-container {
    bottom: 128px;
    width: 354.6666666667px;
    height: 201.3333333333px;
  }
}
#home #screen-concept .video-overlay {
  pointer-events: none;
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: 3;
  overflow: hidden;
}
#home #screen-concept .video-overlay:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
}
@keyframes openRight {
  0% {
    transform: translate3d(0, 0, 0);
  }
  99% {
    opacity: 1;
  }
  100% {
    transform: translate3d(-100%, 0, 0);
    opacity: 0;
  }
}
@keyframes closeRight {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
#home #screen-concept.-show .video-overlay:after {
  animation: openRight 0.5s ease-in-out 1.5s forwards;
}
#home #screen-concept.-hide .video-overlay:after {
  animation: closeRight 0.5s ease-in-out;
}
#home #screen-concept .video {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 18.4722222222vw;
  transition: all 0.5s ease-in-out;
}
@media (min-width: 1920px) {
  #home #screen-concept .video {
    width: 354.6666666667px;
  }
}
#home #screen-concept .video .gradient {
  opacity: 0.5;
  transition: opacity 0.5s;
}
#home #screen-concept .video:before, #home #screen-concept .video:after {
  background-size: 3.8888888889vw;
  transition: opacity 0.25s, transform 0.25s ease-in-out 0.5s;
}
@media (min-width: 1920px) {
  #home #screen-concept .video:before, #home #screen-concept .video:after {
    background-size: 74.6666666667px;
  }
}
#home #screen-concept .video video {
  width: 100%;
  height: auto;
}
@keyframes fixConceptVideoIn {
  0% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fixConceptVideoOut {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#home #screen-concept.-show .video:before, #home #screen-concept.-show .video:after {
  animation: zoomIn 0.5s ease-in-out 1.75s backwards;
}
#home #screen-concept.-show .video video {
  animation: fixConceptVideoIn 0.5s 1s backwards;
}
#home #screen-concept.-hide .video:before, #home #screen-concept.-hide .video:after {
  animation: zoomOut 0.5s ease-in-out forwards;
}
#home #screen-concept.-hide .video video {
  animation: fixConceptVideoOut 0.5s forwards;
}
#home #screen-concept.-fullscreen .video {
  cursor: default;
  z-index: 3;
  bottom: calc(50vh - 6.6666666667vw - (50vw - 240px) * .57);
  right: -6vmin;
  width: calc(100vw - 480px);
  transition-delay: 0.25s;
}
@media (min-width: 1920px) {
  #home #screen-concept.-fullscreen .video {
    bottom: calc(50vh - 128px - (50vw - 240px) * .57);
  }
}
@media (max-width: 1439px) {
  #home #screen-concept.-fullscreen .video {
    bottom: calc(50vh - 6.6666666667vw - (50vw - 13.8888888889vw - 40px) * .57);
    width: calc(100vw - 80px - 27.7777777778vw);
  }
}
#home #screen-concept.-fullscreen .video .gradient {
  pointer-events: none;
  opacity: 0;
  transition-delay: 0.25s;
}
#home #screen-concept.-fullscreen .video:before, #home #screen-concept.-fullscreen .video:after {
  transform: scale(0);
  transition-delay: 0s;
}
#home #screen-concept #cover {
  transition: opacity 0.5s;
}
#home #screen-concept.-fullscreen #cover {
  opacity: 0;
  transition-delay: 0.25s;
}
#home #screen-concept #video {
  position: absolute;
  opacity: 0;
  transition: opacity 0.5s;
}
#home #screen-concept #video iframe {
  height: 100%;
  width: 100%;
}
#home #screen-concept.-fullscreen #video {
  opacity: 1;
  transition-delay: 0.25s;
}
#home #screen-concept .video-text {
  position: absolute;
  top: 100%;
  font-size: 0.9027777778vw;
  line-height: 1.38;
  margin-top: 1.6666666667vw;
}
@media (min-width: 1920px) {
  #home #screen-concept .video-text {
    font-size: 17.3333333333px;
  }
}
#home #screen-concept.-show .video-text {
  animation: fromBottom 0.5s ease-out 2s backwards;
}
#home #screen-concept.-hide .video-text {
  animation: toBottom 0.5s ease-in forwards;
}
@keyframes videoDurationIn {
  from {
    transform: translate3d(-30px, 0, 0) rotate(-90deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0) rotate(-90deg);
    opacity: 1;
  }
}
@keyframes videoDurationOut {
  from {
    transform: translate3d(0, 0, 0) rotate(-90deg);
    opacity: 1;
  }
  to {
    transform: translate3d(-30px, 0, 0) rotate(-90deg);
    opacity: 0;
  }
}
#home #screen-concept .video-duration {
  position: absolute;
  top: 0;
  right: 100%;
  font-size: 0.7638888889vw;
  font-weight: bold;
  line-height: 0.73;
  letter-spacing: 0.0694444444vw;
  transform-origin: top right;
  transform: rotate(-90deg);
  margin-right: 2.2222222222vw;
}
@media (min-width: 1920px) {
  #home #screen-concept .video-duration {
    font-size: 14.6666666667px;
    letter-spacing: 1.3333333333px;
    margin-right: 42.6666666667px;
  }
}
#home #screen-concept.-show .video-duration {
  animation: videoDurationIn 0.5s ease-out 2s backwards;
}
#home #screen-concept.-hide .video-duration {
  animation: videoDurationOut 0.5s ease-in forwards;
}
#home #screen-location .cover {
  background-image: url(../img/content/index/location/01@2x.jpg);
}
#home #screen-location .map {
  display: flex;
  flex-direction: column;
  z-index: 100;
  transition: background-color 1s;
  pointer-events: none;
}
#home #screen-location .map.-fullscreen {
  pointer-events: all;
  background-color: white;
}
#home #screen-location .map-layout {
  flex-grow: 1;
  display: flex;
}
#home #screen-location .places {
  width: 25vw;
  opacity: 0;
  transition: opacity 1s;
}
@media (min-width: 1920px) {
  #home #screen-location .places {
    width: 480px;
  }
}
@media (max-width: 1439px) {
  #home #screen-location .places {
    width: 360px;
  }
}
#home #screen-location .map.-fullscreen .places {
  opacity: 1;
}
#home #screen-location #map {
  height: 100%;
  background: url(../img/content/location/map.svg) center/cover;
}
#home #screen-location .map-circle {
  cursor: pointer;
  z-index: 100;
  position: absolute;
  bottom: 6vmin;
  right: 6vmin;
  width: 220px;
  height: 220px;
  border-radius: 50%;
}
@media (max-width: 1439px) {
  #home #screen-location .map-circle {
    width: 15.2777777778vw;
    height: 15.2777777778vw;
  }
}
#home #screen-location .map-container {
  flex-grow: 1;
}
#home #screen-location .map-layer {
  width: 100%;
  height: 100%;
  transform: translate3d(calc(50% - 6vmin - 110px), calc(50% - 6vmin - 110px), 0) rotate(0.0001deg);
  transition: transform 1s ease-in-out;
}
@media (max-width: 1439px) {
  #home #screen-location .map-layer {
    transform: translate3d(calc(50% - 6vmin - 7.6388888889vw), calc(50% - 6vmin - 7.6388888889vw), 0) rotate(0.0001deg);
  }
}
#home #screen-location .map.-fullscreen .map-layer {
  transform: translate3d(0, 0, 0) rotate(0deg);
  transition-delay: 0s;
}
#home #screen-location .map-mask {
  position: relative;
  height: 100%;
  -webkit-clip-path: circle(110px at 50% 50%);
  clip-path: circle(110px at 50% 50%);
  transform: translateZ(0);
}
@media (max-width: 1439px) {
  #home #screen-location .map-mask {
    -webkit-clip-path: circle(7.6388888889vw at 50% 50%);
    clip-path: circle(7.6388888889vw at 50% 50%);
  }
}
#home #screen-location .map-mask:before, #home #screen-location .map-mask:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  transition: opacity 1s;
}
#home #screen-location .map-mask:before {
  background-image: linear-gradient(to right, #f1b6c2 0%, #958dc7 100%);
  opacity: 0.5;
}
#home #screen-location .map-mask:after {
  background: url(../img/icons/location.svg) center/56px no-repeat;
}
@media (max-width: 1439px) {
  #home #screen-location .map-mask:after {
    background-size: 3.8888888889vw;
  }
}
#home #screen-location .map.-fullscreen .map-mask:before, #home #screen-location .map.-fullscreen .map-mask:after {
  opacity: 0;
}
#home #screen-location.-show .map-mask {
  animation: zoomIn 1s ease-in-out 1s backwards;
}
#home #screen-location.-hide .map-mask {
  animation: zoomOut 0.5s ease-in-out forwards;
}
#home #screen-location .close {
  background: white;
  opacity: 0;
  transition: opacity 1s;
}
#home #screen-location .close:before, #home #screen-location .close:after {
  background: #1A1A1A;
}
#home #screen-location .map.-fullscreen .close {
  opacity: 1;
}
#home #screen-location .zoom {
  opacity: 0;
  transition: opacity 1s;
}
#home #screen-location .map.-fullscreen .zoom {
  opacity: 1;
}

.places {
  position: relative;
  overflow-y: auto;
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .places {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 1439px) {
  .places {
    font-size: 14px;
  }
}
.places::-webkit-scrollbar {
  width: 20px;
  background: none;
}
.places::-webkit-scrollbar-thumb {
  border: 9px solid transparent;
  background: rgba(0, 0, 0, 0.1);
  background-clip: content-box;
}
.places ol {
  counter-reset: location-counter;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .places ol {
    padding: 42.6666666667px;
  }
}
@media (max-width: 1439px) {
  .places ol {
    padding: 32px;
  }
}

.place {
  counter-increment: location-counter;
  display: flex;
}
.place:before {
  content: counter(location-counter);
  flex-shrink: 0;
  width: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .place:before {
    width: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  .place:before {
    width: 40px;
  }
}
.place:not(:last-child) {
  margin-bottom: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .place:not(:last-child) {
    margin-bottom: 10.6666666667px;
  }
}
@media (max-width: 1439px) {
  .place:not(:last-child) {
    margin-bottom: 8px;
  }
}

.zoom {
  cursor: pointer;
  position: absolute;
  bottom: 1.1111111111vw;
  right: 1.1111111111vw;
  z-index: 1;
  height: 3.4722222222vw;
  width: 3.4722222222vw;
  background: white url(../img/icons/zoomin.svg) center center no-repeat;
}
@media (min-width: 1920px) {
  .zoom {
    bottom: 21.3333333333px;
    right: 21.3333333333px;
    height: 66.6666666667px;
    width: 66.6666666667px;
  }
}
@media (max-width: 1439px) {
  .zoom {
    bottom: 16px;
    right: 16px;
    height: 50px;
    width: 50px;
  }
}
.-zoommap .zoom {
  background-image: url(../img/icons/zoomout.svg);
}

#zoom {
  counter-reset: points-counter;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  overflow: auto;
  visibility: hidden;
}
.-zoommap #zoom {
  visibility: visible;
}
#zoom .zoom {
  position: fixed;
}
#zoom .zoom-container {
  display: flex;
  flex-direction: column;
  position: relative;
}
#zoom .zoom-container img {
  width: 100%;
  height: auto;
}
@media (max-aspect-ratio: 3368/2720) {
  #zoom .zoom-container {
    flex-direction: row;
    width: fit-content;
    height: 100%;
  }
  #zoom .zoom-container img {
    width: auto;
    height: 100%;
  }
}
#zoom .point {
  counter-increment: points-counter;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #C0B8C8;
  transform: translate(-11px, -11px);
  transition: background-color 0.15s;
}
#zoom .point:before {
  content: counter(points-counter);
  font-size: 11px;
  font-weight: 300;
  color: white;
}
#zoom .point:hover {
  z-index: 1;
  background: #D98F9E;
}
#zoom .point:hover .tip {
  opacity: 1;
}
#zoom .tip {
  pointer-events: none;
  position: absolute;
  bottom: 100%;
  width: max-content;
  min-width: 5.5555555556vw;
  max-width: 13.1944444444vw;
  padding: 0.8333333333vw 1.1111111111vw 1.1111111111vw;
  border-radius: 0.2777777778vw;
  background: white;
  box-shadow: 0 0.0694444444vw 0.4861111111vw 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  font-size: 0.9027777778vw;
  line-height: 1.38;
  margin-bottom: 8px;
  opacity: 0;
  transition: opacity 0.15s;
}
@media (min-width: 1920px) {
  #zoom .tip {
    min-width: 106.6666666667px;
    max-width: 253.3333333333px;
    padding: 16px 21.3333333333px 21.3333333333px;
    box-shadow: 0 1.3333333333px 9.3333333333px 0 rgba(0, 0, 0, 0.2);
    font-size: 17.3333333333px;
  }
}
@media (max-width: 1439px) {
  #zoom .tip {
    min-width: 80px;
    max-width: 190px;
    padding: 12px 16px 16px;
    box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.2);
    font-size: 13px;
  }
}
#zoom #point01 {
  top: 44.9%;
  left: 72.6%;
}
#zoom #point02 {
  top: 43.2%;
  left: 77.8%;
}
#zoom #point03 {
  top: 45%;
  left: 82.7%;
}
#zoom #point04 {
  top: 57%;
  left: 77.5%;
}
#zoom #point05 {
  top: 55.7%;
  left: 75.3%;
}
#zoom #point06 {
  top: 72.77%;
  left: 73.2%;
}
#zoom #point07 {
  top: 35.1%;
  left: 90.1%;
}
#zoom #point08 {
  top: 17.5%;
  left: 84.8%;
}
#zoom #point09 {
  top: 16%;
  left: 69.5%;
}
#zoom #point10 {
  top: 10%;
  left: 64.3%;
}
#zoom #point11 {
  top: 29.6%;
  left: 58.7%;
}
#zoom #point12 {
  top: 41.2%;
  left: 59.1%;
}
#zoom #point13 {
  top: 61.8%;
  left: 60.5%;
}
#zoom #point14 {
  top: 65.5%;
  left: 49.7%;
}
#zoom #point15 {
  top: 56.9%;
  left: 53.7%;
}
#zoom #point16 {
  top: 55.4%;
  left: 55.4%;
}
#zoom #point17 {
  top: 47.9%;
  left: 45.4%;
}
#zoom #point18 {
  top: 21.7%;
  left: 48.9%;
}
#zoom #point19 {
  top: 20.45%;
  left: 46.1%;
}
#zoom #point20 {
  top: 13.45%;
  left: 45.5%;
}
#zoom #point21 {
  top: 23.8%;
  left: 40.5%;
}
#zoom #point22 {
  top: 29%;
  left: 38.5%;
}
#zoom #point23 {
  top: 44.8%;
  left: 34.65%;
}
#zoom #point24 {
  top: 43.5%;
  left: 36.1%;
}
#zoom #point25 {
  top: 15.3%;
  left: 35.05%;
}
#zoom #point26 {
  top: 8.5%;
  left: 31.5%;
}
#zoom #point27 {
  top: 8.5%;
  left: 27.5%;
}
#zoom #point28 {
  top: 8.5%;
  left: 25.65%;
}
#zoom #point29 {
  top: 25%;
  left: 26.85%;
}
#zoom #point30 {
  top: 33.4%;
  left: 25.45%;
}
#zoom #point31 {
  top: 31.4%;
  left: 18.55%;
}
#zoom #point32 {
  top: 29.85%;
  left: 17.35%;
}
#zoom #point33 {
  top: 28%;
  left: 16.9%;
}
#zoom #point34 {
  top: 27.7%;
  left: 15.3%;
}
#zoom #point35 {
  top: 31.75%;
  left: 15.4%;
}
#zoom #point36 {
  top: 47.75%;
  left: 13.3%;
}
#zoom #point37 {
  top: 44.1%;
  left: 10.2%;
}
#zoom #point38 {
  top: 15.75%;
  left: 12.9%;
}

.-zoommap {
  overflow-x: hidden;
  overflow-y: hidden;
}

#location:before {
  content: "";
  display: block;
  height: 11.3888888889vw;
}
@media (min-width: 1920px) {
  #location:before {
    height: 218.6666666667px;
  }
}
@media (max-width: 1439px) {
  #location:before {
    height: 164px;
  }
}
#location .main {
  display: flex;
}
#location .main .space1 {
  flex-grow: 1;
  min-height: 1.6666666667vw;
}
@media (min-width: 1920px) {
  #location .main .space1 {
    min-height: 32px;
  }
}
@media (max-width: 1439px) {
  #location .main .space1 {
    min-height: 24px;
  }
}
#location .main .space2 {
  flex-shrink: 1;
  min-height: 1.6666666667vw;
  height: 2.7777777778vw;
}
@media (min-width: 1920px) {
  #location .main .space2 {
    min-height: 32px;
    height: 53.3333333333px;
  }
}
@media (max-width: 1439px) {
  #location .main .space2 {
    min-height: 24px;
    height: 40px;
  }
}
#location .main .space3 {
  flex-shrink: 10;
  height: 4.4444444444vw;
}
@media (min-width: 1920px) {
  #location .main .space3 {
    height: 85.3333333333px;
  }
}
@media (max-width: 1439px) {
  #location .main .space3 {
    height: 64px;
  }
}
#location .main, #location .main .image {
  height: 35.7142857143vw;
  max-height: calc(100vh - 11.3888888889vw - 100px);
}
@media (min-width: 1920px) {
  #location .main, #location .main .image {
    max-height: calc(100vh - 218.6666666667px - 100px);
  }
}
@media (max-width: 1439px) {
  #location .main, #location .main .image {
    max-height: calc(100vh - 264px);
  }
}
@media (max-width: 1106px) {
  #location .main, #location .main .image {
    height: 395px;
  }
}
#location .map {
  display: flex;
  position: relative;
  margin-top: 11.1111111111vw;
  margin-bottom: 11.1111111111vw;
}
@media (min-width: 1920px) {
  #location .map {
    margin-top: 213.3333333333px;
    margin-bottom: 213.3333333333px;
  }
}
@media (max-width: 1439px) {
  #location .map {
    margin-top: 160px;
    margin-bottom: 160px;
  }
}
#location .map-container {
  display: flex;
  flex-direction: column;
  position: relative;
  flex-shrink: 0;
  width: calc(100% - 22.2222222222vw);
  max-width: 110vh;
}
@media (min-width: 1920px) {
  #location .map-container {
    width: calc(100% - 426.6666666667px);
  }
}
@media (max-width: 1439px) {
  #location .map-container {
    width: calc(100% - 320px);
  }
}
#location .map-container img {
  width: 100%;
  height: auto;
}
#location .places {
  flex-grow: 1;
  border: 1px solid #EBEBEB;
  border-left: none;
}

/*# sourceMappingURL=main.css.map */
