@media (max-width: 1280px) {
    #top-navbar .last .dropdown-menu {
        left: -110px;
    }
}

@media (max-width: 992px) {
    body {
        background: none;
    }
    .dev-dn, .bottom-menu, #top-navbar .msMiniCart, .mask-img-pos img, .nav .caret {
        display: none !important;
    }
    .open .dropdown-menu, .navbar-header .msMiniCart, .navbar-nav>li>.dropdown-menu, #top-navbar > div {
        display: block !important;
    }
    .dev-p-0 {
        padding: 0 !important;
    }
    .dev-mt-10 {
        margin-top: 10px;
    }
    .dev-m-a {
        margin: 0 auto;
    }
    .dev-mx-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    #top-navbar .last .dropdown-menu {
        left: 0;
    }
    .container, iframe, .prod-place img, table, input.text {
        width: 100%;
        position: relative;
        overflow: hidden;
    }
    .top-menu .navbar .collapse > .navbar-nav li {
        float: left;
        display: block;
        width: 100%;
        text-align: left;
        padding: 0;
    }
    textarea {
        width: 100% !important;
    }
    .navbar-nav {
        margin: 0;
        flex-direction: column;
    }
    .carousel-control {
        width: 5%;
    }
    .header {
        font-size: 42px;
    }
    .header-text-pos, .header-text-back-pos {
        top: 10px;
        left: auto;
        margin: 0 auto;
    }
    .header-text-back, .header-text {
        margin: auto;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }
    .header-text-pos {
        top: 50px;
    }
    .img-catalog {
        width: auto;
        height: auto;
    }
    .container.f {
        z-index: 10;
    }
    .top-menu .navbar a {
        background-color: transparent;
    }
    .t-fdc {
        flex-direction: column;
    }
    .servicespreim-title {
        font-size: 22px;
    }
    .dropdown-menu {
        position: relative;
        border: none !important;
        background-color: none !important;
        box-shadow: none !important;
        padding-left: 30px;
    }
    .prod-place {
        max-width: 100%;
    }
    .mask-img-pos {
        display: none;
    }
    .prod-place.p40 {
        width: 100%;
    }
    .prod-place.m30 {
        top: 0;
        padding: 0 10px;
    }
    .prod-place.m10 {
        padding-top: 20px;
    }
    .top-menu .navbar a {
        padding: 3px 5px;
    }
    #top-navbar .aic {
        align-items: unset;
    }
    .top-menu .navbar .active > a {
        padding: 10px 5px;
    }
    .navbar-default .navbar-collapse {
        border: none;
    }
    .pi-steps > .d-flex {
        flex-direction: column;
        align-items: center;
        margin-bottom: 0;
    }
    .pi-step {
        width: 60%;
        margin: 0 0 90px 0;
        transform: unset;
    }
    .pi-step--3 {
        order: 0;
    }
    .pi-step--4 {
        order: 1;
    }
    .pi-step--8 {
        margin-bottom: 0;
    }
    .pi-step::after {
        top: unset;
        bottom: 25px;
        left: 0;
        transform: translateY(100%) rotate(-35deg) scale(.35);
    }
    .pi-step--2::after,
    .pi-step--4::after,
    .pi-step--6::after {
        transform: translateY(100%) rotate(35deg) scaleX(-1) scale(.35);
    }
    .pi-step::before {
        display: none;
    }
    .d-block {
        display:block !important;
    }
}

