@media (width < 1025px) {
    body.lock {
        overflow: hidden;
    }
    h1, .h1 {
        font-size: 50px;
    }
    
    .index-banner_container {
        padding: 80px 0;
    }
    .index-banner {
        display: block;
    }
    .header-menu {
        position: absolute;
        top: -1500%;
        width: 100%;
        height: auto;
        padding: 0;
        z-index: 2;
        transition: all 0.3s ease 0s;
        overflow: auto;
        background: #fff;
        margin: auto;
        border-radius: var(--border-radius);
    }
    .open-menu-icon {
        display: block;
        position: relative;
        width: 40px;
        height: 40px;
        margin-right: 20px;
    }
    .burger::before {
        content: '';
        background-repeat: no-repeat;
        background-position: center;
        background-color: #FFFFFF;
        border-radius: 8px;
        display: block;
        width: 40px;
        height: 40px;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.575145 0.523693C0.385363 0.585256 0.109231 0.854889 0.0356088 1.05062C-0.0604547 1.3058 0.039762 1.5799 0.313147 1.80959L0.51693 1.98083H6.00132H11.4857L11.6895 1.80959C12.1035 1.46183 12.1035 1.0313 11.6896 0.683475L11.4857 0.512238L6.0807 0.501664C3.1079 0.495848 0.630411 0.505776 0.575145 0.523693ZM0.575145 4.28381C0.386167 4.34408 0.109365 4.61412 0.0356088 4.81021C-0.0604547 5.06539 0.039762 5.33949 0.31308 5.56918L0.516864 5.74041L3.34283 5.75633C5.98397 5.77119 6.1838 5.76514 6.3981 5.66369C6.65079 5.54403 6.87219 5.23692 6.87219 5.00612C6.87219 4.77537 6.65072 4.46809 6.39911 4.34978C6.18822 4.25062 5.96233 4.24281 3.42328 4.24709C1.91206 4.24962 0.630411 4.26619 0.575145 4.28381ZM0.575145 8.04287C0.385363 8.10443 0.109231 8.37406 0.0356088 8.5698C-0.0604547 8.82498 0.039762 9.09908 0.313147 9.32876L0.51693 9.5H6.00132H11.4857L11.6895 9.32876C12.1035 8.981 12.1035 8.55047 11.6896 8.20265L11.4857 8.03141L6.0807 8.02084C3.1079 8.01502 0.630411 8.02495 0.575145 8.04287Z" fill="%234E4E4E"/></svg>');
    }
    .header-menu.menu-open {
        top: 14%;
    }
    .header-menu {
        padding: 30px 0;
        
    }
    .menu-open {
        display: block;
    }
    .header-menu-wrap {
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
        flex-direction: column;
        gap: 20px;
    }
    .menu-list .first-item {
        width: 100%;
        justify-content: space-between;
    }
    .menu-list li:hover > .sub-menu {
        display: none;
    }
    .menu-list li > .sub-menu.active {
        position: relative;
        top: auto;
        width: auto;
        opacity: 1;
        visibility: unset;
        opacity: 1;
        transform: none;
        visibility: visible;
        transition: all .5s ease;
        display: flex;
        gap: 10px;
    }
    .sub-menu.sub-menu_cols > li {
        max-width: 49%;
        width: 100%;
    }
    .header-top_reit,
    .header-top_location {
        display: none;
    }
    .header-top_container {
        justify-content: space-between;
    }
    .menu-white {
        background-color: #fff;
    }
    .menu-white .burger::before {
        background-color: #F8F8F8;
    }
    .header-menu_container {
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: column;
    }
    .menu-list .first-item {
        padding: 0;
    }
    .mobile-info,
    .mobile-info .header-top_reit, 
    .mobile-info .header-top_location {
        display: flex;
    }
    .mobile-info {
        margin: 40px 0 30px;
        gap: 50px;
    }
    .dropdown.menu-item_remont .first-item::after {
        display: none;
    }
    nav {
        width: 100%;
    }
    .main-item.dropdown {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    .main-item.dropdown::after {
        content: '';
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5" fill="none"><path d="M8.5 0.75L5 4.25L1.5 0.75" stroke="%234E4E4E" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
        width: 10px;
        height: 5px;
        display: block;
        transition: all 0.5s ease;
        position: absolute;
        right: 0;
        top: 8px;
        z-index: 10;
    }
    .sub-menu li:hover > .sub-menu__list {
        display: none;
    }
    .dropdown .sub-menu a {
        padding: 0;
    }
    .sub-menu .dropdown > a::after {
        display: none;
    }
    .footer {
        margin-top: 160px;
    }
    .sale-item_text {
        bottom: 15px;
    }
    .uslugi-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
    .plus-car {
        display: none;
    }
    .form-img {
        right: -30%;
    }
    .reviews-wrapper {
        justify-content: space-between;
        flex-direction: column;
        gap: 20px;
    }
    .reviews-left {
        height: 712px;
        margin: 0 auto;
    }
    .reviews-right {
        max-width: 100%;
    }
    .footer-top {
        flex-wrap: wrap;
        gap: 20px
    }
    .footer-last {
        flex-direction: row;
    }
    h2, .h2 {
        font-size: 36px;
    }
    .plus-wrapper {
        gap: 20px;
    }
    .number-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .tur-contacts_imgs {
        grid-template-columns: repeat(2, 1fr);
    }
   .blog-anons {
        flex-direction: column;
   }
   .blog-anons img {
       max-width: 100%;
   }
   .aside-form {
       padding: 50px 40px;
   }
   .aside {
       max-width: 350px;
   }
   .face-wrapper {
        grid-template-columns: repeat(3, 1fr);
   }
   .face-item img {
       width: 100%;
   }
   .header-menu_page-container {
       background: none;
   }
    .menu-item_remont .sub-menu span, .dropdown .sub-menu li {
        padding: 0;
        position: relative;
        display: block;
    }
    .sub-menu .dropdown:after {
        content: '';
        position: absolute;
        top: 10px;
        right: 0;
        width: 10px;
        height: 5px;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5" fill="none"><path d="M8.5 0.75L5 4.25L1.5 0.75" stroke="%234E4E4E" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');

    }
    .sub-menu li > .sub-menu__list.active {
        position: relative;
        opacity: 1;
        visibility: unset;
        top: auto;
        width: auto;
        left: auto;
        display: block;
        display: flex;
        flex-direction: column;
    }
    .menu-item_remont .sub-menu span, .dropdown .sub-menu li {
        padding: 0;
        position: relative;
        display: block;
    }
    .dropdown .sub-menu a,
    .menu-list .first-item {
        display: inline;
    }

}
@media (width < 990px) {
    section {
        padding: 40px 0 0;
    }
    .container {
        padding: 0 30px;
    }
    .header-top_desc,
    .header-top_contacts-mail a {
        font-size: 12px;
    }
    .header-top_contacts-phone a {
        font-size: 14px;
    }
    .header-top_logo img {
        max-width: 135px;
    }
    .header-top_desc {
        max-width: 140px;
        margin-right: 19px;
    }
    .header-top_contacts {
        max-width: 161px;
        margin-right: 18px;
    }
    .index-banner_h1 {
        grid-row: 1 / 1;
        grid-column: 1 / 3;
    }
    .index-banner_form {
        grid-row: 2 / 2;
        grid-column: 2 / 2;
    }
    .index-banner_top {
        gap: 32px 20px;
    }
    
    .banner-list li {
        align-items: flex-start;
    }
    .banner-list li::before {
        margin-top: 6px;
    }
    .index-banner_utp {
        grid-template-columns: repeat(2, 1fr);
    }
    .section-top_right {
        display: none;
    }
    
    
    
    
    .sale-item:nth-child(7n+1) .sale-item_title,
    .sale-item:nth-child(7n+7) .sale-item_title{
        font-size: 24px;
        max-width: 257px;
    }
    .uslugi-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .plus-item {
        height: 297px;
    }
    .form-img {
        right: -55%;
    }
    .form::after {
        right: -55%;
    }
    .portfolio-wrapper {
        grid-auto-rows: 240px;
        grid-template-columns: repeat(2, 1fr);
        max-height: 1227px;
        overflow: hidden;
        position: relative;
    }
    .portfolio-item,
    .portfolio-wrapper_sponsorstvo .portfolio-item {
        grid-row: auto;
        grid-column: auto;
    }
    .portfolio-item a {
        width: 100%;
    }
    .portfolio-more {
        display: flex;
    }
    .portfolio-wrapper::after {
        content: '';
        width: 100%;
        height: 249px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
        transition: all 0.5s ease;
    }
    .portfolio-wrapper.show {
        max-height: 100%;
    }
    .portfolio-wrapper.show::after {
        display: none;
    }
    .footer-last {
        flex-direction: column;
    }
    .footer-top {
        padding: 0 20px;
        justify-content: normal;
        gap: 50px 70px;
    }
    .footer-top > div {
        flex: 0 0 42%;
    }
    .form {
        padding: 50px;
    }
    form-title {
        font-size: 36px;
    }
    .job-item_imgs {
        flex-direction: column;
    }
    .steps-wrappew {
        flex-direction: column;
        gap: 20px;
    }
    .steps_item_left,
    .steps_item_right{
        max-width: 100%;
    }
    .steps_img {
        width: 100%;
    }
    .steps_item-form-inputs input,
    .steps_item-form-btns button{
        max-width: 48%;
    }
    .sale-item_title {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .sale-wrapper {
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: 225px;
        grid-auto-flow: dense;
    }
    .sale-item {
        grid-row: auto !important;
        grid-column: auto !important;
    }
    .sale-item img {
        height: 100%;
    }
    .sale-item_hit {
        font-size: 15px;
        height: 70px;
        width: 50px;
    }
    .sale-item .sale-item_text {
        left: 25px !important;
        bottom: 25px !important;
    }
    .sale-item:nth-child(7n+1) .sale-item_title, 
    .sale-item:nth-child(7n+7) .sale-item_title{
        font-size: 24px;
        max-width: 257px;
    }
    .sale-item:nth-child(7n+1) .sale-item_sub,
    .sale-item:nth-child(7n+7) .sale-item_sub {
        max-width: 351px;
        font-size: 16px;
        line-height: 120%;
        
    }
    .form-osmotr .form-content_inputs {
        align-items: stretch;
    }
    .form-osmotr .btn {
        font-size: 16px;
    }
    .form-osmotr {
        padding: 50px;
    }
    .form-osmotr::after {
        background-size: cover;
        right: -65%;
    }
    .blog-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .flex-content {
        flex-direction: column;
    }
    .aside {
        max-width: 100%;
    }
    .aside aside {
        position: relative;
        top: auto;
    }
    .aside-form_inputs {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .aside-form_buttons {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
    }
    .aside .custom-checkbox__name, .aside .custom-checkbox__name a {
        color: var(--color-white);
    }
    .header-menu.menu-open {
        top: 13%;
    }
}
@media (width < 770px) {
    .face-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .certificates-wrapper {
        grid-template-columns: repeat(3, 1fr);
        max-height: 900px;
    }
    #fileForm {
        left: 77%;
    }
}
@media (width < 561px) {
    section {
        padding: 30px 0;
    }
    .portfolio-item img{
        height: 400px;
    }
    .breadcrumbs__link,
    .breadcrumbs__last{
        font-size: 11px;
    }
    .form-osmotr::after,
    .form::after {
        display: none;
    }
    .form-osmotr .input,
    .form-osmotr .btn {
        max-width: 100%;
    }
    .number-item_top {
        font-size: 30px;
    }
    .number-item {
        padding: 0 15px;
    }
    .sale-item img {
        max-height: 225px;
    }
    .container {
        padding: 0 20px;
    }
    .header-top_bns,
    .header-top_desc {
        display: none;
    }
    h1, .h1 {
        font-size: 40px;
    }
    h2, .h2 {
        font-size: 30px;
    }
    .index-banner_container {
        padding: 50px 0 80px;
    }
    .index-banner_h1, 
    .index-banner_contant,
    .index-banner_form {
        grid-row: auto;
        grid-column: auto;
    }
    .index-banner_form  {
        max-width: 100%;
    }
    .index-banner_utp {
        grid-template-columns: repeat(1, 1fr);
    }
    .sale-item img {
        max-height: 100%;
        height: 100%;
    }
    .uslugi-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
    .plus-wrapper {
        flex-direction: column;
    }
    .plus-item {
        height: 274px;
    }
    .form-title {
        font-size: 28px;
    }
    .form-social {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
    }
    .form-content_inputs {
        align-items: flex-start;
        flex-direction: column;
    }
    .input {
        max-width: 100%;
    }
    .form-content_btns {
        align-items: flex-start;
        flex-direction: column;
    }
    .form-content_btns button {
        max-width: 100%;
    }
    .portfolio-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
    .map-title {
        font-size: 30px;
        line-height: 120%;
    }
    .map-content {
        width: calc(100% - 40px);
        top: 40px;
        left: 20px;
    }
    .review-5 {
        left: 0;
    }
    .footer-top > div {
        flex: 0 0 100%;
    }
    .reviews-left {
        display: none;
    }
    .mobile-info {
        flex-direction: column;
    }
    .table-wrapper th,
    .table-wrapper td {
        padding: 30px;
    }
    .table-wrapper tr > td:last-child {
        width: 35%;
    }
    .job-item {
        flex-direction: column;
    }
    .job-item_imgs {
        flex-direction: row;
    }
    .sale-wrapper {
        grid-template-columns: repeat(1, 1fr);
        grid-auto-flow: dense;
        grid-auto-rows: 268px;
    }
    .blog-wrapper {
        grid-template-columns: repeat(1, 1fr);
        max-height: 4000px;
    }
    .tur-contacts,
    .tur-maps {
        flex-direction: column;
    }
    .tur-contacts_phone a, 
    .tur-contacts_zapch a, 
    .tur-contacts_strahov a, 
    .tur-contacts_mail a, 
    .tur-contacts_adress span,
    .tur-contacts_zapch, 
    .tur-contacts_strahov, 
    .tur-contacts_mail, 
    .tur-contacts_adress {
        font-size: 16px;
    }
    .price-question {
        padding: 20px 60px 20px 20px;
    }
    .price-question {
        line-height: 130%;
        font-size: 20px;
    }
    .price-answ_price {
        width: 100%;
        max-width: 28%;
        text-align: right;
    }
    .price-answ_item {
        gap: 15px;
    }
    .price-answ_price,
    .price-answ_title {
        font-size: 16px;
    }
    .price-question img {
        width: 36px;
        height: 36px;
    }
    .list {
        padding-left: 0;
    }
    .number-list {
        padding-left: 20px;
    }
    .vacancy-answ {
        padding: 24px 20px 40px;
    }
    .aside-form_buttons,
    .aside-form_inputs {
        display: flex;
        flex-direction: column;
    }
    .float-right {
        float: none;
        margin-left: 0;
        margin-bottom: 23px;
        width: 100%;
    }
    .modal,
    .modal_photo {
        padding: 50px;
    }
    .sposob {
        flex-direction: column;
    }
    .checkbox-item,
    .sposob-radio {
        width: 100%;
        max-width: 100%;
    }
    .top-form_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .top-form_grid button {
        padding: 20px;
    }
    .modal-subtitle {
        font-size: 17px;
        margin-bottom: 20px;
    }
    .modal-title {
        font-size: 33px;
        margin-bottom: 20px;
    }
    .sposob {
        margin-bottom: 32px;
    }
    .face-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
    .certificates-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .open-menu-icon {
        margin: 0;
    }
    .footer {
        margin-top: 60px;
    }
    .steps_item-form-inputs,
    .steps_item-form-btns{
        flex-direction: column;
    }
    .steps_item-form-inputs input, .steps_item-form-btns button {
        max-width: 100%;
    }
        .header-menu.menu-open {
        top: 11%;
    }
    .bfnner-btns {
        flex-direction: column;
    }
    .price-answ {
        padding: 0 20px 20px;
    }
    #fileForm {
        left: 10%;
    }
}
@media (width < 415px) {
    .header-top_logo,
    .open-menu-icon {
        margin: 0;
    }
    .sale-item .sale-item_text {
        width: calc(100% - 50px);
    }
}
@media (width < 397px) {
    .header-top_contacts {
        display: none;
    }
    .mobile-info .header-top_contacts {
        display: flex;
    }
    .form-osmotr,
    .form {
        padding: 20px;
    }
    .map-title {
        font-size: 15px;
    }
    h2, .h2 {
        font-size: 20px;
    }
    .form-title {
        font-size: 20px;
    }
    .sale-item:nth-child(7n+1) .sale-item_title, .sale-item:nth-child(7n+7) .sale-item_title {
        font-size: 20px;
    }
    h1, .h1 {
        font-size: 25px;
    }
    .map-content {
        padding: 20px;
        top: 20px;
        left: 20px;
    }
    .map-contacts_phone a,
    .map-contacts_adress,
    .map-contacts_mail a{
        font-size: 15px;
    }
    section {
        padding: 60px 0 0;
    }
    .footer {
        margin-top: 80px;
    }
    .header-top {
        padding: 10px 0;
    }
    .breadcrumbs {
        padding: 30px 0 30px;
    }
    .vacancy-question {
        padding: 20px;
        font-size: 20px;
    }
    .aside-form {
        padding: 30px;
    }
    .aside-form_title {
        font-size: 26px;
    }
    .table-wrapper th, 
    .table-wrapper td {
        padding: 10px;
    }
    .table-wrapper td {
        font-size: 14px;
    }
    .table-wrapper th {
        font-size: 16px;
    }
    .map-content {
        padding: 40px;
    }
     #fileForm {
        bottom: 22%;
    }
} 
@media (width < 376px) {
    .header-menu.menu-open {
        top: 13%;
    }
    .form-photo {
        padding: 30px;
    }
}