body { display: flex; flex-wrap: wrap; font-family: sans; }
header { flex-basis: 100%; flex-shrink: 0; }
article { flex-basis: 60%; padding-left: 1em; }
footer { flex-basis: 100%; flex-shrink: 0; }
header nav { display: flex; justify-content: space-between; }
nav a, header a { text-decoration: none ; color: inherit; }
header h1 span { margin-left: 1em; font-size: 50%; font-style: italic; }
body > nav { flex-basis: content; padding-right: 1vw; min-width: 16em; }
nav ul { display: flex; flex-direction: column; list-style-type: none; list-style-position: outside; padding-left: 0;  }
nav li ul { padding-left: 0.6em }
footer { display: flex; justify-content: space-between; }

/* cut here to leave vanity behind */

body { margin:0; padding: 0; font-size: 84%; font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif; }
a { text-decoration: none; color: }
a:hover { text-decoration: none; color: purple; }

/* header and top bar */
header nav { background-color: transparent; color: black; padding: 0.3em; border-bottom: 2px solid white; font-size: 91%; }
header h1 { background-color: transparent; color: black; margin: 0; border-bottom: 2px solid white; font-weight: normal; padding: 0.25ex; font-size: 233%; }
header a { color: blue; }
header a:hover { color: purple; }

/* sidebar */
body > nav { border-right: 1px solid white; padding: 0;  } 
body > nav > div { border-bottom: 1px solid white; } 
body > nav > div a { color: blue; display: block; text-transform: none; font-weight: bold; padding: 0.25em 1ex 0.25em 2mm; font-size: 102%; border-left: black solid 0.2em; border-bottom: 3px solid white; padding: 0.35em 1ex 0.35em 2mm;} 
body > nav > div a:hover { color: purple; background-color: transparent; border-left: black solid 0.2em; text-decoration: none; text-transform: none; }
body > nav > div p { font-weight: bold; margin: 0 0 0.5em 2mm; padding: 1em 0 0 0; }

/* main copy */
article { padding: 0.5ex 0 5vh 1vw;  }
article h1, article h2 { color: black; font-weight: bold; margin: 2em 0 0 0; border-bottom: 2px solid black; }
article h3, article h4, article h5 { color: black; font-weight: bold; margin: 2em 0 0 0; }
article h6, article h7, article h8 { color:  black; font-weight: bold; margin: 2em 0 0 0; }
article a { color: blue; }
article a:hover { color: purple; }

/* footer */
footer { color: black; background-color: transparent; }
footer a { color: blue; }
footer a:hover { color: purple; }
footer div { padding: 1em; }

/* tables */
table { border: 1px solid rgba(128,128,128,0.5); padding: 0; }
th { color: white; background-color: rgb(100,135,220); }
tr:nth-child(odd) { background-color: rgba(128,128,128,0.1)  }

/* fixed-width fonts */
pre, code, blockquote {
	flex-basis: 100%;
	white-space: pre-wrap;
	font-family: Courier, 'Lucida Console','Courier New', Serif;
}
