@media screen and (max-width: 1370px) {
    header {
        width: calc(100% - 140px);
        padding: 10px 30px;
    }
    .pageTitle {
        font-size: 48px;
    }
    .buttonTG,
    .buttonWA {
        padding: 19px 19px 19px;
        font-size: 16px;
        justify-content: center;
    }
}

@media screen and (max-width: 1100px) {
    header ul, footer ul {
        gap: 0 20px;
    }
    .bannerMain {
        height: 460px;
    }
    .bannerMain:after {
        bottom: -40px;
        width: 45%;
        height: 470px;
    }
    .videoWrap {
        padding: 25px;
        border-radius: 20px;
    }
    .blockTitle {
        font-size: 32px;
    }
    .blockDesc {
        font-size: 20px;
    }
    .videoBlock {
        border-radius: 20px;
        height: 400px;
    }
    .advantagesWrap {
        margin-top: 45px;
        padding-top: 45px;
    }
    .advantageItem {
        border-radius: 20px;
        padding: 30px;
        width: calc(32.5% - 60px);
        min-height: 200px;
    }
    .advantageItem.advantageMedia {
        width: calc(66.5% - 60px);
    }
    .advantageIcon {
        width: 60px;
        height: 60px;
    }
    .advantageItem p {
        font-size: 20px;
    }
    .advantageItem text {
        font-size: 16px;
    }
    .button {
        font-size: 16px;
    }
    .faqWrap {
        margin-top: 50px;
        padding-top: 50px;
    }
    .faqItem.open {
        padding: 30px 25px 25px;
        margin-bottom: 30px;
    }
    .faqTitle h4 {
        font-size: 20px;
    }
    .faqItem p {
        font-size: 16px;
    }
    .faqInfo h3 {
        font-size: 20px;
    }
    .formBlock .blockTitle {
        padding: 20px 20px 0;
    }
    .formBlock .blockDesc {
        padding: 0 20px;
        margin: -10px 0 30px;
    }
    .formBlock form {
        padding: 0 20px 30px;
        margin-top: -5px;
    }
    footer .headerContacts {
        width: 255px;
        margin-left: auto;
    }
    .blockTitleWrap {
        flex-direction: column;
        align-items: flex-start;
    }
    .pageTitle {
        margin: 0 0 20px;
    }
    header li a,
    footer li a,
    header .headerContacts a:not(.linkMail),
    footer .headerContacts .linkPhone {
        font-size: 14px;
    }
    .advantageIcon.textIcon {
        line-height: 60px;
    }
}

@media screen and (max-width: 900px) {
    header ul {
        display: none;
    }
    .menuToggle {
        display: block;
    }
    header .logo {
        margin-right: auto;
        margin-left: 15px;
    }
    .bannerMain {
        height: auto;
    }
    .bannerContent {
        padding-bottom: 30px;
    }
    .bannerContent h1 {
        margin: 30px 0 25px;
        font-size: 40px;
    }
    .bannerContent p {
        font-size: 20px;
    }
    .bannerMain:after {
        bottom: -40px;
        width: 38%;
        height: 300px;
    }
    .blockTitle {
        font-size: 26px;
    }
    .blockDesc {
        font-size: 18px;
    }
    .historyBlock {
        flex-wrap: wrap;
    }
    .historyBlock img {
        width: 100%;
        margin: 0 0 25px;
    }
    .historyText {
        width: 100%;
    }
    .historyText p {
        font-size: 16px;
    }
    .historyText:not(.full) {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -moz-box;
        -moz-box-orient: vertical;
        display: -webkit-box;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        line-clamp: 5;
        box-orient: vertical;
    }
    #historyMore {
        display: inline-block;
        margin-top: 25px;
        text-decoration: underline;
    }
    .blogList .postItem,
    .blogList .postItem:nth-child(3n) {
        width: calc(49% - 60px);
        margin-right: 2%;
    }
    .blogList .postItem:nth-child(2n) {
        margin-right: 0;
    }
    .pageTitleWrap {
        flex-direction: column;
        align-items: flex-start;
    }
    .pageTitleWrap .button {
        margin-left: 0;
    }
    .workPreview .button {
        display: none;
    }
    .workItem,
    .workItem:nth-child(3n) {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 15px;
    }
    .workItem:nth-child(2n) {
        margin-right: 0;
    }
    .contactsData {
        width: 100%;
        margin: 20px 0 0;
    }
    #map {
        width: 100%;
        height: 280px;
        margin: 20px 0 0;
    }
    .wpText > span {
        margin: 0;
    }
    .productSlider {
        width: 100%;
        margin: 0;
    }
    .productData {
        width: 100%;
    }
    .grayBack .workItem:nth-child(3n) {
        display: none;
    }
    .mainButtons {
        margin: -30px 0 40px;
    }
    .single-product .mainButtons {
        margin: 0;
    }
}

