/* https://stackoverflow.com/a/10639419 */

html {
  min-height: 100%;
  position: relative;
  font-family: Georgia;
  font-size: 14pt;
  text-underline-offset: 0.1em;
  line-height: 150%;
}

body {
  max-width: none;
  width: 80%;
  height: 100%;
}

a { color: darkblue; }
a:visited { color: purple; }

.title {
  font-style: italic;
  transform: scale(1, 1.25);
  letter-spacing: 0.03em;
}

.title::after {
  display: block;
  content: "";
  border-bottom: 0.5ex double black;
  width: 3em;
  height: 1ex;
  margin: auto;
}

.small {
  font-size: 75%;
}

.cover {
  width: 100%;
}

footer small {
  font-size: 75%;
  color: grey;
}

/* collapsible idea inspired by:
 * https://codeburst.io/how-to-make-a-collapsible-menu-using-only-css-a1cd805b1390
 * except using focus/hover instead of checked. */

nav.collapsible {
  user-select: none;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  padding: 0;
  z-index: 1;
}

@media print {
  nav.collapsible {
    display: none;
  }
}

nav.collapsible ul {
  position: absolute;
  overflow: auto;
  left: 0;
  top: 5ex;
  bottom: 0;
  background: white;
  width: 12em;

  list-style-type: none;
  margin: 0;
  padding: 2ex 0;

  /* https://css-tricks.com/almanac/properties/b/box-shadow/ */
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
}

nav.collapsible ul li {
  padding: 0.5ex 1em;
}

nav.collapsible ul li:hover {
  background: lightgrey;
}

nav.collapsible ul li a { color: dimgrey; }
nav.collapsible ul li a:visited { color: dimgrey; }

nav.collapsible label {
  display: block;
  background: lightgrey;
  padding: 1ex 0.5em;
  font-weight: bold;
  letter-spacing: 0.1em;
  transform: scale(1, 1.125);
}

nav.collapsible ul { visibility: hidden; }
nav.collapsible label:focus { color: blue; }
nav.collapsible label:focus ~ ul { visibility: visible; }
nav.collapsible label ~ ul:hover { visibility: visible; }
