.section {
   border-radius: 60px 60px 0 0;
   overflow: hidden;
}

.header {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 2;
   transition: .3s ease-in-out all;
}

.header-repishchev {
   background-color: #F4F0E6;
}

.header-plesetskaya {
   background-color: #E9F2F8;
}

.scrolled {
   top: -40px;
}

.header--img-logo-scrolled {
   max-width: 111px;
}

.header-padding {
   padding-top: 50px;
   padding-bottom: 10px;
}

.header--img-logo {
   position: relative;
   z-index: 3;
   margin-right: 64px;
   transition: .2s ease all;
}

.header-list {
   padding-right: 24px;
}

.header-descr {
   font-weight: 400;
   font-size: 24px;
   line-height: 32px;
}

.text-center {
   text-align: center;
}

.text-color--black {
   color: #161105;
}

.text-color--gray {
   color: #76787C;
}

.text-color--white {
   color: white;
}

.circle {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   transition: all 0.2s ease;
}

.circle-repishchev {
   background-color: #B8C09B;
}

.circle-repishchev:hover {
   background-color: #a4ac87;
}

.circle-repishchev:active {
   background-color: #939b78;
}


.circle-plesetskaya {
   background-color: #ABCED8;
}

.circle-plesetskaya:hover {
   background-color: #8fbcc9;
}

.circle-plesetskaya:active {
   background-color: #8fbcc9;
}

.btn,
.btn-whatsapp {
   font-weight: 600;
   font-size: 16px;
   line-height: 24px;
   color: white;
   padding: 16px 24px;
   border-radius: 50px;
   border: none;
   cursor: pointer;
}

.form-btn {
   align-self: flex-start;
   font-weight: 600;
   font-size: 16px;
   line-height: 24px;
   color: white;
   padding: 16px 24px;
   border-radius: 50px;
   border: none;
   cursor: pointer;
}

.btn-arrow {
   padding-right: 30px;
}

.btn-arrow::after {
   content: '';
   position: absolute;
   top: 3px;
   right: 0;
   width: 15px;
   height: 12px;
   background-image: url(../images/arrow.svg);
   background-size: 100% auto;
   background-repeat: no-repeat;
   background-position: right center;
}

.first-block-pt {
   padding-top: 141px;
}

.first-block {
   min-height: 524px;
}

.negative-mt60 {
   margin-top: -60px;
}

.h1-pt {
   padding-top: 86px;
}

.img-left {
   margin-left: auto;
}

.list-circle {
   padding-left: 20px;
}

.list-circle::before {
   content: '';
   position: absolute;
   top: 6px;
   left: 0;
   width: 12px;
   height: 12px;
   border-radius: 50%;
}

.list-circle--big {
   padding-left: 16px;
}

.list-circle--big-disabled {
   padding-left: 32px;
}

.list-circle--big::before {
   content: '•';
   position: absolute;
   top: -2px;
   left: 0;
   font-size: 25px;
}

.list-circle--color-1::before {
   background-color: #F9CA86;
}

.list-circle--color-2::before {
   background-color: #66C8E3;
}

.list-circle--color-3::before {
   background-color: #E76EA8;
}

.list-circle--color-4::before {
   background-color: #E76E6E;
}

.list-circle--color-5::before {
   background-color: #E8F3E2;
}

.price-wrapper {
   padding: 6px 12px;
   width: fit-content;
   height: 100%;
   border-radius: 100px;
}

.price-text {
   font-weight: 400;
   font-size: 20px;
   line-height: 24px;
   white-space: nowrap;
}

.price-text--bold {
   font-weight: 600;
}

.tile-border {
   border-radius: 30px;
   overflow: hidden;
}

.bg-color--white {
   background-color: #fff;
}

.bg-color--gray {
   background-color: #FBFBF9;

}

.bg-color--dark-gray {
   background-color: #EDF3F3;

}

.bg-color--light-yellow {
   background-color: #FFFAF3;
}

.bg-color--yellow {
   background-color: #FFF1DE;
}

.bg-color--dark-yellow {
   background-color: #FFD8A3;
}

