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

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

:focus {
    outline: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: content-box
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical
}

audio,
canvas,
video {
    display: inline-block;
    max-width: 100%
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

a:focus {
    outline: thin dotted
}

a:active,
a:hover {
    outline: 0
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic
}

figure {
    margin: 0
}

form {
    margin: 0
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0;
    white-space: normal
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline
}

button,
input {
    line-height: normal
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

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

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

button,
html,
input,
select,
textarea {
    color: #222
}

::selection {
    background: #b3d4fc;
    text-shadow: none
}

img {
    vertical-align: middle
}

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

textarea {
    resize: vertical
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0
}

@charset "UTF-8";

* {
    outline: none;
    -webkit-tap-highlight-color: transparent
}

input,
select,
textarea {
    appearance: none;
    border: none;
    outline: none;
    font-family: "mont", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    background: transparent
}

input[type=checbox],
input[type=radio] {
    display: none
}

html {
    scroll-behavior: smooth
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "mont", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size: 18px;
    line-height: 28px;
    color: #000
}

button {
    border: none;
    outline: none
}

a {
    text-decoration: none
}

a:hover {
    text-decoration: none
}

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

a::-moz-focus-inner {
    border: 0
}

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

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

strong {
    font-weight: 700
}

@media (max-width:1000px) {
    body {
        font-size: 16px;
        line-height: 155%
    }
}

.bottom-header-wrapper {
    display: none;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 13px 0;
    position: relative;
    z-index: 9999
}

.top-header-wrapper {
    padding: 20px 15px;
    position: relative;
    z-index: 3;
    background: #fff
}

.top-header {
    display: flex;
    align-items: center;
    justify-content: space-between
}

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

.logo svg {
    margin-right: 10px;
    fill: #000;
    transition: 0.2s
}

.logo svg:nth-of-type(2) {
    position: relative;
    top: 2px
}

.top-header-nav {
    display: flex;
    align-items: center;
    justify-content: center
}

.top-header-nav li {
    margin-left: 40px;
    display: flex;
    align-items: center;
    transition: opacity 0.15s
}

.top-header-nav li:hover {
    opacity: 0.7
}

.top-header-nav a {
    color: #000;
    font-weight: 400
}

.open-nav .top-header-wrapper {
    background: transparent
}

.open-nav .bottom-header-wrapper {
    border-color: rgba(255, 255, 255, 0.1)
}

.open-nav .bottom-header-wrapper a {
    color: #fff
}

.open-nav .top-header-nav a {
    color: #fff
}

.open-nav .logo svg {
    fill: #fff
}

.open-nav .color-one,
.open-nav .color-three,
.open-nav .color-two {
    transition: 0.2s;
    stop-color: #fff
}

.open-nav .hamburger-action .hamburger span {
    background: #fff
}

.open-nav .hamburger-action .hamburger span:first-of-type {
    transform: rotate(45deg) translate(4px, 4px)
}

.open-nav .hamburger-action .hamburger span:nth-of-type(2) {
    opacity: 0
}

.open-nav .hamburger-action .hamburger span:nth-of-type(3) {
    transform: rotate(-45deg) translate(3px, -3px)
}

.hamburger-action {
    cursor: pointer
}

.hamburger {
    margin-right: 10px;
    width: 20px;
    height: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.hamburger span {
    width: 20px;
    height: 2px;
    background: #000;
    transition: opacity 0.15s, background 0.15s, transform 0.15s
}

.open-nav .hamburger-action span {
    background: #E6232D !important
}

.open-nav .hamburger-action a {
    color: #E6232D !important
}

@media (max-width:1000px) {
    .open-nav .hamburger-action span {
        background: #fff !important
    }

    .open-nav .hamburger-action a {
        color: #fff !important
    }

    .bottom-header-wrapper {
        display: block
    }

    .bottom-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 400px;
        margin: 0 auto
    }

    .bottom-header a {
        color: #000
    }

    .bottom-header li:nth-of-type(2),
    .bottom-header li:nth-of-type(3) {
        margin: 0 5px
    }

    .top-header-wrapper {
        padding: 13px 0
    }

    .top-header-nav li {
        display: none
    }

    .top-header-nav li.hamburger-action {
        display: block
    }

    .top-header-nav li.hamburger-action a {
        display: none
    }
}

.main-footer-wrapper {
    padding-bottom: 45px;
    background: #fff;
    order: 99999
}

.main-footer-inner {
    border-top: 1px solid #E1E1E1;
    padding-top: 32px
}

.main-footer-inner-top {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-bottom: 32px;
    margin-bottom: 44px;
    border-bottom: 1px solid #E1E1E1
}

.main-footer-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

.main-footer-title {
    font-weight: 700;
    font-size: 13px;
    line-height: 150%;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #ccc
}

.main-footer-item.partners {
    grid-column-start: 3;
    grid-column-end: 5
}

.main-footer-list-item {
    margin-top: 8px
}

.main-footer-list-item a {
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    color: #000
}

.main-footer-inner-divider {
    display: grid;
    gap: 40px
}

.main-footer-item {
    min-height: 100%
}

.main-footer-item:first-of-type {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.main-footer-item:nth-of-type(2) {
    margin: 0 15px;
    display: flex
}

.main-footer-item:nth-of-type(2) ul:first-of-type {
    margin-right: 60px
}

.main-footer-item a {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    color: #000;
    display: block
}

.main-footer-item li:not(:last-of-type) {
    margin-bottom: 8px
}

.list-social {
    display: flex;
    margin-bottom: 5px
}

.list-social li:not(:last-of-type) {
    margin-right: 20px
}

.list-partners {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-gap: 10px;
    justify-content: start
}

@media (max-width:1000px) {
    .main-footer {
        flex-direction: column
    }

    .main-footer-inner-top {
        grid-template-columns: repeat(1, 1fr)
    }

    .main-footer-bottom {
        grid-template-columns: repeat(1, 1fr)
    }

    .main-footer-item.partners {
        grid-column-start: auto;
        grid-column-end: auto
    }

    .main-footer-item:nth-of-type(2) {
        margin-left: 0;
        margin-right: 0
    }

    .main-footer-item:nth-of-type(2) ul:first-of-type {
        margin-right: 50px
    }
}

.list-item-right .readmore {
    display: none
}

.list-item-right .readmore.show {
    display: inline-block
}

.reviews-list .list-item-right .readmore {
    display: flex
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.mb-30 {
    margin-bottom: 20px
}

.small-title {
    color: #808080
}

.section-dark {
    color: #fff
}

.btn {
    cursor: pointer;
    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 500;
    display: inline-block;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
    font-size: 16px;
    line-height: 150%
}

.btn.red {
    background: #E6232D;
    color: #fff
}

.btn.red:hover {
    background: #F32C2C
}

.btn.black {
    background: #000;
    color: #fff
}

.btn.black:hover {
    background: #252525
}

.btn.empty {
    border: 1px solid #E6232D;
    color: #E6232D;
    background: transparent
}

.btn.empty:hover {
    border-color: #eb5159;
    color: #eb5159;
    background: transparent
}

.btn.black-empty {
    border: 1px solid #000;
    color: #000;
    background: transparent
}

.btn.black-empty:hover {
    border-color: #1a1a1a;
    color: #1a1a1a;
    background: transparent
}

.readmore {
    color: #06C;
    display: block;
    position: relative;
    cursor: pointer;
    transition: 0.3s;
    font-size: 18px;
    line-height: 155%
}

.readmore:hover {
    color: #E6232D
}

.readmore.white {
    color: #fff
}

.link {
    text-decoration: none;
    color: #06C
}

.nav-wrapper {
    position: fixed;
    left: 0;
    top: -100%;
    right: 0;
    bottom: 100%;
    z-index: 2;
    background: #141419;
    color: #fff;
    padding-top: 88px;
    transition: opacity 0.15s, background 0.2s;
    opacity: 0
}

.nav-wrapper .container {
    height: 100%;
    overflow-y: auto;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
    display: flex;
    flex-direction: column
}

.nav-wrapper .container::-webkit-scrollbar {
    width: 0
}

.nav-wrapper .nav {
    display: flex;
    flex: 1
}

.nav-wrapper .main-services {
    width: 58.3333333333%;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 20px
}

.nav-wrapper .main-services li {
    margin-bottom: 24px
}

.nav-wrapper .main-services li a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 400;
    font-size: 52px;
    line-height: 115%;
    color: #fff
}

.nav-wrapper .main-services li a.active {
    opacity: 0.5
}

.nav-wrapper .children-services {
    width: 41.6666666667%;
    padding-left: 60px;
    display: flex;
    flex-direction: column
}

.nav-wrapper .children-services ul {
    margin-bottom: 18px
}

.nav-wrapper .children-services .children-services-title {
    font-weight: 700;
    font-size: 13px;
    line-height: 138%;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5)
}

.nav-wrapper .children-services li {
    margin-top: 12px
}

.nav-wrapper .children-services li a {
    color: #fff
}

.nav-wrapper .children-services li a:hover {
    opacity: 0.5
}

.nav-wrapper .children-services-item {
    display: none
}

.nav-wrapper .children-services-item.active {
    display: block
}

.nav-wrapper .children-services,
.nav-wrapper .main-services {
    padding-top: 80px
}

.open-nav {
    overflow: hidden
}

.open-nav .nav-wrapper {
    top: 0;
    bottom: 0;
    opacity: 1
}

.open-nav .nav-wrapper-mobile {
    top: 0;
    bottom: 0;
    opacity: 1
}

.nav-wrapper-mobile {
    display: none;
    position: fixed;
    left: 0;
    top: -100%;
    right: 0;
    bottom: 100%;
    z-index: 2;
    background: #141419;
    color: #fff;
    padding-top: 74px;
    transition: opacity 0.15s, background 0.2s;
    opacity: 0
}

.nav-wrapper-mobile a {
    color: #fff
}

.nav-mobile-inner {
    padding: 30px 0;
    overflow-y: auto;
    height: 100%
}

.nav-mobile-divider {
    padding: 24px 0
}

.nav-mobile-divider div {
    border: 1px solid rgba(255, 255, 255, 0.15)
}

.nav-mobile-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    margin-bottom: 12px
}

.nav-mobile-item {
    margin-top: 8px
}

.nav-mobile-item a {
    color: white
}

.hero-wrapper {}

.hero-wrapper.small {
    padding-top: 50px;
    padding-bottom: 80px
}

.hero-wrapper.small.small-revers {
    padding-top: 100px;
    padding-bottom: 50px
}

.hero-wrapper.big {
    padding-top: 50px;
    padding-bottom: 80px
}

.hero-wrapper.cases {
    background: #F4F7F7
}

.hero-wrapper.cases .tabs-trigger {
    margin-top: 50px
}

.hero-wrapper.cases .tabs-trigger a {
    padding-bottom: 10px
}

.hero-wrapper.cases .tabs-trigger a:after {
    height: 2px
}

.hero-wrapper.cases .h1-v2 {
    margin-top: 30px;
    margin-bottom: 80px;
    font-weight: bold;
    font-size: 60px;
    line-height: 130%;
    text-align: center
}

.hero-wrapper.cases.black li.active a {
    color: #000
}

.hero-wrapper.cases.black a {
    color: #808080
}

.hero-wrapper.cases.white {
    color: #fff
}

.hero-wrapper.cases.white li.active a {
    color: #fff
}

.hero-wrapper.cases.white a {
    color: #fff
}

.hero-wrapper.cases.empty {
    background: white;
    padding-bottom: 1px
}

.hero-wrapper.cases.with-bg {
    position: relative
}

.hero-wrapper.cases.with-bg>img {
    width: 100%;
    height: auto
}

.hero-wrapper.cases.with-bg>.container {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 1
}

.divider {
    opacity: 0;
    height: 1px;
    width: 100%;
    background: rgba(0, 0, 0, 0.1)
}

@media (max-width:1024px) {
    .hero-wrapper.cases.with-bg>img {
        height: 510px
    }
}

.statistics {
    margin-top: -30px
}

.statistics img {
    width: 100%;
    height: auto
}

.note-wrapper {
    margin-top: 15px
}

.tabs-triger-wrapper {
    display: flex
}

.tabs-triger-wrapper.slim {
    margin-top: 0
}

.tabs-trigger {
    display: flex;
    align-items: center
}

.tabs-trigger li:not(:last-of-type) {
    margin-right: 25px
}

.tabs-trigger li.active a {
    color: #E6232D
}

.tabs-trigger li.active a:after {
    background: #E6232D
}

.tabs-trigger li a {
    padding-bottom: 10px;
    transition: 0.3s ease;
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.tabs-trigger li a:hover {
    color: #808080
}

.tabs-trigger li a:after {
    height: 2px
}

.tabs-trigger a {
    color: #000;
    padding-bottom: 25px;
    position: relative;
    display: block
}

.tabs-trigger a:after {
    content: "";
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: 0;
    left: 0
}

.grid {
    margin-bottom: 65px
}

.grid img {
    width: 100%;
    height: auto;
    border-radius: 2px;
    transition: transform 0.25s, opacity 0.2s
}

.img-hover {
    overflow: hidden;
    border-radius: 2px
}

.grid-simple {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-column-gap: 20px;
    grid-row-gap: 20px
}

.grid-simple.grid-wish-list {
    margin-bottom: 0
}

.img-hover {
    position: relative
}

.img-hover:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    z-index: 4;
    transition: 0.5s ease;
    opacity: 0
}

.grid-item {
    color: #000
}

.grid-item img {
    transition: 0.5s ease;
    width: 100%;
    height: auto
}

.grid-item:hover .img-hover img {
    transform: scale(0.98)
}

.grid-item:hover .img-hover:after {
    content: "";
    opacity: 1
}

.grid-item:hover .grid-item-title {
    color: #E6232D
}

.grid-item-title {
    margin-top: 15px;
    margin-bottom: 5px;
    transition: 0.3s ease
}

.grid-item-title span {
    color: #54BF52
}

.grid-item-date {
    color: #808080
}

.pagination-wrapper {
    display: flex;
    justify-content: center
}

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

.pagination li.active a {
    background: #f7f6f6
}

.pagination a,
.pagination span {
    width: 50px;
    height: 50px;
    color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s
}

.pagination a:hover {
    background: #fafafa
}

.pagination span {
    color: #CCC
}

.breadcrumps-wrapper {
    margin-top: 100px;
    padding-bottom: 20px;
    background: #fff;
    order: 9999
}

.breadcrumps-wrapper .fz14 {
    font-size: 13px
}

.breadcrumps {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    justify-content: start
}

.breadcrumps::-webkit-scrollbar {
    display: none
}

.breadcrumps li {
    white-space: nowrap;
    flex: 0 0 auto;
    scroll-snap-align: start
}

.breadcrumps a,
.breadcrumps span {
    display: block;
    color: #808080
}

.breadcrumps a:after {
    content: "/";
    margin: 0 10px
}

.back-wrapper {
    padding-top: 40px;
    padding-bottom: 30px;
    min-height: 98px
}

.back-wrapper a {
    color: #06C
}

.back-wrapper a:before {
    content: "←";
    margin-right: 7px
}

.swiper.services-list {
    overflow: visible
}

.services-item {
    display: block;
    color: #000
}

.services-item-icon {
    height: 80px;
    width: 80px;
    border-radius: 18px;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center
}

.action-lis-items.full-list.list .list-item {
    border-top: none;
    padding: 0;
    cursor: pointer;
    transition: 0.3s ease;
    display: block;
    border-bottom: none
}

.action-lis-items.full-list.list .list-item .fz28 {
    transition: 0.3s ease
}

.action-lis-items.full-list.list .list-item:hover {
    box-shadow: 0 0 15px -60px rgba(65, 80, 86, 0.12), 0px 0 40px rgba(65, 80, 85, 0.08)
}

.action-lis-items.full-list.list .list-item:hover .items-row {
    border-top: 1px solid rgba(0, 0, 0, 0)
}

.action-lis-items.full-list.list .list-item:hover .readmore {
    color: #E6232D
}

.action-lis-items.full-list.list .list-item:hover+.list-item .items-row {
    border-top: 1px solid rgba(0, 0, 0, 0)
}

.action-lis-items.full-list.list .list-item:hover .fz28 {
    color: #E6232D
}

.action-lis-items.full-list.list .list-item .items-row {
    transition: border 0.2s;
    padding: 35px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1)
}

