

/* Start:/local/templates/webcat/template_styles.css?175007316577074*/
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

* {
    padding: 0;
    margin: 0;
    border: 0
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:focus,
:active {
    outline: none
}

a:focus,
a:active {
    outline: none
}

nav,
footer,
header,
aside {
    display: block
}

html,
body {
    height: 100%;
    width: 100%;
    font-size: 100%;
    line-height: 1;
    font-size: 14px;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input,
button,
textarea {
    font-family: inherit
}

input::-ms-clear {
    display: none
}

button {
    cursor: pointer
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

a,
a:visited {
    text-decoration: none
}

a:hover {
    text-decoration: none
}

ul li {
    list-style: none
}

img {
    vertical-align: top
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

@font-face {
    font-family: "FactorA-Regular";
    src: url(/local/templates/webcat/js/../fonts/FactorA-Regular.otf) format("opentype");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "JxTabeDemoRegular";
    src: url(/local/templates/webcat/js/../fonts/JxTabeDemoRegular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "FactorA-Light";
    src: url(/local/templates/webcat/js/../fonts/FactorALight-Regular.ttf) format("truetype");
    font-weight: lighter;
    font-style: normal
}

@font-face {
    font-family: "FactorA-Medium";
    src: url(/local/templates/webcat/js/../fonts/FactorA-Medium.otf) format("opentype");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "FactorA-Bold";
    src: url(/local/templates/webcat/js/../fonts/FactorA-Bold.otf) format("opentype");
    font-weight: normal;
    font-style: normal
}

header p {
    font-family: "FactorA-Regular";
    font-size: 1.875vw;
    color: #0b0b0b;
    text-align: right;
    margin: 0;
    /* Адаптация для Safari */
    @supports not (font-size: 1.875vw) {
        font-size: 1.875em;
    }
    @media screen and (max-width: 834px) {
        font-size: 14px;
    }
}

.menu p {
    color: #141414
}

#menu.menu_opened .toolbar p,
#menu.menu_opened .discuss p {
    color: #fdfcf9
}

nav a {
    color: #fdfcf9;
    font-family: "JxTabeDemoRegular";
    font-size: 3.75vw
}

.discuss_opened h2 {
    font-family: "FactorA-Medium";
    font-size: 1.4814vh;
    color: #0b0b0b;
    font-weight: normal
}

.discuss_opened span {
    font-family: "FactorA-Regular";
    font-size: 1.4814vh;
    color: #6c7283;
    font-weight: normal
}

.discuss_opened span a {
    font-family: "FactorA-Medium";
    font-size: 1.4814vh;
    color: #6c7283;
    font-weight: normal
}

.discuss_opened input::-webkit-input-placeholder {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.discuss_opened input::-moz-placeholder {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.discuss_opened input:-ms-input-placeholder {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.discuss_opened input::-ms-input-placeholder {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.discuss_opened input::placeholder {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.discuss_opened input {
    font-family: "FactorA-Regular";
    font-size: 3.3333vh
}

.discuss_head h2 {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh;
    color: #0b0b0b;
    font-weight: normal
}

.upload_file p {
    font-family: "FactorA-Medium";
    font-size: 3.3333vh;
    color: #b0b5c1
}

.upload_btn {
    color: #fff;
    font-family: "FactorA-Medium";
    font-size: 3.3333vh
}

.info_about_us .description_info h1 {
    font-family: "FactorA-Bold";
    font-size: 2.60416vw;
    font-weight: normal;
    margin: 0%
}

.info_about_us .description_info span {
    font-family: "FactorA-Regular";
    font-size: 2.60416vw;
    font-weight: normal
}

.info_about_us .description_info button {
    font-family: "FactorA-Medium";
    font-size: 2.60416vw
}

.info_about_us .info_blocks h2 {
    font-family: "FactorA-Medium";
    font-weight: normal;
    font-size: 2.6041vw;
    margin: 0 0 1.1979vw 0
}

.info_about_us .info_blocks p {
    font-family: "FactorA-Regular";
    font-size: 1.5625vw;
    margin: 0%;
    width: 33.802vw
}

.info_about_us .more_info_btn {
    font-family: "FactorA-Medium";
    font-size: 2.6041vw
}

.cases .cases_head h2 {
    font-family: "JxTabeDemoRegular";
    font-weight: normal;
    font-size: 13.3333vw
}

.cases .case_small::after,
.cases .case_horizontal_video::after,
.cases .case_vertical_video::after,
.cases .case_large_video::after {
    font-family: "FactorA-Medium";
    font-size: 1.875vw
}

.workers_block h2 {
    font-family: "FactorA-Bold";
    font-weight: normal;
    font-size: 2.6041vw
}

.workers_block h2 span {
    font-family: "FactorA-Regular";
    font-weight: normal;
    font-size: 2.6041vw
}

.workers_block .workers_corousel .worker_card h2 {
    font-family: "FactorA-Regular";
    font-size: 1.875vw;
    font-weight: normal
}

.workers_block .workers_corousel .worker_card h2 span {
    font-family: "FactorA-Regular";
    font-size: 1.0416vw;
    font-weight: normal
}

.discuss_block h2 {
    font-family: "JxTabeDemoRegular";
    font-size: 4.375vw;
    font-weight: normal
}

.discuss_block form h2 {
    font-family: "FactorA-Medium";
    font-size: 2.6041vw;
    font-weight: normal
}

.discuss_block input,
.discuss_block textarea {
    font-family: "FactorA-Regular";
    font-size: 1.875vw
}

.discuss_block span {
    font-family: "FactorA-Regular";
    font-size: .8333vw
}

.discuss_block span a {
    font-family: "FactorA-Medium";
    font-size: .8333vw
}

.discuss_block form button {
    font-family: "FactorA-Regular";
    font-size: 1.875vw
}

.footer_nav a,
.footer_info,
.company_info {
    font-family: "FactorA-Medium";
    font-size: 1.875vw;
    font-weight: normal
}

@media screen and (max-width: 430px) {
    .btn_about_company {
        font-family: "FactorA-Light" !important;
        font-size: 13px !important;
        font-weight: 400;
        /* 3.30416vw */
    }
}

.discuss_overlay {
    display: none;
    position: fixed;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3)
}

.discuss_overlay.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.discuss_wrapper_inside {
    margin: 4.16666vh 4.16666vw 4.25925vh 2.4479vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 88.0555vh
}

.discuss_opened {
    background-color: #fdfcf9;
    width: 45.9375vw;
    height: 96.4814vh;
    margin: 0%;
    border-radius: 3.7037vh 0px 0px 3.7037vh;
    background-color: #fdfcf9;
    z-index: 2
}

.discuss_opened label h2 {
    margin: 0 0 2.6851vh 0
}

.discuss_opened a {
    text-decoration: none
}

.discuss_gap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.discuss_gap label {
    margin: 3.0555vh 0 0 0
}

.discuss_opened label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.discuss_opened input {
    border: 0;
    border-bottom: .1041vw solid #6c7283;
    padding: 0%;
    height: 4.3518vh;
    width: 39.3229vw;
    background-color: rgba(0, 0, 0, 0);
    color: #6c7283
}

.discuss_opened input:focus {
    border: 0;
    border-bottom: .1041vw solid #1758ff;
    outline: none;
    color: #0b0b0b
}

.discuss_opened input:focus::-webkit-input-placeholder {
    visibility: hidden
}

.discuss_opened input:focus::-moz-placeholder {
    visibility: hidden
}

.discuss_opened input:focus:-ms-input-placeholder {
    visibility: hidden
}

.discuss_opened input:focus::-ms-input-placeholder {
    visibility: hidden
}

.discuss_opened input:focus::placeholder {
    visibility: hidden
}

.discuss_opened input::-webkit-input-placeholder {
    color: #b0b5c1
}

.discuss_opened input::-moz-placeholder {
    color: #b0b5c1
}

.discuss_opened input:-ms-input-placeholder {
    color: #b0b5c1
}

.discuss_opened input::-ms-input-placeholder {
    color: #b0b5c1
}

.discuss_opened input::placeholder {
    color: #b0b5c1
}

.discuss_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 1.57407vh 0;
    width: 39.3229vw
}

.discuss_head h2 {
    text-align: left;
    margin: 0%;
    white-space: nowrap
}

.discuss_head button {
    background-color: rgba(0, 0, 0, 0);
    border: none;
    padding: 0%
}

.discuss_head button svg {
    width: 1.7708vw;
    height: 1.7708vw
}

.discuss_head button:hover {
    cursor: pointer
}

.discuss_head button:hover #discuss_svg {
    fill: #1758ff
}

.discuss_foot {
    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;
    margin: 3.6111vh 0 0 0;
    width: 39.3229vw
}

.upload_file {
    margin: 3.0555vh 0 0 0
}

.upload_file h2 {
    margin: 0 0 2.6851vh 0
}

.upload_file svg {
    width: 2.0833vw;
    height: 3.7037vh
}

.upload_file label {
    width: 39.3229vw;
    height: 4.3518vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: justify;
        align-content: space-between;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    border: 0;
    border-bottom: .1041vw solid #6c7283;
    margin: 0%
}

.upload_btn {
    color: #fff;
    background-color: #1758ff;
    border-radius: .5208vw;
    border: none;
    padding: .57291vw .9375vw
}

.upload_btn:hover {
    background-color: #0b0b0b
}

@media screen and (max-width: 1280px) {
    .discuss_opened {
        width: 51.02vw
    }
}

@media screen and (max-width: 834px) {
    input::-webkit-input-placeholder {
        font-size: 1.918vw !important
    }
    input::-moz-placeholder {
        font-size: 1.918vw !important
    }
    input:-ms-input-placeholder {
        font-size: 1.918vw !important
    }
    input::-ms-input-placeholder {
        font-size: 1.918vw !important
    }
    input::placeholder {
        font-size: 1.918vw !important
    }

    .input_file--text {
        font-size: 1.918vw !important
    }

    .discuss_opened {
        width: 100vw;
        height: auto;
        position: absolute;
        top: 0;
        padding-bottom: 30px;
        border-radius: 0px 0px 3.7037vh 3.7037vh
    }

    .discuss_wrapper_inside {
        height: 100%
    }

    .discuss_head {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse
    }

    #discuss_exit {
        width: 2.998vw;
        height: 2.998vw;
        -ms-flex-item-align: end;
            -ms-grid-row-align: end;
            align-self: end
    }

    .discuss_gap {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between
    }

    .discuss_gap__row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column
    }

    .discuss_foot {
        width: 100%
    }

    .discuss_foot__item {
        width: 46.523vw !important
    }

    .upload_btn {
        padding: 1.199vw 2.398vw 1.199vw 2.398vw
    }
}

.heder_wrapper {
    background: rgba(0, 0, 0, .3);
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000000
}

#heder_wrapper {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 10000000
}

.logoHead {
    display: inline-block;
    -ms-flex-negative: 0;
        flex-shrink: 0
}

.logoHead svg {
    width: 3.02vw
}

.socialMedia {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.458vw
}

.socialMedia a:first-child{
    min-width: 40px;
    width: 1.979vw
}

.socialMedia a:first-child:hover {
    cursor: pointer
}

.socialMedia a:first-child:hover #vk {
    fill: #1758ff
}

.socialMedia a:last-child {
    min-width: 40px;
    width: 1.979vw
}

.socialMedia a:last-child:hover {
    cursor: pointer
}

.socialMedia a:last-child:hover #tg {
    fill: #1758ff
}

.flexheader {
    height: auto;
    width: 91.75%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 2.16041vw 4.16666vw 0 4.16666vw;
    /* Адаптация для Safari */
    @supports not (height: auto) {
        height: auto;
    }
}

header {
    width: 100%;
    height: 8.28125vw;
    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;
    background-color: #fdfcf9;
    border-radius: 0 0 2.083vw 2.083vw;
    -webkit-transition: -webkit-transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75);
    transition: -webkit-transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75);
    -o-transition: transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75);
    transition: transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75);
    transition: transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75), -webkit-transform .7s cubic-bezier(0.78, 0.19, 0.18, 0.75);
    /* Адаптация для Safari */
    @supports not (height: 8.28125vw) {
        height: 8.28125em;
    }
}