.bg-color--yellow-2 {
   background-color: #F6F7D1;
}

.bg-color--dark-yellow-2 {
   background-color: #E8DCBD;
}

.bg-color--light-green_1 {
   background-color: #E2E9C9;
}

.bg-color--light-green_2 {
   background-color: #F6F8ED;
}

.bg-color--green_1 {
   background-color: #CDE9C9;
}

.bg-color--green_2 {
   background-color: #EEF8ED;
}

.bg-color--light-blue {
   background-color: #EDF1F8;
}

.bg-color--blue {
   background-color: #C9D6E9;
}

.bg-color--pink {
   background-color: #F3E2F2;
}

.bg-color--hot-pink {
   background-color: #E7BBE5;
}

.bg-color--salmon {
   background-color: #F3E2E2;
}

.bg-color--misty-rose {
   background-color: #E76E6E;
}

.bg-color--orange {
   background-color: #FBA071;
}

.main-img-1 {
   background-image: url('../images/repishcheva/4.png');
   background-repeat: no-repeat;
   background-size: cover;
   background-position: top left;
}

.main-img-2 {
   background-image: url('../images/main-plesetskaya.png');
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 10%;
}

.main-plesetskaya-img {
   position: absolute;
   width: 28%;
}
.main-plesetskaya-img-1 {
   left: 5%;
   bottom: 0;

}

.main-plesetskaya-img-2 {
   right: 5%;
   bottom: 0;
}


@media (max-width: 375px) {
   .main-plesetskaya-img {
      width: 37%;
   }

   .main-plesetskaya-img-1 {
      left: 32px;
   }

   .main-plesetskaya-img-2 {
      right: 32px;
   }
}

.main-video-2 {
   max-width: 100%;
   transform: translateY(-280px);
   opacity: 0.7;
}

.main-tile {
   display: block;
   cursor: pointer;
   height: 660px;
}

.main-bg-repishchev::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 100%;
   background: linear-gradient(180deg, #EBC690 13.71%, rgba(235, 198, 144, 0) 53.88%);
}

.main-bg-plesetskaya::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 100%;
   background: linear-gradient(180deg, #ABCED8 13.71%, rgba(171, 206, 216, 0) 53.88%);
}

.main-arrow-wrapper {
   width: 56px;
   height: 56px;
   border-radius: 28px;
   background: rgba(0, 0, 0, 0.1);
}

.anim-btn {
   position: absolute;
   bottom: 20px;
   right: 20px;
   width: 90px;
   height: 90px;
   overflow: hidden;
   background-color: #fff;
   border-radius: 24px;
}

.animate-btn {
   animation: 3s linear forwards anim-out;
}
.animate-text {
   animation: 3s linear forwards content-hide;
}
.animate-img {
   animation: 3s linear forwards content-hide;
}

.anim-btn-img {
   max-width: 418px;
   height: 184px;
   overflow: hidden;
   border-radius: 24px;
   opacity: 0;
}

.anim-btn-text {
   font-size: 20px;
   font-weight: 600;
   line-height: 24px;
   opacity: 0;
   max-width: 316px;
}

.anim-btn-content {
   position: absolute;
   bottom: 0;
   left: 0;
}

.anim-btn:hover {
   pointer-events: auto;
   animation: 3s linear forwards anim-in;
}

.anim-btn:hover .animate-text {
   pointer-events: auto;
   animation: 3s linear forwards content-show;
}

.anim-btn:hover .animate-img {
   pointer-events: auto;
   animation: 3s linear forwards content-show;
}

.anim-btn-circle {
   position: absolute;
   right: 8px;
   bottom: 8px;
   width: 74px;
   height: 74px;
   background-color: #FBA071;
   border-radius: 37px;
}

.anim-btn-triangle {
   margin-left: 6px;
	width: 0;
	height: 0;
	border-top: 18px solid transparent;
	border-left: 20px solid #fff;
	border-bottom: 18px solid transparent;
}


