/*!
Theme Name: dolphincargo
Author: Zentix IT Company
Author URI: https://zentixsoft.com/
Description: Theme developed special for Dolphincargo
Developer: Vozniy Viacheslav
Version: 1.0.0
Text Domain: dolphincargo
*/

/* Normalize css START*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
input {
    border-radius: 0;
}
input[type="search"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
    outline:none;
}
input {
    outline:none;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}
a,
a:active,
a:focus,
a:focus-visible {
    text-decoration: none;
    color: inherit;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:focus-visible {
    outline: none !important; 
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
li {
    list-style-type: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}
input {
    border-radius: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input[type="search"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
    scroll-behavior: smooth;
}

/* Normalize css END */

html, 
body {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}



.no-scroll {
    overflow: hidden;
} 

main {
    margin-top: 115px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
  
footer {
    -webkit-box-flex: 0;
        -ms-flex: 0;
            flex: 0;
}

:root {
    --font-family: "DM Sans", sans-serif;
    --second-family: "SF Pro Text", sans-serif;
    --white: #fff;
	--black: #160f44;
	--blue: #42ade0;
}

[class*=__wrapper] {
    padding-left: 13.542vw;
    padding-right: 13.542vw;
}

.contain_image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.cover_image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.mob_hide {
    display: block;
}

header {
    width: 100%;
	position: fixed;
    z-index: 10;
    background: #FFF;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0.3125rem 1.5625rem rgba(0, 0, 0, 0.06);
}

.header_container {
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.header_logo {
    display: block;
    width: 191px;
    height: 75px;
    overflow: hidden;
}

.header_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 36px;
       -moz-column-gap: 36px;
            column-gap: 36px;
    -webkit-column-gap: 1.875vw;
       -moz-column-gap: 1.875vw;
            column-gap: 1.875vw;
}

.header_menu li a {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 97%;
    letter-spacing: -0.02em;
    color: var(--black);
}

.phone_and_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 23px;
       -moz-column-gap: 23px;
            column-gap: 23px;
}

.phone_and_buttons .buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 23px;
       -moz-column-gap: 23px;
            column-gap: 23px;
}

.phone_and_buttons .phone_link,
.phone_popup .phone_link{
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 32px;
    line-height: 100%;
    /* letter-spacing: -0.02em; */
    color: var(--black);
}

.phone_and_buttons .work_schedule,
.phone_popup .work_schedule {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5px;
       -moz-column-gap: 5px;
            column-gap: 5px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.phone_and_buttons .online_text,
.phone_popup .online_text {
    border-radius: 4px;
    padding: 2px 6px;  
    background: var(--blue);
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 10px;
    letter-spacing: -0.02em;
    color: var(--white); 
    text-transform: lowercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 14px;
}

.phone_and_buttons .schedule_text,
.phone_popup .schedule_text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: var(--black);
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

.dark_blue_button {
    border-radius: 50px;
    padding: 16px 28px;
    width: 190px;
    height: 49px;
    background: var(--black);
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 97%;
    letter-spacing: -0.02em;
    color: var(--white);
    cursor: pointer;
}

.mob_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.pc_hide {
    display: none;
}

.mob_buttons .button {
    border-radius: 54px;
    padding: 16px;
    width: 60px;
    height: 60px;
    background: var(--blue);
}

.banner .top_block {
    position: relative;
    height: 520px;
}

.banner .decor_image {
    position: absolute;
    z-index: -1;
}

.banner .decor_image.left {
    width: 35.313vw;
    max-width: 678px;
    left: 0;
    bottom: -2.083vw;
    aspect-ratio: 1.3216374269005848/1;
}

.banner .decor_image.right {
    width: 25.052vw;
    max-width: 481px;
    right: 0;
    bottom: -2.083vw;
    aspect-ratio: 0.939453125/1;
}

.banner_container .inner_container {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4.01vw;
       -moz-column-gap: 4.01vw;
            column-gap: 4.01vw;
    padding: 80px 0
}

.banner_container .inner_container h1 {
    font-family: var(--font-family);
    font-weight: 400;
    /* font-size: 77px; */
    font-size: clamp(68px, 45.752px + 1.6275vw, 77px);
    font-size: clamp(4.25rem, 2.8595rem + 1.6275vw, 4.8125rem);
    line-height: 102%;
    letter-spacing: -0.05em;
    color: var(--black);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.banner_container .inner_container .right_side {
    width: 27.292vw;
    width: 37.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.banner_container .inner_container .right_side_text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 24px;
    font-size: clamp(18px, 3.168px + 1.085vw, 24px);
    font-size: clamp(1.125rem, 0.198rem + 1.085vw, 1.5rem);
    line-height: 157%;
    letter-spacing: -0.05em;
    color: var(--black);
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}

.banner .bottom_block {
    background: var(--black);
    /* height: 906px; */
    padding-bottom: 40px;
}

.right_side_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
} 

.right_side_buttons .button {
    width: 48%;
    border-radius: 65px;
    padding: 32px 0;
    cursor: pointer;
    text-align: center;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 97%;
    letter-spacing: -0.02em;
}

.right_side_buttons .orange_button {
    border: 1px solid #f69c1d;
    background:#f69c1d;
    color: var(--white);;
}

.right_side_buttons .transparent_button {
    border: 1px solid var(--black);
    color: var(--black);
}

.bottom_block .image_block {
    width: 100%;
    aspect-ratio: 2.0028612303290414/1;
    position: relative;
    top: -6.25vw;
}

.banner .bottom_block .bottom_row {
    position: relative;
    top: -3.175vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.banner .bottom_block .bottom_title,
.blocks_container .title {
    position: relative;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 82px;
    line-height: 90%;
    letter-spacing: -0.05em;
    color: var(--white);
    width: 429px;
    z-index: 1;
}

.banner .bottom_block .bottom_title:before,
.services_title:before,
.blocks_container .title:before,
.products_we_work .left_col .title:before{
    position: absolute;
    content: '';
    display: block;
    top: -30px;
    left: -30px;
    width: 84px;
    height: 84px;
    background: #f69c1d;
    border-radius: 100%;
    z-index: -1;
}

.banner .bottom_block .numebr_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-column-gap: 18px;
       -moz-column-gap: 18px;
            column-gap: 18px;
}

.banner .bottom_block .numebr_list li {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 25px 28px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 5px;
}

.banner .bottom_block .numebr_list li .number {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 90px;
    line-height: 85%;
    letter-spacing: -0.05em;
    color: var(--white);
}

.banner .bottom_block .numebr_list li .text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: var(--blue);
}

