@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,400italic,700|Roboto:400,400italic,700&subset=latin,cyrillic);

:root {
    --color-green-02: #06b9b133;
    --color-green-03: #06b9b14D;
    --color-green: #06b9b1;
    --color-green-dark: #1d7872;
	--color-blue-02: #4982c533;
    --color-blue-03: #4982c54D;
    --color-blue: #4982c5;
    --color-blue-dark: #376294;
    --color-red: #eb4247;
    --color-red-02: #eb424733;
    --color-red-03: #eb42474D;
    --color-red-dark: #762124;
}

.douchart { 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;
	z-index: 100;
}
#douchart-tooltip.inline { 
	font-family: 'Roboto Condensed', Roboto, Arial, sans-serif;
	width: unset;
	max-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-name { font-size: 15px; margin-top: 2px; }
#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-footer {
	font-size: 12px;
	line-height: 16px;
	font-style: italic;
	color: #999;
	border-top: 1px solid #333;
	padding-top: 5px;
	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-blue-dark);
	background-color: var(--color-blue-02);
    border-color: var(--color-blue-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-blue-dark);
    background-color: var(--color-blue-02);
    border-color: var(--color-blue-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-blue-dark);
	background-color: var(--color-blue-02);
    border-color: var(--color-blue-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;
	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 { text-anchor: middle; }
.douchart.linechart .small-multiplies .label.first text { text-anchor: start; }
.douchart.linechart .small-multiplies .label.last text { 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 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;
	position: relative;
}
.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: 120;
	border-bottom: 1px solid #3d3d3d;
}
.douchart table th.rate {
	text-align: right;
	padding-right: 10px;
}
.douchart table th.staffTech, .douchart table th.staffTotal { 
	cursor: pointer;
}

