.selector-content {
	aspect-ratio: 2500/1200; /* 2560/1228 */
	max-height: 1228px;
}

#selector {
	--rc-wid: 16.72%;
	--lc-wid: calc(100% - var(--rc-wid));
	--color-reserved: #6b2d23;
	--color-sold: #939598;
	--lc-pad: 35px;
	--fd-pad-left: var(--lc-pad);

	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

#selector .layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#selector .svg-cont {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 1450px) {
	#selector {
		--rc-wid: 245px;
	}
}

@media screen and (max-width: 1040px) {
	#selector {
		--lc-pad: 20px;
	}
}

/* patra */

#selector-prompt {
	position: absolute;
	top: 0;
	right: 0;
	width: var(--rc-wid);
	height: 100%;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.4em;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	pointer-events: none;
	background-color: #000000;
}

#selector-prompt strong {
	opacity: 0;
	transition: opacity 0.15s ease;
}

#selector-prompt.active strong {
	opacity: 1;
	transition-delay: 0.3s;
}

#floors-svg {
	display: block;
	width: 100%;
	height: 100%;
}

#selector .floor-mask {
	fill: var(--red);
	opacity: 0;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

#selector .building-floor.active .floor-mask {
	opacity: 0.7;
}

.floor-desc {
	--title-height: 42px;
	--floor-desc-pad: 0 var(--lc-pad);

	position: absolute;
	top: 0;
	right: 0;
	width: var(--rc-wid);
	box-sizing: border-box;
	background-color: #000000;
	color: #ffffff;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
}

.floor-desc.active {
	opacity: 1;
}

.floor-name {
	font-size: 30px;
	display: block;
	position: relative;
	text-transform: uppercase;
	margin-bottom: 0.8666em;
}

.floor-name-inner {
	display: inline-block;
	position: relative;
	padding: var(--floor-desc-pad);
}

.floor-name-inner:after, .floor-name:before {
	display: block;
	position: absolute;
	content: " ";
	bottom: -13px;
	height: 3px;
	background-color: var(--red);
}

.floor-name-inner:after {
	left: -1px;
	width: 100%;
}

.floor-name:before {
	right: 100%;
	width: 0;
}

.floor-help {
	display: block;
	font-size: 1rem;
	color: var(--red);
	margin-bottom: 1em;
	padding: var(--floor-desc-pad);
}

.floor-desc-dips {
	padding: var(--floor-desc-pad);
}

#floor-b1-6-desc {
	top: calc(56.3% - var(--title-height))
}

#floor-b1-6-desc .floor-name:before {
	width: 2.6vw;
}

#floor-b1-5-desc {
	top: calc(60.1% - var(--title-height))
}

#floor-b1-5-desc .floor-name:before {
	width: 3.5vw;
}

#floor-b1-4-desc {
	top: calc(65% - var(--title-height))
}

#floor-b1-4-desc .floor-name:before,
#floor-b1-3-desc .floor-name:before,
#floor-b1-2-desc .floor-name:before
{
	width: 2.2vw;
}

#floor-b1-3-desc {
	top: calc(70.4% - var(--title-height))
}

#floor-b1-2-desc {
	top: calc(76.5% - var(--title-height))
}

.floor-desc-nav {
	top: calc(50% - 51px);
	transition-duration: 0s;
}

.floors-nav {
	position: absolute;
	top: 0;
	right: var(--rc-wid);
	width: 11%;
	height: 100%;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.floor-link {
	color: #ffffff;
	pointer-events: auto;
	position: relative;
	text-transform: uppercase;
	text-align: center;
}

.floor-link:hover {
	color: var(--red);
}

#higher-floor {
	padding-bottom: 10px;
}

#higher-floor:after {
	position: absolute;
	display: block;
	content: " ";
	bottom: -5px;
	left: 1px;
	transform: translateY(-1px);
	width: 100%;
	height: 3px;
	background-color: var(--red);
}

#lower-floor {
	padding-top: 10px;
}

@media screen and (min-width: 2560px) {
	#floor-b1-6-desc .floor-name:before {
		width: 66.55px;
	}

	#floor-b1-5-desc .floor-name:before {
		width: 89.6px;
	}


	{
		width: 56.3167px;
	}
}

@media screen and (max-width: 1450px) {
	.floor-name:before {
		display: none;
	}

	#floor-b1-6-desc,
	#floor-b1-5-desc,
	#floor-b1-4-desc,
	#floor-b1-3-desc,
	#floor-b1-2-desc {
		top: calc(50% - 44px);
	}
}

