@media only screen and (max-width: 1440px) {
    .etapy-blocks h2.block-title {font-size: 34px;}
}

@media only screen and (max-width: 1366px) {
    .site-slogan {
        margin-left: 10px;
        margin-right: 10px;
    }
    .socsety {gap: 20px;}
    .socsety a {
        width: 70px;
        height: 70px;
    }
    .btn {
        padding: 20px;
        gap: 10px;
    }
    header .tel a {font-size: 22px;}
    a.custom-logo-link img,
    a.custom-logo-home img {
        width: 200px;
        height: auto;
    }
    .home .layout.conteiner {background-size: auto 830px;}
    .main-menu {height: 70px;}
    ul.top_menu li a {font-size: 22px;}
}

@media only screen and (max-width: 1024px) {
    .site-slogan {display: none;}
    ul.top_menu li a {font-size: 18px;}
    .left-block-shapka h1.page-title {
        font-size: 40px;
        margin-bottom: 20px;
    }
    .left-block-shapka p {
        font-size: 16px;
        margin-bottom: 30px;
    }
    .four-blocks-shapka div span {font-size: 18px;}
    .four-blocks-index div {padding: 20px;}
    .storony .width1366.conteiner {gap: 40px;}
    .storony .blocks {gap: 30px;}
    .storony .blocks div {font-size: 100px;}
    .storony .blocks span {font-size: 22px;}
    .storony .blocks p {font-size: 20px;}
    .sfery1 {
        padding-top: 80px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .sfery2 span {
        width: 140px;
        height: 140px;
        margin-top: -70px;
        margin-bottom: 20px;
    }
    .etapy-blocks {flex-wrap: wrap;}
    .etapy-blocks h2.block-title {
        width: 100%;
        aspect-ratio: auto;
    }
    .etapy-blocks > * {
        width: 25%;
        justify-content: flex-start;
    }
    ul.bottom_menu li a {font-size: 18px;}
    .fon-bottom .block1 .logo2 {
        width: 100%;
        height: auto;
    }
    .fon-bottom {padding: 50px 10px;}
    .four-blocks {
        flex-wrap: wrap;
        gap: 20px;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .four-blocks > div {width: calc(50% - 10px);}
    .content-page {font-size: 20px;}
    h1.page-title {
        font-size: 50px;
        margin-bottom: 50px;
    }
    .svoistva .svoistva-img h2.block-title-line {
        top: 20px;
        left: 20px;
    }
    .svoistva .svoistva-text {
        gap: 30px;
        padding-right: 50px;
    }
    .two-colums {
        flex-direction: column-reverse;
        gap: 0;
    }
    .two-colums .block-news {max-width: 100%;}
    .faq details {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media only screen and (max-width: 770px) {
    #mmenu {
        display: block !important;
        cursor: pointer;
        border-radius: 80px;
        width: 52px;
        height: 52px;
        padding-top: 13px;
        padding-left: 17px;
        background: linear-gradient(8.06deg, #282627 5.59%, #888989 94.8%);
        position: sticky;
        top: 20px;
        float: right;
        margin-top: 20px;
        z-index: 999;
    }
    #mmenu span {
        display: block;
        margin-top: 6px;
        height: 1px;
        width: 18px;
        transition: All 0.2s ease-in-out;
        -webkit-transition: All 0.2s ease-in-out;
        -moz-transition: All 0.2s ease-in-out;
        -o-transition: All 0.2s ease-in-out;
        background: #fff;
    }
    #mmenu.open span:nth-child(1) {
        margin-top: 8px;
        position: relative;
        top: 4px;
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    #mmenu.open span:nth-child(2) {
        margin-top: 3px;
        -moz-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #mmenu.open span:last-child {
        opacity: 0;
        display: none;
    }
    .socsety {display: none;}
    a.custom-logo-link img,
    a.custom-logo-home img {width: 160px;}
    .main-menu {display: none;}
    .main-menu.open {
        display: block;
        position: fixed;
        z-index: 990;
        padding: 15px 20px;
        top: 0;
        width: 100%;
        height: 100%;
        background: #5164C2;
        overflow: scroll;
    }
    .main-menu.open ul.top_menu {
        align-items: flex-start;
        flex-direction: column;
        height: auto;
    }
    .main-menu.open ul.top_menu li {background: none;}
    .main-menu.open ul.top_menu li a {
        display: block;
        margin: 10px 0;
    }
    .main-menu.open ul.top_menu li.current-menu-item a,
    .main-menu.open ul.top_menu li.current_page_item a {
        color: #fff;
        -webkit-text-fill-color: #fff;
    }
    .main-menu.open .tel {
        display: flex;
        flex-direction: column;
        margin-top: 30px;
    }
    .main-menu.open .tel a {color: #fff;}
    
    .main-menu.open .socsety {
        display: flex;
        margin-top: 20px;
    }
    .main-menu.open .socsety a {border: 1px dashed #fff;}
    .main-menu.open .btn {
        display: flex;
        margin-top: 30px;
    }
    header.padding30 {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .svoistva {
        flex-direction: column-reverse;
        gap: 40px;
    }
    .svoistva > * {width: 100%;}
    .etapy-blocks > * {
        width: 50%;
        aspect-ratio: auto;
    }
    .storony .blocks {
        justify-content: center;
        width: 100%;
    }
    .stati-page .posts .post-item {flex-direction: column;}
    .stati-page .posts .post-item > a {
        width: 100%;
        justify-content: center;
    }
    .stati-page .posts .post-item img {max-width: 300px;}
    .stati-page .posts .post-item span {
        width: 100%;
        text-align: center;
    }
    .contact-blocks2 {flex-direction: column;}
    .contact-blocks2 > div {width: 100%;}
    .raschet .wpcf7 form.wpcf7-form span[data-name="text-name"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="tel-nomer"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="email-pochta"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="text-vopros"] {width: calc(50% - 10px);}
    .fon-bottom .block1 .tel a {font-size: 18px;}
    .fon-bottom .block1 p,
    .fon-bottom .block1 .copy {font-size: 14px;}
    .gallery-container .gallery-grid a {width: calc(50% - 18px);}
    .block-izdeliya {justify-content: center;}
    .block-izdeliya a {width: calc(50% - 15px);}
    .page-id-2 .content-page,
    .page-id-22 .content-page,
    .parent-pageid-50 .content-page {padding-right: 0;}
    .four-blocks span {padding-right: 45px;}
    .stati-page .posts .post-item a.title {
        line-height: 1.3;
        display: block;
    }
    .contact-blocks {padding: 50px;}
    .contact-blocks > div {
        width: calc(50% - 5px);
        padding-right: 35px;
    }
    ul.bottom_menu.sitemap {width: 100%;}
    .four-blocks-index {flex-wrap: wrap;}
    .four-blocks-index div {width: 50%;}
    .home .onas {
        gap: 40px;
        flex-direction: column;
    }
    .home .onas .left,
    .home .onas .right {width: 100%;}
    .home .onas .right ul li {line-height: 1.3;}
    .home .content-page {
        flex-direction: column;
        gap: 40px;
    }
    .left-block-shapka,
    .four-blocks-shapka {width: 100%;}
    .left-block-shapka h1.page-title {font-size: 32px;}
    .sfery2 {
        gap: 100px;
        flex-direction: column;
    }
    .sfery2 > div {width: 100%;}
    #toTop {
        bottom: 10px;
        right: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .four-blocks {display: none;}
}

@media only screen and (max-width: 430px) {
    header .btn,
    header .tel {display: none;}
    header a.btn-tel {
        display: flex !important;
        margin: 0;
        margin-top: -3px;
    }
    h2.block-title-line {font-size: 32px;}
    .svoistva .svoistva-text {padding-right: 0;}
    .svoistva .svoistva-text span {gap: 20px;}
    .svoistva .svoistva-text span img {
        width: 70px;
        height: auto;
    }
    .stati-page .posts .post-item {
        
        gap: 20px;
        
        width: 100%;
        padding-right: 0;
        flex-direction: column;
    }
    .page-id-25 .content-page .wpcf7,
    .raschet > span {padding: 40px;}
    .raschet .wpcf7 form.wpcf7-form span[data-name="text-name"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="tel-nomer"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="email-pochta"],
    .raschet .wpcf7 form.wpcf7-form span[data-name="text-vopros"] {width: 100%;}
    .etapy-blocks > * {width: 100%;}
    .fon-bottom .width1366.conteiner {flex-wrap: wrap;}
    .fon-bottom ul.bottom_menu {
        width: 100%;
        order: 1;
    }
    .fon-bottom .block1,
    .fon-bottom .block3 {width: calc(50% - 15px);}
    .fon-bottom .block1 {order: 2;}
    .fon-bottom .block3 {order: 3;}
    h1.page-title {font-size: 40px;}
    .gallery-container .gallery-grid a span {
        margin: 10px;
        width: calc(100% - 20px);
    }
    .block-izdeliya a {width: 100%;}
    .two-colums .content-page a.post-thumbnail {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
    .page-id-25 .content-page .wpcf7 form.wpcf7-form span[data-name="text-name"],
    .page-id-25 .content-page .wpcf7 form.wpcf7-form span[data-name="tel-nomer"],
    .page-id-25 .content-page .wpcf7 form.wpcf7-form span[data-name="email-pochta"] {width: 100%;}
    .faq details {
        padding-left: 20px;
        padding-right: 20px;
    }
    .faq details summary {
        padding: 20px 0;
        padding-right: 50px;
    }
    .contact-blocks {padding: 30px;}
    .contact-blocks > div {
        padding-right: 0;
        width: 100%;
    }
    .haracter .table {
        max-width: calc(100vw - 20px);
        overflow-x: scroll;
    }
    .haracter table th,
    .haracter table td {
        font-size: 14px;
        padding: 5px;
        padding-left: 0;
        line-height: 1;
    }
    .haracter table tr {height: auto;}
}

@media only screen and (max-width: 370px) {
    .storony .width1366.conteiner {zoom: 80%;}
}