html, body			{ margin: 0;
				  height: 100%; }
body				{ font-family: sans-serif;
				  font-size: 11pt;
				  color: #444;
				  font-weight: 400;
				  flex-direction: column;
				  position: relative;
				  overflow: hidden;
				  display: flex; }
article				{ flex: 1;
				  display: flex;
				  position: relative;
				  align-items: center; }
#img				{ position: absolute;
				  op: 0;
				  left: 0;
				  width: 100%;
				  height: 100%; }
header, footer			{ height: 3rem; 
				  padding: 0 1rem;
				  z-index: 5;
				  line-height: 3rem; }
header				{ border-bottom: 4px solid #eee;
				  background-color: #fdfdfd;
				  display: flex; }
header > :last-child		{ flex: 1; }
header > *			{ display: inline-block;
				  white-space: nowrap;
				  padding: 0 1rem; }
header > :first-child		{ display: none; }
header > :nth-child(even)	{ text-align: right; }
footer				{ border-top: 4px solid #eee;
				  background-color: #fdfdfd; }
footer > *			{ padding: 0 1rem;
				  display: inline-block; }
footer > * + *			{ border-left: 4px solid #eee; }
aside				{ width: 20rem;
				  position: absolute;
				  right: calc(-20rem - 4px);
				  top: calc(3rem + 4px);
				  background-color: rgba(255, 255, 255, 0.95);
				  border-left: 4px solid #eee;
				  z-index: 5;
				  transition: right 0.2s linear;
				  height: calc(100% - 6rem - 8px); }
input:checked ~ aside		{ right: 0; }
dl				{ margin: 0; }
dt				{ opacity: 0.7;
				  line-height: 1em;
				  font-size: smaller;
				  font-variant: small-caps; }
dd				{ margin: 0;
				  padding: 0;
				  margin-bottom: 0.5rem; }
input				{ display: none; }
h1				{ font-size: inherit;
				  font-weight: inherit;
				  margin: 0; }
aside > *			{ border-bottom: 4px solid #eee; 
				  padding: 1rem; }
aside > div > *			{ display: block; }
aside > div > span		{ opacity: 0.7;
				  line-height: 1em;
				  font-size: smaller;
				  font-variant: small-caps; }
label				{ cursor: pointer;
				  border-radius: 0.4em;
				  padding: 0.2em 0.5em;
				  border: 2px solid powderblue; }
label:hover			{ color: #222; }
label:active			{ color: #000; }
input:checked ~ header label	{ background-color: powderblue;
				  border: 2px solid #aaa; }
a				{ color: #003399;
				  text-decoration: none; }

@media (min-width: 50rem) {
  header > :first-child		{ display: inline-block; }
  header, footer		{ padding: 0 3rem; }
  header > *			{ flex: 1; }
}
