04-christmaslight/src/App.css
body {
  width: 100vw;
  height: 100vh;
}

@keyframes bounp1 {
  0%,
  100% {
    box-shadow: 0 0 20px 8px rgba(228, 59, 25, 0.895);
  }
  50% {
    box-shadow: none;
  }
}

@keyframes bounp2 {
  0%,
  100% {
    box-shadow: none;
  }
  50% {
    box-shadow: 0 0 20px 8px yellow;
  }
}

@keyframes bounp3 {
  0%,
  100% {
    box-shadow: 0 0 20px 8px lightblue;
  }
  50% {
    box-shadow: none;
  }
}

@keyframes bounp4 {
  0%,
  100% {
    box-shadow: none;
  }
  50% {
    box-shadow: 0 0 20px 8px lightgreen;
  }
}

.App {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 1000px;
  height: 600px;
  margin: 100px auto;
  border-radius: 24px;
  background-color: #000 !important;

  box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px,
    rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px,
    rgba(0, 0, 0, 0.09) 0px 32px 16px;
}
h1 {
  color: #fff !important;
  font-size: 80px !important;
  margin: 5vh 0 5vh 0 !important;
  text-align: center;
  font-size: 2rem;
  text-shadow: 0 0 30px white;
}
.lights {
  display: flex;
  justify-content: center;
  align-items: center;
}
.group {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.circle {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 30px;
  margin-top: 12px;
}
.circle::before {
  content: "";
  position: absolute;
  top: -44%;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 20px;
  background: gray;
  z-index: -1;
}
.circle:after {
  content: "";
  position: absolute;
  top: -50%;
  left: 50%;
  width: 100px;
  height: 18.66666666667px;
  border-bottom: solid 2px gray;
  border-radius: 50%;
}
.group:last-child .circle:last-child::after {
  content: "";
  width: 0px;
}

.orange {
  background-color: rgb(230, 65, 28);
  animation: bounp1 1s infinite;
}
.blue {
  background-color: lightblue;
  animation: bounp3 1s infinite;
}
.green {
  background-color: lightgreen;
  animation: bounp4 1s infinite;
}
.yellow {
  background-color: yellow;
  animation: bounp2 1s infinite;
}

.on,
.off {
  padding: 20px;
  border-radius: 50%;
  margin-top: 200px;
  font-size: 30px;
  border: 2px solid #611185;
  text-align: center;
  cursor: pointer;
  font-style: normal;
}

.on {
  border: none;
  color: #611185;
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0 10px 2px #d78dfa;
}

.on:hover {
  box-shadow: 0 0 4px 2px #8d8b8b;
}
.off:hover {
  outline: none;
  border: none;
  /* background-color: white; */
  color: #611185;
  box-shadow: 0 0 10px 2px #611185;
}
