/* Site-wide formatting of standard tags */
/* ===================================== */
* {
	box-sizing: border-box;
}

body {
	background: #fefefe;
	font: 1em/1.4 sans-serif, Arial;
	color: black;
	border: 0;
	margin: 0;
}

p { margin: 10pt 0; }

h1 {
	color: #333;
	font-size: 1.7em;
}

h2 {
	color: #333;
	font-size: 1.4em;
}

img { max-width: 100%; }

a img, a:link, a:hover { border: none; }

a:link {
	text-decoration: none;
	color: #0072ff;
	border-bottom: groove 1px #0072ff;
}

a:visited {
	text-decoration: none;
	color: navy;
	border-bottom: groove 1px navy;
}

a:hover {
	text-decoration: none;
	color: #004090;
	border-bottom: dotted 1px #004090;
}

hr {
  background: #eee;
  height: 1px;
  border: 0;
}


/* Header: logo and top menu             */
/* ===================================== */

#banner {
	padding: 10px;
	border-bottom: solid 1px #ccc;
}

#banner a {
	border: none;
	font-size: 1.5em;
	font-weight: bold;
	color: #333;
}

div.navbar {
	background-color: #eee;
	border-bottom: solid 1px #ccc;
}

#menu {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

#menu li {
  margin: 0;
}

#menu a {
  display: block;
  padding: 10px 20px;
  margin: 0;
  border-bottom: none;
  text-decoration: none;
  font-weight: bold;
  color: #777;
}

#menu a:hover {
  background-color: #ddd;
}

#menu a.active {
  color: white;
  background: #0072ff;
}


/* Page layout: left-hand menu + main    */
/* ===================================== */

.content-wrap {
	display: flex;
	align-items: flex-start;
}

#leftmenu {
	flex: 0 0 auto;
	width: 12em;
}

#leftmenu ul {
  text-align: right;
  font-weight: bold;
  background: #eee;
  list-style-type: none;
  border-right: solid 1px #ccc;
  padding: 0;
  margin: 0;
}

#leftmenu li {
  margin: 0;
  border-bottom: solid 1px #ddd;
}

#leftmenu a {
  text-decoration: none;
  border: none;
  display: block;
  margin: 0;
  padding: 8px 10px;
  color: #777;
}

#leftmenu a:hover {
  background: #777;
  color: white;
}

#leftmenu a.active {
  background: #0072ff;
  color: white;
}


/* Info box: bordered callout content    */
/* ===================================== */

.infobox {
	border: 1px solid #444;
	border-radius: 6px;
	background: #d3d3d3;
	color: #555;
	font-size: 0.9em;
	padding: 10px;
	margin: 10pt 0;
}


/* Main page content & footer            */
/* ===================================== */

div.main {
	flex: 1 1 auto;
	min-width: 0;
	padding: 20px;
}

#footer {
	border-top: 1px solid #888;
	margin-top: 10px;
}

#footer p {
	color: #888;
	font-size: .8em;
}


/* Responsive: tablets and phones        */
/* ===================================== */

@media (max-width: 768px) {
	#banner a {
		font-size: 1.3em;
	}

	#menu {
		justify-content: center;
	}

	#menu a {
		padding: 10px 14px;
	}

	.content-wrap {
		flex-direction: column;
	}

	/* Left menu duplicates the top nav; hide it once the top nav
	   stacks so links aren't shown twice on small screens. */
	#leftmenu {
		display: none;
	}

	div.main {
		width: 100%;
		padding: 15px;
	}
}

@media (max-width: 420px) {
	#menu li {
		width: 100%;
	}

	#menu a {
		text-align: center;
	}

	h1 {
		font-size: 1.4em;
	}
}
