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;
}

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;
}

#topSection {
	display: flex;
	flex-direction: row;
//	flex-wrap: wrap;
//	justify-content: center;
}

#explanation {
	flex-grow: 1;
} 

#location {
	margin-left: 0.5em;
	margin-top: 1em;
	padding: 0.5em;
	border: 1px solid #ccc;
	background: #eee;
}

#location h3 {
	margin-top: 0;
}

#location .smaller {
	font-size: 0.8em;
}

#locSearch {
	width: 9em;
}

#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);    
}

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

summary::-webkit-details-marker {
  display: none;
}

.passSummary {
	margin: 3px;
	margin-left: 2em;
	margin-right: 0;
	background: #cddae7;
	display: flex;
//	flex-direction: row;
//	flex-wrap: wrap;
//	justify-content: flex-start;
}

.passSummaryItem {
//	margin: 0.5em;
	padding: 0.5em;
	line-height: 150%;
//	background: #efe;
}

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


.passSummaryItem h4,
.passSummaryItem p {
//	margin: 0;
//	padding: 0.2em;
}

table .mapCell {
	display: flex;
	justify-content: center;
}

table .map {
	flex-grow: 1;
}

table .mapCanvas {
	width: 100%;
	border: 1px solid #ccc;
}

.passDetails {
	margin: 0;
	margin-left: 2em;
	display: block;
}

.passDetailsMicrosoft {
	visibility: collapse;
}

.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;
}

