.steps-calc__indicators {
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
}

.indicator {
	position: relative;
	margin-right: 2.4%;
	padding-right: 7.2%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.indicator:after {
	content:  '';
	position: absolute;
	top: 16px;
	right: 0;
	max-width: 63px;
	width: 50%;
	height: 1px;
	background-color: #eeeeee;
}

.indicator:last-child {
	margin-right: 0;
	padding-right: 0;
}

.indicator:last-child:after {
	display: none;
}

.indicator__num {
	margin-right: 10px;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #99999F;
	font-size: 16px;
}

.indicator__text {
	color:  #99999F;
}

.indicator.current .indicator__num {
	color: #1976D2;
	border-color: #1976D2;
	font-weight: 700;
}

.indicator.current .indicator__text {
	color: #313131;
}

.indicator.is-valid .indicator__num {
	position: relative;
	color: #ffffff;
	border-color: #1976D2;
	background-color: #1976D2;
	text-indent: -9999px;
	overflow: hidden;
}

.indicator.is-valid .indicator__num:before {
	content:  '';
	position: absolute;
	top:  12px;
	left:  50%;
	width: 6px;
	height: 12px;
	border-bottom: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.indicator.is-valid .indicator__text {
	color: #313131;
}


.steps-calc-form__section {
	display: none;
}

.steps-calc-form__section.active {
	display: block;
}


.align-right,
.align-left {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.align-right {
	justify-content: flex-end;
}

.align-left {
	justify-content: flex-start;
}

.medium-title {
	margin-bottom: 25px;
	font-size: 16px;
	line-height: 21px;
	font-weight: 700;
}

.steps-calc-form {
	margin-bottom: 30px;
	padding: 25px 20px 10px;
	border: 3px solid #EEEEEE;
}

.steps-calc-form input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	top:  0;
	left:  0;
	width: 100%;
	height: 100%;
}

.steps-calc-form input[type="date"] {
	position: relative;
	padding-left: 48px !important;
	background: url('/bitrix/templates/aspro_next/images/svg/calendar.svg') 0 0 no-repeat;
	background-size: 16px;
	background-position: 15px 18px;
	width: 100%;
}



.steps-calc-form p {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 21px;
}

.steps-calc-form__buttons {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #eeeeee;
	display: flex;
	flex-wrap: wrap;
}

.steps-calc-form__buttons>* {
	margin-bottom: 15px;
}


.steps-calc-form__buttons .align-left,
.steps-calc-form__buttons .align-right {
	flex-grow: 1;
}

.flex-grow-2 {
	flex-grow: 2 !important;
}

.steps-calc-form__buttons>.total-product {
	margin-bottom: 10px;
	width: 100%;
}

.steps-calc-form__buttons>div>* {
	margin-left: 10px;
}

.steps-calc-form__buttons>div>*:first-child {
	margin-left: 0;
}

.total-product {
	font-size: 16px;
	line-height: 21px;
	font-weight: 700;
}

.input-wrapper {
	position: relative;
	margin-bottom: 30px;
}

.input-wrapper:first-child {
	padding-top: 10px;
}

.input-wrapper:last-child {
	margin-bottom: 0;
}

.input-wrapper label {
	margin-bottom: 5px;
	display: block;
	font-size: 16px;
	line-height: 21px;
}

.steps-calc-form label.error {
	top:  100%;
	left:  0;
	right: auto;
	font-size: 12px;
}


.calc-select {
	width: 100%;
}



.calc-secelt-subtitle {
	margin-top: 8px;
	font-size: 12px;
	line-height: 16px;
}

.calc-select .ik_select_link.common_select-link {
	padding: 16px 42px 16px 16px;
	display: flex;
	align-items: center;
	height: 56px;
	background-color: #ffffff;
	border:  1.5px solid #99999F;
	border-radius:  4px;
}

.calc-select .common_select-link  .ik_select_link_text {
	height: auto;
	font-size: 16px;
	line-height: 22px;
	color: #313131;
}

.calc-select .common_select-link .trigger {
	right: 10px;
	height: 53px;
	line-height: 56px;
	background-color: #ffffff;
	border:  none;
}

.calc-select .common_select-link .trigger:before {
	background: url('/bitrix/templates/aspro_next/images/svg/drop.svg') center no-repeat;
	background-size: 14px;
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

.calc-select .common_select-link.opened .trigger,
.calc-select .common_select-link:hover .trigger {
	background-color: #ffffff;
}

.calc-select .common_select-link.opened .trigger:before,
.calc-select .common_select-link:hover .trigger:before {
	background-position: center;
}

.calc-select .select2-container {
	max-width: 100%;
	width: 100% !important;
}

.calc-select .select2-container--default .select2-selection--single {
	height: 56px;
	border-radius:  4px;
	border:  1.5px solid #99999F;
}

.calc-select  .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 53px;
	padding-left: 16px;
	padding-right: 30px;
	font-size: 16px;
}

.calc-select .select2-container--default .select2-selection--single .select2-selection__arrow {
	right: 10px;
	height: 56px;
	background: url('/bitrix/templates/aspro_next/images/svg/drop.svg') center no-repeat;
	background-size: 12px;
}

.calc-select .select2-container--default .select2-selection--single .select2-selection__arrow b {
	display: none;
}

.select2-results__options li:before {
	display: none;
}

.steps-calc-form input[type="text"],
.steps-calc-form input[type="date"],
.steps-calc-form input[type="number"] {
	padding: 16px;
	display: flex;
	align-items: center;
	height: 56px;
	background-color: #ffffff;
	border:  1.5px solid #99999F;
	border-radius:  4px;
	font-size: 16px;
	line-height: 21px;
	width: 100%;
}

.steps-calc-form  *.error {
	border-color:  red !important;
}

.steps-calc-form  *.valid {
	border-color:  #219653 !important;
}


.btn.btn-gray {
	color: #313131;
	font-size: 16px;
	line-height: 21px;
	border: 1.5px solid #99999F;
}

.btn.btn-xlg {
	padding: 10px 54px;
	font-size: 16px;
	line-height: 21px;
	font-weight: 700;
}

.previews-step {
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eeeeee;
}

.previews-step__title {
	position: relative;
	margin-bottom: 30px;
	display: inline-block;
	padding-right: 47px;
	font-size: 24px;
	line-height: 32px;
	font-weight: 700;
}

.previews-step__title a {
	position: absolute;
	top:  0;
	right: 0;
	display: block;
	width: 32px;
	height: 32px;
	background: url('/bitrix/templates/aspro_next/images/svg/edit.svg') center no-repeat;
	background-size: 21px;
}

.previews-step__data {
	font-size: 16px;
	line-height: 21px;
}

.previews-step__data-label {
	margin-bottom: 5px;
}

.previews-step__data-text {
	font-weight: 700;
	color: #313131;
}

.previews-step__data .row>div {
	margin-bottom: 20px;
}

.previews-step__data .row>div:last-child {
	border:  none;
}


.calc-visible-md {
	display: none;
}

.calc-visible-lg {
	display: none;
}

.product-checkbox-wrapper label {
	margin: 0;
	display: block;
}

.product-checkbox-wrapper .product-card {
	padding: 20px;
	display: block;
	border: 1px solid #EEEEEE;
	cursor: pointer;
}

.product-checkbox-wrapper .product-card__header {
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
}

.product-checkbox-wrapper .product-card__body {
	display: block;
}

.product-checkbox-wrapper .product-card__img {
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-checkbox-wrapper .product-card__img img {
	max-width: 100%;
	height: auto;
}

.product-checkbox-wrapper .product-card__title {
	margin-bottom: 8px;
	font-size: 16px;
	line-height: 21px;
	display: block;
}

.product-checkbox-wrapper .product-card__price {
	font-size: 16px;
	line-height: 21px;
	font-weight: 700;
	display: block;
}

.product-checkbox-wrapper .product-card__options {
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-checkbox-wrapper .product-card__options li {
	margin-bottom: 5px;
	padding: 0;
	display: flex;
	align-items: flex-end;
}

.product-checkbox-wrapper .product-card__options li:last-child {
	margin-bottom: 0;
}

.product-checkbox-wrapper .product-card__options li:before {
	display: none;
}

.product-checkbox-wrapper .product-card__options li .option-name,
.product-checkbox-wrapper .product-card__options li .option-value {
	flex-grow: 0;
	color:  #99999F;
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.product-checkbox-wrapper .product-card__options li .dotted {
	flex-grow: 2;
	min-width: 30px;
	border-bottom: 1px dashed #99999F;
}


.product-checkbox {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	border: 2px solid #99999F;
	border-radius: 6px;
}

.product-checkbox:after {
	content:  '';
	position: absolute;
	top: 3px;
	left:  50%;
	display: block;
	width: 6px;
	height: 12px;
	border-bottom: 2px solid #1976D2;
	border-right: 2px solid #1976D2;
	transform: translateX(-50%) rotate(45deg);
	display: none;
}

.product-checkbox-wrapper {
	position: relative;
}

.product-checkbox-wrapper input[type="checkbox"] {
	position: absolute;
	top:  0;
	left:  0;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.product-checkbox-wrapper input[type="checkbox"]:checked ~ .product-card {
	border-color: #1976D2;
}

.product-checkbox-wrapper input[type="checkbox"]:checked ~ .product-card .product-checkbox {
	border-color: #1976D2;
}

.product-checkbox-wrapper input[type="checkbox"]:checked ~ .product-card .product-checkbox:after {
	display: block;
}


.previews-step__data .product-checkbox-wrapper .product-card {
	padding: 0;
	border:  none;
}

.previews-step__data  .product-checkbox-wrapper .product-card__header {
	margin-bottom: 0;
}

.btn.mob-full-width {
	margin: 15px 0 0;
	width: 100%;
}

.btn.mob-full-width:first-child {
	margin-top: 0;
}

@media (min-width: 768px) {
	.btn.mob-full-width {
		width: auto;
		margin: 0 0 0 15px;
	}

	.calc-visible-md {
		display: block;
	}

	.calc-hidden-md {
		display: none
	}
}

@media (max-width: 991px) {

	.indicator:after {
		right: -13px;
	}

	.indicator__num {
		margin: 0 auto 10px
	}

	.indicator__text {
		font-size: 12px;
		line-height: 16px;
		width: 100%;
		text-align: center	
	}

	.indicator__text span{
		display: none
	}

	.indicator__text:before {
		content:  attr(data-mob);
	}
}

@media (min-width: 992px) {

	.steps-calc-form input[type="date"] {
		width: 50%;
	}

	.steps-calc-form__buttons>* {
		margin-bottom: 0
	}

	.product-checkbox-wrapper .product-card__header {
		justify-content: space-between;
	}

	.product-checkbox-wrapper .product-card__header > * {
		width: calc(50% - 7.5px);
	}

	.product-checkbox-wrapper .product-card {
		padding: 30px;
	}

	.calc-hidden-lg {
		display: none
	}

	.calc-visible-lg {
		display: block;
	}


	.calc-select.calc-select--medium {
		width: 50%;
	}

	.previews-step__data .row > div {
		border-right: 1px solid #eeeeee;
	}


	.medium-title {
		margin-bottom: 30px;
		font-size: 24px;
		line-height: 32px
	}

	.steps-calc-form {
		margin-bottom: 70px;
		padding: 30px 30px 15px;
	}

	.steps-calc-form__buttons  {
		margin-top: 30px;
		padding-top: 30px
	}
}


@media print {
	.steps-calc__indicators, .indicator {
		display: none !important;
	}
}

