/*Символ рубля для вашего сайта*/
/*https://rubznak.ru*/
@font-face {
	font-family: ALSRubl;
	src: url(../fonts/rouble.ttf);
}
.rubznak {
	font-family: ALSRubl;
}

.hide {
	display: none;
}

.constructor {
	display: flex;
	flex-flow: row wrap;
}

	.constructor__column {
		width: 50%;
	}
	.constructor__column_price {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-flow: column;		
	}
	.constructor__column_left {
		width: 40%;		
	}
	.constructor__column_right {
		margin-left: 25px;
		width: calc(60% - 25px);
   	/*box-shadow: 0 3px 7px #9ba1ad, 0 0 0 1px rgb(94 101 114 / 30%), inset 0 1px 0 rgb(255 255 255 / 40%), inset 0 0 0 1px rgb(255 255 255 / 25%);*/
		border: 1px solid #609e3c;
		border-radius: 10px;
   	padding: 30px;
		position: relative;
		text-align: center;
		overflow: hidden;   	
		/*background*/
		/*background-repeat: repeat-x;
		background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNmMmY0ZjciIHN0b3Atb3BhY2l0eT0iMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZGNkZSIgc3RvcC1vcGFjaXR5PSIxIi8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2xlc3NoYXQtZ2VuZXJhdGVkKSIgLz48L3N2Zz4=);
		background-image: -webkit-linear-gradient(top, #f2f4f7 0%, #d9dcde 100%);
		background-image: linear-gradient(to bottom, #f2f4f7 0%, #d9dcde 100%);	*/	

		max-height: 1020px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-flow: column;
	}

	.constructor__image {
		position: relative;
   	display: inline-block;
   	z-index: 0;
	}
		.constructor__img {
			max-width: 100%;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
		}
		.constructor__img_osnova {
			z-index: 1;
			position: unset;
		}
		.constructor__img_bokovye-chasti {
			z-index: 2;
		}
		.constructor__img_tsentralnaya-chast {
			z-index: 3;
		}
		.constructor__img_dizayn {
			z-index: 4;
		}
		.constructor__img_dvoynaya-otstrochka {
			z-index: 5;
		}

	.constructor__price {
		display: flex;
		width: 340px;
		margin: 0 auto;		
	}
		.constructor__price-caption {
			margin-bottom: 5px; 
			font-size: 14px;
			color: #999;
			font-weight: bold;
			text-align: left;
			width: 100%;		
			line-height: 1;	
		}
		.constructor__price-value {
			text-align: left;
			width: 100%;
			color: #5AAA46;
			font-weight: bold;
			font-size: 30px;		
			line-height: 1;		
		}
		.constructor__price-btn {
			height: 100%;
			text-transform: none;
			font-size: 22px;
			font-weight: 400;	
			line-height: 35px;		
		}





.constructor__options {

}
	.constructor__option {
		background-color: #f2efed;
		overflow: hidden;
		border-radius: 10px;
		padding-bottom: 15px;
	}
	.constructor__option + .constructor__option {
		margin-top: 20px;
	}
		.constructor__option-close {
			display: none;
		}

		.constructor__option-heading {
			text-transform: uppercase;
			background-color: #5AAA46;
			padding: 12px 20px;
			text-align: center;
			color: #fff;			
		}

		.constructor__option-field {
			padding: 0 15px;
		}
		.constructor__option .constructor__option-field:nth-child(3) {
			padding-top: 15px;
		}
		.constructor__option-field + .constructor__option-field {
			padding-top: 15px;
		}

		.constructor__option-select {
		}

		.constructor__option-radio-lines {
		}
			.constructor__option-radio-line {
				display: block;
			}
				.constructor__option-radio-line input[type=radio] {
					display: none;
				}
				.constructor__option-radio-line label.line {
					color: #000;
					border-bottom: 1px dashed #000;
					cursor: pointer;
					margin-bottom: 0;
				}
				.constructor__option-radio-line label.line:hover {
				}					
				.constructor__option-radio-line input[type=radio]:checked + label.line:hover {

				}		
				.constructor__option-radio-line input[type=radio]:checked + label.line {
					color: #5AAA46;
					border-color: transparent;
				}	

		.constructor__option-colors {
		}
		.constructor__option-color {
			display: inline-block;
		}
			.constructor__option-color input[type=radio] {
				display: none;
			}
			.constructor__option-color label.color {
				display: block;
				width: 24px;
				height: 24px;
				border-radius: 4px;
				border: 2px solid #fff;
				box-shadow: 0 2px 5px rgb(0 0 0 / 20%);
				cursor: pointer;
				position: relative;
				transition: all .15s ease;
				width: 32px;
				height: 32px;
				margin-bottom: 0;
			}
			.constructor__option-color label.color:hover {
				transform: scale(1.2);
				box-shadow: 0 10px 15px rgb(0 0 0 / 10%);
				cursor: pointer;
			}					
			.constructor__option-color input[type=radio]:checked + label.color:hover {
				transform: none !important;
				box-shadow: none !important;
			}		
			.constructor__option-color input[type=radio]:checked + label.color {
				border: 2px solid #f93865;
			}				
			/*COLORS*/
			.color__black {
				color: #282728;	
				background: #282728;	
			}
			.color__dark-gray {
				color: #777;	
				background: #777;	
			}
			.color__gray {
				color: #bbb;	
				background: #bbb;	
			}
			.color__beige {
				color: #f2eed9;
				background: #f2eed9;
			}
			.color__white {
				color: #f6f6f6;
				background: #f6f6f6;
			}
			.color__brown {
				color: #875534;
				background: #875534;
			}
			.color__dark-brown {
				color: #553017;
				background: #553017;
			}
			.color__red {
				color: #e33a35;
				background: #e33a35;
			}
			.color__blue {
				color: #285acb;
				background: #285acb;
			}
			.color__yellow {
				color: #f3c81b;
				background: #f3c81b;
			}
			.color__orange {
				color: #f39233;
				background: #f39233;
			}