header #logo-white,
header nav {
    display: none
}

header.hide {
    -webkit-transform: translateY(-8.3vw);
        -ms-transform: translateY(-8.3vw);
            transform: translateY(-8.3vw)
}

.toolbar {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 2.9166vw;
    gap: 6.77vw
}

.discuss_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: .3125vw;
    cursor: pointer;
    padding: 0%;
    border: none;
    background-color: rgba(0, 0, 0, 0)
}

.discuss_btn svg {
    width: 1.666vw;
    @media screen and (max-width: 834px) {
        width: 3.3vw;
    }
}

.discuss_btn #lightning-blue {
    display: none
}

.discuss_btn:hover p {
    color: #1758ff
}

.discuss_btn:hover #lightning {
    display: none
}

.discuss_btn:hover #lightning-blue {
    display: inline
}

.menu_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .573vw;
    cursor: pointer;
    border: none;
    padding: 0%;
    background-color: rgba(0, 0, 0, 0)
}

.menu_btn svg {
    display: none
}

.menu_btn:hover p {
    color: #1758ff
}

.create-line {
    width: 2.34375vw;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.create-line::before {
    content: "";
    background: #1758ff;
    width: 2.34375vw;
    height: .1041vw;
    top: 1.041vw;
    position: absolute
}

.menu_exit {
    border: none;
    background-color: rgba(0, 0, 0, 0);
    padding: 0%;
    margin: 0 0 0 calc(var(--margin_exit) - 3.541vw + .573vw)
}

.menu_exit svg {
    width: 3.541vw
}

.menu_exit div,
.menu_exit p {
    display: none
}

.menu_exit:hover {
    cursor: pointer
}

.menu_exit:hover #menu_exit {
    fill: #141414
}

#menu.menu_opened {
    height: 45vw;
    width: 100%;
    position: absolute;
    z-index: 2;
    border-radius: 0px 0px 2.0833vw 2.0833vw;
    background: #1758ff
}

#menu.menu_opened #logo {
    display: none
}

#menu.menu_opened #lightning {
    fill: #fdfcf9
}

#menu.menu_opened .discuss_btn:hover #lightning-blue {
    display: inline;
    fill: #fdfcf9
}

#menu.menu_opened .discuss_btn:hover #lightning {
    display: none
}

#menu.menu_opened #logo-white {
    display: inline
}

#menu.menu_opened nav {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: 3.6458vw 0 0 0;
    overflow: visible
}

#menu.menu_opened nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.70833vw;
    list-style: none;
    margin: 0%;
    padding: 0%
}

#menu.menu_opened nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center
}

#menu.menu_opened nav a {
    text-decoration: none
}

#menu.menu_opened .link-menu {
    position: relative;
    text-decoration: none;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
    cursor: none
}

#menu.menu_opened .link-menu.active::before,
#menu.menu_opened .link-menu.active::after {
    visibility: visible
}

#menu.menu_opened .link-menu::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    -webkit-clip-path: circle(0% at 0% 0%);
            clip-path: circle(0% at 0% 0%);
    z-index: 4;
    visibility: hidden;
    text-shadow: 1px 1px 1px #1758ff
}

