@charset "utf-8";
@import "bootstrap.css";
@import "normalize.css";
@import "../node_modules/slick-carousel/slick/slick.css";
@import "../node_modules/magnific-popup/dist/magnific-popup.css";
@import "callback-btn.css";
@import "callback-modal.css";
@import "typography.css";

/* Класс для увеличения картинки */

.zoom-img {}


/* Класс для галлереи */

.gallery {}


/* Класс для формы */

.form-submit-toggle {}


/* Класс для кнопки заказать звонок */

.callback-toggle {}


/******** Magnific-Popup *********/

.mfp-fade.mfp-bg {
    opacity: 0;
    transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}


/******* Image Cover ********/

.img-cover {
    background-size: cover;
    background-position: center;
}

.img-cover_inited>img {
    visibility: hidden;
}


/**********************************/

.main {
    display: flex;
}

.component {
    width: 100%;
}

.left,
.right {
    width: 30%;
}


/* Пагинация */

.pagination>ul {
    margin-top: 15px;
    display: flex;
    list-style: none;
    margin-bottom: 5px;
}

.pagination>ul li {
    margin-right: 20px;
}

.pagination>ul li a {
    text-decoration: none;
    font-weight: 600;
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto-Light.ttf) format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto-Regular.ttf) format('truetype');
    font-weight: 400;
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto-Medium.ttf) format('truetype');
    font-weight: 500;
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto-Bold.ttf) format('truetype');
    font-weight: 700;
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto-Black.ttf) format('truetype');
    font-weight: 900;
}

@font-face {
    font-family: 'Jost';
    src: url(../fonts/Jost.ttf) format('truetype');
}

body {
    color: #000;
    font-size: 16px;
    background: url(../images/bgBodyHead.png) no-repeat center top;
    font-weight: 300;
    font-family: "Roboto";
}

body p {
    margin-top: 0;
    margin-bottom: 10px;
}

.h1,
h1 {
    text-align: center;
    font-family: "Jost";
    font-size: 30px;
    margin: 0 0 40px;
    text-transform: uppercase;
    color: #283c53;
    line-height: 1;
    position: relative;
    font-weight: 300;
}

.title .h1,
.title h1 {
    margin-bottom: 0;
    padding-bottom: 45px;
}

.title .h1:before,
.title h1:before {
    position: absolute;
    content: url(../images/decoreH1.svg);
    bottom: -18px;
    left: calc(50% - 19px);
}

.title {
    padding-bottom: 40px;
    position: relative;
    overflow: hidden;
}

.title:before {
    right: calc(50% + 40px);
}

.title:after {
    left: calc(50% + 40px);
}

.title:before,
.title:after {
    width: 1000px;
    bottom: 40px;
    height: 1px;
    background: #bdccd4;
    content: '';
    position: absolute;
}

