/*@font-face {*/
/*    font-family: 'Lato';*/
/*    src: url('/fonts/Lato.woff2') format('woff2'),*/
/*    font-weight: normal;*/
/*    font-style: normal;*/
/*}*/

/*COLORS*/
:root {
    --text: #3c3e41;
    --team: #ff014f;
    --color-primary: #ff014f;
    --color-secondary: #f4f5f6;
    --color-tertiary: #0d1013;
    --color-gray: #f6f6f6;
    --color-subtitle: #f9004d;
    --background-color-1: linear-gradient(145deg,#1e2024,#23272b);
    --background-color-2: #212428;
    --shadow-1: 10px 10px 19px #1c1e22,-10px -10px 19px #262a2e;
    --shadow-2: inset 21px 21px 19px #181a1d,inset -21px -21px 19px #202225;
    --inner-shadow: 1px 4px 2px -3px rgba(0,0,0,0.7) inset,-1px -3px 3px -2px hsla(0,0%,100%,0.2) inset;
    --shadow-white-3: 5px 5px 15px #d1d9e6,-5px -5px 15px #fff;
    --gradient-box-w: linear-gradient(145deg,#e2e8ec,#fff);
    --gradient-red-hover: linear-gradient(145deg,#ff014f,#d11414);
    --color-heading: #fff;
    --color-heading-wv: #1e2125;
    --color-body: #878e99;
    --color-body-white: #3c3e41;
    --color-lightn: #c4cfde;
    --color-midgray: #878787;
    --color-light: #e4e6ea;
    --color-lighter: #ced0d4;
    --color-lightest: #f0f2f5;
    --color-border: #e6e6e6;
    --color-white: #fff;
    --color-white-75: hsla(0,0%,100%,0.75);
}
*{-webkit-box-sizing: border-box !important;-moz-box-sizing: border-box !important;box-sizing: border-box !important;}
html{
    overflow-x: hidden;
}
body{
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color:var(--text);
    background-color: #ecf0f3;
    overflow: hidden;
}


html, body, iframe, header, footer, main, aside, nav, section, article, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, hr, blockquote, pre, a, address, del, em, strong, sub, sup, figure, figcaption, img, form, fieldset, legend, label, input, select, textarea, button, table, thead, tbody, tfoot, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    vertical-align: baseline;
}

a{
    /*font-family: 'Montserrat', sans-serif;*/
    text-decoration: none;
    /*-o-transition: border 0.3s, background 0.3s, color 0.3s;*/
    /*-ms-transition: border 0.3s, background 0.3s, color 0.3s;*/
    /*-moz-transition: border 0.3s, background 0.3s, color 0.3s;*/
    /*-webkit-transition: border 0.3s, background 0.3s, color 0.3s;*/
}
h1, h2, h3, h4, h5, h6 {
    color: var(--color-heading-wv);
    font-family: 'Poppins', sans-serif;
    line-height: 1.4074;
    word-break: break-word;
    letter-spacing: 1px;
}
img{max-width: 100%; height: auto;vertical-align: bottom;}
.dn{display: none;}
.db{display: block;}
.df{display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;
    -webkit-flex-wrap: wrap;-moz-flex-wrap: wrap;-ms-flex-wrap: wrap;-o-flex-wrap: wrap;flex-wrap: wrap;}
.fwnw{-webkit-flex-wrap: nowrap;-moz-flex-wrap: nowrap;-ms-flex-wrap: nowrap;-o-flex-wrap: nowrap;flex-wrap: nowrap;}
.fdc{-webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;}
.jcsb{justify-content: space-between;}
.jcsa{justify-content: space-around;}
.jcc{justify-content: center;}
.aic{-ms-align-items: center;align-items: center;}
.tac{text-align: center;}
.red{color:red !important;}
.btn{
    position: relative;
    border: 0;
    border-radius: 6px;
    /*font-size: 25px;*/
    z-index: 3;
    box-shadow: var(--shadow-white-3);
    color: var(--color-primary);
    cursor: pointer;
    outline: 0;
    align-items: center;
    transition: .5s;
    background: var(--gradient-box-w);
}
.btn:hover{
    transform: translateY(-3px);
    color: #fff;
}
.btn:before{
    content: "";
    border: 0;
    border-radius: 6px;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: .7s;
    width: 100%;
    z-index: -1;
    background: var(--gradient-box-w);

}
.btn:hover:before{
    background: var(--gradient-red-hover);
    opacity: 1;
}



body>div{padding: 100px 0;position: relative;}
body>div>div{width: 1280px;margin: 0 auto;padding: 0 20px;}
body>div:after{
    content: '';
    background: #dce1e4;
    height: 1px;
    left: 50%;
    position: absolute;
    bottom: -1px;
    width: 1240px;
    transform: translateX(-50%);
}
/*HEADER*/
header{
    position: absolute;
    top: 0;
    /*transition: color .3s;*/
    width: 100%;
    z-index: 999;
}
header>div{width: 1440px;margin: 0 auto;padding: 0 20px;height: 120px;}
nav{display:inline-block;}
nav a{color: var(--color-body-white);font-weight: 500;
    font-size: 13px;
    padding: 0.2rem;
    margin: 0 .8rem;
    transition: opacity 0.4s, color 0.4s;}
nav a.btn{
    font-size: 13px;
    display: inline-block;
    padding: 17px 19px;
    height: unset;
    line-height: unset;
    width: unset;
    margin-right: 0;
}
nav:hover a:not(:hover):not(.active,.btn){opacity: .5;}
nav a:hover, nav a.active{color: var(--color-primary);}
.mobmenu {display: none;}
.langs{display: inline-block;margin-left: 15px;}
.langs a{color: #94979a;padding: 2px;display: inline-block;margin: 0 5px;position: relative;}
.langs a:not(:last-child):after{content: '';display: block;
    position: absolute;
    right: -5px;
    width: 1px;
    height: 100%;
    top: 0;
    background-color: #94979a;
}
.langs a.active{color:var(--color-body-white);}
.logo img{
    height: 50px;
}
.logo{
    font-size: 2.3rem;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
}
span.subtitle {
    color: var(--color-subtitle);
    display: block;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 14px;
    font-size: 14px;
    text-transform: uppercase;
}
span.subtitle + h2 {
    font-size: 60px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0;
    margin-top: 10px;
    color: var(--color-body-white);
    word-break: break-word;
}

.items{margin: 0 -25px;}
.items>div {
    margin-top: 50px;
    padding: 0 25px;
    flex: 1 0 50%;
}
.card {
    border-radius: 10px;
    padding: 50px 50px 40px;
    position: relative;
    /*transition: all .5s ease-in-out;*/
    z-index: 1;
    background: var(--gradient-box-w);
    box-shadow: var(--shadow-white-3);
    min-height: 100%;
    width: 100%;
}
.card:before {
    border-radius: 10px;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    background: var(--gradient-red-hover);
    transition-delay: .1s;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-property: opacity,transform;
}
.card>div {
    transition-delay: .1s;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-property: transform;
}
.card h4 {
    color: var(--color-heading-wv);
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
    margin-bottom: 20px;
}
.card p {
    font-size: 16px;
    line-height: 28px;
    color: var(--color-body-white);
    margin: 0;
    font-weight: 400;
}
.card h4, .card h4+span, .card p, .card svg{
    transition-delay: .1s;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-property: color;
}



#home>div{
    min-height: 80vh;
    /*font-family: 'Montserrat', sans-serif;*/

}
#home .text{
    width: calc(65% - 80px);
    margin-right: auto;
}
#home .text>span{
    /*font-family: 'Montserrat', sans-serif;*/
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3px;
    color: var(--color-body-white);
}
#home .text p{margin-bottom: 120px;line-height: 1.5;font-size: 17px;}
#home h1{
    /*font-family: 'Montserrat', sans-serif;*/
    font-size: 60px;
    font-weight: 700;
    line-height: 75px;
    margin: 25px 0;

}
#home h1>span{color: var(--color-primary);}
#home .image{width: 35%;padding: 0;}
#home .image img{border-radius: 10px}



