@charset "UTF-8";
/*@font-face {
font-family: "GothamProRegular"; 
src: url("../fonts/GothamProRegular.eot");
src: url("../fonts/GothamProRegular.eot?#iefix")format("embedded-opentype"),
url("../fonts/GothamProRegular.woff") format("woff"),
url("../fonts/GothamProRegular.ttf") format("truetype");
font-style: normal;
font-weight: normal;
}


@font-face {
font-family: "sans-r";
src: url("../fonts/SourceSansPro-Regular.woff") format("truetype");
font-display:swap;
}
*/
@font-face {
  font-family: "nun";  
  src: url("../fonts/Nunito-Regular.eot");
  src: url("../fonts/Nunito-Regular.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Nunito-Regular.woff") format("woff"),
    url("../fonts/Nunito-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "rubik";  
  src: url("../fonts/Rubik-BoldItalic.eot");
  src: url("../fonts/Rubik-BoldItalic.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Rubik-BoldItalic.woff") format("woff"),
    url("../fonts/Rubik-BoldItalic.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ns-reg";   
  src: url("../fonts/NotoSans.eot");
  src: url("../fonts/NotoSans.eot?#iefix")format("embedded-opentype"),
    url("../fonts/NotoSans.woff") format("woff"),
    url("../fonts/NotoSans.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ns-it";   
  src: url("../fonts/NotoSans-Italic.eot");
  src: url("../fonts/NotoSans-Italic.eot?#iefix")format("embedded-opentype"),
    url("../fonts/NotoSans-Italic.woff") format("woff"),
    url("../fonts/NotoSans-Italic.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ns-bold"; 
  src: url("../fonts/NotoSans-Bold.eot");
  src: url("../fonts/NotoSans-Bold.eot?#iefix")format("embedded-opentype"),
    url("../fonts/NotoSans-Bold.woff") format("woff"),
    url("../fonts/NotoSans-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ms-reg";
  src: url("../fonts/Montserrat-Regular.eot");
  src: url("../fonts/Montserrat-Regular.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Montserrat-Regular.woff") format("woff"),
    url("../fonts/Montserrat-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ms-semi";
  src: url("../fonts/Montserrat-SemiBold.eot");
  src: url("../fonts/Montserrat-SemiBold.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Montserrat-SemiBold.woff") format("woff"),
    url("../fonts/Montserrat-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ms-mit";
  src: url("../fonts/Montserrat-MediumItalic.eot");
  src: url("../fonts/Montserrat-MediumItalic.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Montserrat-MediumItalic.woff") format("woff"),
    url("../fonts/Montserrat-MediumItalic.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ms-med"; 
  src: url("../fonts/Montserrat-Medium.eot");
  src: url("../fonts/Montserrat-Medium.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Montserrat-Medium.woff") format("woff"),
    url("../fonts/Montserrat-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: "ms-bold"; 
  src: url("../fonts/Montserrat-ExtraBold.eot");
  src: url("../fonts/Montserrat-ExtraBold.eot?#iefix")format("embedded-opentype"),
    url("../fonts/Montserrat-ExtraBold.woff") format("woff"),
    url("../fonts/Montserrat-ExtraBold.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
}


/*********************** Reset.css - сброс стилей *****************/
html, body, div, span, object, iframe, 
h1, h2, h3, h4, h5, h6, p, a, img, strong, 
center, ol, ul, li, form, table, tbody, tfoot, thead, tr, th, td,
canvas, footer, header, menu, nav, section, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
input:-internal-autofill-selected {
  background-color: rgb(255, 255, 255, 0) !important;
  background-image: none !important;
  color: -internal-light-dark-color(black, white) !important;
}
:focus{outline:none;}
a, a:hover {
  color: inherit;
  text-decoration: none;
}
li {
  list-style-type: none;
}
/************************************************************************/

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "ns-reg";
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.containe {
  flex-grow: 1;
}
footer#footer {
  flex-shrink: 0;
}
img {
  max-width: 100%;
  object-fit: cover;
}
div#back-top span{
  position: fixed;
  left: 2%;
  bottom: 50px;
  z-index: 99;
  font-size: 32px;
}
body.home-page section#main,a[href="#menu"] {
  display: none;
}
.w100 {
  width: 98%;
}
.w90 {
  width: 88%;
}
.w80 {
  width: 78%;
}
.w70 {
  width: 68%;
}
.w60 {
  width: 58%;
}
.w50 {
  width: 48%;
}
.w40 {
  width: 38%;
}
.w33 {
  width: 31%;
}
.w30 {
  width: 28%;
}
.w25 {
  width: 23%;
}
.w20 {
  width: 18%;
}
.w10 {
  width: 8%;
}
p {
  margin-bottom: 10px;
}
/************* Анимация при появлении объекта при display:none; ***********/
@keyframes opacity {
  from {opacity: 0;}
  to {opacity: 1;}
}
/*------------------------------ Scroll ----------------------------------*/
::-webkit-scrollbar-track{background-color:#000;}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-thumb{background-color:#02E6FF;}
/*-------------------------------------------------------------------------*/







.internal-page {
  background: #000;
}

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

ul.nav.menu li a {
  font-size: 20px;
  line-height: 24px;
  letter-spacing: -0.05em;
  color: #fff;
  padding: 0 10px;
}

ul.nav.menu {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header {
  padding-top: 25px;
}

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

.soc-top a {
  padding: 0 10px;
}





.header {
  position: absolute;
  z-index: 2;
  width: 100%;
}

.text-in-slide {
  position: absolute;
  left: 0;
  width: 100%;
  color: #fff;
  text-align: center;
  top: 62%;
  transform: translateY(-50%);
  z-index: 2;
}

.top-slider {
  position: relative;
}

a.mouse img {
  width: 35px;
  object-fit: contain;
}

a.mouse img {
  width: 35px !important;
}

a.mouse {
  margin: auto;
  display: table;
  width: auto;
}

.top-text {
  font-size: 48px;
  line-height: 84px;
  text-align: center;
  letter-spacing: 0.07em;
  width: 80%;
  margin: auto;
  font-family: "rubik";
}

p.bottom-text {
  font-size: 30px;
  line-height: 53px;
  letter-spacing: 0.01em;
  font-family: "ns-it";
  font-weight: 500;
}

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

p.bottom-text {
  margin-bottom: 80px;
}


.top-slider {
  height: 100vh;
}

.slider1 img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.slider1 .item {
  height: 100vh;
}



.moduletable-num {
  background: #000;
  padding-bottom: 100px;
}

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

.number-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.round {
  width: 205px;
  height: 205px;
  border: 6px solid #FFFFFF;
  box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}

.round p {
  font-size: 55px;
  line-height: 75px;
  color: #fff;
  margin-bottom: 0;
}

.num-text p {
  font-size: 24px;
  line-height: 33px;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 0;
}

.custom-num {
  background: url("/images/fon-map.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 900px;
}

.custom-num {
  padding-top: 100px;
}

.moduletable-num {
  position: relative;
}

.moduletable-num:before {
  width: 100%;
  height: 115px;
  background: #000;
  position: absolute;
  top: -50px;
  left: 0;
  content: "";
  filter: blur(26px);
  z-index: 1;
}

.moduletable-num:after {
  position: absolute;
  bottom: 84px;
  width: 100%;
  height: 100px;
  background: #000;
  content: "";
  z-index: 0;
  filter: blur(45px);
}

.nubers-block {
  position: relative;
  z-index: 1;
}

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

.moduletable-about {
  background: #000;
  padding: 80px 0 50px;
}

p.block-title {
  text-align: center;
  font-size: 50px;
  line-height: 61px;
  color: #FFFFFF;
  margin-bottom: 90px;
  position: relative;
  font-family: "ms-semi";
}

p.block-title:before {
  position: absolute;
  bottom: -15px;
  width: 115px;
  background: #02E6FF;
  height: 4px;
  content: "";
  left: 50%;
  transform: translateX(-50%);
}

.about-text {
  width: 50%;
}

.about-img {
  width: 45%;
}

.about-text p {
  font-size: 20px;
  line-height: 27px;
  color: #FFFFFF;
  margin-bottom: 50px;
}

.moduletable-about .container {
  padding: 0;
}


.moduletable-prin {
  background: #000;
  padding: 30px 0;
}

.flex-prin {
  flex-wrap: wrap;
  justify-content: center;
}

.prin-col {
  width: 43%;
  display: flex;
  margin-bottom: 85px;
}

.prin-col img {
  width: 65px;
  height: 65px;
  object-fit: contain;
  margin-right: 20px;
}

.prin-text p {
  color: #fff;
  font-size: 16px;
  line-height: 22px;
  opacity: 0.8;
}

p.prin-title {
  font-size: 20px;
  line-height: 27px;
  opacity: 1;
  margin-bottom: 0px;
}
.prin-text {
    display: flex;
    align-items: center;
}

.moduletable-ser {
  background: #000;
}

ul.service-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

li.ser-btn {
  width: 210px;
  border: 2px solid #FFFFFF;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 65px;
  margin-right: 80px;
  margin-bottom: 40px;
}

li.ser-btn p {
  font-size: 20px;
  line-height: 27px;
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 0;
}

ul.service-btns li:nth-child(4) {
  margin-right: 0;
}
li.ser-btn.smaller p {
  font-size: 18px;
}
li.ser-btn {
  transition: .4s;
}

li.ser-btn:hover {
  background: #fff;
}

li.ser-btn:hover p {
  color: #000;
}

li.ser-btn p {
  transition:.4s;
}


.service-img {
  width: 44% !important;
}

.service-img .item {
    height: 320px;
    width: 100%;
}

.service-img .item img {
    width: 100% !important;
    height: 100% !important;
}

.service-text {
  width: 54%;
}

.service-text p, .service-text li {
  font-size: 16px;
  line-height: 22px;
  color: #FFFFFF;
}

.service-text li {
  margin-bottom: 20px;
  position: relative;
  padding-left: 25px;
}

.service-text li:before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 10px;
  height: 10px;
  background: #fff;
  content: "";
  border-radius: 50%;
}

.service-info {
  padding-top: 30px;
}

a.blue-btn {
  background: #02E6FF;
  box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
  display: table;
  width: auto;
}

a.blue-btn p {
  margin-bottom: 0;
  padding: 15px 63px;
}
.moduletable-ser {
  padding: 30px 0 50px;
}
.moduletable-adv {
  background: #000;
}

.advantage-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.adv-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
}

.moduletable-adv {
  padding: 50px 0;
}

.adv-item p {
  margin-bottom: 0;
}

.adv-item img {
  margin-bottom: 15px;
}

.adv-item p {
  font-size: 20px;
  line-height: 27px;
  text-align: center;
  color: #FFFFFF;
}
.moduletable-project {
  background: #000;
}

.proj-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.proj-item {
  width: 33.33%;
  position: relative;
  height: 400px;
}

.proj-title {
  position: absolute;
  bottom: 0;
  height: 0;
  width: 100%;
  transition: .4s;
  background: rgba(153, 0, 255, 0.5);
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.proj-title p {
  margin-bottom: 0;
  font-size: 23px;
  line-height: 34px;
  color: #FFFFFF;
}
.proj-title {
    padding: 10px 15px;
  text-align: center;
}

.proj-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.proj-item:hover .proj-title {
  height: 136px;
  opacity: 1;
}


.violet .proj-title {
  background: rgba(153, 0, 255, 0.5);
}

.blue .proj-title {
  background: rgba(0, 26, 255, 0.5);
}

.pink .proj-title {
  background: rgba(255, 28, 116, 0.5);
}


.moduletable-project {
  padding: 80px 0;
}


.moduletable-parts {
  background: #000;
}

.partners-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}

.moduletable-parts {
  padding: 30px 0;
}

.part-item {
    width: 12%;
    margin-right: 35px;
    margin-bottom: 35px;
    height: 100px;
}
.part-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.part-item:nth-child(6n) {
  margin-right: 0;
}
.moduletable-parts .container {
  padding: 0;
}


.moduletable-letter {
  background: #000;
  padding: 80px 0 150px;
}

.sert-descr p {
  color: #fff;
  font-size: 17px;
  line-height: 22px;
}

p.sert-title {
  font-weight: bold;
  margin-bottom: 25px;

  font-size: 20px;
  line-height: 24px;
}

.sert-descr {
  margin-top: 30px;
}
.cert-slider .owl-item img {
  border-radius: 5px;
}


.moduletable-form {
  background: url("/images/form.jpg");
  background-size: cover;
  background-position: center;
}

.dark-block {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(20px);
  padding: 75px 45px;
}

p.form-title {
  font-size: 36px;
  line-height: 44px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  font-family: "ms-semi";
}

p.form-text {
  font-size: 18px;
  line-height: 29px;
  text-align: center;
  color: rgba(255, 255, 255, 0.9);
  margin: auto;
  margin-bottom: 45px;
}


form#bottom-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 390px;
  margin: auto;
}

.icon-type, .icon-type input, .icon-type textarea {
  width: 100%;
}

.icon-type input, .icon-type textarea {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8) !important;
  border: none;
  padding: 0 10px 5px 35px;
}

.icon-type input {
  margin-bottom: 30px;
  padding-bottom: 10px;
  padding-top: 20px;
}

.icon-type textarea {
  height: 60px;
  padding-top: 20px;
}



.icon-type {
  position: relative;
}

.icon-type.user-icon:before {
  background: url("/images/user.svg");
}

.icon-type:before {
  position: absolute;
  top: 21px;
  left: 0;
  width: 17px;
  height: 17px;
  content: "";
  background-size: contain !important;
}

.icon-type.phone-icon:before {
  background: url("/images/phone.svg");
}

.icon-type.mess-icon:before {
  background: url("/images/message.svg");
}

.icon-type input::placeholder, .icon-type textarea::placeholder {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.8);
}


.submiit {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 60px;
}

input.btn-send {
  background: #02E6FF;
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
  border: none;
  color: #fff;
  padding: 9px 20px;
  letter-spacing: 0.01em;
  font-size: 16px;
  height: auto;
  width: 49%;
}

a.brief {
  border: 2px solid #FFFFFF;
  box-sizing: border-box;
  border-radius: 5px;
  color: #fff;
  padding: 9px 20px;
  height: auto;
  width: 49%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-type input, .icon-type textarea {
  color: #fff;
  font-size: 15px;
}
.icon-type textarea {
  resize: none;
}




.dark-block {
  width: 85%;
  margin: 0 auto;
}

.moduletable-form {
  padding-bottom: 15px;
}

.map-block {
  position: relative;
}

.map-block iframe {
  height: 455px;
  width: 100%;
}

.contacts {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  width: 470px;
  right: 180px;
  z-index: 1;
}

.contacts {
  padding: 33px 55px 40px;
  box-shadow: 0px 4px 10px rgba(174, 174, 174, 0.15);
  border-radius: 5px;
  text-align: center;
}

p.cons-title {
  font-size: 30px;
  line-height: 37px;
  text-align: center;
  font-family: "ms-bold";
}


p.con-item,a.con-item {
  text-align: left;
  margin-bottom: 17px;
  font-size: 16px;
}
p.con-item img {
  margin-right: 17px;
}

p.con-item {
  display: flex;
  align-items: center;
}

.custom-footer {
  background: #000;
}

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

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

.fmenu ul {
  display: flex;
  justify-content: center;
}

.fmenu ul li {
  padding: 0 15px;
}

.foot-block {
  padding: 30px 0;
}
.foot-logo {
  width: 15%;
  padding-right: 50px;
}

.foot-menu {
  width: 85%;
}

.fmenu ul li a {
  color: #fff;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: -0.05em;
  font-family: "ms-reg";
}

.copyright p {color: #fff;opacity: 0.5;font-size: 14px;line-height: 16px;text-align: center;width: auto;display: block;margin-top: 27px;}
.copyright p {
    font-family: "nun";
}

.fmenu {
  width: 92%;
}

.fsocial {
  width: 8%;
  display: flex;
  justify-content: space-between;
}

.foot-logo img {object-fit: contain;width: 125px;}
.f-top {
  border-bottom: 1px solid #fff;
  padding-bottom: 20px;
  align-items: center;
}

.soc-top a:hover svg path, .fsocial a:hover svg path{
  fill: #02E6FF;
}
.soc-top a svg path, .fsocial a svg path {
  transition: .4s;
}

ul.nav.menu li a , .fmenu ul li a, p.con-item a{
  transition: .4s;
}

ul.nav.menu li a:hover , .fmenu ul li a:hover, p.con-item a:hover{
  color: #02E6FF;
}
.ser-btn.active {
  background: #fff;
}

.ser-btn.active p {
  color: #000;
}
a.blue-btn:hover, input.btn-send:hover {
  color: #02E6FF;
  background: transparent;

}

a.blue-btn, input.btn-send {
  transition: .4s;
  border: 1px solid #02E6FF;
}
.copyright a:hover {
  opacity: 1;
}
.copyright p{
  transition: .4s;
}
a.brief {
  transition: .4s;
}

a.brief:hover {
  background: #fff;
  color: #000;
}


@keyframes mouse-animated{
  0%{
    transform:translateY(0);
  }
  100%{
    transform:translateY(40px);
  }
}

@keyframes main-text{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}

a.mouse {animation-name: mouse-animated;animation-duration: 2s;animation-fill-mode: backwards;animation-iteration-count: infinite;}


.text-in-slide {
  animation-name: main-text;
  animation-delay: 1s;
  animation-duration: 1.5s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}
.text-in-slide {
  opacity: 0;
}
li.ser-btn {
  cursor: pointer;
}

.adv-item img:hover {
  filter: drop-shadow(0 0px 5px #02E6FF);
}
.adv-item img{
  transition:.4s;
}

center.formSuccess {
  color: #fff;
  font-size: 16px;
}




/*           BRIEF               */

#briefForm {
  margin: 0;
  font-family: Raleway;
  padding: 40px;
  width: 100%;
  min-width: 300px;
  color:#fff;
}


/* Mark input boxes that gets an error on validation: */
#briefForm input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
#briefForm .tab {
  display: none;
}

#briefForm button {
  color: #ffffff;
  border: none;
  cursor: pointer;
}

#briefForm button:hover {
  opacity: 0.8;
}

#prevBtn {
  background-color: #bbbbbb;
}

/* Make circles that indicate the steps of the form: */
#briefForm .step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;  
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}

#briefForm .step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
#briefForm .step.finish {
  background-color: #4CAF50;
}

form#briefForm h1 {
  font-size: 28px;
  line-height: 34px;
  letter-spacing: -0.05em;
  color: #FFFFFF;
  text-align: center;
  position: relative;
  font-family: "ms-reg";
}

