@import url("fonts.css");
* {
  box-sizing: border-box;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  margin: 0;
  padding: 0;
  text-align: var(--text-align);
  font: inherit;
  font-family: "Montserrat", system-ui, -apple-system, "BlinkMacSystemFont",
    "Segoe UI", "Helvetica Neue", "Helvetica", Arial, sans-serif;
}
*::before,
*::after {
  box-sizing: border-box;
}

::-moz-placeholder {
  font-family: "Montserrat", system-ui, -apple-system, "BlinkMacSystemFont",
    "Segoe UI", "Helvetica Neue", "Helvetica", Arial, sans-serif;
}

::placeholder {
  font-family: "Montserrat", system-ui, -apple-system, "BlinkMacSystemFont",
    "Segoe UI", "Helvetica Neue", "Helvetica", Arial, sans-serif;
}

.masters-p-text {
  max-width: 600px;
  width: 100%;
  margin: 20px auto 0 auto;
  text-align: center;
}

.masters-p-text p {
  text-align: center;
}

:root {
  --text-align: left;
  --container: 1240px;
  --container-offset: 2rem;
  --color-accent-1: #ff4f84;
  --color-accent-2: #ff4f84;
  --color-bg-1: #141418;
  --color-bg-2: rgba(38, 38, 48, 80%);
  --color-bg-3: #262630;
  --color-bg-4: #313141;
  --section-offset: 180px;
  --border-large: 2.5rem;
  --border-medium: 1.75rem;
}

html {
  font-size: 20px;
}

.dop-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 60px;

  & p {
    text-align: center;
  }
}

