@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,400italic,700|Roboto:400,400italic,700&subset=latin,cyrillic);

.douchart {
    --color-green-02: #06b9b133;
    --color-green-03: #06b9b14D;
    --color-green: #06b9b1;
    --color-green-dark: #1d7872;
    --color-red: #eb4247;
    --color-red-02: #eb424733;
    --color-red-03: #eb42474D;
    --color-red-dark: #762124;
}

.douchart { 
	font-family: Roboto, Arial, sans-serif;
	width: 100%; 
}

/*   TOOLTIP   */

#douchart-tooltip { 
	font-family: Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	pointer-events: none; 

	position: absolute;
	display: none;
	width: 100%;
	max-width: 150px;
	background: black;
	color: white;
	padding: 8px 15px 12px;
	box-shadow: 10px 10px 0 #00000044;
}
#douchart-tooltip.inline { width: unset; }

#douchart-tooltip .tt-period { 
	margin: 3px 0 0;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 11px;
	line-height: 16px;
	color: #B0B0B0;
}
#douchart-tooltip .tt-period.underlined { padding-bottom: 0; }
#douchart-tooltip .tt-value span { font-weight: bold; }
#douchart-tooltip .tt-note {
	font-size: 14px;
	color: #999;
}
#douchart-tooltip .tt-remark {
	font-family: 'Roboto Condensed', Roboto, Arial, sans-serif;
	padding-right: 5px;
	
	
}
#douchart-tooltip .tt-remark .lower {
	margin-top: 3px;
	font-size: 12px;	
	line-height: 14px;
	font-style: italic;
	color: #d8d8d8;
}
#douchart-tooltip .tt-footer {
	font-size: 12px;
	line-height: 14px;
	font-style: italic;
	color: #999;
	border-top: 1px solid #333;
	padding-top: 3px;
	margin-top: 5px;
}
#douchart-tooltip .tt-point span { font-weight: bold; }
#douchart-tooltip .tt-point.tt-junior span { color: #89e5de; }
#douchart-tooltip .tt-point.tt-middle span { color: #06b9b1; }
#douchart-tooltip .tt-point.tt-senior span { color: #1d7872; }

#douchart-tooltip .underlined {
	padding-bottom: 5px;
	border-bottom: 1px solid #4d4d4d;
	margin-bottom: 7px;
}

#douchart-tooltip .tt-row {
	display: flex;
	gap: 7px;
}
#douchart-tooltip .tt-row-value { 
	font-weight: bold;
	white-space: nowrap;
}
#douchart-tooltip .tt-row-diff,
#douchart-tooltip .tt-diff {
	font-style: italic;
	font-size: 12px;
	margin: -5px 0 0 -3px;
	color: #cdcdcd;
}
#douchart-tooltip .tt-row-diff.positive,
#douchart-tooltip .tt-row-diff.increase,
#douchart-tooltip .tt-diff.increase { color: #06b9b1; }
#douchart-tooltip .tt-row-diff.negative,
#douchart-tooltip .tt-row-diff.decrease,
#douchart-tooltip .tt-diff.decrease { color: #eb4247; }
#douchart-tooltip .tt-vacancies { 
	font-size: 12px; 
	font-style: italic; 
	color: #b0b0b0; 
}


/*   CONTROLS   */
.douchart_toggler {
	display: flex;
	flex-wrap: wrap;
	font-family: 'Roboto Condensed', sans-serif;
    gap: 5px 5px;
    margin-bottom: 10px;
}
.douchart_toggler .item {
	font-size: 15px;
	line-height: 18px;
    padding: 9px 15px 10px;
    border-radius: 5px;
    background-color: #f0f0f0;
    border: 1px solid #e8e8e8;
    color: #3d3d3d;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.douchart_toggler .item:hover {
    color: #0d0d0d;
    background-color: #e8e8e8;
	border-top: 2px solid #d2d2d2;
	padding-top: 8px;
}
.douchart_toggler .item:active {
	color: #3d3d3d;
    border-color: #ddd;
	background-color: #f0f0f0;
}
.douchart_toggler .item.active {
	color: #ffffff;
	background-color: #1d1d1d;
    border-color: #0d0d0d;
    pointer-events: none;
}