@keyframes anim-in {
   10% {
      width: var(--width-anim);
      height: var(--out-anim-size);
   }

   20% {
       height: var(--out-anim-size);
   }

   25% {
       height: 304px;
   }

   to {
      width: var(--width-anim);
      height: 304px;
   }
}

@keyframes anim-out {
   0% {
       pointer-events: none;
       width: var(--width-anim);
       height: 304px;
   }

   5% {
      width: var(--width-anim);
      height: 300px;
   }

   10% {
      width: var(--width-anim);
      height: 336px;
   }

   15% {
       box-shadow: none;
       width: var(--out-anim-size);
       height: var(--out-anim-size);
   }

   to {
      width: var(--out-anim-size);
      height: var(--out-anim-size);
   }
}

@keyframes content-show {
   0% {
       opacity: 0;
   }

   9% {
       opacity: 0;
   }

   11% {
       opacity: 1;
   }

   to {
       opacity: 1;
   }
}

@keyframes content-hide {
   0% {
       opacity: 1;
   }

   10% {
       opacity: 1;
   }

   13% {
       opacity: 0;
   }

   to {
       opacity: 0;
   }
}

:root {
   --width-anim: 458px;
   --out-anim-size: 90px;
   --in-anim-size: 96px;
}
@media (max-width: 1024px) {
   :root {
      --width-anim: 340px;
      --out-anim-size: 60px;
      --in-anim-size: 66px;
   }

   .h2-main {
      font-size: 34px;
      line-height: 42px;
  }

   .anim-btn-img {
      height: 200px;
  }

   .anim-btn-text {
      font-size: 16px;
      font-weight: 600;
      line-height: 22px;
   }

   .anim-btn-triangle {
      border-top: 10px solid transparent;
      border-left: 12px solid #fff;
      border-bottom: 10px solid transparent;
  }

  .anim-btn-circle {
      width: 44px;
      height: 44px;
   }

   .anim-btn {
      width: 60px;
      height: 60px;
      border-radius: 16px;
  }
}

@media (max-width: 812px) {
  .main-tile {
      height: 500px;
   }
   .main-video-2 {
      transform: translateY(-140px);
  }
}

@media (max-width: 616px) {
   .h2-main {
      font-size: 30px;
      line-height: 36px;
  }
}

@media (max-width: 425px) {
   :root {
      --width-anim: 300px;
   }
   .anim-btn-text {
      font-size: 14px;
      max-width: 230px;
  }

}
.advantages--padding {
   padding: 40px 32px;
}

.z-index-1 {
   z-index: 1;
}

.gallery--img-mimi {
   position: absolute;
   top: -142px;
   right: 0;
   z-index: -1;
}

.rent--img-mimi-2 {
   position: absolute;
   top: 40px;
   left: 25%;
}

.additionally--img-mimi-3 {
   position: absolute;
   top: -38px;
   right: -50px;
}

.gallery--img-mimi-4 {
   position: absolute;
   bottom: -110px;
   left: -75px;
   z-index: 1;
}

.rent-block--pt {
   padding-top: 128px;
}

.rent-block--tile-padding {
   padding: 40px 32px;
}

.rent-block--small-tile-max-width {
   max-width: 478px;
}

.rent-block--small-tile-padding {
   padding: 24px;
}

.rent-block--left-col-width {
   max-width: 397px;
}

.packages-header {
   padding: 32px 24px;
}

.packages-block--tile-padding {
   padding: 32px 24px;
}

.packages-block--tile-list-padding {
   padding: 24px 24px 32px;
}

.packages-block--tile-btn {
   width: 100%;
   margin: 0 auto;
   padding: 20px 0;
   font-weight: 600;
   font-size: 16px;
   line-height: 24px;
   border-radius: 50px;
   border: 1px solid #FBA071;
   cursor: pointer;
}

.packages-block--tile-btn:hover {
   background-color: #FBA071;
   color: white;
   transition: background 0.3s ease;
}

.btn-text_color-white {
   color: white;
}

.btn-orange-hover:hover {
   background-color: #f57f44;
   transition: background 0.3s ease;
}

@media (max-width: 669px) {
   .packages-price-column {
      flex-direction: column;
   }
}