body {
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: var(--color-bg-1);
  margin: 0;
}
body.scroll-locked {
  overflow-y: hidden;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

picture {
  max-width: 100%;
}

a,
button,
input,
label,
textarea {
  outline: none;
  border: none;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
}

a,
button {
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  color: inherit;
}

:focus-visible {
  outline: none;
}

ul {
  padding: 0;
  list-style: none;
  list-style-type: none;
}
ul li {
  display: inline-block;
  list-style: none;
}

h1,
h2 {
  color: #fff;
  margin-bottom: 1.45em;
  font-weight: 800;
  line-height: 1.2;
}
h1.text-after,
h2.text-after {
  margin-bottom: 0.825em;
}
h1 b,
h1 strong,
h2 b,
h2 strong {
  color: var(--color-accent-1);
  font-weight: 800;
}

h1 {
  font-size: 3.45rem;
}

h2 {
  font-size: 3rem;
}

h3,
.h3 {
  color: #fff;
  font-size: 1.45rem;
  font-weight: 600;
  margin-bottom: 1em;
  line-height: 1.6;
}

h4,
.h4 {
  color: #fff;
  font-size: 1.26rem;
  font-weight: 700;
  margin-bottom: 0.725em;
  line-height: 1.4;
}

h5,
.h5 {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.725em;
  line-height: 1.5;
}

p {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
}
p:not(:last-of-type) {
  margin-bottom: 1.25em;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
p a {
  color: var(--color-accent-1);
  white-space: nowrap;
}

b,
strong {
  font-weight: 700;
}

.hide {
  display: none;
  visibility: hidden;
  opacity: 0;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85em;
  color: #000;
  font-size: var(--button-size, 0.85rem);
  font-weight: 700;
  padding: 1.125em 2.35em;
  background-color: var(--color-accent-1);
  transition: all 0.2s ease-out;
  border-radius: 100px;
  text-align: center;
}
.button:hover {
  background-color: var(--color-accent-2);
}
.button img,
.button svg {
  display: inline-block;
  width: 1em;
  height: auto;
  vertical-align: middle;
}
.button svg path {
  transition: all 0.2s ease-out;
  fill: #000;
}
.button.button-outline {
  background: transparent;
  border: 1.5px solid var(--color-accent-1);
  color: var(--color-accent-1);
}
.button.button-outline svg path {
  fill: var(--color-accent-1);
}
.button.button-outline:hover {
  background-color: var(--color-accent-1);
  border-color: transparent;
  color: #000;
}
.button.button-outline:hover svg path {
  fill: #000;
}

.button-large {
  --button-size: 1.125rem;
}

.text-center {
  --text-align: center;
}

.container {
  max-width: calc(var(--container) + var(--container-offset) * 2);
  padding-left: var(--container-offset);
  padding-right: var(--container-offset);
  width: 100%;
  margin: 0 auto;
}

.container-xl {
  --container: 1362px;
}

.container-sm {
  --container: 1000px;
}

.row {
  --align-items: flex-start;
  --justify-content: flex-start;
  --wrap: wrap;
  --columns: 2;
  --col-gap: 2rem;
  display: flex;
  align-items: var(--align-items);
  justify-content: var(--justify-content);
  flex-wrap: var(--wrap);
  margin: calc(var(--col-gap) / 2 * -1);
  gap: var(--gap, 0px);
}
.row .row-item {
  width: calc(100% / var(--columns) - var(--col-gap));
  margin: calc(var(--col-gap) / 2);
}

.row-simple {
  margin-top: var(--margin, 1.45rem);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--gap, 1rem);
  flex-wrap: wrap;
}

main {
  overflow-x: clip;
  padding-bottom: calc(var(--section-offset) * 0.7);
}
main:not(.main-index) {
  padding-top: calc(var(--section-offset) * 0.7);
}

.header {
  position: fixed;
  padding-top: 1rem;
  padding-bottom: 1rem;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: all 0.2s ease-out;
}
.header .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap, 3rem);
}
.header .header-inner #nav-toggle {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  background: no-repeat center center/auto;
  background-image: url("../images/nav_closed.svg");
  z-index: 999;
  flex: 0 0 auto;
}
.header .header-inner .header-logo {
  margin-right: auto;
  transform: translateY(-10%);
}
.header .header-inner .header-navigation {
  display: none;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-2);
  -webkit-backdrop-filter: blur(10px) brightness(0.2);
  backdrop-filter: blur(10px) brightness(0.2);
  z-index: 10;
}
.header .header-inner .header-navigation .nav {
  height: 100%;
  padding: 4rem 2rem;
}
.header .header-inner .header-navigation .nav ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 1rem;
}
.header .header-inner .header-navigation .nav ul li a {
  font-size: 1rem;
}
.header .header-inner .header-navigation .nav ul li a:not(.button) {
  color: #fff;
  font-weight: 600;
  line-height: 1.5;
}
.header .header-inner .header-navigation .nav ul li a.button {
  margin-top: 1.45em;
}
.header .header-inner .header-socials {
  flex-wrap: nowrap;
}
.header.header-open {
  height: 100vh;
}
.header.header-open .header-inner .header-navigation {
  display: block;
  opacity: 1;
  visibility: visible;
}
.header.header-open .header-inner #nav-toggle {
  background-image: url("../images/nav_open.svg");
}

.social-buttons-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--gap, 1em);
}

.social-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size, 2rem);
  height: var(--icon-size, 2rem);
  background-color: var(--color-accent-1);
  border-radius: 50%;
  transition: all 0.25s ease-out;
}
.social-button img,
.social-button svg {
  width: 50%;
  height: 50%;
  overflow: hidden;
  -o-object-fit: contain;
  object-fit: contain;
}
.social-button svg path {
  fill: #000;
}
.social-button:hover {
  background-color: #fff;
}

.section {
  position: relative;
}
.section:not(:last-child) {
  margin-bottom: var(--section-offset);
}

.background-flare {
  position: absolute;
  max-width: unset;
  z-index: -1;
}