.about_us_section .inner_block {
    margin: 60px 0;
    padding: 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.about_us_section .image_container {
    width: 57.5%;
    aspect-ratio: 1.5217391304347827/1;
    overflow: hidden;
    position: relative;
    top: -40px;
}

.about_us_section .text_container {
    padding: 40px 60px;
    background: #f7f7f7;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 24px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.about_us_section .text_container h2 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 44px;
    line-height: 110%;
    letter-spacing: -0.05em;
    color: var(--black);
    width: 95%;
}

.about_us_section .text_container p {
    font-family: var(--font-family);    
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: var(--black);
}

.about_us_section .blue_block {
    width: 100%;
    border-radius: 43px;
    padding: 12px;
    background: var(--blue);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

.about_us_section .blue_block p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 110%;
    letter-spacing: -0.05em;
    color: var(--white);
}

.about_us_section .blue_block p span {
    font-weight: 700;
    text-transform: uppercase;
}

.services_section {
    margin: 120px 0;
}

.services_title {
    position: relative;
}

.services_section .title_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 28px;
       -moz-column-gap: 28px;
            column-gap: 28px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.services_title,
.products_we_work .left_col .title {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 82px;
    line-height: 90%;
    letter-spacing: -0.05em;
    color: var(--black);
}

.services_subtitle {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: var(--blue);
    width: 162px;
}

.services_list {
    margin: 70px 0 120px 0;
    background: var(--black);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    z-index: 4;
}

.service_item {
    width: 33.333%;
    aspect-ratio: 1.3181818181818181/1;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    cursor: pointer;
    position: relative;
    padding: 56px 30px;
    overflow: hidden;
}

.service_item .inner_content {
    position: absolute;
    bottom: 30px;
    width: calc(100% - 60px);  
    -webkit-transform: translateY(calc(100% - 60px));  
            transform: translateY(calc(100% - 60px));
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
    transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    z-index: 2;
}

.service_item.hovered .inner_content {
    bottom: 60px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
}

.service_item .title {
    height: 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 34px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
    transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    
}

.service_item .text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: var(--white);
    margin-top: 20px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
}

.service_item.hovered .text {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.service_item .bg_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
}

.service_item.hovered .bg_image {
    -webkit-transform: translateY(0);
            transform: translateY(0);
}

.service_item:before {
    position: absolute;
    display: block;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #42ade0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    transition: all .3s linear;
    -ms-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    -o-transition: all .3s linear;
}

.service_item.hovered:before {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
}

.service_item.hovered .bg_image img {
    -webkit-animation: imgfade .8s linear;
            animation: imgfade .8s linear;
}

@-webkit-keyframes imgfade {
    0% {
        -webkit-transform: translateY(100%);
                transform: translateY(100%); 
    }
    50% {
        -webkit-transform: translateY(-5%);
                transform: translateY(-5%); 
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0); 
    }
}