#menu.menu_opened .link-menu::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150%;
    height: 250%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: #141414;
    -webkit-clip-path: circle(0% at 0% 0%);
            clip-path: circle(0% at 0% 0%);
    z-index: 3;
    visibility: hidden
}

#menu.menu_opened .link-menu:hover {
    color: #141414;
    text-shadow: 0px -1px 1px #fff
}

#menu.menu_opened .link-menu:hover::before {
    -webkit-clip-path: circle(2.8645vw at var(--cursor-x) var(--cursor-y));
            clip-path: circle(2.8645vw at var(--cursor-x) var(--cursor-y))
}

#menu.menu_opened .link-menu:hover::after {
    -webkit-clip-path: circle(2.8645vw at var(--cursor-x1) var(--cursor-y1));
            clip-path: circle(2.8645vw at var(--cursor-x1) var(--cursor-y1))
}

#menu.menu_opened #vk,
#menu.menu_opened #tg {
    fill: #fff
}
.phone_number{
    a{
        color: inherit;
    }
}

.phone_number:hover a {
    color: #1758ff; /* основной цвет, когда меню закрыто */
}

#menu.menu_opened .phone_number:hover a {
    color: black; /* цвет, когда меню открыто */
}

.socialMedi a:hover #vk {
    fill: #000
}

.socialMedi a:hover #tg {
    fill: #000
}

#vk:hover {
    fill: #000
}

@media screen and (max-width: 834px) {
    .menu_opened {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        height: 50vh !important
    }

    .menu_opened nav {
        padding-bottom: 10vh
    }

    .menu_opened nav a {
        font-size: 47px
    }

    .menu_opened nav a:hover {
        text-shadow: none !important
    }

    .phone_number {
        display: none
    }

    .toolbar {
        gap: 13.77vw
    }

    #media_1,
    #media_2 {
        width: 29px !important
    }

    #logo {
        width: 34px
    }
}

@media screen and (max-width: 430px) {
    header {
        height: 56px
    }

    header.hide {
        -webkit-transform: translateY(-56px);
            -ms-transform: translateY(-56px);
                transform: translateY(-56px)
    }

    .menu_btn p {
        font-size: 18px !important
    }

    .logoHead svg {
        width: 5.02vw
    }

    .toolbar .socialMedia {
        display: none
    }

    .toolbar .menu_btn {
        gap: 1.573vw
    }

    .toolbar .menu_btn p {
        font-size: 3.245vw
    }

    .toolbar .menu_btn .create-line::before {
        content: "";
        background: #1758ff;
        width: 3.34375vw;
        height: 2px;
        top: 12px;
        position: absolute
    }

    .toolbar .menu_exit .phone_number {
        display: none
    }

    .toolbar .menu_exit .discuss_btn {
        display: none !important
    }

    .toolbar .menu_exit svg {
        width: 7.541vw
    }

    .toolbar .menu_exit svg path {
        fill: #fff !important
    }

    .menu_opened {
        height: 100vh !important;
        background-color: #000 !important
    }

    .menu_opened nav {
        -ms-flex-item-align: start;
            align-self: flex-start;
        position: absolute;
        top: 15%;
        left: 5%
    }

    .menu_opened nav ul li {
        -webkit-box-pack: start !important;
            -ms-flex-pack: start !important;
                justify-content: flex-start !important
    }

    .menu_opened nav ul li a {
        font-size: 8vw;
        line-height: 8vh
    }

    .menu_opened .phone_number {
        display: block;
        position: absolute;
        top: 60%;
        left: 5%;
        font-size: 3vw;
        font-family: "FactorA-Light" !important;
    }

    .menu_opened .discuss_btn {
        position: absolute;
        top: 55%;
        left: 10%
    }

    .menu_opened .discuss_btn p {
        font-size: 4vw !important;
        font-family: "FactorA-Light" !important
    }

    .menu_opened .discuss_btn svg {
        position: absolute;
        left: -15%;
        width: 3.666vw;
        top: -40%
    }

    #discuss_exit {
        width: 3.998vw
    }

    #discuss_exit svg {
        width: 100% !important;
        height: 100% !important
    }

    .link-menu:hover {
        color: #1758ff !important;
        text-shadow: none !important
    }
}

body {
    padding: 0%;
    margin: 0%;
    background-color: #fdfcf9;
    overflow-x: hidden
}

body #main {
    overflow: hidden
}

.logo_wrapper {
    position: relative
}

.logo_main {
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative
}

.logo_main svg {
    overflow: visible;
    display: block;
    z-index: 3
}

#logo_for_anim {
    width: 91.75vw
}

.group_for_anim {
    position: relative
}

.group_for_anim #top_u {
    -webkit-transform: translate(31.89%, 61.1%);
        -ms-transform: translate(31.89%, 61.1%);
            transform: translate(31.89%, 61.1%);
    visibility: hidden
}

.group_for_anim #bottom_u {
    -webkit-transform: translate(31.89%, 93.75%);
        -ms-transform: translate(31.89%, 93.75%);
            transform: translate(31.89%, 93.75%);
    visibility: hidden
}

.group_for_anim #top_e,
.group_for_anim #midle_e {
    -webkit-transform: translate(16%, 0%);
        -ms-transform: translate(16%, 0%);
            transform: translate(16%, 0%);
    visibility: hidden
}

.group_for_anim #bottom_e {
    -webkit-transform: translate(16%, 32.7%);
        -ms-transform: translate(16%, 32.7%);
            transform: translate(16%, 32.7%);
    visibility: hidden
}

.group_for_anim #right_c {
    -webkit-transform: translate(55.55%, 0%);
        -ms-transform: translate(55.55%, 0%);
            transform: translate(55.55%, 0%);
    visibility: hidden
}

.group_for_anim #left_c {
    -webkit-transform: translate(53.2%, 0%);
        -ms-transform: translate(53.2%, 0%);
            transform: translate(53.2%, 0%);
    visibility: hidden
}

.logo_animed #origin_e,
.logo_animed #origin_c,
.logo_animed #origin_u {
    visibility: hidden
}

.logo_animed #top_e {
    -webkit-transform: translate(16%, -5%);
        -ms-transform: translate(16%, -5%);
            transform: translate(16%, -5%);
    visibility: visible;
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
    transition: transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77), -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
}

.logo_animed #top_e.active {
    -webkit-transform: translate(16%, 0%);
        -ms-transform: translate(16%, 0%);
            transform: translate(16%, 0%);
    -webkit-transition: -webkit-transform 0.7s ease-in-out;
    transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out;
}

.logo_animed #midle_e {
    visibility: visible
}

.logo_animed #bottom_e {
    -webkit-transform: translate(16%, 38%);
        -ms-transform: translate(16%, 38%);
            transform: translate(16%, 38%);
    visibility: visible;
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
    transition: transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77), -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);  
}

.logo_animed #bottom_e.active {
    -webkit-transform: translate(16%, 32.7%);
        -ms-transform: translate(16%, 32.7%);
            transform: translate(16%, 32.7%);
    -webkit-transition: -webkit-transform 0.7s ease-in-out;
    transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out;
}

.logo_animed #left_c {
    -webkit-transform: translate(50.9%, 0%);
        -ms-transform: translate(50.9%, 0%);
            transform: translate(50.9%, 0%);
    visibility: visible;
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
    transition: transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77), -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
}

.logo_animed #left_c.active {
    -webkit-transform: translate(53.2%, 0%);
        -ms-transform: translate(53.2%, 0%);
            transform: translate(53.2%, 0%);
    -webkit-transition: -webkit-transform 0.7s ease-in-out;
    transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out;
}