.show-program-descr {
   position: absolute;
   bottom: 20px;
   left: 20px;
   padding: 6px 12px;
   border-radius: 100px;
   opacity: 0.8;
   color: #000000;
}

.form {
   max-width: 380px;
}

.form-descr {
   font-size: 20px;
   line-height: 28px;
}

.form-input {
   width: 100%;
   padding: 15px 24px;
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   background: #FFFFFF;
   border: 2px solid #F4F0E6;
   border-radius: 100px;
}

.form-input:focus {
   outline: none;
   background-color: #fff;
   border: 2px solid #FBA071;
}

.form-agreements {
   font-size: 14px;
   line-height: 20px;
}

.footer {
   position: relative;
   z-index: 2;
   padding-top: 40px;
   padding-bottom: 56px;
   background-color: #F4F0E6;
}

.footer--img-logo {
   margin-right: 20px;
}

.footer-logo-border {
   align-items: center;
   align-self: stretch;
   display: flex;
   border-left: 1px solid #B8C09B;
}

.control {
   font-size: 18px;
   position: relative;
   display: block;
   padding-left: 30px;
   cursor: pointer;
}

.control input {
   position: absolute;
   z-index: -1;
   opacity: 0;
}

.control__indicator {
   position: absolute;
   top: 2px;
   left: 0;
   width: 24px;
   height: 24px;
   border: 1px solid #F4F0E6;
   border-radius: 4px;
   background-color: white;
}

.control--radio .control__indicator {
   border-radius: 50%;
}

/* Hover and focus states */
.control:hover input~.control__indicator:after,
.control~.control__indicator:after {
   border: 1px solid #d0ebc2;
   border-width: 0 2px 2px 0;
   display: block;
}

/* Disabled state */
.control input:disabled~.control__indicator {
   pointer-events: none;
   opacity: .6;
}

/* Check mark */
.control__indicator:after {
   position: absolute;
   display: none;
   content: '';
}

/* Show check mark */
.control input:checked~.control__indicator:after {
   border: 1px solid #95C77A;
   display: block;
   border-width: 0 2px 2px 0;
}

/* Checkbox tick */
.control--checkbox .control__indicator:after {
   top: 3px;
   left: 8px;
   width: 6px;
   height: 12px;
   transform: rotate(45deg);
   border: solid #fff;
   border-width: 0 2px 2px 0;
}

.map-width {
   height: 480px;
}

.menu-wrapper {
   position: relative;
   z-index: 3;
}

.menu {
   display: block;
   width: 24px;
   height: 24px;
   background-image: url(../images/icons/burger.svg);
   background-repeat: no-repeat;
   background-size: 100% auto;
   background-position: center;
   cursor: pointer;
   transition: all 0.4s ease-in-out;
}

.menu--close {
   background-image: url(../images/icons/Close_24x24.svg);
   background-repeat: no-repeat;
   background-position: center;
   transform: rotate(180deg);
}

.close-btn-wrapper {
   position: absolute;
   top: 12px;
   right: 12px;
}

.close-btn {
   display: block;
   width: 24px;
   height: 24px;
   background-image: url(../images/icons/Close-black_24x24.svg);
   background-repeat: no-repeat;
   background-position: center;
   cursor: pointer;
   transform: rotate(180deg);
}

.circle-close {
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background-color: white;
   -webkit-box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
   -moz-box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
   box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
}

.footer-socials {
   justify-content: end;
}

.footer-socials-title {
   text-align: right;
}

.footer-contacts-wrapper {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
}

.footer-contacts {
   display: flex;
}

.footer-text {
   font-size: 14px;
   line-height: 20px;
}

.footer-politics {
   font-size: 14px;
   line-height: 20px;
}

.footer-socials-tg:hover {
   background-color: #34AADF;
}

.footer-socials-tg:active {
   background-color: #2CA4DA;
}

.footer-socials-w_app:hover {
   background-color: #00D95F;
}

.footer-socials-w_app:active {
   background-color: #00C958;
}

.footer-socials-vk:hover {
   background-color: #0077FF;
}

