body {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui,
    helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;
  padding-top: 2vw;
  padding-left: 4vw;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' %3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' x2='0' y1='0' y2='1'%3E%3Cstop offset='0' stop-color='%234B008D'/%3E%3Cstop offset='1' stop-color='%23BB3200'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpattern id='b' width='25' height='25' patternUnits='userSpaceOnUse'%3E%3Ccircle fill='%23ffffff' cx='12.5' cy='12.5' r='12.5'/%3E%3C/pattern%3E%3Crect width='100%25' height='100%25' fill='url(%23a)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23b)' fill-opacity='0.1'/%3E%3C/svg%3E");
  background-attachment: fixed;
  /* background credit: Free SVG Backgrounds and Patterns by SVGBackgrounds.com */
}

div#big-board {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}

div.board-thingy {
  display: inline-flex;
  width: 200px;
  height: 200px;
  margin: 10px;
  border: 3px solid rgb(255, 255, 255);
  border-radius: 100px;
  align-items: center;
  justify-content: space-around;
  background-color: rgb(182, 62, 62);
  overflow: hidden;
  position: relative;
}

@keyframes xyz {
  from { color: black; }
  50% { color: white; }
  to { color: black; }
}

div.x {
  font-size: 24px;
  font-weight: bold;
  animation: xyz 30s infinite;
  position: relative;
  user-select: none;
  z-index: 2;
  color: black;
}

div.link {
  background-color: rgb(0, 0, 0);
  color: rgb(221, 208, 208);
}

div.link > a {
  font-size: 24px;
  font-weight: bold;
  animation: none;
  text-decoration: none;
  color: white;
  z-index: 2;
}

div.link:hover {
  background-color: rgb(63, 193, 245);
  color: #000;
}

div.link:hover a {
  font-size: 48px;
  color: #000;
}

@keyframes image-drift {
  0%   { opacity: 0; transform: translate(var(--start-x), var(--start-y)); }
  15%  { opacity: 1; transform: translate(var(--start-x), var(--start-y)); }
  80%  { opacity: 1; transform: translate(var(--end-x), var(--end-y)); }
  100% { opacity: 0; transform: translate(var(--end-x), var(--end-y)); }
}

img.circle-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 140%;
  height: 140%;
  object-fit: cover;
  z-index: 1;
  pointer-events: none;
  animation: image-drift var(--drift-duration) ease-in-out forwards;
}

div#about-this-site {
  width: fit-content;
  padding: 2px 10px;
  margin: 0 auto;
}

div#about-this-site a {
  font-size: 36px;
  display: block;
  text-decoration: none;
}