@keyframes imgfade {
    0% {
        -webkit-transform: translateY(100%);
                transform: translateY(100%); 
    }
    50% {
        -webkit-transform: translateY(-5%);
                transform: translateY(-5%); 
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0); 
    }
}

.service_button {
    border-radius: 15px;
    padding: 4px;
    width: 28px;
    height: 28px;
    background: #f69c1d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: none;
}

.service_button img {
    width: auto;
    height: auto;
}

.service_item .title_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.service_item .bg_image:after {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70%;
    background: -webkit-linear-gradient(bottom, #160f44 0%, rgba(22, 15, 68, 0) 100%);
    background: linear-gradient(0deg, #160f44 0%, rgba(22, 15, 68, 0) 100%);
}

.partners {
    padding: 16px 16px 16px 60px;
    background: var(--black);
    position: relative;
    overflow: hidden;
}

.partners .decor_image {
    position: absolute;
    top: 0;
    left: -65px;
    width: 29.948vw;
    aspect-ratio: 1.2105263157894737/1;
    z-index: 1;
}

.partners .inner_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    z-index: 2;
}

.partners .inner_block .text {
    /* flex: 1; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 42.5%;
}

.partners .inner_block .title {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 47px;
    line-height: 110%;
    letter-spacing: -0.02em;
    color: var(--white);
}

.partners .inner_block .title span {
    font-weight: 700;
    color: #f69c1d;
    margin-left: 10px;
}

.partners .inner_block .subtitle {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: var(--white);
}

.partners .inner_block .subtitle span {
    font-weight: 700;
}

.partners .inner_block a.to_form_link {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: #f69c1d;
}

.partners_logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
    width: 34.7%;
}

.partners_logos li {
    overflow: hidden;
    width: calc(50% - 8px);
    aspect-ratio: 1/1;
    border-radius: 8px;
}

.contacts {
    padding: 0 0 120px 0;
    position: relative;
    overflow: hidden;
}

.contacts_decor {
    position: absolute;
    /* top: 50%;
    transform: translateY(-70%); */
    bottom: 318px;
    width: 24.323vw;
    width: calc((100vw - 1000px)/2);
    aspect-ratio: 1.068649885583524/1;
    overflow: hidden;
    z-index: 1;
}

.contacts_decor.left {
    left: 0;
}

.contacts_decor.right {
    right: 0;
}

.contacts .contacts_container {
    position: relative;
    z-index: 2;
}

.form_block {
    position: relative;
    /* width: calc(100vw - 48.646vw); */
    width: 1105px;
    margin: 0 auto;
    border-bottom: 8px solid var(--blue);
    border-radius: 8px;
    padding: 60px;  
    background: #f8f8f8;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 49px;
       -moz-column-gap: 49px;
            column-gap: 49px;
}

.bottom_blue_block {
    position: relative;
    border-radius: 0 0 40px 40px;
    width: 100%;
    height: 198px;
    background: var(--black);
    margin-top: -8px;
    z-index: 2;
}

.form_block .col {
    width: calc(50% - 24.5px);
}

.form_block .left_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 44px;
}

.form_block .left_col .support_description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 24px;
}

.form_block .left_col h4 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 40px;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: var(--black);
}

.form_block .left_col .support_description .title {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: var(--black);
}

.wpcf7-not-valid-tip {
    text-align: center !important;
    font-family: var(--font-family) !important;
    font-size: 12px;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    width: 100%;
    border: none !important;
    margin: 1em 0.5em 0.5em !important;
    color: #f69c1d;
    text-align: center;
    font-family: var(--font-family) !important;
}

.support_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 14px;
}