.section-top {
  --section-offset: 0px;
  overflow: hidden;
}
.section-top .top-inner {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  z-index: 1;
  padding-top: 25vh;
}
.section-top .top-inner h1 i {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/kiss.png") no-repeat center center/contain;
  vertical-align: middle;
}
.section-top::after {
  content: "";
  position: absolute;
  width: 45%;
  max-width: 670px;
  aspect-ratio: 1;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  background-color: var(--color-bg-3);
  border-radius: 50%;
  z-index: -1;
}
.section-top .background-text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7vh;
  width: 100%;
  height: auto;
  opacity: 0.02;
  z-index: -1;
}
.section-top .top-photo {
  position: absolute;
  height: 115%;
  width: auto;
  max-width: unset;
  left: 50%;
  top: 5vh;
  transform: translateX(-50%);
}
.section-top .crosses {
  position: absolute;
  right: 5vw;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: auto;
}
.section-top .background-flare {
  right: 0;
  top: 0;
  transform: translate(30%, -45%);
  width: 120vw;
  height: auto;
}

.highlighted-item {
  --icon-size: 3.45em;
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  background-color: var(--color-bg-2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 100px;
  padding: 0.75em 2em 0.75em 0.75em;
  gap: 1.5em;
}
.highlighted-item .icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  background-color: var(--color-bg-4);
  border-radius: 50%;
  flex: 0 0 auto;
}
.highlighted-item .icon-wrapper img,
.highlighted-item .icon-wrapper svg {
  width: 35%;
  height: 35%;
  -o-object-fit: contain;
  object-fit: contain;
}
.highlighted-item .icon-wrapper svg path {
  fill: #fff;
}
.highlighted-item p {
  font-weight: 600;
  font-size: 1em;
  margin-bottom: 0;
}

.highlighted-item-simple {
  --icon-size: 1.125em;
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  background-color: var(--color-bg-2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 100px;
  border: 1.3px solid rgba(48, 48, 57, 0.45);
  padding: 1.125em 1.5em;
  gap: 1em;
}
.highlighted-item-simple .icon {
  width: 1.45em;
  height: 1.45em;
  -o-object-fit: contain;
  object-fit: contain;
  flex: 0 0 auto;
}
.highlighted-item-simple .icon path {
  fill: #fff;
}
.highlighted-item-simple p {
  font-weight: 600;
  font-size: 1em;
  margin-bottom: 0;
}

.section-about .about-wrapper {
  --gap: 10vh;
  --align-items: center;
  --justify-content: space-between;
  --wrap: nowrap;
  --col-gap: 0;
  position: relative;
  background: var(--color-bg-3);
  padding: 5rem 3.5rem;
  z-index: 1;
  border-radius: var(--border-large);
}
.section-about .about-wrapper .about-video .video-toggle img {
  width: 100%;
  max-width: 400px;
}
.section-about .about-wrapper .about-content {
  flex: 1;
}
.section-about .about-wrapper .about-content h2 {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  margin: 0;
  z-index: -1;
  font-size: 15vw;
  text-transform: uppercase;
  line-height: 1;
  opacity: 0.02;
}
.section-about .about-wrapper .about-content .h3 {
  margin-bottom: 0;
}
.section-about .about-wrapper .badge {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(-30%, -50%);
  width: var(--badge-size, 7.45rem);
  height: auto;
}
.section-about .about-wrapper .crosses {
  position: absolute;
  left: 2rem;
  top: 2rem;
  width: 4rem;
  height: auto;
  opacity: 0.5;
}
.section-about .about-advantages {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--gap, 2rem);
  margin-top: calc(var(--section-offset) * 0.55);
}

.section-sales .background-flare {
  right: 0;
  top: 0;
  transform: translate(60%, -25%);
  width: 170vw;
  height: auto;
  opacity: 0.5;
}

.slider-pagination {
  --swiper-theme-color: var(--color-accent-1);
  --swiper-pagination-bullet-border-radius: 100px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-horizontal-gap: 5px;
  --swiper-pagination-bullet-inactive-color: #7f7f8e;
  --swiper-pagination-bullet-inactive-opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: calc(var(--section-offset) * 0.3);
}
.slider-pagination .swiper-pagination-bullet-active {
  --swiper-pagination-bullet-width: 4rem;
}

.card-item .card-date {
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  font-size: 0.65rem;
  z-index: 10;
}
.card-item .card-notices {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1.745em;
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  width: 70%;
  font-size: 0.65rem;
  z-index: 10;
}
.card-item .card-notices .card-notice {
  font-size: inherit;
}