#services .card:hover>div {transform: translateY(-10px);}
#services svg {
    stroke-width: 1!important;
    color: var(--color-primary);
    height: auto;
    width: 50px;
    margin-bottom: 30px;
}
/*#services h4 {*/
/*    color: var(--color-heading-wv);*/
/*    font-size: 18px;*/
/*    font-weight: 500;*/
/*    line-height: 32px;*/
/*    margin-bottom: 20px;*/
/*}*/
#services p {
    /*font-size: 16px;*/
    /*line-height: 28px;*/
    /*color: var(--color-body-white);*/
    /*margin: 0;*/
    /*font-weight: 400;*/
}
#services h4, #services p, #services svg{
    transition-delay: .1s;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-property: color;
}
#services .card:hover h4, #services .card:hover p, #services .card:hover svg,
#steps .card:hover h4, #steps .card:hover h4+span, #steps .card:hover p, #steps .card:hover svg{
    color:#fff
}
#services .card:hover:before,
#steps .card:hover:before {opacity: 1;}

#steps .items{position: relative;}
#steps .items:after{
    content: '';
    display: block;
    width: 5px;
    background-color: #d9dee2;
    position: absolute;
    left: 50%;
    top: 50px;
    bottom: 0;
    transform: translateX(-50%);
}
#steps h4{margin-bottom: 7px;text-transform: uppercase;}
#steps h4+span{
    display: block;
    font-size: 14px;
    color: var(--color-body-white);
    font-family: 'Poppins', sans-serif;
    text-transform: uppercase;
}

