@import url(https://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700|PT+Sans:400,400italic,700&subset=latin,cyrillic);

.chart-tooltip { 
	font-family: PT Sans Narrow, PT Sans, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	pointer-events: none; 
}
.chart-transparent { opacity: 0; }
.dou-charts-mobile { display: none; }

.dou-chart .name-label {
	font-family: "PT Sans", sans;
    fill: #0d0d0d;
    line-height: 18px;
}
.dou-chart .value-label {
	font-family: "PT Sans Narrow", "PT Sans", sans;
	width: 25px;
    text-align: right;
	margin-right: 5px;
}
.dou-table .uncut {
	display: inline-block;
	text-decoration: none;
    border-bottom: 1px dashed #1876ac;
    color: #1876ac;
    cursor: pointer;
    margin-top: -5px;
}
.dou-table .uncut:hover {
	color: #f93703;
	border-bottom-color: #f93703;
}

.dou-table .neutral { color: #b3b3b3; }
.dou-table .positive { color: #06b9b1; }
.dou-table .negative { color: #eb4247; }
.dou-table table {
	font-family: 'PT Sans';
	font-size: 14px;
	color: black;
	border-spacing: 0;
    border-collapse: separate;
    margin-left: 0;
    margin-right: 0;
}
.dou-table table th {
	font-size: 12px;
	line-height: 12px;
	font-weight: bold;
	color: #4d4d4d;
	text-align: left;
	padding: 8px 6px 6px;
	border-bottom: 1px solid black;
	vertical-align: bottom;
	position: sticky;
	top: 0px;
	background: white;
	z-index: 100;
}

.dou-table table th.number div {
	text-align: right;
	width: 25px;
	cursor: help;
}

.dou-table table th select {
	width: 100%;
	padding: 3px 5px;
}

.dou-table table .align-right { text-align: right; }
.dou-table table .border-right { border-right: 1px solid rgba(0,0,0,.3); }
.dou-table table .table-total td {
	font-weight: bold;
	border-top: 1px solid black;
}

.dou-table table td {
	padding: 15px 6px 18px;
	vertical-align: top;
	font-size: 15px;
}
.dou-table table td a {
	color: #189891;
	text-decoration: none;
}
.dou-table table td a:hover { color: #eb4247; }
.dou-table table tbody tr:hover, .dou-table table tbody tr.highlighted { background: #e7f8f8; }
.dou-table table .table-total:hover { background: none; }

.dou-table table th span.tr-go {
	font-style: italic;
	font-weight: normal;
	text-decoration: underline;
	cursor: pointer;
	display: inline-block;
	margin-top: 3px;
	opacity: .6;
}
.dou-table table th span.tr-go:hover { color: #f93703; }

#table-general.dou-table table thead th { padding-bottom: 17px; }
#table-general.dou-table table thead th:not(:nth-child(2)) { cursor: pointer; }
#table-general.dou-table table thead th:not(:nth-child(2))::before {
	content: "";
	display: inline-block;
	border-width: 6px;
	border-style: solid;
	border-color: rgba(0,0,0,.1) transparent transparent transparent;
	position: absolute;
	bottom: 0;
	right: 5px;
	transition: background-color .1s, color .1s;
}
/*#table-general.dou-table table thead th:hover::before*/
#table-general.dou-table table thead th:hover::before {
	border-color: rgba(0,0,0,.4) transparent transparent transparent;
}
#table-general.dou-table table thead th.sorted::before {
	border-color: rgba(0,0,0,.7) transparent transparent transparent;
	pointer-events: none;
}
#table-general.dou-table table thead th.reversed:not(:nth-child(2))::before {
	border-color: transparent transparent rgba(0,0,0,.1) transparent;
	bottom: 6px;
}
#table-general.dou-table table thead th.sorted.reversed:not(:nth-child(2))::before {
	border-color: transparent transparent rgba(0,0,0,.7) transparent;
}

#table-general svg { 
	width: 100%;
	height: 1px;
	overflow: visible;
}
#table-general svg .table-head { font-size: 11px; font-weight: bold; }
#table-general svg .table-body text { font-size: 14px; }
#table-general svg line.border { fill: none; stroke: #333; stroke-width: 1; }
#table-general svg .row:nth-child(odd) .row-bg { fill: #fff; }
#table-general svg .row:nth-child(even) .row-bg { fill: #f2f2f2; }
#table-general svg .link { 
	fill: none; 
	stroke: #333; 
	stroke-width: 1; 
	stroke-linecap: round;
	opacity: .1; 
	transition: stroke .25s, stroke-width .25s, opacity .25s; 
}