.list-item {
    padding-top: 40px;
    padding-bottom: 45px;
    display: grid;
    grid-template-columns: 528fr 600fr;
    grid-gap: 50px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    color: #000
}

.list-item:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.list-item .readmore {
    margin-top: 10px
}

.list-item-left {
    display: flex
}

.list-item-left.with-video {
    flex-direction: column
}

.list-item-left .readmore {
    margin-top: 15px
}

.list-item-left .fz14 {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.list-item-right .fz16 {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.list-item-right .fz14 {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.list-item-img {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 20px
}

.item-left-info {
    flex: 1
}

.list-item-title {
    font-weight: normal;
    font-size: 24px;
    line-height: 165%
}

.video-review {
    width: 262px;
    height: 180px;
    position: relative;
    cursor: pointer;
    margin-bottom: 15px
}

.video-review:hover img {
    opacity: 0.9
}

.video-review:hover svg {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1
}

.video-review img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s;
    border-radius: 4px
}

.video-review svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    z-index: 2;
    transition: transform 0.2s, opacity 0.2s;
    opacity: 0.5
}

.small-title {
    color: #808080
}

.list-item-content {
    margin-bottom: 10px
}

.list-item-content p {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.form-row {
    position: relative;
    height: 55px;
    border-bottom: 1px solid #CCC
}

.form-row.val label {
    position: absolute;
    top: 15px;
    left: 0;
    font-size: 16px;
    line-height: 24px;
    color: #808080;
    transition: 0.2s;
    cursor: auto
}

.form-row.has-error {
    border-bottom: 1px solid red
}

.form-row.has-error.val label {
    color: red
}

.form-row.has-error label {
    color: red
}

.form-row.has-error input {
    color: red
}

.form-row label {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 13px;
    line-height: 19px;
    color: #808080
}

.form-row input {
    width: 100%;
    height: 24px;
    position: absolute;
    left: 0;
    bottom: 7px
}

.form-row input:focus~label {
    top: 0;
    left: 0;
    font-size: 13px;
    line-height: 19px;
    color: #808080
}

.add-file {
    position: relative
}

#file-upload-filename {
    position: absolute;
    left: 0;
    bottom: 70px;
    transform: translateY(-50%);
    font-size: 16px;
    color: #000;
    z-index: 2;
    cursor: pointer;
    transition: color 0.2s;
    white-space: nowrap
}

#file-upload-filename:hover {
    color: rgba(99, 99, 99, 0.8)
}

.errors {
    transition: 0.3s;
    opacity: 0;
    position: absolute;
    top: 90%;
    left: 0;
    background: #fff;
    padding: 3px 20px;
    border-radius: 3px;
    font-size: 10px;
    text-align: center;
    color: #636363;
    box-shadow: 0 1px 54px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.03);
    font-weight: 500
}

.errors:after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 10px;
    border: 5px solid transparent;
    border-bottom: 5px solid #fff
}

.errors.visible {
    opacity: 1;
    top: 110%
}

[data-request][data-request-validate] [data-validate-error]:not(.visible),
[data-request][data-request-validate] [data-validate-for]:not(.visible) {
    display: block !important
}

.add-file input {
    display: none
}

.btn-switch {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #F2F2F2;
    border-radius: 52px;
    cursor: pointer;
    font-weight: normal;
    font-size: 16px;
    line-height: 150%;
    transition: background 0.15s
}

.btn-switch:hover {
    background: #f7f7f7
}

.btn-switch svg {
    margin-right: 10px
}

.btn-switch span {
    color: #06C
}

.btn-load {
    padding: 12px 34px;
    font-size: 16px;
    line-height: 150%;
    border: 1px dashed rgba(0, 0, 0, 0.5);
    border-radius: 52px;
    margin-left: 20px;
    position: relative;
    cursor: pointer;
    transition: 0.3s ease
}

.btn-load:hover {
    background: #fbfbfb
}

.accept {
    font-size: 13px;
    line-height: 16px;
    color: #808080
}

.accept a {
    color: #808080
}

.faq-section-wrapper {
    padding-top: 100px;
    padding-bottom: 130px;
    background: #101010;
    color: #fff
}

.faq-section-wrapper .text-40 {
    margin-bottom: 30px
}

.faq .h4 {
    font-size: 24px;
    line-height: 133%
}

.faq>li {
    padding: 32px 0 20px;
    cursor: pointer;
    transition: color 0.15s;
    margin-top: -1px;
    border-top: 1px solid #343739;
    border-bottom: 1px solid #343739
}

.faq>li strong {
    font-weight: 700
}

.faq>li ul {
    padding-left: 40px;
    margin-top: 10px;
    list-style-type: disc
}

.faq>li ul li {
    margin-bottom: 10px
}

.faq>li:hover {
    color: #b3b3b3
}

.faq>li:hover .faq-spiner span {
    background: #b3b3b3
}