.wrapper {
    border-top: 6px solid transparent;
    border-image: linear-gradient(to right, #59c24d, #2ea937);
    border-image-slice: 1;
    max-width: 1920px;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wrapLabel {
    position: relative;
    margin-bottom: 0;
}

.wrapLabel span {
    font-weight: 300;
    padding-left: 40px;
    font-size: 14px;
    display: block;
    color: #fff;
    position: relative;
}

.wrapLabel span a {
    color: #fff;
}

.wrapLabel span:before {
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    top: calc(50% - 8px);
    content: '';
    /*background: #fff;*/
    border: 1px solid #fff;
    /*border-radius: 3px;*/
}

.wrapLabel span:after {
    position: absolute;
    width: 8px;
    height: 8px;
    left: 4px;
    top: calc(50% - 4px);
    content: '';
    background: #283c53;
    /*border-radius: 2px;*/
    opacity: 0;
}

.wrapLabel input:checked+span:after {
    opacity: 1;
}

.wrapLabel input {
    width: 10px !important;
    height: 10px !important;
    left: 0 !important;
    top: 0 !important;
    position: absolute !important;
    opacity: 0 !important;
}

.flexSA {
    display: flex;
    justify-content: space-around;
}

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

.flexCenter {
    display: flex;
    justify-content: center;
}

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

.flexW {
    display: flex;
    flex-wrap: wrap;
}

.flexColumn {
    display: flex;
    flex-direction: column;
}

.flexStart {
    display: flex;
    justify-content: flex-start;
}

.flexEnd {
    display: flex;
    justify-content: flex-end;
}


/*header*/

header {
    margin-bottom: 45px;
    position: relative;
    z-index: 5;
}

.topLineH {
    padding: 15px 0;
}

.topLineH .infoBlock {
    display: flex;
    justify-content: center;
    align-items: center;
}

.topLineH .nav {
    font-size: 14px;
    padding-left: 20px;
    background: url(../images/iconNavH.svg) no-repeat left center;
    margin-right: 25px;
    color: #08395b;
}

.topLineH .clock {
    font-size: 14px;
    padding-left: 20px;
    background: url(../images/iconClockH.svg) no-repeat left center;
    color: #08395b;
}

.topLineH .phone {
    font-size: 18px;
    font-weight: 900;
    color: #08395b;
    padding-left: 25px;
    background: url(../images/iconPhoneH.svg) no-repeat left center;
}

.catMain {
    position: relative;
}

.botLineH {
    align-items: flex-end;
}

.botLineH .buttonCatMain {
    background: linear-gradient(to right, #59c24d, #2ea937);
    padding: 0 30px 0 20px;
    height: 48px;
    width: 260px;
    cursor: pointer;
}

.buttonCatMain .burger {
    width: 29px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    margin-right: 30px;
    cursor: pointer;
}

.burger .line {
    width: 100%;
    height: 2px;
    background: #fff;
    transition: all 0.4s;
    position: relative;
}

.burger .line:nth-child(2):before {
    position: absolute;
    content: '';
    height: 2px;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    transition: all 0.4s;
}

.activeMainCat .burger .line:nth-child(1),
.activeMainCat .burger .line:nth-child(3) {
    opacity: 0;
}

.activeMainCat .burger .line:nth-child(2) {
    transform: rotate(45deg);
}

.activeMainCat .burger .line:nth-child(2):before {
    transform: rotate(-90deg);
}

.catMain .txt {
    font-size: 17px;
    font-weight: 400;
    font-family: 'Jost';
    color: #fff;
}

.mainCatWrap {
    position: absolute;
    left: 0;
    top: 100%;
    background: linear-gradient(to right, #59c24d, #2ea937);
    min-width: 100%;
    display: none;
    z-index: 5;
    border-top: 2px solid #fff;
}

.activeMainCat .mainCatWrap {
    display: block;
}

.mainCatWrap li {
    padding: 5px 10px;
    border-bottom: 1px solid #fff;
}

.mainCatWrap li:last-child {
    border-bottom: none;
}

.mainCatWrap li a {
    color: #fff;
}

.headMain ul {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px solid #bdccd4;
}

.headMain li {
    margin-right: 15px;
}

.headMain li a {
    font-size: 16px;
    font-family: "Jost";
    color: #08395b;
    text-transform: uppercase;
    position: relative;
    line-height: 47px;
    display: block;
}

.headMain li.current a:before {
    height: 3px;
    width: 100%;
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    background: linear-gradient(to right, #59c24d, #2ea937);
}

.search {
    width: 260px;
    border-bottom: 3px solid #bdccd4;
    position: relative;
}

.search input {
    width: 100%;
    line-height: 45px;
    font-size: 17px;
    font-family: "Jost";
    color: #bdccd4;
    background: none;
    border: none;
}

.search .sendSearch {
    width: 17px;
    height: 17px;
    position: absolute;
    right: 0;
    top: calc(50% - 8px);
    background: url(../images/iconSearch.svg) no-repeat center;
    border: none;
}

::-webkit-input-placeholder {
    opacity: 1;
}

::-moz-placeholder {
    opacity: 1;
}


/* Firefox 19+ */

:-moz-placeholder {
    opacity: 1;
}


/* Firefox 18- */

:-ms-input-placeholder {
    opacity: 1;
}


/*End header*/


/*bannerMainBlock*/

.bannerMainBlock {
    padding-bottom: 55px;
}

.wrapBM {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
}

.wrapBM .doubleHor {
    grid-column-start: span 2;
}

.wrapBM .tripleHor {
    grid-column-start: span 3;
}

.nucBM {
    overflow: hidden;
    box-shadow: 0 9px 5px 0 rgba(6, 27, 56, .2);
    position: relative;
}

.nucBM img {
    max-width: 100%;
}

.nucBM:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: #34ac3a;
    opacity: 0;
    transition: all 0.4s;
}

.nucBM:hover:after {
    opacity: 0.8;
}

.nucBM:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(to bottom, rgba(0, 20, 30, 1), rgba(0, 20, 30, 0));
    opacity: 0.8;
}

.nucBM.horisontalImg:before {
    background: linear-gradient(to right, rgba(0, 20, 30, 1), rgba(0, 20, 30, 0));
}

.nucBM .name {
    font-size: 23px;
    font-family: "Jost";
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    z-index: 2;
    top: 0;
    padding-top: 35px;
    left: 30px;
    color: #fff;
    line-height: 1.2;
}

.nucBM .name:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    background: linear-gradient(to right, #59c24d, #2ea937);
    height: 5px;
    width: 50px;
}

.nucBM .btnMoreArr {
    position: absolute;
    left: 30px;
    bottom: 30px;
}

.btnMoreArr {
    position: relative;
    width: 50px;
    transition: all 0.4s;
    height: 50px;
    background: linear-gradient(to right, #59c24d, #2ea937);
    box-shadow: 0 20px 9px 0 rgba(0, 0, 0, .3);
    z-index: 2;
}

.btnMoreArr:before {
    position: absolute;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    width: 14px;
    height: 14px;
    top: calc(50% - 7px);
    right: calc(50% - 5px);
    transform: rotate(-45deg);
}

.nucBMAll {
    background: linear-gradient(to right, #59c24d, #2ea937);
    position: relative;
}

.nucBMAll .name {
    font-size: 23px;
    font-family: "Jost";
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    z-index: 2;
    top: 0;
    padding-top: 35px;
    left: 30px;
    color: #fff;
    line-height: 1.2;
}

.nucBMAll .name:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    background: #08395b;
    height: 5px;
    width: 50px;
}

.nucBMAll>img {
    position: absolute;
    top: 35px;
    left: -120px;
    transition: all 0.4s;
}

.nucBMAll:hover>img {
    top: 50px;
}


/*End bannerMainBlock*/


/*readySolutionsBlock*/

.readySolutionsBlock {
    padding: 55px 0 110px;
}

.wrapRS {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
}

.nucSol:hover .btnMoreArr {
    left: 50px;
}

.nucSol {
    position: relative;
}

.nucSol .btnMoreArr {
    position: absolute;
    left: 30px;
    bottom: 30px;
}

.nucSol .name {
    font-size: 18px;
    font-family: "Jost";
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    z-index: 2;
    top: 0;
    padding-top: 35px;
    left: 30px;
    color: #fff;
    line-height: 1.2;
}

.nucSol .name:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    background: linear-gradient(to right, #59c24d, #2ea937);
    height: 5px;
    width: 50px;
}


/*End readySolutionsBlock*/


/*newItemsBlock*/

.newItemsBlock {
    padding: 95px 0 85px;
    background: url(../images/newItemsBlockBg.jpg) no-repeat center;
}

.newItemsBlock .sliderItems {
    margin-bottom: 50px;
}

.newItemsBlock .allCat .txt {
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    text-transform: uppercase;
    color: #08395b;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    width: 215px;
    border: 1px solid #08395b;
    border-left: none;
    transition: all 0.4s;
}

.newItemsBlock .allCat:hover .txt {
    color: #fff;
    background: #2faa37;
    border: 1px solid #2faa37;
    border-left: none;
}

.newItemsBlock .allCat {
    display: flex;
    justify-content: flex-start;
}

.newItemsBlock .allCat .arr {
    position: relative;
    display: block;
    width: 50px;
    transition: all 0.4s;
    height: 50px;
    background: linear-gradient(to right, #59c24d, #2ea937);
    z-index: 2;
}

.newItemsBlock .allCat .arr:before {
    position: absolute;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    width: 14px;
    height: 14px;
    top: calc(50% - 7px);
    right: calc(50% - 5px);
    transform: rotate(-45deg);
}


/*End newItemsBlock*/


/*formBlock*/

.formBlock {
    padding: 70px 0 50px;
    background: #0b9b1e;
    position: relative;
    height: 427px;
}

.formBlock:before {
    position: absolute;
    right: calc(50% + 145px);
    content: url(../images/decoreForm.png);
    top: -30px;
}

.formBlock * {
    color: #fff;
}

.formBlock .h1 {
    color: #fff;
    text-align: left;
    line-height: 1.1;
}

.formBlock .afterName {
    font-family: "Jost";
    font-weight: 400;
    font-size: 22px;
    line-height: 1;
    margin-bottom: 40px;
}

.formBlock input {
    line-height: 47px;
    border: none;
    /*background: none;*/
    border-bottom: 1px solid #fff;
    padding: 0 35px;
    width: 300px;
    font-size: 18px;
    font-weight: 500;
    font-family: "Jost";
}

.formBlock button {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: #fff;
    text-transform: uppercase;
    height: 48px;
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    color: #283c53;
    width: 190px;
}

.formBlock .wrapForm {
    padding-left: 290px;
    position: relative;
    z-index: 1;
}

.formBlock .wrapInputs {
    margin-bottom: 50px;
}

.nameI {
    background: url(../images/nameI.svg) no-repeat left center;
}

.phoneI {
    background: url(../images/phoneI.svg) no-repeat left center;
}


/*End formBlock*/


/*whyWeBlock*/

.whyWeBlock {
    padding: 110px 0 50px;
}

.whyWeBlock .h1 {
    text-align: left;
    line-height: 1.2;
    padding-bottom: 35px;
    margin-bottom: 25px;
}

.whyWeBlock .titleNuc {
    padding: 15px 0;
}

.whyWeBlock .h1:before {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    height: 5px;
    width: 58px;
    background: #37ae3b;
}

.wrapWW {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 22px;
}

.nucWW {
    border: 5px solid #bdccd4;
    padding: 15px 30px 20px;
}

.nucWW .imgW {
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
}

.nucWW img {
    max-height: 58px;
    max-width: 100%;
}

.nucWW .name {
    font-size: 18px;
    font-family: "Jost";
    font-weight: 500;
    color: #08395b;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 25px;
}


/*End whyWeBlock*/


/*portfolioBlock*/

.portfolioBlock {
    padding: 50px 0;
}

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

.pgWrap .nucPG {
    position: relative;
    overflow: hidden;
}

.pgWrap .titlePg {
    grid-column-start: span 2;
}

.nucPG .txtBlock {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: all 0.4s;
    background: rgba(52, 172, 58, 0.8);
    opacity: 0;
}

.nucPG:hover .txtBlock {
    opacity: 1;
}

.nucPG .name {
    position: absolute;
    left: 30px;
    top: 30px;
    color: #fff;
    text-transform: uppercase;
    font-family: "Jost";
    font-weight: 600;
}

.nucPG .more {
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    text-transform: uppercase;
    background: url(../images/morePG.png) no-repeat left center;
    padding-left: 50px;
    color: #fff;
    position: absolute;
    display: block;
    line-height: 37px;
    bottom: 30px;
    left: 30px;
}

.titlePg {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}

.titlePg:before {
    position: absolute;
    width: 1000px;
    height: 100%;
    right: 0;
    top: 0;
    content: '';
    background: linear-gradient(to left, #ffffff, #bdccd4);
    z-index: -1;
}

.titlePg:after {
    position: absolute;
    width: 500px;
    height: 100%;
    left: calc(100% + 573px);
    top: 0;
    content: '';
    background: linear-gradient(to left, #ffffff, #bdccd4);
    z-index: -1;
    border-radius: 10px 0 0 10px;
}

.titlePg .h1 {
    text-align: left;
    margin-bottom: 35px;
}

.titlePg .all {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.titlePg .all .btnMoreArr {
    margin-right: 20px;
}

.titlePg .all .txt {
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    text-transform: uppercase;
    color: #283c53;
}


/*End portfolioBlock*/


/*trustUsBlock*/

.trustUsBlock {
    padding: 50px 0 50px;
}

.sliderClients {
    position: relative;
}

.sliderClients .slick-dots {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sliderClients .slick-dots button {
    width: 15px;
    height: 15px;
    background: #000;
    padding: 0;
    border: 5px solid #fff;
    margin: 0 7px;
    font-size: 0;
}

.sliderClients .slick-dots .slick-active button {
    background: #2ea937;
}

.clientSlide {
    text-align: center;
    padding: 0 10px;
}

.clientSlide .imgW {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 115px;
}

.clientSlide img {
    max-width: 100%;
    max-height: 110px;
    transition: all 0.4s;
    filter: grayscale(100%);
}

.clientSlide:hover img {
    filter: grayscale(0%);
}


/*End trustUsBlock*/


/*teamBlock*/

.teamBlock {
    padding: 50px 0 50px;
}

.wrapTeam {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px 35px;
    margin-bottom: 30px;
}

.nucTeam .imgW {
    width: 165px;
    overflow: hidden;
}

.nucTeam img {
    max-width: 100%;
}

.nucTeam .txtBlock {
    width: calc(100% - 165px);
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.nucTeam .name {
    font-size: 18px;
    font-weight: 500;
    font-family: "Jost";
    line-height: 1;
    color: #08395b;
}

.nucTeam .post {
    color: #556974;
    font-size: 15px;
    line-height: 1.1;
}

.nucTeam button {
    font-size: 14px;
    font-weight: 600;
    color: #37ae3b;
    border: none;
    background: url(../images/iconPhoneT.png) no-repeat left center;
    padding-left: 30px;
    margin-bottom: 7px;
    line-height: 24px;
}

.nucTeam .mail {
    font-size: 15px;
    color: #556974;
    background: url(../images/iconMailT.png) no-repeat left center;
    padding-left: 30px;
    display: block;
    line-height: 24px;
}

.botLineTeams {
    padding: 20px 0;
    border-top: 1px solid #bdccd4;
    border-bottom: 1px solid #bdccd4;
}

.botLineTeams .name {
    font-size: 18px;
    font-family: "Jost";
    color: #001432;
    font-weight: 500;
    line-height: 1.1;
}

.botLineTeams .txt {
    font-size: 15px;
    line-height: 1.1;
    margin: 0 135px;
    position: relative;
}

.botLineTeams .txt:before {
    position: absolute;
    content: '';
    height: 1px;
    background: #37ae3b;
    width: 54px;
    top: 50%;
    left: -95px;
}

.botLineTeams .txt:after {
    position: absolute;
    content: '';
    height: 1px;
    background: #37ae3b;
    width: 54px;
    top: 50%;
    right: -95px;
}

.botLineTeams .phone {
    font-size: 18px;
    font-family: "Jost";
    font-weight: 500;
    color: #001432;
    line-height: 1.1;
}


/*End teamBlock*/


/*footer*/

footer {
    position: relative;
}

footer:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 140px;
    z-index: 1;
    content: '';
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

footer .h1 {
    position: absolute;
    left: calc((100% - 1140px) / 2);
    top: 85px;
    padding-bottom: 30px;
    z-index: 5;
}

footer .h1:before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 58px;
    background: #37ae3b;
    height: 5px;
}

footer .logoWrap {
    position: absolute;
    left: calc((100% - 1140px) / 2);
    bottom: 75px;
}

footer .logoWrap .logo {
    margin-bottom: 20px;
    display: inline-block;
}

footer .logoWrap .copyright {
    font-size: 13px;
    font-weight: 300;
    color: #08395b;
    line-height: 1;
}

footer .infoBlock {
    position: absolute;
    right: calc((100% - 1140px) / 2);
    top: 85px;
    bottom: 75px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #001432;
    box-shadow: -20px 20px 20px rgba(0, 0, 0, .35);
    width: 360px;
    z-index: 5;
    padding: 15px 25px;
    align-items: flex-start;
}

footer .infoBlock * {
    color: #fff;
}

footer .infoBlock .nameInfo {
    font-size: 18px;
    font-weight: 500;
    font-family: "Jost";
    line-height: 1;
    margin-bottom: 20px;
}

footer .infoLine {
    margin-bottom: 30px;
}

footer .nav {
    background: url(../images/iconNavH.svg) no-repeat left top;
    color: #fff;
    font-size: 15px;
    padding-left: 30px;
}

footer .phone {
    padding-left: 30px;
    background: url(../images/iconPhoneH.svg) no-repeat left center;
    color: #fff;
    font-size: 15px;
    margin-bottom: 5px;
}

footer .phone a {
    color: #fff;
}

footer .phone span {
    color: #687486;
    padding-left: 5px;
}

footer .mail {
    padding-left: 30px;
    background: url(../images/iconMailH.svg) no-repeat left center;
    color: #fff;
    font-size: 15px;
}

footer .callback-toggle {
    background: url(../images/cbFoot.svg) no-repeat 20px center, linear-gradient(to right, #59c24d, #2ea937);
    padding: 0 20px 0 60px;
    display: inline-flex;
    border: none;
    align-items: center;
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    height: 48px;
    margin-bottom: 30px;
}

footer .clock {
    padding-left: 30px;
    background: url(../images/iconClockH.svg) no-repeat left top;
    color: #fff;
    font-size: 15px;
}

footer .clock .nucClock:first-child {
    margin-bottom: 25px;
}


/*End footer*/


/*sliderItems*/

.sliderItems {
    position: relative;
    margin: 0 -15px;
}

.itemSlide {
    padding: 0 15px;
}

.sliderItems .slick-arrow {
    position: absolute;
    border: none;
    background: #fff;
    width: 50px;
    height: 50px;
    font-size: 0;
    top: calc(50% - 25px);
}

.sliderItems .slick-prev:before {
    position: absolute;
    width: 15px;
    height: 15px;
    border-bottom: 1px solid #53bf4a;
    border-left: 1px solid #53bf4a;
    transform: rotate(45deg);
    content: '';
    left: calc(50% - 5px);
    top: calc(50% - 7px);
}

.sliderItems .slick-next:before {
    position: absolute;
    width: 15px;
    height: 15px;
    border-bottom: 1px solid #53bf4a;
    border-right: 1px solid #53bf4a;
    transform: rotate(-45deg);
    content: '';
    right: calc(50% - 5px);
    top: calc(50% - 7px);
}

.sliderItems .slick-prev {
    left: -100px;
}

.sliderItems .slick-next {
    right: -100px;
}

.sliderItems .slick-dots {
    position: absolute;
    display: flex;
    justify-content: center;
    left: 300px;
    right: 300px;
    bottom: -80px;
}

.sliderItems .slick-dots button {
    width: 15px;
    height: 15px;
    background: #000;
    padding: 0;
    border: 5px solid #fff;
    margin: 0 7px;
    font-size: 0;
}

.sliderItems .slick-dots .slick-active button {
    background: #2ea937;
}


/*End sliderItems*/


/*item*/

.item {
    background: #fff;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.item .imgW {
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.item .imgW img {
    max-width: 100%;
    max-height: 250px;
}

.item .name {
    font-weight: 400;
    color: #000;
    margin-bottom: 25px;
    display: inline-block;
}

.item .botLineItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid #bdccd4;
    width: 100%;
}

.item .phone {
    display: block;
    padding-left: 25px;
    background: url(../images/iconPhoneItem.svg) no-repeat left center;
    margin-bottom: 10px;
    color: #08395b;
    font-weight: 500;
    font-size: 20px;
}

.item .more {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: linear-gradient(to bottom, #59c24d, #2ea937);
    color: #fff;
    height: 48px;
    font-size: 15px;
    font-family: "Jost";
    font-weight: 400;
    text-transform: uppercase;
    transition: all 0.4s;
}

.item .more:hover {
    background: #00dc00;
}

.sliderItems .allCat {}


/*End item*/


/*modalF*/

.modalF.callback-modal {
    width: 640px;
    max-width: 90%;
    display: flex;
    justify-content: flex-end;
    padding: 40px 35px;
    min-height: 474px;
    background: #0b9b1e;
    border-radius: 0;
}

.modalF:before {
    position: absolute;
    left: 15px;
    bottom: 15px;
    content: url(../images/decModal.png);
    line-height: 0;
}

.modalF * {
    color: #fff;
}

.modalF .callback-modal__form {
    width: 370px;
}

.modalF .callback-modal__headline {
    text-transform: uppercase;
    font-family: "Jost";
    line-height: 1;
    margin-bottom: 25px;
    font-size: 30px;
    font-weight: 300;
    text-align: left;
}

.modalF p {
    font-size: 22px;
    font-family: "Jost";
    font-weight: 400;
    margin-bottom: 15px;
}

.modalF input {
    width: 90%;
    border: none;
    border-bottom: 1px solid #fff;
    color: #fff;
    margin-bottom: 10px;
    line-height: 47px;
    padding: 0 35px;
    font-size: 18px;
    font-weight: 500;
    font-family: "Jost";
}

.modalF .wrapLabel {
    margin-top: 10px;
    margin-bottom: 25px;
}

.modalF .callback-modal__form button {
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    width: 190px;
    height: 48px;
    border: none;
    color: #283c53;
    text-transform: uppercase;
    font-weight: 400;
    font-family: "Jost";
}


/*End modalF*/


/*insidepage*/

.insidepage .contentBlock {
    padding: 50px 0;
}

.wrapSert {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    color: #283c53;
}

.nucSert {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #59c24d;
}

.nucSert h2 {
    font-size: 25px;
    text-transform: uppercase;
    margin: 10px 0 15px;
    font-weight: 400;
}

.sert {
    background: url(../images/iconSert.png) no-repeat left center;
    padding-left: 30px;
    margin-bottom: 10px;
}

.sert a {
    color: #283c53;
    font-size: 18px;
}

.sert a:hover {
    color: #3fb340;
}


/*End insidepage*/

.logo img {
    max-width: 100%;
}

.wrapMobMain {
    display: none;
}


/* --- Media styles --- */

@media screen and (min-width:1200px) {}

@media screen and (max-width:1199px) {
    .logo img {
        width: 200px;
    }
    .topLineH .phone {
        font-size: 16px;
    }
    .topLineH .nav {
        margin-right: 10px;
    }
    .botLineH .buttonCatMain {
        width: 200px;
        padding: 0 10px 0 5px;
    }
    .buttonCatMain .burger {
        margin-right: 10px;
    }
    .catMain .txt {
        font-size: 15px;
    }
    .headMain li {
        margin-right: 10px;
    }
    .headMain li a {
        font-size: 15px;
    }
    .search {
        width: 200px;
    }
    .wrapBM {
        grid-gap: 25px;
    }
    .nucSol img {
        max-width: 100%;
    }
    .nucSol .name {
        padding-top: 15px;
        font-size: 16px;
    }
    .item .phone {
        font-size: 16px;
        padding-left: 15px;
    }
    .sliderItems .slick-prev {
        left: -30px;
    }
    .sliderItems .slick-next {
        right: -30px;
    }
    .itemSlide {
        padding: 0 5px;
    }
    .sliderItems {
        margin: 0;
        padding: 0 20px;
    }
    .formBlock::before {
        right: calc(50% + 1px);
    }
    .formBlock input {
        width: 200px;
    }
    .nucPG img {
        max-width: 100%;
    }
    footer .h1,
    footer .logoWrap {
        left: calc((100% - 940px) / 2);
    }
    footer .infoBlock {
        right: calc((100% - 940px) / 2);
    }
}

@media screen and (max-width:991px) {
    .wrapMobMain {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        bottom: 0;
        background: #2ea937;
        z-index: 50;
        transition: all 0.4s;
        z-index: 1;
        display: block;
        padding: 0 10px;
    }
    .openMobMain .wrapMobMain {
        right: 0%;
    }
    .wrapMobMain ul {
        margin-bottom: 50px;
    }
    .wrapMobMain ul a {
        display: block;
        color: #fff;
        margin-bottom: 10px;
        font-size: 20px;
    }
    .mainButt {
        transition: all 0.4s;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 50px;
        height: 40px;
        position: absolute;
        left: -50px;
        top: 150px;
        padding: 10px;
        z-index: 5;
        background: #2ea937;
    }
    .openMobMain {
        overflow: hidden;
    }
    .openMobMain .mainButt {
        top: 0;
        left: calc(100% - 50px);
        background: #fff;
    }
    .openMobMain .mainButt .line:nth-child(1),
    .openMobMain .mainButt .line:nth-child(3) {
        opacity: 0;
    }
    .mainButt .line {
        background: #fff;
        width: 100%;
        height: 2px;
        transition: all 0.4s;
        position: relative;
    }
    .openMobMain .mainButt .line:nth-child(2)::before {
        transform: rotate(-90deg);
        background: #2ea937;
    }
    .mainButt .line:nth-child(2)::before {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #fff;
        transition: all 0.4s;
    }
    .openMobMain .mainButt .line:nth-child(2) {
        transform: rotate(45deg);
        background: #2ea937;
    }
    .wrapMobMain .wrapMains {
        margin-top: 100px;
        overflow-y: auto;
        max-height: calc(100vh - 120px);
    }
    .wrapMobMain .wrapMains .name {
        margin-bottom: 10px;
        font-size: 28px;
        color: #fff;
        font-weight: 700;
        line-height: 1
    }
    .topLineH {
        flex-wrap: wrap;
        justify-content: center;
    }
    .topLineH .logo {
        order: 0;
        margin-right: 30px;
    }
    .topLineH .phone {
        order: 1;
        margin-top: 20px;
    }
    .topLineH .infoBlock {
        width: 100%;
        order: 3;
        padding-top: 10px;
    }
    .nucBM .name,
    .nucBMAll .name {
        padding-top: 15px;
        left: 5px;
        font-size: 16px;
    }
    .nucBM .btnMoreArr {
        left: 5px;
        bottom: 10px;
    }
    .nucBMAll>img {
        top: 50px;
        left: -45px;
        width: 205px;
    }
    .wrapRS {
        grid-template-columns: repeat(2, 1fr);
    }
    .catMain,
    .headMain {
        display: none;
    }
    .search {
        width: 100%;
    }
    .newItemsBlock .allCat .txt {
        width: 160px;
    }
    .formBlock .wrapForm {
        padding-left: 120px;
    }
    .h1,
    h1 {
        font-size: 24px;
    }
    .formBlock .afterName {
        font-size: 18px;
    }
    .formBlock input {
        padding: 0 20px;
    }
    .wrapWW {
        grid-template-columns: repeat(2, 1fr);
    }
    .pgWrap {
        grid-template-columns: repeat(3, 1fr);
    }
    .pgWrap .titlePg {
        order: 0;
    }
    .pgWrap .nucPG {
        order: 1;
    }
    .trustUsBlock,
    .portfolioBlock,
    .teamBlock {
        padding: 25px 0;
    }
    .whyWeBlock {
        padding: 60px 0 25px;
    }
    .bannerMainBlock {
        padding-bottom: 25px;
    }
    .wrapBM {
        grid-gap: 18px;
    }
    .readySolutionsBlock {
        padding: 30px 0 50px;
    }
    .newItemsBlock {
        padding: 50px 0;
    }
    .wrapTeam {
        grid-template-columns: repeat(2, 1fr);
    }
    .botLineTeams .name {
        font-size: 16px;
    }
    .botLineTeams .txt {
        font-size: 14px;
    }
    .botLineTeams .txt {
        margin: 0 70px;
    }
    .botLineTeams .phone {
        font-size: 16px;
    }
    .botLineTeams .txt::before {
        width: 30px;
        left: -50px;
    }
    .botLineTeams .txt::after {
        width: 30px;
        right: -50px;
    }
    footer .logoWrap {
        display: none;
    }
    .map .h1 {
        position: static;
    }
    footer::before {
        display: none;
    }
    footer .infoBlock {
        position: static;
        width: 100%;
    }
    footer {
        padding-top: 50px;
    }
    footer .h1 {
        padding-bottom: 0;
    }
    footer .h1::before {
        display: none;
    }
}

@media screen and (max-width:767px) {
    .wrapBM {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .nucBM {
        margin-bottom: 15px;
    }
    .wrapBM .nucBMAll {
        display: none;
    }
    .wrapBM a {
        display: block;
    }
    .horisontalImg .btnMoreArr {
        right: 10px;
        top: 10px;
        left: auto;
        bottom: auto;
    }
    .sliderItems {
        padding: 0 45px;
    }
    .sliderItems .slick-prev {
        left: -10px;
    }
    .sliderItems .slick-next {
        right: -10px;
    }
    .sliderItems .slick-dots {
        position: static;
        padding: 15px 0;
    }
    .newItemsBlock .sliderItems {
        margin-bottom: 10px;
    }
    .newItemsBlock .wrapAll {
        justify-content: center;
    }
    .wrapTeam {
        grid-template-columns: repeat(1, 1fr);
    }
    .formBlock::before {
        display: none;
    }
    .formBlock .wrapForm {
        padding-left: 0;
    }
    .formBlock {
        padding: 30px 0 40px;
        height: auto;
    }
    .formBlock .wrapInputs {
        margin-bottom: 20px;
        flex-direction: column;
        align-items: center;
    }
    .formBlock .afterName {
        margin-bottom: 20px;
    }
    .wrapInputs input {
        width: 100%;
        max-width: 320px;
        margin-bottom: 10px;
    }
    .wrapInputs button {
        width: 100%;
        max-width: 320px;
    }
    .botLineTeams {
        flex-direction: column;
        align-items: center;
    }
    .botLineTeams .txt {
        font-size: 16px;
        text-align: center;
        margin: 30px 0;
    }
    .botLineTeams .txt::before {
        top: -15px;
        left: calc(50% - 15px);
    }
    .botLineTeams .txt::after {
        top: calc(100% + 15px);
        right: calc(50% - 15px);
    }
    .botLineTeams .name {
        text-align: center;
        font-size: 18px;
    }
    .botLineTeams .name br,
    .botLineTeams .txt br {
        display: none;
    }
    .nucPG .name {
        left: 10px;
        top: 10px;
    }
    .nucPG .more {
        bottom: 10px;
        left: 10px;
        line-height: 1.3;
    }
}

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

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

@media screen and (max-width:600px) {
    .topLineH .infoBlock {
        flex-direction: column;
    }
    .wrapWW {
        grid-template-columns: repeat(1, 1fr);
    }
    .pgWrap {
        grid-template-columns: repeat(2, 1fr);
    }
    .titlePg {
        padding: 10px 0;
    }
    .wrapRS {
        display: flex;
        flex-direction: column;
        align-items: center;
        grid-gap: 0;
    }
    .wrapRS .nucSol {
        margin-bottom: 15px;
    }
}

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

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

@media screen and (max-width:400px) {
    .nucTeam .imgW {
        width: 140px;
    }
    .nucTeam .txtBlock {
        width: calc(100% - 145px);
        padding-left: 5px;
    }
}

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