/* author: https://codepen.io/cassidoo/pen/QWZbZQV
Cassidy */

html,
body {
  background: #020009;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

.clock {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: black;
  width: 250px;
  height: 250px;
  border-radius: 50%;
}

.hands {
  position: relative;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
}

.hour,
.minute,
.second {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  transform: rotate(0deg);
  transform-origin: bottom center;
  width: 4px;
  border-radius: 2px;
}

.hour {
  background: white;
  height: 50px;
  top: -20%;
}

.minute {
  background: white;
  height: 90px;
  top: -36%;
}

.second {
  background: #ff0f7b;
  width: 2px;
  height: 80px;
  top: -32%;
}

.clock:before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(-45deg, #f89b29 0%, #ff0f7b 100%);
  transform: translate3d(0, 20px, 0) scale(1.2);
  filter: blur(40px);
  opacity: var(0.8);
  transition: opacity 0.3s;
  border-radius: inherit;
  animation: blobby 5s infinite ease;
}

.clock:after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: inherit;
  border-radius: inherit;
}

@keyframes blobby {
  0% {
    transform: translate3d(0px, 20px, 0) scale(1.2);
  }
  20% {
    transform: translate3d(0px, 10px, 0) scale(0.9) rotate(20deg);
  }
  50% {
    transform: translate3d(0px, 20px, 0) scale(1) rotate(0deg);
  }
  70% {
    transform: translate3d(0px, 10px, 0) scale(1.4) rotate(20deg);
  }
  0% {
    transform: translate3d(0px, 20px, 0) scale(1.2);
  }
}