/*constructor__nav*/
.constructor__nav {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 1;	
}
	.constructor__nav-item {
		margin-bottom: 10px;
	}
		.constructor__nav-link {
			color: #000;
			border-bottom: 1px dashed #000;
			cursor: pointer;
			margin-bottom: 0;
			font-size: 15px;
			line-height: 1;			
		}		
		.constructor__nav-link.is-active {
			color: #5AAA46;
			border-color: transparent;	
		}
 	
@media (max-width: 991px) {
	.constructor__option-close {
		display: block;
		position: absolute;
		right: 5px;
		top: 2px;
	}
	.constructor__option-close.flaticon-delete30:before {
		font-size: 20px;
		color: #fff;
	}

	.constructor {
		position: relative;
	}
	.constructor__column_right {
		margin-left: 0;
		width: 100%;		
		margin-bottom: 30px;
		z-index: 0;
		max-height: unset;
		padding: 0;		
	}
	.constructor__column_left {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1;
	}
	.constructor__nav {
		display: block;
	}

	.constructor__price {
		flex-flow: column;
		width: 100%;
	}
	.constructor__column_price {
		width: 100%;
		margin-bottom: 10px;		
	}
	.constructor__column_price:last-of-type {
		margin-bottom: 0;
		padding: 0 15px 15px 15px;
	}
	.constructor__price-caption {
		text-align: center;
	}
	.constructor__price-value {
		text-align: center;
	}

	.btn.btn-primary.constructor__price-btn {
   	width: 300px;
   	font-size: 19px;
	}

	.constructor__option {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9;
		border-radius: 5px;
		width: 270px;
		padding-bottom: 15px;
		left: 10px;
		/*transition: visibility 300ms;
		visibility: hidden;*/
	}
	.constructor__option + .constructor__option {
		margin-top: 0;
	}
	.constructor__option.is-active {
		display: block;
		/*transition: visibility 300ms;
		visibility: visible;*/
	}
	.constructor__option.constructor__option_osnova {
		top: 15px;
	}	
	.constructor__option_bokovye-chasti {
		top: 45px;
	}
	.constructor__option_tsentralnaya-chast {
		top: 75px;
	}	
	.constructor__option_dizayn {
		top: 105px;
	}	
	.constructor__option_dvoynaya-otstrochka {
		top: 135px;
	}	
	.constructor__option_vyshivka-na-podgolovnikakh {
		top: 165px;
	}

	.constructor__option-heading {
		padding: 5px 10px;
		font-size: 15px;
		text-transform: none;
		text-align: left;
	}
	.constructor__option-color label.color {
		width: 24px;
		height: 24px;
	}
	.constructor__option .constructor__option-field:nth-child(3) {
		padding-top: 15px;
	}
	.constructor__option-field {
		padding: 0 10px;
	}
	.constructor__option-field + .constructor__option-field {
		padding-top: 10px;
	}
}

@media (max-width: 767px) {
	.constructor__column_right {
		align-items: flex-end;
	}
	.constructor__nav {
		top: 15px;
		left: 15px;
	}
	.constructor__nav-item {
		margin-bottom: 10px;
	}
	.constructor__nav-link {
		font-size: 14px;
		line-height: 1;			
	}	
	.constructor__option-heading {
		padding: 5px 10px;
		font-size: 14px;
	}		
}

@media (max-width: 540px) {
	.constructor__nav .constructor__nav-item:nth-child(5) {
		background: rgba(255,255,255,.2);
		width: 130px;
	}		
	.constructor__nav .constructor__nav-item:nth-child(6) {
		background: rgba(255,255,255,.2);
		width: 150px;
	}		
}


.constructor__form-btns {
	margin-top: 20px;
}
#constructor_form_modalForm {
	width: 890px;
}
.constructor_form_title {
	text-transform: none;
	font-size: 18px;
	padding: 0 0 16px;
	margin: 0 0 21px;
	display: block;
	font-family: 'Roboto',sans-serif;
	color: #000;
	font-weight: bold;
	line-height: 1;
}

@media (max-width: 991px) {
	#constructor_form_modalForm {
		width: calc(100% - 30px);
	}
}




.constructor__details {
	margin-top: 30px;
}
	.constructor__details-heading {
		font-weight: 700;
		font-size: 20px;
		line-height: 30px;
		margin-bottom: 10px;
		background: #F2EFED;
		color: #333;
		padding: 5px;
		border-radius: 5px;		
	}
	.constructor__details-alert {
		font-style: italic;
	}
	.constructor__details-list {
		text-align: left;
		max-width: 465px;
		margin: 10px auto 0 auto		
	}
		.constructor__details-list li {

		}

@media (max-width: 767px) {
	.constructor__details {
		margin: 5px 15px 15px 15px;
	}
}