@font-face {
	font-family: "Jetbrains Mono";
	src: url("/fonts/JetBrainsMono.ttf") format("truetype-variations");
	font-style: normal;
	font-weight: 100 900;
}

@font-face {
	font-family: "Montserrat";
	src: url("/fonts/Montserrat.ttf") format("truetype-variations");
	font-style: normal;
	font-weight: 100 900;
}

@font-face {
	font-family: "Segoe Fluent Icons";
	src: url("/fonts/SegoeFluentIcons.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
}

:root {
	--size-unit: calc(1em / 16);
	--size-border-radius: 0.5em;
	--size-default: 1em;
	--size-small: 0.5em;
	--size-tiny: 0.25em;
	--color-black: #171717;
	--color-accent: #0078D4;
	--color-accent-text: #FFF;
	--color-accent-dark: #006CBE;
	--color-text: #717171;
	--color-background: #F7F7F7;
	--color-table-border: #dedede;
	--color-control-inactive: #eeeeee;
	--size-details-panel: calc(var(--size-default) * 50);
	--shadow-container: 0 2px 4px -2px rgba(0, 0, 0, 0.5);
}

svg {
	overflow: visible;
}

body {
	height: 100vh;
	overflow: hidden;
	font-family: "Jetbrains Mono";
}

.root-container {
	height: 100%;
	width: 100%;
	position: relative;
}

.root-container .details {
	position: absolute;
	z-index: 401;
	right: calc(var(--size-details-panel) * -1);
	top: 0;
	width: var(--size-details-panel);
	max-height: 100%;
	transition: right 0.25s cubic-bezier(0.19, 1, 0.22, 1);
	overflow: auto;
}

.root-container.selected .details {
	right: 0;
}

.map {
	position: relative;
	width: 100%;
	height: 100%;
}

marker-big {
	--icon-ratio: calc(4/3);
	--icon-width: 32px;
	--icon-anchor-offset-x: -0.5;
	--icon-anchor-offset-y: -0.89;
	font-size: 150%;
}

marker-normal {
	--icon-ratio: 1;
	--icon-width: 24px;
	--icon-anchor-offset-x: -0.5;
	--icon-anchor-offset-y: -0.5;
	font-size: 120%;
}

marker-small {
	--icon-ratio: 1;
	--icon-width: 18px;
	--icon-anchor-offset-x: -0.5;
	--icon-anchor-offset-y: -0.5;
	font-size: 100%;
}

marker-big,
marker-normal,
marker-small {
	--icon-height: calc(var(--icon-width) * var(--icon-ratio));
	--svg-fill-background: var(--color-background);
	--svg-selection-scale: 0;
	margin: 0;
	overflow: visible;
	width: var(--icon-width);
	height: var(--icon-height);
	left: calc(var(--icon-width) * var(--icon-anchor-offset-x));
	top: calc(var(--icon-height) * var(--icon-anchor-offset-y));
	font-family: inherit;
	position: absolute;
}

project-solution+project-solution {
	margin-top: var(--size-default);
}

project-stages project-solution {
	margin-left: var(--size-default);
	margin-right: var(--size-default);
}

.leaflet-popup-content-wrapper {
	border-radius: var(--size-border-radius);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	box-shadow: var(--shadow-container);
}

.details {
	padding: 0 var(--size-default);
	font-weight: 300;
	line-height: 150%;
	clear: both;
}

.details::before,
.details::after {
	content: "\a0";
	display: block;
	width: 100%;
	height: var(--size-default);
}

project-data-big table {
	width: 100%;
	border-bottom: var(--size-unit) solid var(--color-table-border);
}

project-data-big td {
	padding: var(--size-default);
}

project-data-big tr td {
	border-top: var(--size-unit) solid var(--color-table-border);
}

project-data-big tr:nth-child(2n - 1) td {
	background-color: rgba(0, 0, 0, 0.0125);
}

project-data-big project-solution:first-of-type::before {
	display: block;
	content: "Комплексные решения";
	text-align: center;
	text-transform: uppercase;
	font-size: 150%;
	font-family: "Montserrat";
	font-weight: 600;
	padding: var(--size-default) 0;
	color: var(--color-accent);
}