@media (max-width: 1200px) {

    .hero__img {
        margin: 0;
        max-width: 377px;
    }

    .hero__img-control {
        position: static;
        max-width: none;
        margin-top: 30px;
    }

    /* =============================== */

    .program__top {
        flex-direction: column;
        align-items: stretch;
    }

    .tab-controls {
        flex-wrap: wrap;
    }
    /* =============================== */

    .contact__inner::after {
        top: -20%;
    }

    /* =============================== */

    .footer__inner {
        justify-content: space-between;
        grid-template-rows: auto auto;
        grid-template-columns: repeat(3, auto);
    }

    .footer__col:last-child {
        grid-column: 1 /-1;
        text-align: center;
    }
}

@media (max-width: 1100px) {

    .about__img {

        grid-row: auto;
    }

    .about__grid {
        grid-column: 1/-1;
    }

    .about__body {
        align-self: center;
    }

    /* ======================= */

    .accordion-list__control {
        padding: 25px 30px;
        font-size: 35px;
    }

    .accordion__content {
        gap: 30px;
    }

 /* =========================== */

    .contact__inner {
        align-items: center;
        gap: 30px;
    }
}

@media (max-width: 900px) {
    .nav {
        position: fixed;
        inset: 0;
        z-index: 10;
        background: var(--main-bg);
        padding: 26vh 15px 30px;
        font-size: 24px;

        transform: translateY(-50%);
        opacity: 0;
        visibility: hidden;
        transition: var(--transition);
    }

    .nav__list {
        flex-direction: column;
        align-items: center;
    }

    .body--open-menu .nav {
        transform: translateY(0%);
        opacity: 1;
        visibility: visible;
    }

    .burger-icon {
        display: flex;
    }

    /* =============================== */

    .program__action {
        max-width: none;
        grid-template: repeat(3, auto) / minmax(280px, 1fr) 1fr;
    }

    .program__img {
        display: none;
    }
    /* ============================== */

    .gallery__inner {
        grid-template: none;
    }

    .gallery__info {
        max-width: none;
    }

    .gallery__img {
        display: none;
    }

    /* ================================= */

    .testimonials__scrollbar.swiper-scrollbar {
        width: 50%;
        margin: 0 auto;
    }

    /* ============================== */

    .contact__inner {
        justify-content: center;
    }


    .contact__img {
        display: none;
    }

    /* ============================== */

    .footer__inner {
        justify-content: center;
        grid-template: none;
        text-align: center;
        gap: 10px;
    }

    .footer__col:first-child {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 40px;
    }

    .footer__col:nth-child(2) {
        margin-bottom: 40px;
    }

    .footer__col:nth-child(3) {
        margin-bottom: 10px;
    }

    /* -------------------------------- */

}

@media (max-width: 800px) {

    html {
        scroll-padding-top: 50px;
    }

    .hero__content {
        max-width: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
    }

    .hero__img {
        display: none;
    }

    .hero__img-control--mobile {
        display: flex;
        margin: 0 0 30px;
    }

    /* ======================== */

    .about__inner {
        grid-template: none;
    }

    .about__img {
        max-width: 500px;
        justify-self: center;
    }

    .about__body {
        text-align: center;
    }

    .about__grid {
        grid-template: none;
        justify-self: center;
    }

    /* =========================== */

    .tab-controls {
        gap: 10px;
        justify-content: center;
    }

    .tab-controls__link {
        padding: 6px 20px;
    }

    .program__title {
        text-align: center;
    }

    .program__top {
        text-align: center;
    }

    .accordion__content {
        flex-direction: column;
    }

    .accordion__content-col:first-child {
        max-width: none;
    }

    .accordion-content__text {
        max-width: none;
    }

/* ------------------------------------------- */

    .testimonials__inner {
        align-items: stretch;
        flex-direction: column;
    }

    .testimonials__nav {
        align-self: end;
    }

    .contact__inner::before {
        display: none;
    }
}

@media (max-width: 600px) {

    .main__about {
        padding: 60px 0 80px;
    }

    .main__program,
    .main__gallery,
    .main__testimonials {
        padding: 0 0 80px;
    }

    .title {
        font-size: 12vw;
    }

    .header__hero {
        padding-bottom: 80px;
    }

    /* =========================== */

    .about__img-control {
        max-width: none;
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        padding: 10px 15px;
    }

    .about__grid {
        gap: 15px;
    }

    .about__grid-item {
        padding: 10px 15px;
    }

    /* ========================== */

    .accordion-list__item {
        margin-bottom: 10px;
    }

    .accordion-list__control {
        padding: 17px 30px;
        font-size: 28px;
    }

    .accordion-list__control-icon {
        width: 28px;
        height: 28px;
    }

    .accordion-list__control-icon svg {
        width: 10px;
    }

    .program__action {
        grid-template: repeat(3, auto) / auto auto;
        gap: 15px;
    }

    .program__discount {
        grid-row: auto;
        grid-column: 1/-1;
        justify-self: center;
    }

    .program__top {
        margin-bottom: 20px;
    }

    .gallery__content {
        flex-direction: column;
    }

    .gallery__inner {
        margin-bottom: 20px;
    }

    /* --------------------------- */

    .testimonials__inner {
        margin-bottom: 20px;
    }

    .testimonials__slide {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* ====================== */
    .contact {
        padding-bottom: 80px;
    }

    .contact__title,
    .contact__text {
        text-align: center;
    }
}

@media (max-width: 450px) {
    .modal__img {
        width: 50%;
        margin-top: -45px;
    }

    .modal__title {
        font-size: 35px;
    }

    .modal__window {
        padding: 0 15px 45px;
    }

    /* =========================== */

    .accordion-list__control {
        padding: 15px 15px;
    }

    .accordion__content {
        padding: 0 15px 30px;
    }

    .accordion__content__item {
        margin-bottom: 10px;
    }

    .program__action {
        grid-template: none;

    }

    .program__price {
        text-align: center;
    }

    /* ----------------------- */

    .testimonials__slide {
        padding: 30px 10px 30px;
    }
}