@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');

body {
	font-family: 'Roboto', 'Arial', sans-serif;
	font-size: 14px;
	color: #000;
	padding: 0px;
	margin: 0px;
	background: #ffffff;
}

.cat_page {
	background: #FFF;
}

.cat_header {
	background: #FFF;
}

.cat_bg {
	background: #FFF;
	color: #999;
	fill: #999;
}

.cat_left {
	width: 25px;
}
.cat_padd_left {
	padding-left: 25px;
}
@media all and (max-width: 900px) {.cat_padd_left {padding-left: unset;}}

.cat_button {
	position: relative;
	cursor: pointer;
	border-radius: 3px;
	/*font-size: 14px;*/
	border: none;
	box-shadow: 0 0 0 1px #57B;
	text-decoration: none;
}

.cat_button_height,
.cat_button_reserve_height {
	height: 40px;
}

.cat_button_font_size,
.cat_button_reserve_font_size {
	font-size: 14px;
}

.cat_button .cen {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.cat_button.gab {
	padding: 5px 15px;
}

.cat_button.mar {
	margin: 0px 10px 10px 0px;
}

.cat_button.abs {
	position: absolute;
}

.cat_button:disabled,
.cat_button[disabled] {
	cursor: not-allowed;
	opacity: 0.33;
}

.cat_input {
	position: relative;
	padding: 5px 15px;
	border-radius: 3px;
	font-size: 14px;
	border: none;
	box-sizing: border-box;
}

.cat_a {
	text-decoration: underline;
	color: #69C;
	cursor: pointer;
}

.cat_bord {
	box-shadow: 0 0 0 1px #57B;
	color: #57B;
	fill: #57B;
	border: none;
	background: none;
}

.cat_bord:hover {
	box-shadow: 0 0 0 1px #359;
	color: #359;
	fill: #359;
}

.cat_borover {
	box-shadow: none;
}

.cat_borover:hover {
	box-shadow: 0 0 0 1px #57B;
}

.cat_exit {
	box-shadow: 0 0 0 1px #BBB;
	color: #BBB;
	fill: #BBB;
	border: none;
	background: #FFF;
}

.cat_exit:hover {
	box-shadow: 0 0 0 1px #999;
	color: #999;
	fill: #999;
}

.cat_fill {
	background: #69C;
	fill: #FFF;
	color: #FFF;
	border: none;
}

.cat_fill:hover {
	background: #57B;
}

.cat_fill_white {
	fill: #FFF;
	color: #FFF;
}

.cat_fill_white:hover {
	background: #57B;
}

.cat_ctrl {
	color: #000;
	fill: #000;
	background: rgb(255, 204, 17);
	box-shadow: 0 0 0 1px rgb(255, 204, 17);
}

.cat_ctrl:hover {
	background: rgb(255, 212, 50);
}

.cat_have {
	color: #000;
	fill: #000;
	background: #EE6;
}

.cat_void {
	box-shadow: none;
	color: #777;
	fill: #777;
	border: none;
}

.cat_void:hover {
	color: #555;
	fill: #555;
}

.cat_grey {
	background: #FFF;
	box-shadow: 0 0 0 1px #E2E2E2;
	fill: #555;
	color: #555;
	border: none;
}

.cat_grey:hover {
	background: #F9F9F9;
	fill: #000;
	color: #000;
}

.cat_ftint {
	color: #57B;
	fill: #57B;
}

.cat_fgrey {
	color: #777;
	fill: #777;
}

.cat_farow {
	color: #CCC;
	fill: #CCC;
}

.cat_shadow {
	box-shadow: 0 0 3px 1px #CCC;
}

.cat_icons {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 32px;
	height: 32px;
	transform: scale(1) translate(-50%, -50%);
}

.cat_wwmark {
	position: absolute;
}

#genplan.cat_wwmark {
	position: relative;
}

.cat_wwmark .dot {
	fill: #FFF;
	stroke: #C30;
	stroke-width: 16;
}

.cat_wwmark .view {
	fill: #feed00
}

.cat_crminit {
	display: none;
}

/* _______LABELS_______ */

.cat_label {
	position: absolute;
	width: 0px;
	height: 0px;
}

.cat_label .ico {
	position: absolute;
	cursor: pointer;
}

.cat_label:hover .ico {
	cursor: pointer;
	/* animation: cat_label_ani 1s ease-in-out infinite; */
}

.cat_label .ani {
	position: relative;
}

.cat_label:hover .ani {
	position: relative;
	/* animation: cat_label_ani 2.5s ease-in-out infinite; */
}

@keyframes cat_label_ani {
	0% {
		bottom: 0px;
	}

	50% {
		bottom: 9px;
	}

	100% {
		bottom: 0px;
	}
}

/* _______SVG_______ */