.logo_animed #right_c,
.logo_animed #top_u {
    visibility: visible
}

.logo_animed #bottom_u {
    -webkit-transform: translate(31.89%, 99.8%);
        -ms-transform: translate(31.89%, 99.8%);
            transform: translate(31.89%, 99.8%);
    visibility: visible;
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
    transition: transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77), -webkit-transform 0.7s cubic-bezier(0.42, 0, 0.22, 0.77);
}

.logo_animed #bottom_u.active {
    -webkit-transform: translate(31.89%, 93.75%);
        -ms-transform: translate(31.89%, 93.75%);
            transform: translate(31.89%, 93.75%);
    -webkit-transition: -webkit-transform 0.7s ease-in-out;
    transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out;
}
/* cubic-bezier(0.78, 0.19, 0.18, 0.75) */
.logo_animed #top_e,
.logo_animed #bottom_e,
.logo_animed #left_c,
.logo_animed #bottom_u {
    cursor: pointer
}

.anim_hand {
    display: inline-block;
    z-index: -1;
    height: 35vw;
    width: 35vw;
    position: absolute;
    bottom: -37%;
    right: 0%;
    -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
            transform: rotate(30deg)
}

@media screen and (max-width: 834px) {
    .logo_wrapper {
        display: none
    }

    .anim_hand {
        display: none !important
    }
}

.info_blocks_title__mb {
    display: none
}

.info_about_us {
    margin: 11.979vw 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center
}

.info_about_us .description_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    height: 9.375vw
}

.info_about_us .description_info button {
    color: #fdfcf9;
    background-color: #0b0b0b;
    border: none;
    border-radius: 2.0833vw 2.0833vw 0px 2.0833vw;
    padding: .4166vw 3.0208vw;
    height: 3.958vw
}

.info_about_us .description_info button:hover {
    background-color: #1758ff
}

.info_about_us .background_hover_left,
.info_about_us .background_hover_right {
    position: absolute;
    bottom: -6%;
    right: -3.3%;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    border-radius: .4vw;
    background-color: rgba(0, 0, 0, 0);
    height: 3vw;
    width: 3vw;
    -webkit-filter: url(#goo);
            filter: url(#goo);
    -webkit-filter: url("#goo");
            filter: url("#goo")
}

.info_about_us .background_hover_left .block_hover_left,
.info_about_us .background_hover_right .block_hover_left {
    position: absolute;
    left: 0%;
    top: 0%;
    height: 100%;
    width: 100%;
    overflow: hidden
}

.info_about_us .background_hover_left .container-anim,
.info_about_us .background_hover_right .container-anim {
    z-index: 111;
    position: relative
}

.info_about_us .background_hover_left .waves,
.info_about_us .background_hover_right .waves {
    -webkit-filter: url("#goo");
            filter: url("#goo");
    width: 100%;
    height: 100%;
    position: relative
}

.info_about_us .background_hover_left .wave-left,
.info_about_us .background_hover_left .wave-right,
.info_about_us .background_hover_right .wave-left,
.info_about_us .background_hover_right .wave-right {
    width: 120%;
    height: 100%;
    position: absolute;
    background: rgba(0, 0, 0, 0);
    top: -10%
}

.info_about_us .background_hover_left .wave-left,
.info_about_us .background_hover_right .wave-left {
    z-index: 1111;
    left: -3.865vw;
    border-radius: 0 0 50% 50%;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1
}

.info_about_us .background_hover_left .wave-right,
.info_about_us .background_hover_right .wave-right {
    z-index: 1111;
    right: -3.865vw;
    border-radius: 50% 50% 0 0;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1
}

@-webkit-keyframes wave-left {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }

    100% {
        -webkit-transform: translateX(2.08vw);
                transform: translateX(2.08vw);
        height: 26.042vw
    }
}

@keyframes wave-left {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }

    100% {
        -webkit-transform: translateX(2.08vw);
                transform: translateX(2.08vw);
        height: 26.042vw
    }
}

@-webkit-keyframes wave-right {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }

    100% {
        -webkit-transform: translateX(-2.08vw);
                transform: translateX(-2.08vw);
        height: 26.042vw
    }
}

@keyframes wave-right {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }

    100% {
        -webkit-transform: translateX(-2.08vw);
                transform: translateX(-2.08vw);
        height: 26.042vw
    }
}

@-webkit-keyframes wave-left-reverse {
    0% {
        -webkit-transform: translateX(2.08vw);
                transform: translateX(2.08vw);
        height: 26.042vw
    }

    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }
}

@keyframes wave-left-reverse {
    0% {
        -webkit-transform: translateX(2.08vw);
                transform: translateX(2.08vw);
        height: 26.042vw
    }

    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }
}

@-webkit-keyframes wave-right-reverse {
    0% {
        -webkit-transform: translateX(-2.08vw);
                transform: translateX(-2.08vw);
        height: 26.042vw
    }

    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }
}

@keyframes wave-right-reverse {
    0% {
        -webkit-transform: translateX(-2.08vw);
                transform: translateX(-2.08vw);
        height: 26.042vw
    }

    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        height: 13.021vw
    }
}

.info_about_us .background_hover_right {
    position: absolute;
    top: -7% !important;
    right: -3.3%;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg)
}

.info_about_us .background_hover_right .block_hover_right {
    position: absolute;
    left: 0%;
    top: 0%;
    height: 2.5vw;
    width: 3vw;
    overflow: hidden
}

.info_about_us .background_hover_right .wave-left-2,
.info_about_us .background_hover_right .wave-right-2 {
    width: 120%;
    height: 100%;
    position: absolute;
    background: rgba(0, 0, 0, 0);
    top: -10%
}

.info_about_us .background_hover_right .wave-left-2 {
    z-index: 1111;
    left: -3.865vw;
    border-radius: 0 0 50% 50%;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1
}

.info_about_us .background_hover_right .wave-right-2 {
    z-index: 1111;
    right: -3.865vw;
    border-radius: 50% 50% 0 0;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1
}

.info_about_us .info_blocks {
    margin: 5.3645vw 0 0 0;
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
}

.info_about_us .info_block {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 2.4479vw 3.3854vw;
    border-radius: 2.0833vw
}

.info_about_us #blue_block {
    background-color: #1758ff;
    color: #fdfcf9
}

.info_about_us #white_block {
    background-color: #fdfcf9;
    color: #141414;
    z-index: 111
}

.info_about_us #white_block:nth-child(2) {
    z-index: 111
}

.info_about_us #white_btn_info {
    background-color: #fdfcf9
}

.info_about_us #white_btn_info:hover svg path {
    fill: #1758ff
}

.info_about_us #blue_btn_info {
    background-color: #1758ff
}

.info_about_us #blue_btn_info svg path {
    fill: #fdfcf9
}

.info_about_us #blue_btn_info:hover svg path {
    fill: #141414
}

.info_about_us .info_btn {
    position: absolute;
    top: .677vw;
    right: .625vw;
    border: none;
    padding: .7291vw 1.1458vw .4166vw 1.1458vw;
    border-radius: 2.6041vw 2.6041vw 0 2.6041vw
}

.info_about_us .info_btn svg {
    width: 2.34375vw;
    height: 2.34375vw
}

.info_about_us .more_info_btn {
    position: absolute;
    right: 0;
    bottom: 0;
    border: none;
    border-radius: 2.0833vw 2.0833vw 0px 2.0833vw;
    padding: .4166vw 3.0208vw;
    background-color: #141414;
    color: #fdfcf9
}

.info_about_us .more_info_btn:hover {
    background-color: #1758ff
}

@media screen and (max-width: 1280px) {
    .description_info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column
    }

    .description_info h1 {
        -ms-flex-item-align: start;
            align-self: flex-start
    }
}

