#configurator {
	height: calc(100vh - 130px); }
#conf_tiles{
	display:none;
}
#model_output_hide {
	position: absolute;
	left: 8px;
	background: rgba(167, 167, 167, 0.6);
	padding: 0 4px;
	font-size: 40px;
	color: #102331;
	border-radius: 6px 0 0 6px;
}

#model_output_hide,
#conf_nav_bar {
	transition: color .4s linear;
	z-index: 9999;
}

#model_output_hide:active,
#conf_nav_bar:active {
	color: #757575;
}

.conf-header p {
	margin: 0;
	text-align: center;
	font-size: 16px;
}

.conf-header p:first-child {
	text-align: left;
	margin-bottom: 10px;
}

.conf-header strong {
	/*text-shadow: 0 0 2px #283a55;*/
}

.conf-header,
figcaption.conf-expl-caption {
		font-size: calc( (70vw - 30rem) / (80 - 30) * (1.5 - 1) + 1rem );
}

#conf_nav {
	margin: 0; }

#conf_nav li {
	display: inline;
	margin-right: 5px;
	cursor: pointer;
}

#conf_nav li:nth-child(odd) {
	color: #7f7f7f;
	transition: color .3s linear;
	font-size: 17px;
}

#conf_nav li:nth-child(odd):hover {
	color: #081fc3; }

#conf_tiles {
	padding: 2px 0; }

#conf_tiles img {
    width: 32px;
    height: 32px;
}

.conf-container > div {
	row-gap: 0px;
	display: grid;
	justify-items: center;
	justify-content: center;
	grid-gap: 15px;
	grid-template-rows: repeat(2, 350px);
}

figure.conf_expl  {
	position: relative;
	cursor: pointer;
	width: 100%;
	margin: 0;
	/*height: 80%;*/
}

figcaption.conf-expl-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	color: #fff;
	border-radius: 0 0 8px 8px;
	background-color: rgba(18, 40, 73, 0.44);
	word-break: break-word;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 6px;
	min-height: 30%;
}

.conf-head-panel {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60px;
}

.conf_segment figcaption {
	background-color: rgb(0 0 0 / 36%) !important;
}

.conf_nazn figcaption {
	background-color: #212529ba !important;
}

.conf-op-imagebox figcaption {
	user-select: none;
	font-size: 1.4rem;
	background-color: rgba(33, 28, 28, 0.6);
}

.conf_segment img:hover {
	box-shadow: 0 0 10px 4px #443d3d;
}

.conf_nazn > img:hover {
	box-shadow: 0 0 10px 4px #a3a3a3;
}