.card-item-tinted {
  position: relative;
  border-radius: var(--border-medium);
  overflow: hidden;
  z-index: 10;
}
.card-item-tinted a.card-photo-wrapper {
  display: block;
}
.card-item-tinted .card-photo-wrapper {
  position: relative;
  z-index: 1;
}
.card-item-tinted .card-photo-wrapper .card-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 10/16;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  z-index: -1;
}
.card-item-tinted .card-photo-wrapper .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: var(--arrow-size, 3rem);
  height: var(--arrow-size, 3rem);
  background-color: var(--color-accent-1);
  border-radius: 50%;
  z-index: 1;
}
.card-item-tinted .card-photo-wrapper .arrow img,
.card-item-tinted .card-photo-wrapper .arrow svg {
  width: 40%;
  height: auto;
}
.card-item-tinted .card-photo-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 20, 24, 0.25) 0%,
    rgba(20, 20, 24, 0.75) 70%,
    rgba(20, 20, 24, 0.8) 100%
  );
}
.card-item-tinted .card-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2rem;
  z-index: 10;
}
.card-item-tinted .card-content p {
  opacity: 0.7;
}
.card-item-tinted .card-content .button {
  display: flex;
  width: 100%;
  margin-top: 2rem;
}

.card-item-hover {
  position: relative;
  border-radius: var(--border-large);
  overflow: hidden;
  z-index: 10;
  background-color: var(--color-bg-1);
}
.card-item-hover .card-photo-wrapper {
  position: relative;
  z-index: 1;
  transition: opacity 0.15s ease-out;
}
.card-item-hover .card-photo-wrapper .card-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  z-index: -1;
}
.card-item-hover .card-photo-wrapper .video-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: var(--arrow-size, 3rem);
  height: var(--arrow-size, 3rem);
  background-color: var(--color-accent-1);
  border-radius: 50%;
  z-index: 1;
  cursor: pointer;
  transition: all 0.15s ease-out;
}
.card-item-hover .card-photo-wrapper .video-toggle img,
.card-item-hover .card-photo-wrapper .video-toggle svg {
  width: 35%;
  height: auto;
}
.card-item-hover .card-notices {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1.745em;
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  width: 70%;
  font-size: 0.65rem;
  z-index: 10;
  transition: all 0.15s ease-out;
}
.card-item-hover .card-notices .card-notice {
  font-size: inherit;
}
.card-item-hover .card-content {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 2rem;
  padding: 1.25rem 1.745rem;
  background-color: var(--color-bg-2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 1.25rem;
  border: 2px solid rgba(48, 48, 57, 0.6);
  z-index: 10;
  transition: all 0.15s ease-out;
}
.card-item-hover .card-content .card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.card-item-hover .card-content .card-title h4 {
  margin-bottom: 0;
}
.card-item-hover .card-content .card-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.25rem;
  gap: 0.75rem;
}
.card-item-hover .card-content .card-details .card-detail {
  display: inline-flex;
  align-items: center;
  font-size: 0.925rem;
  gap: 0.8em;
  flex-wrap: nowrap;
}
.card-item-hover .card-content .card-details .card-detail .icon {
  height: 1em;
  width: auto;
}
.card-item-hover .card-content .card-details .card-detail p {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8em;
  white-space: nowrap;
}
.card-item-hover .card-content .card-details .card-detail p b {
  color: #fff;
  font-weight: 700;
  font-size: 1.2em;
}
.card-item-hover.swiper-slide-active .card-content,
.card-item-hover.swiper-slide-active .card-notices,
.card-item-hover.swiper-slide-active .card-photo-wrapper .video-toggle {
  visibility: visible;
  opacity: 1;
}
.card-item-hover.swiper-slide-active .card-photo-wrapper {
  opacity: 1;
}