.faq>li.active .faq-body {
    max-height: 500px
}

.faq>li.active .faq-spiner {
    transform: rotate(180deg)
}

.faq>li.active .faq-spiner span:first-of-type {
    opacity: 0
}

.faq-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px
}

.faq-spiner {
    display: flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: transform 0.35s;
    margin-left: 20px
}

.faq-spiner span {
    width: 2px;
    height: 100%;
    background: #fff;
    transition: opacity 0.25s, background 0.15s
}

.faq-spiner span:last-of-type {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg)
}

.faq-body {
    font-weight: normal;
    font-size: 20px;
    line-height: 150%;
    height: auto;
    max-height: 0;
    transition: 0.35s;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.75)
}

.top-margin {
    margin-top: 40px
}

.top-margin.border {
    border-top: 1px solid rgba(0, 0, 0, 0.1)
}

.short-text {
    margin-bottom: 50px
}

.short-text p {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%;
    margin-bottom: 20px
}

.section-wrapper.list-items {
    padding-top: 0
}

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

.more:hover span {
    color: #E6232D
}

.more:hover svg {
    transform: translateX(-10px) scale(0.8)
}

.more .fz16 span,
.more.h2 span {
    font-size: inherit;
    line-height: inherit
}

.more span {
    font-size: 24px;
    line-height: 150%;
    margin-right: 15px;
    color: #000;
    transition: 0.3s ease
}

.more svg {
    transition: 0.3s ease
}

.centered-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 540px
}

.cost-value .text-40 {
    margin-top: 20px;
    margin-bottom: 20px
}

.cases-case .brief-wrapper .section-title {
    margin-bottom: 40px
}

.cases-case .cases-section-wrapper {
    padding-top: 100px
}

@media (max-width:1000px) {
    .nav-wrapper {
        display: none
    }

    .nav-wrapper-mobile {
        display: block
    }

    .list-item-right .readmore {
        display: inline-block
    }

    .top-margin {
        padding-top: 30px;
        margin-top: 30px
    }

    .back-wrapper {
        min-height: auto;
        padding-top: 40px;
        padding-bottom: 20px
    }

    .back-wrapper.empty {
        min-height: 40px;
        padding: 0
    }

    .hero-wrapper.small.small-revers {
        padding-top: 40px;
        padding-bottom: 35px
    }

    .breadcrumps,
    .tabs-triger-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        justify-content: start
    }

    .breadcrumps::-webkit-scrollbar,
    .tabs-triger-wrapper::-webkit-scrollbar {
        display: none
    }

    .breadcrumps li,
    .tabs-triger-wrapper li {
        white-space: nowrap;
        flex: 0 0 auto;
        scroll-snap-align: start
    }

    .tabs-trigger a {
        padding-bottom: 10px;
        transition: 0.3s ease
    }

    .tabs-trigger a:hover {
        color: #808080
    }

    .tabs-trigger a:after {
        height: 2px
    }

    .list-item {
        padding: 35px 0;
        grid-template-columns: 1fr;
        grid-gap: 10px
    }

    .list-item .item-left-info {
        margin-bottom: 0
    }

    .list-item-img {
        width: 54px;
        height: 54px
    }

    .list-item-left {
        align-items: center
    }

    .list-item-title {
        font-size: 22px
    }

    .list-item-left .fz14,
    .list-item-right .fz14,
    .list-item-right .fz16 {
        font-size: 16px
    }

    .list-item-left {
        margin-right: 0
    }

    .list-item-left.with-video .fz14 {
        margin-bottom: 20px
    }

    .item-left-info {
        margin-bottom: 20px;
        width: 100%
    }

    .item-left-info .readmore {
        display: none
    }

    .nav-wrapper .container {
        margin-top: 25px
    }

    .nav-wrapper .container .btn {
        margin: 25px 0
    }

    .nav-services {
        grid-template-columns: 1fr;
        grid-gap: 15px
    }

    .nav-services a {
        min-height: 225px;
        padding: 30px 15px 70px
    }

    .nav-list-info {
        order: 2
    }

    .nav-services a .readmore {
        bottom: 20px
    }

    .nav-footer {
        display: grid;
        padding-right: 0;
        padding-bottom: 100px;
        margin-top: 45px
    }

    .nav-footer a.btn {
        width: auto
    }

    .grid-simple.grid-wish-list {
        grid-gap: 0
    }

    .grid-simple.grid-wish-list .opacity {
        display: none
    }

    .video-review {
        width: 100%;
        height: 235px
    }

    .services-item {
        padding: 10px
    }

    .services-item-icon {
        height: 60px;
        width: 60px;
        border-radius: 14px
    }

    .services-item-icon img {
        display: block
    }
}

@media (max-width:700px) {
    .btn {
        text-align: center
    }

    .item-price {
        font-size: 40px !important
    }

    .services-single .hero-grid .centered-item:last-of-type {
        order: 2
    }

    .service-section {
        padding: 30px 0
    }

    .service-section .text-32 {
        margin-bottom: 10px;
        font-weight: bold;
        font-size: 32px;
        line-height: 130%
    }

    .service-section .hero-grid {
        grid-gap: 0
    }

    .service-section .centered-item:last-of-type {
        order: 2
    }

    .dark-mode .last-seo-wrapper {
        border-radius: 12px 12px 0 0 !important
    }

    .dark-mode .last-seo-wrapper.clients-wrapper {
        border-radius: 0 0 12px 12px !important
    }

    .dark-mode .action-lis-items.full-list.list .list-item .items-row {
        grid-gap: 10px
    }

    .dark-mode .action-lis-items.full-list.list .list-item .items-row .fz28 {
        font-size: 26px
    }

    .cost-wrapper .hero-grid {
        grid-gap: 0
    }

    .cost-wrapper .text-40 {
        margin-bottom: 10px
    }

    .hero-wrapper.big {
        padding-top: 50px;
        padding-bottom: 60px
    }

    .hero-wrapper.big.hero-index-wrapper {
        padding-bottom: 30px
    }

    .grid-simple {
        grid-gap: 30px
    }

    .faq-section-wrapper {
        padding: 60px 0
    }

    .faq-spiner {
        display: none
    }

    .faq .h4 {
        font-weight: normal;
        font-size: 22px;
        line-height: 150%
    }

    .faq li {
        padding: 25px 0 15px
    }

    .more span {
        font-size: 18px;
        line-height: 150%
    }

    .faq-body {
        font-weight: normal;
        font-size: 18px;
        line-height: 150%
    }

    #file-upload-filename {
        bottom: 0;
        top: -30px
    }

    .centered-item {
        min-height: 200px;
        order: 1
    }
}

@media (min-width:1000px) {
    .item-4>.grid-item-title {
        font-size: 18px;
        line-height: 150%;
        margin: 20px 0 5px
    }

    .item-6>.grid-item-title {
        font-size: 24px;
        line-height: 150%;
        margin: 20px 0 10px
    }

    .item-8>.grid-item-title {
        font-size: 28px;
        line-height: 150%;
        margin: 20px 0 5px
    }

    .item-12>.grid-item-title {
        margin: 20px 0 5px;
        line-height: 150%;
        font-size: 32px
    }
}

.video-wrapper-section {
    position: relative;
    padding-bottom: 50%;
    overflow: hidden;
    border-radius: 4px
}

.video-wrapper-section:hover {
    cursor: pointer
}

.video-wrapper-section:hover .video-trigger:after {
    background: rgba(0, 0, 0, 0.1)
}

.video-wrapper-section:hover .video-btn {
    transform: scale(0.9)
}

.video-wrapper-section video {
    z-index: 1
}

.video-wrapper-section .video-trigger {
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center
}

.video-wrapper-section .video-trigger img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover
}

.video-wrapper-section .video-trigger .video-btn {
    position: relative;
    z-index: 5;
    transition: 0.3s ease
}

.video-wrapper-section .video-trigger:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: rgba(0, 0, 0, 0.2);
    transition: 0.3s ease
}

.video-wrapper-section .video-trigger,
.video-wrapper-section video {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.team-video-preview {
    border-bottom: 1px solid #E1E1E1;
    padding-bottom: 80px;
    margin-bottom: 80px;
    margin-top: 60px
}

@media (max-width:767px) {
    .video-btn {
        transform: scale(0.5)
    }

    .video-wrapper-section:hover .video-btn {
        transform: scale(0.4)
    }
}

.video-wrapper-section {
    position: relative;
    padding-bottom: 50%;
    overflow: hidden;
    border-radius: 4px
}

.video-wrapper-section:hover {
    cursor: pointer
}

.video-wrapper-section:hover .video-trigger:after {
    background: rgba(0, 0, 0, 0.1)
}

.video-wrapper-section:hover .video-btn {
    transform: scale(0.9)
}

.video-wrapper-section video {
    z-index: 1
}

.video-wrapper-section .video-trigger {
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center
}

.video-wrapper-section .video-trigger img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover
}

.video-wrapper-section .video-trigger .video-btn {
    position: relative;
    z-index: 5;
    transition: 0.3s ease
}

.video-wrapper-section .video-trigger:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: rgba(0, 0, 0, 0.2);
    transition: 0.3s ease
}

.video-wrapper-section .video-trigger,
.video-wrapper-section video {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.team-video-preview {
    border-bottom: 1px solid #E1E1E1;
    padding-bottom: 80px;
    margin-bottom: 80px;
    margin-top: 60px
}

@media (max-width:767px) {
    .video-btn {
        transform: scale(0.5)
    }

    .video-wrapper-section:hover .video-btn {
        transform: scale(0.4)
    }
}

.brief-form>*,
.centered-item .text-32,
.centered-item p,
.ceo-preview,
.contacts-list,
.content-info-list,
.cta,
.faq li,
.grid-clients-item,
.grid-item,
.h2,
.h3,
.hero,
.industries-grid li,
.item-row,
.item-row-content p,
.list-item,
.promo-list li,
.reasons,
.reasons-item,
.result-item,
.result-item div,
.reviews-img,
.reviews-list,
.section-case .text-content,
.services-list,
.short-text,
.steps-grid li,
.steps-list li,
.tabs-trigger li,
.team-grid-item,
.team-preview,
.text-32,
.text-40,
.text-content,
.vacancies-action,
.vacancy-action-wrapper,
.video-wrapper-section {
    opacity: 0
}

.up-button {
    position: fixed;
    z-index: 20;
    width: 0;
    height: 0;
    border-radius: 4px;
    right: 38px;
    top: 20px;
    cursor: pointer;
    transition: opacity 0.35s ease, transform 0.35s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.09);
    transform: translateY(10px);
    opacity: 0
}

