:root {
  --color-1: yellow;
  --color-2: yellow;
  --color-3: yellow;
  --color-4: yellow;
}
.container {
  width: 100vw;
  height: 100vh;
}
body {
  background: black;
}

/*STYLES FOR COLOR CHOOSER*/
#color-chooser {
  position: fixed;
  top: 0;
  right: 0;
  width: 120px;
  height: 100%;
  background: black;
  border-left: 1px solid white;
}
#palette {
  padding: 10px;
}
#palette .color {
  margin-bottom: 1em;
  text-align: center;
}
input[type="color"] {
  height: 100%;
  width: 100%;
  aspect-ratio: 1/1;
  border: 0;
  outline: 0;
  padding: 0;
  box-shadow: 0;
  background-color: inherit;
}
.save-colors-wrapper {
  margin: 10px;
  color: white;
}
#btn-save-colors {
  text-align: center;
  border: solid 0.5px;
  padding: 0.35em 0.5em 0.25em;
  margin-bottom: 10px;
  cursor: pointer;
}
#saved-colors div {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
  margin-bottom: 5px;
}
#saved-colors span {
  aspect-ratio: 1/1;
  background: red;
  margin-bottom: 0.5em;
}
#saved-colors i {
  aspect-ratio: 1/1;
  text-align: center;
  cursor: pointer;
}

/*STYLES FOR VISUALS*/
#visuals > div {
  width: 100%;
  height: 100vh;
}
#visuals {
  width: calc(100% - 120px);
  min-height: 100%;
}
.visual-color-1 {
  background: var(--color-1);
  width: 100%;
}
.visual-color-2 {
  background: var(--color-2);
  width: 50px;
  height: 50px;
}
.visual-color-3 {
  background: var(--color-3);
  width: 50px;
  height: 50px;
}
.visual-color-4 {
  background: var(--color-4);
  width: 50px;
  height: 50px;
}

#visual-1 {
  background: var(--color-4);
  position: relative;
  width: 100%;
  height: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cube-wrapper {
  width: 200px;
  height: 150px;
  position: relative;
}
#visual-1 .visual-color-1 {
  width: 100px;
  height: 100px;
  border: solid 2px #fff;
  transform: skew(180deg, 210deg);
  position: absolute;
  top: 43px;
}
#visual-1 .visual-color-2 {
  width: 100px;
  height: 100px;
  border: solid 2px #fff;
  transform: skew(180deg, 150deg);
  position: absolute;
  left: 102px;
  top: 43px;
}
#visual-1 .visual-color-3 {
  width: 114px;
  height: 100px;
  border: solid 2px #fff;
  transform: rotate(150deg) translate(-40px, -16px) skew(30deg, 0deg);
  position: absolute;
  left: 0px;
  top: -32px;
}
#visual-1 .visual-color-4 {
  background: var(--color-4);
}

#visual-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-3);
}
.cls-1 {
  fill: var(--color-1);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
.svg-1 {
  width: 100%;
  height: 95vh;
  margin: 20px;
  position: absolute;
}
.cls-2 {
  fill: var(--color-2);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
.svg-2 {
  width: 75%;
  height: 75vh;
  margin: 20px;
  position: absolute;
}
.cls-3 {
  fill: var(--color-4);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
.svg-3 {
  width: 50%;
  height: 50vh;
  margin: 20px;
  position: absolute;
  animation: heartbeat 1.5s infinite;
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.05);
  }
  40% {
    transform: scale(1.15);
  }
}
#visual-4 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-2);
}
.cls-4 {
  fill: var(--color-3);
  width: 75%;
  height: 75vh;
}
#diamond {
  height: 75vh;
}
.svg-4 {
  position: absolute;
}
.cls-5 {
  fill: var(--color-1);
  width: 75%;
  height: 75vh;
}
.svg-6 {
  position: absolute;
  width: 75%;
  height: 75vh;
  z-index: 2;
}
.cls-6 {
  fill: var(--color-4);
  animation: shine 0.5s linear infinite 0.25s;
}
.cls-7 {
  fill: var(--color-4);
  animation: shine 0.5s linear infinite;
}

@keyframes shine {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.5;
  }
}
#visual-5 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-1);
}
.auge {
  height: 75vh;
  width: 75%;
}
.cls-9 {
  fill: var(--color-2);
  stroke-miterlimit: 10;
}
.cls-10 {
  fill: var(--color-3);
  stroke-miterlimit: 10;
  animation: sun-eyes 1.2s infinite;
  transform-origin: center;
  animation-direction: alternate;
}
.cls-11 {
  fill: var(--color-4);
  stroke-miterlimit: 10;
}
@keyframes sun-eyes {
  0%,
  50% {
    transform: translate(40px, 0);
  }
  50.1%,
  100% {
    transform: translate(-40px, 0);
  }
}
h1 {
  color: var(--color-1);
  font-size: 25vh;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande",
    "Lucida Sans", Arial, sans-serif;

  animation-name: spin, depth;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: 6s;
}
#visual-6 {
  height: 100vh;
  width: 100%;
  background: radial-gradient(var(--color-2), var(--color-3), var(--color-4));
}
@keyframes spin {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-360deg);
  }
}
@keyframes depth {
  0% {
    text-shadow: 0 0 black;
  }
  25% {
    text-shadow: 1px 0 black, 2px 0 black, 3px 0 black, 4px 0 black, 5px 0 black;
  }
  50% {
    text-shadow: 0 0 black;
  }
  75% {
    text-shadow: -1px 0 black, -2px 0 black, -3px 0 black, -4px 0 black,
      -5px 0 black;
  }
  100% {
    text-shadow: 0 0 black;
  }
}
.visual-7 {
  height: 100vh;
  width: 100%;
  position: relative;
  background: var(--color-2);
}
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  color: var(--color-1);
}
H3 {
  font-size: 10vh;
  margin-top: 45vh;
  color: var(--color-3);
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: black;
}
h2 {
  color: var(--color-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15vh;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: black;
}
.cls-12 {
  fill: var(--color-3);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
.cls-13 {
  fill: var(--color-4);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
.cls-14 {
  fill: var(--color-1);
  stroke: #1d1d1b;
  stroke-miterlimit: 10;
}
#bird1 {
  height: 25vh;
}
.bird {
  top: 10%;
  left: 250px;
  position: absolute;
  animation: move 20s infinite;
}

.punktezahl {
  top: 10%;
  left: 0;
  position: absolute;
  width: 100%;
  text-align: center;
}
.span-wrapper {
}
.span-wrapper span {
  display: block;
  height: 8px;
  width: 100%;
  background: var(--color-1);
  margin-bottom: 2.3vh;
  animation: movehorizontal 20s infinite;
}
@keyframes move {
  0% {
    top: 40%;
    left: 100px;
  }
  10% {
    top: 30%;
  }
  20% {
    top: 40%;
  }
  30% {
    top: 30%;
  }
  40% {
    top: 40%;
  }
  50% {
    top: 30%;
    left: 700px;
  }
  60% {
    top: 40%;
  }
  70% {
    top: 30%;
    left: 450;
  }
  80% {
    top: 40%;
  }
  90% {
    top: 30%;
  }
  100% {
    top: 40%;
    left: 100px;
  }
}
@keyframes movehorizontal {
  0% {
    width: 10%;
  }
  50% {
    width: 100%;
  }
  100% {
    width: 10%;
  }
}
