@import url(https://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700|PT+Sans:400,400italic,700&subset=latin,cyrillic);

:root {
	--dark-bg: #35363a;
	--dark-bg-darker: #232426;
	--dark-bg-darker2: #2e2f31;
	--dark-bg-lighter: #4d4e54;
	--dark-bg-lighter2: #4a4b4f;
	--dark-bg-lighter3: #62636a;
	--dark-text: #bdc1c6;
	--dark-text-alfa: #bdc1c644;
	--dark-text2: #acb0b5;
	--dark-heading: #f2f2f2;
	--purple: #9c30b6;
	--purple-alfa: #9c30b644;
	--purple-dark: #81008a;
	--purple-dark-alfa: #81008a44;
	--red: #eb4247;
	--red-alfa: #eb424744;
}

.chart-transparent { opacity: 0; }

.chart-title {
	font-family: 'PT Sans';
	font-size: 18px;
	font-weight: 700;
}

.dou-charts-mobile { display: none; }

#chart-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;
	top: 30px; 
	left: 30px;
	padding: 10px 15px 15px;
	display: none;
	min-width: 80px;
	width: 100%;
	max-width: 150px;
}
#chart-tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 14px;
	margin-left: 0;
	border-width: 6px;
	border-style: solid;
	border-color:  #000 transparent transparent transparent;
}

#chart-tooltip .tt-name { font-size: 16px; }
#chart-tooltip .tt-name span {
	margin-left: 7px;
	font-style: italic;
}
#chart-tooltip .tt-name span.positive { color: #06b9b1; }
#chart-tooltip .tt-name span.negative { color: #eb4247; }

#chart-tooltip .tt-info {
	margin-top: 5px;
	border-top: 1px solid #666;
	padding-top: 5px;
}
#chart-tooltip .tt-info .row {
	display: flex;
	justify-content: space-between;
}
#chart-tooltip .tt-info .value-label,
#chart-tooltip .tt-info .row .value-label {
	font-weight: bold;
}

.dou-table { margin-bottom: 25px; max-width: 450px; }
.dou-table .tb-thead, .dou-table .tb-row-resume { display: flex; justify-content: space-between; }
.dou-table .tb-cell { 
	width: 100%; 
	font-size: 14px;
	line-height: 1.3em;
	padding: 4px 5px 2px;
}
.dou-table .tb-thead { 
	align-items: flex-end; 
	border-bottom: 1px solid black;
	position: sticky;
	background: white;
	z-index: 100;
	top: 0;
}
.dou-table.dark .tb-thead {
	background: var(--dark-bg);
	border-bottom-color: var(--dark-text);
}
.dou-table .tb-thead .tb-cell {
	font-size: 12px;
	line-height: 12px;
	color: #4d4d4d;
	padding: 8px 5px 6px;
}
.dou-table.dark .tb-thead .tb-cell { color: var(--dark-text2); }
.dou-table .tb-cell.rate { max-width: 30px; text-align: right; }
.dou-table .tb-cell.value { 
	padding-right: 15px; 
	max-width: 130px; 
	display: flex;
}
.dou-table .tb-cell.openPositions { max-width: 60px; text-align: right; }
.dou-table .tb-cell.staffTech { max-width: 120px; }