.main-index .card-item-hover:not(.swiper-slide-active) .card-notices,
.main-index .card-item-hover:not(.swiper-slide-active) .card-content,
.main-index
  .card-item-hover:not(.swiper-slide-active)
  .card-photo-wrapper
  .video-toggle {
  opacity: 0;
  visibility: hidden;
}
.main-index .card-item-hover:not(.swiper-slide-active) .card-photo-wrapper {
  opacity: 0.25;
}

.card-item-advantage {
  --icon-size: 3rem;
  position: relative;
  padding: 2.125rem;
  background-color: var(--color-bg-2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 1.25rem;
}
.card-item-advantage .icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  background-color: var(--color-bg-4);
  border-radius: 50%;
  flex: 0 0 auto;
}
.card-item-advantage .icon-wrapper svg,
.card-item-advantage .icon-wrapper img {
  width: 35%;
  height: auto;
}
.card-item-advantage .card-heading {
  display: flex;
  align-items: center;
  gap: 1.25em;
  font-size: 1.125rem;
}
.card-item-advantage .card-heading h3,
.card-item-advantage .card-heading h4,
.card-item-advantage .card-heading h5 {
  margin-bottom: 0;
}
.card-item-advantage .card-heading h4 {
  font-size: inherit;
}
.card-item-advantage .card-content {
  margin-top: 2.25rem;
}
.card-item-advantage .card-content p {
  font-size: 0.925rem;
  opacity: 0.7;
}

.show-more-wrapper {
  margin-top: 3rem;
  text-align: center;
}

.section-private .private-wrapper {
  --text-align: center;
  position: relative;
}
.section-private .private-wrapper .private-image {
  max-width: 500px;
  width: 70%;
  margin: 0 auto;
}
.section-private .private-wrapper h3 {
  margin-top: 3em;
  margin-bottom: 2em;
}
.section-private .private-wrapper .crosses {
  position: absolute;
  left: -10%;
  top: 50%;
  width: 1.125rem;
  height: auto;
  transform: translateY(-50%);
}

.section-masters .background-flare {
  left: 0;
  top: 0;
  transform: translate(-70%, 25%);
  width: 120vw;
  height: auto;
  opacity: 0.5;
}

.section-advantages .advantages {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}
.section-advantages .background-flare {
  right: 0;
  top: 0;
  transform: translate(52%, -35%);
  width: 170vw;
  height: auto;
  opacity: 0.3;
}

.section-interior .interior-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-areas: "a b c c" "a b c c" "d d c c" "d d c c";
}
.section-interior .interior-grid .interior-item {
  display: block;
}
.section-interior .interior-grid .interior-item:nth-of-type(1) {
  grid-area: a;
}
.section-interior .interior-grid .interior-item:nth-of-type(2) {
  grid-area: b;
}
.section-interior .interior-grid .interior-item:nth-of-type(3) {
  grid-area: c;
}
.section-interior .interior-grid .interior-item:nth-of-type(4) {
  grid-area: d;
}
.section-interior .interior-grid .interior-item .interior {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  border-radius: 1.25rem;
}

.section-faq {
  overflow: hidden;
}

.accordion-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.accordion-wrapper .background-flare {
  left: 0;
  top: 0;
  transform: translate(-60%, -35%);
  width: 150vw;
  height: auto;
  opacity: 0.3;
}
.accordion-wrapper .accordion-item {
  padding: 2rem 2.5rem;
  background-color: var(--color-bg-3);
  border-radius: 1.25rem;
}
.accordion-wrapper .accordion-item .accordion-content {
  visibility: hidden;
  opacity: 0;
  height: 0;
  transition: opacity 0.2s ease-out;
}
.accordion-wrapper .accordion-item .accordion-content p {
  opacity: 0.6;
}
.accordion-wrapper .accordion-item .accordion-toggle {
  display: block;
  position: relative;
  width: 100%;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
  padding-right: 3em;
}
.accordion-wrapper .accordion-item .accordion-toggle::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.45em;
  height: 1.45em;
  background: url("../images/arrow_accent.svg") no-repeat center center/contain;
  transition: all 0.35s ease-out;
}
.accordion-wrapper .accordion-item.accordion-active .accordion-toggle {
  margin-bottom: 1.45rem;
}
.accordion-wrapper .accordion-item.accordion-active .accordion-toggle::after {
  transform: translateY(-50%) rotate(90deg);
}
.accordion-wrapper .accordion-item.accordion-active .accordion-content {
  visibility: visible;
  opacity: 1;
  height: auto;
}

