@media (max-width: 1460px) {

header .slide-content .title p, .image_header .title p {
    font-size: 64px;
    line-height: 80px;
}

header .slide-content .text ul li {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 10px;

}

header .slide-content .text ul li:before {
    top: 13px;
}

.blocks_home .info {
    max-width: 50%;
    /*max-height: 548px;*/
}

.blocks_home .company {
    max-width: 50%;
}

.blocks_home .company p {
    font-size: 20px;
    line-height: 34px;
}

.blocks_home .company li {
    font-size: 20px;
    line-height: 28px;
}

.blocks_home .company li:before {
    top: 8px;
}

.cases_home_text .company li:before {
    top: 9px;
}

.blocks_home .info .info-text {
    font-size: 14px;
    line-height: 20px;
}

.contacts_page .map {
    max-width: 63%;
}

.contacts_page .block_info {
    max-width: 36%;
}

.blocks_big_page .content {
    max-width: 59%;
}

.blocks_big_page .image {
    max-width: 40%;
}

.blocks_big_page .text-image p {
    font-size: 16px;
    line-height: 20px;
}

.other_services .block {
    max-width: 33%;
}

.in_our_work_we_use .block {
    max-width: 24%;
}

.services_provided ul li {
    margin-bottom: 20px;
}

h1 {
    font-size: 70px;
}

header .slide-content {
    min-height: 500px;
}

.company_page .blocks {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

.company_page .blocks .block {
    padding: 20px;
    max-width: 41%;
}

.company_page .blocks .block:after {
    right: -32px;
    top: 23px;
}

.company_page ul li:nth-child(2n) .block:after {
    left: -50px;
}

.company_page .blocks .block:before {
    width: 228px;
    right: -208px;
    top: 100px;
    transform: rotate(31deg);
}

.company_page ul li:nth-child(2n) .block:before {
    left: -238px;
    transform: rotate(-26deg);
    top: 105px;
}

.company_page ul li:nth-child(11) .block:before {
    top: 96px;
    transform: rotate(29deg);
}

.company_page ul li:nth-child(13) .block:before {
    right: -206px;
    top: 99px;
    transform: rotate(31deg);
}

.blocks_services .content {
    max-width: 66%;
}

.blocks_services .form {
    width: 100%;
    max-width: 33%;
}

.blocks_services .form .form_1 .form {
    max-width: 100%;
}

.other_services .swiper .block {
    max-width: 100%;
}

.other_services .block.last_block:before {
    width: 100%;
    height: 154px;
    bottom: 0px;
}

.company_page .blocks .block .text_info {
    max-width: 72%;
}

}

@media (max-width: 1280px) {

h1 {
    font-size: 60px;
}

.blocks_home .company,
.blocks_home .info,
.form.form_footer .form_1,
.blocks_big_page .block,
.blocks_services .content,
.blocks_services .form,
.blocks_image_text .image,
.blocks_image_text .info,
.contacts_page .block_info
 {
    max-width: 100%;
}

.blocks_home .info {
    max-height: unset;
}

.form.form_footer .form_1:after {
    display: none;
}


.contacts_page .map
 {
    max-width: 100%;
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto;
}

.contacts_page .map .map_block {
    width: 100%;
    height: 350px;
}

.other_services .block {
    max-width: 49%;
}

.blocks_big_page .case-content-image {
    width: 100%;
}

.blocks_home .company {
    margin-bottom: 20px;
}

.modal .modal-content {
    max-width: 86%;
    margin-top: 8%;
}

.form.form_footer .form_1 .title {
    font-size: 70px;
    line-height: 80px;
}

.blocks_big_page .block {
    margin-bottom: 32px;
}

.company_page .blocks {
    max-width: 900px;
}

.company_page .blocks .block {
    display: block;
}

.company_page .blocks .block .title {
    margin-right: 0px;
    margin-bottom: 10px;
}

.company_page .blocks .block:before {
    right: -182px;
    top: 131px;
    transform: rotate(50deg);
}

.company_page ul li:nth-child(3) .block:before {
    top: 130px;
    transform: rotate(51deg);
}

.company_page ul li:nth-child(2n) .block:after {
    left: -40px;
    top: 23px;
}

.company_page ul li:nth-child(2n) .block:before {
    left: -197px;
    transform: rotate(-51deg);
    top: 133px;
}

.company_page ul li:nth-child(5) .block:before {
    right: -194px;
    transform: rotate(47deg);
}

.company_page ul li:nth-child(6) .block:before {
    transform: rotate(-46deg);
    top: 122px;
}

.company_page ul li:nth-child(7) .block:before {
    top: 128px;
    transform: rotate(51deg);
}
.company_page ul li:nth-child(8) .block:before {
    left: -207px;
    transform: rotate(-46deg);
}
.company_page ul li:nth-child(9) .block:before {
    top: 118px;
    transform: rotate(46deg);
}

.company_page ul li:nth-child(11) .block:before {
    right: -190px;
    top: 121px;
    transform: rotate(46deg);
}

.company_page ul li:nth-child(13) .block:before {
    right: -195px;
    top: 142px;
    transform: rotate(51deg);
}

.company_page .blocks, .company_page .blocks .block {
    max-width: 100%;
}

.company_page .blocks .block:before {content: none;}

.company_page .blocks .block {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5em;
}

.company_page .blocks .block .title {
    margin-right: 0px;
    margin-bottom: 20px;
    width: 100%;
}

.company_page .blocks .block .text_info {
    width: 100%;
}

.company_page .blocks .block:after, 
.company_page ul li:nth-child(2n) .block:after {
    right: 0px;
    left: auto;
    top: 17px;
    position: static;
    flex-shrink: 0;
}

.company_page .text {
    margin-left: 0px;
}

header .main-menu {
    display: none;
}

.blocks_services .content {
    margin-bottom: 30px;
}

.mobile-menu {
    display: flex;
    top: 25px;
}

.in_our_work_we_use .block {
    max-width: 48%;
    margin-bottom: 20px;
}

.header_full .header_blocks {
    display: block;
}

.header_full {
    height: auto;
}

.logo {
    display: block;
    margin-bottom: 20px;
    margin: auto;
}

.footer_blocks .main-menu {
    display: block;
    margin-bottom: 20px;
}

.footer_blocks .main-menu .has-submenu:after {
    display: none;
}

.footer_blocks .main-menu .open .submenu {
    display: block;
    position: relative;
    top: 0px;
    opacity: 1;
    padding: 0px;
    margin-top: 10px;
}

.footer_blocks {
    display: block;
}

.footer_blocks .logo_address .address {
    margin-bottom: 20px;
    text-align: center;
}

.footer_blocks .logo_address .address p {
    font-size: 16px;
    line-height: 26px;
}

.social-icon {
    display: none;
}

.header_full .social-icon.phone {
    display: flex;
    position: absolute;
    top: 20px;
    right: 20px;
    margin: 0px;
}

.social-icon.phone {
    display: flex;
}

.modal .social-icon,
.footer_blocks .social-icons .social-icon {
    display: flex;
}

.footer_blocks .social-icons .social-icon.phone {
    display: none;
}

.modal .social-icon.phone {
    right: 10px;
}

.modal-content .header_blocks .main-menu .submenu {
    display: none;
    position: relative;
    top: 0px;
    opacity: 1;
    padding: 0px;
    margin-top: 20px;
}

.modal-content .header_blocks .main-menu .open .submenu {
    display: block;
}

.footer_blocks .main-menu .submenu {
    display: none;
}

.has-submenu:after {
    display: none;
}

.submenu-toggle {
    display: inline-block;
    position: relative;
}

.main-menu .has-submenu {
    position: relative;
    margin-right: 0px;
}

.footer_blocks .main-menu {
    margin: auto;
    text-align: center;
    max-width: 100%;
}

.footer_blocks .main-menu .submenu li {
    padding: 0px;
    display: block;
    width: 100%;
}

.footer_blocks .social-icons {
    max-width: 100%;
    justify-content: center;
    margin-top: 40px;
}

.footer_blocks .main-menu li {
    margin: 0px;
    margin-bottom: 20px;
}

.footer_blocks .main-menu .submenu li {
    margin-bottom: 10px;
}

.footer_blocks .main-menu .has-submenu {
    margin-right: 0;
}

.footer_blocks .main-menu .submenu a {
    /*font-size: 16px;
    line-height: 24px;*/
}



.home_page .submenu li {
    background-color: #374c61;
}

.main-menu {
    max-width: 100%;
}

.blocks_image_text {
    overflow: hidden;
}

}

@media (max-width: 980px) {

.blocks_big_page .content,
.blocks_big_page .image {
    max-width: 100%;
}

.case_page_full, .service_page_full {
    overflow: hidden;
}

header .home_slider .arrows {
    position: absolute;
    bottom: 0px;
    width: 100%;
    max-width: 135px;
    margin: auto;
    left: 0px;
    right: 0px;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center;
}

.container {
    padding-left: 10px;
    padding-right: 10px;
}

.contacts_page .block_info .block.address,
.contacts_page .block_info .block.details {
    padding: 10px;
}

/*
.company_page .blocks .block:before,
.company_page ul li:nth-child(2n) .block:before,
.company_page ul li:nth-child(13) .block:before,
.blocks_services .content .text_3:after, 
.blocks_services .content .text_5:after,
.case_page_full:before, 
.service_page_full:before,
.form.form_footer .form_1:after,
.blocks_image_text:before,
.technologies:before, 
.blocks_image_text:before, 
.content_page:before, 
.case_page_full:before, 
.service_page_full:before {
    display: none;
}*/

.company_page .blocks .block:before {
    display: none;
}

.case_page_full:before, .service_page_full:before {
    top: -400px;
    right: -327px;
    left: auto;
    width: 100%;
    height: 400px;
}

.technologies:before, .blocks_image_text:before, .content_page:before {
    width: 100%;
    height: 400px;
    right: 0px;
    top: 600px;
    left: unset;
}

.case_page_full:before {
    width: 100%;
    height: 400px;
    right: -228px;
    top: 10px;
    left: unset;
}

.service_page_full:before {
    width: 100%;
    height: 400px;
    right: -100px;
    top: -150px;
    left: unset;
}

.company_page .blocks,
.company_page .blocks .block,
.services_cases_list .block,
.blocks_cases .content,
.blocks_cases .image,
.other_services .block,
.in_our_work_we_use .block,
.contacts_page .form_info,
.technologies .image,
.technologies .info {
    max-width: 100%;
}

h1 {
    font-size: 30px;
    line-height: 39px;
}

h2,
.cases_home_text h2,
.blocks_big_page .content h2 {
    font-size: 33px;
    line-height: 43px;
}

h4 {
    font-size: 36px;
    line-height: 68px;
    margin-bottom: 30px;
}

p {
    font-size: 16px;
    line-height: 30px;
}

.blocks_services .content ul li {
    font-size: 17px;
    line-height: 30px;
}

.blocks_services .content ul li:before {
    top: 8px;
}

.image_header {
    padding-top: 160px;
    padding-bottom: 60px;
}

.image_header .text_1.text_1_service p span {
    font-size: 30px;
}

.image_header .text p {
    font-size: 20px;
    line-height: 24px;
}

.blocks_home {
    margin-top: 30px;
}

.header_full {
    height: auto;
    padding-top: 20px;
    padding-bottom: 10px;
}

header .slide-content .text ul li {
    font-size: 14px;
    line-height: 22px;
}

header .slide-content .text ul li:before {
    left: 14px;
    top: 8px;
}



header .slide-content .title p, 
.image_header .title p {
    font-size: 29px;
    line-height: 40px;
}

.arrow_next, .arrow_prev {
    bottom: 0px;
    top: auto;
    position: relative;
    right: 0px;
    left: 0px;
    width: 40px;
    height: 40px;
}

.other_cases .arrow_next, .other_cases .arrow_prev, .cases_slider .arrow_next, .cases_slider .arrow_prev, .other_services .arrow_next, .other_services .arrow_prev {
    border-radius: 10px;
    background-size: 29px;
}

header .slide-content {
    height: 646px;
    overflow: hidden;
    box-sizing: border-box;
}

.blocks_home .company h2 {
    font-size: 34px;
    line-height: 40px;
}

.blocks_home .company p {
    font-size: 15px;
    line-height: 25px;
}

.blocks_home .company li {
    font-size: 16px;
    line-height: 24px;
    padding-left: 30px;
}

.blocks_home .company li:before {
    top: 4px;
}

.blocks_home .info {
    padding: 10px;
    padding-bottom: 30px;
}

.blocks_home .info li {
    max-width: 49%;
}

.blocks_home .info .info-text {
    font-size: 12px;
    line-height: 16px;
}

.blocks_home .info .info-number {
    font-size: 50px;
    line-height: 70px;
    margin-bottom: 10px;
}

.blocks_home .info h3 {
    font-size: 17px;
    line-height: 30px;
    margin-bottom: 0px;
    margin-top: 20px;
    text-align: center;
}

header .slide-content .btn {
    max-width: 100%;
    padding: 20px;
    box-sizing: border-box;
}

.footer_blocks {
    display: block;
}

.footer_blocks .logo_address .address {
    margin-bottom: 20px;
}

.blocks_services .content .text_3 {
    font-size: 29px;
    line-height: 40px;
    margin-bottom: 20px;
    padding-right: 51px;
}

.blocks_cases .text-image {
    padding: 20px;
    position: relative;
    margin-top: -100px;
}

.blocks_cases .text-image-1 {
    font-size: 30px;
    line-height: 50px;
}

.blocks_cases .text-image-2 {
    font-size: 14px;
    line-height: 24px;
}

.other_cases {
    margin-top: 40px;
}

.other_cases .case-preview {
    padding: 20px;
    padding-top: 100px;
    padding-bottom: 50px;
    min-height: 530px;
}

.cases_slider .arrow_next, 
.cases_slider .arrow_prev,
.other_cases .arrow_next, 
.other_cases .arrow_prev,
.other_services .arrow_next, 
.other_services .arrow_prev  {
    position: absolute;
    top: 17px;
}

.cases_slider .arrow_next,
.other_cases .arrow_next,
.other_services .arrow_next {
    right: 10px;
    left: auto;
}

.cases_slider .arrow_prev, 
.other_cases .arrow_prev, 
.other_services .arrow_prev {
    left: auto;
    right: 52px;
}

.blocks_services .content .text_5 {
    font-size: 40px;
    line-height: 60px;
    margin-bottom: 20px;
}

.blocks_services .content .text_5_6 {
    padding: 30px;
}

.blocks_services .content .text_6 {
    color: rgb(255, 255, 255);
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}

.form_1 .title {
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 40px;
}

.modal .modal-content {
    max-width: 96%;
    margin-top: 0%;
}

.form.form_footer .form_1 {
	padding: 20px;
}

.form.form_footer .form_1 .title {
    font-size: 38px;
    line-height: 48px;
    margin-bottom: 15px;
}

.form.form_footer .form_1 .sub_title {
    font-size: 12px;
    line-height: 19px;
    margin-bottom: 15px;
}

.container_checkbox .checkmark {
    top: 4px;
}

.form_1 .form .block_checkbox .text {
    font-size: 10px;
    line-height: 13px;
}

input[type="submit"] {
    padding: 17px;
    font-size: 15px;
    line-height: 24px;
}

.other_services .block {
    padding: 20px;
    height: auto;
    min-height: 300px;
    padding-bottom: 49px;
}

.other_services .block a {
    bottom: 20px;
}

.other_services .block.last_block {
    background: rgb(111, 128, 146);
    padding-bottom: 200px;
}

.other_services .block .case-title {
    font-size: 24px;
    line-height: 36px;
    width: 100%;
    max-width: 90%;
}

.blocks_image_text .title {
    font-size: 48px;
    line-height: 56px;
    margin-bottom: 20px;
}

.blocks_image_text {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 10px;
    border: unset;
}

.contacts_page .form_1 {
    display: block;
    padding: 20px;
}

.contacts_page .form_1 .info {
    max-width: 100%;
}

.contacts_page .form_1 .title {
    font-size: 25px;
    line-height: 25px;
    margin-bottom: 20px;
}

.contacts_page .form_1 .text {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px;
}

.technologies .block {
    padding: 10px;
}

.other_services .block:after {
    width: 45px;
    height: 45px;
    background-size: 29px;
    border-radius: 12px;
    right: 20px;
    top: 26px;
}

.cases_slider .case-preview {
    width: 100%;
    height: auto;
    padding: 20px;
    min-height: 650px;
    display: block;
}

.cases_slider .decr {
    font-size: 12px;
    line-height: 21px;
}

.cases_slider .case-title {
    font-size: 34px;
    line-height: 38px;
}

.other_services .block .text_banner {
    font-size: 14px;
    line-height: 22px;
}

.page_not_found a {
    position: absolute;
    width: 157px;
    height: 157px;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    padding-top: 55px;
    bottom: -82px;
}

.technologies .image {
    text-align: left;
}

.cases_slider {
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.cases_slider .swiper-wrapper {
    padding-top: 0px;
    padding-bottom: 0px;
    min-height: unset;
}

.cases_slider .swiper-slide.swiper-slide-prev,
.cases_slider .swiper-slide.swiper-slide-next {
    margin-top: 0px;
}

.other_services {
    margin-top: 50px;
}



.social-icon.vk {
    display: none;
}

.social-icon.whatsapp {
    display: none;
}

.blocks_cases .content .services_provided {
    display: none;
}

.services_provided.mobile_case {
    display: block;
    margin-top: 20px;
}

.services_provided.mobile_case p {
    margin-bottom: 20px;
}

.blocks_cases .image {
    display: none;
}

.blocks_cases .image.mobile_case {
    display: block;
}

.services_provided ul li a {
    font-size: 13px;
    line-height: 13px;
}

}


@media (max-width: 640px) {

    .company_page .blocks .block {
        padding: 18px;
    }

    .company_page .blocks .block .text_info {
        font-size: 18px;
        line-height: 1.55;
    }

    .company_page .blocks .block:after, .company_page ul li:nth-child(2n) .block:after {
        width: 40px;
        height: 40px;
        border-width: 8px;
    }

}

@media (max-width: 480px) {

    .company_page .blocks .block {
        padding: 16px;
    }

    .company_page .blocks .block .text_info {
        font-size: 16px;
    }

}

@media (max-width: 440px) {

    .other_services .block .case-title {
        max-width: 260px;
    }

    .company_page .blocks .block {
        padding-inline: 14px;
    }

    .company_page .blocks .block .title {
        font-size: 30px;
    }

    .company_page .blocks .block .text_info {
        font-size: 14px;
    }

}

@media (max-width: 340px) {

    header .slide-content .title p, 
    .image_header .title p {
        font-size: 22px;
        line-height: 30px;
    }

    header .slide-content .text ul li {
        padding-left: 24px;
    }

    h4 {
        font-size: 30px;
    }

    .other_services .block .case-title {
        max-width: 220px;
    }

    .company_page .blocks .block:after, .company_page ul li:nth-child(2n) .block:after {
        width: 30px;
        height: 30px;
        border-width: 6px;
    }

}

@media (max-width: 300px) {

header .slide-content {
    min-height: 484px;
}

}