@media screen and (max-width: 834px) {
    .info_about_us {
        height: auto
    }

    .info_btn {
        left: 2.25vw;
        top: 2.25vw !important;
        background-color: rgba(0, 0, 0, 0) !important
    }

    .info_btn svg path {
        fill: #fff
    }

    .content_in_block {
        padding-top: 4.918vw;
        height: auto;
        padding-bottom: 2.25vw
    }

    .content_in_block h2 {
        font-family: "FactorA-Regular" !important;
        font-size: 2.041vw !important;
        margin: 0 0 2.1979vw 0 !important;
        font-weight: 500 !important;
        letter-spacing: .4px
    }

    .content_in_block p {
        font-family: "FactorA-Light" !important;
        font-weight: 400;
        line-height: normal;
        letter-spacing: normal
    }

    #white_block .info_btn svg path {
        fill: #000
    }

    .info_block {
        height: auto !important;
        width: 46.0625vw !important
    }

    .btn_about_company {
        width: 28.372vw;
        padding: 0 0 0;
        height: 5vw;
        letter-spacing: .4px;
        border-radius: 2.4833vw 4.0833vw 0px 2.4833vw !important;
        letter-spacing: .4px;
        margin-top: 1vh
    }

    .description_info {
        height: auto !important
    }

    .more_info_btn {
        border-radius: 2.0833vw 3.5833vw 0px 2.0833vw !important;
        padding: .7166vw 5.0208vw !important;
        letter-spacing: normal
    }

    #blue_block .info_btn svg path {
        fill: #fff !important
    }
}

@media screen and (max-width: 430px) {
    .description_info h1 {
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
        font-size: 4.00416vw !important
    }

    .description_info h1 span {
        font-size: 4.00416vw !important
    }

    .description_info .btn_about_company {
        height: 6.958vw !important;
        width: 30.372vw;
        border-radius: 4.4833vw 8.0833vw 0px 4.4833vw !important;
        margin-top: 30px;
        margin-right: 4%
    }

    .info_blocks_title__mb {
        display: inline-block;
        font-family: "JxTabeDemoRegular" !important;
        color: #fdfcf9;
        padding: 6.279vw 11.628vw .326vw 0;
        font-size: 10vw !important;
        margin: 56px 0 1.1979vw 0 !important
    }

    .info_blocks_mb {
        -ms-grid-columns: 1fr !important;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 10px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        background-color: #1758ff;
        padding: 10px 16px 30px 16px;
        border-radius: 4.651vw 4.651vw 0px 0px
    }

    .info_blocks_mb .info_block {
        width: 100% !important;
        background-color: #fdfcf9 !important;
        color: #000 !important;
        border-radius: 4.651vw;
        padding: 3.479vw 3.9854vw
    }

    .info_blocks_mb .info_block #white_btn_info svg path {
        fill: #000 !important
    }

    .info_blocks_mb .info_block .info_btn {
        width: auto;
        height: auto;
        margin: 10px 0
    }

    .info_blocks_mb .info_block .info_btn svg {
        width: auto;
        height: 5.3vw
    }

    .info_blocks_mb .info_block .content_in_block {
        width: auto;
        padding-top: 7.918vw
    }

    .info_blocks_mb .info_block .content_in_block h2 {
        font-size: 4vw !important;
        margin: 20px 0px !important;
        font-family: "FactorA-Medium"
    }

    .info_blocks_mb .info_block .content_in_block p {
        font-size: 3vw !important;
        line-height: normal;
        width: auto;
        letter-spacing: normal
    }

    .info_blocks_mb .info_block .more_info_btn {
        background-color: #fdfcf9;
        color: #000;
        font-family: "FactorA-Light";
        font-size: 3.6041vw;
        width: 38vw;
        height: 34px;
        border-radius: 4.0833vw 8.0833vw 0px 4.0833vw !important
    }

    .info_block:last-child {
        background-color: rgba(0, 0, 0, 0) !important;
        height: 50px !important
    }
}

.stub_block {
    width: 100%;
    height: 10vw;
    background-color: #fdfcf9
}

.cases {
    width: 100%;
    height: 207vw;
    margin: 3.3854vw 0 0 0;
    position: relative;
    border-radius: 3.6458vw 3.6458vw 0 0;
    background: #0b0b0b;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cases::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 211vw;
    background-color: #0b0b0b;
    border-radius: 3.6458vw 3.6458vw 0 0;
    z-index: -10
}

.cases .cases_head {
    position: relative;
    width: 91.6666vw;
    height: 29.01vw;
    border-radius: 2.0833vw;
    overflow: hidden
}

.cases .cases_head h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    margin: 0%;
    color: #fdfcf9
}

.cases .cases_head>img {
    width: 100%;
    height: 100%
}

.cases .cases_line1,
.cases .cases_line2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cases .cases_wrapper {
    margin: 3.125vw 4.1666vw 0 4.1666vw
}

.cases .case_small {
    position: relative;
    width: 30.677vw;
    height: 23.9583vw;
    overflow: hidden;
    border-radius: 2.0833vw;
    margin: 1.7708vw 0 0 0
}

.cases .case_small::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: "Скоро";
    color: #141414
}

.cases .case_small::before {
    position: absolute;
    content: "";
    background-color: #fdfcf9;
    width: 99.6%;
    height: 99.6%;
    border-radius: 2.0833vw;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%)
}

.cases .case_small>img,
.cases .case_small>video {
    position: absolute;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: 1
}

.cases .corousel_block {
    position: relative;
    width: 59vw;
    height: 49.6874vw;
    background-color: #98afb0;
    margin: 1.7708vw 0 0 1.7708vw;
    border-radius: 2.0833vw;
    overflow: hidden
}

.cases .corousel_wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-perspective: 52.0833vw;
            perspective: 52.0833vw
}

.cases .carousel {
    position: relative;
    width: 20vw;
    height: 13vw;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-animation: rotate 60s linear infinite;
            animation: rotate 60s linear infinite;
    margin: 18.3vw auto
}

.cases .card {
    position: absolute;
    width: 20vw;
    height: 13vw;
    background: #fff;
    border-radius: 1.041vw;
    overflow: hidden;
    -webkit-transform: rotateY(calc(var(--i) * 60deg)) translateZ(18.75vw);
            transform: rotateY(calc(var(--i) * 60deg)) translateZ(18.75vw)
}

.cases .card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotateX(20deg) rotateZ(30deg) rotateY(0deg);
                transform: rotateX(20deg) rotateZ(30deg) rotateY(0deg)
    }

    25% {
        -webkit-transform: rotateX(-15deg) rotateZ(0deg) rotateY(180deg);
                transform: rotateX(-15deg) rotateZ(0deg) rotateY(180deg)
    }

    50% {
        -webkit-transform: rotateX(20deg) rotateZ(-30deg) rotateY(360deg);
                transform: rotateX(20deg) rotateZ(-30deg) rotateY(360deg)
    }

    75% {
        -webkit-transform: rotateX(-15deg) rotateZ(0deg) rotateY(540deg);
                transform: rotateX(-15deg) rotateZ(0deg) rotateY(540deg)
    }

    100% {
        -webkit-transform: rotateX(20deg) rotateZ(30deg) rotateY(720deg);
                transform: rotateX(20deg) rotateZ(30deg) rotateY(720deg)
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotateX(20deg) rotateZ(30deg) rotateY(0deg);
                transform: rotateX(20deg) rotateZ(30deg) rotateY(0deg)
    }

    25% {
        -webkit-transform: rotateX(-15deg) rotateZ(0deg) rotateY(180deg);
                transform: rotateX(-15deg) rotateZ(0deg) rotateY(180deg)
    }

    50% {
        -webkit-transform: rotateX(20deg) rotateZ(-30deg) rotateY(360deg);
                transform: rotateX(20deg) rotateZ(-30deg) rotateY(360deg)
    }

    75% {
        -webkit-transform: rotateX(-15deg) rotateZ(0deg) rotateY(540deg);
                transform: rotateX(-15deg) rotateZ(0deg) rotateY(540deg)
    }

    100% {
        -webkit-transform: rotateX(20deg) rotateZ(30deg) rotateY(720deg);
                transform: rotateX(20deg) rotateZ(30deg) rotateY(720deg)
    }
}