.douchart_controls {
	display: flex;
	flex-wrap: wrap;
	font-family: 'Roboto Condensed', sans-serif;
    gap: 2px;
    margin-bottom: 15px;
}
.douchart_controls.mobile {
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.douchart_controls.grouped {
    flex-direction: column;
}
.douchart .douchart_controls .items-group {
    display: flex; 
    flex-wrap: wrap;
    gap: 2px;
}
.douchart .douchart_controls .item { 
    font-size: 13px;
	line-height: 15px;
    padding: 7px 10px 8px;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #eee;
    color: #3d3d3d;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.douchart .douchart_controls .item.just-text {
    pointer-events: none;
    border: none;
    padding: 7px 5px 8px 0;
}
.douchart_controls .item:hover {
    color: #0d0d0d;
    background-color: #f4f4f4;
}
.douchart_controls .item:active {
    border-color: #ddd;
	background-color: #f0f0f0;
}
.douchart_controls .item.active {
	color: var(--color-green-dark);
	background-color: var(--color-green-02);
    border-color: var(--color-green-03);
    pointer-events: none;
}
.douchart_controls.experience .item.active { 
	color: #8a37b5; 
	background-color: #8A37B533;
	border-color: #8A37B54D;
}
.douchart_controls .item.disabled {
	pointer-events: none;
	opacity: .3;
}

.douchart .chart-controls {
	display: flex;
	flex-wrap: wrap;
	font-family: 'Roboto Condensed', sans-serif;
    gap: 2px;
    margin-bottom: 10px;
}
.douchart .chart-controls .chart-filter-button {
    font-size: 13px;
    line-height: 15px;
    padding: 7px 10px 8px;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #eee;
    color: #3d3d3d;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.douchart .chart-controls .chart-filter-button.active {
    color: var(--color-green-dark);
    background-color: var(--color-green-02);
    border-color: var(--color-green-03);
    pointer-events: none;
}
.douchart .chart-controls.experience .chart-filter-button.active {
    color: #8A37B5;
    background-color: #8A37B533;
    border-color: #8A37B54D;
}
.douchart .chart-controls.position .chart-filter-button.active {
    color: #376294;
    background-color: #4982C533;
    border-color: #4982C54D;
}
.douchart .chart-controls.specialisation .chart-filter-button.active {
    color: #AE8F27;
    background-color: #E8BE344D;
    border-color: #E8BE3480;
}


.douchart .chart-filter-button:hover {
    color: #0d0d0d;
    background-color: #f4f4f4;
}
.douchart .chart-filter-button:active {
    border-color: #ddd;
	background-color: #f0f0f0;
}
.douchart .chart-filter-button.active {
	color: var(--color-green-dark);
	background-color: var(--color-green-02);
    border-color: var(--color-green-03);
    pointer-events: none;
}

.douchart .chart-controls.positions { margin-bottom: 7px; }
.douchart .chart-controls.specialisations, .douchart_controls.cities { margin-bottom: 12px; }
.douchart .chart-controls.specialisations .chart-filter-button.active span { color: #8a37b5; border-color: #e2cded; }
.douchart .chart-controls.cities .chart-filter-button.active span { color: #4982c5; border-color: #c2e1ff; }
.widget .douchart .chart-controls { margin-bottom: 3px; }
.widget .douchart .chart-controls.experience .chart-filter-button.active span { color: #8a37b5; border-color: #e2cded; }
.widget .douchart .chart-controls.position .chart-filter-button.active span { color: #4982c5; border-color: #c2e1ff; }
.widget .douchart .chart-controls.specialisation .chart-filter-button.active span { color: #e8be34; border-color: #ffe6a1; }

.douchart .chart-filter-button.disabled {
	pointer-events: none;
	opacity: .3;
}


/*   INFOLINE   */
.douchart_infoline {
    display: flex;
    justify-content: space-between;

    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
    line-height: 15px;
    color: #3d3d3d;
    
    padding: 0 0 5px;
    border-bottom: 1px solid #eee;
    margin: 10px 0 15px;
}
.douchart_infoline.right {
    justify-content: end;
}

.douchart_color-legend { 
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
    line-height: 15px;
    color: #3d3d3d;
	display: inline-block;
}
.douchart_color-legend .item { 
	display: inline-block; 
	margin: 0 15px 0 0;
	line-height: 14px;
}
.douchart_color-legend .item.hidden { display: none; }
.douchart_color-legend .item-mark { 
	display: inline-block;
	margin: 2px 5px 0 0;
	width: 10px;
	height: 10px;
	border-radius: 10px;
}
.douchart_color-legend .tr .item-mark { background-color: #C2E8E5; }
.douchart_color-legend .q1 .item-mark,
.douchart_color-legend .jse .item-mark { background-color: #89e5de; }
.douchart_color-legend .q2 .item-mark,
.douchart_color-legend .se .item-mark { background-color: #06b9b1; }
.douchart_color-legend .q3 .item-mark,
.douchart_color-legend .sse .item-mark { background-color: #1d7872; }
.douchart_color-legend .tl .item-mark { background-color: #e8be34; }
.douchart_color-legend .sa .item-mark { background-color: #8a37b5; }
.douchart_color-legend .item-name { display: inline-block; }



/*   CHART   */
.douchart .row a text {
	text-decoration: underline;
	cursor: pointer;
}
.douchart .row a:hover text,
.douchart .row a:active text { fill: var(--color-red); }
.douchart .label-name {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 15px;
    line-height: 18px;
    fill: #303030;
}
.douchart .label-value {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 16px;
    line-height: 18px;
    fill: #303030;
}
.douchart .label-diff { 
	text-anchor: start; 
	font-size: 12px;
	font-style: italic;
}
.douchart .row { cursor: help; }
.douchart .row .row-back { fill: rgba(0,0,0,.05); opacity: 0; }
.douchart .row:hover .row-back { opacity: 1; }
.douchart .row:hover .label-name { font-weight: bold; }
.douchart .row:hover .label-value { font-weight: bold; }

.douchart .chart-title rect {
	shape-rendering: crispEdges;
	stroke: none;
	fill: white;
}

.douchart .axis.y line {
	shape-rendering: crispEdges;
    stroke-width: 1;
    stroke-opacity: .1;
}
.douchart .axis.y line.baseline {
	stroke: #303030; 
	stroke-opacity: 1; 
}
.douchart .axis.y .domain { display: none; }
.douchart .axis.x .tick line,
.douchart .axis.x path { 
	shape-rendering: crispEdges;
	stroke: #303030; 
    stroke-opacity: .1;
}

.douchart.dual-axis .axis text.label {
	font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
	font-size: 14px;
	fill: #808080;
	stroke: #fff;
	paint-order: stroke;
	stroke-width: 3px;
	stroke-opacity: .85;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.douchart.dual-axis .axis.feedback text {
	fill: #06b9b1;
    font-weight: bold;
}
.douchart.dual-axis .axis.feedback text.label { text-anchor: start; }
.douchart.dual-axis .axis.vacancy text.label { text-anchor: end; }

.douchart .tick text {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
	font-size: 14px;
	fill: #808080;
}
.douchart .axis-title {
	font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
	font-size: 14px;
	fill: #808080;
	text-anchor: end;
}
.douchart .row-guideline {
	shape-rendering: crispEdges;
	stroke: #303030; 
    stroke-opacity: .1;
}

.linechart .line path.tm-area {
	stroke: none;
}
.linechart .line path.tm-line {
	fill: none;
	stroke: #06b9b1;
	stroke-width: 3px;
}

.linechart .mark circle {
	fill: #06b9b1;
	stroke: #06b9b1;
	stroke-opacity: .3;
	stroke-width: 10px;
}

.linechart .mark text {
	text-anchor: middle;
}
.linechart .mark text.label-name {
    font-family: 'Roboto Condensed', sans-serif;
	fill: #303030;
	stroke: #fff;
	paint-order: stroke;
	stroke-width: 3px;
	stroke-opacity: .85;
	stroke-linecap: round;
	stroke-linejoin: round;
    font-size: 16px;
    font-weight: bold;
}
.linechart .mark text.label-value {
    font-size: 12px;
    font-style: italic;
}
.linechart .relative .line path.tm-line {
	stroke: #8c8c8c;
	stroke-width: 1.5px;
}
.linechart .relative .mark circle {
	fill: #8c8c8c;
	stroke: #8c8c8c;
}
.linechart .relative .mark text.label-name {
	font-weight: normal;
	font-size: 16px;
}
.areachart .answers path { stroke: white; }

.linechart .refline,
.areachart .refline {
	shape-rendering: crispEdges;
	fill: none;
	stroke: #0d0d0d;
    stroke-dasharray: 3 2;
    stroke-linecap: round;
}
.linechart .refline .mark circle {
	fill: #06b9b1;
	stroke: #06b9b1;
	stroke-dasharray: none;
	stroke-opacity: .3;
	stroke-width: 10px;
}
.linechart .refline .mark.diff circle {
	fill: #8c8c8c;
	stroke: #8c8c8c;
}
.linechart .refline .mark text {
    font-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	/* font-style: italic; */
	text-anchor: middle;
	fill: #303030;
	stroke: #fff;
	paint-order: stroke;
	stroke-width: 5px;
	stroke-opacity: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.linechart .refline .mark.total text { font-weight: bold; }

.douchart .overlay {
	opacity: 0;
	cursor: help;
}

.linechart-gradient .stop1 { stop-color: rgba(6,185,177,.05); }
.linechart-gradient .stop2 { stop-color: rgba(6,185,177,.4); }

.rangechart .grid .domain,
.dumbbell-plot .grid .domain,
.boxplot .grid .domain { display: none; }

.boxplot .median { fill: none; stroke-width: 2; stroke: #fff; }

.rangechart .point,
.dumbbell-plot .point { 
	stroke: #ffffff;
	stroke-width: 1.5;
}
.dumbbell-plot .point-junior { fill: #89E5DE; }
.dumbbell-plot .point-middle { fill: #06B9B1; }
.dumbbell-plot .point-senior { fill: #1D7872; }
.dumbbell-plot .range {
	fill: none;
	stroke: #0d0d0d;
	stroke-opacity: .2;
	stroke-width: 4px;
	shape-rendering: crispEdges;
}
.rangechart .range {
	fill: none;
	stroke-opacity: .2;
	shape-rendering: crispEdges;
}
.rangechart .median {
	fill: none;
	stroke: #0d0d0d;
	stroke-opacity: .2;
	stroke-width: 3px;
	stroke-linecap: round;
}

.multilines .chart-note {
	color: #999;
	font-style: italic;
	font-size: 14px;
	line-height: 14px;
	margin-bottom: 30px;
}
.areachart .time-block,
.multilines .time-block {
	opacity: 0;
	cursor: help;
	pointer-events: all;
}
.areachart line.area-chart-reference,
.multilines line.area-chart-reference {
	pointer-events: none;
	shape-rendering: crispEdges;
	fill: none;
	stroke: #0d0d0d;
    stroke-dasharray: 3 2;
    stroke-linecap: round;
}
.multilines line.area-chart-date-borders {
	fill: none;
	stroke: #0d0d0d;
	stroke-width: .5;
	stroke-opacity: .2;
	shape-rendering: geometricPrecision;
	pointer-events: none;
}
.areachart .y .domain,
.multilines .y .domain { display: none; }
.multilines .line path {
	fill: none;
	stroke-width: 2;
	pointer-events: none;
}

.chart-salary-area-details {
	position: absolute;
	top: 5px; left: 0;
	width: 180px;
}
.chart-salary-ad-date {
	font-weight: bold;
	border-bottom: 1px #ccc solid;
	margin-bottom: 5px;
}
.chart-salary-ad-row { display: flex; }
.chart-salary-ad-row-value { 
	font-weight: bold; 
	min-width: 50px; 
	text-align: right; 
	margin-right: 7px; 
}

.last-answers {
	font-family: 'Roboto Condensed', sans-serif;
}

.last-answers .date-label { fill: #3d3d3d; font-weight: bold; }
.last-answers .ankety-label { fill: #999; font-size: 14px; font-style: italic; }
.last-answers line.header-line { 
	stroke: #3d3d3d; 
	shape-rendering: crispEdges;
	stroke-width: .5;
}
.last-answers line { stroke: #ccc; }

.areachart .grid { pointer-events: none; }
.answer-info .name-label { font-size: 14px; }
.answer-info .value-label { 
	font-weight: normal; 	
}

.douchart .small-chart .back { opacity: 0; }
.douchart .small-chart:hover .back { opacity: .05; }

.douchart.linechart .frame-name {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	font-weight: bold;
	fill: #333;
}

.douchart.linechart .small-multiplies .line path,
.douchart.linechart .small-multiplies .line path.tm-line {
	fill: none;
}
.douchart.linechart .small-multiplies path.fade {
	fill: none;
	stroke-width: .75px;
	stroke: black;
	stroke-opacity: .3;
}
.douchart.linechart .small-multiplies .line path:not(.highlighted, .highlighted-outline) {
	stroke-width: .5;
	stroke: rgba(0,0,0,.2);
}
.douchart.linechart .small-multiplies .line path.highlighted {
	stroke-width: 2px;
}
.douchart.linechart .small-multiplies .line path.highlighted-outline {
	stroke: white;
	stroke-opacity: .8;
	stroke-width: 5px;
    stroke-linecap: round;
}
.douchart.linechart .small-multiplies .small-chart:hover .line path.highlighted-outline {
	stroke: #f2f2f2; }
.douchart.linechart .small-multiplies .refline {
	stroke-dasharray: none;
}
.douchart.linechart .small-multiplies .axis text {
    font-size: 14px;
    font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
    fill: gray;
}
.douchart.linechart .small-multiplies circle.marker { fill: #06b9b1; }
.douchart.linechart .small-multiplies .label text {
	font-size: 15px;
	fill: #2d2d2d;
	paint-order: stroke;
	stroke: white;
	stroke-width: 4px;
	stroke-opacity: 1;
	stroke-linejoin: round;
	stroke-linecap: round;
}
.douchart.linechart .small-multiplies  .small-chart:hover .label text { stroke: #f2f2f2; }
.douchart.linechart .small-multiplies .label text.label-diff { font-size: 12px; }
.douchart.linechart .small-multiplies .label.middle text { 
	/* font-size: 14px; */
	text-anchor: middle;
}
.douchart.linechart .small-multiplies .label.first text { 
	/* font-size: 14px;  */
	text-anchor: start;
}
.douchart.linechart .small-multiplies .label.last text { 
	/* font-size: 14px; */
	/* font-weight: bold; */
	text-anchor: end; 
}
.douchart.linechart .small-multiplies .up .line path.highlighted { stroke: #eb4247; }
.douchart.linechart .small-multiplies .up circle.marker { fill: #eb4247; }
.douchart.linechart .small-multiplies .down .line path.highlighted { stroke: #06b9b1; }
.douchart.linechart .small-multiplies .down circle.marker { fill: #06b9b1; }
.douchart.linechart .small-multiplies .default .line path.highlighted { stroke: #404040; }
.douchart.linechart .small-multiplies .default circle.marker { fill: #404040; }

.douchart.linechart .small-multiplies .down .markers circle { fill: #06b9b1; }
.douchart.linechart .small-multiplies .up .markers circle { fill: #eb4247; }
.douchart.linechart .small-multiplies .default .markers circle { fill: #404040; }

/* .douchart.linechart .small-multiplies .up .label-value.last
.douchart.linechart .small-multiplies .down .label-value.last
.douchart.linechart .small-multiplies .default .label-value.last */

.douchart table { 
	width: 100%;
	min-width: 640px;
	border-spacing: 0;
	border-collapse: separate;
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	font-size: 14px;
	word-break: normal;
}
.douchart table th { 
	font-size: 12px;
	line-height: 12px;
	font-weight: normal;
	color: #4d4d4d;
	text-align: left;
	padding: 8px 5px 6px;
	vertical-align: bottom;
	position: sticky;
	top: -1px;
	background: white;
	z-index: 100;
	border-bottom: 1px solid #3d3d3d;
}
.douchart table .assumption {
	background-image: url('i/pattern-assumptions_7x7.svg');
	background-size: 7px 7px;
}

.douchart table td { 
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	font-size: 15px;
	padding: 5px 5px 8px;
	vertical-align: top;
	border-bottom: 1px solid #3d3d3d12;
}

.douchart table .table-total .col-2 span { 
	margin-left: 164px;
	white-space: nowrap; 
}
.douchart table .table-total .col-4 { text-align: right; }

.douchart table td a,
.douchart table td a:visited {
	color: #3d3d3d;
	text-decoration: none;
}
.douchart table td a:hover { color: #eb4247; }

.douchart table .col-0 .wrapper { 
	display: flex;
	align-items: center;
	gap: 3px;
	/* padding-right: 10px; */
}
.douchart table .col-0 span { display: inline-block; }
.douchart table .col-0 .rate-num {
	width: 18px;
	text-align: right;
}
.douchart table .col-0 .rate-symb {
	width: 12px;
	text-align: center;
	font-size: 12px;
}
.douchart table .col-0 .rate-symb:not(.negative) { margin-top: -1px; }
.douchart table .col-4 { text-align: right; }
.douchart table .company-name-block { 
	display: flex;
	gap: 3px;
}
.douchart table .company-type {
	width: 15px; height: 15px;
	margin: 1px 0 0 -2px;
	opacity: .4;
	cursor: help;
}
.douchart table .company-type:hover { opacity: 1; }
.douchart table .company-name { font-weight: bold; }
.douchart table .company-dou-data {
	display: inline-block;
	background-color: #3D3D3D22;
    border: 1px solid #6D6D6D;
    color: #3D3D3D;
	font-size: 9px;
	line-height: 13px;
	width: 13px;
	min-width: 13px;
	height: 13px;
	border-radius: 100%;
	text-align: center;
	position: relative;
	top: -3px;
	left: 0;
}
.douchart table .company-dou-data:hover {
	background-color: #3d3d3d; 
	border-color: #3d3d3d; 
	color: white; 
}
.douchart table .company-cities { 
	font-size: 12px;
	line-height: 14px;
	color: #808080;
}
.douchart table .col-2 { 
	width: 235px;
}
.douchart table .col-2 .wrapper { display: flex; }
.douchart table .col-3 { padding-right: 20px; }
.douchart table .staffTotal-chart { 
	margin-right: 8px;
	margin-top: 3px;
}
.douchart table .staffTotal-chart path.area {
	fill-opacity: .1;
	stroke: none;
}
.douchart table .staffTotal-chart line.baseline {
	fill: none;
	stroke: #000;
	stroke-width: 1;
}
.douchart table .staffTotal-chart path.line {
	fill: none;
	stroke-width: 1;
}
.douchart table .staffTotal-chart rect {
	cursor: help;
	opacity: 0;
}

.douchart table .positive .staffTotal-chart circle { fill: #06b9b1; }
.douchart table .neutral .staffTotal-chart circle { fill: #8d8d8d; }
.douchart table .negative .staffTotal-chart circle { fill: #eb4247; }

.douchart table .positive .staffTotal-chart path.area { fill: #06b9b1; }
.douchart table .neutral .staffTotal-chart path.area { fill: #8d8d8d; }
.douchart table .negative .staffTotal-chart path.area { fill: #eb4247; }

.douchart table .positive .staffTotal-chart path.line { stroke: #06b9b1; }
.douchart table .neutral .staffTotal-chart path.line { stroke: #8d8d8d; }
.douchart table .negative .staffTotal-chart path.line { stroke: #eb4247; }

.douchart table .staffTotal-diff.positive { color: #06b9b1; }
.douchart table .staffTotal-diff.neutral { color: #c0c0c0; }
.douchart table .staffTotal-diff.negative { color: #eb4247; }

.douchart table .rate-symb.positive { color: #06b9b1; }
.douchart table .rate-symb.neutral { color: #c0c0c0; }
.douchart table .rate-symb.negative { color: #eb4247; }

.douchart table .company-dou-data,
.douchart table .rate-symb.negative,
.douchart table .rate-symb.positive { cursor: help; }
.douchart table .staffTech-value,
.douchart table .staffTotal-value {
	white-space: nowrap;
}
.douchart table .staffTotal-diff {
	font-size: 11px;
	position: relative;
	top: -3px;
	left: 3px;
	white-space: nowrap;
}
.douchart table .staffTotal-period {
	font-size: 12px;
	line-height: 12px;
	color: #b3b3b3;
	margin-top: -2px;
	opacity: 0;
}

.douchart table .staffTech-share {
	font-size: 11px;
	position: relative;
	top: -3px;
	left: 3px;
}
.douchart table .staffTech-share-chart {
	width: 120px;
	height: 8px;
	background: #e6e6e6;
}
.douchart table .staffTech-share-progress {
	height: 8px;
	background: linear-gradient(to left, #4d4d4d, #c8c8c8);	
}

.douchart table .table-total td {
	font-weight: bold;
	border-top: 1px solid #3d3d3d;
	border-bottom: none;
}
.douchart table .table-total:hover { background: none; }

/* .douchart table tbody tr:hover { background: #f5f5f5; } */
.douchart table tbody tr:hover { background-color: #00000008; }

@media screen and (max-width: 680px) {
	.douchart table { 
		min-width: unset;
		margin-right: 0;
        margin-left: 0;
	}
	.douchart table .staffTotal-chart,
	.douchart table .staffTotal-period,
	.douchart table .staffTech-share-chart { display: none; }
	.douchart table .table-total .col-2 span { margin-left: 0; }
	.douchart table .col-2 { width: auto; padding-right: 20px; }
	.douchart table .company-name { line-height: 16px; }
	.douchart table .company-name-block { margin-bottom: 3px; }
}
@media screen and (max-width: 400px) {
	.douchart table .company-type { display: none; }
}


.doumap svg .region path { 
	fill: #e0e0e0;
	stroke: #f0f0f0;
}
.doumap svg .region path.highlighted { 
	fill: #fbb03b!important; 
	stroke: #fbb03b!important; 
}
.doumap svg .lines { pointer-events: none; }
.doumap svg .lines path { fill: none; }
.doumap svg .lines path.baseline {
	stroke: #303030;
	stroke-width: 1.5;
	stroke-opacity: .5;
	stroke-linecap: round;
}
.doumap svg .lines .faded path.baseline { stroke-opacity: .05; }
.doumap svg path.country.highlighted { fill: #E8BE34!important; }
.doumap svg .lines .highlighted  { opacity: 1!important; }
.doumap svg .notes .note text { 
	font-size: 14px; 
	fill: #404040; 
	text-anchor: end;
}
.doumap svg .notes .note text.name { font-style: normal; }
.doumap svg .notes .note text.value { opacity: .8; text-anchor: end; }
.doumap svg .notes .note rect.background { opacity: 0; }
.doumap svg .notes .note:hover text,
.doumap svg .notes .note.highlighted text { 
	font-weight: bold;
	fill: #06b9b1;
	cursor: help; 
}
.doumap svg .cities circle {
	fill: #06b9b1;
	stroke: #f0f0f0;
	paint-order: stroke;
    stroke-width: 5px;
    stroke-opacity: .8;
    stroke-linecap: round;
    stroke-linejoin: round;
    cursor:  pointer;
}
.doumap svg .cities circle:hover {
	fill: orange!important;
}
.doumap svg .cities circle.faded { fill: #ccc; }
.doumap svg .cities circle.highlighted { fill: #06b9b1; }
.doumap svg .labels text {
	font-size: 9px;
	text-anchor: middle;
	stroke: #fff;
	paint-order: stroke;
    stroke-width: 3px;
    stroke-opacity: .75;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}
.doumap svg .labels .name { font-style: italic; }
.doumap svg .labels .name.active { font-style: normal; font-weight: bold; font-size: 12px; }
.doumap svg .labels .value {
	font-size: 10px;
	font-weight: bold;
}
.doumap svg .labels .value .source { fill: #06b9b1; }
.doumap svg .labels .value .target { fill: #F3812D; }

.doumap svg rect.ocean { fill: white; }
.doumap svg path.country { fill: #f0f0f0; stroke: #f0f0f0; stroke-width: .5; }
.doumap svg path.country.highlighted {
	fill: #fbb03b!important; 
	stroke: #fbb03b!important; 
}
.doumap svg path.country.selected { cursor: help; }
.doumap svg path.country.selected.faded { fill: #ccc!important; }

.doumap .legend { cursor: help; }
.doumap .legend .row-back { fill-opacity: 0; }
.doumap .legend text {
	font-size: 12px;
	font-style: italic;
	fill: #8d8d8d;
}
.doumap .legend path { fill: #8d8d8d; }
.doumap .legend:hover text { fill: #06b9b1; }
.doumap .legend:hover path { fill: #06b9b1; }

.map-companies .item-company { cursor: help; }
.map-companies .item-company.faded { pointer-events: none; }
.map-companies .item-company.faded text { font-style: italic; fill: #ccc; }
.map-companies .item-company:hover text, 
.map-companies .item-company.highlighted text { font-weight: bold; fill: #06b9b1; }
.map-companies .item-company rect { opacity: 0; }
.map-companies .item-company text { font-size: 14px; }

.doumap .company { cursor: help; }
.doumap .company .row-back {
	opacity: 0;
	fill-opacity: .1;
	stroke: #888;
}
.doumap .company text {
	font-family: Roboto, Arial, sans-serif;
	font-size: 14px;
	stroke: #fff;
	paint-order: stroke;
    stroke-width: 4px;
    stroke-opacity: .95;
    stroke-linecap: round;
    stroke-linejoin: round;
	transition: all .25s;
}
.doumap .company path { fill: #4d4d4d; transition: all .25s; }
.doumap .company.highlighted text { fill: #06b9b1; font-weight: bold; }
.doumap .company.highlighted path { fill: #06b9b1; }
.doumap .company.faded { pointer-events: none; }
.doumap .company.faded text {
	fill: #ccc!important;
	/* font-style: italic; */
	transform: skewX(-0.025turn);
}
.doumap .company.faded path { fill: #ccc; transform:  translateX(2px) skewX(-0.025turn); }
.doumap .city circle {
    fill: #06b9b1;
    stroke: #eeeeee;
    transition: all .25s;
    cursor: help;
}
.doumap .city circle.highlighted { fill: #e8be34; }

.doumap .city-label text {
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	pointer-events: none;
	text-anchor: start;
}
.doumap .city-label.large text {
	fill: white;
	text-anchor: middle;
}
.doumap .city-label .label-name {
	font-size: 16px;
}
.doumap .city-label.large .label-name { 
	font-size: 18px;
	font-weight: bold;
}
.doumap .city-label .label-value {
	font-size: 13px;
	font-style: italic;
	opacity: .8;
}
.doumap .city-label:not(.large) .label-name,
.doumap .city-label:not(.large) .label-value {
	stroke: #fff;
	paint-order: stroke;
    stroke-width: 4px;
    stroke-opacity: .95;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.doumap .city-label:not(.large) .label-name { stroke-opacity: .6; }
.doumap .city-label.flagged-end .label-name,
.doumap .city-label.flagged-end .label-value { text-anchor: end; }

@media screen and (max-width:660px) {
	.doumap .city circle { cursor: default; }
	.doumap .city-label.large text {
		fill: #303030;
		text-anchor: start;
	}
	.doumap .city-label .label-name { font-size: 24px; }
	.doumap .city-label.large .label-name { font-size: 28px; }
	.doumap .city-label .label-value { font-size: 20px; }
	.doumap .city-label.large .label-name,
	.doumap .city-label.large .label-value {
		stroke: #fff;
		paint-order: stroke;
		stroke-width: 4px;
		stroke-opacity: .95;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}

@media screen and (max-width:760px) {
	.last-answers .answer-info { pointer-events: none;  }
	.answer-info { 
		stroke: #fff;
		paint-order: stroke;
		stroke-width: 4px;
		stroke-opacity: .9;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}

.answer-info .diff-label { 
	font-style: italic; 
	font-size: 12px;
	fill:  #eb4247;
}
.answer-info .diff-label.positive { fill: #06b9b1; }
.answer-info .diff-label.negative { fill: #eb4247; }

.widget .chart-controls { flex-wrap: wrap; }
.widget .label-name { 
	text-anchor: middle;
	fill: #333;
	font-size: 13px;
}
.widget .bars .label-value { 
	text-anchor: middle; 
	font-size: 15px;
}
.widget line.baseline { 
	fill: none; 
	stroke: #333; 
	stroke-width: 1; 
	shape-rendering: crispEdges; 
}
.widget .bar rect { fill: #06b9b1; }

.douchart:hover .annotation { pointer-events: none; }
.douchart .annotation .note { opacity: .9; }
.douchart svg:hover .annotation .note { 
	opacity: 0;
	transition: opacity .6s; 
}
.douchart .annotation .note text {
	font-family: "Roboto Condensed", "Roboto", sans-serif;
	font-size: 13px;
	font-weight: 300;
	fill: #303030;

	stroke: #fff;
    paint-order: stroke;
    stroke-width: 5px;
    stroke-opacity: .6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.douchart .annotation .note path {
	fill: none;
	stroke: #303030;
	stroke-width: .5;
}

#chart-socdem {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
}
#chart-socdem object {
	width: 100%;
	max-width: 400px;
}

@media screen and (max-width: 740px) {
	#chart-socdem object { 
		max-width: 600px; 
		margin-left: auto;
		margin-right: auto; 
	}
}

@media screen and (max-width: 620px) {

	#chart-socdem object {
		margin-right: 0 !important;
		margin-left: 0 !important;
		max-width: unset !important;
	}

}

.douchart.part-to-whole .chart {
	display: flex;
	box-sizing: content-box;
}
.douchart.part-to-whole .chart .item {
	overflow: hidden;
	max-height: 80px;
	padding: 10px;
	border-radius: 5px;
    border: 1px white solid;
	cursor: help;
}
.douchart.part-to-whole .chart .label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: white;
}
.douchart.part-to-whole .chart .label .value {
	font-size: 18px;
	line-height: 20px;
	font-weight: bold;
	white-space: nowrap;
}
.douchart.part-to-whole .chart .label .name {
	font-size: 14px;
	line-height: 16px;
	max-width: 100px;
	min-width: 75px;
}