@charset "UTF-8";

@font-face { 
  font-family: 'Rubik'; 
  src: url('../../fonts/Rubik/Rubik.ttf') format('truetype'), 
       url('../../fonts/Rubik/Rubik.woff2') format('woff2'), 
       url('../../fonts/Rubik/Rubik.woff') format('woff'); 
  font-weight: normal;   
  font-weight: 400;   
  font-style: normal;   
}

@font-face { 
  font-family: 'Rubik'; 
  src: url('../../fonts/Rubik/Rubikmedium.ttf') format('truetype'), 
       url('../../fonts/Rubik/Rubikmedium.woff2') format('woff2'), 
       url('../../fonts/Rubik/Rubikmedium.woff') format('woff');  
  font-weight: 500;   
  font-style: normal;   
}

@font-face { 
  font-family: 'Rubik'; 
  src: url('../../fonts/Rubik/Rubik600.ttf') format('truetype'), 
       url('../../fonts/Rubik/Rubik600.woff2') format('woff2');  
  font-weight: 600; 
  font-style: normal;     
}

@font-face { 
  font-family: 'Rubik'; 
  src: url('../../fonts/Rubik/Rubikbold.ttf') format('truetype'), 
       url('../../fonts/Rubik/Rubikbold.woff2') format('woff2'), 
       url('../../fonts/Rubik/Rubikbold.woff') format('woff');  
  font-weight: bold; 
  font-weight: 700; 
  font-style: normal;     
}