.support_list li {
    width: calc(50% - 7px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.support_list li p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 110%;
    letter-spacing: -0.05em;
    color: var(--black);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.support_list .image {
    display: block;
    overflow: hidden;
    width: 32px;
    height: 32px;
}

.form_row {
    margin-bottom: 12px;
}

.form_row span {
    display: block;
    width: 100%;
}

.form_row label {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 17px;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: var(--blue);
}

.form_row span input,
.form_row span textarea {
    width: 100%;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    border: 1px solid rgba(22, 15, 68, 0.1);
    border-radius: 8px;
    padding: 28px;
    height: 74px;
    resize: none;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    line-height: 90%;
    letter-spacing: -0.05em;
    color: var(--black);
}

.form_row span input::-webkit-input-placeholder,
.form_row span textarea::-webkit-input-placeholder {
    opacity: 0.2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}

.form_row span input::-moz-placeholder,
.form_row span textarea::-moz-placeholder {
    opacity: 0.2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}

.form_row span input:-ms-input-placeholder,
.form_row span textarea:-ms-input-placeholder {
    opacity: 0.2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}

.form_row span input::placeholder,
.form_row span textarea::placeholder {
    opacity: 0.2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}

.form_row.button input {
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    background: #f69c1d;
    width: 100%;
    border-radius: 200px;
    padding: 32px 56px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 97%;
    letter-spacing: -0.02em;
    color: var(--white);
    cursor: pointer;
}

.wpcf7-spinner {
    display: none !important;
}

textarea::-webkit-scrollbar {
    width: 0px;
    height: 0px;
}

.under_form_text {
    text-align: center;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--black);
    max-width: 260px;
    margin: 0 auto;
}

.under_form_text a {
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: var(--blue);
}

.why_section {
    padding-top: 120px;
    padding-bottom: 60px;
    background: var(--black);
}

.blocks_container .title {
    width: auto;
}

.why_blocks {
    padding: 70px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.why_blocks li {
    width: 31.5%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 22px 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 26px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.why_blocks li .top_row {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.why_blocks li .top_row .number {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 25px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: var(--white);
    opacity: .1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
}

.why_blocks li .top_row .icon {
    width: 40px;
    height: 40px;
    overflow: hidden;
}

.why_blocks li .bottom_row h6 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 25px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: var(--white);
    margin-bottom: 5px;
}

.why_blocks li .bottom_row p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: var(--white);
    opacity: .5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

.products_we_work {
    position: relative;
    border-radius: 20px;
    padding: 48px;
    background: var(--white);
}

.products_we_work .decor_image {
    position: absolute;
    left: 0;
    bottom: 0;
    /* overflow: hidden; */
    width: 35.313vw;
    aspect-ratio: 1.272045028142589/1;
    z-index: 1;
}

.products_we_work .inner_content {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    z-index: 3;
}

.products_we_work .inner_content .left_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 39%;
}

.products_we_work .left_col .text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: var(--black);
}

.products_we_work .inner_content .products_list {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
}

.products_we_work .inner_content .products_list li {
    width: calc(50% - 8px);
    aspect-ratio: 1.1672354948805461/1;
    min-height: 260px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.products_list li .image {
    position: relative;
    /* overflow: hidden; */
    border-radius: 16px;
    width: 100%;
    outline-offset: 6px;
    aspect-ratio: 1.3307392996108949/1;
}

.products_list li .image img {
    z-index: 3;
    position: relative;
}

.products_list li .image:after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 20px;
    left: 0;
    bottom: 6px;
    background: var(--blue);
    border-radius: 0 0 16px 16px;
    z-index: 1;
    transition: all .3s linear;
    -ms-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    -o-transition: all .3s linear;
}

.products_list li:hover .image:after {
    bottom: -8px;
}

.products_list li .description {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: var(--black);
}

footer {
    background: var(--black);
}

.footer_contact_container {
    padding-top: 60px;
}

.footer_contact_container .top_row { 
    position: relative;
}

.footer_contact_container .top_row .decor_image {
    position: absolute;
    bottom: 0;
}

.footer_contact_container .top_row .decor_image.left {
    left: 0;
}

.footer_contact_container .top_row .decor_image.right {
    right: 0;
}

.footer_contact_container .top_row h4 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 45px;
    line-height: 120%;
    letter-spacing: -0.05em;
    text-align: center;
    color: var(--white);
    max-width: 850px;
    margin: 0 auto;   
}

.footer_contact_form {
    margin-top: 60px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
}

.footer_contact_form form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.footer_contact_form .form_row {
    width: 20%;
    margin-bottom: 0;
}

.footer_contact_form .form_row p {
    height: 74px;
    display: block;
}

.footer_contact_form .form_row.button {
    width: 17%;
}

.footer_contact_form .form_row.button input {
    padding: 26px 56px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    width: 100%;
    text-align: center;
    margin: 0.5em;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    padding: 0;
    color: #42ade0;
}

.footer_bottom {
    margin: 40px 0;
    padding: 40px 0;
    border-bottom: 1px solid #453f69;
    border-top: 1px solid #453f69;
}

.footer_inner_block {
    width: 1105px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5.625vw;
       -moz-column-gap: 5.625vw;
            column-gap: 5.625vw;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.footer_inner_block .col {
    width: calc(50% - 2.8125vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 44px;
}

.footer_inner_block .col .title {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 34px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
}

.footer_services {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 10px;
}

.footer_services li {
    /* width: calc(50% - 8px); */
    /* width: fit-content; */
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
    /* flex: 1; */
}

.footer_services li:nth-child(1),
.footer_services li:nth-child(3),
.footer_services li:nth-child(5) {
    width: 32%;
}

.footer_services li:nth-child(2),
.footer_services li:nth-child(4),
.footer_services li:nth-child(6) {
    width: calc(68% - 16px);
}

.footer_services li:nth-last-child(-n+2) {
    padding: 0;
    border: none;
}

.under_services {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: #f69c1d;
}

.company_contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 20px;
}

.contact_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
}

