@media only screen and (max-width: 1450px) {
    .container {
        padding: 0 48px;
    }
}
@media only screen and (max-width: 1300px) {
    .header_inner {
        gap: 12px;
    }

    header .flex-1 {
        display: none;
    }

    .logo img {
        max-width: 148px;
    }

    .header_inner {
        padding-left: 0;
        padding-right: 12px;
    }

    .header_list a {
        font-size: 15px;
        padding: 8px 10px;
    }

    .lang_switcher li a {
        font-size: 14px;
    }

    .header_contact {
        gap: 17px;
    }

    header.header {
        padding: 24px;
    }

    .heading .h1 {
        font-size: 45px;
    }

    .partnership_section .flex_half>div:nth-child(1) {
        flex: 0.7;
    }

    .benefit_reason {
        padding-top: 25px;
        padding-bottom: 25px;
        padding-left: 110px;
    }

    .benefit_reason img {
        top: 22px;
        left: 20px;
    }

    .section:not(.section:nth-child(2)) {
        padding: 70px 0;
    }
}

@media only screen and (max-width: 1200px) {
    header .header_inner .btn {
        /* display: none; */
    }

    .header_inner {
        padding-right: 30px;
    }

    .intro_flex.gap-xl {
        gap: 20px;
    }

    .intro_text .h1 {
        font-size: 49px;
    }

    .intro_text p {
        font-size: 17px;
    }

    .intro {
        padding-top: 190px;
        padding-bottom: 70px;
    }

    .section:not(.section:nth-child(2)) {
        padding: 50px 0;
    }

    h2,
    .h2 {
        font-size: 39px;
    }

    .services_list_img {
        height: 250px;
    }

    h4,
    .h4 {
        font-size: 27px;
    }

    p.md {
        font-size: 16px;
    }

    .review_card {
        padding: 26px;
    }

    .benefit_right>.benefit_card .benefit_card_img {
        display: none;
    }

    .benefit_right>.benefit_card {
        padding: 30px;
    }

    .benefit_card {
        padding: 30px;
        padding-bottom: 0;
    }

    .benefit_left .benefit_card_img {
        margin-top: 30px;
        margin-left: -30px;
        margin-right: -30px;
        width: calc(100% + 60px);
        border-radius: 24px;
        height: 240px;
        /* flex: none; */
    }

    .benefit_right .benefit_flex .benefit_card {
        padding: 27px;
    }

    h5,
    .h5 {
        font-size: 22px;
    }

    p {
        font-size: 15px;
    }

    .card {
        padding: 19px;
    }

    .reference_flex {
        gap: 30px;
    }

    .reference_flex .heading {
        width: 34%;
        padding-bottom: 40px;
    }

    .map_benefits {
        padding: 40px 30px;
    }

    .ebook_img {
        width: 400px;
    }

    .ebook_text {
        padding: 20px;
    }

    .footer {
        padding: 60px 0;
    }

    .footer_form {
        max-width: 330px;
    }

    .heading_intro {
        padding-top: 160px;
    }

    .heading.with_h1.spread .after_h2 {
        max-width: 460px;
        margin-top: 0;
    }

    .heading_intro .heading.with_h1:last-child {
        margin: 0;
    }

    .benefits_inline_flex_list {
        margin-top: 60px;
    }

    .install_items {
        padding: 0;
        gap: 30px;
    }

    .install_wrp {
        gap: 40px;
        margin-top: 60px;
    }

    .solution_benefit_card {
        padding: 42px;
    }

    .contact_section {
        padding-top: 120px;
    }

    .contact_info_part {
        padding: 40px;
    }

    .contact_form_part {
        padding: 40px;
    }

    .contact_card_person_img {
        width: 170px;
    }

    .compare_el {
        width: calc(100% - 140px);
    }

    .compare_swiper .carouse_controls {
        top: calc(50% - 60px);
    }

    .product_card_wrp {
        padding: 60px;
        border-radius: 40px;
    }

    .banner_full_wrp {
        border-radius: 0;
    }

    .reference_image img {
        transform: scale(1.5);
    }

    .flex_half.lg {
        gap: 40px;
    }

    .heading_intro.with_banner .banner_full_wrp {
        margin-left: -20px;
        margin-right: -20px;
    }

    .heading_intro.with_banner {
        overflow: hidden;
        padding-top: 117px;
    }

    .usage_examples_wrp {
        margin-top: 50px;
        gap: 26px;
    }

    .usage_card {
        width: calc(33.3333% - 20px);
        padding: 19px;
        border-radius: 20px;
    }

    .usage_card .usage_img {
        height: 190px;
    }
    .footer_flex {
        flex-wrap: wrap;
    }

    .footer_form {
        max-width: 100%;
    }
}

