@charset "utf-8";
/* CSS Document */

/* Вспомогательные классы для позиционирования */
.ex_abs {
	position: absolute;
}

.ex_rel {
	position: relative;
}

.ex_cen {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.ex_vcen {
	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
}

.ex_wrap {
	display: inline-block;
}

/* Стили для иконок на генплане */
.cat_label {
	position: absolute;
	width: 0px;
	height: 0px;
	z-index: 3 !important;
	overflow: visible !important;
}

a.cat_label {
	text-decoration: none !important;
	color: inherit !important;
	cursor: pointer !important;
}

a.cat_label:hover {
	text-decoration: none !important;
	opacity: 0.9;
}

.cat_label * {
	opacity: 1 !important;
	visibility: visible !important;
}

.cat_label .ico {
	position: absolute;
	cursor: pointer;
	opacity: 1 !important;
	visibility: visible !important;
}

.cat_label:hover .ico {
	cursor: pointer;
}

.cat_label .ani {
	position: relative;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.cat_label:hover .ani {
	position: relative;
	opacity: 0.9;
}

.cat_label .cat_svg {
	position: relative;
}

.cat_label .bg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	position: relative;
	text-align: center;
	min-width: 41px !important;
	min-height: 20px;
}

.cat_label .content {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	text-align: center;
	line-height: 1;
}

.cat_label .content b,
.cat_label .content span,
.cat_label .content .ex_wrap {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

.cat_label svg {
	display: block !important;
	width: 100%;
	height: 100%;
	opacity: 1 !important;
	visibility: visible !important;
	fill-opacity: 1 !important;
}

.cat_label svg path {
	display: block;
	opacity: 1 !important;
	visibility: visible !important;
	fill-opacity: 1 !important;
}

.cat_label .fill {
	display: block;
	opacity: 1 !important;
	visibility: visible !important;
	fill-opacity: 1 !important;
}

.cat_label .ex_abs {
	opacity: 1 !important;
	visibility: visible !important;
}

.cat_label .ex_abs svg {
	width: 100%;
	height: 100%;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.cat_label .ex_abs .svg {
	width: 100%;
	height: 100%;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.cat_label .ex_rel {
	opacity: 1 !important;
	visibility: visible !important;
}

[class*="in_cat_b"] {
	cursor: pointer;
	border: none;
	text-decoration: none;
}
.in_cat_bhave {
	box-shadow: 0 0 0 1px #fc1;
	background: #fc1;
	fill: #fff;
	color: #fff;
	font-weight: bold;
}
.in_cat_bhave:hover {
	background: #fb0;
}
.in_cat_bempt {
	background: none;
	fill: #999;
	color: #555;
}
.in_cat_bempt:hover {
	box-shadow: 0 0 0 1px #ccc;
	background: #eee;
	color: #333;
}
.in_cat_bgrey {
	background: none;
	fill: #ccc;
	color: #ccc;
}
.in_cat_bgrey:hover {
	fill: #fc1;
	color: #fc1;
}

.in_svg_area {
	stroke: #000;
	stroke-width: 0;
	fill: #f70;
	fill-opacity: 0;
	cursor: pointer;
}
.in_svg_area:hover,
.in_svg_area.hover {
	stroke-width: 0.5;
	fill-opacity: 0.5;
}
.in_svg_grey {
	stroke: #000;
	stroke-width: 0.1;
	fill: #eee;
	fill-opacity: 0;
}
.in_svg_grey:hover {
	stroke-width: 0.5;
	fill-opacity: 0.5;
}
.in_svg_sold {
	stroke: #fff;
	stroke-width: 0.5;
	fill: #eee;
	fill-opacity: 0.85;
}

.cat_svg.hover {
    stroke-width: 2;
    fill-opacity: 0.5;
}


#wrapGenplanImage {
    display: block;
    position: relative;
    width: 100%;
    overflow: visible;
}

@media (max-width: 1024px) {
	#wrapGenplanImage {
		overflow: auto;
		scrollbar-width: none;
	}

	#wrapGenplanImage::-webkit-scrollbar {
		color: transparent;
		height: 0;
	}
}

#wrapGenplanImage h2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 25px;
	margin-bottom: 25px;
	width: 100%;
	font-weight: 600;
	text-align: center;
}

#wrapGenplanImage h2 .subcap {
	font-weight: 400;
	border-bottom: 3px solid #fc1;
}

#wrapGenplanImage h2 svg {
	display: inline-block;
	height: 24px;
	fill: #000;
	transform: rotate(180deg);
}


#genplanImage {
	position: relative;
	width: 100%;
	max-width: 100% !important;
	cursor: grab;
    overflow: visible;
}

#genplanImage .svgimg {
	width: 100%;
	height: auto;
}

#genplanImage .svgbox {
	width: 100% !important;
	height: 100% !important;
}

@media (max-width: 1024px) {
	#wrapGenplanImage h2 {
		padding: 0 20px;
	}

	#genplanImage {
		overflow: auto;
		scrollbar-width: none;
	}

	#genplanImage::-webkit-scrollbar {
		color: transparent;
		height: 0;
	}
}