.up-button.active {
    width: 40px;
    height: 40px;
    transform: translateY(0);
    opacity: 1
}

.up-button svg {
    transition: 0.3s ease;
    color: #fff;
    width: 16px;
    height: auto
}

.up-button:hover {
    transform: scale(0.9)
}

.call-to-action {
    margin: 15px 0;
    padding: 40px 40px 50px;
    border-radius: 8px;
    background: radial-gradient(149.84% 609.1% at 123.75% -120.32%, #D31AE3 0%, #5432CE 63.9%, #000 100%)
}

.form-article {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px
}

.form-input {
    opacity: 1;
    height: 56px;
    font-size: 16px;
    color: #fff;
    line-height: 56px;
    border-bottom: 1px solid #CCC;
    z-index: 2
}

.form-input::placeholder {
    color: #fff
}

.submit {
    padding: 16px 32px;
    opacity: 1;
    font-size: 16px;
    line-height: 150%;
    background: #101416;
    color: #fff;
    border: 1px solid #101416;
    border-radius: 4px;
    transition: 0.3s ease
}

.submit:hover {
    background: #1e2325;
    border: 1px solid #1e2325
}

.action>* {
    opacity: 1
}

.success-message {
    padding: 5px 15px;
    border-radius: 4px;
    text-align: center;
    background: #fff;
    margin-top: 10px
}

@media (max-width:767px) {
    .call-to-action {
        padding: 30px 15px 50px;
        background: radial-gradient(517.59% 567.54% at 359.06% -38.88%, #D31AE3 0%, #5432CE 63.9%, #000 100%)
    }

    .form-article {
        grid-template-columns: 1fr
    }
}

.steps-grid li {
    border-top: 1px solid #E1E1E1;
    padding-top: 25px;
    padding-bottom: 35px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

.steps-grid li.active .step-icon {
    transform: rotate(180deg)
}

.steps-grid li.active .step-body {
    display: flex
}

.step-question {
    display: flex;
    cursor: pointer
}

.step-number {
    width: 105px;
    font-size: 18px;
    line-height: 150%;
    color: #E6232D;
    position: relative;
    top: 6px
}

.step-title {
    flex: 1;
    font-size: 26px;
    line-height: 150%;
    font-weight: normal
}

.step-icon {
    width: 54px;
    height: 54px;
    transition: 0.3s ease
}

.step-body {
    display: none;
    margin-top: 15px;
    font-weight: normal;
    font-size: 22px;
    line-height: 150%
}

.step-answer {
    flex: 1
}

.step-icon-mobile {
    display: none
}

@media (max-width:767px) {
    .steps-grid li {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .step-question {
        align-items: center
    }

    .step-number {
        width: 35px;
        position: static
    }

    .step-title {
        font-size: 22px;
        line-height: 150%
    }

    .step-body {
        font-size: 16px;
        line-height: 150%;
        margin-top: 10px
    }

    .step-icon {
        width: 35px;
        height: 35px
    }

    .step-icon-desktop {
        display: none
    }

    .step-icon-mobile {
        display: block
    }
}

.industries-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap: 20px
}

.industries-grid li {
    padding-top: 20px;
    padding-bottom: 30px;
    text-align: center;
    border-top: 1px solid #E1E1E1
}

.industries-grid li a {
    display: flex;
    flex-direction: column;
    align-items: center
}

.industries-grid li a img {
    max-width: 200px;
    width: 100%;
    height: auto
}

.industries-grid li a:hover .industries-title {
    opacity: 0.7
}

.industries-title {
    font-weight: normal;
    font-size: 16px;
    line-height: 150%;
    color: #101416
}

@media (max-width:767px) {
    .h3.industry-title {
        margin-bottom: -10px
    }

    .up-button {
        right: 15px;
        top: 15px
    }
}

.lazyload,
.lazyloading {
    opacity: 0
}

.lazyloaded {
    opacity: 1;
    transition: opacity 300ms
}

.modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999
}

.modal__container {
    padding: 30px;
    max-width: 480px;
    max-height: 100vh;
    width: 100%;
    overflow-y: auto;
    background: white;
    border-radius: 8px;
    margin: 16px
}

.close-modal {
    cursor: pointer;
    position: absolute;
    right: 24px;
    top: 24px
}

@keyframes mmfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes mmfadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes mmslideIn {
    0% {
        transform: translateY(15%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes mmslideOut {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(-10%)
    }
}

.micromodal-slide {
    display: none
}

.micromodal-slide.is-open {
    display: block
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
    animation: mmfadeIn 0.15s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=false] .modal__container {
    animation: mmslideIn 0.15s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
    animation: mmfadeOut 0.15s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .modal__container {
    animation: mmslideOut 0.15s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform
}

.text-content {
    font-size: 20px;
    line-height: 165%
}

.text-content a {
    color: #06F
}

.text-content h1,
.text-content h2,
.text-content h3,
.text-content h4 {
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 15px;
    margin-top: 40px
}

.text-content h1 {
    font-size: 40px;
    line-height: 130%;
    margin-top: 0
}

.text-content h2 {
    font-size: 36px;
    line-height: 1.25;
    margin: 40px 0 16px
}

.text-content h3 {
    font-size: 24px;
    line-height: 1.25;
    margin: 40px 0 16px
}

.text-content li,
.text-content p {
    line-height: 1.7;
    margin-bottom: 16px
}

.text-content h4 {
    font-size: 20px;
    line-height: 1.25;
    margin: 30px 0 16px
}

.text-content p,
.text-content ul {
    margin-bottom: 15px
}

.text-content ul p {
    margin-bottom: 0;
    margin-top: 0;
    display: inline
}

.text-content ul li p {
    flex: 1
}

.text-content ul li:before {
    content: "";
    margin-right: 15px;
    position: relative;
    top: -3px;
    min-width: 6px;
    height: 6px;
    display: inline-block;
    background: #06C
}

.text-content p img {
    margin-bottom: 40px;
    margin-top: 25px;
    box-shadow: none;
    border-radius: 6px;
    border: 1px solid #e5e5e5
}

.text-content img {
    width: 100%;
    height: auto;
    margin-bottom: 40px !important;
    margin-top: 40px !important
}

.text-content video {
    margin-top: 40px !important;
    margin-bottom: 30px !important
}

.text-content figure {
    border-radius: 0.5rem;
    padding: 0.5rem
}

.text-content figure img {
    display: block;
    border-radius: 0.5rem
}

.text-content figcaption {
    margin-top: 0.25rem;
    padding: 0.5rem;
    border-radius: 0.5rem;
    color: grey;
    font-size: 14px
}

.text-content .video {
    width: 100%;
    min-height: 400px
}

.text-content code {
    background-color: rgba(97, 97, 97, 0.1);
    color: #616161
}

.text-content pre {
    background: #0D0D0D;
    color: #FFF;
    font-family: "JetBrainsMono", monospace;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem
}

.text-content pre code {
    color: inherit;
    padding: 0;
    background: none;
    font-size: 0.8rem
}

.text-content blockquote {
    padding-left: 1rem;
    border-left: 2px solid rgba(13, 13, 13, 0.1);
    margin: 30px 0
}

.text-content hr {
    border: none;
    border-top: 2px solid rgba(13, 13, 13, 0.1);
    margin: 2rem 0
}

.text-content table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    margin: 0;
    overflow: hidden
}

.text-content table td,
.text-content table th {
    min-width: 1em;
    border: 2px solid #ced4da;
    padding: 3px 5px;
    vertical-align: top;
    box-sizing: border-box;
    position: relative
}

.text-content table td>*,
.text-content table th>* {
    margin-bottom: 0
}

.text-content table th {
    font-weight: bold;
    text-align: left;
    background-color: #f1f3f5
}

.text-content table .selectedCell:after {
    z-index: 2;
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(200, 200, 255, 0.4);
    pointer-events: none
}

.text-content table .column-resize-handle {
    position: absolute;
    right: -2px;
    top: 0;
    bottom: -2px;
    width: 4px;
    background-color: #adf;
    pointer-events: none
}

.text-content table .tableWrapper {
    padding: 1rem 0;
    overflow-x: auto
}

.text-content table .video-wrapper {
    width: 100%
}

.text-content table .video-wrapper iframe {
    width: 100%;
    min-height: 450px;
    margin-bottom: -5px
}

.text-content table .figure-image {
    width: 100%;
    max-width: 700px;
    margin: 0 auto
}

.text-content table .figure-image img {
    width: 100%
}

.text-content .custom-image-250,
.text-content .custom-video-250 {
    max-width: 250px;
    margin: 0 auto;
    display: grid
}

.text-content .custom-image-450,
.text-content .custom-video-450 {
    max-width: 450px;
    margin: 0 auto;
    display: grid
}

.text-content .custom-image-700,
.text-content .custom-video-700 {
    max-width: 700px;
    margin: 0 auto;
    display: grid
}

.text-content .custom-image-1240,
.text-content .custom-video-1240 {
    max-width: 1280px;
    display: grid;
    width: calc(100vw - 40px);
    margin: 0 auto 0 50%;
    transform: translateX(-50%)
}

.text-content em {
    font-style: italic
}

.text-content ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 40px
}

.text-content .custom-image-full-page,
.text-content .custom-video-full-page {
    display: grid;
    min-width: 100vw !important;
    margin: 0 auto 0 50%;
    transform: translateX(-50%)
}

.text-content .custom-image-auto,
.text-content .custom-video-auto {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: grid
}

.text-content .custom-image-full,
.text-content .custom-video-full {
    width: 100%;
    margin: 0 auto;
    display: grid
}

.text-content .custom-image-float-none {
    float: none
}

.text-content .custom-image-float-left {
    float: left;
    margin-right: 30px
}

.text-content .custom-image-float-right {
    float: right;
    margin-left: 30px
}

.text-content blockquote {
    padding-left: 1rem;
    border-left: 2px solid rgba(13, 13, 13, 0.1)
}

.text-content hr {
    border: none;
    border-top: 2px solid rgba(13, 13, 13, 0.1);
    margin: 2rem 0
}

.text-content .grid-content {
    display: grid;
    grid-gap: 20px;
    margin-bottom: 20px
}

.text-content .grid-content.grid-1-2 {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))
}

.text-content .video-wrapper {
    width: 100%
}

.text-content iframe {
    width: 100%;
    min-height: 450px;
    margin-bottom: -5px;
    position: relative;
    padding: 50px
}

.section-case.background-white {
    background: #fff
}

.section-case.background-black {
    background: #101416
}

.section-case.background-grey {
    background: #f5f4f5
}

.section-case.color-white {
    color: #fff
}

.section-case.color-black {
    color: #101416
}

.seo-section-wrapper {
    order: 999
}

@media (max-width:1000px) {
    .text-content {}

    .text-content h1,
    .text-content h2,
    .text-content h3,
    .text-content h4 {
        line-height: 130%
    }

    .text-content h1 {
        font-size: 30px
    }

    .text-content h2 {
        font-size: 26px
    }

    .text-content h3 {
        font-size: 20px
    }

    .text-content h4 {
        font-size: 18px
    }

    .text-content p,
    .text-content ul {
        margin-bottom: 10px
    }
}

.no-cursor {
    pointer-events: none
}

.no-cursor::-webkit-media-controls,
.no-cursor::-webkit-media-controls-enclosure {
    display: none !important
}

.swiper .swiper-slide {
    height: auto
}

.swiper .swiper-pagination-bullet-active {
    background: #101416
}

.swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px
}