form#briefForm h1:before {
  position: absolute;
  bottom: -12px;
  width: 78px;
  height: 4px;
  background: #02E6FF;
  content: "";
  left: 50%;
  transform: translateX(-50%);
}

#briefForm .tab {
  margin-top: 55px;
}

p.shag {
  font-family: "ms-mit";
  font-weight: 500;
  font-size: 24px;
  line-height: 29px;
  letter-spacing: -0.05em;
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 43px;
}

p.step-theme {
  font-size: 24px;
  line-height: 29px;
  letter-spacing: -0.05em;
  color: #02E6FF;
  margin-bottom: 65px;
  font-family: "ms-semi";
}

.brief-table {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.brief-table>div {
  width: 45%;
}

.internal-page .header {
  position: relative;
}



.brief-table>div label {
  font-size: 18px;
  line-height: 22px;
  letter-spacing: -0.05em;
  color: #FFFFFF;
  margin-bottom: 30px;
  font-family: "ms-reg";
}

.brief-table>div input {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
  border: none;
  background: none;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: -0.05em;
  color: #FFFFFF;
}

.brief-table>div p {
  margin-bottom: 0;
}

.brief-table>div {
  margin-bottom: 50px;
}

.brief-table>div input {
  padding-bottom: 5px;
  width:280px;
  font-family: "ms-reg";
}
.br-buttons {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}

.br-buttons button {
  background: #02E6FF;
  border-radius: 5px;
  width: 240px;
  padding: 20px;
  font-size: 20px;
  line-height: 27px;
  box-shadow: 0 0  10px #02E6FF;
}

#briefForm button {
  margin: 0 15px;
}

