@media only screen and (max-width : 1640px) {
    .section__wrapper {
        max-width: 1240px;
    }
    
    a.logo {
        width: 60px;
        height: auto;
    }
    
    a.logo img {
        width: 100%;
    }
    
    body {
        font-size: 15px;
    }
    
    nav.menu ul {
        gap: 30px;
    }
    
    a.call {
        font-size: 16px;
        line-height: 1;
    }

    .call__wrapper span {
        font-size: 13px;
    }
    
    .btn {
        height: 50px;
        border-radius: 16px;
        font-size: 15px;
        width: 160px;
    }
    
    p.slogan {
        font-size: 42px;
        line-height: 72px;
    }
    
    .offer {
        max-width: 600px;
    }
    
    h1.title {
        font-size: 20px;
        line-height: 28px;
        max-width: 260px;
        bottom: 15px;
    }
    
    p.delivery__text {
        font-size: 18px;
        line-height: 24px;
    }
    
    .delivery__min {
        font-size: 28px;
        padding: 10px 16px;
    }
    
    section.top__screen .btn {
        width: 380px;
        height: 80px;
        font-size: 28px;
    }
    
    .delivery {
        max-width: 380px;
        border-radius: 16px;
    }
    
    .block__right.content {
        padding: 32px;
        gap: 16px;
    }
    
    h2.section__title, .section__header {
        font-size: 28px;
        margin-bottom: 32px;
    }
    
    .block__right.content .content {
        gap: 16px;
    }
    
    h3.constructor__step {
        font-size: 20px;
        line-height: 28px;
        margin-bottom: 20px;
    }

    h3.modal__title {
        font-size: 20px;
    }
    
    .constructor__wrapper {
        gap: 16px;
    }
    
    .constructor__item {
        padding: 28px 32px;
    }
    
    .constructor__img {
        border-radius: 16px;
    }
    
    select {
        height: 50px;
        padding: 0 20px;
        border-radius: 16px;
        font-size: 15px;
    }
    
    .input-file span {
        height: 50px;
        border-radius: 16px;
        font-size: 15px;
    }
    
    input#view {
        height: 50px;
        padding: 0 20px;
        font-size: 15px;
        border-radius: 16px;
    }
    
    p.sum {
        font-size: 20px;
        margin: 24px 0;
    }
    
    .constructor__item.result__step .btn {
        font-size: 16px;
    }
    
    .constructor__item.view__step p {
        font-size: 15px;
        line-height: 1.4;
    }
    
    .swiper-slide.gallery__item {
        padding: 28px 32px;
        gap: 16px;
    }
    
    .btn.order {
        font-size: 16px;
    }
    
    .arrow {
        width: 52px;
        height: 52px;
    }
    
    .arrow svg {
        width: 28px;
    }
    
    .arrow.prev {
        left: -76px;
    }
    
    .arrow.next {
        right: -76px;
    }
    
    .block__left.contact {
        padding: 48px;
    }
    
    .top {
        gap: 16px;
    }
    
    .contacts__links * {
        font-size: 16px;
    }
    
    .contacts__links {
        gap: 18px;
    }
    
    a.soc__item {
        padding: 8px 16px;
    }
    
    .copy {
        gap: 8px;
    }

    .modal__wrapper {
        max-width: 460px;
        padding: 32px;
    }
    
    .modal__close {
        top: 8px;
        right: 8px;
    }
    
    .modal__input {
        height: 50px;
        font-size: 15px;
        padding: 0 20px;
        border-radius: 16px;
    }
    
    textarea.modal__input {
        padding: 20px;
    }
    
    .constructor__item.result__step p {
        margin-bottom: 16px;
    }
    
    .result__form {
        padding: 32px;
    }
    
    .gallery__item__img img {
        height: 360px;
    }
    
    h3.gallery__item__title {
        font-size: 20px;
    }

    .modal__stuffing__img {
        width: 400px;
        height: 320px;
    }
    
    .modal__stuffing__description {
        max-width: 400px;
    }
    
    .modal__stuffing__list {
        max-height: 540px;
        overflow-y: scroll;
    }
    
    .modal__stuffing__content {
        max-height: 540px;
    }
    
    .modal__stuffing__description p {
        font-size: 13px;
        max-height: 90px;
        overflow-y: scroll;
    }
}
@media only screen and (max-width : 1280px) {
    .section__wrapper {
        max-width: 100%;
        padding: 0 20px;
    }

    .section__header {
    padding: 0 20px;
}

    .constructor__item {
        padding: 24px 20px;
    }

    .constructor__wrapper {
        gap: 14px;
    }

    .block__right.content {
        padding: 24px;
    }

    .block__wrapper {
        gap: 14px;
    }

    .block__right, .block__left {
        max-width: 100%;
    }

    h3.constructor__step {
        margin-bottom: 10px;
    }

    .constructor__img {
        margin-bottom: 10px;
    }

    .stuffing__description {
        margin-bottom: 10px;
    }

    .result__form {
        padding: 24px;
    }

    span.back {
        padding-bottom: 5px;
    }

    .gallery__wrapper {
        gap: 32px;
    }

    .swiper-slide.gallery__item {
        padding: 24px 20px;
    }

    .gallery__control {
        gap: 5px;
    }

    p.sum {
        font-size: 18px;
    }

    select {
        background-size: 14px;
        background-position: 95% center;
    }

    section {
        margin-bottom: 80px;
    }

    .swiper-slide.reviews__item {
        padding: 24px 20px;
        gap: 14px;
    }

    .reviews__wrapper {
        padding: 0 20px;
    }

    .arrows {
        gap: 10px;
    }

    .advantages__item {
        padding: 24px;
    }
    
    .construct__wrapper {
        padding: 32px;
    }
    
    .custom-radio+label {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
    
    .construct__weight__item label span.kg {
        font-size: 11px;
    }
    
    .checks__block {
        gap: 5px;
    }
    
    .swiper-slide.stuffing__slide {
        height: 140px;
        border-radius: 8px;
    }
    
    p.stuffing__name {
        font-size: 14px;
        left: 14px;
        bottom: 20px;
    }
    
    p.stuffing__more {
        font-size: 13px;
        bottom: 8px;
        left: 14px;
    }
    
    .construct__stuffing .arrow.prev {
        left: 14px;
    }
    
    .construct__stuffing .arrow.next {
        right: 14px;
    }
    
    .input__file-button {
        height: 50px;
        border-radius: 16px;
    }

    .advantages__wrapper {
        gap: 14px;
    }
    
    .construct__wrapper {
        padding: 24px 20px;
    }
}
@media only screen and (max-width : 1140px) {
    nav.menu {
        display: none;
    }
    
    .control {
        gap: 30px;
    }
    
    .burger {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
        gap: 10px;
        width: 30px;
        height: 30px;
        transition: all .5s ease;
        cursor: pointer;
    }
    
    span.burger__line {
        width: 30px;
        height: 1px;
        background: #121212;
        transition: all .5s ease;
    }
    
    .burger.active span.burger__line {
        position: absolute;
    }
    
    .burger.active span.burger__line:nth-child(2) {
        opacity: 0;
    }
    
    .burger.active span.burger__line:nth-child(1) {
        transform: rotate(45deg);
    }
    
    .burger.active span.burger__line:nth-child(3) {
        transform: rotate(-45deg);
    }

    header.active {
        z-index: 999;
        border-bottom: 1px solid #ccc;
    }
    
    .modal__nav__wrapper {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #fff;
        justify-content: space-between;
        padding-top: 91px;
    }
    
    nav.modal__menu ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    nav.modal__menu ul li {
        list-style: none;
        width: 100%;
    }
    
    nav.modal__menu ul li a.nav__link {
        padding: 15px 0;
        display: flex;
        justify-content: center;
        border-bottom: 1px solid #ccc;
    }
    
    .modal__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100%;
    }
    
    nav.modal__menu {
        width: 100%;
    }
    
    .modal__copy {
        padding: 20px;
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: center;
        gap: 10px;
    }
    
    .modal__copy p.copy {
        color: #121212;
    }
    
    .modal__copy a.politics {
        color: #121212;
    }

    header.active {
        border-bottom: 1px solid #ccc;
        padding: 10px 0;
    }
    
    .modal__nav__wrapper {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        background: #fff;
        justify-content: space-between;
        padding-top: 91px;
    }
    
    nav.modal__menu ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    nav.modal__menu ul li {
        list-style: none;
        width: 100%;
    }
    
    nav.modal__menu ul li a.nav__link {
        padding: 15px 0;
        display: flex;
        justify-content: center;
        border-bottom: 1px solid #ccc;
    }
    
    .modal__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100%;
    }
    
    nav.modal__menu {
        width: 100%;
    }
    
    .modal__copy {
        padding: 20px;
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: center;
        gap: 10px;
    }
    
    .modal__copy p.copy {
        color: #121212;
    }
    
    .modal__copy a.politics {
        color: #121212;
    }
    
    .modal.modal__nav {
        z-index: 99;
    }

    p.slogan {
        font-size: 36px;
        line-height: 58px;
    }
    
    .offer {
        max-width: 520px;
    }
    
    h1.title {
        font-size: 18px;
        line-height: 24px;
        max-width: 240px;
        bottom: 10px;
        right: 60px;
    }
    
    p.delivery__text {
        font-size: 16px;
        line-height: 21px;
    }
    
    .delivery {
        max-width: 350px;
        margin: 20px 0 10px 0;
    }
    
    section.top__screen .btn {
        width: 350px;
        height: 70px;
        font-size: 20px;
    }
    
    .block__wrapper {
        flex-direction: column;
        gap: 10px;
    }
    
    .block__right, .block__left {
        max-width: 100%;
    }
    
    .constructor__wrapper {
        flex-direction: column;
        gap: 10px;
    }
    
    .constructor__item {
        max-width: 100%;
    }

    .counstructor__content {
        display: flex;
        gap: 20px;
    }

    .stuffing__content {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        max-width: 580px;
    }

    .constructor__img {
        width: 280px;
    }

    .constructor__content {
        display: flex;
        gap: 20px;
    }

    .view__content {
        display: flex;
        flex-direction: column;
        gap: 20px;
        max-width: 65%;
    }

    .files {
        display: flex;
    }

    input#view {
        max-width: 100%;
    }

    .result__left, .result__right {
        flex: 1;
    }

    .row {
        display: flex;
        gap: 10px;
        width: 100%;
    }

    .row input.result__btn.btn {
        flex: 1;
    }

    .row .politics {
        flex: 1;
    }

    .stuff__content {
        display: flex;
        flex-direction: column;
        gap: 10px;
        max-width: 55%;
    }

    footer {
        padding: 0 0 20px;
    }

    .top__right {
        max-width: 340px;
    }
    
    .advantages__wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .construct__wrapper {
        flex-direction: column;
        align-items: center;
    }
    
    .construct__img {
        max-width: 100%;
    }
    
    .construct__content {
        max-width: 800px;
        width: 100%;
    }
    
    section.construct {
        padding: 0;
    }
}
@media only screen and (max-width: 992px) {
    section.top__screen .section__wrapper {
        flex-direction: column-reverse;
        gap: 40px;
    }
    
    .top__left {
        text-align: center;
        align-items: center;
    }
    
    h1.title {
        position: inherit;
        text-align: center;
        right: 0;
        bottom: 0;
    }
    
    .offer__block {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .delivery {
        max-width: 100%;
        text-align: left;
    }
    
    section.top__screen .btn {
        width: 100%;
    }
}
@media only screen and (max-width : 768px) {
    p.slogan {
        font-size: 24px;
        line-height: 32px;
    }
    
    .offer {
        max-width: 350px;
    }
    
    h1.title {
        position: inherit;
        bottom: auto;
        right: auto;
    }
    
    .offer__block {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    header button.btn.modal__call__btn {
        display: none;
    }
    
    .delivery {
        max-width: 100%;
    }
    
    section.top__screen .btn {
        max-width: 100%;
        width: 100%;
    }
    
    section.top__screen {
        margin: 0;
        padding: 100px 0 80px 0;
    }
    
    .block__right.content {
        padding: 20px;
        gap: 10px;
    }
    
    h2.section__title, .section__header {
        font-size: 24px;
        margin-bottom: 24px;
    }
    
    body {
        font-size: 14px;
    }

    a.logo {
        width: 54px;
    }

    header.fixed .section__wrapper {
        padding: 10px;
    }
    
    section.constructor {
        padding: 0 20px;
    }
    
    .counstructor__content {
        flex-direction: column;
        gap: 5px;
    }
    
    .constructor__img {
        width: 100%;
        height: 320px;
    }
    
    .constructor__img img {
        height: 100%;
        object-fit: cover;
    }
    
    .stuff__content {
        max-width: 100%;
    }
    
    .constructor__content {
        flex-direction: column;
        gap: 5px;
    }
    
    .view__content {
        gap: 10px;
        max-width: 100%;
    }
    
    input#view {
        width: 100%;
        margin: 0 0 10px 0;
        font-size: 14px;
    }
    
    .constructor__item.view__step p {
        font-size: 14px;
    }
    
    .row {
        flex-direction: column;
    }
    
    .row input.result__btn.btn {
        flex: none;
    }
    
    .row .politics {
        flex: none;
    }
    
    section.reviews h2.section__title {
        padding: 0 20px;
    }

    section.reviews h2.section__title {
        padding: 0;
    }
    
    .block__right.map {
        height: 300px;
        flex: none;
    }
    
    .block__left.contact {
        flex: none;
        padding: 24px 20px;
        gap: 40px;
    }
    
    .soc {
        flex-direction: column;
        width: 100%;
    }
    
    .contacts__links {
        width: 100%;
    }
    
    .modal__nav__wrapper {
        padding-top: 55px;
    }
    
    .modal__wrapper {
        padding: 24px 24px;
    }
    
    .modal {
        padding: 0 20px;
    }

    .modal.modal__nav {
        padding: 0;
    }
    
    .modal__close {
        top: -50px;
        right: 0;
    }
    
    .modal__input {
        font-size: 14px;
    }
    
    .input-file span {
        font-size: 14px;
    }
    
    select {
        font-size: 14px;
    }
    
    footer {
        padding-bottom: 20px;
    }

    .reviews__wrapper, .gallery__wrapper {
        gap: 24px;
    }

    .input__wrapper {
        margin: 0;
    }
    
    .input__file-button {
        height: 50px;
        font-size: 14px;
        border-radius: 16px;
    }

    .section__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .footer__contacts {
        flex-direction: column;
    }
    
    .ya__reviews {
        width: 100%;
        height: 800px;
    }
    
    footer .block__wrapper {
        width: 100%;
    }

    .construct__weight, .construct__count {
        flex-wrap: wrap;
    }
    
    .checks__block__header {
        width: 100%;
        gap: 0;
    }
    
    .construct__description {
        max-width: 100%;
    }
    
    .advantages__wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .offer {
        max-width: 100%;
    }
    
    .modal__size .modal__wrapper {
        border-radius: 14px;
        padding: 10px;
    }
    
    .modal__stuffing__container {
        width: 100%;
        height: 100vh;
        flex-direction: column-reverse;
    }
    
    .modal__stuffing__list {
        width: 100%;
        max-height: 40%;
    }
    
    .modal__stuffing__content {
        width: 100%;
        max-height: 60%;
        height: 100%;
    }
    
    .modal__stuffing__wrapper {
        width: 100%;
    }
    
    .modal.modal__stuffing {
        padding: 0;
    }
    
    .modal__stuffing__img {
        width: 100%;
        height: 280px;
    }
    
    .modal__close {
        top: 10px;
        right: 10px;
    }
    
    .modal__stuffing__description p {
        max-height: 110px;
    }
    
    .dops .row {
        flex-direction: column;
        width: 100%;
    }
    
    .files {
        width: 100%;
    }
    
    .dops input#view {
        width: 100%;
    }
    
    .construct__results {
        flex-direction: column;
    }
    
    p.sum {
        flex: none;
        margin: 0;
    }
    
    .btn.result__send {
        flex: none;
        width: 100%;
    }
    
    .dops {
        gap: 10px;
    }
    
    .swiper-slide.stuffing__slide {
        height: 160px;
    }
    
    .modal__construct__wrapper {
        padding: 20px;
        border-radius: 14px;
    }
    
    .modal__call .modal__close, .modal__order .modal__close, .modal__size .modal__close, .modal__construct .modal__close {
        right: 0;
        top: -50px;
    }
    
    .modal__size .modal__wrapper {
        padding: 0;
        border-radius: 5px;
    }
}
