:root {
  --stdfont: mono, monospace;
  --bgcolor: #222222;
  --bodywidth: 43rem;
  --stddropshadow: 4px 4px 8px black;
}
html, body {
  height: 100%;
}
body {
  font-family: var(--stdfont);
  background-color: var(--bgcolor);
  color: gainsboro;
  max-width: var(--bodywidth);
  margin: auto;
  margin-top: 1rem;
  margin-bottom: 1rem;
  overflow-x: hidden;
  text-shadow: 1px 1px 3px black;
}
body#centeredcontent {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  margin-bottom: 0;
}
header {
  width: 100%;
}
nav {
  margin-bottom: 1rem;
}
#leftsidebg, #rightsidebg {
  position: fixed;
  z-index: -10;
  bottom: 0;
  top: 0;
  background-position: center;
  background-size: cover;
  --shadowsize: 3rem;
  --distancefromcenter: calc((var(--bodywidth) / -2) - 2rem);
}
#leftsidebg {
  right: calc(50% - var(--distancefromcenter));
  left: 0;
  box-shadow: calc(0rem - var(--shadowsize)) 0 var(--shadowsize) calc(0rem - var(--shadowsize)) black inset;
}
#rightsidebg {
  right: 0;
  left: calc(50% - var(--distancefromcenter));
  box-shadow: var(--shadowsize) 0 var(--shadowsize) calc(0rem - var(--shadowsize)) black inset;
}
h1 {
  font-size: 4.4rem;
  margin: 0;
  padding: 0 3rem 3rem 3rem;
  background-image: url(images/isopod.php);
  background-repeat: no-repeat;
  background-size: contain;
  text-shadow: 2px 2px 5px black;
  text-align: center;
}
h1 > a {
  color: inherit;
  text-decoration: inherit;
}
h1 > a:hover {
  color: inherit;
}
h1 + h2#caption {
  font-weight: 500;
  margin-top: -4.2rem;
  margin-right: -20rem;
  text-align: center;
  font-size: 1.2rem;
  z-index: 2;
  text-shadow: 1px 1px 3px black;
}
h2#caption + * {
  margin-top: 3rem;
}
h2#caption + nav {
  margin-top: 0;
}
h2 + h5, h3 + h5 {
  margin-top: -1.5rem;
}
nav {
  text-align: center;
}
nav a, nav span {
  margin: 0 0.7rem;
}
a {
  color: #df1955;
}
a:hover {
  color: #00ffd5;
}
.buttons {
  text-align: center;
  font-size: 0;
}
.buttons > * {
  display: inline-block;
  margin: 0.1rem;
  font-size: 0;
}
.buttons > a > img {
  transition-duration: .5s;
  box-shadow: none;
  display: inline-block;
  transform: translate(0, 0);
}
.buttons > a > img:hover {
  box-shadow: 2px 2px 4px black;
  z-index: 5;
  transform: translate(-2px, -2px);
}
.embed {
  display: block;
  width: 100%;
  border: none;
}
img {
  max-width: 100%;
}
summary:hover {
  cursor: pointer;
}
[title] {
  text-decoration: underline;
}
[title]:hover {
  cursor: help;
}
code {
  background-color: black;
  padding: 0.15rem;
}
main > code, body > code {
  display: block;
  width: 32rem;
  margin: auto;
  padding: 0.7rem;
  border: 1px solid #00ffd5;
}
tr:hover {
  background-color: #2222227c;
}
table.highlightrows tr:nth-child(2n+1) {
  background-color: #ffffff11;
}
table.highlightrows tr:nth-child(2n+1):hover {
  background-color: #ffffff11;
}
blockquote {
  padding: 1rem 1.5rem;
  margin: 0;
  border-left: 3px solid white;
  background-color: #fff1;
  margin-bottom: 1rem;
}
blockquote .attr {
  display: block;
  margin-left: 3rem;
  margin-top: 1rem;
}

@media(max-width: 650px) {
  body {
    padding: 0 1.5rem;
  }
  h1 + h2#caption {
    margin-right: initial;
  }
}

.CboxOpenBtn img {
  opacity: 0;
  transition-duration: 0.2s;
}
.CboxOpenBtn:hover img {
  opacity: 1;
}
.emph {
  font-style: italic;
}
.serif {
  font-family: serif;
}
.flipped {
  display: inline-block;
  transform: rotate(180deg);
}
.rainbowtext {
    animation-name: rainbow-text;
    animation-duration: 20s;
    animation-iteration-count: infinite;
}
.blinking {
    animation-name: opacityblink;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}
.minecraftsplash {
    animation-name: growshrink;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    color: yellow;
    display: inline-block;
}

@keyframes growshrink {
  0%, 100% { transform: scale(1) rotate(-10deg); }
  50% { transform: scale(1.2) rotate(-10deg); }
}
@keyframes opacityblink {
  0%, 50% {opacity: 0;}
  50.001%, 100% {opacity: 1;}
}
@keyframes rainbow-text {
  100%,0%{color: rgb(255,0,0); text-shadow: 0 0 4px rgb(216, 1, 1);}
  8%{color: rgb(255,127,0); text-shadow: 0 0 4px rgb(211, 105, 0);}
  16%{color: rgb(255,255,0); text-shadow: 0 0 4px rgb(214, 214, 0);}
  25%{color: rgb(127,255,0); text-shadow: 0 0 4px rgb(105, 211, 0);}
  33%{color: rgb(0,255,0); text-shadow: 0 0 4px rgb(0, 204, 0);}
  41%{color: rgb(0,255,127); text-shadow: 0 0 4px rgb(0, 209, 105);}
  50%{color: rgb(0,255,255); text-shadow: 0 0 4px rgb(0, 202, 202);}
  58%{color: rgb(0,127,255); text-shadow: 0 0 4px rgb(0, 103, 206);}
  66%{color: rgb(0,0,255); text-shadow: 0 0 4px rgb(0, 0, 206);}
  75%{color: rgb(127,0,255); text-shadow: 0 0 4px rgb(103, 0, 206);}
  83%{color: rgb(255,0,255); text-shadow: 0 0 4px rgb(211, 0, 211);}
  91%{color: rgb(255,0,127); text-shadow: 0 0 4px rgb(211, 0, 105);}
}