.swiper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px
}

.review-item {
    padding: 32px;
    background: #F4F4F4;
    border-radius: 12px;
    height: 100%;
    position: relative
}

.review-info {
    display: flex;
    align-items: center;
    margin-bottom: 12px
}

.review-info-photo {
    display: block;
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
    margin-right: 8px
}

.review-info-name {
    font-weight: 700;
    font-size: 18px;
    line-height: 150%
}

.review-info-position {
    color: #9D9D9D;
    font-size: 16px;
    line-height: 150%
}

.review-body {
    font-size: 18px
}

.google-logo {
    position: absolute;
    z-index: 10;
    top: 32px;
    right: 32px
}

.reviews-text {
    margin: 0 auto;
    text-align: center !important;
    max-width: 610px
}

.reviews-text .h2 {
    margin-bottom: 20px;
    text-align: center !important
}

@media (max-width:1000px) {
    .review-item {
        padding: 20px
    }

    .google-logo {
        top: 20px;
        right: 20px
    }
}

.cookies-wrapper {
    position: fixed;
    background: #fff;
    z-index: 50;
    width: 100%;
    max-width: 580px;
    padding: 20px;
    border-radius: 8px;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 8px 24px 0 rgba(136, 136, 136, 0.25)
}

.cookies-wrapper.hidden {
    display: none;
    height: 0;
    width: 0;
    position: absolute;
    right: 99999px;
    top: 99999px
}

.cookies-top {
    display: flex;
    align-items: center;
    gap: 4px
}

.cookies-accept {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.cookies-accept label {
    display: block;
    position: relative;
    padding-left: 24px;
    cursor: pointer;
    font-size: 14px;
    line-height: 15px;
    -webkit-user-select: none;
    user-select: none
}

.cookies-accept label.disabled {
    opacity: 0.5
}

.cookies-accept label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

.cookies-accept .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 16px;
    width: 16px;
    border: 2px solid #000;
    border-radius: 2px
}

.cookies-accept label input:checked~.checkmark {
    background-color: #000
}

.cookies-accept .checkmark:after {
    content: "";
    position: absolute;
    display: none
}

.cookies-accept label input:checked~.checkmark:after {
    display: block
}

.cookies-accept label .checkmark:after {
    left: 4px;
    top: 0;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.cookies-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
}

@media (max-width:1000px) {
    .cookies-wrapper {
        transform: translateX(0);
        left: 15px;
        right: 15px;
        max-width: fit-content
    }

    .cookies-actions {
        grid-template-columns: 1fr
    }
}

.cta {
    padding: 50px 15px;
    text-align: center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(270deg, #24228d 0%, #121041 100%);
    position: relative;
    overflow: hidden;
    min-height: 242px
}

.cta-inner {
    max-width: 400px;
    position: relative;
    z-index: 5
}

.cta-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 125%;
    margin-bottom: 10px
}

.cta-subtitle {
    font-weight: 400;
    font-size: 18px;
    line-height: 133%;
    opacity: 0.75;
    margin-bottom: 20px
}

.cta-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #3490dc;
    color: #fff;
    border-radius: 4px;
    padding: 12px 24px;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%
}

.cta-background {
    position: absolute;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    top: -10px
}

@media (max-width:1000px) {
    .cta {
        border-radius: 9px
    }

    .cta-title {
        font-size: 24px
    }

    .cta-subtitle {
        font-size: 16px
    }
}

.acc-item.active .acc-item-title {
    color: #E6232D
}

.acc-item.active .acc-item-title svg {
    transform: rotate(180deg)
}

.acc-item.active .acc-item-body {
    max-height: 500px;
    padding-top: 12px
}

.acc-item-title {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 400;
    font-size: 24px;
    line-height: 133%;
    padding-top: 24px;
    cursor: pointer
}

.acc-item-title:hover {
    color: #E6232D
}

.acc-item-title>span {
    flex: 1
}

.acc-item-body {
    font-weight: 400;
    font-size: 18px;
    line-height: 133%;
    height: auto;
    max-height: 0;
    transition: 0.35s min-height ease;
    overflow: hidden;
    padding-top: 0
}

@media (max-width:1000px) {
    .acc-title.h2 {
        font-size: 24px;
        margin-bottom: 20px
    }

    .acc-item-title {
        font-weight: 400;
        font-size: 20px;
        line-height: 120%
    }

    .acc-item-body {
        font-weight: 400;
        font-size: 16px;
        line-height: 150%
    }
}

.reasons-heading {
    margin-bottom: 60px;
    max-width: 620px
}

.reasons-heading-title {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 40px;
    line-height: 120%
}

.reasons-heading-subtitle {
    font-weight: 400;
    font-size: 18px;
    line-height: 133%
}

.reasons-grid {
    display: grid;
    column-gap: 80px;
    row-gap: 60px;
    grid-template-columns: repeat(2, 1fr)
}

.reasons-grid-item-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 40px
}

.reasons-grid-item-icon-image {
    width: 100%;
    height: auto
}

.reasons-grid-item-title {
    font-weight: 700;
    font-size: 20px;
    line-height: 120%;
    margin-bottom: 12px
}

.reasons-grid-item-body {
    font-weight: 400;
    font-size: 18px;
    line-height: 133%
}

@media (max-width:1000px) {
    .reasons-heading {
        margin-bottom: 40px
    }

    .reasons-heading-title {
        font-weight: 700;
        font-size: 28px;
        line-height: 129%
    }

    .reasons-heading-subtitle {
        font-weight: 400;
        font-size: 16px;
        line-height: 150%
    }

    .reasons-grid {
        grid-template-columns: repeat(1, 1fr)
    }

    .reasons-grid-item-icon {
        margin-bottom: 32px
    }

    .reasons-grid-item-body {
        font-weight: 400;
        font-size: 16px;
        line-height: 150%
    }
}

.divider-line {
    display: flex;
    align-items: center
}

.divider-line.sm {
    height: 40px
}

.divider-line.md {
    height: 60px
}

.divider-line.lg {
    height: 80px
}

.divider-line.xl {
    height: 100px
}

@media (max-width:1000px) {
    .divider-line.sm {
        height: 30px
    }

    .divider-line.md {
        height: 40px
    }

    .divider-line.lg {
        height: 60px
    }

    .divider-line.xl {
        height: 80px
    }
}

.big.hero-index-wrapper.hero-wrapper {
    padding-top: 80px;
    text-align: left
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px
}

.hero-grid img {
    width: 100%;
    height: auto
}

.hero-grid .list-big {
    margin-top: 200px
}

.hero-index {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.animate-index {
    max-height: 390px;
    overflow: hidden;
    position: relative
}

.animate-index video {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    transform: translate(-50%, -50%)
}

.list-big {
    margin-top: 20px
}

.list-big li:not(:last-of-type) {
    margin-bottom: 12px
}

.list-big .more span {
    font-weight: normal;
    font-size: 24px;
    line-height: 150%
}

.index-section .readmore {
    margin-top: 20px
}

.index-section .h2-v2 {
    margin-bottom: 20px
}

.services-child li:not(:last-of-type) {
    margin-bottom: 4px
}

.services-child a {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%;
    color: #06C;
    transition: 0.2s ease
}

.services-child a:hover {
    color: #E6232D
}

.home .grid {
    margin-bottom: 0
}

.home .reviews-list-wrapper {
    margin-top: -40px;
    margin-bottom: 130px
}

@media (max-width:1000px) {
    .big.hero-index-wrapper.hero-wrapper {
        padding-top: 50px
    }

    .animate-index {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .animate-index video {
        position: static;
        transform: translate(0, 0)
    }

    .services-child {
        grid-template-columns: 1fr;
        grid-gap: 0
    }

    .hero-grid {
        grid-template-columns: 1fr;
        grid-gap: 30px
    }

    .list-big .more span {
        font-weight: normal;
        font-size: 24px;
        line-height: 150%
    }

    .list-big {
        margin-top: 0
    }

    .author-info {
        order: 1
    }

    .items-row.type-two.index-section {
        grid-template-columns: 1fr !important
    }

    .item-row-content.img {
        padding: 20px 0
    }

    .hero-grid .list-big {
        margin-top: 0
    }
}

.readmore-wrapper .container {
    padding-top: 60px;
    margin-top: 60px
}

.about-text {
    margin-bottom: 50px
}

.about-text .text-content {
    max-width: 720px
}

.about-text .text-content p {
    font-weight: normal;
    font-size: 22px;
    line-height: 140%
}

.ceo-grid-preview {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
    border-bottom: 1px solid #E1E1E1;
    padding-bottom: 95px;
    margin-bottom: 80px
}

.ceo-grid-preview img {
    width: 100%;
    height: auto
}

.team-grid-preview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    border-bottom: 1px solid #E1E1E1;
    padding-bottom: 80px;
    margin-bottom: 80px;
    margin-top: 60px
}

.team-grid-preview img {
    width: 100%;
    height: auto
}

.team-preview:first-of-type {
    display: flex;
    align-items: flex-end
}

.team-preview:last-of-type {
    display: flex;
    align-items: flex-start
}

.grid-clients {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 50px
}

.grid-clients-item {
    display: flex;
    align-items: center;
    justify-content: center
}

.grid-clients-item img {
    width: auto;
    height: auto;
    max-width: 100%
}

.ceo-preview img {
    display: block;
    margin-bottom: 20px
}

.ceo-preview .name {
    font-size: 22px;
    line-height: 150%;
    margin-bottom: 5px
}

.ceo-preview .position {
    font-weight: normal;
    font-size: 14px;
    line-height: 150%;
    color: #808080
}

.reviews-section {
    margin-bottom: 80px
}

@media (max-width:1000px) {
    .about-text {
        margin-bottom: 25px
    }

    .grid-clients {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr))
    }

    .grid-clients img {
        width: auto;
        max-width: 100%;
        height: auto
    }

    .ceo-grid-preview,
    .team-grid-preview {
        grid-template-columns: 1fr;
        padding-bottom: 60px;
        margin-bottom: 60px
    }

    .ceo-grid-preview img,
    .team-grid-preview img {
        height: 330px;
        object-fit: cover
    }

    .ceo-grid-preview {
        grid-gap: 35px
    }

    .about-us .reviews-section {
        margin-bottom: 0
    }

    .about-us .h2 {
        margin-bottom: 20px
    }

    .short-text p {
        font-weight: normal;
        font-size: 18px;
        line-height: 150%
    }
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-column-gap: 35px;
    grid-row-gap: 40px
}