.online-calculator {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400; 
    line-height: 1;
    min-height: 1174px;
    background: #fff;
    padding-top: 93px;
}
.calculator__title {
    color: #000;
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 37px;
}
.calculator__steps {
    display: flex;
    flex-wrap: wrap;
}
.online-calculator .row {
    margin-right: 0;
    margin-left: 0;
}
.step-1, .step-4 {
    padding-left: 0;
    padding-right: 10px;
}
.step-2 {
    padding-left: 10px;
    padding-right: 0;
}
.step-3 {
    padding-left: 0px;
    padding-right: 0;
    margin: 20px 0 20px 0;
}
.pageform .form-group{
    margin-left: 0;
    margin-right: 0;
}
.calculator__step {
    padding: 30px 38px 14px 40px;
    border-radius: 10px;
    background-color: #F0F8F9;
    height: 100%;
}
.step-1 .calculator__step,
.step-2 .calculator__step {
    min-height: 273px;
}
.step-4 .calculator__step {
    padding: 30px 25px 14px 32px;
}
.calculator__steps .step-6 z {
    font-weight: 400;
}
.calculator__step-header {
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 24px;
}
.step-number {
    font-size: 24px;
    font-weight: bold;
    font-weight: 700;
    margin-right: 23px;
}
.costs__items {
    display: flex;
    justify-content: space-between;
}
.costs__item-img {
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}
.costs__item-img > input {
    display: none;
}
.costs__item-img > img {
    cursor: pointer;
    margin-bottom: 18px;
    width: 117px;
    height: 117px;
    background-color: #d2d2d2;
}
.costs__item-img > input:checked + img {
    outline: 4px solid #14C4CC;
}
.costs__item-img > span {
    display: flex;
    margin-left: 7px;
    padding-right: 7px;
    line-height: 140%; 
}
.calculator__step-range {
    margin-top: 71px;
    margin-bottom: 22px;
}
.range_box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
#range-percent {
    position: absolute;
    bottom: 29px;
    left: 0;
    color: #FFF;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    width: 70px;
    height: 34px;
    border-radius: 10px;
    background: #14C4CC;
    padding: 5px 0;
    margin-left: -22px;
}
#range-percent::after {
    position: absolute;
    right: 4px;
    bottom: -2px;
    content: url(/catalog/view/theme/default/image/ciformbuilder/range.svg);
    padding-right: 24px;
    height: 12px;
    display: inline-block;
}
.range {
    width: 400px;
    height: 8px;
    appearance: none;
    outline: none;
    border-radius: 15px;
    overflow: unset;
}
#range {
    position: relative;
    width: 100%;
    margin: 0 10px;
}
#range .ui-widget-header {
    background: #14C4CC;
}
.step-4 .calculator__step-list {
    display: flex;
}
.step-4 .calculator__step-list ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0;
}
.step-4 .calculator__step ul li {
    display: flex;
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 11px;
    width: 50%;
}
.step-4 .calculator__step ul li .checkbox_name-count {
    display: flex;
}
.step-4 [id^="dop_service"] {
    display: none;
}
.step-4 [id^="dop_service"] + label {
    display: inline-block;
    width: 23px;
    height: 23px;
    background: #fff;
    border-radius: 5px;
    text-align: center;
    overflow: hidden;
    position: relative;
    margin-right: 23px;
}
.step-4 [id^="dop_service"]:checked + label span {
    position: relative;
    display: inline-block;
    margin-left: -9px;
}
.step-4 [id^="dop_service"]:checked + label span::before {
    content: '';
    position: absolute;
    left: -4px;
    width: 9px;
    height: 3px;
    bottom: 2px;
    background: #14C4CC;
    transform: rotate(45deg);
}
.step-4 [id^="dop_service"]:checked + label span::after {
    content: '';
    position: absolute;
    left: 0px;
    width: 13px;
    height: 3px;
    bottom: 3px;
    background: #14C4CC;
    transform: rotate(-45deg);
}
.step-4 .window-block {
    display: flex;
    align-items: center;
    margin-left: 17px;
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}
.step-4 .window-block .input-buffer{
    position: absolute;
    top: -1000px;
    left: -1000px;
    visibility: hidden;
    white-space: nowrap;
    font-family: inherit;
    letter-spacing: inherit;
    font-size: 20px;
}
.step-4 .window-minus, .window-plus {
    cursor: pointer;
    font-size: 20px;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    border-radius: 4px;
    border: none;
    outline: none;
    background-color: #fff;
}
.step-4 .window-num {
    font-size: 20px;
    width: 20px;
    min-width: 20px;
    border: none;
    outline: none;
    background: none;
    text-align: center;
}
.step-5 {
    padding-left: 10px;
    padding-right: 5px;
}
.step-5 .calculator__step {
    padding: 30px 30px 28px 25px;
}
.step-5 .calculator__step-header {
    padding-left: 7px;
    margin-bottom: 20px;
}
.step-5 .step-text {
    display: block;
    margin-top: 11px;
}
.step-5 input, .step-5 textarea {
    border-radius: 10px;
    background: #FFF;
    border: none;
    width: 100%;
    padding: 13px;
    resize: none;
}
.step-5 input[type="tel"], 
.step-5 input[type="email"] {
    height: 40px;
    margin-bottom: 21px;
}
.step-5 textarea {
    height: 132px;
}
.step-5 input::placeholder, 
.step-5 textarea::placeholder {
    color: #93A1A1;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.step-6 {
    padding-left: 15px;
    padding-right: 0;
}
.step_last {
    background-color: #14C4CC;
    padding: 24px 30px 28px 35px;
}
.step_last-header {
    color: #fff;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    width: 60%;
    padding-left: 5px;
}
.step_last-cost {
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 32px 0 54px;
    padding-left: 5px;
}
.step_last button {
    height: 50px;
    border-radius: 7px;
    padding: 8px 45px;
    background: #FFF;
    color: #14C4CC;
    border: none;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    margin-bottom: 22px;
    line-height: 105.5%;
}
.step_last-text {
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.form-horizontal .control-label { 
    text-align: left; 
    display: block; 
    margin-bottom: 5px;
    font-size: 14px;
}
.cicaptcha { clear: both; }
.ci-buttons { clear: both; }
.ci-header, .ci-paragraph, .ci-hrline {
  clear: both;
}
.ci-paragraph{
  font-size: 14px;
}
.ci-header{
  background: #ddd;
  font-size: 15px;
  padding: 10px;
  border-radius: 5px;
}
.pageform .btn-default {
  background : #fff;
  color: #333;
  border-color: #ccc;
}

.pageform .btn-group .active{
  background : #1872A2;
  color: #fff;
  border-color: #1872A2;
}

.pageform .btn-group .btn:hover{
  background : #1872A2;
  color: #fff;
  border-color: #1872A2;
}
.preview { width: 45px; height: 35px; border: 1px solid #ccc; }
.upload-wise .text-message { margin-top: 4px; }
.sbold i { font-size: 34px; }

.ci-switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 30px;
  vertical-align: middle;
}

/* Hide default HTML checkbox */
.ci-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.ci-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.ci-slider:before {
  position: absolute;
  content: "";
  height: 23px;
  width: 23px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .ci-slider {
  background-color: #2196F3;
}

input:focus + .ci-slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .ci-slider:before {
  -webkit-transform: translateX(23px);
  -ms-transform: translateX(23px);
  transform: translateX(23px);
}

.ci-slider.round {
  border-radius: 34px;
}

.ci-slider.round:before {
  border-radius: 50%;
}
#column-left .pageform [class^="col-"],
#column-left .pageform [class*=" col-"] {
   width: 100%;
}
#column-right .pageform [class^="col-"],
#column-right .pageform [class*=" col-"] {
   width: 100%;
}