button#prevBtn {
  box-shadow: 0 0 10px #bbbbbb;
}


ul.nav.menu li a {font-family: "ms-reg";}

p.prin-title {font-family: "ns-reg";font-weight: 600;}
.full-input {
  width: 100% !important;
}
.selector {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 5px;
  width: 310px;
  height: 28px;

}


.sub-tab label {
  border: 1px solid;
  border-collapse: collapse;
  width: 310px;
  font-size: 16px !important;
  line-height: 20px !important;
  /* identical to box height */
  margin-bottom: 0 !important;
  padding: 5px 12px;
}

p.selector {
  font-size: 16px;
  line-height: 20px;
  /* identical to box height */
  letter-spacing: -0.05em;
  font-family: "ms-reg";
  border: 1px solid;
  padding: 5px 12px;
  height: auto;
}

.sub-tab {
  display: flex;
  flex-direction: column;
}

.sub-tab input {
  display: none;
}



.full-selector {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}


.flex-input {
  display: flex;
  margin-bottom: 15px !important;
}

.flex-input label, .flex-input input {margin-bottom: 0 !IMPORTANT;}

.flex-input label {
  line-height: 2 !IMPORTANT;
  margin-right: 5px;
}




.custom-checkbox {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.custom-checkbox+label {
  display: inline-flex;
  align-items: center;
  user-select: none;
}
.custom-checkbox+label::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid #fff;
  background: #fff;
  box-shadow: inset 0px 0px 3px rgba(0, 0, 0, 0.5);
  border-radius: 0;
  margin-right: 0.5em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}
