:root {
  --color-dark: #292b2c;
  --color-darker: #222;
  --color-darkest: #171717;
  --color-light: #fff;
  --color-primary: #002d61;
  --color-primary-darkened: #00002e;
  --space: 0.75rem;
  --space-ver: 0.75rem;
  --space-ver-neg: -0.75rem;
  --font-size-lg: 1.125rem;
  --transition: all 0.3s ease-in;
}

html,
body {
  height: 100%;
}
body {
  background-color: #fff;
  font-family: 'Amatic SC', cursive;
  font-size: 2rem;
  margin-top: 4%;
  padding-bottom: 4%;
}

.bg-dark {
  background-color: var(--color-dark);
}
.bg-dark .title,
.bg-dark .heading,
.bg-dark p,
.bg-dark a {
  color: var(--color-light);
}

.title {
  letter-spacing: 6px;
  text-shadow: 2px 2px #000;
}

a,
a:hover {
  text-decoration: none;
}
a.link {
  font-family: 'Delius', sans-serif;
}

.btn-inverse {
  background-color: var(--color-darker);
  border-color: var(--color-darkest);
  color: var(--color-light);
}
.btn-inverse:hover {
  background-color: var(--color-darkest);
  color: var(--color-light);
}

.colorize-pink {
  filter: brightness(0.5) sepia(1) hue-rotate(-70deg) saturate(5);
}
.colorize-navy {
  filter: brightness(0.2) sepia(1) hue-rotate(180deg) saturate(5);
}
.colorize-blue {
  filter: brightness(0.5) sepia(1) hue-rotate(140deg) saturate(6);
}

.frame {
  border: 3px solid whitesmoke;
  box-shadow: 10px 10px 10px 0px #222;
}
.frame,
.frame > div {
  height: 320px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.frame .background {
  background: navajowhite;
}
.frame .background.time-daytime {
  background: linear-gradient(0deg, rgb(0, 130, 189) 0%, rgb(3, 195, 219) 50%, rgb(239, 252, 254) 100%);
}
.frame .background.time-sunset {
  /* https://cssgradient.io/ */
  background: rgb(136,39,39);
  background: linear-gradient(0deg, rgba(136,39,39,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%);
}
.frame .background .orb {
  border-radius: 50%;
  height: 80px;
  position: absolute;
  right: 8%;
  top: 6%;
  width: 80px;
}
.frame .background.time-daytime .orb.sun {
  background: radial-gradient(circle, rgba(254,254,254,1) 0%, rgb(255, 217, 164) 70%, rgb(227, 161, 70) 100%);
  box-shadow: 0px 0px 40px 30px rgba(255, 227, 186, 0.6);
}
.frame .background.time-sunset .orb.sun {
  background: rgb(254,254,254);
  background: radial-gradient(circle, rgba(254,254,254,1) 0%, rgba(252,176,69,1) 70%, rgba(207,129,21,1) 100%);
  box-shadow: 0px 0px 40px 30px #FF9800;
  top: 24%;
}
.frame .background.time-night {
  background: #171717;
}
.frame .background.time-night .orb.moon {
  background: rgb(255,255,255);
  background: radial-gradient(circle, rgba(227, 225, 224, 0.94) 0%, rgb(255, 255, 255) 70%, rgb(255, 255, 255) 100%);
  box-shadow: 0px 0px 40px 30px rgba(255, 255, 255, 0.2);
}
.frame .background.time-night .orb.moon .crater {
  background-color: rgba(205, 196, 196, 0.16);
  border-radius: 50%;
  box-shadow: 2px 2px 2px 0px rgba(178, 175, 175, 0.45);
  height: 25%;
  left: 25%;
  position: absolute;
  top: 25%;
  width: 25%;
}
.frame .background.time-night .orb.moon .crater:nth-child(2) {
  background-color: rgba(137, 133, 133, 0.15);
  box-shadow: 2px 2px 2px 0px rgba(107, 107, 107, 0.45);
  height: 22%;
  left: 60%;
  top: 50%;
  width: 22%;
}
.frame .background.time-night .orb.moon .crater:nth-child(3) {
  background-color: rgba(137, 133, 133, 0.15);
  box-shadow: 2px 2px 2px 0px rgba(107, 107, 107, 0.02);
  height: 22%;
  left: 22%;
  top: 60%;
  width: 22%;
}

.frame .background .forest,
.frame .background .ship {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.frame .background .forest.forest-2 {
  left: 100%;
}
.frame .background .forest .plant {
  bottom: 0;
  left: 0;
  position: absolute;
}
.frame .background .forest .plant:nth-child(1) {
  z-index: 2;
}
.frame .background .forest .plant:nth-child(2) {
  filter: brightness(60%) contrast(120%) blur(2px);
  left: 6%;
  z-index: 1;
}
.frame .background .forest .plant:nth-child(3) {
  left: 20%;
}
.frame .background .forest .plant:nth-child(4) {
  left: 32%;
  filter: brightness(80%) contrast(120%) blur(4px);
}
.frame .background .forest .plant:nth-child(5) {
  left: 48%;
}
.frame .background .forest .plant:nth-child(6) {
  left: 68%;
}
.frame .background .forest .plant:nth-child(7) {
  left: 90%;
}
.frame .background .forest .plant .root {
  max-width: 160px;
}
.frame .foreground {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 20;
}
.frame .foreground .character {
  bottom: -12%;
  left: 6%;
  position: absolute;
}
.frame .foreground #panda .body {

}
.frame .foreground #panda .helmet {
  position: absolute;
  top: 4%;
  right: -11%;
  fill: white;
}
.frame .foreground #panda .katana {
  position: absolute;
  right: -46%;
  bottom: 28%;
}