.cat_svg {
	cursor: pointer;
	stroke-width: 0.0;
}

.cat_svg.lev:hover {
	stroke-width: 5;
	fill-opacity: 0.5;
	z-index: 99;
}

.cat_svg.bg_0 {
	stroke: #aaaaaa;
	fill: #eeeeee;
	fill-opacity: 0.75;
	z-index: 1;
}

.cat_svg.bg_1 {
	stroke: rgb(154, 231, 158);
	fill: rgb(154, 231, 158);
	fill-opacity: 0;
	z-index: 1;
}

.cat_svg.bg_1:hover {
	fill-opacity: 0;
}

.cat_svg.bg_2 {
	stroke: #f5eb8f;
	fill: #faf5c3;
	fill-opacity: 0.75;
	z-index: 1;
}

.cat_svg.bg_3 {
	stroke: #aaaaaa;
	fill: #eeeeee;
	fill-opacity: 0.75;
	z-index: 1;
}

.cat_svg.fasad {
	stroke: #3E9B39;
	stroke-width: 0;
	fill: #3E9B39;
	fill-opacity: 0;
}

.cat_svg.fasad:hover {
	stroke-width: 2;
	fill-opacity: 0.5;
}

.cat_svg.genplan {
	stroke: #3E9B39;
	stroke-width: 0;
	fill: #3E9B39;
	fill-opacity: 0;
}

.cat_svg.genplan:hover {
	stroke-width: 2;
	fill-opacity: 0.5;
}

.cat_svg.level {
	stroke: #9ae79e;
	fill: #9ae79e;
	fill-opacity: 0;
	z-index: 1;
}

.cat_svg.level:hover {
	stroke-width: 5;
	fill-opacity: 0;
}

.cat_svg.grey {
	stroke: #CCC;
	stroke-width: 0;
	fill: #EEE;
	fill-opacity: 0;
}

.cat_svg.grey:hover {
	stroke-width: 2;
	fill-opacity: 0.5;
}

.cat_svg.select {
	stroke-width: 5;
	stroke: rgb(64, 187, 26);
	fill: rgb(154, 231, 158);
	fill-opacity: 0.25;
}

/* _______CHESS_______ */

.cat_chess {
	position: relative;
}

.cat_chess sup {
	font-size: 6px;
}

.cat_chess.bg_0 {
	background: #DDD;
}

.cat_chess.acc_0 {
	background: #DDD;
}
/*
.cat_chess.acc_0:hover {
	box-shadow: 0 0 0 3px #AAA;
}
*/
.chess_apa:hover .cat_chess.acc_2 {
	box-shadow: 0 0 0 3px #DDD;
}

.cat_chess.bg_1 {
	background: #d2fac3;
}

.cat_chess.acc_1 {
	background: #9ae79e;
}
/*
.cat_chess.acc_1:hover {
	box-shadow: 0 0 0 3px #40bb1a;
}
*/
.chess_apa:hover .cat_chess.acc_2 {
	box-shadow: 0 0 0 3px #9ae79e;
}

.cat_chess.bg_2 {
	background: #f5eb8f;
}

.cat_chess.bg_3 {
	background: #999;
	color: #FFF;
}

.cat_chess.acc_2 {
	background: #f5eb8f;
}
/*
.cat_chess.acc_2:hover {
	box-shadow: 0 0 0 3px #ddbf3b;
}
*/
.chess_apa:hover .cat_chess.acc_2 {
	box-shadow: 0 0 0 3px #f5eb8f;
}

.cat_chess.acc_3 {
	background: #999;
	visibility: hidden;
}

/* _______MENU_______ */

.cat_menu {
	position: relative;
	display: inline-block;
	padding: 6px;
	margin: 0px;
	cursor: pointer;
	text-decoration: none;
	color: #000;
}

.cat_menu.cel {
	position: relative;
	display: table-cell;
	padding: 0px;
	vertical-align: middle;
}

.cat_menu label {
	cursor: pointer;
}

.cat_menu:hover>.fake {
	display: block;
}

.cat_menu input[type="radio"] {
	display: none;
	margin: 0;
	padding: 0;
}

.cat_menu .fake {
	position: absolute;
	display: none;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 3px;
	z-index: 1;
}

.cat_menu.select .fake {
	display: block;
}

.cat_menu .fake::before {
	content: "";
	position: absolute;
	display: block;
	top: 0px;
	left: 0px;
	background: #69C;
	width: 100%;
	height: 100%;
}

.cat_menu input[type="radio"]:checked~.fake {
	display: block;
}

/* _______MENUP_______ */

.cat_menup {
	cursor: pointer;
	color: #DDD;
	white-space: nowrap;
	padding: 0px 20px 0px 0px;
}

.cat_menup .fake {
	position: absolute;
	display: none;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 5px;
	background: #69C;
	z-index: 2;
}