.douchart table th.staffTech::before, 
.douchart table th.staffTotal::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><path fill='%23C2C2C2' d='M0,0,8,0,4,7,0,0'/></svg>");
	margin: 0 3px 0 -11px;
}
.douchart table th.staffTech.sorted::before, 
.douchart table th.staffTotal.sorted::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><path fill='%233D3D3D' d='M0,0,8,0,4,7,0,0'/></svg>");
}
.douchart table th.staffTech:hover::before, 
.douchart table th.staffTotal:hover::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><path fill='%238D8D8D' d='M0,0,8,0,4,7,0,0'/></svg>");
}
.douchart table th.staffTech.sorted, 
.douchart table th.staffTotal.sorted {
	pointer-events: none;
}
.douchart table th.sorted { background-color: #f8f8f8; }
.douchart table td.sorted { background-color: #3D3D3D09; }

.douchart table td { 
	padding: 5px 5px 8px;
	vertical-align: top;
	border-bottom: 1px solid #3d3d3d26;
}

.douchart table .table-total .col-1 { padding-left: 73px;  }

.douchart table td a,
.douchart table td a:visited {
	color: #3d3d3d;
	text-decoration: none;
}
.douchart table td a:hover { color: #eb4247; }

.douchart table .assumption {
	background-image: url('i/pattern-assumptions_7x7.svg');
	background-size: 7px 7px;
}

.douchart table .col-0 .wrapper { 
	display: flex;
	align-items: center;
	gap: 3px;
}
.douchart table .col-0 span { display: inline-block; }
.douchart table .col-0 .rate-num {
	width: 35px;
	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 .company-row {
	display: flex;
	gap: 5px;
}
.douchart table .company-row img.company-logo {
	width: 63px;
	height: 28px;
	mix-blend-mode: multiply;
	transition: filter .3s;
}
.douchart table tbody tr:hover .company-row img.company-logo {
	filter: grayscale(0) opacity(1);
}
.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-details-block {
	display: flex;
	gap: 5px;
}
.douchart table .company-details-block div:not(:first-child) {
	padding-left: 5px;
	border-left: 1px #c2c2c2 solid;
}
.douchart table .company-since,
.douchart table .company-cities { 
	font-size: 12px;
	line-height: 14px;
	color: #808080;
	cursor: help;
}
.douchart table .company-since:hover,
.douchart table .company-cities:hover {
	color: #2d2d2d;
}

.douchart table .domain { max-width: 250px; }
.douchart table .domain .wrapper,
.douchart table .company-domains {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 5px;
}
.douchart table .domain .wrapper { margin-top: 2px; }
.douchart table .company-domains { margin-bottom: 15px; display: none; }
.douchart table .company-details.global { 
	padding-bottom: 8px;
	border-bottom: 1px solid #E2E2E2;
	margin-bottom: 12px;
}
.douchart table .domain .item,
.douchart table .company-domains .item {
	font-size: 12px;
	line-height: 12px;
	color: #6c6c6c;
	cursor: default;
}
.douchart table .domain .item:not(:last-child)::after {
	content: "|";
	display: inline-block;
	margin-left: 5px;
}

.douchart table .cell-bar-chart {
	width: 80px;
	height: 3px;
	/* position: relative; */
	display: none;
}
.douchart table .cell-bar-chart .bar-progress {
	height: 3px;
	/* background: linear-gradient(to left, #8a37b5, #8a37b54D);	 */
	background: linear-gradient(to left, #4982c5, #4982c54D);	
}

/* .douchart table .staffTotal { 
	width: 125px;
} */
.douchart table .staffTotal .wrapper { 
	display: flex;
}
.douchart table .staffTech { padding-right: 5px; }
.douchart table .staffTotal { padding-left: 15px; }
.douchart table .staffTotal-chart { 
	margin-left: 8px;
	margin-top: 3px;
}
.douchart table .staffTotal-chart path.area {
	fill-opacity: .1;
	stroke: none;
}
.douchart table .staffTotal-chart path.area.tech { fill-opacity: .25; }
.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, .douchart table .staffTech-diff.positive { color: #06b9b1; }
.douchart table .staffTotal-diff.neutral, .douchart table .staffTech-diff.neutral { color: #c0c0c0; }
.douchart table .staffTotal-diff.negative, .douchart table .staffTech-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 .nodata {
	font-size: 12px;
	font-style: italic;
	color: #b3b3b3;
}
.douchart table .staffTotal-info {
	width: 100%;
	max-width: 80px;
}
.douchart table .staffTech-diff {
	font-size: 11px;
	position: relative;
	top: -3px;
	left: 3px;
}
.douchart table .staffTech-share-chart,
.douchart table .staffTotal-share-chart {
	width: 80px;
	height: 12px;
	background: #0000001A;
	cursor: help;
}
.douchart table .staffTech-share-chart *,
.douchart table .staffTotal-share-chart * { pointer-events: none; }
.douchart table .staffTech-share-progress,
.douchart table .staffTotal-share-progress {
	height: 12px;
	/* background: linear-gradient(to left, #8a37b5, #8a37b54D);	 */
	background: linear-gradient(to left, #4982c5, #4982c54D);	
	position: relative;
}
.douchart table .staffTotal-share-progress {
	background: linear-gradient(to left, #6D6D6D, #C2C2C2);	
}
.douchart table .staffTech-share-label,
.douchart table .staffTotal-share-label {
	font-size: 11px;
	font-style: italic;
	position: absolute;
	right: 2px;
	text-align: right;
	color: white;
	opacity: .75;
}
.douchart table .staffTech-share-label.inversed,
.douchart table .staffTotal-share-label.inversed {
	left: 100%;
    margin-left: 2px;
	/* color: #8a37b5; */
	color: #4982c5;
	opacity: .9;
}
.douchart table .staffTotal-share-label.inversed { color: #6D6D6D; }

.douchart table .button .wrapper {
	display: flex;
	flex-direction: column;
	gap: 5px;
	align-items: center;
}
.douchart table .button svg { cursor: pointer; }
.douchart table .button circle {
	fill: #3d3d3d;
	fill-opacity: .1;
	transition: fill-opacity .1s;
}
.douchart table .button line {
	fill: none;
	stroke: #6d6d6d;
	line-clamp: round;
	transition: stroke .1s;
}
.douchart table .active .button circle { fill-opacity: .8; }
.douchart table .active .button line { stroke: white; stroke-width: 1.5; }
.douchart table .button svg:hover circle { fill-opacity: .2; }
.douchart table .button svg:hover line { stroke: #3d3d3d; }
.douchart table .active .button svg:hover circle { fill-opacity: 1; }
.douchart table .active .button svg:hover line { stroke: white; }

.douchart table .details { 
	display: inline-block;
	padding: 0; 
	width: 0; 
	position: relative; 
}
.douchart table .details .wrapper-relative {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 0px;
    overflow: hidden;
	padding: 0;
	z-index: 100;
	border-bottom: none;
}
.douchart table .details .wrapper {
	/* padding: 12px 25px 25px 47px; */
	padding: 12px 20px 18px 42px;
    margin: 0 5px 7px;
    background: white;
    border-radius: 5px;
}
.douchart table .details h4 {
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: .075em;
}
.douchart table .details p,
.douchart table .details li {
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	font-size: 15px;
	line-height: 20px;
}
.douchart table .details p { padding-bottom: 8px; }
.douchart table .details li { padding-bottom: 0; margin-bottom: 6px; }
.douchart table .details p+ul { margin-top: -2px; }
.douchart table tr.active .company-row img.company-logo {
	filter: grayscale(0) opacity(1);
}

.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-color: #f4fafa; } */
.douchart table tbody tr:hover { background-color: #4982c511; }

.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;
	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 text {
	font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
	pointer-events: none;
	text-anchor: start;
}
.doumap .city.large text {
	fill: white;
	text-anchor: middle;
}
.doumap .city .label-name {
	font-size: 16px;
}
.doumap .city.large .label-name { 
	font-size: 18px;
	font-weight: bold;
}
.doumap .city .label-value {
	font-size: 13px;
	font-style: italic;
	opacity: .8;
}
.doumap .city:not(.large) .city-label text { 
	stroke: #fff;
    paint-order: stroke;
    stroke-width: 4px;
    stroke-opacity: .85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media screen and (max-width:660px) {
	.doumap .city.large text {
		fill: #303030;
		text-anchor: start;
	}
	.doumap .city .label-name { font-size: 24px; }
	.doumap .city.large .label-name { font-size: 28px; }
	.doumap .city .label-value { font-size: 20px; }
}

@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;
}

.douchart.beeswarmchart circle {
	fill: #06b9b1;
	cursor: help;
}
.douchart.beeswarmchart circle:hover { 
	fill: orange; 
	stroke: orange;
	stroke-width: 10px;
	stroke-opacity: .3;
}
.douchart.beeswarmchart .grid g:nth-child(even) rect { fill: #00000000; }
.douchart.beeswarmchart .grid g:nth-child(odd) rect { fill: #0000000c; }
.douchart.beeswarmchart .grid .label {
	text-anchor: middle;
	font-size: 14px;
    font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
    fill: gray;
}

#chart-top-products_age.douchart circle {
	fill: #06b9b1;
	cursor: help;
}
#chart-top-products_age.douchart circle:hover { 
	fill: orange; 
	stroke: orange;
	stroke-width: 10px;
	stroke-opacity: .3;
}
#chart-top-products_age.douchart .grid g:nth-child(even) rect { fill: #00000000; }
#chart-top-products_age.douchart .grid g:nth-child(odd) rect { fill: #0000000c; }
#chart-top-products_age.douchart .grid .label {
	text-anchor: middle;
	font-size: 14px;
    font-family: 'Roboto Condensed', 'Roboto', 'sans-serif';
    fill: #303030;
}
#chart-top-products_age.douchart line.baseline {
	stroke: #303030; 
	stroke-opacity: 1; 
	shape-rendering: crispEdges;
}
#chart-top-products_age.douchart image {
	mix-blend-mode: multiply;
	transition: all .3s;
	cursor: help;
}
#chart-top-products_age.douchart image.fade {
	filter: grayscale(1) opacity(.3);
}

.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;
}
.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;
}

@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;
	}

}

@media screen and (max-width: 768px) {
	#chart-top-products_table table { min-width: auto; }
	#chart-top-products_table table tr { line-height: 14px; }

	#chart-top-products_table th:last-child { display: none; }

	#chart-top-products_table th:nth-child(3),
	#chart-top-products_table table .domain,
	#chart-top-products_table table .staffTotal-chart,
	#chart-top-products_table table .staffTech-share-chart,
	#chart-top-products_table table .staffTotal-share-chart { display: none; }

	#chart-top-products_table table .company-domains { display: flex; }

	#chart-top-products_table table .staffTotal { width: unset; }
	#chart-top-products_table .table-total .staffTotal span { margin-left: 0; }
}

@media screen and (max-width: 620px) {
	.douchart table .details h4 { font-size: 12px; }
	.douchart table .details ul, .douchart table .details p { font-size: 13px; }
}

@media screen and (max-width: 500px) {
	.douchart table .details .wrapper { padding: 10px 15px 20px 10px; }
	#chart-top-products_table table .table-total .col-1 { padding-left: 5px; }
	#chart-top-products_table table .company-row img.company-logo { display: none; }
}
@media screen and (max-width: 360px) {
	.douchart table .company-details-block {
		flex-wrap: wrap;
		gap: 0 7px;
	}
	.douchart table .company-details-block div:not(:first-child) { border-left: none; padding-left: 0; }
}

.domains-graph #mesh { display: none; }
.domains-graph .links path {
	fill: none;
	stroke: #b0b0b0;
	stroke-opacity: .3;
	stroke-linecap: round;
	transition: stroke .25s, stroke-opacity .25s;
}
.domains-graph .links path.highlighted {
	stroke: #404040;
	stroke-opacity: .6!important;
}
.domains-graph .links path.faded { stroke-opacity: .0!important; }
.domains-graph .nodes circle { stroke: none; }
.domains-graph .labels g { transition: opacity .25s; }
.domains-graph .labels text {
	font-family: "Roboto";
	font-size: 16px;
	text-anchor: middle;
	fill: #202020;
	stroke: #fff;
	paint-order: stroke;
    stroke-width: 3px;
    stroke-opacity: .3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.domains-graph .labels .domain circle { fill: url(#domain-gradient); }
.domains-graph .labels .domain.highlighted circle { fill: url(#highlighted-gradient); }
.domains-graph .labels .domain.faded circle { fill: url(#faded-gradient); }
.domains-graph .labels .company circle { fill: #fff; }
.domains-graph .labels .company.highlighted circle { fill: gold; }
.domains-graph .labels .company.faded circle { fill: #fff; }
.domains-graph .labels * { transition: fill-opacity .25s, fill .25s; }
.domains-graph .labels .highlighted text { stroke-width: 4px; stroke-opacity: .5; }
.domains-graph .labels .faded { opacity: .3; }

.domains-graph .labels .faded text { fill: #808080; }
.domains-graph .active-zone { cursor: help; }