@media screen and (max-width: 1199px) {
    .advantages {
        background-image: url('../images/advantages-dashed-line-y.png');
        background-position: top 250px center;
    }

    .advantages__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 700px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        row-gap: 76px;
    }

    .advantages__item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        width: 345px;
    }

    .advantages__item:nth-child(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-item-align: unset;
        -ms-grid-row-align: unset;
        align-self: unset;
    }

    .advantages__list .advantages__item:nth-child(1) {
        -webkit-transform: translateX(10px);
        transform: translateX(10px);
    }

    .advantages__list .advantages__item:nth-child(2) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-transform: translate(60px, 80px);
        transform: translate(60px, 80px);
    }

    .advantages__list .advantages__item:nth-child(3) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        width: 325px;
        -webkit-transform: translate(-100px, 30px);
        transform: translate(-100px, 30px);
    }

    .advantages__list .advantages__item:nth-child(4) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-transform: translate(-95px, 80px);
        transform: translate(-95px, 80px);
    }

    .advantages__item-number {
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .video {
        height: 500px;
    }

    .program__item .scroll-wrapper {
        padding-right: 10px;
    }
}

@media screen and (max-width: 1023px) {
    .hero__container {
        padding: 60px 15px 60px;
    }

    .hero__container::after {
        top: 0;
        left: 0;
        width: 100%;
        height: 430px;
        background-size: cover;
        background-position: bottom 0 center;
    }

    .hero__content {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -ms-grid-rows: auto auto auto auto auto;
        grid-template-rows: repeat(5, auto);
        justify-items: center;
    }

    .hero__content > *:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    .hero__content > *:nth-child(2) {
        -ms-grid-row: 2;
        -ms-grid-column: 1;
    }

    .hero__content > *:nth-child(3) {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
    }

    .hero__content > *:nth-child(4) {
        -ms-grid-row: 4;
        -ms-grid-column: 1;
    }

    .hero__content > *:nth-child(5) {
        -ms-grid-row: 5;
        -ms-grid-column: 1;
    }

    .hero__title {
        -ms-grid-row: 1;
        grid-row: 1;
        font-size: 44px;
        color: var(--color-white);
        margin-bottom: 50px;
    }

    .hero__description {
        -ms-grid-row: 3;
        grid-row: 3;
        margin-bottom: 50px;
        font-size: 28px;
    }

    .hero__description-span {
        color: var(--color-grey);
    }

    .hero__booking-btn {
        -ms-grid-row: 5;
        grid-row: 5;
        -ms-grid-column-align: unset;
        justify-self: unset;
    }

    .hero__video-btn {
        -ms-grid-row: 2;
        grid-row: 2;
        -ms-grid-column-align: unset;
        justify-self: unset;
        margin-bottom: 262px;
    }

    .hero__data {
        -ms-grid-row: 4;
        grid-row: 4;
        -ms-grid-column-align: unset;
        justify-self: unset;
        margin-top: 0;
        margin-bottom: 50px;
    }

    .about-us {
        padding-bottom: 60px;
    }

    .about-us__content {
        -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
    }

    .about-us__info-image-img {
        -o-object-position: right bottom;
        object-position: right bottom;
    }

    .places__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        row-gap: 50px;
    }

    .map {
        margin-top: unset;
    }

    .video {
        height: 400px;
    }

    .program {
        padding: 95px 0 70px;
    }

    .program__item {
        -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
    }

    .program__item-image {
        padding: 34px 40px;
    }

    .program__slider-pagination {
        right: 50%;
    }

    .program__item-title {
        -ms-grid-column-align: start;
        justify-self: self-start;
    }

    .program__item-description {
        -ms-grid-column-align: start;
        justify-self: self-start;
    }

    .program__slider-control {
        right: 50%;
    }

    .program__download-link {
        right: 50%;
    }

    .reviews {
        padding: 70px 0;
    }

    .feedback {
        -webkit-column-gap: 25px;
        -moz-column-gap: 25px;
        column-gap: 25px;
    }

    .feedback__info .scroll-wrapper {
        padding-right: 10px;
    }

    .gallery {
        padding: 70px 0 83px;
    }

    .gallery__grid-image_4 {
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .header {
        padding: 30px 0 21px;
    }

    .menu {
        position: fixed;
        width: 100%;
        height: 100%;
        margin: 0;
        top: 0;
        left: 0;
        visibility: hidden;
        background: rgba(255, 255, 255, 0.9);
        opacity: 0;
        z-index: 99;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
    }

    .menu.open {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        opacity: 1;
        visibility: visible;
    }

    .menu__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .menu__link {
        font-size: 28px;
        font-weight: 600;
    }

    .burger {
        position: fixed;
        top: 35px;
        right: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: -9px;
        width: 30px;
        height: 22px;
        row-gap: 8px;
        z-index: 1001;
        -webkit-transition: top 0.3s, margin-top 0.3s;
        transition: top 0.3s, margin-top 0.3s;
    }

    .header.shrink .burger {
        top: 15px;
        margin-top: -1px;
    }

    .burger__line {
        width: 100%;
        height: 2px;
        background-color: var(--color-grey);
        -webkit-transition: -webkit-transform .5s;
        transition: -webkit-transform .5s;
        -webkit-transition: background-color .3s, -webkit-transform .5s;
        transition: background-color .3s, -webkit-transform .5s;
        transition: transform .5s, background-color .3s;
        transition: transform .5s, background-color .3s, -webkit-transform .5s;
        z-index: 1000;
    }

    .burger:hover .burger__line {
        background-color: var(--accent-color);
    }

    .burger.active:hover .burger__line {
        background-color: #b61111;
    }

    .burger.active .burger__line:nth-child(1) {
        position: absolute;
        left: 0;
        top: 50%;
        width: 80%;
        -ms-flex-item-align: end;
        align-self: flex-end;
        -webkit-transform: translateX(10%) rotate(315deg);
        transform: translateX(10%) rotate(315deg);
    }

    .burger.active .burger__line:nth-child(2) {
        -webkit-transform: translateX(200%);
        transform: translateX(200%);
        opacity: 0;
    }

    .burger.active .burger__line:nth-child(3) {
        position: absolute;
        left: 0;
        top: 50%;
        width: 80%;
        -ms-flex-item-align: end;
        align-self: flex-end;
        -webkit-transform: translateX(10%) rotate(-315deg);
        transform: translateX(10%) rotate(-315deg);
    }

    .hero__title {
        font-size: 36px;
        text-align: center;
    }

    .hero__description {
        font-size: 26px;
    }

    .about-us__title {
        line-height: 1;
    }

    .program__item-image {
        padding-right: 20px;
    }

    .gallery {
        padding: 29px 0 64px;
    }

    .gallery__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .gallery__title {
        margin-bottom: 27px;
        font-size: 25px;
        line-height: 0.84;
    }

    .gallery__slider {
        max-width: 445px;
        row-gap: 28px;
        width: 100%;
    }

    .gallery__grid {
        -ms-grid-columns: 100%;
        grid-template-columns: 100%;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        justify-items: center;
        height: 258px;
    }

    .gallery__grid > *:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    .gallery__grid .gallery__grid-image:first-child {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1 / span 1;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1 / span 1;
    }

    .gallery__grid .gallery__grid-image:not(:first-child) {
        display: none;
    }

    .gallery__slider-control {
        -webkit-transform: translateY(-12px);
        transform: translateY(-12px);
    }
}