@media only screen and (max-width: 992px) {
    header.header {
        padding: 0;
    }

    .header_inner {
        border-radius: 0;
        padding: 6px 8px;
        gap: 3px;
    }

    .header_list a {
        padding: 0 8px;
        background: none;
        font-size: 13.5px;
    }

    .logo {
        overflow: hidden;
        width: 118px;
    }

    .intro {
        padding-top: 130px;
        min-height: 1px;
        padding-bottom: 90px;
    }

    .intro_flex {
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
    }

    .intro_text {
        max-width: 690px;
        padding: 0;
        width: 100%;
    }

    .intro_video {
        margin-top: -110px;
    }

    .label_wrp span {
        padding: 13px 21px;
        font-size: 13px;
    }

    h2,
    .h2 {
        font-size: 35px;
    }

    .services_list {
        margin-top: 60px;
    }

    .gap-lg {
        gap: 24px;
    }

    .services_list .services_list_item {
        width: calc(50% - 12px);
    }

    .benefits_flex {
        margin-top: 60px;
    }

    .benefit_right .benefit_flex {
        flex-direction: column;
        gap: 24px;
    }

    .benefit_right>.benefit_card {
        margin-bottom: 24px;
    }

    .benefit_card {
        border-radius: 20px;
    }

    .card {
        border-radius: 20px;
    }

    .card .h5 {
        padding: 0;
    }

    .card>p {
        padding: 0;
    }

    .card_img {
        height: 170px;
        margin-bottom: 20px;
    }

    .reference_flex {
        flex-direction: column;
    }

    .reference_flex .heading {
        width: 100%;
        text-align: center;
    }

    .heading .btn {
        margin-top: 30px;
    }

    .fill_full {
        width: calc(100% + 20px) !important;
    }

    .reference_photos {
        width: 100dvw;
        padding: 0 20px;
    }

    .controls_custom {
        margin-top: 30px;
    }

    .padding_full {
        padding-right: 20px !important;
    }

    .rounded-md {
        border-radius: 23px;
    }

    .map_benefits {
        padding: 30px 20px;
    }

    .map_benefits p {
        font-size: 13px;
    }

    .map_content_item {
        right: 20px;
    }

    .ebook_img {
        display: none;
    }

    .case_studies_list {
        flex-direction: column;
    }

    .case_study {
        width: 100%;
    }

    .case_study_text .h6 {
        font-size: 23px;
    }

    .footer .ebook_form_flex {
        max-width: 100%;
    }

    .logo img {
        max-width: 132px;
    }

    .subnav_item {
        top: 0;
        border-radius: 0;
    }

    .subnav_inner {
        border-radius: 0;
        padding: 24px;
        flex-direction: column;
    }

    .subnav_desc {
        width: 100%;
    }

    .subnav_items_list>.product_item .product_item_img {
        height: 130px;
    }

    .heading.spread {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .heading_intro {
        padding-top: 110px;
    }

    .heading.spread .after_h2 {
        max-width: 100% !important;
        width: 100%;
    }

    .contact_card_person.lg {
        border-radius: 20px;
        padding: 20px;
    }

    .contact_card_person.lg .contact_card_person_img {
        border-radius: 18px;
        height: 310px;
    }

    .timeline_items {
        padding-left: 40px;
    }

    .timeline_item::before {
        left: -43px;
    }

    .heading_intro.with_banner {
        padding-top: 53px;
    }

    .heading_intro.with_banner .banner_full_wrp {
        padding-top: 80px;
        padding-bottom: 80px;
        margin-bottom: 70px;
    }

    .heading_intro.with_banner .heading {
        margin-bottom: 0 !important;
    }

    .install_img {
        position: sticky;
        top: 80px;
    }

    .product_preview_img {
        position: sticky;
        top: 70px;
    }

    .solution_benefit_card {
        padding: 21px;
        border-radius: 20px;
    }

    .benefits_buttons {
        gap: 12px;
    }

    .faq_header {
        font-size: 17px;
        padding-top: 14px;
    }

    .faq_item {
        padding-bottom: 14px;
    }

    .blog_detail_top {
        padding-top: 90px;
        padding-bottom: 50px;
    }

    .blog_detail_top .flex_half {
        gap: 40px;
    }

    .blog_detail_img {
        border-radius: 20px;
    }

    .blog_detail_img img {
        border-radius: inherit;
    }

    .contact_persons .flex_half {
        flex-direction: column;
    }

    .blog_list_section {
        padding-top: 90px;
    }

    .blog_list_wrp {
        gap: 30px;
        flex-direction: column;
    }

    .blog_list_sidebar {
        width: 100%;
    }

    .contact_section {
        padding-top: 78px;
    }

    .contact_wrp_all {
        border-radius: 20px;
        flex-direction: column;
        margin-left: -24px;
        margin-right: -24px;
        background-color: transparent;
    }

    .contact_info_part.flex-col {
        width: 100%;
    }

    .contact_info_text ul {
        flex-wrap: wrap;
        flex-direction: row;
    }

    .contact_form_part .input_el.full {
        width: calc(50% - 11px);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .heading.with_h1.spread>div {
        max-width: 100%;
    }

    .page_heading {
        padding-top: 120px;
        padding-bottom: 50px;
    }

    .review_card_preview {
        padding-left: 80px;
    }

    .review_card_preview img {
        max-width: 79px;
    }

    .card_simple {
        padding: 30px;
    }

    .partner_cards {
        flex-direction: column;
    }

    .product_card_wrp {
        padding: 0;
        border-radius: 0;
        background-color: transparent;
    }

    .product_card_wrp .card_simple {
        background-color: #F4F5F3;
    }

    .reference_image {
        height: 170px;
    }

    .product_preview .flex_half.lg {
        align-items: inherit;
    }

    .benefit_card_text {
        padding: 30px;
    }

    .benefit_card_in {
        border-radius: 20px;
    }

    .benefit_card_img {
        border-radius: 20px;
    }

    .benefit_reason {
        padding: 24px;
        padding-left: 70px;
    }

    .benefit_reason img {
        width: 40px;
        top: 24px;
    }

    .reference_gallery::after,
    .reference_gallery::before,
    .gallery_full_swiper::before,
    .gallery_full_swiper::after {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .mobile_menu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 60px;
        padding: 0 24px;
        background-color: #fff;
        box-shadow: 0px 4px 14px rgba(134, 150, 136, 0.15);
        transition: .3s;
    }

    .mobile_menu>a {
        display: flex;
        align-items: center;
    }

    .header_inner {
        position: absolute;
        left: 0;
        top: 70px;
        width: 100%;
        backdrop-filter: blur(0px);
        background-color: #F6F7F5;
        display: flex;
        flex-direction: column;
        padding: 32px 24px;
        max-height: calc(100dvh - 70px);
        overflow: auto;
        pointer-events: none;
        opacity: 0;
    }

    .header_inner .logo {
        display: none;
    }

    .header_list {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .header_list a {
        font-size: 18px;
        padding: 20px 0;
        text-align: left;
        display: flex;
        justify-content: flex-start;
    }

    .header_list li {
        width: 100%;
        text-align: left;
        border-bottom: 1px solid #C8D1C5;
    }

    .header_contact .btn {
        display: inline-flex !important;
        align-self: flex-end;
    }

    .header_contact {
        /* flex-direction: column; */
        align-items: inherit;
        width: 100%;
        margin-top: 22px;
        gap: 35px;
        justify-content: space-between;
        padding-left: 16px;
    }

    .lang_switcher a {
        font-size: 20px !important;
    }

    .menu_opened .header_inner {
        opacity: 1;
        pointer-events: all;
    }

    .container {
        padding: 0px 24px;
    }

    .intro {
        padding-top: 110px;
    }

    .intro_text .h1 {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .intro_text p {
        font-size: 19px;
        margin-bottom: 50px;
    }

    .intro_flex .btn.primary {
        padding: 12px;
        font-size: 17px;
        padding-left: 23px;
    }

    .intro_flex .btn.primary span {
        font-size: 16px;
        width: 34px;
        height: 34px;
    }

    .intro_video {
        width: 100%;
        max-width: 312px;
        margin: 0;
        height: 168px;
        align-self: self-start;
        margin-top: 20px;
    }

    .subnav_items {
        padding: 0;
    }

    .section:not(.section:nth-child(2)) {
        padding: 40px 0;
    }

    .logos .swiper {
        margin-top: 30px;
        width: calc(100% + 24px);
    }

    .label_wrp span {
        padding: 14px 24px;
        font-size: 14px;
    }

    h2,
    .h2 {
        font-size: 39px;
    }

    .services_list {
        margin-top: 50px;
    }

    .services_list {
        flex-direction: column;
        gap: 32px;
    }

    .services_list .services_list_item {
        width: 100%;
    }

    .services_list_img {
        height: 300px;
        border-radius: 24px;
        margin-bottom: 24px;
    }

    h4,
    .h4 {
        font-size: 31px;
    }

    .reviews_swiper {
        margin-top: 45px;
    }

    .benefits_flex {
        flex-direction: column;
        margin-top: 35px;
    }

    .benefits_part {
        width: 100%;
    }

    .benefit_card {
        padding: 32px 30px;
        padding-bottom: 0;
        border-radius: 24px;
    }

    .benefit_right>.benefit_card .benefit_card_img {
        display: block;
        position: relative;
        margin-left: -30px;
        width: calc(100% + 60px);
        margin-top: 30px;
        height: 240px;
    }

    .benefit_right>.benefit_card {
        padding: 32px;
        padding-bottom: 0;
    }

    .benefit_right .benefit_flex .benefit_card {
        padding: 30px;
    }

    .benefit_card .h5 {
        font-size: 26px;
    }

    .benefits_inline_flex {
        flex-direction: column;
        gap: 50px;
    }

    .benefits_inline_flex_items {
        flex-direction: column;
        gap: 45px;
    }

    .benefits_inline_flex_items_item {
        width: 100%;
    }

    .benefits_inline_flex_items_item .h5 {
        font-size: 21px;
    }

    .benefits_inline_flex_items_item p {
        font-size: 17px;
    }

    .benefit_right>.benefit_card.no_img {
        padding: 30px;
    }

    .service_specification .cards_flex {
        margin-top: 60px;
        overflow: auto;
        white-space: nowrap;
        gap: 16px;
        width: calc(100% + 24px);
        flex-wrap: nowrap;
    }

    .service_specification .cards_flex .card {
        flex: none;
        max-width: inherit;
        width: calc(100dvw - 100px);
        max-width: 340px;
        white-space: normal;
        margin-bottom: 20px;
    }

    .service_specification .cards_flex .card:last-child {
        margin-right: 24px;
    }

    .service_specification {
        overflow: hidden;
    }

    .reference_section .fill_full {
        width: 100% !important;
    }

    .reference_flex .heading {
        padding-bottom: 20px;
    }

    .reference_section .controls_custom .carouse_controls {
        display: none;
    }

    .reference_section .controls_custom {
        justify-content: center;
    }

    .map_wrp {
        margin-top: 45px;
    }

    .map_benefits {
        flex-direction: column;
        padding: 55px 45px;
        gap: 30px;
    }

    .map_benefits div .h3 {
        font-size: 32px;
    }

    .map_benefits div h3 p {
        font-size: 18px;
    }

    .map_benefits div p {
        font-size: 18px;
    }

    .map_el {
        height: 340px;
        min-height: 1px;
    }

    .ebook_text {
        padding: 0;
    }

    .card {
        padding: 24px;
        border-radius: 40px;
        padding-bottom: 32px;
    }

    .ebook_section h2 {
        font-size: 30px;
    }

    .ebook_wrp {
        flex-direction: column;
    }

    .ebook_form_flex {
        max-width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .ebook_form_flex input {
        height: 50px;
        flex: none;
        width: 100%;
    }

    .banner_section {}

    .banner_wrp {
        border-radius: 30px;
        padding: 50px 31px;
    }

    .case_studies_list {
        flex-wrap: nowrap;
        margin-top: 47px;
        overflow: auto;
        white-space: nowrap;
        width: calc(100% + 24px);
        gap: 16px;
        flex-direction: row;
        padding-right: 16px;
    }

    .case_studies_list .case_study {
        flex-direction: column;
        max-width: 280px;
        white-space: normal;
        width: calc(100dvw - 60px);
        flex: none;
        gap: 0;
    }

    .case_study_img {
        width: 100%;
        height: 250px;
    }

    .case_study_text .h6 {
        font-size: 20px;
        margin-bottom: 11px;
    }

    .footer .ebook_form_flex {
        align-items: flex-end;
        gap: 16px;
    }

    .footer_nav {
        width: calc(50% - 12px);
    }

    .footer_flex {
        gap: 40px 20px;
    }

    .footer_contact {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .footer_contact ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 11px;
    }

    .footer_form {
        margin-bottom: 50px;
    }

    .fixed_elems .mobile_menu {
        height: 60px;
    }

    .open_nav {
        display: flex;
        align-items: center;
    }

    .header_inner {
        top: 60px;
        height: calc(100dvh - 60px);
        margin-top: 0;
        max-height: inherit;
    }

    .heading_intro {
        padding-top: 110px;
        padding-bottom: 45px;
    }

    .heading_intro .heading {
        text-align: left;
    }

    .heading .h1 {
        font-size: 40px;
    }

    .heading.with_h1.spread {
        gap: 27px;
    }

    .heading.spread .after_h2 {
        font-size: 16px;
    }

    .persons_lg_list {
        margin-top: 45px;
        max-width: inherit;
        width: calc(100% + 24px);
    }

    .persons_lg_list .flex_half {
        flex-direction: row;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow: auto;
        gap: 16px;
    }

    .persons_lg_list .flex_half>div {
        white-space: normal;
        flex: none;
        width: calc(100dvw - 90px);
        max-width: 340px;
        margin-bottom: 20px;
    }

    .persons_lg_list .flex_half>div:last-child {
        margin-right: 24px;
    }

    .contact_card_person.lg {
        padding: 16px;
        gap: 24px;
        width: 100%;
        white-space: normal;
        border-radius: 32px;
        box-shadow: none;
        margin-bottom: 10px;
        padding-bottom: 24px;
    }

    .contact_card_person_about .h5 {
        font-size: 23px;
    }

    .contact_card_person.lg p.lg {
        font-size: 18px;
    }

    .contact_card_person.lg p:nth-child(3) {
        font-size: 16px;
    }

    .timeline_wrp {
        flex-direction: column;
        gap: 40px;
    }

    .timeline_sidebar {
        width: 100%;
    }

    .timeline_item>p {
        margin-top: 10px;
    }

    .timeline_item .h5 {
        margin: 0;
    }

    .benefits_inline_flex_list {
        margin-top: 50px;
        flex-direction: column;
        text-align: left;
        gap: 44px;
    }

    .benefits_inline_flex_list .benefit_inline {
        width: 100%;
        text-align: left;
    }

    .map_zoom {
        flex-direction: column;
        right: inherit;
        top: 20px;
        left: 20px;
    }

    .map_zoom img {
        width: 37px;
    }

    .blog_list_section {
        padding-top: 110px;
        padding-bottom: 0;
    }

    .blog_list_wrp {
        margin-top: 30px;
        gap: 0;
    }

    .cat_list {
        margin-top: 15px;
        position: relative;
        flex-wrap: wrap;
        top: 0;
        flex-direction: row;
    }

    .cat_list li {
        width: auto;
    }

    .cat_list li a {
        font-size: 15px;
        gap: 8px;
        padding: 13px 16px;
        background-color: #F6F7F5;
        line-height: 1.2;
    }

    .blog_list_items {
        margin-left: -24px;
        margin-right: -24px;
        background-color: #EDF0EC;
        padding: 16px;
        margin-top: 20px;
        gap: 20px;
        padding-bottom: 60px;
    }

    .blog_list_items .blog_list_card {
        width: 100%;
        padding: 16px;
        box-shadow: 0px 8px 23.9px rgba(45, 54, 41, 0.06);
        border-radius: 48px;
        background-color: #fff;
        padding-bottom: 29px;
    }

    .blog_list_card_img {
        height: 240px;
    }

    .blog_list_card_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 32px;
    }

    .blog_list_card>span,
    .blog_list_card>p,
    .blog_list_card>.h4,
    .blog_list_card>.h5 {
        padding: 0 16px !important;
    }

    .blog_list_card .blog_list_cat {
        font-size: 14px;
        margin-bottom: 8px;
    }

    .blog_list_card h2 {
        font-size: 25px;
    }

    .blog_list_card p {
        margin-bottom: 20px;
    }

    .blog_detail_top .flex_half {
        flex-direction: column;
    }

    .blog_detail_top {
        padding-top: 110px;
    }

    .blog_detail_img {
        height: 440px;
    }

    .contact_section {
        padding-top: 102px;
        background-color: #fff;
    }

    .contact_info_part.flex-col {
        padding: 26px;
        gap: 32px;
        width: calc(100% - 64px);
        margin: 0 auto;
        border-radius: 20px;
        overflow: hidden;
    }

    .contact_info_part div p.lg {
        font-size: 12px;
    }

    .contact_info_text {
        padding: 34px 28px;
    }

    .contact_form_part .input_el.full {
        width: 100%;
    }

    .contact_form_part {
        background-color: #fff;
    }

    .contact_form_part .input_el:last-child {
        width: 100%;
        text-align: center;
        margin-top: 30px;
    }

    .contact_persons .flex_half {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow: auto;
        white-space: nowrap;
        width: calc(100% + 24px);
        gap: 16px;
    }

    .contact_card_person {
        flex-direction: column;
        white-space: nowrap;
        max-width: 320px;
        border-radius: 48px;
        width: calc(100dvw - 80px);
    }

    .contact_card_person_img {
        width: 100%;
        border-radius: 32px;
        height: 270px;
    }

    .contact_card_person_about .h5 {
        font-size: 21px;
    }

    .contact_card_person_about .lg {
        font-size: 17px;
        margin-bottom: 20px;
    }

    .reference_preview_section .flex_half {
        flex-direction: column;
    }

    .review_card_preview {
        padding: 0;
        text-align: center;
    }

    .review_card_preview img {
        position: relative;
        margin: 0;
        max-width: 160px;
        top: 0;
        transform: none;
    }

    .review_card_preview .h4 {
        font-size: 25px;
    }

    .review_card_preview p {}

    .review_card_preview p.lg {
        font-size: 18px;
    }

    .card_simple {
        padding: 24px;
    }


    .reference_preview_section .swiper {
        margin-top: 25px;
    }

    .reference_preview_section .controls_custom .carouse_controls {
        display: none;
    }

    .reference_preview_section .controls_custom {
        justify-content: center;
    }

    .heading_intro_img {
        height: 230px;
        margin-top: 30px;
        border-radius: 26px;
    }

    .benefits_inline .heading {
        text-align: left;
    }

    .compare_swiper {
        margin-top: 50px;
    }

    .compare_el {
        width: 100%;
        border-radius: 20px;
    }

    .compare_wrp {
        /* margin-left: -20px; */
        /* margin-right: -20px; */
    }

    .compare_swiper .carouse_controls {
        display: none;
    }

    .compare_el::after {
        padding: 10px 10px;
        top: 10px;
        right: 10px;
        font-size: 10px;
    }

    .compare_el::before {
        padding: 10px 10px;
        top: 10px;
        left: 10px;
        font-size: 10px;
    }

    .image-compare.icv {
        border-radius: 20px;
    }

    .compare_swiper .swiper-pagination {
        margin-top: 30px !important;
    }

    .step_item {
        flex-direction: column;
    }

    .steps_flow {
        padding-left: 30px;
        gap: 35px;
    }

    .steps_flow::before {
        width: 2px;
    }

    .step_item::before {
        left: -42px;
        width: 8px;
        height: 8px;
        top: 14px;
    }

    .step_item_text .h4 {
        font-size: 21px;
    }

    .step_item_text p {
        font-size: 14px;
    }

    .reminder_wrp {
        padding: 19px;
        flex-direction: column;
        gap: 40px;
        border-radius: 25px;
    }

    .banner_full_wrp {
        border-radius: 48px;
    }

    .heading_intro.with_banner {
        padding-top: 82px;
    }

    .heading_intro.with_banner .banner_full_wrp {
        margin-left: -16px;
        margin-right: -16px;
        text-align: center;
        min-height: 410px;
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    .heading_intro.with_banner .banner_full_wrp .heading {
        text-align: center;
    }

    .controls_custom .carouse_controls {
        display: none;
    }

    .controls_custom {
        justify-content: center;
    }

    .card_benefits_section .flex_half {
        flex-direction: column;
    }

    .card_benefits_wrp {
        margin-top: 70px;
    }

    .benefit_reason {
        padding: 24px 32px;
    }

    .benefit_reason img {
        position: relative;
        left: 0;
        width: 60px;
        top: 0;
    }

    .benefit_reasons {
        flex-direction: row;
        white-space: nowrap;
        overflow: auto;
        width: calc(100% + 24px);
        gap: 16px;
    }

    .benefit_reasons .benefit_reason {
        white-space: normal;
        flex: none;
        max-width: 280px;
        width: calc(100dvh - 280px);
        min-width: 1px;
    }

    .product_compare_items {
        flex-direction: row;
        white-space: nowrap;
        overflow: auto;
        width: calc(100% + 24px);
        gap: 16px;
        max-width: inherit;
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-top: 40px;
    }

    .product_compare_item {
        max-width: 280px;
        flex: none;
        white-space: normal;
        width: calc(100dvh - 280px);
        padding: 20px;
        text-align: left;
    }

    .product_compare_item>div {
        border-radius: 16px;
    }

    .product_compare_item .h5 {
        font-size: 21px;
    }

    .product_compare_item p {
        font-size: 13px;
    }

    .product_compare_btn {
        margin-top: 40px;
        text-align: left;
    }

    .product_compare_tables.show {
        margin-top: 40px;
        width: calc(100% + 24px);
        overflow: auto;
        white-space: nowrap;
    }

    .install_wrp {
        margin-top: 45px;
        flex-direction: column;
    }

    .install_img {
        position: relative;
        top: 0;
        display: flex;
        border-radius: 40px;
    }

    .install_items {
        gap: 34px;
    }

    .install_item {
        transition: .3s;
        padding-left: 20px;
    }

    .install_item .h3 {
        font-size: 21px;
    }

    .install_item p {
        font-size: 14px;
    }

    .solution_benefits_items {
        margin-top: 40px;
        flex-direction: column;
    }

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

    .solution_benefits_item:nth-child(2) {
        width: 100%;
        order: -1;
    }

    .benefits_buttons {
        flex-wrap: wrap;
    }

    .flex_5-7 {
        flex-direction: column;
    }

    .flex_5-7>div:nth-child(odd) {
        width: 100%;
    }

    .flex_5-7>div:nth-child(even) {
        width: 100%;
    }

    .solution_benefit_card {
        padding: 30px;
    }

    .solution_benefit_card .h4 {
        font-size: 25px;
    }

    .usage_examples_wrp {
        margin-top: 45px;
        flex-direction: column;
    }

    .usage_card {
        width: 100%;
        border-radius: 40px;
        padding-bottom: 30px;
    }

    .tech_params_list>div {
        width: 100%;
    }

    .fill_full {
        width: 100% !important;
    }

    .padding_full {
        padding: 0 !important;
    }

    .product_preview_section .flex_half {
        flex-direction: column;
        gap: 23px;
    }

    .product_preview_section .flex_half>div:nth-child(2) {
        order: -2;
    }

    .partnership_section .flex_half {
        flex-direction: column;
    }

    .banner_full .container {
        padding: 0 24px;
    }

    .product_card_section .flex_half {
        flex-direction: column;
    }

    .banner_full .banner_full_wrp {
        padding: 60px 30px;
    }

    .product_preview .flex_half {
        flex-direction: column;
    }

    .reference_images {
        width: 100%;
        margin-top: 30px;
        flex-direction: column;
    }

    .reference_image:nth-child(1) {
        transform: rotate(7deg);
        transform-origin: bottom left;
    }

    .reference_image:nth-child(2) {
        transform: rotate(-1deg);
        margin-top: -10px;
    }

    .reference_image:nth-child(3) {
        margin-top: -30px;
        transform-origin: center;
    }

    .options_tabs {
        display: none;
    }

    .options_inner {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .tab {
        display: block;
    }

    .options_desc {
        flex-direction: column;
    }

    .options_desc_text {
        padding: 25px;
    }

    .options_legend {
        width: 100%;
        padding: 30px 17px;
        padding-top: 0;
        gap: 18px;
    }

    .options_images {
        flex-direction: column;
    }

    .option_card h4.h4 {
        font-size: 21px;
    }

    .option_card p {
        font-size: 13px;
        padding-top: 10px;
        padding-bottom: 12px;
    }

    .compare_cards_flex {
        margin-top: 50px;
        flex-direction: column;
    }

    .compare_card_body {
        padding: 30px;
    }

    .header_list li[data-label] {
        position: relative;
    }

    .header_list li[data-label]::after {
        content: attr(data-label);
        font-size: 13px;
        color: #515A4D;
        font-weight: 500;
        text-transform: uppercase;
        margin-top: -17px;
        display: block;
        padding-bottom: 13px;
        letter-spacing: 0.03em;
    }

    .header_list li[data-subnav] {
        position: relative;
    }

    .header_list li[data-subnav]::before {
        content: '';
        display: block;
        position: absolute;
        background-image: url(../img/menu_arrow.svg);
        width: 11px;
        height: 20px;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .subnav_inner {
        flex-direction: column;
        background-color: #f6f7f5;
    }

    .subnav_desc {
        width: 100%;
    }

    .subnav_items_list {
        flex-direction: column;
        gap: 8px;
    }

    .subnav_items_list>.product_item {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 0;
        background: #FFFFFF;
        border: 1px solid #FFFFFF;
        box-shadow: 0px 8px 23.9px rgba(45, 54, 41, 0.04);
        border-radius: 16px;
    }

    .subnav_items_list>.product_item .product_item_img {
        width: 120px;
        height: 120px;
        margin: 0;
        flex: none;
    }
    
    .product_item .btn {
        flex: auto;
        gap: 5px 14px;
        align-items: flex-start;
    }

    .product_item .btn span {
        position: relative;
        top: 3px;
    }

    .compare_swiper .carouse_controls {
        display: flex;
        top: inherit;
        bottom: revert-layer;
        gap: 8px;
        position: relative;
        margin: 0;
        transform: none;
        justify-content: center;
        margin-top: 16px;
    }

    .compare_swiper .swiper-pagination {
        margin-top: 60px !important;
        top: -22px !important;
        width: calc(100% - 120px) !important;
        justify-content: center;
    }

    .compare_section .swiper-pagination {
        display: none;
    }

    .comapre_text {
        font-size: 16px;
    }

    .intro_text.no_video {
        margin-bottom: 32px;
    }

    .benefits_inline .container {
        padding: 0 32px;
    }

    .card .card_img {
        border-radius: 16px;
    }

    .map_content .map_content_item>img {
        display: none;
    }

    .map_content .map_content_item {
        width: 220px;
        top: 30px !important;
    }

    .map_content .map_content_item h6 {
        font-size: 15px;
        margin-bottom: 13px;
    }

    .case_study_text {
        padding-right: 10px;
    }

    .subnav_item {
        height: calc(100dvh - 60px);
        max-height: calc(100dvh - 60px);
        display: flex;
        flex-direction: column;
    }

    .subnav_inner {
        height: auto;
        flex: 1;
    }

    .menu_opened {
        overflow: hidden;
    }

    .contact_card_person.lg .contact_card_person_img {
        border-radius: 18px;
    }

    .faq_header {
        gap: 12px;
        align-items: flex-start;
    }

    .contact_card_person_about {
        padding-left: 16px;
        padding-right: 16px;
    }

    .contact_card_person {
        gap: 16px;
    }

    .contact_persons .flex_half>div {
        margin-bottom: 20px;
    }

    .contact_persons .flex_half {
        margin-bottom: -20px;
    }

    .contact_persons .flex_half>div:last-child {
        margin-right: 16px;
    }

    .contact_card_person_about ul li {
        letter-spacing: 0.03em;
    }

    .steps_wrp_inner .heading {
        margin-bottom: 40px;
    }

    .benefit_reasons>div {
        margin-bottom: 20px;
    }

    .benefit_reasons {
        margin-bottom: -20px;
    }

    .benefit_reasons>div:last-child {
        margin-right: 16px;
    }

    .product_compare_items {
        margin-bottom: -20px;
    }

    .product_compare_items>div {
        margin-bottom: 20px;
        border-radius: 32px;
        padding-bottom: 30px;
    }

    .product_compare_items>div:last-child {
        margin-right: 16px;
    }

    .product_compare_item .h5,
    .product_compare_item .sm {
        padding: 0 8px;
    }

    .card:hover {
        top: 0;
    }

    .mobile_back {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 15px;
    }

    .mobile_back span {
        font-size: 19px;
    }

    .blog_detail_section h2 {
        font-size: var(--font-size-h3-mobile);
    }

    .blog_detail_section h3 {
        font-size: var(--font-size-h4-mobile);
    }

    .blog_detail_section h4 {
        font-size: var(--font-size-h5-mobile);
    }

    .blog_detail_section h5 {
        font-size: var(--font-size-h6-mobile);
    }

    .reference_image img {
        transform: none;
    }

    .reference_image img {
        width: 100%;
        height: auto;
        object-fit: inherit;
        object-position: center;
        transform: none;
        border-radius: 60px;
    }

    .reference_image {
        height: auto;
        min-height: auto;
        position: relative;
        border-radius: 0;
        overflow: auto;
    }

    .reference_images_section {
        overflow: hidden;
    }
    .footer_email {
        font-size: 20px;
        margin-top: 0;
        margin-bottom: 14px;
    }
}

@media only screen and (max-width: 450px) {
    .intro_text .h1 {
        font-size: 40px;
    }

    .intro_text p {
        font-size: 19px;
    }

    h2.h2 {
        font-size: 31px;
    }

    .services_list_img {
        height: 210px;
    }

    h4,
    .h4 {
        font-size: 24px;
    }

    p.md {
        font-size: 14px;
    }

    h2,
    .h2 {
        font-size: 33px;
    }

    .map_benefits {
        padding: 30px;
    }

    .map_content_item {
        width: 220px;
        padding: 17px;
    }

    .banner_wrp {
        padding: 30px;
    }

    .banner_wrp p {
        font-size: 16px;
    }

    .contact_info_part.flex-col {
        width: calc(100% - 30px);
    }

    .contact_info_text {
        padding: 19px;
        margin-left: -10px;
        margin-right: -10px;
        margin-bottom: -10px;
    }

    .contact_section {
        padding-bottom: 30px;
    }

    .step_item_img {
        width: 100%;
        height: 190px;
    }
}