@media (max-width: 768px) {
    .logo_back {
        display: none;
    }
    .header {
        font-size: 32px;
    }
    .header-text-pos {
        top: 10px;
    }
    .header-text-back-pos img {
        width: 100%;
        height: 200px;
    }
    .pad15 {
        padding: 10px;
    }
    table, table td, .breadcrumbs {
        padding: 0 10px !important;
    }
    .table-wrap {
        overflow-x: auto;
    }
    .dev-fdc {
        flex-direction: column;
    }
    .dev-m0 {
        margin: 0;
    }
    .dev-mr5 {
        margin-right: 5px;
    }
    .dev-mt30 {
        margin-top: 30px;
    }
    .dev-flex {
        display: flex;
    }
    .dev-aic {
        align-items: center;
    }
    .orderPrice {
        font-size: 16px;
        margin-right: 10px;
    }
    .dev-col-12, .ms2_form .counter input {
        width: 100%;
    }

    .vacancies-header {
        flex-direction: column;
    }
    .vacancies-title {
        font-size: 21px;
    }
    .vacancies-zp {
        margin-top: 5px;
        font-size: 16px;
    }
    .vacancies-form .d-flex.aic {
        flex-direction: column;
        align-items: flex-start;
    }

    .servicespreim-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .servicespreim-item {
        width: 100%;;
    }
    .servicespreim-title {
        width: 100%;
        margin-top: 15px;
        text-align: left;
    }
    .visible-xs.d-flex {
        display: flex !important;
    }
    .experts .pad5 {
        padding: 0;
        margin: 0;
    }
    .pad15 .actual-price-title {
        padding-left: 10px !important;
    }
    .mainservices-title {
        font-size: 16px;
    }
    .mainservices-icon img {
        height: 60px;
    }
    .pi-steps {
        padding: 0;
    }
    .pi-step {
        width: 100%;
    }
    .quality-control__text .d-flex {
        flex-direction: column;
    }
    .quality-control__icon {
        margin-bottom: 15px;
    }
    body:not(.page-1) .header-mask,
    body:not(.page-1) .header-text-back,
    body:not(.page-1) .header-text,
    body:not(.page-1) .header-text + img.center-block {
        display: none;
    }
    .breadcrumbs {
        margin-top: 10px;
    }
    .prod-place {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .prod-place img {
        max-width: 200px;
        max-height: 250px;
        object-fit: contain;
    }
    .prodlist {
        text-align: left;
        padding-left: 20px;
    }
}

@media (max-width: 576px) {
    .header {
        font-size: 28px;
    }
    .header-text-pos {
        padding: 0 25px;
    }
    .header-text-pos, .header-text-back-pos, .bottom-img {
        width: 100%;
        top: 0;
    }
    .header-text-back-pos img {
        height: 350px;
        position: absolute;
        top: -70px;
    }
    .header-text-pos .vcenter {
        vertical-align: top;
        padding-top: 20px;
    }
    .bottom-img {
        height: auto;
    }
    .page-1 .container.w .pad15 {
        padding-top: 10px;
    }

    .popup {
        overflow: scroll;
    }
    .popup-inner {
        width: 310px;
        transform: translateX(-50%);
        top: 30px;
    }
    .popup-content {
        font-size: 16px;
    }
    .mainservices {
        flex-wrap: wrap;
    }
    .mainservices-item {
        width: 40%;
    }
    .mainservices-item:nth-last-child(n+3) {
        margin-bottom: 30px;
    }
    .pi-step-title {
        font-size: 17px;
    }
    .no-scroll {
        height: 100vh;
        overflow-y: hidden;
    }
    .container.w > .pad15 {
        padding: 0;
    }
    .container.w > .pad15 ul,
    .container.w > .pad15 ol {
        padding-left: 0;
        list-style-position: inside;
    }
    .breadcrumbs {
        padding: 0 !important;
    }
    .breadcrumb {
        padding: 8px 0;
    }
    /* todo: поменять на section-title на всех страницах */
    p[style="text-align: center;"] > span[style="font-size: 2em;"],
    .section-title {
        font-size: 26px !important;
        line-height: 1.2;
    }
    .carousel {
        margin-bottom: 20px;
    }
    .prod-place img {
        max-width: 100px;
        max-height: 150px;
    }
    .prodlist {
        padding-left: 10px;
    }
    .news__list {
        grid-template-columns: 1fr;
    }
    .news__filter {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .news__filter__item {
        width: 100%;
    }
    .news__filter__item:not(:last-child) {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .news__filter__bc {
        flex-wrap: wrap;
    }
    .news__filter__bc-item {
        margin-bottom: 5px;
    }
    .news__img {
        height: 160px;
    }
    .news__neighbors .neighbors {
        column-gap: 0;
    }
    .subscribe__title {
        font-size: 20px;
    }
    .subscribe form {
        margin: 15px 0;
    }
    .subscribe__input,
    .subscribe__btn {
        width: 100%;
        height: 40px;
    }
    .subscribe__input {
        margin-bottom: 10px;
    }
    .dev-ch-1 > a {
        width: 100%;
        margin-top: 15px;
        text-align: center;
    }
}

@media (max-width: 414px) {
    .header {
        font-size: 22px;
    }
    .inverce.top {
        font-size: 13px;
    }
    .justifyfull, .pad15 p, .pad15 h2 {
        padding-left: 0 !important;
    }
    .mainservices-item {
        width: 45%;
    }
    .pad2-5 {
        padding: 20px;
    }
}

@media only screen and (min-width:576px) {
    .pi-step + .popup > .popup-inner {
        width: 550px;
    }
}