.contact_item .tel {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 40px;
    line-height: 97%;
    letter-spacing: -0.02em;
    color: var(--white);
}

.contact_item .mail {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
}

.contact_item.location {
    -webkit-box-align: start;
        -ms-flex-align: start;
                -ms-grid-row-align: flex-start;
            align-items: flex-start;
}

.contact_item .location_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 10px;
}

.contact_item .location_container .city {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--blue);
}

.contact_item .location_container .street {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
}

.copyright {
    text-align: center;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 13px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
    padding-bottom: 60px;
}

.popup {
    display: none;
}

.popup.show {
    display: block;
}

.popup_inner {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 35;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;    
}

.close_popup {
    overflow: hidden;
    position: absolute;
    cursor: pointer;
    top: 20px;
    right: 20px;
}

.contact_form_popup .popup_inner {
    background: #F2EFEE;
    border-bottom: 8px solid var(--blue);
    border-radius: 8px;
    padding: 60px;
    width: 580px;
}

.phone_popup .popup_inner {
    border-radius: 12px;
    padding: 26px 32px;
    background: var(--white);
}

.overlay {
    background: rgba(0, 0, 0, 0.5);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    display: none;
    cursor: pointer;
}

.popup_logo {
    width: 192px;
    margin: 0 auto 12px auto;
}

.popup_inner  .contact_form {
    width: 100%;
}

.mobile_menu {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    /* justify-content: center; */
    background: var(--black);
    padding: 40px 0;
    display: none;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: all .5s linear;
    -ms-transition: all .5s linear;
    -moz-transition: all .5s linear;
    -webkit-transition: all .5s linear;
    -o-transition: all .5s linear;
}

.mobile_menu.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.mobile_menu .close_menu {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 20px;
    right: 20px;
}

.mobile_menu_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 65px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 48px;
    line-height: 97%;
    letter-spacing: -0.02em;
    color: var(--white);
} 

.mobile_menu_logo {
    width: 231px;
    margin-bottom: 15vh;
}

.mobile_menu_bottom {
    width: 80%;
    margin: 0 auto;
    position: absolute;
    bottom: 40px;
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #FFF;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: var(--white);
  
} 

@media screen and (max-width: 1651px) {
    [class*=__wrapper] {
        padding-left: 8.542vw;
        padding-right: 8.542vw;
    }
    .contacts_decor {
        width: 24.323vw;
    }
    .contact_form_popup .popup_inner {
        padding: 30px;
    }
    .phone_popup .close_popup {
        top: 0;
        right: 0;
        width: 24px;
        height: 24px;       
    }
    .phone_popup .popup_inner {
        max-width: unset;
        width: 256px;
    }
    .phone_popup .phone_number {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column;
            flex-flow: column;
        row-gap: 10px;
    }
    .phone_popup .phone_link {
        font-size: 28px;
        line-height: 100%;
        letter-spacing: -0.02em;
    }
    .phone_popup .schedule_text {
        font-weight: 400;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: -0.02em;
    }
    .banner .bottom_block .bottom_title {
        width: 30%;
        font-size: 72px;
    }
    .banner .bottom_block .numebr_list li .number {
        font-size: 80px;
    }
}


@media screen and (max-width: 1441px) {
    [class*=__wrapper] {
        padding-left: 6.542vw;
        padding-right: 6.542vw;
      }
    .about_us_section .image_container {
        width: 50%;
    }
    .service_item .title {
        font-size: 28px;
    }
}


