*{box-sizing: border-box}
html,body {font-size:20px;line-height:26px;font-weight:500;background:#fff;height: 100%;min-width: 320px;color: #231f20;font-family: 'Montserrat', sans-serif;}
p{margin: 15px 0}
h2{font-size: 49px;line-height: 50px;margin: 0;text-transform: uppercase;color: #272361;font-weight: 500}
h3{font-size: 43px;line-height: 43px;margin: 25px 0;font-weight: 600;}
img{max-width: 100%}
a, a:hover, a:focus{text-decoration: none; color: #272361}
.main {min-width:320px;position: relative;max-width: 1920px;margin: 0 auto}
.headerNode{position: relative;z-index: 10}
.headerNode, .header {height: 210px;background: #fff;}
.header{position: fixed;left: 50%;width: 100%;max-width: 1920px;transform: translateX(-50%);display: flex;align-items: center;padding: 0 80px;justify-content: space-between;border-bottom: 1px solid #272361}
.logo{font-size: 0;line-height: 0}
.logo_m{display: none}
.headerPhone{font-weight: 700;font-size: 33px;line-height: 40px;color: #272361;text-decoration: none}
.social{font-size: 0;line-height: 0;}
.social a{display: inline-block;margin: 0 3px}
.menu{display: flex;align-items: center;list-style: none;padding: 0;margin: 0}
.menu li {position: relative;font-size: 0;line-height: 0;margin: 0 5px}
.menu ul{display:none;padding: 15px;margin: 0;list-style: none;position: absolute;left: 0;top: 100%;background: #e6e7e8;border-radius: 0 20px 20px 20px;}
.menu > li > a, .menu > li > span{display: inline-block;border-radius: 20px;overflow: hidden;text-transform: uppercase;color: #272361;padding: 5px 25px;line-height: 35px;font-size: 20px;;cursor: pointer}
.menu > li > span.active{border-radius: 20px}
.menu > li:hover > span{border-radius: 20px 20px 0 0}
.menu > li:hover > a, .menu > li:hover > span, .menu > li.current-menu-item a{background: #e6e7e8}
.menu > li:hover ul{display: block}
.menu ul a{display: block;text-transform: uppercase;color: #272361;padding: 5px 10px;line-height: 20px;font-size: 16px;white-space: nowrap}
.menu ul li{margin: 0}
.menu ul a:hover, .menu ul a.active{text-decoration: underline}
.banner{height: 715px;position: relative;display: flex;align-items: center;background: url("../images/bg-1.jpg") no-repeat center center/cover fixed;padding: 250px 100px;}
.bannerText{font-size: 90px;font-weight: 300;color: #fff;line-height: 80px;text-transform: uppercase;}
.bannerText p{margin: 30px 0 0;}
.bannerLink{text-transform: none;margin-top: 70px}
.btn{display: inline-block;padding: 25px 55px;border-radius: 40px;font-size: 24px;line-height: 30px;font-weight: 700;color: #fff;text-decoration: none;background: #272361;transition: background-color linear .15s}
.btn:hover{color: #fff;background: #120f3a}
.about{position: relative}
.about:before{position: absolute;left: 0;top: 0;bottom: 0;width: 50%;background: url("../images/bg-2.png") no-repeat center center/100% 100%;content: '';z-index: 2}
.about:after{position: absolute;right: 0;top: 0;bottom: 0;width: 60%;background: url("../images/bg-3.jpg") no-repeat center center/cover;content: '';z-index: 1}
.aboutText {padding: 50px 85px;max-width: 45%;font-size: 28px;line-height: 34px;font-weight: 300;position: relative;z-index: 5;color: #fff}
.aboutText .sub{font-weight: 500;margin: 25px 0}
.aboutText .btn{margin-top: 30px}
.content{padding: 60px 85px; }
.block{margin: 0 -25px;display: flex;align-items: stretch}
.blockItem{flex: 0 0 calc(33.333% - 50px);margin: 0 25px;border-radius: 20px;background:#eaeaea;padding: 50px; color: #6d6e71;font-weight: 400;}
.blockTitle{font-weight: 600;font-size: 100px;line-height: 100px;color: #272361;min-height: 100px;}
.blockSubTitle{font-size: 34px;line-height: 40px;min-height: 80px;margin: 35px 0;color: #272361;font-weight: 500}
.call{background: url("../images/bg-4.jpg") no-repeat center center/cover;padding: 100px 0 120px}
.decor{margin: 68px 220px 0;padding: 30px;border-radius: 0 20px 20px 20px;background: #fff;position: relative;}
.decor:before{position: absolute;left: 0;bottom: calc(100% - 2px);background: url("../images/box-white.png") no-repeat bottom left;height: 68px;content: '';width: 761px;}
.decor_brown.decor:before{background-image: url("../images/box-brown.png");height: 102px;width: 815px}
.decorTitle{position: relative;display: flex}
.decorTitle h2{margin-top: -70px;color: #2f97d3;flex: 0 0 650px}
.decor_brown {color: #fff;background: #262261}
.decor_brown h2{margin-top: -100px}
.decorTitleSide{display: flex;align-items: center;font-size: 18px;color: #808285;line-height: 24px;}
.icon-phone{display: inline-block;background: url("../images/icon-phone.png") no-repeat left center;padding: 0 0 0 25px;line-height: 35px;font-size: 24px}
.decorForm form{display: flex;align-items: center;justify-content: space-between;width: 100%}
.decorTitleSide .icon-phone{color: #272361;margin-right: 60px}
.form-control{background: #eaeaea;border: 0;border-radius: 10px;height: 80px;padding: 20px 40px;line-height: 40px;font-weight: 500;color: #58595b;margin: 0 20px 0 0}
select.form-control{background:#eaeaea url('../images/arrow.svg') no-repeat right 15px center/25px;display: block;width: 100%;-webkit-appearance: none;-moz-appearance: none;appearance: none;}
.form-control, .btn-submit{flex: 1;display: inline-block;}
.contentThin{max-width: 1450px;margin: 0 auto}
.contentThin h2{text-align: center}
.service{display: flex;align-items: flex-start;flex-wrap: wrap;justify-content: space-between;padding: 0 0 50px}
.serviceItem{flex: 0 0 30%;max-width: 450px;margin: 50px 0 0;color: #231f20}
.serviceItem span{display: block}
.servicePic{padding: 100% 0 0;background: #e6e7e8 no-repeat center center/contain;border-radius: 20px;overflow: hidden}
.serviceName{padding: 20px 40px;font-size: 24px;font-weight: 500}
.serviceDesc{padding: 0 40px;font-size: 18px;}
.quality{padding:180px 0 80px;background: url("../images/bg-5.jpg") no-repeat center center/cover fixed;}
.decorBody{padding: 0 20px;}
.columns{columns: 2;font-weight: 300;column-gap: 70px;}
.columns p{margin: 0;padding: 15px 0;overflow: hidden}
.review{position: relative;margin: 50px 180px;}
.reviewItem{padding: 0 35px 60px;text-align: center;background: url("../images/icon-stars.png") no-repeat center bottom;font-size: 18px;color: #808285;font-weight: 400}
.slick-prev, .slick-next{background: url("../images/icon-next.png") no-repeat center; width: 86px;height: 83px;}
.slick-prev:before, .slick-next:before{display: none}
.slick-next{right: -120px;}
.slick-prev{left: -120px;background-image: url("../images/icon-back.png")}
.contact{padding: 120px;background:url("../images/bg-6.jpg") no-repeat center/cover}
.contactForm{background: #fff;padding: 60px 80px;max-width: 1280px;border-radius: 20px;overflow: hidden;margin: 0 auto;text-align: center}
.contactForm form{margin-top: 35px}
.formRow{display: flex;align-items: center;justify-content: space-between;}
.contactForm .form-control{flex: 0 0 calc(50% - 15px);margin: 0 0 30px}
.contactForm .icon-phone{margin: 35px 0 0;color: #272361}
.footer{background: #2f97d3;color: #fff;padding: 20px 120px}
.footerInfo{display: flex;align-items: flex-start;justify-content: space-between;}
.footerInfo span, .footerInfo a{display: inline-block;color: #fff;font-size: 25px;line-height: 25px;padding-top: 5px;padding-bottom: 5px}
.footerInfo .icon-phone{background-image: url("../images/icon-phone_w.png");padding-left: 35px}
.icon-mail{display: inline-block;background: url("../images/icon-mail_w.png") no-repeat left center;padding-left:35px;line-height: 25px;font-size: 24px;}
.icon-pin{display: inline-block;background: url("../images/icon-pin_w.png") no-repeat left center;padding-left: 35px;line-height: 25px;font-size: 24px;}
.footerLinks{display: flex;align-items: center;justify-content: space-between;margin-top: 15px}
.sitemap{display: flex}
.sitemap a{color: #fff;display: inline-block;margin-right: 30px;font-weight: 400}
.sitemap a:hover{text-decoration: underline}
.everStudio{display: flex;align-items: flex-end;font-weight: 400}
.everStudio span{margin-right: 30px}
.map{position: relative;font-size: 0;line-height: 0}
.map iframe{width: 100%;height: 80vh;max-height: 700px}
.innerHeadline{font-size: 0;line-height: 0}
.innerHeadline img{width: 100%}
.contentSides{display: flex;flex-direction: row-reverse;align-items: center}
.contentSides h2{flex: 0;background: #272361;color: #fff;white-space: nowrap;text-align: left;padding: 20px 40px;border-radius: 20px;max-width: 500px;margin-left: 100px}
.contactList{font-size: 24px;}
.contactList .icon-phone{font-size: 38px;background-image: url("../images/icon-phone_b.png");padding-left: 35px}
.contactList .icon-pin{background-image: url("../images/icon-pin_b.png");padding-left: 35px}
.contactList .icon-mail{background-image: url("../images/icon-mail_b.png");padding-left: 35px}
.gallery img{display: block;margin: 0 auto}
.gallery .slick-prev{left: 120px;z-index: 5;background-image: url("../images/icon-back_w.png")}
.gallery .slick-next{right: 120px;z-index: 5;background-image: url("../images/icon-next_w.png")}
.material{position: relative;padding: 45px 0 0}
.materialColors{position: relative;display: flex;justify-content: space-between}
.materialColorsItem{flex: 0 0 22%;padding: 22% 0 0;border-radius: 50%;position: relative;margin-bottom: 60px;background: transparent center/cover}
.materialColorsItem span{position: absolute;left: 0;right: 0;top: 100%;padding: 20px 0 0;text-align: center;font-size: 24px;text-transform: uppercase;line-height: 30px}
.material ul{list-style: none;margin: 0;padding: 0}
.material li{list-style: none;margin: 8px 0;padding: 0 0 0 20px;position: relative}
.material li:before{position: absolute;left: 0;height: 2px;top: 11px;width: 10px;background: #000;content: '';}
.material p{margin: 8px 0;}
.materialInfo{color: #010101;display: flex;align-items: flex-start;justify-content: space-between;padding: 35px 0 50px}
.materialInfoRow{flex: 1 0;}
.materialInfoRow:nth-child(2){padding: 0 60px;flex:0 0 45%}
.materialSize{margin: 35px 0 0;text-align: center}
.materialComponent{position: relative;display: flex;justify-content: space-between}
.materialComponentItem{flex: 0 0 13%;padding: 13% 0 0;border-radius: 50%;position: relative;background: transparent center/cover}
.menu-toggle, .menu-social{display: none}
.alert{border-width: 0;text-align: center;margin: 20px 0 0;background: transparent!important;}
.alert-danger{color: red}
.alert-info{color: green}
@media screen and (max-width: 1800px){
    .header{padding: 0 40px}
    .logo{max-width: 300px}
    .headerPhone{font-size: 30px;}
    .social img{max-width: 30px}
    .menu > li > a, .menu > li > span{padding: 5px 15px}
    .menu ul{padding: 15px 5px}
    .menu ul li{margin: 0}
    .aboutText{font-size: 22px}
    .banner{padding-left: 85px}
    .content{padding: 40px}
    .blockItem{padding: 30px}
    .blockTitle{font-size: 60px;line-height: 60px;min-height: 60px}
    .blockSubTitle{font-size: 30px;line-height: 35px;}
    .decor{margin-left: 40px;margin-right: 40px}
    .contact{padding: 80px 40px}
    .footer{padding: 40px}
    .footerInfo span, .footerInfo a{font-size: 20px;}
    .gallery .slick-prev{left: 60px;}
    .gallery .slick-next{right: 60px;}
}
@media screen and (max-width: 1439px) {
    html, body{font-size: 18px;line-height: 22px}
    .social{position: absolute;right: 40px;top: 40px}
    .headerPhone{position: absolute;right: 40px;bottom: 20px}
    .menu{margin: 0 auto 0 40px;z-index: 5}
    .bannerText{font-size: 60px;line-height: 60px}
    .about:before{width: 65%}
    .aboutText{max-width: 65%;padding: 40px 85px 40px 40px;font-size: 20px;line-height: 24px}
    .block{margin: 0 -15px}
    .blockItem{flex-basis: calc(33.333% - 30px);margin: 0 15px}
    .decorTitleSide{flex-direction: column;}
    .decorTitleSide .icon-phone{margin: 0 0 6px;}
    .decorForm form{flex-wrap: wrap;}
    .decorForm .form-control{flex: 0 0 calc(33.333% - 15px);margin: 0}
    .decorForm .btn-submit{margin: 15px auto 0;max-width: 50%}
    .serviceItem{flex-basis: calc(33.333% - 15px);padding-bottom: 0}
    .serviceName{padding: 20px 10px}
    .serviceDesc{padding: 0 10px}
    .quality{padding: 120px 0 80px }
    .review{margin: 50px 100px}
    .footer, .footerInfo span, .footerInfo a{font-size: 16px;}
    .contentSides{display: block}
    .contentSides h2{margin: 0 0 25px;background: transparent;max-width: 100%;padding: 0;color: #272361}
    .materialInfo{flex-wrap: wrap}
    .materialInfoRow{flex: auto;margin-bottom: 25px}
    .materialInfoRow:nth-child(1){padding: 0 60px 0 0;flex: 0 0 40%}
    .materialInfoRow:nth-child(2){padding: 0;flex: 0 0 60%}
}
@media screen and (max-width: 1199px) {
    .block{margin: 0;display: block}
    .blockItem{margin: 0 0 25px}
    .blockItem:last-child{margin: 0}
    .blockTitle{min-height: 0;}
    .blockSubTitle{margin: 10px 0 25px;min-height: 0}
    .decor:before{max-width: 90%;background-size: contain}
    .decor:before, .decor_brown.decor:before{height: 80px}
    .decorTitle{display: block}
    .decorTitle h2{max-width: 80%;margin-top: -65px}
    .decorTitleSide{display: block;text-align: center}
    .decorTitleSide .icon-phone{margin: 25px 0 5px}
    h2{font-size: 40px;line-height: 45px}
    .footerInfo{flex-wrap: wrap}
    .footerInfo span{flex: 0 0 50%;white-space: nowrap}
}
@media screen and (max-width: 991px) {
    .menu-toggle{position: relative;width: 60px;height: 60px;display: flex;align-items: center;justify-content: center;flex-direction: column;order: 3;cursor: pointer}
    .menu-toggle span, .menu-toggle:before, .menu-toggle:after{display: inline-block;width: 35px;height: 3px;content: ''; margin: 4px 0;background: #272361;transition: all 0.2s}
    .menu{position: fixed;display: none}
    .logo img:not(.logo_m){display: none}
    .logo_m{display: inline-block}
    .headerNode, .header{height: 100px}
    .header{padding: 0 60px;}
    .logo{width: 70px;order: 1}
    .social{display: none}
    .headerPhone{position: static;margin: 0 auto;order: 2}
    .menu.open{display: block;left: 0;right: 0;top: 100px;max-height: calc(100vh - 100px);background: #fff;margin: 0;padding: 15px}
    .menu li{margin: 0}
    .menu > li:hover > a, .menu > li:hover > span, .menu > li > .active{background: #fff;color: #272361}
    .menu ul{display: block;position: static;background: transparent;padding: 0 25px}
    .menu-social{display: block;text-align: center}
    .menu-social img{max-width: 30px}
    .menu > li.menu-social a{padding: 0;margin: 0 5px;border-radius: 0}
    .menu-fade:before {position: fixed;width: 100vw;height: 100vh;background: rgba(0, 0, 0, .5);content: '';z-index: 80;}
    .headerNode{z-index: 100}
    .menu-fade .menu-toggle:before{transform:rotate(45deg);top: 11px;position: relative}
    .menu-fade .menu-toggle:after{transform:rotate(-45deg);top: -11px;position: relative}
    .menu-fade .menu-toggle span{width: 0}
    .materialInfo{display: block}
    .materialInfoRow:nth-child(1){padding: 0}
    .materialColors{flex-wrap: wrap;justify-content: space-around}
    .materialColorsItem{flex: 0 0 35%;padding: 35% 0 0;margin-bottom: 95px}
    .materialComponent{flex-wrap: wrap;justify-content: space-around}
    .materialComponentItem{flex: 0 0 26%;padding: 26% 0 0;margin-bottom: 20px}
}
@media screen and (max-width: 767px) {
    .banner{padding: 150px 40px;height: auto}
    .bannerText{font-size: 40px;line-height: 45px;}
    .btn{font-size: 20px;padding: 25px 35px}
    .about:before{display: none}
    .about:after{width: 100%}
    .aboutText{max-width: 100%;background: rgba(84, 72, 65, .65)}
    .call{padding: 60px 0}
    .decor{margin: 0 40px;border-radius: 20px}
    .decor:before, .decor_brown.decor:before{display: none}
    .decorTitle h2{max-width: 100%;margin: 0}
    .decorForm form{display: block;text-align: center}
    .decorForm .form-control{margin: 0 0 15px}
    .decorForm .btn-submit{margin: 0;max-width: 100%}
    .serviceItem{flex-basis: calc(50% - 20px)}
    .quality{padding: 60px 0}
    .decorBody{padding: 0}
    .columns{columns: unset}
    .review{margin: 40px 20px}
    .review .slick-prev, .review .slick-next{width: 40px;background-size: contain}
    .review .slick-prev{left: -50px}
    .review .slick-next{right: -50px}
    .contactForm{padding: 40px 20px}
    .footer{padding: 10px 20px;}
    .footerInfo{flex-direction: column;align-items: center}
    .footerInfo span{margin: 5px 0}
    .sitemap{flex-direction: column;align-items: center;margin-bottom: 15px}
    .sitemap a{display: inline-block;margin: 5px 0}
    .footerLinks{flex-direction: column;align-items: center}
    .footerLinks:before{display: inline-block;width: 50%;height: 1px;background: #fff;margin: 0 0 15px;content: ''}
    .everStudio{align-items: center;padding: 20px 0 30px;border-top: solid 1px #fff}
    .gallery .slick-prev{left: 20px;width: 40px;background-size: contain}
    .gallery .slick-next{right: 20px;width: 40px;background-size: contain}
    .contactList .icon-phone{font-size: 30px;}
}
@media screen and (max-width: 479px) {
    .header{padding: 0 20px}
    .banner{padding: 80px 20px;background-attachment: unset }
    .bannerLink{margin-top: 30px}
    .aboutText{padding: 20px 20px 40px}
    .content{padding: 20px}
    .call{padding: 20px}
    .quality{padding: 20px}
    .decor{margin: 0}
    .serviceItem{flex-basis: 100%}
    .review{margin: 20px 40px}
    .contact{padding: 20px}
    .blockTitle{font-size: 40px;line-height: 45px}
    h2{font-size: 30px;line-height: 35px}
    h3{font-size: 30px;line-height: 35px}
    .formRow{display: block}
    .footerInfo span.icon-pin{max-width: 80%;white-space: normal}
    .headerPhone{font-size: 20px;}
    .materialColorsItem{flex: 0 0 60%;padding: 60% 0 0;}
    .materialComponentItem{flex: 0 0 40%;padding: 40% 0 0;margin-bottom: 20px}

}


.loading {
  position: relative;
}

.loading::before {
  content: "";
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(40%, #eeeeee), color-stop(50%, #dddddd), color-stop(60%, #eeeeee));
  background: linear-gradient(to bottom right, #eeeeee 40%, #dddddd 50%, #eeeeee 60%);
  background-size: 200% 200%;
  background-repeat: no-repeat;
  -webkit-animation: placeholderShimmer 2s infinite linear;
  animation: placeholderShimmer 2s infinite linear;
  height: 100%;
  width: 100%;
  opacity: 0.6;
}

@-webkit-keyframes placeholderShimmer {
  0% {
    background-position: 100% 100%;
  }
  100% {
    background-position: 0 0;
  }
}
@keyframes placeholderShimmer {
  0% {
    background-position: 100% 100%;
  }
  100% {
    background-position: 0 0;
  }
}

.formRow > div {
    width: 100%;
}

.formRow {
    gap: 30px;
}

#full_form .just-validate-error-label {
    text-align: left;
    margin-bottom: 5px;
    margin-top: -20px;
}

#small_form {
    align-items: flex-start;
}

#small_form div {
    margin: 0 10px;
}

#small_form .just-validate-error-label {
    text-align: left;
    margin-bottom: 5px;
}