.team-grid-item img {
    width: 100%;
    height: auto;
    border-radius: 4px
}

.member-name {
    margin-top: 15px;
    margin-bottom: 5px
}

.member-position {
    color: #808080
}

@media (max-width:470px) {
    .team-grid {
        grid-gap: 30px
    }

    .team-grid-item {
        padding: 0 20px
    }
}

.vacancies-action {
    padding-bottom: 30px
}

.vacancies-action .small-title {
    margin-bottom: 5px
}

.vacancies-action .h3 {
    display: block;
    color: #06C
}

@media (max-width:1000px) {
    .vacancies-action {
        padding-bottom: 0
    }

    .vacancies-list-wrapper .list-item-left {
        width: 100%;
        margin-bottom: 20px
    }
}

.vacancy-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 9%
}

.vacancy-info.text-content h2 {
    font-size: 24px;
    line-height: 32px
}

.vacancy-info.text-content h2:first-of-type {
    margin-top: 0
}

.vacancy-info.text-content ul li:not(:last-of-type) {
    margin-bottom: 5px
}

.vacancy-action {
    background: #fff;
    border: 6px solid #E6232D;
    box-shadow: 0 8px 0 #E6232D;
    padding: 40px;
    position: relative
}

.vacancy-action .h4 {
    margin-bottom: 25px
}

.vacancy-action .accept {
    margin-top: 30px;
    max-width: 420px
}

.form-label {
    position: absolute;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 22px;
    line-height: 22px;
    text-transform: uppercase;
    text-align: center;
    top: -40px;
    right: -55px;
    transform: rotate(-9deg)
}

.form-label svg {
    position: absolute
}

.form-label span {
    position: relative;
    z-index: 2
}

.vacancy-form .form-row {
    margin-bottom: 35px
}

.vacancy-form .add-file {
    margin-bottom: 35px
}

@media (max-width:1000px) {
    .vacancy-grid {
        grid-template-columns: 1fr;
        grid-gap: 60px
    }

    .form-label {
        display: none
    }

    .vacancy-action {
        padding: 30px 20px
    }

    .vacancy-info.text-content h2 {
        margin-top: 30px
    }
}

.contacts-grid {
    display: grid;
    grid-template-columns: 1fr 295px;
    grid-gap: 125px;
    padding-bottom: 100px
}

.contacts-grid .section-wrapper {
    padding: 0
}

.contacts-grid .section-wrapper .h2-v2.section-title {
    display: none
}

.contacts-list li:not(:last-of-type) {
    margin-bottom: 50px
}

.contacts-list-item a {
    color: #06C;
    display: block
}

.contacts-list-item .h3 {
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 22px;
    line-height: 150%
}

.contacts-list-item .small-title {
    margin-bottom: 5px
}

.send-resume {
    margin-top: 80px
}

@media (max-width:1000px) {
    .contacts-list li:not(:last-of-type) {
        margin-bottom: 30px
    }
}

.error-404 {
    background: #0001AB;
    min-height: 100vh;
    color: #fff;
    text-align: center
}

.error-404 .top-header-wrapper a {
    color: #fff
}

.error-404 .hamburger span {
    background: #fff
}

.error-404 .logo svg {
    fill: #fff
}

.error-404 .color-one,
.error-404 .color-three,
.error-404 .color-two {
    stop-color: #fff
}

.error-title {
    font-weight: bold;
    font-size: 62px;
    line-height: 62px;
    margin-bottom: 20px
}

.error-title~.fz16 {
    max-width: 575px;
    margin: 0 auto
}

.error-404-wrapper {
    margin-top: 115px
}

.error-404-wrapper svg {
    margin-left: auto;
    display: block;
    margin-top: 90px;
    position: relative;
    right: -80px
}

@media (max-width:1000px) {
    .error-404 .bottom-header-wrapper {
        border-color: rgba(255, 255, 255, 0.2)
    }

    .error-404 .bottom-header-wrapper a {
        color: #fff
    }

    .error-404-wrapper {
        margin-top: 75px
    }

    .error-404-wrapper svg {
        margin-top: 55px
    }

    .error-title {
        font-weight: 600;
        font-size: 40px;
        line-height: 120%
    }
}

.grid-cases {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-column-gap: 35px;
    grid-row-gap: 40px
}

.grid-item.item-4.left {
    grid-column: 1/3
}

.grid-item.item-4.center {
    grid-column: 3/5
}

.grid-item.item-4.right {
    grid-column: 5/7
}

.grid-item.item-6.left {
    grid-column: 1/4
}

.grid-item.item-6.right {
    grid-column: 4/7
}

.grid-item.item-8.left {
    grid-column: 1/5
}

.grid-item.item-8.right {
    grid-column: 3/7
}

.grid-item.item-12 {
    grid-column: 1/7
}

.grid-item.with-list a {
    color: #06C
}

.grid-item.with-list li {
    margin-top: 10px
}

.grid-item .grid-item-title {
    transition: 0.3s ease
}

.grid-item:hover .grid-item-title {
    color: #E6232D !important
}

.cases-case .tabs-triger-wrapper {
    justify-content: center
}

.cases-case .tabs-triger-wrapper a {
    font-size: 14px;
    line-height: 150%
}

@media (max-width:1000px) {
    .cases .tabs-triger-wrapper {
        justify-content: center
    }

    .cases .h1-v2 {
        text-align: center
    }

    .grid.grid-cases {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))
    }

    .grid.grid-cases .grid-item {
        grid-column: auto
    }
}

@media (max-width:700px) {
    .grid.grid-cases {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        grid-gap: 30px
    }
}

.section-case {
    padding: 30px 0
}

.section-case img {
    box-shadow: 0 18.9309px 24.6865px rgba(144, 138, 134, 0.0390042), 0px 12.9799px 10.4974px rgba(144, 138, 134, 0.0318732), 0px 7.23769px 3.6684px rgba(144, 138, 134, 0.0245329);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px
}

.info-case {
    width: 100%;
    margin-bottom: 60px;
    margin-top: -40px
}

.info-case tr {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px
}

.info-case h4 {
    margin-bottom: 10px
}

.img-wrapper {
    margin-bottom: 30px;
    margin-top: 30px
}

img.w200 {
    width: 84vw !important;
    height: auto;
    max-width: 1095px;
    min-width: 890px;
    position: relative;
    transform: translateX(-50%);
    left: 50%
}

.w100 img {
    width: 100%;
    height: auto
}

.case-reviews .h2 {
    font-weight: 500;
    margin-bottom: 10px
}

.section-case-reviews {
    margin-top: 60px
}

.review-wrapper {
    display: flex;
    justify-content: space-between
}

.review-wrapper.old-view .review-info {
    margin-top: 24px;
    display: block;
    margin-bottom: 0
}

.review-info {
    max-width: 600px;
    flex: 1
}

.review-date,
.review-persone {
    font-size: 14px;
    line-height: 155%;
    color: #808080;
    margin-top: 10px
}

.review-photo {
    width: 200px;
    margin-left: 20px
}

.review-photo img {
    width: 100%;
    height: auto;
    display: block
}

@media (max-width:890px) {
    img.w200 {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        position: static;
        transform: translateX(0)
    }
}

.img-wrapper span {
    display: block;
    margin-top: 15px;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #808080
}

@media (max-width:1000px) {
    .info-case {
        margin-bottom: 30px
    }

    .info-case tr {
        grid-template-columns: 1fr;
        grid-gap: 30px
    }

    .info-case h4 {
        margin-top: 0
    }

    .section-case {
        padding: 60px 0
    }

    .review-wrapper {
        flex-direction: column
    }

    .review-photo {
        margin-left: 0;
        margin-bottom: 15px;
        margin-top: 12px
    }

    .review-info {
        order: 2
    }
}

.section-title {
    margin-bottom: 40px
}

.section-title.with-more {
    position: relative;
    padding-right: 150px
}

.section-title.with-more .readmore {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: normal
}

.service-section {
    border-radius: 6px
}

.hero-services {
    text-align: left
}

.hero-services .btn {
    margin-top: 40px
}

.hero-services-sub {
    text-align: center
}

.section-wrapper {
    padding: 80px 0
}

.action-list-wrapper.section-wrapper {
    padding-top: 0
}

.last-seo-wrapper .section-title {
    margin-bottom: 60px
}

.items-row {
    display: grid
}

.items-row img {
    max-width: 100%;
    height: auto;
    margin: 0 auto
}

.items-row.type-one {
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px
}

.items-row.type-two {
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px
}

.items-row.type-two.index-section {
    grid-template-columns: 2fr 1fr;
    grid-gap: 40px
}

.items-row .item-price {
    margin-top: 40px;
    margin-bottom: 30px
}

.items-row .item-price span {
    color: #808080;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    position: relative;
    bottom: 20px
}

.item-row-content {
    max-width: 520px;
    margin: 0 auto
}

.item-row-content.center {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    max-width: initial
}

.item-row-content.img {
    max-width: 100%
}

.item-row-content p {
    margin-top: 15px
}

.seo-section {
    height: auto;
    max-height: 200px;
    overflow: hidden;
    transition: 0.5s;
    margin-bottom: 20px;
    position: relative
}

.seo-section:after {
    content: "";
    transition: 0.2s ease;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75px;
    background: linear-gradient(360deg, #fff 0%, rgba(255, 255, 255, 0) 100%)
}

.seo-section.active {
    max-height: 5000px
}

.seo-section.active:after {
    opacity: 0;
    display: none
}

.seo-section .readmore {
    margin-top: 20px
}

.active.readmore.revers:after {
    transform: rotate(270deg)
}

.promo-single .service-section-big .container .h2,
.services-single .service-section-big .container .h2 {
    font-size: 44px
}

.hero-img .note {
    color: #101010
}

.hero-img-promotion {
    text-align: center
}

.hero-img-promotion .note {
    max-width: 340px;
    margin: 20px auto 0
}

.service-section-big .h2-v2 {
    margin-bottom: 60px
}

.service-section-big .items-row .h3 {
    margin-bottom: 15px
}

.service-section-big .items-row img {
    box-shadow: 0 55px 40px -60px rgba(65, 80, 86, 0.12), 0px 20px 120px rgba(65, 80, 85, 0.08)
}

.service-section-big .items-row:not(:last-of-type) {
    margin-bottom: 100px
}

.steps-list-wrapper .container {
    padding-top: 40px;
    border-top: 1px solid rgba(0, 0, 0, 0.1)
}

.steps-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    grid-gap: 60px
}