.footer-socials-vk:active {
   background-color: #056be0;
}

.drop-menu-wrapper {
   display: none;
   position: absolute;
   top: 0;
   right: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background: #000000;
   opacity: 0;
}

.drop-menu-wrapper--active {
   display: block;
}

.drop--in {
   animation: dropIn 0.2s ease-in both;
   animation-delay: 0.1s;
}

@media (max-width: 1024px) {
   .header-nav {
      display: flex;
      flex-direction: column;
   }

   .additionally--img-mimi-3 {
      max-width: 121px;
      top: 34px;
      right: -20px;
   }

   .footer-contacts {
      flex-direction: column;
      align-items: flex-end;
   }

   .footer-politics {
      flex-direction: column;
   }
}

@media (max-width: 812px) {
   .section {
      border-radius: 40px 40px 0 0;
   }
   
   .scrolled {
      top: -15px;
   }

   .first-block {
      min-height: 348px;
   }

   .first-block-pt {
      padding-top: 108px;
   }

   .header-padding {
      padding-top: 30px;
      padding-bottom: 20px;
   }

   .header--img-logo {
      max-width: 111px;
   }

   .h1-pt {
      padding-top: 40px;
   }

   .header-descr {
      font-size: 20px;
      line-height: 28px;
   }

   .advantages--padding {
      padding: 32px 24px;
   }

   .rent-block--tile-padding {
      padding: 32px 24px;
   }

   .map-width {
      height: 428px;
   }

   .show_program-scroll-wrapper {
      overflow: hidden;
      margin-left: -16px;
      margin-right: -16px;
      padding-right: 16px;
   }

   .show_program-scroll-container {
      overflow-x: scroll;
      padding-bottom: 80px;
      margin-bottom: -80px;
      flex-wrap: nowrap;
      margin-left: -16px;
      margin-right: -16px;
      padding-left: 24px;
      padding-right: 24px;
   }

   .show_program-scroll-col {
      flex-basis: auto;
      max-width: none;
      width: 308px;
   }

   @keyframes dropIn {
      from {
         opacity: 0;
      }

      to {
         opacity: 0.2;
      }
   }

   .drop-menu {
      display: none;
      position: fixed;
      z-index: 2;
      top: 0;
      left: 0;
      width: 100%;
      height: 198px;
   }

   .drop-menu-color-repishchev {
      background-color: #F4F0E6;
   }

   .drop-menu-color-plesetskaya {
      background-color: #E9F2F8;
   }

   .drop-menu--active {
      display: block;
   }

   .drop-menu--items {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      margin-right: 50px;
      margin-left: 205px;
   }

   .drop-menu-list {
      font-size: 20px;
      line-height: 28px;
   }

   .drop-down--in {
      animation: dropDownIn 0.2s ease-in both;
   }

   @keyframes dropDownIn {
      from {
         opacity: 0;
      }

      to {
         opacity: 1;
      }
   }

   .gallery--img-mimi {
      max-width: 173px;
      top: -100px;
   }

   .rent--img-mimi-2 {
      max-width: 173px;
      top: 100px;
      left: 35%;
   }

   .gallery--img-mimi-4 {
      max-width: 168px;
      bottom: -47px;
      left: -11px;
   }

   .rent-block--pt {
      padding-top: 64px;
   }

   .form-descr {
      font-size: 16px;
      line-height: 24px;
   }

}

