
:root {
	--color-text-lt: #fff;
	--color-text-dk: #000;
	--color-accent-10b: hsl(216, 40%, 10%);
	--color-accent-30b: hsl(216, 40%, 30%);
	--color-accent-50b: hsl(216, 40%, 50%);
	--color-accent-70b: hsl(216, 40%, 70%);
	--color-accent-80b: hsl(216, 40%, 80%);
	--color-accent-90b: hsl(216, 40%, 90%);
}

body {
	margin: 0;
	color: var(--color-text-dk);
	font: 12pt "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a,
a:visited {
	color: var(--color-accent-30b);
	transition: all .2s ease-in-out;
}

a:hover {
	color: var(--color-accent-50b);
}

#title-bar {
	background: var(--color-accent-50b);
	color: var(--color-text-lt);
	padding: 1em;
	border-bottom: 3px solid var(--color-accent-30b);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#title-bar .title-bar-col {
	flex-grow: 1;
	max-width: 50%;
}

#title-bar .title-bar-col:nth-child(2) {
	text-align: right;
}

#title-bar #site-logo {
	float: left;
	margin: 0 1em 0 0;
}

#title-bar h1 {
	margin: 0;
	font-size: 2em;
	line-height: 1;
}

#title-bar h1 span {
	display: block;
	font-size: .8em;
	font-weight: normal;
	margin: 0 0 .2em;
}

#title-bar span.date {
	display: block;
	font-size: 1.2em;
	line-height: 1.6;
	margin: 0 0 .2em;
}

#title-bar span.time-wrap,
#title-bar span.time-sep {
	font-size: 1.5em;
}

nav {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin: 2em 1em;
	gap: 1em;
}

nav a,
nav a:visited {
	color: var(--color-text-lt);
	font-size: 1.4em;
	background: var(--color-accent-50b);
	border-bottom: 2px solid var(--color-accent-30b);
	padding: .5em 0;
	text-align: center;
	text-decoration: none;
	border-radius: .5em;
	flex-grow: 1;
}

nav a:hover {
	color: var(--color-text-lt);
	background: var(--color-accent-70b);
}

#content {
	margin: 0 1em 1em;
}

h2 {
	color: var(--color-text-lt);
	background: var(--color-accent-50b);
	margin: 2rem 0 0;
	padding: .5em .75em;
	border-radius: .5em .5em 0 0;
}

h3 {
	color: var(--color-accent-30b);
	font-size: 1.33em;
	margin: 1em 0 .5em;
}

.section-content {
	border: 1px solid var(--color-accent-50b);
	padding: 1em;
}

.section-content > *:first-child {
	margin-top: 0;
}

.section-content > *:last-child {
	margin-bottom: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table th {
	width: calc(100% / 6);
	background: var(--color-accent-70b);
}

table tr:nth-child(even) td {
	background: var(--color-accent-90b);
}

table tr td.day-banner {
	background: var(--color-accent-80b);
}

table td,
table th {
	padding: 10px;
	text-align: left;
	border: 1px solid var(--color-accent-50b);
}

table td:first-child {
	min-width: 40%;
}

table.airline-table {
	width: auto;
	min-width: 600px;
}

table.airline-table tr td {
	width: 50%;
}

.section-contact .section-content {
	line-height: 1.5;
}

.section-contact strong.contact-label {
	display: inline-block;
	min-width: 60px;
}

@media (max-width: 1130px) {
	#title-bar {
		align-items: flex-end;
	}
	#title-bar #site-logo {
		float: none;
		margin: 0 0 .5em;
	}
	#title-bar #site-title {
		font-size: 1.5rem;
	}
	#title-bar span.date,
	#title-bar span.time-wrap {
		display: block; 
		font-size: 1.2rem;
		line-height: 1.2;
	}
	#title-bar span.time-wrap {
		margin: .9em 0 0;
	}
	#title-bar span.time-sep {
		display: none;
	}
}

@media (max-width: 665px) {
	#title-bar .title-bar-col {
		width: 100%;
	}
	#title-bar #site-title {
		font-size: 1.33rem;
	}
	#title-bar span.date,
	#title-bar span.time-wrap {
		font-size: .9rem;
		margin: 0;
	}
	#title-bar span.time-wrap strong {
		display: block;
		margin: .9em 0 0;
	}
	nav {
		flex-wrap: wrap;
		gap: .5em;
	}
	nav a {
		width: calc(50% - .25em);
	}
	table,
	table.airline-table {
		font-size: .8em;
		min-width: 100%;
	}
	table th,
	table td {
		padding: .67em .33em;
	}
	table.flight-table {
		table-layout: fixed;
	}
	table.flight-table th,
	table.flight-table td {
		max-width: calc(100%/6);
		overflow: hidden;
        white-space: nowrap;
		text-overflow: clip;
	}
	.section-contact .section-content {
		font-size: .8em;
	}
}