.cat_menup:hover .fake {
	display: block;
}

.cat_menup input:checked~.fake {
	display: block;
}


/* _______ANOTHER_______ */

.cat_com {
	display: ruby;
}

.cat_scrollbar {
	overflow: auto;
	scrollbar-width: 3px;
	scrollbar-color: #D9D9D9 #E7E7E7;
}

/* полоса прокрутки (скроллбар) */
.cat_scrollbar::-webkit-scrollbar {	
	height: 6px;
	width: 3px;
	/*background-color: #143861;*/
}

/* ползунок скроллбара */
.cat_scrollbar::-webkit-scrollbar-track {
	background: #F5F5F5;
	border-radius: 3px;
}

.cat_scrollbar::-webkit-scrollbar-thumb {
	background-color: #E7E7E7;
	border-radius: 3px;
	/*border: 1px solid #D9D9D9;*/
}

/* Стрелки */
/*
.cat_scrollbar::-webkit-scrollbar-button:vertical:start:decrement {
    background: linear-gradient(120deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(240deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(0deg, #02141a 30%, rgba(0, 0, 0, 0) 31%);
    background-color: #f6f8f4;
}

.cat_scrollbar::-webkit-scrollbar-button:vertical:end:increment {
    background:
        linear-gradient(300deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(60deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(180deg, #02141a 30%, rgba(0, 0, 0, 0) 31%);
    background-color: #f6f8f4;
}

.cat_scrollbar::-webkit-scrollbar-button:horizontal:start:decrement {
    background:
        linear-gradient(30deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(150deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(270deg, #02141a 30%, rgba(0, 0, 0, 0) 31%);
    background-color: #f6f8f4;
}

.cat_scrollbar::-webkit-scrollbar-button:horizontal:end:increment {
    background:
        linear-gradient(210deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(330deg, #02141a 40%, rgba(0, 0, 0, 0) 41%),
        linear-gradient(90deg, #02141a 30%, rgba(0, 0, 0, 0) 31%);
    background-color: #f6f8f4;
}
*/
/* /Стрелки */

.cat_btnplalist {
	border-radius: 3px;
	box-shadow: 0 0 0 1px #999;
	color: #999;
	font-size: 12px;
}


/* _______SLIDER_______ */

.ui-slider {
	position: relative;
	background: rgb(124, 124, 124);
}

.ui-slider .ui-state-default,
.ui-slider .ui-widget-header .ui-state-default {
	border: none;
	background: rgb(85, 119, 187);
	border-radius: 50%;
}

.ui-slider .ui-slider-handle {
	position: absolute;
	outline: none;
	z-index: 2;
	width: 16px;
	height: 16px;
	cursor: pointer;
	touch-action: none;
}

.ui-widget-content {
	background-color: rgb(210, 210, 210);
	height: 3px;
}

.ui-widget-header {
	position: absolute;
	background-color: rgb(102, 153, 204);
	height: 3px;
}

.ui-slider-horizontal {
	height: 3px;
}

.ui-slider-horizontal .ui-slider-handle {
	top: -7px;
	margin-left: -8px;
}

.ui-slider-vertical {
	width: 3px;
}

.ui-slider-vertical .ui-slider-handle {
	left: -7px;
	margin-bottom: -8px;
}

/* _______MEDIA_______ */

@media all and (max-width: 900px) {
	.cat_icons {
		transform: scale(0.5) translate(-100%, -100%);
	}

	.cat_icons.t {
		transform: scale(0.75) translate(-75%, -75%);
	}

	.cat_com {
		display: none;
	}

}

.cat_hint {
	padding: 10px 10px;
	background: #FFF;
	color: #f17f15;
	line-height: 1.5
}


/* панель фильтров */
@media (max-width: 900px) {
	.cat_bg {
		/*background: #fff !important;*/
	}
}

@media (min-width: 901px) {
	.btn_filter_panel_block {
		display: none;
	}
}

/* /панель фильтров */

.animated {
	transition: all 0.5s cubic-bezier(0, .5, .5, 1);
}

.cat_adm_passive {
	opacity: 0.4;
}

.cat_adm_active {
	opacity: 1;
}

.cat_hint_monochrome {
	background-color: #000;
	color: #fff;
	line-height: 1.5;
	padding: 0.8em;
}

.adm_btn {
	padding: 5px 8px;
	cursor: pointer;
	box-shadow: 0 0 0 1px #bbb;
	border-radius: 3px;
}
.adm_btn:hover{
	background: #eee;
	/*box-shadow: 1px 1px 0 1px #999;*/
	box-shadow: 0 0 0 1px #999;
}
.adm_btn.active {
	/*border: 1px solid black;*/
	box-shadow: 0 0 0 1px #000;
}