@media (max-width: 616px) {
   .header--img-logo {
      max-width: 106px;
   }

   .header--img-logo-scrolled {
      max-width: 106px;
   }

   .header-padding {
      padding-bottom: 10px;
   }

   .header-descr {
      font-size: 16px;
      line-height: 24px;
   }

   .scroll-wrapper {
      overflow: hidden;
      margin-left: -16px;
      margin-right: -16px;
      padding-right: 16px;
   }

   .scroll-container {
      overflow-x: scroll;
      padding-bottom: 80px;
      margin-bottom: -80px;
      flex-wrap: nowrap;
      margin-left: -16px;
      margin-right: -16px;
      padding-left: 24px;
      padding-right: 24px;
   }

   .scroll-col {
      flex-basis: auto;
      max-width: none
   }

   .packages-sm-text {
      font-size: 16px;
      line-height: 24px;
   }

   .packages-col-width {
      width: 296px;
   }

   .rent-block--left-col-width {
      max-width: 300px;
   }

   .rent-block--price-flex {
      flex-wrap: wrap;
   }

   .btn-width-100 {
      width: 100%;
   }

   .map-order-sm1 {
      order: 2;
   }

   .map-order-sm2 {
      order: 1;
   }

   .map-width {
      height: 220px;
   }

   .z-index-3 {
      z-index: 3;
   }

   .img-animators-sm {
      width: 100%;
   }

   .phone-hide-sm {
      display: none !important;
   }

   .drop-menu {
      height: 404px;
   }

   .drop-menu--items {
      display: flex;
      flex-direction: column;
      justify-content: end;
      margin-right: 0;
      margin-left: 0;
   }

   .gallery--img-mimi {
      max-width: 96px;
      top: -56px;
   }

   .rent--img-mimi-2 {
      max-width: 106px;
      top: 120px;
      left: 68%;
   }
   
   .additionally--img-mimi-3 {
      max-width: 97px;
      top: 46px;
   }

   .gallery--img-mimi-4 {
      bottom: -80px;
      left: -37px;
   }

   .gallery--imd-6 {
      object-fit: cover;
      object-position: left;
      height: 100%;
   }

   .gallery-tile-border {
      border-radius: 20px;
   }

   .rent-block--pt {
      padding-top: 40px;
   }

   .footer-contacts-wrapper {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
   }

   .footer-contacts {
      align-items: flex-start;
   }

   .footer-socials-title {
      text-align: left;
   }

   .form {
      max-width: 100%;
   }
}

/* popup */

.popup,
.thanks-popup {
   display: none;
   position: fixed;
   justify-content: center;
   align-items: center;
   z-index: 3;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.233);
}

.active {
   display: flex;
}

.scrol__none {
   overflow: hidden;
}

.popup__container {
   position: relative;
   opacity: 0;
   width: 450px;
   max-height: 100vh;
   overflow-y: auto;
   padding: 60px 60px 60px 60px;
   background-color: white;
   -webkit-box-shadow: 0px 0px 50px 15px rgba(34, 60, 80, 0.5);
   -moz-box-shadow: 0px 0px 50px 15px rgba(34, 60, 80, 0.5);
   box-shadow: 0px 0px 50px 15px rgba(34, 60, 80, 0.5);
}

.popup__bottom-line {
   position: absolute;
   overflow: hidden;
   width: 100%;
   height: 10px;
   bottom: 0;
   left: 0;
}

.popup__bottom-line::after {
   content: "";
   position: absolute;
   display: flex;
   left: -550px;
   bottom: 0;
   width: 1000px;
   height: 10px;
   background: linear-gradient(17deg, #ff2f96 12%, #ff8f5a 50%, #ff2f96 60%);
   animation: popup__bottom-line 6s ease-in-out infinite alternate;
}

@keyframes popup__bottom-line {
   100% {
      transform: translateX(550px);
   }
}

.popup__text {
   text-align: center;
   font-size: 30px;
   margin: 0 auto 20px auto;
}
.form-case-hidden {
   display: none;
}
.popup__form, .form-case {
   display: flex;
   flex-direction: column;
}

.popup__form input::placeholder {
   font-size: 12px;
}

.popup__form input {
   width: 100%;
   padding: 10px;
   border: 2px solid #F4F0E6;
   background-color: #FFFFFF;
}

.popup__form input:focus {
   outline: none;
   border: 2px solid #FBA071;
}

.popup__content span {
   text-align: center;
   font-size: 14px;
   font-style: italic;
   color: #8993ad;
}

.js-validate-error-label {
   font-size: 14px;
   font-style: italic;
}

.thanks-content {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.thanks-popup h2 {
   margin-bottom: 20px;
}

.thanks-popup p {
   margin-top: 20px;
}

.thanks-popup img {
   max-width: 150px;
}

/* popup */