#steps .items>div{position: relative;}
#steps .items>div:not(:first-child){margin-top: -60px;}
#steps .items>div .card>div:before{
    background: #d9dee2;
    content: "";
    height: 5px;
    position: absolute;
    left: -25px;
    top: 70px;
    transform: translateY(-7px);
    width: 25px;
    z-index: -1;
}
#steps .items>div .card>div:after{
    background: #ecf0f3;
    border: 5px solid #d9dee2;
    border-radius: 100%;
    content: "";
    height: 20px;
    position: absolute;
    left: -35px;
    top: 62px;
    transform: translateY(-7px);
    width: 20px;
    box-sizing: border-box;
    transition-delay: .1s;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-property: background;
}
#steps .items:nth-child(odd) .card:hover>div:after{background: var(--color-primary);}
#steps .card>div>div, #owners .card>div>div{margin-bottom: 20px;padding-bottom: 25px;border-bottom: 1px solid #e3e9ed;}
#owners .card>div>div{padding-bottom: 15px;}
#steps .items>div:nth-child(odd) .card>div:before{left: unset;right: -25px;}
#steps .items>div:nth-child(odd) .card>div:after{left: unset;right: -35px;}


#owners>div{width: 1074px;margin: 0 auto;}
#owners .slick-slide>div{padding: 0 25px 25px;}
#owners .slick-slide{opacity: 0;transition: opacity .3s}
#owners .slick-current{opacity: 1;}
#owners .slick-dots li button:before{font-size: 12px;color: var(--color-subtitle);}
#owners .item>div{align-items: flex-end;}
#owners img{margin-right: 50px;max-width: 300px;border-radius: 10px;}
#owners h3{color: var(--color-heading-wv);font-size: 26px;font-weight: 500;margin-bottom: 10px;}
#owners h3+span{font-size: 16px;font-weight: 500;}


.controls{position: relative;}
.controls>div{position: absolute;right: 25px;top: 50px;}
.controls>div>div:not(:last-child){margin-right: 20px;}
.controls .btn {height: 60px;line-height: 60px;width: 60px;}