@media screen and (max-width: 780px) {
    .modalWrap {
        padding: 30px 20px;
        width: calc(100% - 70px);
    }
}

@media screen and (max-width: 680px) {
    header {
        width: calc(100% - 90px);
        padding: 10px 30px;
    }
    .container {
        max-width: calc(100% - 30px);
    }
    .bannerMain:after {
        width: 100%;
        height: 300px;
        background: url(../images/bannerMainM.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: initial;
        margin-bottom: -75px;
    }
    .blockTitleWrap {
        flex-direction: column;
    }
    .blockTitle {
        margin-bottom: 20px;
    }
    .videoBlock {
        height: 300px;
    }
    .advantageItem {
        width: 100% !important;
        padding: 25px 20px;
        min-height: auto;
    }
    .advantageItem {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
    }
    .advantageIcon {
        width: 55px;
        height: 55px;
        margin-right: 20px;
        margin-bottom: 0;
    }
    .advantageItem p {
        width: calc(100% - 75px);
    }
    .advantageItem text {
        font-size: 18px;
        margin-top: 20px;
    }
    .advantagesWrap {
        margin-top: 30px;
        padding-top: 30px;
    }
    .faqWrap {
        margin-top: 30px;
        padding-top: 30px;
    }
    .faqList {
        width: 100%;
        margin-right: 0;
    }
    .faqInfo {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        text-align: left;
    }
    .faqInfo img {
        width: 90px;
        margin-bottom: 0;
        margin-right: 25px;
    }
    .fiText {
        width: calc(100% - 115px);
    }
    .faqInfo h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .faqInfo p {
        font-size: 18px;
        text-align: left;
        margin: 0;
    }
    .faqInfo .button {
        margin-top: 25px;
        width: 100%;
        justify-content: center;
    }
    .grayBack {
        margin-top: 60px;
        padding: 25px 0;
    }
    .blockTitleWrap {
        position: relative;
    }
    .blogSliderNav {
        position: absolute;
        right: 0;
        top: 0;
    }
    .blogSlider {
        margin-top: 25px;
    }
    .postItem {
        padding: 30px 25px;
    }
    .postItemPreview h3 {
        font-size: 20px;
        width: 100%;
        margin: 0 0 20px;
    }
    .postItemPreview img {
        width: auto;
    }
    .postItemExcerpt {
        font-size: 16px;
        margin: 18px 0 0;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -moz-box;
        -moz-box-orient: vertical;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        line-clamp: 3;
        box-orient: vertical;
    }
    .blogSlider .slick-list {
        margin-right: -412px;
        margin-left: -12px;
        width: calc(100% + 424px);
    }
    .formBlock {
        padding-right: 0;
        background: none !important;
    }
    .formBlock form {
        display: flex;
        flex-direction: column;
    }
    .formBlock form:after {
        content: '';
        width: calc(100% + 40px);
        height: 250px;
        background: url(../images/formM.png);
        margin: 25px -20px -30px;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
    }
    footer {
        margin-top: 70px;
    }
    footer ul {
        width: calc(100% - 80px);
        display: flex;
        flex-wrap: wrap;
    }
    footer .headerContacts {
        width: auto;
        margin: 25px 0 0;
    }
    footer .container + .container * {
        font-size: 14px;
    }
    .pageTitle {
        font-size: 32px;
    }
    .blogList .postItem,
    .blogList .postItem:nth-child(3n) {
        width: calc(49% - 50px);
    }
    .postContent p {
        font-size: 16px;
    }
    .imageBlockTriple a,
    .imageBlockDouble a {
        width: 100%;
        margin: 0 0 15px;
    }
    .imageBlockTriple img,
    .imageBlockDouble img {
        height: auto;
    }
    .workData {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px 0;
    }
    .dataPrice {
        font-size: 26px;
    }
    .prodChars li {
        padding: 12px 17px 12px;
        font-size: 14px;
    }
    .prodChars h4,
    .prodDesc h4 {
        font-size: 20px;
    }
    .prodDesc p {
        font-size: 16px;
    }
    .modal .formBlock form:after {
        display: none;
    }
    .modal .blockTitle {
        font-size: 26px;
    }
    .productsMobile {
        display: block;
    }
    .productsMobile .blockTitleWrap {
        flex-direction: row;
    }
    .productsMobile .blockTitleWrap .button {
        flex-shrink: 0;
        margin-bottom: 20px;
    }
    .wp-block-columns {
        flex-direction: column;
    }
    .faqInfo > a {
        width: 100%;
    }
    .advantageIcon.textIcon {
        line-height: 55px;
    }
}

@media screen and (max-width: 580px) {
    .blogList .postItem {
        width: 100%!important;
    }
    .postItemPreview {
        flex-direction: column;
        align-items: flex-start;
    }
    .blogList .postItemPreview h3 {
        width: 100%;
    }
    .blogList .postItemPreview img {
        width: auto;
    }
    .loadMoreWrap {
        margin: 10px 0 0;
    }
    .workItem img {
        height: 150px;
    }
    .wpText h3 {
        font-size: 20px;
    }
    .wpText p {
        margin: 0 0 10px;
        font-size: 16px;
        min-height: auto;
    }
    .workItem:hover .workPreview {
        background: none;
        border: none;
        padding: 20px 7px 12px;
    }
    .mrItem img {
        height: 215px;
    }
    .messLinks {
        margin-top: 20px;
        flex-direction: column;
        gap: 10px 0;
    }
    .buttonTG, .buttonWA {
        width: calc(100% - 38px);
    }
    .wpText > span {
        font-size: 18px;
    }
}

@media screen and (max-width: 480px) {
    .faqTitle span {
        width: 20px;
        height: 20px;
    }
    .faqTitle span:before,
    .faqTitle span:after {
        width: 10px;
        height: 2px;
    }
    .faqTitle span:after {
        width: 2px;
        height: 10px;
    }
    .faqItem {
        margin-bottom: 25px;
    }
    .faqTitle h4 {
        font-weight: 500;
    }
    .bannerContent h1 {
        margin: 30px 0 15px;
        font-size: 32px;
    }
    .bannerContent p {
        font-size: 18px;
    }
    .bannerButtons {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-top: 30px;
        flex-wrap: wrap;
    }
    .bannerMain:after {
        margin-top: -40px;
    }
    .advantageItem p {
        font-size: 18px;
    }
    .advantageItem text {
        font-size: 16px;
    }
    .faqInfo {
        margin-top: 20px;
    }
    footer li {
        width: 45%;
        margin-bottom: 15px;
    }
    footer .container + .container p {
        margin-bottom: 15px;
    }
    .wpText h3 {
        font-size: 18px;
    }
    .wpText p {
        font-size: 12px;
    }
    .mrItem img {
        height: 190px;
    }
    .contactsData > a {
        margin-bottom: 20px;
        font-size: 16px;
    }
    .contactsData > p {
        font-size: 16px;
    }
    .contactsData {
        padding: 20px 20px;
    }
    .postData span {
        margin-top: 15px;
        font-size: 14px;
    }
    .postData {
        gap: 15px 25px;
    }
    .productData .pageTitle {
        font-size: 24px;
    }
    header {
        width: calc(100% - 60px);
        padding: 10px 15px;
    }
    .logo {
        width: 45px;
    }
    .mainButtons {
        flex-direction: column;
    }
    .mainButtons .button {
        font-size: 15px;
        padding: 13px 12px 14px;
        margin: 0 0 10px;
    }
}

@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}
@media screen and (max-width: 1370px) {}