.custom-checkbox:checked+label::before {
  border-color: #02E6FF;
  background-color: #02E6FF;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}



.step3 .full-input {
  margin-bottom: 0;
}

.step3 .brief-table .flex-input:last-child input {
  width: 210px;
}
.step3 .flex-input input {padding-bottom: 0;line-height: 25px;padding-left: 10px;margin-left: 5px;}


span.step {
  display: none !important;
}

button#prevBtn {
  display: none !important;
}
p.nunito {
    font-family: "nun";
    font-size: 18px;
}

input[type="datetime-local"]{
  width:310px;
}
input[type="datetime-local"]::-webkit-calendar-picker-indicator{

    
    background:url("/images/triangle.svg");
    background-repeat:no-repeat;
    background-position:bottom;
    margin-top:-15px;
}


input[type="datetime-local"]::-webkit-datetime-local-edit{ color: transparent; }
input[type="datetime-local"]:focus::-webkit-datetime-local-edit{ color: #fff; }





.custom-fix {
    display: flex;
    position: fixed;
    right: 30px;
    bottom: 50px;
    align-items: center;
}

.black-fixed {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.blue-fixed {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 6px;
}
.black-fixed a:first-child {
    margin-bottom: 12px;
}
.black-fixed a {
    background: #000;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blue-fixed a {
    background: rgba(2, 230, 255, 0.5);
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 0;
}
.blue-fixed a:first-child img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.blue-fixed a:last-child img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.blue-fixed a:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 50px;
    height: 50px;
    content: "";
    background: #02E6FF;
    border-radius: 50%;
    z-index: -1;
}
.blue-fixed a:first-child {
    margin-bottom: 18px;
}

.custom-fix {
    z-index: 2;
}


#briefForm .tab.active {
    display: block;
}


