/* AllChugun CMS frontend fixes */

/*
  Фон из админки должен жить только внутри первого экрана.
  В прошлой сборке слой был fixed на весь body, из-за этого видео/фото выглядело
  как обрезанный кусок и секция "О нас" начиналась сразу после короткого hero.
*/
body.cms-hero-custom #home,
body.cms-hero-custom #home > .view{
  position:relative;
  min-height:calc(100vh - 89px);
  overflow:hidden;
}
body.cms-hero-custom #home > .view > .content.home-mary.full-size{
  position:relative;
  z-index:2;
  min-height:calc(100vh - 89px);
  display:flex;
  align-items:center;
  padding-top:80px;
  padding-bottom:75px;
}
body.cms-hero-custom #home > .view > .content.home-mary.full-size > .container{
  width:100%;
}
.cms-hero-media{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  background:#000;
  pointer-events:none;
}
.cms-hero-media iframe,
.cms-hero-media video{
  position:absolute;
  top:50%;
  left:50%;
  width:120vw;
  height:67.5vw;
  min-width:177.78vh;
  min-height:100%;
  transform:translate(-50%,-50%);
  border:0;
  pointer-events:none;
  object-fit:cover;
  background:#000;
}
.cms-hero-media video{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
}
.cms-hero-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
body.cms-hero-custom > .youtube-bg,
body.cms-hero-custom > .vimeo-bg,
body.cms-hero-custom > .video-bg,
body.cms-hero-custom > iframe.youtube-bg,
body.cms-hero-custom > iframe.vimeo-bg,
body.cms-hero-custom > video.video-bg,
.cms-hero-custom #home > .view > img.bg,
.cms-hero-custom .youtube-bg,
.cms-hero-custom .vimeo-bg,
.cms-hero-custom .video-bg{
  display:none!important;
}
@media (max-width:767px){
  body.cms-hero-custom #home,
  body.cms-hero-custom #home > .view,
  body.cms-hero-custom #home > .view > .content.home-mary.full-size{
    min-height:calc(100vh - 57px);
  }
  body.cms-hero-custom #home > .view > .content.home-mary.full-size{
    padding-top:55px!important;
    padding-bottom:55px!important;
  }
}
.noal-product-extra{margin-top:14px}.noal-product-extra table{width:100%;border-collapse:collapse;margin:10px 0}.noal-product-extra td{padding:8px 10px;border-bottom:1px solid var(--noal-border);vertical-align:top}.noal-product-extra td:first-child{font-weight:700}.noal-gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.noal-gallery-thumbs button{border:1px solid var(--noal-border);padding:0;background:transparent;border-radius:10px;overflow:hidden;width:58px;height:58px}.noal-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.noal-video-link{display:inline-block;margin-top:10px;font-weight:700}

/* Патч иконок: возвращает ::before и ::after в блоке производства */
#how-we-work .icon-set .circle{
  border-radius:50%!important;
  overflow:visible!important;
  text-align:center!important;
  line-height:145px!important;
}
#how-we-work .icon-set .circle:before{
  font-family:'linecons'!important;
  font-style:normal!important;
  font-weight:normal!important;
  speak:none;
  display:inline-block!important;
  line-height:1!important;
  position:relative!important;
  z-index:2!important;
  background:transparent!important;
  color:inherit!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
#how-we-work .icon-set .circle:after{
  content:''!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  border:1px solid!important;
  box-sizing:border-box!important;
  z-index:1!important;
  pointer-events:none!important;
  background:transparent!important;
}

/* Патч контактов: форма была скрыта анимацией scroll-in-animation */
#contact .scroll-in-animation,
#contact .scroll-animation{
  opacity:1!important;
  visibility:visible!important;
}
#contact .scroll-in-animation.fadeInLeft,
#contact .scroll-in-animation.fadeInRight,
#contact .scroll-animation.fadeInLeft,
#contact .scroll-animation.fadeInRight{
  -webkit-transform:none!important;
  -moz-transform:none!important;
  -ms-transform:none!important;
  -o-transform:none!important;
  transform:none!important;
}
#contact form.ajax-form{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  width:100%!important;
  margin-top:10px;
  position:relative;
  z-index:5;
}
#contact form.ajax-form .control-group{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  margin-bottom:14px;
  background:transparent!important;
}
#contact form.ajax-form input:not(.button),
#contact form.ajax-form textarea{
  display:block!important;
  width:100%!important;
  min-height:44px;
  background:rgba(255,255,255,.94)!important;
  color:#222!important;
  border:1px solid rgba(255,255,255,.75)!important;
  outline:0!important;
  box-shadow:none!important;
}
#contact form.ajax-form textarea{
  min-height:150px;
  resize:vertical;
}
#contact form.ajax-form input:not(.button)::placeholder,
#contact form.ajax-form textarea::placeholder{
  color:#777!important;
  opacity:1!important;
}
#contact form.ajax-form .alt-placeholder{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  margin-bottom:5px;
  color:#fff!important;
  font-weight:700;
}
#contact form.ajax-form input.button{
  display:inline-block!important;
  opacity:1!important;
  visibility:visible!important;
  float:none!important;
  width:auto!important;
  cursor:pointer;
}
@media (max-width:767px){
  #contact .text-right,
  #contact .text-left{
    text-align:left!important;
  }
}