.section-map {
  --map-height: 450px;
}
.section-map .map-wrapper .ymap {
  border-radius: 2rem;
  overflow: hidden;
  height: var(--map-height);
}
.section-map .map-wrapper .ymap [class*="ymaps-2"][class*="-ground-pane"] {
  filter: grayscale(1) invert(100%);
}
.section-map .map-wrapper .ymap [class*="ymaps-2"][class*="-copyrights-pane"],
.section-map .map-wrapper .ymap [class*="ymaps-2"][class*="-controls-pane"] {
  opacity: 0;
}
.section-map .map-wrapper .ymap [class*="ymaps-2"][class*="-inner-panes"] {
  background: #181818;
}

.footer {
  padding: 2rem 0;
  background-color: #111115;
}
.footer .footer-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
.footer .footer-inner .footer-adult {
  --text-align: right;
}
.footer .footer-inner .footer-logo .logo {
  margin-bottom: 2rem;
}
.footer .footer-inner p {
  opacity: 0.7;
}

.modals {
  position: relative;
  z-index: 9999;
}
.modals .modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: var(--color-bg-2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.modals .modal .modal-inner {
  background: var(--primary-background-color);
  padding: 45px;
  border-radius: 15px;
  max-width: 750px;
  margin: 0 auto;
  max-height: 80vh;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.modals .modal .modal-inner .modal-close {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 25px;
  height: 25px;
  z-index: 1;
}
.modals .modal .modal-inner .modal-close svg,
.modals .modal .modal-inner .modal-close img {
  width: 100%;
  height: auto;
}
.modals .modal .modal-inner .modal-close svg path {
  fill: #fff;
}
.modals .modal .modal-inner .button {
  margin-top: 1em;
}
.modals .modal.modal-open {
  display: block;
}
.modals .modal.modal-wheel {
  --text-align: center;
}
.modals .modal.modal-wheel #lucky-wheel-prize {
  color: var(--color-accent-1);
}

.section-certificates {
  --text-align: center;
}
.section-certificates .certificate-photo {
  max-width: 780px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
}
.section-certificates h3 {
  margin-bottom: 2.45em;
}

.section-wheel .row {
  --align-items: center;
  --col-gap: 5rem;
}
.section-wheel .wheel-content p {
  opacity: 0.6;
}
.section-wheel .lucky-wheel-trigger {
  margin-top: 4em;
}
.section-wheel .lucky-wheel-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.section-wheel .lucky-wheel-wrapper .lucky-wheel-spinner {
  --rotate: 0;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  transition: all 5s ease-in-out;
  transform: rotate(calc(var(--rotate, 25) * 1deg));
  background: url("../images/wheel.png") no-repeat center center/contain;
}
.section-wheel .lucky-wheel-wrapper .lucky-wheel-tinker {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  width: 15%;
  height: auto;
}

.center {
  justify-content: center;
}

.arrow-wrap {
  position: absolute;
  top: 0;
  right: 0;
}

.row .ind-card-prog {
  width: 60%;
  height: 700px;
  margin: 0 auto;
}

.card-item-tinted .card-photo-wrapper .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: var(--arrow-size, 3rem);
  height: var(--arrow-size, 3rem);
  background-color: var(--color-accent-1);
  border-radius: 50%;
  z-index: 1;
}

.card-item .link-program {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: var(--arrow-size, 3rem);
  height: var(--arrow-size, 3rem);
  background-color: var(--color-accent-1);
  border-radius: 50%;
  z-index: 1;
}

@media all and (max-width: 930px) {
  .row .ind-card-prog {
    max-width: 100%;
    width: 100%;
    height: 700px;
    margin: 0 auto;
  }
}

@media all and (max-width: 500px) {
  .row .ind-card-prog {
    height: auto;
  }
}