.blue-send {
    color: #ffffff;
    border: none;
    cursor: pointer;
    background: #02E6FF;
    border-radius: 5px;
    width: 240px;
    padding: 20px;
    font-size: 20px;
    line-height: 27px;
    box-shadow: 0 0 10px #02E6FF;
    margin-top: 60px;
}
input.form-btn.blue-send {
    margin-right: auto;
    margin-left: auto;
    display: table;
}
#briefForm center.formSuccess {
    font-size: 48px;
    text-align: center;
    letter-spacing: -0.05em;
    color: #02E6FF;
    font-family: "ms-med";
    line-height: 98px;
}
h1.insuccess{
  margin-bottom:56px;
}
.custom-logo img {
    object-fit: contain;
}
p.form-title span {
    color: #02E6FF;
}




#modalka .modal-header {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#modalka .modal-header {
    position: relative;
}

#modalka .modal-header .close {
    position: absolute;
    right: 25px;
    opacity: 1;
    color: #fff;
}

#modalka .modal-content {
    background:#000;
    border-radius: 0;
  border: 1px solid #02E6FF;
}

#modalka .modal-header p {
    color: #fff;
    text-align: center;
}

#modalka p.modal-title {
    font-size: 23px;
    font-family: "ms-semi";
    margin-bottom: 15px;
}