.cases .case_horizontal_video::after,
.cases .case_vertical_video::after,
.cases .case_large_video::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: "Скоро";
    color: #141414
}

.cases .case_horizontal_video::before,
.cases .case_vertical_video::before,
.cases .case_large_video::before {
    position: absolute;
    content: "";
    background-color: #fdfcf9;
    width: 99.6%;
    height: 99.6%;
    border-radius: 2.0833vw;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%)
}

.cases .case_horizontal_video>video,
.cases .case_vertical_video>video,
.cases .case_large_video>video {
    position: absolute;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: 1
}

.cases .cases_line2 .cases_merger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.cases .cases_line2 .case_horizontal_video {
    width: 63.177vw;
    height: 23.59375vw;
    position: relative;
    overflow: hidden;
    border-radius: 2.0833vw;
    margin: 1.7708vw 0 0 0
}

.cases .cases_line2 .case_vertical_video {
    width: 26.71875vw;
    height: 49.8421vw;
    position: relative;
    overflow: hidden;
    border-radius: 2.0833vw;
    margin: 1.7708vw 0 0 1.65vw
}

.cases .cases_line3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cases .cases_line3 .case_small {
    width: 26.7708vw;
    height: 23.9583vw;
    margin: 0 0 0 1.7708vw
}

.cases .cases_line3 .case_small:nth-of-type(odd) {
    margin: 1.7708vw 0 1.7708vw 1.7708vw
}

.cases .cases_line3 .case_large_video {
    width: 63.125vw;
    height: 49.7916vw;
    position: relative;
    overflow: hidden;
    border-radius: 2.0833vw;
    margin: 1.7708vw 0 0 0
}

.cases .cases_horizontal_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 1.7708vw 0 0 0
}

.cases .cases_horizontal_wrapper .case_small {
    margin: 0%
}

.cases .cases_horizontal_wrapper div:nth-child(odd) {
    margin: 0 1.7708vw 0 0
}

.cases .cases_foot {
    width: 91.6666vw;
    height: 12.4479vw;
    margin: 3.5416vw 0 0 0;
    border-radius: 2.0833vw;
    background-color: #fdfcf9;
    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
}

.cases .cases_foot .partner_block1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: .15vw
}

.cases .cases_foot .partner_block1 div {
    position: relative;
    width: 25.677vw;
    height: 5.8125vw;
    background-color: #0b0b0b;
    border-radius: 2.0833vw
}

.cases .cases_foot .partner_block1 div img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%)
}

.cases .cases_foot .partner_block2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: .15vw;
    margin: 0 .15vw
}

.cases .cases_foot .partner_block2 .partner_regular_block {
    position: relative;
    width: 33.6979vw;
    height: 5.7812vw;
    background-color: #0b0b0b;
    border-radius: 2.0833vw
}

.cases .cases_foot .partner_block2 img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%)
}

.cases .cases_foot .partner_block2 .partner_block_merge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cases .cases_foot .partner_block2 .partner_small {
    position: relative;
    height: 5.78125vw;
    background-color: #0b0b0b;
    border-radius: 2.0833vw
}

.cases .cases_foot .partner_block2 .partner_small:nth-of-type(odd) {
    width: 17.4479vw
}

.cases .cases_foot .partner_block2 .partner_small:nth-of-type(even) {
    width: 16.25vw
}

.cases .cases_foot .partner_block3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: .15vw
}

.cases .cases_foot .partner_block3 div {
    position: relative;
    width: 30.052vw;
    height: 5.8125vw;
    background-color: #0b0b0b;
    border-radius: 2.0833vw
}

.cases .cases_foot .partner_block3 div img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%)
}

@media screen and (max-width: 834px) {
    .cases_foot {
        display: -ms-grid !important;
        display: grid !important;
        -ms-grid-columns: 1fr 2fr 1fr;
        grid-template-columns: 1fr 2fr 1fr;
        padding: 0 5px
    }

    .partner_block div {
        width: 100% !important
    }
}

@media screen and (max-width: 430px) {
    .cases {
        display: none
    }

    .cases_mb {
        display: block !important;
        height: auto;
        border-radius: 4.398vw 4.398vw 0px 0px;
        -webkit-transform: translateY(-16px);
            -ms-transform: translateY(-16px);
                transform: translateY(-16px);
        background-color: #fff
    }

    .cases_wrapper_mb {
        font-family: "FactorA-Light";
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        padding: 0 4%
    }

    .cases_wrapper_mb .cases_head_mb {
        margin: 38px 0 13 0
    }

    .cases_wrapper_mb .cases_head_mb h2 {
        display: inline-block;
        font-family: "JxTabeDemoRegular";
        font-size: 11.276vw
    }

    .cases_wrapper_mb .case_card {
        border-radius: 4.651vw;
        border-top: 1px solid var(---, #B0B5C1);
        border-bottom: 1px solid var(---, #B0B5C1);
        display: -ms-grid;
        display: grid
    }

    .cases_wrapper_mb .case_card .card_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        padding: 3% 4%
    }

    .cases_wrapper_mb .case_card .card_body {
        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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 10% 0
    }

    .cases_wrapper_mb .case_card .card_body svg {
        width: 35.814vw
    }

    .cases_wrapper_mb .case_card .card_footer {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 5fr 1fr;
        grid-template-columns: 5fr 1fr;
        padding: 3% 4%
    }

    .cases_wrapper_mb .case_card .card_footer p {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        border-radius: 5px;
        border: .263vw solid var(---, #B0B5C1);
        padding: .698vw 2.326vw;
        gap: 2px;
        margin-bottom: .8vw
    }

    .cases_wrapper_mb .case_card .card_footer .arrow_drop {
        width: 100%;
        -ms-grid-column-align: end;
            justify-self: end;
        background-color: rgba(0, 0, 0, 0);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center
    }

    .cases_wrapper_mb .case_card .card_footer .arrow_drop svg {
        width: 5.581vw
    }

    .cases_wrapper_mb .case_card .card_footer .more_tags {
        color: var(---, #FDFCF9);
        font-family: "FactorA-Light";
        font-size: 10px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        background-color: #1758ff;
        padding: .826vw
    }

    .cases_wrapper_mb .more_projects {
        font-family: "FactorA-Light";
        height: 6.958vw !important;
        width: 30.372vw;
        border-radius: 4.4833vw 8.0833vw 0px 4.4833vw !important;
        letter-spacing: .4px;
        margin-top: 3vh;
        background-color: #000;
        color: #fff;
        -ms-grid-column-align: end;
            justify-self: end
    }
}

.workers_block {
    width: 100%;
    height: 51.9791vw;
    border-radius: 3.6458vw 3.6458vw 0 0;
    background-color: #fdfcf9;
    position: relative
}

.workers_block h2 {
    display: inline-block;
    width: 68.125vw;
    height: 9.375vw;
    margin: 5.1562vw 0 0 4.1666vw
}

.workers_block .workers_corousel {
    width: 91.6666vw;
    height: 32vw;
    margin: 2.6041vw 0 4.427vw 4.1666vw;
    display: -webkit-box;
    display: -ms-box;
    /* display: flex; */
    cursor: pointer;
    user-select: none;
    overflow-x: auto;
    scrollbar-width: none;
    scrollbar-color: #1758ff #fdfcf9;
}

.workers_block .workers_corousel::-webkit-scrollbar {
    height: 0px;
}

.workers_block .workers_corousel::-webkit-scrollbar-track {
    background: #fdfcf9;
    border-radius: 4px;
}

.workers_block .workers_corousel::-webkit-scrollbar-thumb {
    background-color: #1758ff;
    border-radius: 4px;
    border: 2px solid #fdfcf9;
}

.workers_block .workers_corousel .run_line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    /* -webkit-animation: run_line 80s linear infinite;
            animation: run_line 80s linear infinite; */
}

.workers_block .workers_corousel .run_line .worker_card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 2.7083vw 0 0;
    width: 22.552vw
}

.workers_block .workers_corousel .run_line .worker_card img {
    width: 22.552vw;
    height: 25.625vw;
    border-radius: 2.0833vw 2.0833vw 0px 0px;
    -o-object-fit: contain;
       object-fit: contain
}

.workers_block .workers_corousel .run_line .worker_card h2 {
    margin: 1.25vw 0 0 0;
    height: auto;
    width: 22.552vw
}

.workers_block .workers_corousel .run_line .worker_card h2 span {
    color: #6c7283
}

@-webkit-keyframes run_line {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%)
    }

    100% {
        -webkit-transform: translateX(-100%);
                transform: translateX(-100%)
    }
}