@media screen and (max-width: 1367px) {
    .phone_and_buttons .phone_number,
    .mob_menu_button {
        display: none;
    }
    .mob_buttons.pc_hide {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .service_item .bg_image {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
    .service_item .inner_content {
        -webkit-transform: none;
                transform: none;
    }
    .service_item .text {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
    .service_item .title {
        font-size: 34px;
    }
}

@media screen and (max-width: 1201px) {
    .header_menu {
        display: none;
    }
    [class*=__wrapper] {
        padding-left: 13.672vw;
        padding-right: 13.672vw;
    }
    .banner .decor_image {
        display: none;
    }
    .mob_menu_button {
        display: block;
    }
    .banner_container .inner_container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 32px;
    }
    .banner_container .inner_container h1,
    .banner_container .inner_container .right_side_text {
        text-align: center;
    }
    .banner_container .inner_container .right_side {
        width: 100%;
    }
    .right_side_buttons {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px;
        margin-top: 32px;
    }
    .right_side_buttons .button {
        width: 250px;
    }
    .banner .top_block {
        height: 620px;
    }
    .banner .bottom_block .bottom_row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 43px;
    }
    .banner .bottom_block .bottom_title {
        width: 100%;
        font-size: clamp(2rem, -0.0032rem + 8.0128vw, 5.125rem);
        margin-top: 30px;
    }
    .banner .bottom_block .numebr_list li .number {
        font-size: 56px;
        line-height: 85%;
        letter-spacing: -0.05em;
    }
    .banner .bottom_block .numebr_list {
        width: 100%;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
    .banner .bottom_block .numebr_list li {
        min-width: 32%;
    }
    .about_us_section .inner_block {
        padding: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .about_us_section .image_container {
        width: 100%;
        top: unset;
    }
    .about_us_section .text_container {
        padding: 40px;
    }
    .about_us_section .text_container h2 {
        text-align: center;
    }
    .about_us_section .text_container p {
        text-align: center;
        font-size: 24px;
    }
    .about_us_section .blue_block {
        width: 70%;
        margin: 0 auto;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 10px;
        border-radius: 20px;
    }
    .services_subtitle {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
    .services_section .title_block {
        -webkit-box-align: end;
            -ms-flex-align: end;
                    -ms-grid-row-align: flex-end;
                align-items: flex-end;
    }
    .services_title, .products_we_work 
    .left_col .title,
    .blocks_container .title {
        font-size: clamp(2rem, -0.0032rem + 8.0128vw, 5.125rem);
    }
    .service_item:before {
        display: none;
    }
    .services_list {
        gap: 24px;
        background: transparent;
    }
    .service_item {
        width: calc(50% - 12px);
        border: none;
        aspect-ratio: 1/1;
        padding: 30px 24px;
    }
    .partners .inner_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .form_block,
    .footer_inner_block,
    .partners .inner_block .text,
    .partners_logos {
        width: 100%;
    }
    .partners .inner_block .text {
        padding: 60px 0;
        text-align: center;
    }
    .partners {
        padding: 20px;
    }
    .partners_logos li {
        width: calc(25% - 13px);
    }
    .partners .decor_image {
        position: absolute;
        top: -5%;
        left: 10%;
        width: 80%;
        aspect-ratio: 1.2105263157894737/1;
        z-index: 1;
        -webkit-transform: rotate(37deg);
                transform: rotate(37deg);   
    }
    .form_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 49px;
        border-radius: 8px;
        padding: 60px 37px;
    }
    .form_block .col {
        width: 100%;
    }

    .bottom_blue_block {
        height: 120px;
    }
    .support_list li {
        width: calc(33.333% - 10px);
    }
    .contacts_decor {
        bottom: 238px;
        width: 45vw;
    }
    .why_blocks {
        row-gap: 24px;
    }
    .why_blocks li {
        width: 100%;
    }
    .why_blocks li .bottom_row h6 {
        font-size: 32px;
    }
    .why_blocks li .bottom_row p {
        font-size: 24px;
    }
    .products_we_work {
        margin-top: 50px;
    }
    .products_we_work .inner_content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 40px;
    }
    .products_we_work .inner_content .products_list,
    .products_we_work .inner_content .left_col  {
        width: 100%;
    }
    .products_we_work .decor_image {
        width: 60vw;
    }
    .products_we_work .left_col .title:before {
        display: none;
    }
      .products_we_work .inner_content .left_col {
        width: 545px;
        text-align: center;
        margin: 0 auto;
    }
    .products_we_work .left_col .title {
        width: 80%;
        margin: 0 auto;
    }
    .footer_contact_container .top_row .decor_image {
        display: none;
    }
    .footer_contact_form {
        margin-top: 40px;
    }
    .footer_contact_form form {
        row-gap: 8px;
    }
    .footer_contact_form .form_row,
    .footer_contact_form .form_row.button {
        width: 100%;
    }
    .footer_inner_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 60px;
    }
    .footer_inner_block .col {
        width: 100%;
    }
    .footer_services li:nth-child(1), 
    .footer_services li:nth-child(2), 
    .footer_services li:nth-child(3),
    .footer_services li:nth-child(4), 
    .footer_services li:nth-child(5),
    .footer_services li:nth-child(6) {
        width: calc(50% - 8px);
    }
    .under_services {
        margin-top: 15px;
        font-size: 28px;
    }
}   

@media screen and (max-width: 1000px) {
    [class*=__wrapper] {
        padding-left: 6.672vw;
        padding-right: 6.672vw;
      }
}

@media screen and (max-width: 821px) {

    .header_logo {
        width: 121px;
    }
    .mob_buttons .button {
        width: 48px;
        height: 48px;
        padding: 12px;
    }
}


@media screen and (max-width: 767px) {
    html #wpadminbar {
        display: none !important;
    }
    header {
        top: 0;
    }
    [class*=__wrapper] {
        padding-left: 16px;
        padding-right: 16px;
    }
    .dark_blue_button {
        display: none;
    }
    .banner_container .inner_container h1 {
        font-size: 32px;
        line-height: 102%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .banner_container .inner_container .right_side_text {
        font-size: 16px;
        line-height: 157%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .right_side_buttons {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 8px;
    }
    .right_side_buttons .button {
        width: 100%;
        padding: 20px 0;
        font-size: 16px;
        line-height: 97%;
        letter-spacing: -0.02em;
    }
    .banner .top_block {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }
    .banner .bottom_block .bottom_title:before, 
    .services_title:before, .blocks_container .title:before, 
    .products_we_work .left_col .title:before {
        width: 32px;
        height: 32px;
        left: -10px;
        top: -10px;
    }
    .banner .bottom_block .numebr_list {
        -webkit-column-gap: 6px;
           -moz-column-gap: 6px;
                column-gap: 6px;
        -webkit-box-pack: unset;
            -ms-flex-pack: unset;
                justify-content: unset;
    }
    .banner .bottom_block .bottom_row {
        row-gap: 20px;
    }
    .banner .bottom_block .numebr_list li {
        border-radius: 4px;
        padding: 16px 8px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                    -ms-grid-row-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        text-align: center;
        min-width: unset;
        width: calc(33.333% - 6px/3);
    }
    .banner .bottom_block .numebr_list li .number {
        font-size: 28px;
    }
    .banner .bottom_block .numebr_list li .text {
        font-size: 12px;
    }
    .about_us_section .text_container {
        padding: 40px 20px;
    }
    .about_us_section .text_container h2 {
        font-size: 28px;
        line-height: 110%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .about_us_section .text_container p {
        font-size: 14px;
        line-height: 150%;
    }
    .about_us_section .blue_block {
        width: 100%;
    }
    .about_us_section .blue_block {
        position: relative;
        padding: 12px 30px;
    }
    .about_us_section .blue_block .icon {
        position: absolute;
        top: -20px;
    }
    .services_section {
        margin: 30px 0;
    }
    .services_section .title_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                    -ms-grid-row-align: flex-start;
                align-items: flex-start;
        row-gap: 12px;
    }
    .services_title {
        width: 75%;
    }
    .services_list {
        margin: 28px 0 60px 0;
        row-gap: 8px;
    }
    .service_item {
        width: 100%;
    }
    .partners .inner_block .text {
        padding: 20px 0;
        row-gap: 12px;
    }
    .partners .decor_image {
        width: 100%;
        left: 0;
    }
    .partners .inner_block .title {
        font-size: 32px;
    }
    .partners .inner_block .subtitle {
        font-size: 14px;
        line-height: 150%;
        letter-spacing: -0.02em;
        text-align: center;
    }
    .partners_logos li {
        width: calc(50% - 8px);
    }     
    .form_block {
        border-radius: 8px;
        padding: 32px 37px;
        row-gap: 24px;
    }
    .form_block .left_col h4 {
        font-size: 20px;
        line-height: 120%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .form_block .left_col {
        row-gap: 12px;
    }
    .form_block .left_col .support_description .title {
        font-size: 18px;
        line-height: 120%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .support_list li {
        width: 100%;
    }
    .support_list {
        gap: 8px;
    }
    .support_list li p {
        font-size: 14px;
        line-height: 110%;
        letter-spacing: -0.05em;
    }
    .form_row span input, 
    .form_row span textarea {
        border-radius: 3px;
        padding: 17px 16px;
        height: 47px;
        font-size: 14px;
        line-height: 90%;
        letter-spacing: -0.05em;
    }
    .form_row label {
        font-size: 13px;
        line-height: 120%;
        letter-spacing: -0.05em;
    }
    .form_row.button input {
        /* height: 47px; */
        border-radius: 65px;
        padding: 20px 0;
        font-size: 16px;
        line-height: 97%;  
        text-align: center; 
    }
    .under_form_text {
        font-size: 12px;
        line-height: 120%;
        letter-spacing: -0.02em;
        text-align: center;
    }
    .support_list .image {
        width: 24px;
        height: 24px;
    }
    .bottom_blue_block {
        height: 40px;
        border-radius: 0 0 20px 20px;
    }
    .contacts_decor {
        width: 90vw;
    }
    .contacts_decor.right {
        right: -50%;
    }
    .contacts_decor.left {
        left: -50%;
    }
    .contacts {
        padding: 0 0 60px 0;
    }
    .why_blocks {
        padding: 20px 0;
    }
    .why_blocks li {
        border-radius: 8px;
        padding: 20px 24px;
        row-gap: 14px;
    }
    .why_blocks li .top_row .icon {
        width: 28px;
        height: 28px;
    }
    .why_blocks li .bottom_row h6 {
        font-size: 16px;
        line-height: 120%;
        letter-spacing: -0.02em;
    }
    .why_blocks li .bottom_row p {
        font-size: 14px;
    }
    .products_we_work {
        border-radius: 20px;
        padding: 32px 20px;
    }
    .products_we_work .inner_content .left_col,
    .products_we_work .left_col .title {
        width: 100%;
    }
    .products_we_work .inner_content {
        row-gap: 24px;
    }
    .products_we_work .left_col .title  {
        margin-bottom: 10px;
    }
    .products_we_work .left_col .text {
        font-size: 12px;
        line-height: 120%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .products_we_work .inner_content .products_list li {
        width: 100%;    
        min-height: unset;
        aspect-ratio: unset;
        
    }
    .products_list li .image {
        aspect-ratio: 2.2058823529411766/1;
        overflow: hidden;
        border-radius: 8px;
    }
    .products_list li .image:after,
    .products_we_work .decor_image {
        display: none;
    }
    .products_list li .description {
        margin-top: 10px;
        font-size: 18px;
        line-height: 120%;
        letter-spacing: -0.02em;
        text-align: center;
    }
    .why_section {
        padding-bottom: 30px;
    }
    .footer_contact_container {
        padding-top: 30px;
    }
    .footer_contact_container .top_row h4 {
        font-size: 24px;
        line-height: 100%;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .footer_contact_form .form_row p {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }
    .footer_contact_form {
        margin-top: 20px;
    }
    .footer_contact_form .form_row.button input {
        padding: 20px 0;
        text-align: center;
    }
    .footer_inner_block .col {
        row-gap: 20px;
    }
    .footer_services li:nth-child(1), 
    .footer_services li:nth-child(2), 
    .footer_services li:nth-child(3), 
    .footer_services li:nth-child(4), 
    .footer_services li:nth-child(5), 
    .footer_services li:nth-child(6) {
        width: 100%;
        font-size: 14px;
        font-weight: 400;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .footer_services li:nth-child(5) {
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .under_services {
        margin-top: 28px;
        font-size: 20px;
        line-height: 120%;
        letter-spacing: -0.05em;
    }
    .contact_item .tel {
        font-weight: 500;
        font-size: 24px;
        line-height: 97%;
        letter-spacing: -0.02em;
    }
    .contact_item .mail {
        font-weight: 400;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .contact_item .location_container .city {
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .contact_item .location_container .street {
        font-size: 14px;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .footer_bottom {
        margin: 28px 0;
        padding: 20px 0;
    }
    .copyright {
        padding-bottom: 30px;
    }
    .contact_form_popup .popup_inner {
        max-width: 300px;
        width: 90vw;
    }
    .contact_form_popup .popup_inner {
        padding: 32px 24px;
    }
    .popup_inner .form_row {
        margin-bottom: 8px;
    } 
    .popup_logo {
        width: 112px;
    }
    .close_popup {
        width: 20px;
        height: 20px;
    }
    .service_item .title {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        font-weight: 400;
        font-size: 26px;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .service_button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        transition: all .3s linear;
        -ms-transition: all .3s linear;
        -moz-transition: all .3s linear;
        -webkit-transition: all .3s linear;
        -o-transition: all .3s linear;
    }
    .service_item .bg_image:after {
        background: -webkit-linear-gradient(bottom, #160f44 0%, rgba(22, 15, 68, 0) 100%);
        background: linear-gradient(0deg, #160f44 0%, rgba(22, 15, 68, 0) 100%);
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
        height: 100%;
    }
    .service_item .inner_content {
        -webkit-transform: translateY(calc(100% - 70px));
                transform: translateY(calc(100% - 70px));
    }
    .service_item .text {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    .service_item .text {
        margin-top: 8px;
        font-weight: 400;
        font-size: 12px;
        line-height: 150%;
        letter-spacing: -0.02em;
    }
    .service_button.clicked {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
        background: var(--blue);
    }
    .service_item.opened .inner_content {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    } 
    .service_item.opened .text {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
    .service_item.opened .bg_image:after {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
    .mobile_menu .close_menu {
        width: 28px;
        height: 28px;
    }
    .mobile_menu {
        padding: 60px 0;
    }
    .mobile_menu_bottom {
        width: calc(100% - 32px);
        bottom: 20px;
        font-weight: 400;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: -0.05em;
    }
    .mobile_menu_logo {
        width: 147px;
        margin-bottom: 10vh;

    }
    .mobile_menu_list {
        row-gap: 37px;
        font-weight: 400;
        font-size: 28px;
        line-height: 97%;
        letter-spacing: -0.02em;
    }
}