body {
  background-color: #4dafef;
  font-family: helvetica, arial, sans-serif;
  font-size: 9pt;
  color: #000001;
  letter-spacing: 0.03em;
  word-spacing: 0.2em;
  line-height: 12.9pt;
}
a {
  font-weight: bold;
  color: #000001;
  text-decoration: none;
}
table {
  font-size: inherit;
}
a:hover {
  text-decoration: underline;
}
sup {
  line-height: 0;
}
#main {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  background-color: #4dafef;
}
#leftCol {
  flex-grow: 2;
  max-width: 25vw;
  min-width: 20vw;
  padding: 6vmin 1vmin 1vmin 1vmin;
}
#bodyCol {
  flex-grow: 3;
  background-color: #e4f3fc;
  box-shadow: rgba(0, 0, 0, 0.8) 1vmin 1vmin 4vmin;
  padding: 1vmin;
  margin: 2vmin;
}
#rightCol {
  flex-grow: 1;
  max-width: 25vw;
  padding: 6vmin 1vmin 1vmin 1vmin;
}
#bodyHdr {
  display: flex;
  padding: 2vmin;
  justify-content: space-around;
  align-items: top;
  height: 6vh;
}
#bodyHdr:hover {
  cursor: pointer;
}
#bodyTitle {
  width: 70%;
  height: 100%;
  background-image: url("/co.o/img/co.o.title.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
}
#bodyVolume {
  width: 30%;
  height: 100%;
  background-image: url("/co.o/img/co.o.volume.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}
#bodyMain {
  padding: 1vmin;
}
#blogPostsLoading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1vh;
}
.blogPostSeparator {
  height: 4vh;
  margin-top: 2vh;
  margin-bottom: 2vh;
  width: 100%;
  background-image: url("/co.o/img/co.o.separator.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  clear: both;
}
.projHdr {
  display: inline-block;
  padding: 0.25em 1.5em;
  background-color: #000001;
  color: #e4f3fc;
  border-top-left-radius: 1vmin;
  border-top-right-radius: 1vmin;
  translate: 2vmin 0;
}
.projBdy {
  border: 2px solid #000001;
  background-color: #e4f3fc;
  margin-bottom: 0.5vmin;
  padding: 0.5vmin;
}
.projTtl {
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 1vmin;
}
.projDtl {
  margin: 0 1vmin 1vmin 1vmin;
}
.projDtl iframe {
  aspect-ratio: 16/9;
  width: 100%;
}
.ytEmbed {
  width: 100%;
  aspect-ratio: 16 / 9;
}
#booksGrid {
  display: grid;
  grid-template-columns: [left] 30% [right] 70%;
  place-items: center;
}
.booksLeftCol {
  grid-column: left;
  text-align: center;
  margin-bottom: 4vmin;
}
.booksRightCol {
  grid-column: right;
  text-align: justify;
  margin-bottom: 4vmin;
}
.booksRightCol div {
  padding: 0.25vmin;
}
.booksLeftCol:hover {
  color: #e4f3fc;
  background-color: #4dafef;
  cursor: pointer;
}
.booksRightCol:hover {
  color: #e4f3fc;
  background-color: #4dafef;
  cursor: pointer;
}
.bookTtl {
  font-weight: bold;
  font-style: italic;
  font-size: 125%;
  text-align: center;
}
.footnote {
  width: 50%;
  margin: 0;
  border-top: 0.2em solid #000001;
}
.postHdr {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.postTtl {
  font-size: 125%;
  font-weight: bold;
}
.postAuthor {
  font-style: italic;
  padding-top: 3pt;
}
.postBlog {
  padding: 6pt;
  text-align: justify;
  text-indent: 1.5em;
}
.postComments {
  text-align: center;
}
.postCommentBlock {
  border: 1px solid #000001;
  background: #4dafef;
  margin: 2vh 4vw;
  padding: 2vmin;
}
.invertHover {
  font-weight: bold;
  color: #000001;
  padding: 2px;
}
.invertHover:hover {
  color: #e4f3fc;
  background-color: #4dafef;
  cursor: pointer;
}
.haiku {
  margin-top: 15pt;
  margin-bottom: 15pt;
  margin-left: auto;
  margin-right: auto;
  text-indent: 0pt;
  text-align: center;
  line-height: 12pt;
}
.quotedText {
  background-color: #4dafef;
  color: #000000;
  margin: 2pt 20pt 2pt 20pt;
  padding: 4pt;
  font-family: "lucida console", courier, monospace;
}
.sessBlk {
  display: flex;
  justify-content: space-around;
}
.clickable {
  padding: 4px;
}
.clickable:hover {
  color: #000001;
  background-color: #e4f3fc;
  cursor: pointer;
  font-weight: bold;
}
.clicked {
  color: #000001;
  background-color: #e4f3fc;
  font-weight: bold;
}
.inlineIcon {
  font-size: 100%;
}
#catChooserPopper {
  position: relative;
  top: 0.2em;
}
#catChooserContainer {
  position: relative;
  top: 1.4em;
  left: 0px;
}
#catChooser {
  position: absolute;
  padding: 2px;
  top: -1px;
  left: -3em;
  width: 10vw;
  background-color: #e4f3fc;
  font-size: 75%;
}
svg.loadSpnr {
  animation: 2s linear infinite loadSpnrAnim;
  min-width: 2vmax;
  min-height: 2vmax;
}
circle.loadSpnrCirc {
  animation: 1.4s ease-in-out infinite both loadSpnrCircAnim;
  display: block;
  fill: transparent;
  stroke: #000001;
  stroke-linecap: round;
  stroke-dasharray: 283;
  stroke-dashoffset: 280;
  transform-origin: 50% 50%;
  stroke-width: 10px;
}
@keyframes loadSpnrAnim {
0% { transform: rotateZ(0deg); } 100% { transform: rotateZ(360deg) }
}
@keyframes loadSpnrCircAnim {
0%, 25% { stroke-dashoffset: 280; transform: rotate(0); } 50%, 75% { stroke-dashoffset: 75; transform: rotate(45deg); } 100% { stroke-dashoffset: 280; transform: rotate(360deg); }
}