.conf_usl:nth-child(1) > img:hover {
	box-shadow: 0 0 10px 4px #2125298f; }
.conf_usl:nth-child(2) > img:hover {
	box-shadow: 0 0 10px 4px #2125298f; }
.conf_usl:nth-child(3) > img:hover {
	box-shadow: 0 0 10px 4px #2125298f; }

.list_tile  {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 60px;
}

.list_tile figcaption:hover  {
		box-shadow: 0 0 3px 1px #50199a; }

.two_tile {
		grid-auto-rows: 30%;
		grid-template-columns: repeat(2, 1fr);
}

.three_tile {
		grid-auto-rows: 1fr;
		grid-template-columns: repeat(3, 1fr);
}

.selected-tile {
	box-shadow: inset 0px -1px 5px #796f6f; }

#steps_content .card-body {
	padding: 15px 10px 10px; }

.conf_expl img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.conf-op-imagebox > .conf-expl-caption::selection,
.conf-output-textblock span::selection,
.conf-output-textblock p::selection {
    background: #608fb1;
    color: #dadada;
}

.subjectBody {
	max-height: 50px;
	white-space: pre-line;
	text-align: center;
	background: #f7f7f7;
	padding: 0 6px;
}

.conf-card {
	padding: 10px 10px 20px; }

.conf-card > h5 i {
	position: absolute;
	left: -4px;
}

.slider__title,
.conf-card > h5 {
	border-bottom: 1px solid #dfd8d8;
	padding: 10px 0 10px 22px;
	text-align: center;
	position: relative;
}

.slider__diapason {
	border: 0;
	outline: 0;
	margin: 0;
	height: 50%;
	cursor: default;
	color: #214992;
	text-align: center;
	font: bold 24px Arial;
}

.slider__range {
	margin-top: 30px; }

.range-view {
	position: absolute;
	bottom: 12px;
	user-select: none;
}

.range-view:nth-of-type(1) {
	left: -10px; }

.range-view:nth-of-type(2) {
	right: -10px; }

.ui-slider-range {
	min-height: 10px; }

#special {
	display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.conf-custom-radio {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.conf-custom-radio li {
	color: #203b57;
	display: flex;
	align-items: center;
	margin: 3px;
}

.conf-custom-radio li:hover {
	color: #03A9F4; }

.conf-custom-radio li .check {
	display: flex;
	color: #03A9F4;
	position: relative;
	border-radius: 100%;
	height: 18px;
	width: 18px;
	border: 2px solid #AAAAAA;
	justify-content: center;
	align-items: center;
}

.conf-custom-radio li .check:before {
	content: '';
	height: 10px;
	width: 10px;
	border-radius: 100%;
	transition: background .3s linear;
}

.conf-custom-radio li input[type=radio] {
	position: absolute;
	visibility: hidden;
}

input[type=radio] ~ label {
	transition: text-shadow .3s linear;
	margin: 0 0 0 6px;
	user-select: none;
}

input[type=radio]:checked ~ label {
	color: #0b7cdc !important;
	text-shadow: 1px 1px 1px #3a91ea;
}

input[type=radio]:checked ~ .check {
	border: 2px solid #03A9F4; }

input[type=radio]:checked ~ .check:before {
	background: #35a4d6; }

.clear-button {
	background: linear-gradient(84deg, #3a91b3, firebrick);
	margin-top: 10px;
	line-height: 1;
	color:#fff;
}

.clear-button:active {
	background: linear-gradient(-84deg, #3a91b3, firebrick) !important; }

#model_output {
	position: absolute;
	cursor: default;
	display: none;
	right: 2px;
	top: 4px;
	height: calc(100vh - 64px);
	background: #fff;
	box-shadow: 0 0 16px 1px rgba(0,0,0,.4);
	padding: 8px 11px 8px 8px;
	border-radius: 6px;
	width: 100%;
	max-width: 30%;
	text-align: center;
}

#model_output:hover {
	box-shadow: 0 0 28px 2px rgba(16, 65, 117, 0.7); }

.conf-op-imagebox {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	position: relative;
	background-color: rgba(33, 28, 28, 0.6);
}

.conf-op-imagebox img {
	max-width: 100%;
	max-height: 230px;
	cursor: default;
	transition: filter.5s ease-in-out;
	cursor: zoom-in;
}

.conf-op-imagebox img:hover {
	box-shadow: none !important;
	filter: brightness(.8);
}

.conf-op-imagebox i {
	position: absolute;
	bottom: 14px;
	color: #e6e6e6;
	z-index: 800;
	transition: color .6s linear;
}

.conf-op-imagebox i:hover {
	color: #3ad6ab; }

.conf-op-imagebox > i:first-of-type {
	left: 6px; }

.conf-op-imagebox > i:last-of-type {
	right: 6px; }

.conf-price {
	display: flex;
	justify-content: space-between;
	align-items: center;
	user-select: none;
	margin: 8px 0 2px;
}

.conf-price__sum {
	letter-spacing: 0.7px; }

.conf-output-block {
	overflow-x: hidden;
	min-height: 60px;
	max-height: calc(100vh - 418px);
	box-shadow: 0 0 10px #dcd9d9;
}

.conf-output-block::-webkit-scrollbar-thumb {
	box-shadow: none;
  background: rgba(29, 107, 187, 0.61);
	border: solid #65656e;
	border-width: 1px 0;
}

.conf-output-block::-webkit-scrollbar {
	width: 10px; }

.conf-output-block-expand {
	margin: auto 10%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 20px;
	background: #fbf7fa;
	transition: height 0.4s ease-in;
	height: 30%;
	max-height: calc(100vh - 200px);
}

.conf-output-block-expand .conf-output-textblock > span:last-child {
	white-space: pre-wrap;
	text-align: right;
	margin-left: 10px;
}

.conf-output-block-expand > p {
	flex-direction: row;
	justify-content: space-between;
	white-space: nowrap;
}

img.conf-output-block-expand {
	object-fit: contain; }

.expand_shell {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background: linear-gradient(to right, #3a6186cc, #89253ee0);
	z-index: 999999;
}

.expand_shell_close {
	position: absolute;
	top: 0;
	right: 10px;
	font-size: 3.5rem;
	color: #ece2e2;
	text-shadow: 0 0 8px #2f85d0;
}

.expand_shell_close:active {
	text-shadow: 0 0 8px #850808; }

.expand_shell_close:before {
	content: "\2716"; }


.conf-img-expl {
	width: 100%;
	margin: auto;
	max-width: 900px;
}

.conf-output-textblock {
	display: flex;
	flex-direction: column;
	margin: 0 12px;
	padding: 4px 0;
}

.conf-output-textblock:not(:first-child) {
	border-top: 1px solid #cacaca; }

.conf-output-textblock *:first-child {
	user-select: none;
	font: 400 1rem Verdana, Arial;
}

.conf-output-textblock span:last-child  {
	font: 400 17px 'Cuprum';
	line-height: 1.7;
	user-select: all;
}

.conf-output-textblock p:first-child  {
	font-size: 1.2rem;
	margin-bottom: 8px;
}

.conf-output-textblock p:last-child {
	line-height: 1.5 !important;
	margin: 0;
}

@media (max-width: 992px) {
	#model_output {
		height: calc(100vh - 84px);
	}
}

@media (max-width: 768px) {
	#conf_nav {
		padding: 0;
		width: 100%;
    text-align: center;
	}

  #model_output {
		top: -15px;
    bottom: 0px;
    z-index: 800;
    max-width: 80%;
    max-height: 100%;
    overflow-y: auto;
	}

	#model_output:hover {
		box-shadow: none; }

	.conf-output-block:not(.conf-output-block-expand) {
		max-height: 100%; }

	.conf-output-block-expand {
		margin: auto 4%;
		padding: 10px;
	}

	.expand_shell_close {
		font-size: 2.8rem; }

	.conf-output-block-expand >
	.conf-output-textblock {
		margin: 0;
		white-space: normal;
		align-items: center;
	}

	.conf-output-block-expand >
	.conf-output-textblock >
	span:first-child {
		text-align: left;
		margin-right: 26px;
	}

	.conf-output-block-expand >
	.conf-output-textblock >
	span:last-child {
		white-space: pre-line;
	}

	.conf-expand-block >
	.conf-img-expl {
		margin: auto 0;
	}

	.conf-price {
		flex-flow: column; }
	.conf-price #buy_tech {
		width: 100%; }

	.ui-slider-range {
    height: 0.8rem !important; }

	.ui-slider-handle {
		width: 1.3rem !important;
    height: 1.4rem !important;
	}

}

@media (max-width: 425px) {
	.conf-output-block:not(.conf-output-block-expand) {
		height: 100vh;
		max-height: 100%;
		height: calc(100vh - 382px);
	}

	#model_output {
    top: 0;
    height: 100%;
		max-width: 100%;
		position: fixed;
		z-index: 999999;
	}

	.conf-container > div {
		grid-auto-rows: 14vmax;
		grid-template-columns: 1fr;
	}

	#conf_tiles {
		display: none !important; }

	figcaption.conf-expl-caption {
		padding: 8px 4px; }
}