/* byty */

.selector-close {
	position: absolute;
	top: 15px;
	right: calc(var(--rc-wid) + 20px);
	width: 35px;
	height: 35px;
	z-index: 2;
}

.selector-close img {
	width: 100%;
	height: 100%;
}

#flats {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	background-color: rgba(0,0,0,0.85);
}

#flats.active {
	opacity: 1;
	pointer-events: auto;
}

.flats {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.flats.active {
	opacity: 1;
	pointer-events: auto;
}

.flats-container {
	width: var(--lc-wid);
	margin-right: var(--rc-wid);
	max-width: 2120px;
	padding: 0 30px;
	box-sizing: border-box;
}

#flat-desc {
	position: absolute;
	bottom: -100%;
	left: -100%;
	width: 255px;
	height: 120px;
	box-sizing: border-box;
	background-color: #ffffff;
	color: #000000;
	border: 3px solid var(--red);
	padding: 20px 20px 20px var(--fd-pad-left);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: 3;
}

.flat-desc-inner {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

.flat-desc-number {
	position: absolute;
	width: 42px;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	left: calc(-1 * (var(--fd-pad-left) + 21px));
	top: 50%;
	transform: translateY(-50%);
	background-color: var(--red);
	color: #ffffff;
	font-size: 18px;
	border-radius: 1000px;
}

#flat-desc.active {
	opacity: 1;
}

.selector-status {
	text-transform: uppercase;
}

.selector-status-free {
	color: red;
}

.flats-svg {
	display: block;
	width: 84%;
	height: auto;
}

.flats-floor-image {
	pointer-events: none;
}

.flat-area polygon {
	cursor: pointer;
	transition: fill 0.3s ease;
}

.flat-area-sold polygon {
	fill: var(--color-sold);
}

.flat-area-reserved polygon {
	fill: var(--color-reserved);
}

.flat-area-free polygon {
	fill: var(--red);
}

.flat-area.active polygon {
	fill: #c4161c;
}

.flats-legend {
	position: absolute;
	top: 0;
	right: 0;
	width: var(--rc-wid);
	background-color: #000000;
	color: #ffffff;
	padding: 0 0 65px var(--fd-pad-left);
	z-index: 1;
	box-sizing: border-box;
	height: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.flats-statuses {
	margin: 0;
	padding: 0;
}

.flats-statuses li {
	margin: 0 0 15px 0;
	padding: 0;
	list-style-type: none;
	line-height: 40px;
	text-transform: uppercase;
}

.flat-color {
	display: inline-block;
	width: 42px;
	height: 42px;
	border-radius: 1000px;
	position: relative;
	top: -1px;
	margin-right: 25px;
}

.flat-color-free {
	background-color: var(--red);
}

.flat-color-reserved {
	background-color: var(--color-reserved);
}

.flat-color-sold {
	background-color: var(--color-sold);
}

.flat-color-not {
	border: 1px solid #ffffff;
}

@media screen and (max-width: 1700px) {
	.flat-color {
		width: 30px;
		height: 30px;
		margin-right: 15px;
	}

	.flats-statuses li {
		margin: 0 0 13px 0;
		padding: 0;
		line-height: 25px;
	}
}

@media screen and (max-width: 1580px) {
	.flats-legend {
		top: auto;
		bottom: 0;
		padding-bottom: 1em;
		justify-content: flex-end;
	}
}

@media screen and (max-width: 1450px) {
	.flat-color {
		width: 15px;
		height: 15px;
		margin-right: 10px;
	}

	.flats-statuses li {
		margin: 0 0 10px 0;
		line-height: 15px;
		font-size: 1rem;
	}
}

@media screen and (max-width: 1040px) {
	.flats-statuses {
		display: flex;
		flex-wrap: wrap;
	}

	.flats-statuses li {
		font-size: 0.9rem;
		width: 40%;
	}

	.flats-statuses li:nth-of-type(2n) {
		width: 60%;
	}

	.floor-link {
		font-size: 0.8em;
	}

	.floor-desc {
		--title-height: 35px;
	}

	.floor-name {
		font-size: 25px;
	}

	.floor-desc {
		font-size: 0.85em;
	}

	.floor-desc-nav {
		top: calc(50% - 44px);
	}
}

.selector-changer {
	display: none;
}

@media screen and (max-width: 980px) {
	.selector-changer {
		display: block;
	}

	#selector {
		display: none;
	}
}