.step-list-title {
    font-weight: 600;
    margin-bottom: 5px
}

.step-list-subtitle {
    color: #808080
}

.results-section-wrapper {
    border-radius: 24px;
    padding: 100px 0
}

.results-section-wrapper .h2 {
    color: #fff;
    margin-bottom: 60px
}

.results-section-wrapper.bg-one {
    background: #003F71
}

.results-section-wrapper.bg-two {
    background: #007A78
}

.result-item {
    background: #fff;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 32px 54px rgba(144, 138, 134, 0.1), 0px 18px 18px rgba(144, 138, 134, 0.05), 0px 12px 8px rgba(144, 138, 134, 0.03), 0px 8px 3px rgba(144, 138, 134, 0.02)
}

.result-item:not(:last-of-type) {
    margin-bottom: 20px
}

.result-item.type-two .result-item-bottom {
    min-height: auto;
    flex-direction: column
}

.result-item-type {
    color: #808080;
    margin-bottom: 30px
}

.result-value-wrapper {
    display: flex;
    align-items: center
}

.result-value {
    color: #54BF52;
    font-weight: 500;
    font-size: 42px;
    line-height: 50px;
    margin-right: 10px
}

.result-key {
    max-width: 150px;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px
}

.result-item-top {
    padding: 18px 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.result-item-top .left {
    display: flex;
    align-items: center;
    margin-right: 10px
}

.result-item-top .left img {
    margin-right: 20px
}

.result-item-top .right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center
}

.result-item-top .right .result-value-wrapper:not(:last-of-type) {
    margin-right: 10px
}

.result-item-bottom {
    padding: 15px 45px 35px;
    display: flex;
    min-height: 365px
}

.result-item-bottom .left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 410px;
    margin-right: 10px
}

.result-item-bottom .right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end
}

.result-item-bottom .right img {
    width: 100%;
    max-width: 1000px;
    height: auto
}

.result-text-item {
    display: flex
}

.result-text-item:not(:last-of-type) {
    margin-bottom: 15px
}

.result-text strong {
    margin-right: 8px
}

.hero-img-context {
    position: relative
}

.hero-img-context .note {
    position: absolute;
    top: 70px;
    width: 175px;
    left: calc(100% - 150px)
}

.hero-img-context .line {
    position: absolute;
    right: calc(100% + 15px);
    top: 15px;
    width: 51px;
    height: 1px;
    background: #101010
}

.result-items-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 65px
}

.result-item-value>span {
    font-weight: normal;
    font-size: 42px;
    line-height: 50px;
    color: #54BF52;
    display: block;
    margin-bottom: 10px
}

.result-item-value>div {
    padding-top: 30px;
    height: 112px;
    display: flex;
    align-items: flex-start;
    position: relative
}

.result-item-value svg {
    position: absolute;
    left: 0;
    bottom: 0
}

.item-row .more {
    margin-top: 20px
}

.item-row.item-row-img {
    display: flex;
    align-items: start
}

.item-row.item-row-img .h4 {
    flex: 1
}

.item-row-img-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 74px;
    margin-right: 30px
}

.appeal-section p {
    margin-top: 15px;
    margin-bottom: 30px
}

.info-dev-wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.stack-list {
    max-width: 500px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.stack-item {
    text-align: center;
    padding: 0 5px
}

.stack-item .fz14 {
    color: #808080
}

.stack-item:not(:last-of-type) {
    right: 10px
}

.stack-logo {
    height: 164px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px
}

.speed-test {
    text-align: center;
    max-width: 330px;
    position: relative
}

.speed-test svg {
    margin-bottom: 20px
}

.speed-test-bg {
    position: absolute;
    top: -75px;
    left: 50%;
    transform: translateX(-50%);
    width: 246px;
    height: 246px;
    background: rgba(61, 149, 65, 0.2);
    filter: blur(100px);
    border-radius: 200px
}

.appeal-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px
}

.appeal-item {
    display: block;
    padding: 30px 30px 40px;
    background: #101416;
    border-radius: 6px;
    color: #fff
}

.appeal-item .readmore {
    color: rgba(242, 242, 255, 0.5)
}

.appeal-item .readmore:after {
    color: rgba(242, 242, 255, 0.5)
}

.appeal-title-wrappper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 108px
}

