body {
	margin: 0 auto;
	padding: 10px;
    max-width: 48em;
	background-color: #161616;
	background-image: url("../images/bg.jpg");
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: fixed;
	font-family: sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

h1, h2, h3 {
	font-family: Georgia, serif;
	font-weight: 800;
}

a {
	text-decoration: none;
}

header,
nav,
main,
footer {
	margin: 0;
	padding: 10px;
	width: 100%;
	background-color: #fff;
}

header img {
	padding: 1em;
	float: left;
}

header h1,
header p {
	text-align: center;
}

nav p.select-language {
	text-align: right;
	margin: 0;
}

/*
#navMain {
	margin-bottom: 0;
	padding-bottom: 0;
//	background: #9cb5ce;
	background: #cddae7;
}

nav ul {
	margin: 0;
	padding-top: 1em;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
}

nav li {
	padding: 1em;
	list-style-type: none;
	border-radius: 0.5em 0.5em 0 0;
}

nav a {
	margin: 0;
	color: blue;
}

#active {
	background: #fff;
	font-weight: bold;
}
*/

#navMain {
	background: #38f;
}

nav ul {
	margin: 0;
	margin-left: -2.5em;
	display: flex;
	justify-content: space-evenly;
	flex-direction: row;
	flex-wrap: wrap;
}

nav li {
	padding: 1em;
	list-style-type: none;
	text-align: center;
}

#navMain a:hover {
	color: black;
}

#navMain a {
	margin: 0;
	color: white;
}

#active {
	font-weight: bold;
}

article {
	padding: 1em;
	padding-top: 0;
}

article h1 {
	text-align: center;
	font-style: italic;
	font-size: xx-large;
}

article h3 {
	margin-top: 2em;
}

.centered {
	display: flex;
	justify-content: center;
}

.map {
	flex-grow: 1;
}

#map_canvas1,
#map_canvas2 {
	width: 100%;
	border: 1px solid #ccc;
}

#cockpit {
	width: 100%;
	border: 1px solid #ccc;
	background: #eee;
	font-size: 0.9em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

#cockpit .cockpitItem {
	margin: 0.4em;
	margin-bottom: 0.5em;
	text-align: center;
}

#cockpit h3 {
	margin: 0.2em;
	font-family: sans-serif;
	font-weight: bold;
}

#cockpit p {
	margin: 0.2em;
}

#widget {
	padding-left: 1em;
	padding-right: 1em;
	border: 1px dashed #666;
}

.twoCols {
	display: flex;
	flex-direction: row;
}

.leftSection {
	flex-grow: 1;
} 

.rightAside {
	margin-left: 0.5em;
	margin-top: 1em;
	padding: 0.5em;
	min-width: 9em;
	border: 1px solid #ccc;
	background: #eee;
}

.rightAside h3 {
	margin-top: 0;
}

.rightAside .smaller {
	font-size: 0.8em;
}

#locSearch {
	width: 9em;
}

.infoButton {
	margin: 0em;
	margin-left: 0.5em;
	padding: 0.1em 0.5em 0.1em 0.5em;
	color: #b70;
	font-weight: 900;
	border: 1px solid #b70;
	border-radius: 0.7em;
}

#noPasses {
	color: #900;
}

button {
	padding: 0.3em;
}

dialog {
  display: none;
  position: fixed;
  top: 30%;
  z-index: 1000;
  padding: 1em;
  background-color: #fff;
  border: none;    
}

dialog[open="open"] {
    display: block;
}

@media (min-width: 30em) { 
  dialog {
    width: 20em; 
  }
}

dialog::backdrop, #backdrop {      
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);    
}

#displayFlexContainer {
	margin-top: 1em;
	display: flex;
	flex-flow: row-reverse wrap;
}

#mapSection {
	width: 25em;
	flex-grow: 1;
	margin-bottom: 1em;
}

#listSection {
	width: 10.5em;
	min-width: 14.5em;
	flex-grow: 1;
	padding-right: 0.3em;
}

#listSection label {
	margin-left: 0.3em;
	margin-right: 1em;
}

h3.dateHeader {
	margin: 0;
	padding: 0.5em;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 1.1em;
	background: #eee;
}

#passMap {
	width: 100%;
	height: 25em;
	background: #eee;
	border: 1px solid #ccc;
}

.passSummary {
	margin: 3px;
	margin-left: 0;
	margin-right: 0;
	background: #cddae7;
	display: flex;
}

.passSummaryItem {
	padding: 0.5em;
	line-height: 150%;
}

.passSummaryItem .h4 {
	font-weight: bold;
}

.passDetails {
	width: 100%;
}

.passDetails th,
.passDetails td {
	padding: 0.5em;
}

.passDetails tbody th {
	text-align: left;
}

.passDetails tbody td {
	text-align: center;
}

.passDetails .expl {
	text-align: left;
}

footer {
	background: #eee;
	text-align: center;
	padding-top: 1em;
}

footer p {
	font-size: 0.8em;
}