/* Патч выравнивания нижней контактной формы */
#contact .content.full-size{
  padding-top:70px!important;
  padding-bottom:50px!important;
}
#contact h2{
  margin-bottom:18px!important;
}
#contact .header-details{
  max-width:980px;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:30px!important;
  line-height:1.65!important;
}
#contact > .view > .content > .container > .row{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:34px;
  max-width:1120px;
  margin:0 auto 24px!important;
}
#contact > .view > .content > .container > .row:before,
#contact > .view > .content > .container > .row:after{
  display:none!important;
}
#contact > .view > .content > .container > .row > .col-md-6:first-child{
  float:none!important;
  width:36%!important;
  padding:18px 12px 0 0!important;
}
#contact > .view > .content > .container > .row > .col-md-6:last-child{
  float:none!important;
  width:56%!important;
  padding:0!important;
}
#contact .text-right{
  text-align:right!important;
}
#contact .text-left{
  text-align:left!important;
}
#contact .big-font{
  line-height:1.55!important;
  margin-bottom:10px!important;
}
#contact form.ajax-form{
  max-width:620px!important;
  margin:0!important;
}
#contact form.ajax-form .row{
  margin-left:-10px!important;
  margin-right:-10px!important;
}
#contact form.ajax-form .row:before,
#contact form.ajax-form .row:after{
  display:none!important;
}
#contact form.ajax-form .col-md-6,
#contact form.ajax-form .col-md-12{
  padding-left:10px!important;
  padding-right:10px!important;
}
#contact form.ajax-form .control-group{
  margin-bottom:16px!important;
}
#contact form.ajax-form .alt-placeholder{
  margin-bottom:7px!important;
  font-size:14px!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
}
#contact form.ajax-form input:not(.button),
#contact form.ajax-form textarea{
  border-radius:10px!important;
  padding:0 18px!important;
  font-size:14px!important;
  letter-spacing:0!important;
}
#contact form.ajax-form input:not(.button){
  height:48px!important;
  line-height:48px!important;
}
#contact form.ajax-form textarea{
  height:155px!important;
  min-height:155px!important;
  max-height:260px;
  padding-top:15px!important;
  line-height:1.45!important;
}
#contact form.ajax-form .form-actions{
  clear:both!important;
  text-align:left!important;
  margin-top:6px!important;
  padding-left:10px!important;
}
#contact form.ajax-form input.button{
  min-width:132px!important;
  height:44px!important;
  line-height:42px!important;
  padding:0 24px!important;
  margin:0!important;
}
#contact iframe{
  display:block!important;
  width:100%!important;
  max-width:1080px!important;
  height:360px!important;
  margin:24px auto 0!important;
}
#contact .map-open{
  margin-top:14px!important;
}
.ajax-form-alert{
  z-index:999999!important;
}
@media (max-width:991px){
  #contact > .view > .content > .container > .row{
    display:block!important;
    max-width:720px;
  }
  #contact > .view > .content > .container > .row > .col-md-6:first-child,
  #contact > .view > .content > .container > .row > .col-md-6:last-child{
    width:100%!important;
    padding:0!important;
  }
  #contact .text-right,
  #contact .text-left{
    text-align:left!important;
  }
  #contact form.ajax-form{
    max-width:100%!important;
    margin-top:20px!important;
  }
}
@media (max-width:767px){
  #contact .content.full-size{
    padding-top:50px!important;
    padding-bottom:35px!important;
  }
  #contact form.ajax-form .col-md-6,
  #contact form.ajax-form .col-md-12{
    width:100%!important;
    float:none!important;
  }
  #contact form.ajax-form textarea{
    height:140px!important;
    min-height:140px!important;
  }
  #contact iframe{
    height:300px!important;
  }
}