#clients .items{width: 1024px;margin: 0 auto;}
#clients .items>div{flex: 1 0 33%;}
#clients .items .card{padding: 0;}
#clients .items .client-logo {
    align-items: center;
    display: flex;
    height: 150px;
    justify-content: center;
    padding: 30px;
    border-bottom: 1px solid #dce1e4;
}
#clients .items .client-logo+div {padding: 15px;}
#clients a {color: var(--color-body-white);font-weight: 500;}
.client-change{cursor: default;color: #3c4858;font-size: 3em;font-weight: 600;letter-spacing: 2px;}


#contacts>div>div{max-width: 1024px;margin: 50px auto 0;padding: 0 25px;}
#contacts .card{padding: 40px;}
#contacts label {
    color: var(--color-body-white);
    display: block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    margin-bottom: 14px;
    text-align: left;
    text-transform: uppercase;
}
#contacts input, #contacts textarea {
    font-family: 'Montserrat', sans-serif;
    background-color: #fdfefe;
    border: 2px solid #dadada;
    box-shadow: none;
    color: var(--color-body-white);
    width: 100%;
    border-radius: 6px;
    font-size: 14px;
    height: 55px;
    letter-spacing: 1px;
    padding: 0 15px;
    transition: 0.5s;
}
#contacts input:focus, #contacts textarea:focus {border: 2px solid var(--color-primary);}
#contacts textarea {padding: 10px 15px;min-height: 235px;resize: none;}
#contacts .card>div {width: 100%;margin-bottom: 40px;}
#contacts .card>div:last-child {margin-bottom: 20px;}
#contacts .card>div:nth-child(1), #contacts .card>div:nth-child(2) {width: calc(50% - 25px);}
#contacts .card>div:first-child {margin-right: 50px;}
#contacts button {
    font-size: 15px;
    display: inline-block;
    padding: 17px 19px;
    height: unset;
    line-height: unset;
    width: unset;
    margin-right: 0;
    font-weight: 500;
}


.form .all{margin-right: 30px !important;}
/*.form .all+span.success{color:green;}*/
/*.form .all+span.error{color:darkred;}*/


footer{padding: 40px;text-align: center;}
/*MEDIA------------------------------------------------------------------------------------------------------------------------------------------*/

@media (max-width: 1440px) {
    header>div{width: 100%;margin: 0 auto;}
}
@media (max-width: 1320px) {
    body>div>div {width: 100%;margin: unset;padding: 0 20px;}
}
@media (max-width: 1190px) {
    body>section{width: 940px;}
    .logo {font-size: 1.8rem;}
    nav a {margin: 0 .3rem;}
    .squares>div {margin-top: 4px;}
    #clients .items, #owners>div {width: auto;margin: unset;}
    body>div {padding: 60px 0;}
    #clients .items .client-logo img{max-height: 140px;}
}

@media (max-width: 980px) {
    body>section{width: 738px;}
    header {
        display: block;
        position: fixed;
        backdrop-filter: blur(15px);
        background-color: #ecf0f3;
        box-shadow: 10px 10px 19px rgba(0,0,0,.1);
    }
    header>div {height: 80px;}
    #home{padding-top: 100px;}
    #home>div {min-height: unset;}
    #home .text{order: 1;margin-left: auto;margin-right: unset;width: calc(65% - 40px);}
    #home .text p {margin-bottom: 0;}
    #home h1 {font-size: 50px;line-height: 50px;margin: 20px 0;}
    body>div {padding: 60px 0;}
    .items>div {margin-top: 40px;padding: 0 20px;flex: 1 0 50%;}
    /*#owners .slick-slide>div {padding: 0 0 20px;}*/
    .card{padding: 30px;}
    .items {margin: 0 -20px;}
    #steps .items>div:nth-child(odd) .card>div:after {right: -30px;}
    #steps .items>div .card>div:after {left: -30px;}
    #owners img {margin-right: 40px;}
    #clients .items, #owners>div, #contacts>div {margin: 0 -20px;}
    #contacts>div>div {max-width: unset;width: 100%;margin: 40px 0 0;padding: 0 0;}
    #contacts>div {margin: 0;}
    #contacts .card {padding: 30px;width: 100%;}
    #owners h3 {font-size: 22px;}
    /*.controls {transform: translateY(-40px);}*/
    .controls>div {top: 10px;}
    #contacts .card>div:first-child {margin-right: 30px;}
    #contacts .card>div:nth-child(1), #contacts .card>div:nth-child(2) {width: calc(50% - 15px);}
    span.subtitle + h2 {font-size: 40px;}
    .logo+div {
        position: fixed;
        z-index: -999;
        width: 100%;
        top: -800px;
        left:0;right: 0;
        background-color: #ecf0f3;
        box-shadow: 10px 10px 19px rgb(0 0 0 / 10%);
        text-align: center;
        padding: 30px 0;
    }
    .logo+div.show {top: 80px;}
    nav{display: block;}
    nav>a{display: block;margin-bottom: 20px;}
    .langs {
        display: block;
        margin: 20px 0 0;
    }
    .mobmenu {display: block; position: relative;height: 40px;width: 40px;cursor: pointer;}
    .mobmenu span {position: absolute;display: block;height: 3px;width: 100%;background-color: var(--color-primary);border-radius: 2px;top: 50%;
        box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);transition: all 0.3s;}
    .mobmenu span:first-child {margin-left: 20%;width: 80%;top: 30%;transform-origin: right;}
    .mobmenu span:last-child {margin-left: 35%;width: 65%;top: 70%;}
    .show .mobmenu span:first-child {width: 0;}
    .show .mobmenu span:nth-child(2) {transform: translateY(-50%) rotateZ(-45deg);width: 80%;}
    .show .mobmenu span:last-child {transform: translateY(-50%) rotateZ(45deg);top: 50%;width: 80%;margin-left: 0;}
}