.frame#cthulhu-sama .background {
  background-color: lightseagreen;
}
.frame .background .ship {
}
.frame .background .ship .shipwreck {
  max-width: 63%;
  left: 20%;
  position: absolute;
  top: -100%;
  transform: rotateZ(-25deg);
  filter: blur(3px) contrast(0.6);
}
.frame .background .forest.forest-algae .plant:nth-child(7) {
  left: 85%;
}
.frame#cthulhu-sama .foreground .character {
  bottom: 16%;
}

.frame .background .forest {
  /*animation: loop1 12s infinite reverse linear;*/
}
.frame .background .forest:nth-child(2) {
  /*animation: loop2 12s infinite reverse linear;*/
}
.loop1 {
  animation: loop1 12s infinite reverse linear;
}
.loop2 {
  animation: loop2 12s infinite reverse linear;
}
.wiggle {
  animation: wiggle 2s infinite;
}
.updown {
  animation: wiggle 2s infinite;
}
@keyframes loop1 {
  from {
    left: -100%;
  } to {
    left: 0;
  }
}
@keyframes loop2 {
  from {
    left: 0;
  } to {
    left: 100%;
  }
}
@keyframes wiggle {
  0% {
    transform: rotateZ(0) translateY(0px);
  } 50% {
    transform: rotateZ(2deg) translateY(6px);
  } 100% {
    transform: rotateZ(0) translateY(0px);
  }
}
@keyframes wiggle {
  0% {
    transform: rotateZ(0) translateY(0px);
  } 50% {
    transform: rotateZ(2deg) translateY(6px);
  } 100% {
    transform: rotateZ(0) translateY(0px);
  }
}

#time-selector {
  padding: 1.5rem 0;
}

@media (max-width: 767px) {

}

@media (min-width: 768px) and (max-width: 1199px) {

}

@media (min-width: 768px) {

}

@media (min-width: 1024px) {

}

@media (min-width: 1200px) {

  .h1, h1 {
    font-size: 12rem;
  }
  .lead {
    font-size: 6rem;
  }

}

@media (min-width: 1366px) {

}