@keyframes run_line {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%)
    }

    100% {
        -webkit-transform: translateX(-100%);
                transform: translateX(-100%)
    }
}

@media screen and (max-width: 430px) {
    .workers_block {
        height: auto;
        padding-bottom: 10%
    }

    .workers_block h2 {
        display: inline-block;
        width: 90% !important;
        height: auto;
        font-size: 4.6041vw;
        margin: 5.1562vw 0 3vw 4.1666vw;
        line-height: 26px
    }

    .workers_block h2 span {
        line-height: 20px;
        font-size: 3.6041vw
    }

    .workers_corousel {
        height: auto !important
    }

    .worker_card {
        width: 138px !important
    }

    .worker_card img {
        width: 100% !important;
        height: 157px !important
    }

    .worker_card h2 {
        font-size: 12px !important;
        line-height: 14px !important;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: normal
    }

    .worker_card h2 span {
        font-size: 8px !important;
        font-weight: 400;
        line-height: normal
    }
}

.discuss_block {
    background-color: #0b0b0b;
    border-radius: 3.6458vw 3.6458vw 0px 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 115px
}

.discuss_block::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 125%;
    background-color: #0b0b0b;
    border-radius: 3.6458vw 3.6458vw 0 0;
    z-index: -10
}

.discuss_block .discuss_anim_block {
    width: 30.36458vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.discuss_block .discuss_anim_block h2 {
    margin: 4.3229vw 0 0 4.1666vw;
    color: #fff;
    display: inline-block
}

.discuss_block form {
    margin: 9.11458vw 7.3vw 0 7.3vw;
    width: 100%;
}

.discuss_block .discuss_head_part {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.discuss_block .discuss_head_part h2 {
    margin: 0%;
    color: #fff;
    display: inline-block
}

.discuss_block .discuss_head_part textarea {
    border: none;
    width: 57.1354vw;
    height: 5.3125vw;
    resize: vertical;
    border-bottom: .104vw solid #fff;
    background-color: #0b0b0b;
    color: #fff;
    padding: 2.8vw 0 0 0;
    text-wrap: wrap
}

.discuss_block .discuss_head_part textarea:focus {
    outline: 0;
    outline-offset: 0
}

.discuss_block .discuss_midle_part {
    margin: 5.2083vw 0 0 0
}

.discuss_block .discuss_midle_part h2 {
    margin: 0%;
    color: #fff;
    display: inline-block
}

.discuss_block .discuss_merge_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.discuss_block .discuss_left_part {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column
}

.discuss_block .discuss_left_part input {
    width: 26.5625vw;
    height: 5.3125vw;
    border: none;
    border-bottom: .104vw solid #fff;
    background-color: #0b0b0b;
    color: #fff;
    padding: 2.3vw 0 0 0
}

.discuss_block .discuss_left_part input:focus {
    outline: 0;
    outline-offset: 0
}

.discuss_block .discuss_right_part {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 0 4vw
}

.discuss_block .discuss_right_part input {
    width: 26.5625vw;
    height: 5.3125vw;
    border: none;
    border-bottom: .104vw solid #fff;
    background-color: #0b0b0b;
    color: #fff;
    padding: 2.3vw 0 0 0
}

.discuss_block .discuss_right_part input:focus {
    outline: 0;
    outline-offset: 0
}

.discuss_block .discuss_foot_part {
    margin: 3vw 0 0 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
}

.discuss_block .discuss_foot_part button {
    color: #fff;
    width: 57.135vw;
    height: 5.2604vw;
    background-color: #1758ff;
    border-radius: 1.041vw;
    border: none
}

.discuss_block .discuss_foot_part button:hover {
    background-color: #fff;
    color: #0b0b0b
}

@media screen and (max-width: 1280px) {
    .discuss_block .discuss_block {
        padding-bottom: 77px !important
    }

    .discuss_block .discuss_foot_part {
        margin-top: 108px
    }
}

.discuss_block span {
    margin: 1.145vw 0 0 0;
    color: #6c7283
}

.discuss_block span a {
    text-decoration: none;
    color: #fff
}

.discuss_block .accept-processing {
    padding-left: .4vw
}

.anim_arrow {
    width: 100%;
    height: 100%;
    margin-left: 10px;
    z-index: 1110;
    background-color: rgba(0, 0, 0, 0)
}

.anim_arrow canvas {
    background-color: rgba(0, 0, 0, 0)
}

.discuss_foot__item {
    width: 20.21vw
}

@media screen and (max-width: 430px) {
    .discuss_block {
        width: 100%;
        height: 737px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column
    }

    .discuss_block form {
        max-width: 100%;
        width: 80vw;
        
        margin: 0;
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
    }

    .discuss_block form h2 {
        font-size: 20px;
        display: inline-block;
        margin-bottom: 32px !important
    }

    .discuss_block form input::-webkit-input-placeholder, .discuss_block form textarea::-webkit-input-placeholder {
        font-size: 12px !important;
        margin-bottom: 3px;
        line-height: 12px
    }

    .discuss_block form input::-moz-placeholder, .discuss_block form textarea::-moz-placeholder {
        font-size: 12px !important;
        margin-bottom: 3px;
        line-height: 12px
    }

    .discuss_block form input:-ms-input-placeholder, .discuss_block form textarea:-ms-input-placeholder {
        font-size: 12px !important;
        margin-bottom: 3px;
        line-height: 12px
    }

    .discuss_block form input::-ms-input-placeholder, .discuss_block form textarea::-ms-input-placeholder {
        font-size: 12px !important;
        margin-bottom: 3px;
        line-height: 12px
    }

    .discuss_block form input::placeholder,
    .discuss_block form textarea::placeholder {
        font-size: 12px !important;
        margin-bottom: 3px;
        line-height: 12px
    }

    .discuss_block form textarea {
        width: 100% !important;
        height: auto !important
    }

    .discuss_block form .discuss_midle_part h2 {
        margin-bottom: -2px !important
    }

    .discuss_block form .discuss_midle_part .discuss_merge_input {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column
    }

    .discuss_block form .discuss_midle_part .discuss_merge_input .discuss_right_part {
        margin: 0
    }

    .discuss_block form .discuss_midle_part .discuss_merge_input .discuss_right_part input,
    .discuss_block form .discuss_midle_part .discuss_merge_input .discuss_left_part input {
        width: 100%;
        margin-top: 28px
    }

    .discuss_block form .discuss_foot_part {
        margin-top: 10px
    }

    .discuss_block form .discuss_foot_part button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: auto;
        padding: 2.326vw 7.209vw;
        margin: 36 0 24 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 80px;
        font-size: 20px;
        border-radius: 2vw
    }

    .discuss_block form .discuss_foot_part span {
        text-align: center;
        font-size: 8px;
        font-style: normal;
        font-weight: 500;
        line-height: normal
    }

    .discuss_block form .discuss_foot_part span a {
        font-size: 8px;
        font-style: normal;
        font-weight: 500;
        line-height: normal
    }

    .discuss_block .discuss_anim_block {
        
        width: 40vw
    }

    .discuss_block .discuss_anim_block h2 {
        font-size: 44px;
        position: absolute;
        left: 0;
        top: 53px
    }
}

footer {
    height: auto;
    border: none;
    -webkit-transform: translateY(-40px);
        -ms-transform: translateY(-40px);
            transform: translateY(-40px);
    background: #0b0b0b
}

footer .footer_wrapper {
    border-radius: 3.6458vw 3.6458vw 0px 0px;
    background-color: #fdfcf9;
    padding: 5px 0 40px 0
}

footer #footer_logo {
    margin: 3.125vw 0 0 4.1666vw;
    width: 3.0208vw
}

