.visualization {
	background: slategray;
	font-family: Helvetica Neue, Helvetica, sans-serif;
}
.visualization .map path {
	stroke: silver /* hip af */;
	stroke-width: 1;
	z-index: 1;
}
.visualization .map path.hovered {
	stroke: tomato;
	stroke-width: 3;
	z-index: 1000;
}
.visualization .empty-filter {
	pointer-events: none;
}
.visualization .empty-filter rect {
	fill: gainsboro;
	opacity: 0.4;
}
.visualization .empty-filter text {
	font-size: 32pt;
	text-anchor: middle;
}
.visualization .beat-indicator {
	text-anchor: end;
	fill: oldlace;
	text-shadow: 0 2px 3px darkslategray;
	pointer-events: none;
	font-size: 48pt;
	font-weight: 100;
}
.visualization .legend text {
	fill: oldlace;
	text-shadow: 0 2px 3px darkslategray;
	text-anchor: end;
}
.visualization .legend line {
	stroke: oldlace;
}
.visualization .legend .legend-dot {
	fill: tomato; 
	stroke: black;
}
#filters {
	margin: 0 0 0.5em 0;
}
#filters fieldset {
	position: relative;
	margin: 0;
	padding: 0 0.5em;
	border: 1px solid gainsboro;
}
#filters fieldset legend {
	margin: 0;
	border: 0;
	padding: 0;
	font-weight: bold;
}
#filters fieldset ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
#filters fieldset li {
	display: block;
	float: left;
	width: 20%;
}
#filters fieldset li.wider {
	width: 40%;
}
#filters fieldset li label {
	display: block;
	padding: 0.1em 0.2em;
}
#filters fieldset li label:hover {
	background: #eee;
}
#filters fieldset label.all {
	position: absolute;
	top: 0;
	right: 1em;
	font-style: italic;
	background: white;
}
html.has-fieldset-positioning-bug #filters fieldset label.all {
	top: -1.1em;
}
#filters fieldset input {
	vertical-align: middle;
}