@media screen and (max-width: 649px) {
    .popup-hover::after {
        width: 60px;
        height: 59px;
    }

    .hero__container {
        padding: 50px 15px 80px;
    }

    .hero__container::after {
        height: 489px;
        background-image: url(../images/hero-img-adaptive.png);
        background-position: top -8px right -54px;
    }

    .hero__title {
        margin-bottom: 31px;
        -webkit-transform: translateX(4px);
        transform: translateX(4px);
        letter-spacing: 0.3px;
        font-size: 30px;
        line-height: 1.067;
    }

    .hero__video-btn {
        margin-bottom: 374px;
        font-size: 15px;
        line-height: 1.267;
    }

    .hero__video-btn::before {
        width: 40px;
        height: 40px;
    }

    .hero__video-btn:after {
        left: 17px;
    }

    .hero__description {
        margin-bottom: 36px;
        max-width: 80%;
        font-size: 20px;
        line-height: 1.05;
        text-align: center;
    }

    .hero__data {
        margin-bottom: 76px;
        width: 290px;
        background-position: bottom 38px left 5px;
        background-size: 220px 97px;
    }

    .hero__data-item::after {
        width: 5px;
        height: 5px;
    }

    .hero__data .hero__data-item:nth-child(1) {
        bottom: -29px;
        line-height: 1.6;
    }

    .hero__data .hero__data-item:nth-child(1)::after {
        left: 0;
        top: -16px;
    }

    .hero__data .hero__data-item:nth-child(2) {
        top: 48px;
        left: 63px;
    }

    .hero__data .hero__data-item:nth-child(2)::after {
        bottom: -20px;
    }

    .hero__data .hero__data-item:nth-child(3) {
        max-width: 68px;
    }

    .hero__data .hero__data-item:nth-child(3)::after {
        left: 0;
        bottom: -19px;
    }

    .about-us {
        padding: 79px 0 45px;
    }

    .about-us__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .about-us__content {
        -ms-grid-columns: minmax(290px, 1fr);
        grid-template-columns: minmax(290px, 1fr);
        -ms-grid-rows: auto auto auto;
        grid-template-rows: repeat(3, auto);
        justify-items: center;
        width: 100%;
    }

    .about-us__content > *:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    .about-us__content > *:nth-child(2) {
        -ms-grid-row: 2;
        -ms-grid-column: 1;
    }

    .about-us__content > *:nth-child(3) {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
    }

    .about-us__title {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column-align: center;
        justify-self: center;
        margin-bottom: 44px;
        width: 100%;
        font-size: 25px;
        line-height: 0.84;
    }

    .about-us__info-image {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 2;
        grid-row: 2;
        -ms-grid-column-align: center;
        justify-self: center;
        margin-bottom: 29px;
        padding: 41px 0 43px 25px;
        width: 73.4%;
        min-width: 290px;
        max-width: 432px;
        background: -webkit-linear-gradient(left, var(--color-white) 79.8%, var(--color-grey) 79.8%);
        background: linear-gradient(to right, var(--color-white) 79.8%, var(--color-grey) 79.8%);
    }

    .about-us__info-image-img {
        height: 176px;
        width: 100%;
        -o-object-position: left bottom;
        object-position: left bottom;
    }

    .about-us__text {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 3;
        grid-row: 3;
        -ms-grid-column-align: center;
        justify-self: center;
        width: 100%;
        font-size: 14px;
        line-height: 1.5;
    }

    .advantages {
        padding: 44px 0;
        background-image: url(../images/advantages-dashed-line-320.png);
        background-position: top 107px center;
    }

    .advantages__title {
        margin-bottom: 38px;
        max-width: 90%;
        min-height: 96px;
        font-size: 25px;
        line-height: 1.28;
    }

    .advantages__list {
        row-gap: 88px;
    }

    .advantages__item {
        width: 248px;
        gap: 22px;
    }

    .advantages__list .advantages__item:nth-child(1) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-transform: unset;
        transform: unset;
    }

    .advantages__list .advantages__item:nth-child(2) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-transform: unset;
        transform: unset;
        margin-top: -22px;
    }

    .advantages__list .advantages__item:nth-child(3) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-transform: unset;
        transform: unset;
        margin-top: -38px;
    }

    .advantages__list .advantages__item:nth-child(4) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-transform: unset;
        transform: unset;
        margin-top: -43px;
    }

    .advantages__item-number {
        width: 49px;
        height: 49px;
        font-size: 25px;
        line-height: 0.84;
    }

    .places {
        padding: 50px 0 79px;
    }

    .places__title {
        margin-bottom: 42px;
        font-size: 25px;
        line-height: 1.2;
    }

    .places__content {
        row-gap: 40px;
    }

    .map {
        width: 290px;
        height: 223px;
        background-size: contain;
    }

    .map::after {
        right: 53px;
        bottom: 49px;
        width: 89px;
        height: 28px;
        background-image: url('../images/map-name-320.png');
    }

    .map__places {
        bottom: 21px;
        left: 51px;
        width: 66px;
        height: 110px;
        background-size: contain;
    }

    .map__places .map__place:nth-child(1) {
        top: -4px;
        left: -8px;
    }

    .map__places .map__place:nth-child(2) {
        top: 36px;
        left: 25px;
    }

    .map__places .map__place:nth-child(3) {
        bottom: 25px;
        left: 5px;
    }

    .map__places .map__place:nth-child(4) {
        bottom: -6px;
        left: 15px;
    }

    .map__places .map__place:nth-child(5) {
        right: -17px;
        bottom: -6px;
    }

    .map__btn {
        width: 23px;
        height: 23px;
        font-size: 12px;
        line-height: 0.945;
    }

    .place__title {
        margin-bottom: 35px;
        font-size: 20px;
        line-height: 1.05;
    }

    .place__description {
        margin-bottom: 40px;
        font-size: 14px;
        line-height: 1.5;
    }

    .place__image {
        padding: 22px 54px 24px 0;
    }

    .place__image-img {
        max-width: 100%;
    }

    .program {
        padding: 77px 0 45px;
    }

    .program__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .program__title {
        margin-bottom: 40px;
        font-size: 25px;
        line-height: 0.84;
        text-align: left;
        max-width: 445px;
        width: 100%;
    }

    .program__slider-day,
    .program__slider-pagination
    .swiper-pagination-current {
        font-size: 20px;
        line-height: 1.05;
    }

    .program__slider {
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 445px;
        width: 100%;
    }

    .program__swiper,
    .gallery__swiper {
        min-width: 290px;
    }

    .program__item {
        -ms-grid-columns: 100%;
        grid-template-columns: 100%;
        -ms-grid-rows: max-content max-content max-content;
        grid-template-rows: repeat(3, max-content);
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
    }

    .program__item > *:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    .program__item > *:nth-child(2) {
        -ms-grid-row: 2;
        -ms-grid-column: 1;
    }

    .program__item > *:nth-child(3) {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
    }

    .program__slider-pagination {
        position: static;
        -webkit-transform: none;
        transform: none;
        margin-bottom: 35px;
    }

    .program__item-title {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1 / span 1;
        margin-bottom: 23px;
        line-height: 1.2;
    }

    .program__item-image {
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2 / span 1;
        padding: 21px 0 21px 46px;
        margin-bottom: 20px;
        background: -webkit-linear-gradient(left, var(--color-white) 84%, var(--color-grey) 84%);
        background: linear-gradient(to right, var(--color-white) 84%, var(--color-grey) 84%);
    }

    .program__item-image-img {
        height: 232px;
        width: 100%;
    }

    .program__item .scroll-wrapper {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1 / span 1;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3 / span 1;
        padding-right: 0;
        height: auto;
    }

    .program__item-description {
        font-size: 14px;
        line-height: 1.5;
    }

    .program__slider-control {
        position: static;
        -webkit-transform: none;
        transform: none;
        margin-top: 35px;
        margin-bottom: 38px;
    }

    .program__download-link {
        position: static;
        -webkit-transform: none;
        transform: none;
        -ms-flex-item-align: self-start;
        -ms-grid-row-align: start;
        align-self: self-start;
    }

    .reviews {
        padding: 51px 0;
    }

    .reviews__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .reviews__title {
        margin-bottom: 38px;
        font-size: 25px;
        line-height: 0.84;
    }

    .reviews__slider {
        padding: 40px 15px;
        max-width: 445px;
        width: 100%;
    }

    .feedback {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .reviews__slider-pagination {
        top: 84px;
        left: 15px;
    }

    .feedback__info {
        width: 100%;
        margin-bottom: 20px;
    }

    .feedback__info .scroll-wrapper {
        padding-right: 0;
        height: auto;
    }

    .feedback__text {
        font-size: 14px;
        line-height: 1.5;
    }

    .feedback__image {
        width: 100%;
        max-width: 100%;
        height: 100%;
    }

    .feedback__image-img {
        height: 100%;
    }

    .reviews__slider-control {
        position: static;
        margin-top: 67px;
    }

    .booking {
        padding: 33px 0 79px;
    }

    .booking__title {
        margin-bottom: 31px;
        font-size: 25px;
        line-height: 1.2;
    }

    .booking__form {
        width: 100%;
    }

    .booking__form-label {
        margin-bottom: 21px;
    }

    .booking__form-radio-group {
        -webkit-column-gap: 12px;
        -moz-column-gap: 12px;
        column-gap: 12px;
    }

    .booking__form-radio-label {
        width: 31px;
        height: 31px;
        font-size: 17px;
        line-height: .5;
    }

    .footer {
        padding: 40px 0 29px;
    }

    .footer__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 25px;
    }

    .social {
        -webkit-column-gap: 22px;
        -moz-column-gap: 22px;
        column-gap: 22px;
    }

    .social__link {
        width: 40px;
        height: 40px;
        background-size: 40px 40px;
    }

    .footer__phone {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }

}

@media screen and (max-width: 479px) {
    .video {
        height: 224px;
    }

    .video__btn {
        max-width: 210px;
        -webkit-column-gap: 12px;
        -moz-column-gap: 12px;
        column-gap: 12px;
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
        font-size: 13px;
        line-height: 1.462;
    }


    .video__btn::before {
        width: 40px;
        height: 40px;
    }

    .video__btn::after {
        left: 17px;
        border: 6px solid transparent;
        border-left: 10px solid #fff;
    }

    .video__content {
        background-position: left -86px top -17px;
    }
}