* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.main {
    padding: 50px 20px;
}

.calc_main_block {
	display: block;
	position: relative;
	font-family: "Public Sans", Arial, Helvetica, sans-serif;
}

.calc_container__wrap {
	display: block;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.calc-container {
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 30px;
}

.calc-fields-container {
    -webkit-column-gap: 35px;
    column-gap: 35px;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    row-gap: 20px;
}

/* .calc-container .calc-list.loaded {
    opacity: 1;
    visibility: visible;
} */

/* .calc-container .calc-list {
    display: flex;
    flex-direction: column;
    height: -webkit-max-content;
    height: max-content;
    justify-content: space-between;
    opacity: 0;
    row-gap: 10px;
    visibility: hidden;
} */

.calc_options_block {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0px 15px;
}

.calc-drop-down-with-image-list.calc-list-open {
    display: block!important;
}

.calc-item {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.calc-container .calc-list .calc-item {
    position: relative;
}

.calc-container .calc-fields-container>div {
    width: 100%;
}

.calc-item__title {
    font-size: 12px ;
    font-weight: bold ;
    color: #001931 ;
    margin-bottom: 4px;
}

.calc-item__description.before {
    margin-bottom: 4px;
}

.calc-item__description {
    display: none;
    line-height: 1;
}

.calc-range-slider {
    --progress-shadow: none;
    --progress-flll-shadow: none;
    --primary-color:#008b78;
    --thumb-size: 14px;
    --value-active-color: #fff;
    --value-background: transparent;
    --value-offset-y: 6px;
    --track-height: 3px;
    --progress-radius: 20px;
    --progress-color: #eee;
    --ticks-thickness: 0px;
    --ticks-height: 0px;
    --min-max-x-offset: 0%;
    --min-max-opacity: 0.5;
    --ticks-color: #aaa;
    --value-background-hover: var(--primary-color);
    --value-font: 700 12px/1 Arial;
    --fill-color: var(--primary-color);
    --progress-background: #eee;
    --min-max-font: 12px Arial;
    --thumb-color: #fff;
    --thumb-shadow: 0 0 0 7px var(--primary-color) inset,0 0 0 99px #fff inset;
    --thumb-shadow-hover: 0 0 0 9px var(--primary-color) inset,0 0 0 99px #fff inset;
    --thumb-shadow-active: 0 0 0 13px var(--primary-color) inset;
    --ticks-gap: var(--ticks-height,0);
    --step: 1;
    --ticks-count: Calc(var(--max) - var(--min)) /var(--step);
    --maxTicksAllowed: 30;
    --too-many-ticks: Min(1,Max(var(--ticks-count) - var(--maxTicksAllowed),0));
    --x-step: Max(var(--step),var(--too-many-ticks) * (var(--max) - var(--min)));
    --tickInterval: 100/((var(--max) - var(--min))/var(--step)) * var(--tickEvery,1);
    --tickIntervalPerc: calc((100% - var(--thumb-size))/((var(--max) - var(--min))/var(--x-step))*var(--tickEvery, 1));
    --value-a: clamp(var(--min),var(--value,0),var(--max));
    --value-b: var(--value,0);
    --text-value-a: var(--text-value,"");
    --completed-a: calc((var(--value-a) - var(--min))/(var(--max) - var(--min))*100);
    --completed-b: calc((var(--value-b) - var(--min))/(var(--max) - var(--min))*100);
    --ca: Min(var(--completed-a),var(--completed-b));
    --cb: Max(var(--completed-a),var(--completed-b));
    --thumbs-too-close: clamp(-1,1000 * (Min(1,Max(var(--cb) - var(--ca) - 5,-1)) + 0.001),1);
    --thumb-close-to-min: Min(1,Max(var(--ca) - 2,0));
    --thumb-close-to-max: Min(1,Max(98 - var(--cb),0));
    background: linear-gradient(to right,var(--ticks-color) var(--ticks-thickness),transparent 1px) repeat-x;
    background-position-x: calc(var(--thumb-size)/2 - var(--ticks-thickness)/2);
    background-position-y: var(--flip-y,bottom);
    background-size: var(--tickIntervalPerc) var(--ticks-height);
    border: none!important;
    display: inline-block;
    height: max(var(--track-height),var(--thumb-size));
    min-width: 100%!important;
    padding-bottom: var(--flip-y,var(--ticks-gap));
    padding-top: calc(var(--flip-y)*var(--ticks-gap));
    position: relative;
    width: 100%!important;
    z-index: 1;
}

.calc-range-slider:after, .calc-range-slider:before {
    opacity: 0;  
}

.calc-range-slider>input {
    --thumb-shadow: var(--thumb-shadow-active);
    -webkit-appearance: none;
    background: none !important;
    border: none!important;
    box-shadow: none!important;
    cursor: grabbing;
    cursor: grab;
    height: var(--thumb-size);
    left: 0;
    margin: 0!important;
    outline: none!important;
    padding: 0!important;
    position: absolute;
    top: calc(50% - max(var(--track-height), var(--thumb-size))/2 + var(--ticks-gap)/2*var(--flip-y, -1));
    width: 100%;
    z-index: 2;
    accent-color: var(--primary-color);
}

.calc-range-slider>input:first-of-type {
    --is-left-most: clamp(0,(var(--value-a) - var(--value-b)) * 99999,1);
}

.calc-range-slider>input+output {
    --flip: -1;
    --x-offset: calc(var(--completed-b)*-1%);
    --pos: calc((var(--value) - var(--min))/(var(--max) - var(--min))*100%);
    background: var(--value-background);
    border-radius: 10px;
    left: var(--pos);
    min-height: 0.000001vw;
    opacity: 0;
    padding: 0 10px;
    pointer-events: none;
    position: absolute;
    -webkit-transform: translate(var(--x-offset),calc(150%*var(--flip) - (var(--y-offset, 0px) + var(--value-offset-y))*var(--flip)));
    transform: translate(var(--x-offset),calc(150%*var(--flip) - (var(--y-offset, 0px) + var(--value-offset-y))*var(--flip)));
    transition: all .12s ease-out,left 0s;
    white-space: nowrap;
    z-index: 5;
}

.calc-range-slider>input:active+output, .calc-range-slider>input:focus+output, .calc-range-slider>input:hover+output {
    --value-background: var(--value-background-hover);
    --y-offset: -5px;
    box-shadow: 0 0 0 3px var(--value-background);
    color: var(--value-active-color);
    opacity: 1;
}

.calc-range-slider>input:active+output {
    transition: 0s;
}

.calc-range-slider > input:nth-of-type(2) + output, .calc-range-slider > input:nth-of-type(1) + output {
    color: #FFFFFF !important;
}

.calc-range-slider>input+output:after {
    content: var(--prefix,"") var(--text-value-b) var(--suffix,"");
    font: var(--value-font);
}

.calc-range-slider>input:first-of-type+output.cost-calc-range-output-free:after {
    content: var(--prefix,"") var(--text-value-a) var(--suffix,"");
}

.calc-range-slider__progress {
    --start-end: calc(var(--thumb-size)/2);
    --clip-end: calc(100% - (var(--cb))*1%);
    --clip-start: calc(var(--ca)*1%);
    --clip: inset(-20px var(--clip-end) -20px var(--clip-start));
    background: var(--progress-background,#eee);
    border-radius: var(--progress-radius);
    height: calc(var(--track-height));
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: calc(var(--ticks-gap)*var(--flip-y, 0) + var(--thumb-size)/2 - var(--track-height)/2);
    z-index: -1;
}

.calc-range-slider__progress {
    background: #00193140 !important;
}

.calc-range-slider>input:only-of-type~.calc-range-slider__progress {
    --clip-start: 0;
}

.calc-range-slider__progress:before {
    background: var(--fill-color,#000);
    box-shadow: var(--progress-flll-shadow);
    -webkit-clip-path: var(--clip);
    clip-path: var(--clip);
    z-index: 1;
}

.calc-range-slider__progress:after, .calc-range-slider__progress:before {
    border-radius: inherit;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.calc-range-slider-min-max {
    display: flex;
    justify-content: space-between;
    margin: 4px 0 0;
    padding: 0;
    width: 100%;
}

.calc-item__description.after {
    display: block !important;
}

.calc-item__description span {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #00193180 !important;
}

.range_range_field_id_0 {
    margin-top: 6px !important;
    margin-bottom: 7px !important;
}


/* DropDown */

[class^="ccb-icon-"], [class*=" ccb-icon-"] {
    font-family: 'ccb-fonts' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.calc-drop-down-with-image {
    margin-bottom: 3px;
}

.calc-drop-down-with-image-current {
    align-items: center;
    cursor: pointer;
    display: flex;
    padding-left: 5px;
    position: relative;
    width: 100%;
}

.calc-item .calc-date-picker-select, .calc-item .calc-drop-down-with-image-current, .calc-item .calc-input-wrapper input, .calc-item input[type=email], .calc-item input[type=number], .calc-item input[type=password], .calc-item input[type=text], .calc-item select, .calc-item textarea {
    background-color: #fff;
    border: 2px solid #eee;
    border-radius: 4px;
    box-shadow: none!important;
    box-sizing: border-box;
    color: #001931;
    font-size: 16px;
    font-weight: 500;
    line-height: 1!important;
    margin: 0;
    min-height: 46px;
    outline: none!important;
    padding: 12px 20px;
    width: 100%;
}

 .calc-buttons .calc-btn-action,  .ccb-appearance-field:not(textarea) {
    min-height: 45px !important;
    height: 45px !important;
}

.calc-drop-down-with-image-current img {
    border: 1px solid transparent;
    border-radius: 4px;
    height: 30px;
    margin-right: 8px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 30px!important;
}

.calc-drop-down-with-image .ccb-select-arrow {
    font-size: 8px;
    opacity: .5;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
    transition: all .2s ease-in-out;
    z-index: 2;
}

 .ccb-datetime div .calc-date-picker-select i,  .calc-drop-down-with-image .ccb-select-arrow,  .calc-item .calc-drop-down-box .ccb-select-arrow {
    color: #001931B3 !important;
}

.calc-drop-down-with-image .ccb-select-arrow.ccb-arrow-down {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    right: 10px;
}

.ccb-icon-Path-3485::before {
    content: '';
    display: block;
    background-image: url('img/arrow_select.png');
    background-repeat: no-repeat;
    background-position: center;
    width: 9px;
    height: 7px;
    top: 50%;
    position: absolute;
    transform: translate(0,-50%);
    right: 0;
}

.ccb-error-tip {
    background-color: red;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    padding: 5px 20px;
    position: absolute;
    text-align: center;
    width: -webkit-max-content;
    width: max-content;
}

.ccb-error-tip.default {
    bottom: 50px;
    right: 0;
}

.ccb-error-tip.front {
    background-color: #d94141;
    color: #fff;
    display: none;
    font-size: 14px;
    font-weight: 500;
    width: -webkit-max-content!important;
    width: max-content!important;
}

.calc-drop-down-with-image-list {
    background: #fff;
    border-color: transparent;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    display: none;
    margin-top: 5px;
    max-height: 261px;
    overflow-y: auto;
    position: absolute;
    width: 100%;
    z-index: 20;
}

.calc-drop-down-with-image-list-items {
    padding-left: 0;
}



 .ccb-datetime div .calc-date-picker-select, 
 .calc-drop-down-with-image-list > ul, 
 .calc-toggle-item .calc-toggle-wrapper label:after, 
 .calc-checkbox-item label::before, 
 .ccb-appearance-field {
    background: #FFFFFF !important;
    border-color: #0019311A !important;
    color: #001931 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}



.calc-drop-down-with-image-list-items li {
    background: #FFFFFF !important;
    border-bottom: 1px solid #0019311A !important;
}
.calc-drop-down-with-image-list-items li {
    align-items: center;
    border-bottom: 2px solid #f7f7f7;
    cursor: pointer;
    display: flex;
    list-style: none;
    max-height: 71px;
    min-height: 71px;
    padding: 10px;
}

.ccb-wrapper-2413 .calc-drop-down-with-image-list-items li {
    background: #FFFFFF !important;
    border-bottom: 1px solid #0019311A !important;
}

.calc-container .calc-item__title {
    font-size: 12px !important;
    font-weight: bold !important;
    color: #001931 !important;
}

.calc-drop-down-with-image-list-items li:hover {
    background: #0019311a !important;
}

.calc-drop-down-with-image-list-items li img {
    border: 1px solid transparent;
    border-radius: 4px;
    height: 50px;
    margin-right: 10px;
    -o-object-fit: cover;
    object-fit: cover;
    position: inherit!important;
    width: 50px!important;
}

.calc-item .calc-drop-down-with-image-current.calc-dd-selected {
    border-color: #008b78 !important;
}



/* TOGGLE */

.calc-toggle-container {
    -webkit-column-gap: 20px;
    column-gap: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}


.calc-toggle-container .calc-toggle-item {
    align-items: center;
    display: flex;
    padding: 0;
    vertical-align: middle;
    width: 100%;
}

.calc-toggle-container .calc-toggle-item>div {
    align-items: center;
    display: flex;
}

.calc-toggle-container .calc-toggle-item>div {
    align-items: center;
    display: flex;
}

.calc-toggle-container .calc-toggle-item .calc-toggle-postfix {
    cursor: pointer;
}

.calc-toggle-container .calc-toggle-item .calc-toggle-wrapper {
    margin: 0 0 0 10px;
    position: relative;
}

.calc-toggle-container .calc-toggle-item .calc-toggle-wrapper input {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5;
}

.calc-toggle-wrapper label {
    background: #00193133 !important;
}

.calc-toggle-container .calc-toggle-item .calc-toggle-wrapper label {
    background: #ccc;
    border-radius: 46px;
    display: inline-block;
    height: 24px;
    margin: 0;
    padding: 0;
    position: relative;
    width: 45px;
}

.calc-toggle-container .calc-toggle-item .calc-toggle-wrapper label:after {
    background: #fff;
    border-radius: 100%;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    content: "";
    height: 18px;
    left: 3px;
    position: absolute;
    top: 3px;
    transition: .4s;
    width: 18px;
    z-index: 2;
}

.calc-toggle-wrapper input:checked + label {
    background: #008b78 !important;
}
.calc-toggle-container .calc-toggle-item .calc-toggle-wrapper input:checked+label:after {
    background: #fff;
    left: 24px;
}




/* Правая колонка */

/* .calc-container .calc-list {
    display: flex;
    flex-direction: column;
    height: -webkit-max-content;
    height: max-content;
    justify-content: space-between;
    opacity: 0;
    row-gap: 10px;
    visibility: hidden;
} */

.calc_result_block {
    display: flex;
    flex-direction: column;
    width: 400px;
    padding: 0px 15px;
}

.calc-subtotal {
    padding: 40px !important;
    background: #f9f9f9;
    border-radius: 6px;
    width: 360px;
    box-sizing: border-box !important;
}

.calc-list-inner {
    padding: 0px !important;
    margin: 0px !important;
}

.calc-container .calc-list .calc-item-title.calc-accordion {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.calc-list .calc-item-title {
    margin-bottom: 20px;
}

.calc-list .calc-item-title h2 {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #001931 !important;
}

.calc-container .calc-list .calc-subtotal-list {
    display: flex;
    flex-direction: column;
}

.calc-container .calc-list .calc-subtotal-list .sub-list-item.total:first-child {
    border-top: 2px solid #0019311A !important;
    padding-top: 30px;
}

.calc-container .calc-list .calc-subtotal-list .sub-list-item.total {
    margin-bottom: 20px;
}

.calc-container .calc-list .calc-subtotal-list .sub-list-item.total:last-child {
	margin-bottom: 0px;
}



.calc-subtotal-form {
    display: flex;
    flex-flow: column;
}

.calc_form_title {
    display: block;
    font-size: 20px !important;
    font-weight: bold !important;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 2px solid #0019311A !important;
}

.calc_form_block__row {
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
}

.calc_form_block__wrap {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

.calc_form_block__row > .calc_form_block__wrap {
    padding: 0px 15px;
}

.calc_form_block__wrap:last-child {
    margin-bottom: 0px;
}

.calc_form_block__wrap label {
    display: block;
    font-size: 12px !important;
    font-weight: bold !important;
    color: #001931 !important;
}

.calc_form_block__wrap span {
    display: block;
    margin-top: 10px;
}

.calc_form_block__wrap input {
    display: block;
    border: 2px solid #e5e7ea !important;
    padding: 8px 15px !important;
    width: 100% !important;
    border-radius: 3px !important;
    height: 40px;
    font-size: 16px !important;
    color: #747474 !important;
}

textarea#anmerkungen:hover,
.calc_form_block__wrap input:hover {
  box-shadow: 0 0 3px 0 #008b78;
  border: 2px solid #008b78 !important;
  -webkit-transition: all .8s ease;
  -moz-transition: all .8s ease;
  transition: all .8s ease;
}

textarea#anmerkungen:focus,
.calc_form_block__wrap input:focus {
  border: 2px solid #008b78!important;
  -webkit-transition: all .8s ease;
  -moz-transition: all .8s ease;
  transition: all .8s ease;
}

textarea#anmerkungen {
    display: block;
    border: 2px solid #e2e2e2;
    padding: 8px 15px;
    width: 100%;
    border-radius: 3px;
    font-size: 16px;
    color: #747474;
    height: 135px;
    min-height: 135px;
    max-height: 400px;
}

label .calc_form-not-valid-tip{
    font-size: 10px; 
    color: red;
    float: right;
    text-align: right;
    padding-right: 5px;
    display: none;
}


.calc_form_action__wrap {
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
	align-items: flex-start;
	margin-top: 40px;
}

.calc_form_btn__wrap {
	display: block;
	padding: 0px 15px;
	min-width: 320px;
	box-sizing: content-box;
}

.calc_form__collapse_btn input[type="submit"],
.calc_form_btn__wrap input[type="submit"] {
    display: block;
    text-align: center;
    width: 100%;
    border-radius: 3px;
    height: 40px;
    font-size: 16px;
    background: #008b78 !important;
    border: none;
    color: #fff;
    margin: 0px auto;
    cursor: pointer;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    transition: all .5s ease;
}

.calc_form__collapse_btn input[type="submit"]:hover,
.calc_form_btn__wrap input[type="submit"]:hover {
    background: #ebac23 !important;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    transition: all .5s ease;
}








.calc_form_block__alerts {
	
	padding: 0px 15px;
	width: 100%;
}

.calc_form_block__alerts > span {
	display: none;
	padding: 10px 20px;
	background-color: #ffb600;
	text-align: center;
	line-height: 20px;
	border-radius: 3px;
}


 .ccb-field.required .ccb-appearance-field, 
 .ccb-field.required .ccb-appearance-field:hover,
 .ccb-field.required .ccb-appearance-field:focus, 
 .ccb-field.required .ccb-appearance-field:active, 
 .ccb-field.required .calc-drop-down-with-image-current, 
 .ccb-field.required input[type=text], 
 .ccb-field.required input[type=number], 
 .ccb-field.required textarea, 
 .ccb-field.required select {
    border-color: #D94141 !important;
}












/* Форма заказа */

.calc_form__wrapper {
	display: block;
}

#userdataform {
    display: none;
}





@media only screen and (max-width : 910px) {

    .calc-container {
        flex-flow: column;
    }

    .calc_options_block {
        margin-bottom: 30px;
    }

    .calc_result_block,
    .calc-subtotal {
        width: 100%;
    }

}

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

    .calc-fields-container {
        grid-template-columns: repeat(1,1fr);
    }

}

@media only screen and (max-width : 560px) {

    .calc_form_block__row {
        flex-flow: column;
    }

}