.appeal-item-title {
    font-size: 30px;
    line-height: 36px;
    font-weight: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #D31AE3;
    background: -webkit-linear-gradient(#D31AE3, #5218F6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.appeal-item-title:nth-of-type(2) {
    margin-left: 20px
}

.appeal-item-title:last-of-type {
    margin-left: 40px
}

.appeal-text {
    margin-top: 20px;
    margin-bottom: 10px
}

.services-single .hero .h2 {
    margin-bottom: 10px
}

.services-single .hero .btn {
    margin-top: 30px
}

.services-single .hero-wrapper.big {
    padding-bottom: 0
}

.service-section-wrapper .h2 {
    margin-bottom: 20px
}

@media (max-width:1000px) {
    .hero-services-sub {
        text-align: left
    }

    .hero-grid-wrapper.items-row.type-two {
        grid-template-columns: 1fr;
        grid-gap: 0
    }

    .hero-grid-wrapper.items-row.type-two .item-row:nth-of-type(2) {
        display: none
    }

    .item-row img {
        margin: 0 auto;
        display: block
    }

    .section-wrapper {
        padding: 60px 0
    }

    .service-section-wrapper {
        padding: 50px 0
    }

    .service-section-wrapper .h2 {
        margin-bottom: 20px
    }

    .brief-wrapper .h2 {
        font-weight: bold;
        font-size: 32px;
        line-height: 130%;
        margin-bottom: 40px !important
    }

    .items-row.type-one,
    .items-row.type-two {
        grid-template-columns: 1fr;
        grid-gap: 25px
    }

    .block-bottom {
        order: 2 !important
    }

    .brief-services {
        margin-bottom: 0 !important
    }

    .hero-wrapper.cases .h1-v2 {
        font-size: 30px
    }

    .nav-services a .readmore {
        left: 15px
    }

    .service-section-big {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .service-section-big .items-row .h3 {
        margin-bottom: 15px
    }

    .service-section-big .items-row:not(:last-of-type) {
        margin-bottom: 75px
    }

    .service-section-big .h2-v2 {
        text-align: center
    }

    .service-section-big .hero-grid {
        margin-bottom: 30px
    }

    .results-section-wrapper {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .form-action {
        margin-top: 50px !important
    }

    .contacts-grid {
        grid-template-columns: 1fr;
        grid-gap: 60px
    }

    .contacts-list {
        grid-row: 1/2
    }

    .last-seo-wrapper .section-title {
        margin-bottom: 20px
    }

    .seo-promotion-list .items-row.type-one,
    .seo-promotion-list .items-row.type-two {
        grid-gap: 5px
    }

    .result-item-top {
        padding: 30px 15px
    }

    .result-item-top {
        flex-direction: column;
        align-items: start
    }

    .result-item-top>div {
        flex-direction: column
    }

    .result-item-top .result-value {
        width: 115px
    }

    .result-item-top .right .result-value-wrapper:not(:last-of-type) {
        margin-right: 0;
        margin-bottom: 25px;
        margin-top: 30px
    }

    .result-item-top .left {
        align-items: start
    }

    .result-item-top .left img {
        margin-bottom: 10px;
        margin-right: 0
    }

    .result-item-top .left .p {
        font-size: 16px;
        line-height: 155%
    }

    .result-item-top .right {
        align-items: start
    }

    .result-value {
        font-weight: 600;
        font-size: 28px;
        line-height: 125%
    }

    .result-key {
        max-width: inherit;
        flex: 1
    }

    .result-item-bottom {
        padding: 30px 15px;
        flex-wrap: wrap
    }

    .result-item-bottom .readmore {
        margin-top: 10px;
        margin-bottom: 30px
    }

    .result-item-bottom .left {
        max-width: inherit;
        margin-right: 0
    }

    .steps-list-wrapper .container {
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 40px;
        padding-top: 40px;
        border-top: 1px solid rgba(0, 0, 0, 0.1)
    }

    .results-section-wrapper .h2 {
        font-weight: bold;
        font-size: 32px;
        line-height: 130%;
        margin-bottom: 30px
    }

    .steps-list {
        grid-gap: 30px
    }

    .section-title.with-more {
        padding-right: 0
    }

    .section-title.with-more .readmore {
        display: none
    }

    .seo-section {
        max-height: 405px
    }

    .type-two .result-item-top .right {
        margin-top: 10px
    }

    .result-items-list {
        grid-template-columns: repeat(auto-fit, 124px);
        grid-gap: 30px
    }

    .result-item.type-two .result-item-bottom {
        display: block
    }

    .item-row-content {
        max-width: inherit
    }

    .item-row-img-wrapper {
        display: none
    }

    .seo-promotion-list .h4 {
        font-size: 22px;
        line-height: 130%
    }

    .stack-logo {
        padding: 5px;
        margin-bottom: 5px
    }

    .speed-test {
        margin-top: 70px
    }

    .speed-test .fz16 {
        color: #DDC;
        font-size: 13px;
        line-height: 155%
    }

    .appeal-grid {
        grid-template-columns: 1fr
    }
}

.brief-wrapper .section-title {
    margin-bottom: 60px
}

.brief-services {
    margin-bottom: -110px
}

.brief-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 14px;
    grid-row-gap: 40px;
    margin-bottom: 60px
}

.brief-form .add-file {
    margin-top: 30px;
    margin-bottom: 60px
}

.brief-form .h4 {
    font-weight: 700;
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 150%
}

.form-action .accept {
    flex: 1;
    max-width: 435px;
    line-height: 150%
}

.form-action {
    margin-top: 80px
}

.action-buttons {
    display: flex;
    margin-bottom: 30px;
    position: relative
}

.action-buttons button,
.action-buttons label {
    white-space: nowrap
}

.work-type {
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap
}

.work-type li:not(:last-of-type) {
    margin-right: 5px;
    margin-bottom: 10px
}

.work-type input:checked~label {
    background: rgba(43, 75, 146, 0.9);
    color: #fff
}

@media (max-width:1000px) {
    .brief-grid {
        grid-template-columns: 1fr;
        grid-gap: 25px;
        margin-bottom: 50px
    }

    .brief-form .section-title {
        margin-bottom: 25px
    }

    .brief-form .add-file {
        margin-bottom: 50px;
        margin-top: 25px
    }

    .action-buttons {
        flex-direction: column-reverse;
        align-items: baseline;
        margin-top: 40px
    }

    .action-buttons button {
        width: auto
    }

    .action-buttons .btn-load {
        margin-left: 0;
        margin-bottom: 20px
    }
}

@media (max-width:700px) {
    .form-action {
        flex-direction: column;
        align-items: start
    }

    .form-action .accept {
        margin-left: 0;
        margin-top: 25px
    }
}

.dark-mode {
    color: #fff
}

.dark-mode .main-footer-inner,
.dark-mode .main-footer-inner-top {
    border-color: #3c3c3c
}

.dark-mode .seo-section:after {
    background: linear-gradient(360deg, #101416 0%, rgba(16, 20, 22, 0) 100%)
}

.dark-mode.bg {
    background: #101416
}

.dark-mode .white-bg {
    background: transparent
}

.dark-mode .dark-bg {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 6px
}

.dark-mode .breadcrumps-wrapper,
.dark-mode .main-footer-wrapper {
    background: transparent;
    border-color: rgba(242, 242, 255, 0.1)
}

.dark-mode .breadcrumps-wrapper a,
.dark-mode .main-footer-wrapper a {
    color: #808080
}

.dark-mode .faq-section-wrapper {
    background: #101416;
    border-radius: 6px
}

.dark-mode .btn.red {
    color: #fff
}

.dark-mode .top-header-wrapper {
    background: transparent
}

.dark-mode .top-header-wrapper.transparent {
    background: transparent
}

.dark-mode .color-one,
.dark-mode .color-three,
.dark-mode .color-two {
    stop-color: #fff
}

.dark-mode .logo svg {
    fill: #fff
}

.dark-mode .top-header-nav a {
    color: #fff
}

.dark-mode .hamburger-action span {
    background: #fff
}

.dark-mode .bottom-header-wrapper {
    border-color: rgba(255, 255, 255, 0.1)
}

.dark-mode .bottom-header-wrapper a {
    color: #fff
}

.dark-mode .grid-item {
    color: #fff
}

.dark-mode .items-row a {
    color: #E6232D
}

.dark-mode .items-row a:after {
    color: #E6232D
}

.dark-mode .seo-section-wrapper .readmore {
    color: #fff
}

.dark-mode .seo-section-wrapper .readmore:after {
    color: #fff
}

.dark-mode .accept {
    color: #fff
}

.dark-mode .accept a {
    color: #fff
}

.dark-mode .tabs-trigger a {
    color: #fff
}

.dark-mode .section-title.with-more .readmore {
    color: #808080
}

.dark-mode .section-title.with-more .readmore:after {
    color: #808080
}

.dark-mode .list-item {
    color: #fff
}

.dark-mode .list-item .readmore {
    color: #E6232D
}

.dark-mode .list-item .readmore:after {
    color: #E6232D
}

.dark-mode .action-lis-items.full-list.list .list-item:hover {
    box-shadow: 0 0 15px -60px rgba(0, 0, 0, 0.12), 0px 0 40px rgba(0, 0, 0, 0.25)
}

.dark-mode .action-lis-items.full-list.list .list-item:hover .items-row {
    border-color: rgba(221, 221, 204, 0)
}

.dark-mode .action-lis-items.full-list.list .list-item:hover .readmore {
    color: #808080
}

.dark-mode .action-lis-items.full-list.list .list-item:hover .readmore:after {
    color: #808080
}

.dark-mode .action-lis-items.full-list.list .list-item:hover+.list-item .items-row {
    border-top: 1px solid rgba(0, 0, 0, 0)
}

.dark-mode .action-lis-items.full-list.list .list-item .items-row {
    border-color: rgba(221, 221, 204, 0.1)
}

.dark-mode .btn-switch {
    background: transparent;
    border: 1px solid #06F
}

.dark-mode .list-item {
    border-color: rgba(221, 221, 204, 0.1)
}

.dark-mode .last-seo-wrapper {
    margin-bottom: 0;
    background: #fff;
    border-radius: 24px 24px 0 0
}

.dark-mode .last-seo-wrapper.clients-wrapper {
    border-radius: 0 0 24px 24px;
    padding-top: 0
}

.dark-mode .last-seo-wrapper .grid-item-title,
.dark-mode .last-seo-wrapper .section-title,
.dark-mode .last-seo-wrapper .text-40 {
    color: #000
}

.dark-mode .action-lis-items.full-list.list .list-item:hover {
    background: #1d1d1d
}

.dark-mode .last-seo-wrapper {
    padding-bottom: 60px
}

.dark-mode .last-seo-wrapper .grid {
    margin-bottom: 0
}

.dark-mode .clients-wrapper {
    padding-bottom: 80px
}

.dark-mode .clients-wrapper .container:first-of-type {
    padding-top: 80px;
    border-top: 1px solid rgba(0, 0, 0, 0.1)
}

.dark-mode .form-row input {
    color: #fff
}

.dark-mode .btn-load {
    border: 1px dashed rgba(234, 234, 234, 0.5)
}

.dark-mode .btn-load:hover {
    background: rgba(251, 251, 251, 0.07)
}

.dark-mode .services-item .h4,
.dark-mode .services-item .more span,
.dark-mode .services-item .p {
    color: #fff
}

.wrapper {
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

.stripe-loading-indicator .stripe,
.stripe-loading-indicator .stripe-loaded {
    height: 3px !important;
    background-image: linear-gradient(to top, #CD0C1D 0%, #D034D3 50%, #3346AD 100%) !important
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    width: 100%
}

.container.w860 {
    max-width: 890px
}

.container.w1095 {
    max-width: 1125px
}

.container.w1240 {
    max-width: 1270px
}

.container.w1360 {
    max-width: 1390px
}

.w720 {
    max-width: 720px
}

.h1 {
    font-weight: bold;
    font-size: 70px;
    line-height: 130%;
    margin-bottom: 30px;
    position: relative
}

.h1-v2 {
    font-weight: bold;
    font-size: 70px;
    line-height: 130%;
    margin-bottom: 40px
}

.h2 {
    font-weight: bold;
    font-size: 40px;
    line-height: 120%;
    margin-bottom: 40px
}

.h2-v2 {
    font-size: 44px;
    line-height: 120%
}

.h3 {
    font-weight: 700;
    font-size: 40px;
    line-height: 135%;
    margin-bottom: 40px
}

.text-40 {
    font-weight: bold;
    font-size: 40px;
    line-height: 130%;
    margin-bottom: 40px
}

.text-32 {
    font-weight: bold;
    font-size: 32px;
    line-height: 130%
}

.fz32 {
    font-weight: bold;
    font-size: 32px;
    line-height: 130%
}

.fz30 {
    font-weight: normal;
    font-size: 30px;
    line-height: 130%
}

.fz28 {
    font-weight: normal;
    font-size: 28px;
    line-height: 150%
}

.h4 {
    font-size: 24px;
    line-height: 120%
}

.p {
    font-size: 18px;
    line-height: 150%
}

.fz20 {
    font-weight: normal;
    font-size: 20px;
    line-height: 150%
}

.fz18 {
    font-weight: normal;
    font-size: 18px;
    line-height: 150%
}

.fz16 {
    font-size: 16px;
    line-height: 24px
}

.fz15 {
    font-weight: 500;
    font-size: 15px;
    line-height: 15px
}

.fz14 {
    font-size: 14px;
    line-height: 20px
}

.fz13 {
    font-size: 13px;
    line-height: 19px
}

.color-text span {
    color: #C23BB5;
    background: -webkit-linear-gradient(213.14deg, #CA2433 2.27%, #C23BB5 61.13%, #4A58A5 116.47%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.color-red {
    color: #E6232D !important
}

@media (max-width:1000px) {

    .h1,
    .h1-v2,
    .h2,
    .h2-v2,
    .h3,
    .h4 {
        line-height: 120%;
        text-align: left
    }

    .h1 {
        font-size: 48px
    }

    .h1-v2 {
        font-size: 40px;
        margin-bottom: 15px
    }

    .h2 {
        font-size: 28px;
        line-height: 130%
    }

    .h2-v2 {
        font-size: 28px
    }

    .h3 {
        font-size: 28px;
        margin-bottom: 30px
    }

    .h4 {
        font-size: 18px
    }

    .p {
        font-size: 18px;
        line-height: 155%
    }

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

    .text-32 {
        font-weight: bold;
        font-size: 24px;
        line-height: 150%;
        margin-bottom: 42px
    }

    .text-40 {
        font-weight: bold;
        font-size: 32px;
        line-height: 130%;
        margin-bottom: 30px
    }

    .grid-item-title {
        margin-top: 12px;
        margin-bottom: 12px
    }

    .grid-cases {
        grid-template-columns: 1fr
    }

    .grid-cases .grid-item.item-6 {
        grid-column: 1/1
    }

    .home .clients-wrapper .container:first-of-type {
        padding-top: 60px;
        margin-top: 0
    }

    .home .service-section {
        padding-top: 60px;
        margin-top: 30px
    }
}

.opacity {
    opacity: 0
}

@media (max-width:700px) {
    .container {
        padding-left: 15px;
        padding-right: 15px
    }

    .container .container {
        padding-left: 0;
        padding-right: 0
    }
}

.mb-15 {
    margin-bottom: 15px
}

.mb-20 {
    margin-bottom: 20px
}

.mb-40 {
    margin-bottom: 40px
}

.mb-70 {
    margin-bottom: 70px
}

.mb-80 {
    margin-bottom: 80px
}

.text-red {
    color: #E6232D
}

.text-white {
    color: #fff
}

.text-gray {
    color: rgba(255, 255, 255, 0.75)
}

.border-bottom {
    height: 1px;
    background: #E1E1E1
}

@media (max-width:767px) {
    .m-fz16 {
        font-size: 16px;
        line-height: 150%
    }

    .m-fz25 {
        font-size: 25px;
        line-height: 130%
    }

    .m-mb0 {
        margin-bottom: 0
    }

    .m-mb10 {
        margin-bottom: 10px
    }

    .m-mb15 {
        margin-bottom: 15px
    }

    .m-mb30 {
        margin-bottom: 30px
    }

    .m-mb40 {
        margin-bottom: 40px
    }

    .m-fz28 {
        font-size: 28px;
        line-height: 130%
    }
}