/* main menu styling */
body {
	font-family: sans-serif;
}

main, .chartRegion {
	width: 900px;
	max-width: 100%;
	margin: 0 auto;
}

.chartRegion {
	margin-bottom: 100px;
}

#disclaimer {
	background-color: #e9e9e9;
	border-left: 4px solid #c6c6c6;
	padding: 8px;
}

#inputerror {
	background-color: #ffd3d3;
	border-left: 4px solid #ec5656;
	padding: 8px;
	display: none;
}

#inputerror p {
	margin: 4px 0;
}

#datepanel {
	display: flex;
	align-items: center;
	font-size: 1.5em;
	margin: 0.83em 0 0.83em 0;
	font-weight: bold;
}

#datepanel input {
	margin-left: 10px;
}

.unavailable {
	background-color: #0d6efd;
	height: 50%;
}

.chart {
	max-width: 700px;
}

/* tab control styling */
.tab {
	display: flex;
	justify-content: center;
	margin: 40px 0;
}

.tab img {
	vertical-align: middle;
	margin-right: 5px;
}

.tab button {
	border: none;
	border-radius: 5px;
	background-color: #e9e9e9;
	cursor: pointer;
	margin: 0 10px;
	padding: 14px 16px;
}

.tab button:hover {
	background-color: #afc6e8;
}

.tab button.tablinkactive {
	background-color: #0d6efd;
	color: white;
}

.tab button.tablinkactive img {
	filter: invert(100%);
}

.tabcontent {
	display: none;
}

/* table styling */
table {
	border-collapse: collapse;
	margin: 0 auto;
	overflow: clip;
}

table th:first-child {
	top: -50px;
	left: 0;
	text-align: right;
	padding: 0 10px;
	font-weight: normal;
}

tbody > tr:hover { /* for row hover selection */
	background-color: #9ec5fe;
}

tr {
	height: 30px;
}

td {
	position: relative;
	min-width: 30px;
	background-color: rgba(200, 200, 200, 0.4);
	height: inherit;
	padding: 0;
}

td:hover::after { /* for column hover selection */
	content: "";
	position: absolute;
	background-color: #9ec5fe;
	left: 0;
	top: -5000px;
	height: 10000px;
	width: 100%;
	z-index: -1;
}

th {
	position: sticky;
	top: 0;
	background-color: white;
	z-index: 100;
}

th > img {
	vertical-align: middle;
}

th > span {
	margin-right: 5px;
	vertical-align: middle;
}

th > small {
	color: #888;
	vertical-align: middle;
}