#modalka p.vam {
    font-size: 16px;
    font-family: "ms-reg";
}

form#modal-post {
    display: flex;
    flex-direction: column;
    align-items: center;
}

form#modal-post input {
    margin-bottom: 20px;
    width: 80%;
    padding: 14px 15px;
}

input#form_name, input#form_phone {
    background: none;
    color: #fff;
    border-radius: 0;
    border: 1px solid #fff;
}


.blog-proekty {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.blog-proekty .items-row {
    width: 32%;
}

.blog-proekty .item {
    position: relative;
}

.blog-proekty .item .page-header {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: #02e6ffb3;
    margin-bottom: 0;
    padding: 10px;
}

.blog-proekty .item-image {
    height: 250px;
}

.blog-proekty .item-image  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-header h2 {
    font-size: 16px;
    text-align: center;
    line-height: 1.2;
    color: #fff;
}

.page-header {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}
.item-page-proekty .item-image {
    width: 300px;
    height: 200px;
    float: left;
    margin: 0 25px 25px 0;
}

.item-page-proekty .item-image img {width: 100%;height: 100%;object-fit: cover;}
.item-page-proekty {
    color: #fff;
}
.blog-proekty {
    margin-top: 50px;
}
.blog-proekty>h2 {
    width: 100%;
    margin-bottom: 50px;
    color: #fff;
    font-size: 25px;
}

.blog-proekty {
    margin-bottom: 50px;
}
.proj-gallery {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.proj-gallery a {
    width: 23%;
    margin-right: 15px;
    height: 180px;
}

.proj-gallery a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.item-page-proekty .page-header h2 {
    font-size: 20px;
    margin-bottom: 30px;
    margin-top: 25px;
}
.proj-gallery a {
    margin-bottom: 15px;
}
.blog-proekty .items-row {
    margin-bottom: 20px;
}
img.white {
    width: 100px;
    object-fit: contain;
}




.cont-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30%;
}

.cont-item svg {
    width: 35px;
    height: 35px;
    margin-bottom: 25px;
}

.cont-item p, .cont-item a {
    margin-bottom: 0;
    color: #fff;
}

.contacts-inner {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    margin-top: 50px;
}



.contacts-inner {
    margin-bottom: 60px;
}

.item-page .page-header h2, .blog-proekty>h2 , .item-page-proekty .page-header h2{
    font-size: 32px;
    text-align: left;
    position: relative;
    /*padding-left: 40px;*/
}

.item-page .page-header h2:before, .blog-proekty>h2:before , .item-page-proekty .page-header h2:before {
    position: absolute;
    left: 0;
    top: 20px;
    content: "";
    width: 30px;
    height: 3px;
    background: #02E6FF;
  display:none;
}

.item-page .page-header {justify-content: unset;margin-top: 50px;margin-bottom: 30px;}

.header.fixed {
    position: fixed;
    top: 0;
    padding-top: 0;
    transition: .4s;
    background: #000;
  z-index: 3;
}

.fixed .custom-logo img {
    width: 65px;
    padding-top: 10px;
    transition: .4s;
}
.fixed ul.nav.menu li a {
    font-size: 18px;
}

.header.fixed {
    box-shadow: 0 2px 10px #ffffff96;
}
.blue-fixed a:hover:before {
    width: 70px;
    height: 70px;
}
.blue-fixed a:before {
   transition:.4s;
}

.black-fixed a:hover {
    box-shadow: 0 0 5px #fff;
}

.black-fixed a {
    transition:.4s;
}


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

.proj-videos iframe {
    margin-bottom: 15px;
    width: 47%;
}
/*
.cert-slider .owl-item img {
    height: 310px;
}*/

.inner-cert {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.inner-cert .item {
    width: 23%;
    margin-bottom: 25px;
}
.inner-cert .item .sert-descr {
    margin-top: 10px;
}

.inner-cert p.sert-title {
    margin-bottom: 10px;
}

.inner-aboutus .block-title {
    margin-top: 70px;
    font-size: 40px;
}


.item-page .service-img img {
    height: 350px;
}
.about-img {
    width: 45% !important;
}
.about-img .item {
    width: 100% !important;
    height: 320px;
}
.about-img .item img {
    width: 100% !important;
    height: 100% !important;
}
.about-img img {
    width: 100%;
    height: 100%;
    object-position: top;
    object-fit: cover;
}
.kompany-img {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    flex-wrap:wrap;
}

.kompany-img a {
    width: 23%;
    height: 250px;
}

.kompany-img a img {
    width: 100%;
    height: 100%;
}
.part-item:hover img {
    transform: scale(1.2);
}

.part-item img {
    transition: .5s;
}
a.back-btn {
    display: table;
    margin-left: auto;
    padding: 20px 30px;
    background: #02E6FF;
    color: #fff;
}

.moduletable-back {
    margin: 30px 0;
}




.soc-top a:last-child {
    padding-right: 0;
}

.fixed .moduletable-logo {
    padding-left: 25px;
}
.moduletable-logo{
  transition:.4s;
  
}




.foot2 .foot-menu {
    width: 100%;
}

.foot2 .f-top {
    padding-bottom: 0;
}

.foot2 .fmenu {
    width: 100%;
}

.foot2 .fmenu ul {
    justify-content: space-around;
}

.foot2 .fmenu ul li {
    color: #fff;
}

.foot2 .fmenu ul li a, .foot2 .fmenu ul li p {
    font-size: 17px;
}