@media (max-width: 1300px) {
    .holder-main-frame h1 { padding: 48px; }
    .holder-main-frame .holder-main-text { padding: 24px 48px; }
    .holder-about-frame .about-text { padding: 48px; }
    .holder-about-frame h3 { padding-bottom: 48px; }
    .holder-portfolio-frame .portfolio-frame { padding: 48px 0 0; }
    .holder-service { padding: 48px 0; }
    .holder-service h3 { padding: 0 48px 48px; }
    .holder-service .service-list .service-list-item { padding: 36px 48px; }
    .holder-contact { padding: 48px 0; }
    .holder-contact h3 { padding: 0 48px 48px; }
    .holder-contact .contact-list { padding: 36px 48px; }
    .holder-contact .contact-form { padding: 36px 48px; }
    .front-form-title { font-size: 14px; }
    label.radio, label.checkbox { font-size: 14px; }
}

@media (max-width: 1024px) {
    .holder-main-frame { flex-direction: column-reverse; }
    .holder-main-frame .holder-main-title { width: 100%; flex-direction: row; }
    .holder-main-frame .holder-main-image { width: 100%; }
    .holder-main-frame h1 { width: 59%; flex-grow: 1; height: auto; text-align: left; }
    .holder-main-frame .holder-main-text { width: 39%;  flex-grow: 1;  }
    .holder-service .service-list { display: flex; flex-direction: column; }
    .holder-contact .contact-frame-data { display: flex; flex-direction: column; }
    .holder-about-frame .about-text { width: auto; }
    .holder-portfolio-frame { padding-bottom: 24px; }
    .holder-portfolio-frame .portfolio-frame { width: auto; padding: 48px 48px 0; }
    .holder-portfolio-frame h3 { padding: 0 0 48px; }
    .holder-service .service-frame { width: auto;  }
    .holder-service .service-list { padding: 0 48px; }
    .holder-contact .contact-frame { width: auto;  }
    .holder-contact .contact-frame-data { padding: 0 48px; }
    .holder-bottom .bottom-frame { width: auto;  }

    .holder-header .header-menu .header-menu-button { display: inline-block; }
    .holder-header .header-menu .header-menu-list { position: absolute; display: none;  }
    .holder-header .header-menu .header-menu-items { flex-direction: column; padding: 0 24px 12px; }
    .page-message-cookies { max-width: 100%; }

    .text-block { font-size: 15px; }
}

@media (max-width: 800px) {
    .holder-main-frame h1 { width: 50%; text-align: left; }
    .holder-main-frame .holder-main-text { width: 50%; }
    .holder-offer-frame { flex-wrap: wrap; }
    .holder-offer-frame .offer-item { width: 32%; aspect-ratio: auto;  }
}

@media (max-width: 600px) {
    .holder-main-frame .holder-main-title { flex-direction: column; }
    .holder-main-frame h1 { width: 100%; display: block;  }
    .holder-main-frame .holder-main-text { width: 100%; padding: 24px 48px; }
    .holder-main-frame .holder-main-text ul { align-items: flex-start; }
    h3 { font-size: 28px !important; }
    .holder-portfolio-frame { padding-bottom: 0; }
    .holder-bottom .bottom-frame { flex-direction: column; }
    .holder-bottom .bottom-frame .bottom-text { max-width: 100%; text-align: center; }

    .holder-page-data {padding: 48px;}
    .page-title h1 { font-size: 28px; }
    .text-block { font-size: 14px; }

}

@media (max-width: 480px) {
    .holder-offer-frame .offer-item { width: 49%; }
    .holder-main-frame h1 { padding: 36px; text-align: center; }
    .holder-main-frame .holder-main-text { padding: 36px;  }
    .holder-main-frame .holder-main-text ul {  align-items: center; margin: 0; }
    .holder-about-frame .about-text { padding: 36px; }
    .holder-about-frame h3, .holder-portfolio-frame h3 { padding-bottom: 36px; }
    .holder-portfolio-frame .portfolio-frame { padding: 36px 36px 0; }
    .holder-service h3 { padding: 0 36px 36px; }
    .holder-service { padding: 36px 0; }
    .holder-service .service-list { padding: 0 36px; }
    .holder-service .service-list .service-list-item { padding: 24px 36px; }
    .holder-contact { padding: 36px 0; }
    .holder-contact h3 { padding: 0 36px 36px; }
    .holder-contact .contact-frame-data { padding: 0 36px; }
    .holder-contact .contact-list {  padding: 24px 36px;  }
    .holder-contact .contact-form { padding: 24px 36px;  }
    .holder-bottom { padding: 48px 0; }
    .holder-bottom .bottom-frame { padding: 0 48px; }
    .holder-header .header-menu { padding: 0px 14px; }
    .page-message-cookies .holder-message { flex-direction: column;}
    .page-message-cookies .holder-message .holder-text { text-align: center; }
}

@media (max-width: 420px) {
    .main-logo-img { width: 50px;  height: 50px; }
    .header-phone a { padding: 8px 10px 8px 42px; font-size: 16px; }
    .holder-main-frame .holder-main-text {  padding: 24px;  }
    .holder-main-frame h1 { padding: 24px; text-align: center; }
    .holder-about-frame .about-text { padding: 24px; }
    .holder-about-frame h3, .holder-portfolio-frame h3 { padding-bottom: 24px; }
    .holder-portfolio-frame .portfolio-frame { padding: 24px 24px 0; }
    .holder-service h3 { padding: 0 24px 24px; }
    .holder-service { padding: 24px 0; }
    .holder-service .service-list { padding: 0 24px; }
    .holder-service .service-list .service-list-item { padding: 18px 24px; }
    .holder-contact {  padding: 24px 0; }
    .holder-contact h3 { padding: 0 24px 24px;  }
    .holder-contact .contact-frame-data { padding: 0 24px; }
    .holder-contact .contact-list {  padding: 18px 24px; }
    .holder-contact .contact-form {  padding: 18px 24px; }
}