.footer_company {
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end
}

.footer_mearge {
    display: -ms-grid;
    display: grid;
    margin: 3.75vw 0 0 4.5833vw;
    -ms-grid-columns: 1fr 2fr;
    grid-template-columns: 1fr 2fr;
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    a{
        color: black;
    }
}

.footer_mearge > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1
}

.footer_mearge > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2
}

.footer_mearge > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1
}

.footer_mearge > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2
}

.footer_nav {
    position: relative;
    width: 62.0833vw
}

.footer_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style-type: none;
    gap: 6.875vw;
    margin: 0%;
    padding: 0%
}

.footer_nav a {
    color: #000;
    display: inline;
    text-decoration: none
}

.footer_nav a:hover {
    color: #1758ff
}

.footer_info {
    width: 27.552vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: right;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    list-style-type: none;
    gap: 3.07291vw;
    margin: 0%;
    padding: 0%;
    -ms-grid-row-span: 2;
    grid-row: span 2;
    .footer_email, .footer_phone, .footer_address{
        a{
            color: black;
        }
        &:hover{
            a{
                color: #1758ff;
            }
        }
    }
}

.footer_info .footer_socials div {
    width: 5.4166vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between
}

.footer_info .footer_socials div #footer_tg svg,
.footer_info .footer_socials div #footer_vk svg {
    width: 1.9791vw
}

.footer_info .footer_socials div #footer_tg:hover svg path,
.footer_info .footer_socials div #footer_vk:hover svg path {    
    fill: #1758ff
}

.company_info {
    margin: 0%
}

@media screen and (max-width: 834px) {
    .footer_mearge {
        display: -ms-grid;
        display: grid;
        margin: 3.75vw 4.5833vw 0 4.5833vw;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -ms-grid-rows: 50px;
        grid-template-rows: 50px
    }
    .footer_mearge > *:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }

    .footer_mearge .footer_nav {
        width: 100%
    }

    .footer_mearge .footer_nav ul {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between
    }

    .footer_mearge .footer_info {
        -ms-grid-row-span: 1;
        grid-row: span 1;
        width: 100%
    }

    .footer_mearge .footer_company {
        line-height: 20px
    }

    .footer_mearge .footer_socials {
        -webkit-box-ordinal-group: -1;
            -ms-flex-order: -2;
                order: -2
    }

    .footer_mearge .footer_email {
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        
    }
}

@media screen and (max-width: 430px) {
    #footer_logo {
        width: 5.581vw !important;
        margin-bottom: 32px
    }

    #footer_vk svg,
    #footer_tg svg {
        width: 4.651vw !important;
        padding-left: 6px
    }

    .footer_socials {
        padding-right: 4%
    }

    .footer_mearge {
        margin-top: 32px;
        -ms-grid-rows: 40px;
        grid-template-rows: 40px
    }

    .footer_mearge a,
    .footer_mearge li,
    .footer_mearge h2 {
        font-size: 12px
    }

    .footer_mearge h2 {
        padding-top: 31px
    }
}

@media screen and (min-width: 834px) {
    .anim_word_container {
        display: none
    }
}

@media screen and (max-width: 834px) {
    .container_word {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 20px;
        width: 90vw;
        height: 460px;
        overflow: hidden
    }

    .letter,
    .shadow {
        position: absolute;
        width: calc(16vw - 20px);
        height: auto;
        pointer-events: none;
        top: 30%
    }

    .letter {
        pointer-events: all;
        z-index: 10
    }

    .shadow {
        opacity: .2;
        z-index: 1
    }

    svg {
        display: block;
        width: 100%;
        height: auto
    }

    .letter-i,
    .shadow-i {
        width: 1.9vw
    }

    .shadow-i {
        opacity: .2
    }

    .container_word_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .letter-o,
    .shadow-o {
        margin-left: -11.5vw
    }
}

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

    .letter,
    .shadow {
        width: calc(19.0033783784vw - 20px)
    }

    .letter-i,
    .shadow-i {
        width: 2.4vw
    }
}

/* Стили для лоадера формы (подложка со спиннером) */
.form-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Полупрозрачный белый фон */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 999; /* Поверх других элементов формы */
}

.form-loader .spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border-left-color: #09f; /* Цвет спиннера, можете изменить */
    -webkit-animation: spin 1s ease infinite;
            animation: spin 1s ease infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

/* Новый оверлей для сообщения (поверх всей страницы) */
.form-message-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Затемненный фон */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 1000; /* Очень высокий z-index, чтобы быть поверх всего */
    padding: 20px; /* Отступы, чтобы сообщение не прилипало к краям на мал. экранах */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* Стили для самого блока сообщения */
.form-message {
    padding: 25px 40px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    font-family: "FactorA-Light";
    color: white;
    min-width: 280px;
    max-width: 500px; /* Максимальная ширина сообщения */
    -webkit-box-shadow: 0 5px 20px rgba(0,0,0,0.25);
            box-shadow: 0 5px 20px rgba(0,0,0,0.25);
    
}

.form-message.success {
    background-color: #28a745; /* Зеленый фон для успеха */
}

.form-message.error {
    background-color: #dc3545; /* Красный фон для ошибки */
}

/* Если у вас ранее были стили для .form-success-highlight и .form-error-highlight,
   и они применялись к самой форме - их можно удалить,
   так как теперь обратная связь дается через полноэкранное сообщение. */

/* Стили для формы discuss */
#discuss label h2 span {
    color: red;
}

/* Стили для валидации полей в форме discuss */
#discuss input:required:invalid {
    border-bottom-color: red; /* Красная рамка для невалидных обязательных полей */
}

#discuss input:required:valid {
    border-bottom-color: green; /* Зеленая рамка для валидных обязательных полей */
}

/* 2. Корректная адаптация font-size для Safari (вынесено изнутри селектора) */
@supports not (font-size: 1.875vw) {
    header p {
        font-size: 1.875em;
    }
}

/* 3. Плейсхолдеры для Safari */
input::-webkit-input-placeholder {
    color: #b0b5c1;
    font-family: "FactorA-Medium";
    font-size: 3.3333vh;
}

/* End */
/* /local/templates/webcat/template_styles.css?175007316577074 */