@media (max-width: 767px) {
    body>section{width: auto;margin: 0 20px 60px;}
    .squares>div{width: 50%;}
    .block2>div {width: 100%;}
    .block2>div:nth-child(even) {margin-left: unset;}
    .block2>div:nth-child(odd) {margin-right: unset;}
    #home h1 {font-size: 40px;line-height: 40px;margin: 20px 0;}
    #clients .items>div {flex: 1 0 50%;}
    .items>div {margin-top: 30px;padding: 0 15px;}
    #clients .items .client-logo {padding: 15px;}
    #clients .items .client-logo+div {padding: 15px 5px;text-align: center;}
    #contacts .card {padding: 15px;}
    #contacts>div {padding: 0 15px;}
    /*.controls>div {top: 30px;right: 15px;width: calc(100% - 30px);}*/
    .controls>div>div:not(:last-child) {margin-right: auto;}
    .controls>div {top: 180px;left: 50%;right: unset;transform: translateX(-50%);width: 400px;z-index: 10;}
    .card {padding: 15px;}
    /*#steps .items>div .card>div:before {left: -20px;}*/
    #steps .items>div .card>div:after {left: -25px;}
    #steps .items>div:nth-child(odd) .card>div:after {right: -25px;}
    #owners .slick-slide>div {padding: 0 15px 15px;}
    #owners .item>div {-webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
        align-items: center;}
    #owners img {margin: 0 auto 20px;max-width: 260px;}
    #owners .card>div>div {
        padding: 15px 0 10px;
    }
}

@media (max-width: 577px) {
    .squares>div {width: 100%;}
    #steps .items>div:not(:first-child) {margin-top: 20px;}
    #steps .items .mask {display: none;}
    .items>div {flex: 1 0 100%;}
    #steps .items:after {top: 30px;}

    /*#steps .items>div {position: relative;max-width: calc(100% - 40px);margin-left: auto;}*/
    /*#steps .items:after {left: 30px;}*/
}

@media (max-width: 415px) {
    #home>div>div {width: 100% !important;}
    #home .image {margin-bottom: 20px;}
    #steps .card {width: calc(100% - 20px);margin-left: auto;}
    #steps .items>div:nth-child(odd) .card>div:before {left: -25px;right: unset;}
    #steps .items>div:nth-child(odd) .card>div:after {left: -25px;right: unset;}
    #steps .items:after {left: 20px;}
    .card h4 {font-size: 18px;line-height: 20px;}
    #steps h4+span {font-size: 12px;}
    #owners img {max-width: 200px;}
    .controls>div {top: 150px;width: 340px;}
    #owners h3 {font-size: 20px;}
    #owners h3+span, .card p {font-size: 14px;}
    #contacts .card>div:nth-child(1), #contacts .card>div:nth-child(2) {width: 100%;}
    #contacts .card>div {margin-bottom: 30px;}
    #contacts .card>div:first-child {margin-right: 0;}
    #contacts input, #contacts textarea {height: 40px;}
}

@media (max-width: 320.98px) {
}