#FormModal .control-label { text-align: left; margin-bottom: 3px; }
#FormModal .text-help{ margin-bottom: 3px; font-size: 11px; }

div.required .control-label::before {
  content: '* ';
  color: #F00;
  font-weight: bold;
}

.text-danger {
  color: #a94442;
}


@media (max-width: 1270px) {
    .calculator__step {
      padding: 23px 20px 30px 20px;
    }
}
@media (max-width: 768px) {
    .online-calculator {
      padding-top: 0;
      margin-bottom: 53px;
    }
    .title {
      color: #000;
      font-size: 28px;
    }
    .calculator__title {
      margin: 44px 0 29px;
    }
    .calculator__steps > div {
      width: 100%;
      margin: 0px 0 2px 0px;
      padding-left: 0px;
      padding-right: 0px;
    }
    .calculator__steps .step-6 {
      width: auto;
      background-color: #f0f8f9;
      padding: 30px 20px 50px 20px;
    }
    .calculator__steps .step-6 > div {
        border-radius: 10px;
    }
    .calculator__step {
      border-radius: 0;
      padding: 30px 22px 28px 22px;
    }
    .step-1 .calculator__step {
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
    }
    
    .step-6 {
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;
    }
    .step-4 .calculator__step,
    .step-5 .calculator__step {
      padding: 30px 22px 28px 22px;
    }
    .calculator__step .costs__items {
      justify-content: initial;
      gap: 45px 6px;
    }
    #range-percent {
      bottom: 18px;
      height: 30px;
    }
}
@media (max-width: 576px) {
    .calculator__step-header {
      font-size: 14px;
      margin-bottom: 17px;
    }
    .step-number {
      font-size: 20px;
    }
    .calculator__step .costs__items {
      gap: 10px 6px;
    }
    .costs__item-img {
      width: 89px;
    }
    .costs__item-img img {
      width: 89px;
      height: 89px;
      margin-bottom: 6px;
    }
    .costs__item-img > span {
      margin-left: 0px;
      padding-left: 3px;
      padding-right: 0;
      font-size: 14px;
    }
    #range-percent {
      width: 54px;
      font-size: 16px;
      margin-left: -15px;
    }
    #range-percent::after {
      padding-right: 0px;
      right: 21px;
      bottom: -1px;
    }
    .step-4 .calculator__step ul {
      flex-direction: column;
    }
    .step-4 .calculator__step ul li {
      font-size: 14px;
      width: 100%;
    }
}