@charset "UTF-8";

@media (max-width: 640px) {
  .main {
    max-width: 92vw;
  }
  .hd_top_rg_box {
    position: static;
    opacity: 1;
    padding: 0;
    margin: 0;
}
  html,
  body {
    font-size: 3.5vw;
  }

  .hd {
    max-width: calc(100% - 1.5rem);
    top: 0.75rem;
  }

  .hd_top {
    align-items: flex-start;
  }

  .hd_top_lf {
    width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 0.4rem;
  }

  .hd_menu,
  .hd_top_rg {
    display: none;
  }

  .bt_menu {
    display: block;
    flex-shrink: 0;
    border: 1px solid #c4261f;
    margin-right: 0rem;
    border-radius: 29.41176vw;
    padding: 0 0.7rem;
  }

  .menu_box {
    position: absolute;
    top: calc(100% + 0.75rem);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 0.75rem 1.875rem rgba(0, 0, 0, 0.12);
    z-index: 120;
    max-height: calc(100vh - 6.5rem);
    overflow: auto;
  }

  body.menu_open {
    overflow: hidden;
  }

  body.menu_open .menu_box {
    display: block;
  }

  .menu_box nav > ul {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }

  .menu_box nav > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    font-size: 1rem;
  }

  .menu_box .child {
    position: static;
    top: auto;
    left: auto;
    min-width: 0;
    margin-top: 0.625rem;
    padding: 0 0 0 0.625rem;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    display: none;
  }

  .menu_box .child::before {
    display: none;
  }

  .menu_box nav > ul > li.is-open > .child {
    display: block;
  }

  .menu_box .child ul {
    gap: 0.5rem;
  }

  .menu_box .child a {
    white-space: normal;
    font-size: 0.875rem;
  }

  .menu_box nav > ul > li.is-open > a .arrow {
    transform: rotate(45deg);
  }

  .menu_box_contacts {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(196, 32, 32, 0.2);
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }

  .menu_box_contacts a {
    color: #000;
    font-size: 0.875rem;
  }

  .b1 {
    margin: 0.32rem;
    border-radius: 2rem;
  }

  .hd_logo {
    width: auto;
    height: 3rem;
    max-width: calc(100% - 4rem);
    gap: 0.5rem;
    align-items: center;
  }

  a.hd_logo img {
    width: auto;
    min-height: 95%;
    margin: 0 0 0.25rem;
  }

  .hd_logo_text {
    display: block;
    color: #000;
    font-size: 0.75rem;
    line-height: 1.1;
    max-width: 10rem;
  }

  .main {
    max-width: 90vw;
  }

  html,
  body {
    font-size: 3.5vw;
  }

  .hd {
    max-width: calc(100% - 1.5rem);
    top: 0.75rem;
  }

  .hd_top {
    align-items: flex-start;
  }

  .hd_top_lf {
    width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 0.4rem;
  }

  .hd_menu,
  .hd_top_rg {
    display: none;
  }

  .bt_menu {
    display: block;
    flex-shrink: 0;
    border: 1px solid #c4261f;
    margin-right: 0rem;
    border-radius: 29.41176vw;
    padding: 0 0.7rem;
  }

  .menu_box {
    position: absolute;
    top: calc(100% + 0.75rem);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 0.75rem 1.875rem rgba(0, 0, 0, 0.12);
    z-index: 120;
    max-height: calc(100vh - 6.5rem);
    overflow: auto;
  }

  body.menu_open {
    overflow: hidden;
  }

  body.menu_open .menu_box {
    display: block;
  }

  .menu_box nav > ul {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }

  .menu_box nav > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    font-size: 1rem;
    color: #000;
  }

  .menu_box .child {
    position: static;
    top: auto;
    left: auto;
    min-width: 0;
    margin-top: 0.625rem;
    padding: 0 0 0 0.625rem;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    display: none;
  }

  .menu_box .child::before {
    display: none;
  }

  .menu_box nav > ul > li.is-open > .child {
    display: block;
  }

  .menu_box .child ul {
    gap: 0.5rem;
  }

  .menu_box .child a {
    white-space: normal;
    font-size: 0.875rem;
  }

  .menu_box nav > ul > li.is-open > a .arrow {
    transform: rotate(45deg);
  }

  .menu_box_contacts {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(196, 32, 32, 0.2);
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }

  .menu_box_contacts a {
    color: #000;
    font-size: 0.875rem;
  }

  .b1 {
    margin: 0.32rem;
    border-radius: 2rem;
    height: 31rem;
    padding: 11rem 0 1px;
  }

  .hd_logo {
    width: auto;
    height: 3rem;
    max-width: 1000rem;
    gap: 0.5rem;
    align-items: center;
  }

  a.hd_logo img {
    width: auto;
    min-height: 95%;
    margin: 0 0 0.25rem;
  }

  .hd_logo_text {
    display: block;
    color: #000;
    font-size: 1rem;
    line-height: 1.1;
    /* max-width: 10rem; */
    color: #C42020;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    width: 100%;
    white-space: nowrap;
  }

  .b1_main {
    margin: 21rem 0.5rem 1rem;
    gap: 1rem;
  }

  .home_h1 {
    font-size: 1.7rem;
    margin: 0 0 0.7rem;
  }

  .b1_t1 {
    font-size: 1rem;
  }

  .b1_main_lf {
    padding: 1.5rem 1rem 1rem;
    max-width: 100%;
  }

  .b1_main_rg {
    /* display: none; */
  }

  .social {
    flex-direction: column;
    gap: 0rem;
  }

  h2 {
    font-size: 1.6rem;
  }

  p {
    font-size: 0.9rem;
  }

  .b2 {
    padding: 4rem 0;
  }

  .b2_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .b2_rg_card {
    width: 12rem;
    padding: 1.5rem;
  }

  .b2_img img {
    height: 14rem;
  }

  .b2_rg_card p {
    font-size: 1rem;
  }

  .b3 {
    margin: 3.5rem 0;
  }

  .b3_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .ft_menu ul {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    display: contents;
  }

  .ft_top {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .ft_top {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .ft_top_rg {
    flex-direction: column;
    gap: 2rem;
  }

  .ft {
    overflow: hidden;
  }

  .b3_rg {
    gap: 0.5rem;
  }

  .b3_t2 {
    font-size: 0.9rem;
  }

  .b3_t1 {
    font-size: 4rem;
  }

  .b4_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .b4_content .arrows_slide {
    right: 1rem;
    left: auto;
    margin: -5.5rem 0 2rem;
    top: 0;
    z-index: 40;
    position: relative;
    z-index: 100;
  }

  .b4 {
    padding: 3rem 0 3rem;
  }

  .b5_box {
    padding: 3rem 5vw 4rem;
    width: 100%;
  }

  .b5_glass {
    background: linear-gradient(62deg, rgba(0, 0, 0, 0.3) 0.85%, rgba(0, 0, 0, 0) 91.91%), rgba(0, 0, 0, 0.4);
    border-radius: 0;
  }

  .b6_top br {
    display: none;
  }

  .b6_it:nth-child(1) {
    width: 100%;
  }

  .b6_it {
    height: auto;
  }

  .b6_it_main {
    gap: 1rem;
  }

  .b6_it {
    width: calc(50% - 0.225rem);
    padding: 1rem;
    border-radius: 0.76rem;
  }

  .b6_box {
    gap: 0.3rem;
  }

  .b6_it_text {
    font-size: 0.7rem;
  }

  .b6_it_text br {
    display: none;
  }

  .b6 {
    margin: 3.5rem 0;
  }

  .b8 {
    padding: 3.5rem 0;
  }

  .b8_box {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
  }

  .b8_item {
    padding: 1.1rem;
  }

  .b8_t2 {
    font-size: 0.7rem;
  }

  .b8_t2 br {
    display: none;
  }

  .b9 {
    margin: 2rem 0 3rem;
  }

  .b9_box {
    width: 86%;
  }

  .b10 {
    padding: 3rem 0;
  }

  .b10_box {
    display: flex;
    flex-wrap: wrap;
  }

  .b10_rg {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin: 0 auto;
    width: 100%;
  }

  .b10_lf {
    width: 100%;
    DISPLAY: CONTENTS;
  }

  .b10_lf_top {
    margin: 0 0 3rem;
    text-align: center;
    margin: 0 auto 3rem;
  }

  .b10_box .btn {
    ORDER: 3;
    margin: 2rem auto 0;
    height: 3rem;
    width: 14REM;
    border-radius: 29.41176vw;
    max-width: 100rem;
    text-align: center;
    justify-content: center;
  }

  .b10_lf_top p br {
    display: none;
  }

  .b10_lf_top p {
    width: 78%;
    margin: 0 auto;
  }

  .b11 {
    margin: 4rem 0;
  }

  .ft_top_lf {
    order: 2;
  }

  .ft_top_rg_2 {
    gap: 2rem;
  }

  .ft_menu nav {
    flex-direction: initial;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    align-items: center;
  }

  .ft_menu ul li {
    padding: 0;
    max-width: 16rem;
  }

  .ft_bottom {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }

  body {
    padding: 6rem 0 0;
  }

  .breadcrumbs {
    margin: 0 0 1rem;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  .breadcrumbs * {
    font-size: 0.7rem;
  }

  .h1_title {
    font-size: 1.7rem;
  }

  .h1_text {
    font-size: 1rem;
  }

  .job_list {
    margin: 3rem 0 0;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
  }

  .job_item {
    min-height: 10rem;
    padding: 1rem;
    border-radius: 1rem;
  }

  .main-ui-pagination-page {
    padding: 0 1rem;
    font-size: 0.6rem;
    height: 2rem;
  }

  .job {
    padding: 0 0 4rem;
  }

  .main-ui-pagination-pages-list {
    gap: 0.4rem;
  }

  .main-ui-pagination {
    margin: 2rem 0 0;
  }

  .box_info_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .job_item_t1 {
    font-size: 0.9rem;
  }

  .job_item_t2 {
    font-size: 0.85rem;
  }

  .box_info {
    padding: 3rem 0;
  }

  .box_info_rg p {
    font-size: 1rem;
  }

  .uslov_box {
    margin: 2rem 0 0;
    gap: 0.9375rem;
  }

  .uslov {
    padding: 4rem 0;
  }

  .uslov_col {
    max-width: 100%;
  }

  .uslov_img {
    order: 3;
    height: 23rem;
  }

  .procc {
    padding: 3rem 0;
  }

  p.procc_lf_t1 {
    max-width: 100%;
    margin: 1rem 0 2rem;
  }

  .procc_lf_bottom {
    gap: 0.5rem;
    margin: 0 0 2rem;
  }

  .procc_rg_item p {
    font-size: 1rem;
  }

  .procc_rg_item::before {
    font-size: 3rem;
  }

  .procc_rg_item p br {
    display: none;
  }

  .b10_box .btn {
    margin: 0;
    width: auto;
    /* padding: 0 0; */
  }

  form.b10_box.resume_form .b10_lf_top {
    margin: 0 auto 1rem;
  }

  .b9_top_rg {
    gap: 0.5rem;
  }

  .b9_top_rg .btn {
    padding: 0 1rem;
  }

  .arrows_slide {
    gap: 0.4rem;
  }

  .arrows_slide button {
    width: 2.6rem;
  }

  .b7 .b9_top_rg {
    max-width: 10rem;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .b4_content {
    max-width: 93vw;
  }

  .job_info_it p {
    font-size: 1rem;
  }

  .job_info {
    gap: 1.5rem;
  }

  .news_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .news_gallery_main .splide__slide img {
    height: 14rem;
  }

  .b9_top {
    gap: 1rem 0rem;
  }

  .news_gallery_bottom {
    flex-direction: column;
    align-items: flex-end;
  }

  .news_gallery_thumbs {
    width: 100%;
  }

  .news_gallery_thumb img {
    height: 5.5rem;
  }

  .news_gallery_thumbs {
    display: none !important;
  }

  .prj_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin: 8.82353vw 0 0;
  }

  .main_min {
    max-width: 92vw;
  }

  .policy_page .text_policy {
    margin: 1.5rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
  }

  .policy_page .text_policy h2 {
    font-size: 1.0625rem;
    margin: 1.75rem 0 0.875rem;
  }

  .text_policy_contacts {
    padding: 1rem 1.125rem;
    border-radius: 1rem;
  }

  .karta_sections {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .karta_box {
    margin-top: 1.5rem;
  }

  .prj_text {
    padding: 2rem 0;
  }

  .prj_info_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .prj_text + .b7 {
    padding-top: 3rem;
  }

  .prj_text + .b7 .btn {
    display: none;
  }

  .srv_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin: 8.82353vw 0 0;
    gap: 2rem;
  }

  .srv_list .b9_text {
    min-height: 0;
  }

  .srv_slide .btn {
    display: none;
  }

  .srv_slide .arrows_slide {
    display: flex;
  }

  .servic_page .b1_bg {
    position: relative;
    height: 17rem;
  }

  .servic_page .b5_glass {
    display: none;
  }

  .servic_page .b5_box.srvs_box {
    background: linear-gradient(178deg, #D43535 1.49%, #C30F0F 98.29%);
    background: #F3F3F3;
  }

  .servic_page .b5_box.srvs_box p {
    color: #000;
  }

  .servic_page .b5_box.srvs_box h2 {
    color: #C42020;
  }

  .hleb {
    overflow: scroll;
    padding: 0 4vw;
    margin: 0 -4vw;
    /* Скрыть полосу прокрутки для всех браузеров */
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE и Edge */
  }

  .hleb::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari и Opera */
  }

  .breadcrumbs li:last-child {
    padding-right: 2rem;
  }

  .servic_page {
    padding-bottom: 2rem;
  }

  .servic_page .b1_bg {
    position: relative;
    height: 17rem;
  }

  .servic_page .b5_glass {
    display: none;
  }

  .servic_page .b5_box.srvs_box {
    background: linear-gradient(178deg, #D43535 1.49%, #C30F0F 98.29%);
    background: #F3F3F3;
  }

  .servic_page .b5_box.srvs_box p {
    color: #000;
  }

  .servic_page .b5_box.srvs_box h2 {
    color: #C42020;
  }

  .hleb {
    overflow: scroll;
    padding: 0 4vw;
    margin: 0 -4vw;
  }

  .breadcrumbs li:last-child {
    padding-right: 2rem;
  }

  .news_more .b5 {
    margin: 2rem 0 0;
  }

  section.b9.srv_slide h2 {
    width: 67vw;
  }

  .srv_more2 .job_text {
    margin: 4rem 0 !important;
  }

  .b11_slider_2 {
    max-width: 65vw;
  }

  .catalog_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin: 3rem 0 0;
  }

  .mini_form .b10_col {
    width: 100%;
  }

  .cat_toplist * {
    text-align: center;
    padding: 0 1rem;
    font-size: 0.65rem;
  }

  .cat_toplist {
    display: none;
  }

  .h1_text br {
    display: none;
  }

  .cat_more {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .cat_more .news_gallery_main .splide__slide img {
    height: 19rem;
  }

  .cat_more .h1_text {
    font-size: 1rem;
    margin: 1rem 0 2rem;
  }

  .table_box {
    padding: 2rem 1rem;
  }

  table tr {
    -ms-grid-columns: 60% 40%;
    grid-template-columns: 60% 40%;
  }

  .serf_list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .serf_it a img {
    height: 18rem;
  }

  section.about2 {
    padding: 3rem 0;
  }

  .about2_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .about2_t2 {
    font-size: 1rem;
  }

  .about3_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .about5 .h2_p br {
    display: none;
  }

  .about5 {
    padding: 3rem 0;
  }

  .about6_it {
    width: 88vw !important;
  }

  .about6_slider {
    min-width: 90vw;
  }

  .about6_it_text p {
    font-size: 0.8rem !important;
  }

  .about7_box {
    padding: 3rem 0;
  }

  .main {
    gap: 1rem;
  }

  .about7_box .main {
    gap: 1.5rem;
  }

  .about7_line {
    gap: 1.5rem;
  }

  .about8_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .about4_it_bottom_main {
    background-image: url("data:image/svg+xml,%3Csvg width='324' height='215' viewBox='0 0 324 215' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M63.2676 1C64.0374 -0.333333 65.9626 -0.333333 66.7324 1L81.4639 26.5156C84.5544 30.838 89.3783 33 95.5 33H279C297.748 33 307.123 33 313.694 37.7744C315.817 39.3164 317.684 41.1833 319.226 43.3057C324 49.8773 324 59.2516 324 78V170C324 188.748 324 198.123 319.226 204.694C317.684 206.817 315.817 208.684 313.694 210.226C307.123 215 297.748 215 279 215H45C26.2516 215 16.8773 215 10.3057 210.226C8.1833 208.684 6.3164 206.817 4.77441 204.694C3.50404e-05 198.123 0 188.748 0 170V78C0 59.2516 3.52765e-05 49.8773 4.77441 43.3057C6.3164 41.1833 8.1833 39.3164 10.3057 37.7744C16.0226 33.6209 23.8607 33.08 38.1465 33.0098L38 33C44.2601 33 46.1283 30.5093 49.5928 24.6836L63.2676 1Z' fill='url(%23paint0_linear_285_11312)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_285_11312' x1='145.757' y1='1.98298e-06' x2='150.654' y2='215.141' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23D43535'/%3E%3Cstop offset='1' stop-color='%23C30F0F'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A") !important;
    margin-left: 12rem;
  }

  .contact_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin: 2rem 0 0;
  }

  .contact_box .h2 {
    font-size: 1.2rem;
    margin: 0 0 1rem;
  }

  .cont_it {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0 0 2rem;
  }

  .cnt_it_info {
    display: flex;
    flex-direction: column;
  }

  .contact_box_col table tr {
    -ms-grid-columns: 7.5rem 1fr;
    grid-template-columns: 7.5rem 1fr;
  }

  .cont2 {
    padding: 3rem 0;
  }

  .cont2_box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cont2_rg {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    max-width: 92vw;
    gap: 4rem;
  }

  .cont2_maps {
    max-width: 90vw;
  }

  .cont2 + .b9 h2 {
    width: 50%;
  }

  .cont2 + .b9 {
    margin: 3rem 0;
  }

  section.prt {
    margin: 1rem 0 0;
  }

  .prt_cat_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .prt_cat_list img {
    height: 13rem;
    -o-object-fit: cover;
    object-fit: cover;
  }
 
  .cat_layout--filter {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin: 2rem 0 0;
  }

  .cat_layout--filter .catalog_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .cat_filter {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .cat_filter_head span {
    font-size: 1.125rem;
  }

  .cat_filter_actions {
    margin: 2rem 0 0;
  }
}

@media (max-width: 640px) {
  .box_info_rg .table_box .table_note,
  .table_note {
    font-size: 0.8rem;
  }
}
