body {
	font-family: sans-serif;
	background: black;
	color: #e0e0e0;
	margin: 1em 2em;
}
@media (prefers-color-scheme: light) {
	body {
		background: white;
		color: black;
	}
}

a, a:visited {
	color: #80c0ff;
}
@media (prefers-color-scheme: light) {
	a, a:visited {
		color: #0080ff;
	}
}

.maxwidth {
	max-width: 40em;
}

.selectbox, .selectbox:visited {
	color: inherit;
	display: block;
	border: 1px solid;
	padding: 0.5em;
	margin-bottom: 1em;
}
.selectbox h2 {
	margin: 0;
}
.line-display {
	
}
.line-color {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -10%;
}

table {
	/* font-family: monospace; */
}
thead {
	text-align: left;
}
table a, table a:visited {
	color: inherit;
}
table .time {
	font-family: monospace;
}
.transfer-missed {
	opacity: 70%;
	text-decoration: line-through;
}
.transfer-tight {
	font-size: smaller;
	color: #ffff00;
}
.transfer-go {
	font-size: smaller;
	color: #80e080;
}
.transfer-you {
	font-size: smaller;
}
@media (prefers-color-scheme: light) {
	.transfer-tight {
		background-color: #ffff00;
		color: black;
	}
	.transfer-go {
		color: #008000;
	}
}

.line-display {
	font-size: larger;
}

.upcoming-trains {
	/* font-family: monospace; */
}
.upcoming-trains h3 {
	margin-bottom: 0.5em;
}
.arrivals {
	font-size: larger;
}
.arrivals a, .arrivals a:visited {
	color: inherit;
}

.columns {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: stretch;
}
@media (max-width: 500px) {
	.columns {
		flex-direction: column;
	}
}
.column {
	flex-grow: 1;
	border: 1px solid;
	margin: 0.5em;
	padding: 0.5em;
}
.column h2 {
	margin-top: 0;
}
ul.stoplist {
	border-left: 0.2em solid;
	margin-left: 0.5em;
	padding-left: 0;
	list-style: none;
}
.stoplist li {
	margin-left: -0.6em;
}
.stoplist li::before {
	content: "⚫\fe0e";
	color: var(--linecolor);
	width: 1em;
	display: inline-block;
	text-align: center;
}
.stoplist a, .stoplist a:visited {
	font-size: larger;
	color: inherit;
}

.infobox {
	max-width: 40em;
	border: 1px solid;
	border-left: 4px solid;
	border-color: #40c0ff;
	background-color: #40c0ff40;
	padding: 1em;
}
.infobox.tip::before {
	content: "🛈 Tip";
	display: block;
	font-weight: bold;
	font-size: 125%;
	margin-bottom: 0.5em;
	color: #40c0ff;
}
.infobox.error {
	border-color: #ff8080;
	background-color: #ff808040;
}
.infobox.success {
	border-color: #80ff80;
	background-color: #80ff8040;
}
.infobox:empty {
	display: none;
}
@media (prefers-color-scheme: light) {
	.infobox {
		border-color: #0080ff;
		background-color: #0080ff40;
	}
	.infobox.tip::before {
		color: #0080ff;
	}
	.infobox.success {
		border-color: #00c000;
		background-color: #00c00040;
	}
}

.no-results {
	font-size: 150%;
	margin: 1em;
	font-style: italic;
	font-weight: 200;
	opacity: 80%;
}

button {
	outline: none;
	border: none;
	padding: 0.5em 1em;
	border-radius: 0.25em;
	background-color: white;
	color: black;
	font-size: 1em;
}
button:hover, button:focus-visible {
	background-color: #f0f0f0;
}
button:active {
	background-color: #e0e0e0;
}
@media (prefers-color-scheme: light) {
	button {
		background-color: black;
		color: white;
	}
	button:hover, button:focus-visible {
		background-color: #404040;
	}
	button:active {
		background-color: #808080;
	}
}

#timezone-display-message {
	font-style: italic;
}
