@font-face {
	font-family: "ptss";
	src: url("../fonts/notoseriftc/noto-serif-tc-v8-latin-regular.woff") format("woff"),
	url("../fonts/notoseriftc/noto-serif-tc-v8-latin-regular.woff2") format("woff2");
}

html, body {
	width: 100%;
	max-width: 1200px;
	height: 100vh;
	margin: 0 auto;
	padding: 0;
	font-family: ptss, Sans serif;
	font-size: 15px;
	background-color: #343434;
}

#container {
	width: 95%;
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	color: #f0f0f0;
}

a:link, a:visited, a:hover, a:active {
	color: #f6f6f6;
}

#vis {
	width: 100%;
	height: 80%;
	min-height: 400px;
	max-height: 500px;
	position: relative;
}

svg {
	width: 100%;
	height: 100%;
}

svg rect {
	shape-rendering: crispEdges;
}

.year {
	text-anchor: end;
	fill: #666666;
}

.year.hit {
	fill: #f0f0f0;
}

.ticks {
	text-anchor: middle;
	fill: #666666;
}

.txt_result {
	text-anchor: middle;
	pointer-events: none;
	fill: #f0f0f0;
	stroke: none;
}

.txt_result.bg {
	fill: #191919;
	/*stroke: #ffffff;
	stroke-width: 2px;*/
}

.menu {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	margin-bottom: 1em;
}

.button {
	width: 180px;
	margin: 0.5em 0;
	padding: 0.2em 0.5em;
	cursor: pointer;
	text-align: center;
	background-color: #666666;
	font-weight: bold;
}

.button:hover {
	background-color: #222222;
}

.hl_rect {
	fill: none;
	stroke: #f0f0f0;
	stroke-width: 2px;
	display: none;
}

.tt {
	position: absolute;
	width: 150px;
	font-size: 0.7em;
	pointer-events: none;
	display: none;
}

.tt.moved {
	visibility: hidden;
}

.tt_svg {
	width: 50px;
	height: 30px;
}

.tt_txt {
	padding: 0.3em;
	background-color: rgba(52, 52, 52, 0.9);
}


.arrow {
	stroke: #ffffff;
	fill: none;
}

.arrowhead {
	fill: #ffffff;
}

svg text {
	font-size: 0.8em;
}

.reset, .anno {
	font-size: 0.7em;
	width: 100%;
	text-align: right;
	font-style: italic;
	cursor: pointer;
	margin: 0.5em 0 0 0;
	color: #cccccc;
	display: none;
}

.reset:hover, .anno:hover {
	color: #ffffff;
}

.anno.disabled {
	pointer-events: none;
	color: #666666;
}

.header {
	font-size: 1.5em;
	margin-top: 1em;
}

.intro {
	max-width: 550px;
	margin: 1em 0;
}

.large {
	display: none;
}

@media screen and (min-width: 800px) {
	#vis {
		width: 75%;
	}
	
	.reset, .anno, .tt {
		display: block;
	}
	
	.large {
		display: inline;
	}
}

@media screen and (min-width: 1200px) {
	.tt {
		font-size: 0.8em;
		width: 175px;
}