#table-general svg .track { cursor: help; }
#table-general svg .track.highlighted text { font-weight: bold; fill: #06b9b1; }
#table-general svg .track.highlighted line.link { stroke-width: 3; stroke: #06b9b1; opacity: 1; }


.dou-table table tbody td.sorted { font-weight: bold; background: #f8f8f8; }
.dou-table table thead th.sorted { background: #f8f8f8; }
.dou-table table tbody tr:hover td.sorted, .dou-table table tbody tr.highlighted td.sorted { background: #dbebeb; }

.dou-table table td.nowrap {
	width:1%;
    white-space:nowrap;
}

.dou-table table div.rank { display: flex; justify-content: flex-end; }
.dou-table table .rank span { display: inline-block; }
.dou-table table .rank .value-label {
	text-align: right;
	width: 25px;
	margin-right: 2px;
}

.dou-table table .rank .symbol {
	width: 20px;
	text-align: center;
	font-size: 12px;
	margin-top: 1px;
	cursor: help;
}

.dou-table table div.rate { 
	display: flex; 
}
.dou-table table .rate span { display: inline-block; }
.dou-table table .rate-num {
	text-align: right;
	width: 30px;
	margin-right: 3px;
}
.dou-table table .rate-symb {
	width: 20px;
	text-align: center;
	font-size: 12px;
	margin-left: 2px;
}

.dou-table .cell-chart { display: flex; }
.dou-table .value-label {
	text-align: right;
	width: 45px;
	margin-right: 5px;
}

.dou-table .bar {
	margin-top: 3px;
	width: 100%;
	height: 12px;
}
.dou-table .bar .progress {
	height: 12px;
	background-color: #06b9b1;
}

.chart-controls {
	display: flex;
	flex-wrap: wrap;
	margin: 5px 0 10px;
}
.chart-controls select option:disabled { color: #aaa; font-style: italic; }
.chart-controls div { 
	margin-right: 8px; 
	margin-bottom: 5px; 
	line-height: 14px;
}
.chart-filter-button span {
	display: inline-block;
	height: 14px;
	color: #777;
	border-bottom: 5px #ccc solid;
	cursor: pointer;
}
.chart-filter-button.active span {
	color: #06b9b1;
	border-bottom-color: #b5eae8;
}
.chart-filter-button.active { pointer-events: none; }
.chart-filter-button:hover span {
	color: #eb4247;
	border-bottom-color: #f9c7c8;	
}

.widget {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.widget-table {
	width: 100%;
	max-width: 350px;
	margin-right: 30px;
}

.map {
	width: 100%;
}
.map svg {
	width: 100%;
	height: 1px;
	overflow: visible;
}
.map svg path.highlighted { 
	fill: #fbb03b!important; 
	stroke: #fbb03b!important; 
}
.map .mlabel-value {
	font-size: 15px;
	font-weight: bold;
}
.map .mlabel-rank {
	font-size: 12px;
	font-style: italic;	
	fill: #999;
}
.map .mlabel-city {
	font-size: 14px;
}
.map .label text {
	text-anchor: middle;
	fill: #fff;
	font-size: 12px;
	stroke: #000;
    paint-order: stroke;
    stroke-width: 3px;
    stroke-opacity: .3;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}
.map .label text.name { font-size: 12px; font-style: italic; }
.map .label text.value { font-size: 14px; font-weight: bold; }

.widget-details { width: 100%; }
.barcode-series { 
	width: 100%; 
	max-width: 290px;
	margin-right: 10px;
	margin-bottom: 25px; 
}
.barcode { 
	width: 100%;
	border-left: #fff 5px solid;
	padding: 10px 10px 12px;
	cursor: pointer;
}
.barcode .bc-title { 
	font-size: 14px; 
	line-height: 16px; 
	margin-bottom: 3px; 
}
.barcode.subjective .bc-title { font-style: italic; }
.bc-legend {
	font-style: italic;
	font-size: 13px;
	line-height: 14px;
	margin-top: 15px;
	padding-top: 10px;
	color: #808080;
	position: relative;
}
.bc-legend::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	display: block;
	width: 30px;
	height: 1px;
	background: #ccc;
}
.bc-chart {
	display: flex;
	justify-content: space-between;
}
.bc-chart .value {
	width: 50px;
	font-size: 12px;
	line-height: 12px;
	margin-top: 3px;
	opacity: .8;
}
.bc-chart .value.min { text-align: right; margin-right: 5px; }
.bc-chart .value.max { text-align: left; margin-left: 5px; }
.bc-chart .bar {
	background: rgba(0,0,0,.08);
	height: 12px;
	position: relative;
}
.bc-chart .bar .strip {
	position: absolute;
	top: 0;
	height: 12px;
	width: 0;
	border-right: 1px solid rgba(255,255,255,.6);
}
.barcode:hover { 
	background: #e5e5e5; 
}
.barcode.active { 
	border-left-color: #06b9b1;
	background: #eee; 
	pointer-events: none; 
}
.barcode.subjective.active { border-left-color: #8a37b5; }

.barcode .bar .strip.highlighted { 
	border-right: 1px solid #000!important; 
	margin: -2px 0 -2px; 
	height: 16px;
}

#table-tooltip {
	font-family: PT Sans Narrow, PT Sans, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	pointer-events: none; 
	background: black;
	color: white;
	position: absolute;
	padding: 6px 15px 8px 10px;
	display: none;
	z-index: 1000;
	width: 100%;
	max-width: 160px;
}
#table-tooltip::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	margin-left: -12px;
	border-width: 6px;
	border-style: solid;
	border-color: transparent #000 transparent transparent;
}

#table-tooltip .tt-city {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #333;
	margin-bottom: 5px;
	padding-bottom: 3px;
	color: #fff;
}
#table-tooltip .tt-details {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
}
#table-tooltip .tt-row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	line-height: 14px;
	margin-bottom: 5px;
}
#table-tooltip .tt-row.tt-active {
	padding-bottom: 7px;
	border-bottom: 1px solid #333;
}
#table-tooltip .tt-row:not(.tt-active) {
	color: #808080;
}
#table-tooltip .tt-value {
	white-space: nowrap;
	font-weight: bold;
	margin-left: 8px;
}
#table-tooltip .tt-details div:nth-child(2) { font-weight: bold; }

#table-zhitte .widget .widget-details { position: sticky; top: 0; }

@media screen and (max-width:768px) {

	.dou-charts-desktop { display: none; }
	.dou-charts-mobile { 
		display: block; 
		margin: 0 15px 0 20px;
	}

	.dou-table table { 
		min-width: auto; 
		display: table;
	}
	.dou-table table tr { line-height: 14px; }
	
	.chart-controls.mobile { flex-wrap: wrap; margin-bottom: 10px; }
	.chart-controls.mobile .chart-filter-button { margin-bottom: 5px; }
	.chart-controls.mobile .chart-filter-button span { height: auto; }

	.dou-table table th, .dou-table table td { 
		word-wrap: normal!important; 
		word-break: normal!important; 
	}

	#table-general.dou-table table thead th { padding-bottom: 6px; }
	#table-general.dou-table table thead th::before { display: none!important; }

	.dou-table table td {
		font-size: 15px;
		padding: 10px 6px 12px;
	}

}