body {
  background-color: slategrey;
  padding: 2% 10%;
}
body #outer-frame {
  background-color: black;
}
body #outer-frame #title {
  display: flex;
  align-items: center;
}
body #outer-frame #title img {
  max-height: 2em;
  padding: 1em;
}
body #outer-frame #title h1 {
  color: white;
  padding: 0 1em;
}
body #outer-frame #title.polaris {
  background: radial-gradient(circle at 2em 2.5em, white 0px, silver 4em, black 60em);
}
body #outer-frame #title.polaris h1 {
  color: gainsboro;
  text-shadow: 2px 1px 1px black;
}
body #outer-frame #title.christ {
  background: radial-gradient(circle at 2em 2.6em, gold 0, yellow 2em, white 4em, white 60em, lightskyblue 100em);
}
body #outer-frame #title.christ h1 {
  color: tan;
  text-shadow: 2px 1px 1px silver;
}
body #outer-frame #main-menu {
  margin: auto;
  padding: 0;
  overflow: hidden;
  background-color: #333333;
  list-style-type: none;
}
body #outer-frame #main-menu li {
  display: inline-block;
  width: 6em;
  height: 100%;
  padding: 1em;
  color: white;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
body #outer-frame #main-menu li:hover {
  background-color: #111111;
}
body #outer-frame #main-menu li.active {
  background-color: #000000;
  cursor: default;
}
body #outer-frame #inner-frame {
  background-color: honeydew;
  padding: 2% 5%;
}
.side-menu-frame {
  display: flex;
  width: 100%;
  margin: 0 auto;
}
.side-menu-frame > ul,
.side-menu-frame > ol {
  width: 24%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style-type: none;
}
.side-menu-frame > ul lt,
.side-menu-frame > ol lt {
  display: block;
  font-size: 1vw;
  text-align: center;
}
.side-menu-frame > ul li,
.side-menu-frame > ol li {
  margin: .5em;
  padding: 4px;
  background-color: slategray;
  border: 3px groove black;
  border-radius: 6px;
  cursor: pointer;
  color: white;
  text-align: center;
  font-size: 1vw;
  white-space: nowrap;
  overflow: auto;
}
.side-menu-frame > ul li .extra-info,
.side-menu-frame > ol li .extra-info {
  visibility: hidden;
  display: inline-block;
  text-align: center;
  position: absolute;
  z-index: 1;
  max-width: 50vw;
  margin-left: 1em;
  padding: 5px;
  background-color: black;
  border-radius: 6px;
  white-space: normal;
}
.side-menu-frame > ul li:hover,
.side-menu-frame > ol li:hover {
  background-color: steelblue;
}
.side-menu-frame > ul li:hover .extra-info,
.side-menu-frame > ol li:hover .extra-info {
  visibility: visible;
}
.side-menu-frame > ul li.active,
.side-menu-frame > ol li.active {
  background-color: dimgray;
  border-style: ridge;
  cursor: default;
}
.side-menu-frame > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 75%;
  min-height: 75vh;
}
.side-menu-frame > div.fit {
  margin-left: 1em;
  min-height: 0;
}
.side-menu-frame > div.fit img {
  max-width: 100%;
}
.dialogue {
  margin-right: auto;
  margin-left: 1em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: justify;
}
.project {
  margin-left: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.project > div {
  margin-right: auto;
  margin-left: 1em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: justify;
}
.project > ol::before {
  content: "TODO LIST";
}
.pdf {
  margin-left: 1em;
  width: 100%;
  height: 100%;
}

dt {
  font-weight: bold;
}

blockquote {
  border: 1px solid black;
  border-radius: 1em;
  padding: 1em;
  overflow: auto;
}
blockquote q {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  text-align: justify;
}
blockquote q:before,
blockquote q:after {
  content: none;
}
blockquote .attribution {
  text-align: right;
  margin-right: 20px;
  margin-bottom: 0;
}
blockquote .attribution:before {
  content: "-- ";
}
