html {
  min-height: 100%;

  font-family: Roboto Slab, "Verdana", serif;
  color: #1f1f1f;
  --border-radius: 0.4em;
  margin-bottom: 1.5em;
}

body {
  margin: 0 auto;
  background-color: whitesmoke;
  padding: 1em;
  min-height: 100%;
}

.main-grid {
  display: grid;
  grid-template-columns: 1fr [left] 1fr [right];
  grid-template-rows: auto [titles] auto [graphics];
  gap: 1em;
  grid-auto-flow: column;
}

@media (max-width: 700px) {
  .main-grid {
    grid: revert;
  }
}

@media (min-width: 1000px) {
  body {
    max-width: 1000px;
    margin: auto;
  }
}

.image-title {
  text-align: center;
}

#svg {
  width: 100%;
  height: 100%;
}

#canvas {
  height: 100%;
  width: 100%;
}

.orbiting {
  position: absolute;
  transform-origin: 50% 50%;
  animation: orbit 4s infinite linear;
}

@keyframes orbit {
  from {
    transform: rotate(0) translate(33.333%);
  }
  to {
    transform: rotate(360deg) translate(33.333%);
  }
}

.button-distributor {
  display: flex;
  gap: 1.2em;
  justify-content: space-around;
  flex-flow: wrap;
  margin-top: 1em;
}

.info {
  background-color: palegoldenrod;
  border: none;
  padding: 1.2em;
  font-size: 1em;
  border-radius: var(--border-radius);
  font-weight: bolder;
  box-shadow: 0 0 0.2em 0.05em #8e8480;
}

.info:hover {
  background-color: #e5db8f;
}

.info:active {
  background-color: #ecdf70;
}

.popup {
  position: fixed;
  top: 5vh;
  bottom: 5vh;
  max-height: 90vh;
  right: 5vw;
  left: 5vw;
  margin: auto;
  max-width: 30em;
  padding: 3em;
  background-color: white;
  box-shadow: 0 0 1.75em 0.2em #333333;
  border-radius: var(--border-radius);
  transition: all 0.2s;
  overflow-y: auto;
}

.popup p {
  /* Preserve newlines */
  white-space: pre-line;
}

#popupBackdrop {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #00000088;
  transition: all 0.2s;
}

.invisible {
  display: none
}

.closePopup {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  background: none;
  border: none;
  font-size: 1.5em;
  filter: saturate(0%);
  padding: .5em;
}

/* Annoying not being able to select text, but better than accidentally doing so when repeatedly clicking canvas/svg */
* {
  user-select: none;
}

h1, h2 {
  color: black;
  font-family: Noto Serif, "Trebuchet MS", serif;
  margin-bottom: 0.3em;
  margin-top: 0.3em;
}

.popup h2 {
  margin-top: 0;
}