.dou-table .tb-row { border-bottom: 1px solid #ddd; }
.dou-table.dark .tb-row { 
	border-bottom-color: var(--dark-bg-darker); 
	background: var(--dark-bg);
	color: var(--dark-text2); 
}
.dou-table .tb-row.active { background: #f5f5f5; }
.dou-table.dark .tb-row.active { background: var(--dark-bg-darker2); color: var(--dark-text); }
.dou-table .tb-row:not(.total) .tb-row-resume:hover { background: #f5f5f5; }
.dou-table.dark .tb-row:not(.total) .tb-row-resume:hover { background: var(--dark-bg-darker); color: #fff; }
.dou-table .tb-row.active .tb-row-resume:hover { background: #e9e9e9; }
.dou-table.dark .tb-row.active .tb-row-resume:hover { background: var(--dark-bg-darker); }
.dou-table .tb-row-details { height: 0px; overflow: hidden; font-size: 14px; line-height: 18px; }
.dou-table .tb-row-details .wrapper { 
	padding: 15px 0 20px; 
	margin: 5px 15px 10px 45px; 
}
.dou-table .tb-row.total {
	font-weight: bold;
	border-top: solid 1px black;
	border-bottom: none;
}
.dou-table.dark .tb-row.total { border-top-color: var(--dark-text); }
.dou-table .tb-row.total .tb-cell.value span { margin-left: 54px; }

.dou-table .company-name-block { display: flex; }
.dou-table a.company-name { font-weight: bold; color: var(--purple-dark); text-decoration: none; }
.dou-table.dark a.company-name { color: var(--purple); }
.dou-table a.company-name:hover { color: var(--red); }
.dou-table .company-dou-data {
	display: inline-block;
	background-color: #b3b3b3;
	color: white;
	font-size: 8px;
	line-height: 10px;
	width: 10px;
	min-width: 10px;
	height: 10px;
	border-radius: 100%;
	text-align: center;
	position: relative;
	top: 0; left: 3px;
	cursor: help;
}
.dou-table.dark .company-dou-data {
	background-color: var(--dark-bg-lighter);
	color: var(--dark-text);
}
.dou-table .company-details {
	display: inline-block;
	color: #808080;
	font-size: 20px;
	line-height: 18px;
	height: 10px;
	text-align: center;
	position: relative;
	top: 0; left: 3px;
	cursor: help;	
}
.dou-table.dark .company-details { color: var(--dark-text2); }
.dou-table .company-cities { 
	font-size: 12px;
	line-height: 12px;
	color: #808080;
}
.dou-table.dark .company-cities { color: var(--dark-text2); }

.dou-table .staffTech-share {
	font-size: 12px;
	position: relative;
	top: -5px;
	left: 5px;
}
.dou-table .staffTech-share-chart {
	width: 120px;
	height: 8px;
	background: #cccccc;
	margin-top: 1px;
}
.dou-table.dark .staffTech-share-chart { background: var(--dark-bg-lighter2); }
.dou-table .staffTech-share-progress {
	height: 8px;
	background: #81008a;	
}

.dou-table .neutral { color: #b3b3b3; }
.dou-table .positive { color: #06b9b1; }
.dou-table .negative { color: #eb4247; }
.dou-table .value-chart { 
	margin-right: 8px;
	margin-top: 3px;
}
.dou-table .value-chart path.area {
	fill: var(--purple-dark);
	fill-opacity: .1;
	stroke: none;
}
.dou-table.dark .value-chart path.area { fill: var(--purple); }
.dou-table .value-chart line.baseline {
	fill: none;
	stroke: #000;
	stroke-width: 1;
}
.dou-table .value-chart path.line {
	fill: none;
	stroke: var(--purple-dark);
	stroke-width: 1;
}
.dou-table.dark .value-chart path.line { stroke: var(--purple); }
.dou-table .value-chart circle.marker { fill: var(--purple-dark); }
.dou-table.dark .value-chart circle.marker { fill: var(--purple); }
.dou-table .value-chart rect {
	cursor: help;
	opacity: 0;
}
.dou-table .company-dou-data,
.dou-table .rate-symb.negative,
.dou-table .rate-symb.positive { cursor: help; }
.dou-table .value-diff {
	font-size: 12px;
	position: relative;
	top: -4px;
	left: 3px;
}
.dou-table .value-period {
	font-size: 12px;
	line-height: 12px;
	color: #b3b3b3;
	margin-top: -2px;
	opacity: 0;
}
.dou-table .uncut {
	display: inline-block;
	text-decoration: none;
    border-bottom: 1px dashed #1876ac;
    color: #1876ac;
    cursor: pointer;
    margin-top: 10px;
}
.dou-table .uncut:hover {
	color: #f93703;
	border-bottom-color: #f93703;
}

.dou-chart .name-label {
	font-family: "PT Sans", sans;
	text-anchor: end;
	font-size: 15px;
    fill: #0d0d0d;
}
.dou-chart.dark .name-label { fill: var(--dark-text); }
.dou-chart .value-label {
	font-family: "PT Sans Narrow", "PT Sans", sans;
    text-anchor: start;
    font-size: 14px;
}
.dou-chart .bar-chart .name-label {
	font-family: "PT Sans", sans;
    fill: #0d0d0d;
    font-size: 15px;
    line-height: 18px;
}
.dou-chart.dark .bar-chart .name-label { fill: var(--dark-text); }
.dou-chart .bar-chart .value-label {
	font-family: "PT Sans Narrow", "PT Sans", sans;
	width: 25px;
    text-align: right;
	margin-right: 5px;
}

.dou-chart .bar-chart { margin-bottom: 25px; }
.dou-chart .bar-chart .row { 
	display: block;
	margin-bottom: 5px;
}

.dou-chart.bar-chart .row {
	display: flex;
	padding: 2px 0 3px 0;
	align-items: center;
	cursor: pointer;	
}
.dou-chart.bar-chart .row * { pointer-events: none; }
.dou-chart.bar-chart .row:hover { background-color: rgba(0,0,0,.05); }
.dou-chart.bar-chart.dark .row:hover { background-color: rgba(255,255,255,.05); }
.dou-chart.bar-chart .row .name-label {
	width: 100%;
    max-width: 165px;
    margin-right: 7px;
    text-align: right;
    font-size: 15px;
    line-height: 16px;
	color: #0d0d0d;
}
.dou-chart.bar-chart .row:hover .name-label { font-weight: bold; }
.dou-chart.bar-chart.long-names .row { display: block; }
.dou-chart.bar-chart.long-names .row .name-label { max-width: unset; text-align: left; margin: 0 0 2px 0; }
.dou-chart.bar-chart.dark .row .name-label { color: var(--dark-text); }
.dou-chart.bar-chart.dark .row:hover .name-label { color: #fff; }
.dou-chart.bar-chart .bars { width: 100%; }
.dou-chart.bar-chart .bars .bar { 
	width: 100%;
	height: 20px; 
	background-color: #ccc;
	position: relative;
}
.dou-chart.bar-chart .row .value-label { 
	margin-left: 5px; 
	position: absolute;
	left: 0;
	top: -1px;
}
.dou-chart.bar-chart .row .value-label.shifted { left: 100%; }

.dou-chart.bar-chart.bar-compound .bars .bar .including {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	right: 0;
	width: 100%;
}
.dou-chart.bar-chart.bar-compound .bars .bar .added-bar { 
	width: 100%;
	height: 20px; 
	background-color: #ccc;
	position: relative;
}


.dou-chart .control-panel {
    display: flex;
    align-items: end;
    font-size: 14px;
    line-height: 16px;
    color: #000;
    margin-bottom: 24px;
}
.dou-chart.dark .control-panel { color: var(--dark-text); }

.dou-chart .control-panel .ctrl-item {
	margin-right: 15px;
    cursor: pointer;
}
.dou-chart .control-panel .ctrl-item span { border-bottom: 1px dashed #000; }
.dou-chart.dark .control-panel .ctrl-item span { border-bottom-color: var(--dark-text); }
.dou-chart .control-panel .ctrl-item svg {
	overflow: visible;
	margin: 2px 5px 0 0;
}
.dou-chart .control-panel .ctrl-item svg * { fill: var(--purple-dark); }
.dou-chart.dark .control-panel .ctrl-item svg * { fill: var(--purple); }
.dou-chart .control-panel .ctrl-item.closed svg * { fill: none; }
.dou-chart .control-panel .ctrl-item.closed svg line { stroke: var(--purple-dark); stroke-width: 4; }
.dou-chart.dark .control-panel .ctrl-item.closed svg line { stroke: var(--purple); }

.dou-chart .control-panel .ctrl-item.active {
    font-weight: bold;
    pointer-events: none;
}
.dou-chart .control-panel .ctrl-item.active span { border-bottom: none; }

.cep-controls { 
	margin-bottom: 15px; 
	line-height: 14px;
	margin-bottom: 8px;
}
.cep-controls .cep-controls-item {
	display: inline-block;
	height: 14px;
	color: #777;
	border-bottom: 5px #ccc solid;
	margin-right: 7px;
	cursor: pointer;
}
.dark .cep-controls .cep-controls-item {
	color: var(--dark-text);
	border-bottom: 5px var(--dark-text-alfa) solid;
}
.cep-controls .cep-controls-item:hover {
	color: var(--red);
	border-bottom-color: var(--red-alfa);
}
.cep-controls .cep-controls-item.active {
	color: var(--purple-dark);
	border-bottom-color: var(--purple-dark-alfa);
	pointer-events: none;
}
.dark .cep-controls .cep-controls-item.active {
	color: var(--purple);
	border-bottom-color: var(--purple-alfa);
}
.cep-chart { margin-bottom: 15px; }
.cep-group {
	display: flex;
	align-items: center;
	padding: 5px;
}
.cep-group:nth-child(even) { background-color: none; }
.cep-group:nth-child(odd) { background-color: rgba(0,0,0,.05); }
.dark .cep-group:nth-child(odd) { background-color: rgba(255,255,255,.05); }
.cep-group-name {
	width: 100%;
	max-width: 80px;
	text-align: center;
	line-height: 16px;
}
.cep-group-items {
	width: 100%;
}
.cep-item { 
	display: flex;
	margin-bottom: 3px;
}
.cep-item.indented { margin-top: 10px; }
.cep-item.bolded { font-weight: bold; }
.cep-item-name { 
	width: 100%;
	max-width: 165px; 
	margin-right: 7px;
	text-align: right;
	font-size: 15px; 
	line-height: 15px;
}
.cep-group .cep-item-name { max-width: 80px; }
.cep-item-bars {
	width: 100%;
	display: flex;
	position: relative;
}
.cep-item-bar {
	height: 20px;
}
.cep-item-bar:hover {
	border: 1px black solid;
	margin-top: -1px;
	margin-bottom: -1px;
	margin-left: -2px;
}
.cep-grid-20 {
	width: 100%;
	display: flex;
	justify-content: center;
	position: absolute;
	pointer-events: none;
}
.cep-grid-20 .grid-mark {
	width: 20%;
	display: flex;
	justify-content: center;
}
.cep-grid-20 .grid-mark::before {
	content: "";
	display: block;
	height: 20px;
	width: 1px;
	background-color: #fff;
	opacity: .6;
}
.dark .cep-grid-20 .grid-mark::before { background-color: var(--dark-bg); }

.cep-x-axis {
	margin-bottom: 10px;
	display: flex;
}
.cep-x-axis.left-padded { margin-left: 172px; }
.cep-x-axis.labeled { position: relative; }
.cep-x-axis.labeled .axis-label { 
	display: inline-block;
	position: absolute; 
	left: -60px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
    font-size: 15px;
    color: #999;

}
.cep-x-axis .wrapper { display: flex; }
.cep-x-axis .tip { 
	border-bottom: 1px #999 solid;
	display: flex; 
	flex-direction: column;
}
.cep-x-axis .tip-name {
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-size: 14px;
	color: #999;
}
.cep-x-axis .tip-mark {
	width: 1px;
	height: 5px;
	background-color: #999;
}
.dou-chart .chart-legend-item { 
	margin-right: 25px; 
	display: flex; 
	align-items: center;
}
.dou-chart .chart-legend-item-mark { 
	margin-right: 5px; 
	margin-bottom: 2px; 
	width: 15px;
	min-width: 15px;
	height: 15px;
	min-height: 15px;
	border-radius: 100%;
}
.dou-chart .jse .chart-legend-item-mark { background-color: #89e5de; }
.dou-chart .se .chart-legend-item-mark { background-color: #06b9b1; }
.dou-chart .sse .chart-legend-item-mark { background-color: #1d7872; }

.cep-chart-legend {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
	justify-content: center;
}
.cep-chart-legend .legend-item {
	display: inline-block;
	display: flex;
	margin: 0 12px 10px;
}
.cep-chart-legend .color-marker {
	display: block;
	width: 10px;
	min-width: 10px;
	height: 10px;
	min-height: 10px;
	border-radius: 10px;
	margin: 2px 5px 0 0;
}
.cep-chart-legend .color-value {
	font-style: italic;
	font-size: 14px;
	line-height: 14px;
	color: #666;
	display: inline-block;
} 
.dark .cep-chart-legend .color-value { color: var(--dark-text2); }

.chart-dou-tooltip-cep {
	position: absolute;
	display: none;
	width: 100%;
	max-width: 120px;
	background: black;
	color: white;
	padding: 8px 15px 10px;
	pointer-events: none;
	font-size: 15px;
	z-index: 1000;
}
.chart-dou-tooltip-cep .ct-info { display: flex; } 
.chart-dou-tooltip-cep .ct-share {
	font-size: 15px;
	font-weight: bold;
	margin-right: 5px;
}

.chart-dou-tooltip-cep .ct-name {
	font-size: 15px;
	display: inline-block;
}
.chart-dou-tooltip-cep .ct-notes {
	font-size: 12px;
	font-style: italic;
	margin-top: 5px;
	color: #999;
}
.chart-dou-tooltip-cep .ct-row {
	margin-bottom: 5px;
}
.chart-dou-tooltip-cep .ct-row .ct-row-value { font-size: 14px; font-weight: bold; }
.chart-dou-tooltip-cep .ct-row .ct-row-value span { font-weight: normal; }
.chart-dou-tooltip-cep .row {
	display: flex;
	justify-content: space-between;
	font-size: 15px;
}
.chart-dou-tooltip-cep .value-label,
.chart-dou-tooltip-cep .row .value-label {
	font-weight: bold;
}

.dou-charts-desktop,
.dou-charts-mobile,
.dou-chart { background-color: #fff; }
.dou-chart.dark { background-color: var(--dark-bg); }

@media screen and (max-width:1200px) {}
@media screen and (max-width:768px) {
	.dou-charts-desktop { display: none; }
	.dou-charts-mobile { 
		display: block; 
		margin: 0 15px 0 20px;
	}
}

@media screen and (max-width:590px) {
	.cep-chart-legend .color-value { text-align: center; }
}
@media screen and (max-width:450px) {
	#table-tooltip { max-width: 160px; }
}
@media screen and (max-width:400px) {
	.dou-chart .control-panel { flex-wrap: wrap; }
	.dou-chart .control-panel .ctrl-item { margin-bottom: 7px; }

	.cep-item-name { max-width: 145px; }
	.cep-x-axis.left-padded { margin-left: 152px; }
	
}