
/*!
 * three-dots - v0.3.2
 * CSS loading animations made with single element
 * https://nzbin.github.io/three-dots/
 *
 * Copyright (c) 2018 nzbin
 * Released under MIT License
 */
@charset "UTF-8";
/**
 * ==============================================
 * Dot Elastic
 * ==============================================
 */
.dot-elastic {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-elastic 1s infinite linear;
}
.dot-elastic::before, .dot-elastic::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-elastic::before {
  left: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-elastic-before 1s infinite linear;
}
.dot-elastic::after {
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-elastic-after 1s infinite linear;
}

@keyframes dot-elastic-before {
  0% {
    transform: scale(1, 1);
  }
  25% {
    transform: scale(1, 1.5);
  }
  50% {
    transform: scale(1, 0.67);
  }
  75% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes dot-elastic {
  0% {
    transform: scale(1, 1);
  }
  25% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1, 1.5);
  }
  75% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes dot-elastic-after {
  0% {
    transform: scale(1, 1);
  }
  25% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1, 0.67);
  }
  75% {
    transform: scale(1, 1.5);
  }
  100% {
    transform: scale(1, 1);
  }
}
/**
 * ==============================================
 * Dot Pulse
 * ==============================================
 */
.dot-pulse {
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9999px 0 0 -5px;
  animation: dot-pulse 1.5s infinite linear;
  animation-delay: 0.25s;
}
.dot-pulse::before, .dot-pulse::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}
.dot-pulse::before {
  box-shadow: 9984px 0 0 -5px;
  animation: dot-pulse-before 1.5s infinite linear;
  animation-delay: 0s;
}
.dot-pulse::after {
  box-shadow: 10014px 0 0 -5px;
  animation: dot-pulse-after 1.5s infinite linear;
  animation-delay: 0.5s;
}

@keyframes dot-pulse-before {
  0% {
    box-shadow: 9984px 0 0 -5px;
  }
  30% {
    box-shadow: 9984px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 9984px 0 0 -5px;
  }
}
@keyframes dot-pulse {
  0% {
    box-shadow: 9999px 0 0 -5px;
  }
  30% {
    box-shadow: 9999px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 9999px 0 0 -5px;
  }
}
@keyframes dot-pulse-after {
  0% {
    box-shadow: 10014px 0 0 -5px;
  }
  30% {
    box-shadow: 10014px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 10014px 0 0 -5px;
  }
}
/**
 * ==============================================
 * Dot Flashing
 * ==============================================
 */
.dot-flashing {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite linear alternate;
  animation-delay: 0.5s;
}
.dot-flashing::before, .dot-flashing::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-flashing::before {
  left: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite alternate;
  animation-delay: 0s;
}
.dot-flashing::after {
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite alternate;
  animation-delay: 1s;
}

@keyframes dot-flashing {
  0% {
    background-color: #9880ff;
  }
  50%, 100% {
    background-color: rgba(152, 128, 255, 0.2);
  }
}
/**
 * ==============================================
 * Dot Collision
 * ==============================================
 */
.dot-collision {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}
.dot-collision::before, .dot-collision::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-collision::before {
  left: -10px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-collision-before 2s infinite ease-in;
}
.dot-collision::after {
  left: 10px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-collision-after 2s infinite ease-in;
  animation-delay: 1s;
}

@keyframes dot-collision-before {
  0%, 50%, 75%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-15px);
  }
}
@keyframes dot-collision-after {
  0%, 50%, 75%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(15px);
  }
}
/**
 * ==============================================
 * Dot Revolution
 * ==============================================
 */
.dot-revolution {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}
.dot-revolution::before, .dot-revolution::after {
  content: "";
  display: inline-block;
  position: absolute;
}
.dot-revolution::before {
  left: 0;
  top: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  transform-origin: 5px 20px;
  animation: dot-revolution 1.4s linear infinite;
}
.dot-revolution::after {
  left: 0;
  top: -30px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  transform-origin: 5px 35px;
  animation: dot-revolution 1s linear infinite;
}

@keyframes dot-revolution {
  0% {
    transform: rotateZ(0deg) translate3d(0, 0, 0);
  }
  100% {
    transform: rotateZ(360deg) translate3d(0, 0, 0);
  }
}
/**
 * ==============================================
 * Dot Carousel
 * ==============================================
 */
.dot-carousel {
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  animation: dot-carousel 1.5s infinite linear;
}

@keyframes dot-carousel {
  0% {
    box-shadow: 9984px 0 0 -1px #9880ff, 9999px 0 0 1px #9880ff, 10014px 0 0 -1px #9880ff;
  }
  50% {
    box-shadow: 10014px 0 0 -1px #9880ff, 9984px 0 0 -1px #9880ff, 9999px 0 0 1px #9880ff;
  }
  100% {
    box-shadow: 9999px 0 0 1px #9880ff, 10014px 0 0 -1px #9880ff, 9984px 0 0 -1px #9880ff;
  }
}
/**
 * ==============================================
 * Dot Typing
 * ==============================================
 */
.dot-typing {
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  animation: dot-typing 1.5s infinite linear;
}

@keyframes dot-typing {
  0% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
  16.667% {
    box-shadow: 9984px -10px 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
  33.333% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
  50% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px -10px 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
  66.667% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
  83.333% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px -10px 0 0 #9880ff;
  }
  100% {
    box-shadow: 9984px 0 0 0 #9880ff, 9999px 0 0 0 #9880ff, 10014px 0 0 0 #9880ff;
  }
}
/**
 * ==============================================
 * Dot Windmill
 * ==============================================
 */
.dot-windmill {
  position: relative;
  top: -10px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  transform-origin: 5px 15px;
  animation: dot-windmill 2s infinite linear;
}
.dot-windmill::before, .dot-windmill::after {
  content: "";
  display: inline-block;
  position: absolute;
}
.dot-windmill::before {
  left: -8.66254px;
  top: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}
.dot-windmill::after {
  left: 8.66254px;
  top: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}

@keyframes dot-windmill {
  0% {
    transform: rotateZ(0deg) translate3d(0, 0, 0);
  }
  100% {
    transform: rotateZ(720deg) translate3d(0, 0, 0);
  }
}
/**
 * ==============================================
 * Dot Bricks
 * ==============================================
 */
.dot-bricks {
  position: relative;
  top: 8px;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff;
  animation: dot-bricks 2s infinite ease;
}

@keyframes dot-bricks {
  0% {
    box-shadow: 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff;
  }
  8.333% {
    box-shadow: 10007px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff;
  }
  16.667% {
    box-shadow: 10007px -16px 0 0 #9880ff, 9991px -16px 0 0 #9880ff, 10007px 0 0 0 #9880ff;
  }
  25% {
    box-shadow: 10007px -16px 0 0 #9880ff, 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff;
  }
  33.333% {
    box-shadow: 10007px 0 0 0 #9880ff, 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff;
  }
  41.667% {
    box-shadow: 10007px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff;
  }
  50% {
    box-shadow: 10007px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff, 9991px -16px 0 0 #9880ff;
  }
  58.333% {
    box-shadow: 9991px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff, 9991px -16px 0 0 #9880ff;
  }
  66.666% {
    box-shadow: 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff, 9991px -16px 0 0 #9880ff;
  }
  75% {
    box-shadow: 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff;
  }
  83.333% {
    box-shadow: 9991px -16px 0 0 #9880ff, 10007px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff;
  }
  91.667% {
    box-shadow: 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff, 10007px -16px 0 0 #9880ff;
  }
  100% {
    box-shadow: 9991px -16px 0 0 #9880ff, 9991px 0 0 0 #9880ff, 10007px 0 0 0 #9880ff;
  }
}
/**
 * ==============================================
 * Dot Floating
 * ==============================================
 */
.dot-floating {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-floating 3s infinite cubic-bezier(0.15, 0.6, 0.9, 0.1);
}
.dot-floating::before, .dot-floating::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-floating::before {
  left: -12px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-floating-before 3s infinite ease-in-out;
}
.dot-floating::after {
  left: -24px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-floating-after 3s infinite cubic-bezier(0.4, 0, 1, 1);
}

@keyframes dot-floating {
  0% {
    left: calc(-50% - 5px);
  }
  75% {
    left: calc(50% + 105px);
  }
  100% {
    left: calc(50% + 105px);
  }
}
@keyframes dot-floating-before {
  0% {
    left: -50px;
  }
  50% {
    left: -12px;
  }
  75% {
    left: -50px;
  }
  100% {
    left: -50px;
  }
}
@keyframes dot-floating-after {
  0% {
    left: -100px;
  }
  50% {
    left: -24px;
  }
  75% {
    left: -100px;
  }
  100% {
    left: -100px;
  }
}
/**
 * ==============================================
 * Dot Fire
 * ==============================================
 */
.dot-fire {
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9999px 22.5px 0 -5px #9880ff;
  animation: dot-fire 1.5s infinite linear;
  animation-delay: -0.85s;
}
.dot-fire::before, .dot-fire::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
}
.dot-fire::before {
  box-shadow: 9999px 22.5px 0 -5px #9880ff;
  animation: dot-fire 1.5s infinite linear;
  animation-delay: -1.85s;
}
.dot-fire::after {
  box-shadow: 9999px 22.5px 0 -5px #9880ff;
  animation: dot-fire 1.5s infinite linear;
  animation-delay: -2.85s;
}

@keyframes dot-fire {
  1% {
    box-shadow: 9999px 22.5px 0 -5px #9880ff;
  }
  50% {
    box-shadow: 9999px -5.625px 0 2px #9880ff;
  }
  100% {
    box-shadow: 9999px -22.5px 0 -5px #9880ff;
  }
}
/**
 * ==============================================
 * Dot Spin
 * ==============================================
 */
.dot-spin {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: transparent;
  color: transparent;
  box-shadow: 0 -18px 0 0 #9880ff, 12.727926px -12.727926px 0 0 #9880ff, 18px 0 0 0 #9880ff, 12.727926px 12.727926px 0 0 rgba(152, 128, 255, 0), 0 18px 0 0 rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 0 rgba(152, 128, 255, 0), -18px 0 0 0 rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 0 rgba(152, 128, 255, 0);
  animation: dot-spin 1.5s infinite linear;
}

@keyframes dot-spin {
  0%, 100% {
    box-shadow: 0 -18px 0 0 #9880ff, 12.727926px -12.727926px 0 0 #9880ff, 18px 0 0 0 #9880ff, 12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), 0 18px 0 -5px rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), -18px 0 0 -5px rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0);
  }
  12.5% {
    box-shadow: 0 -18px 0 -5px rgba(152, 128, 255, 0), 12.727926px -12.727926px 0 0 #9880ff, 18px 0 0 0 #9880ff, 12.727926px 12.727926px 0 0 #9880ff, 0 18px 0 -5px rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), -18px 0 0 -5px rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0);
  }
  25% {
    box-shadow: 0 -18px 0 -5px rgba(152, 128, 255, 0), 12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0), 18px 0 0 0 #9880ff, 12.727926px 12.727926px 0 0 #9880ff, 0 18px 0 0 #9880ff, -12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), -18px 0 0 -5px rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0);
  }
  37.5% {
    box-shadow: 0 -18px 0 -5px rgba(152, 128, 255, 0), 12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0), 18px 0 0 -5px rgba(152, 128, 255, 0), 12.727926px 12.727926px 0 0 #9880ff, 0 18px 0 0 #9880ff, -12.727926px 12.727926px 0 0 #9880ff, -18px 0 0 -5px rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0);
  }
  50% {
    box-shadow: 0 -18px 0 -5px rgba(152, 128, 255, 0), 12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0), 18px 0 0 -5px rgba(152, 128, 255, 0), 12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), 0 18px 0 0 #9880ff, -12.727926px 12.727926px 0 0 #9880ff, -18px 0 0 0 #9880ff, -12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0);
  }
  62.5% {
    box-shadow: 0 -18px 0 -5px rgba(152, 128, 255, 0), 12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0), 18px 0 0 -5px rgba(152, 128, 255, 0), 12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), 0 18px 0 -5px rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 0 #9880ff, -18px 0 0 0 #9880ff, -12.727926px -12.727926px 0 0 #9880ff;
  }
  75% {
    box-shadow: 0 -18px 0 0 #9880ff, 12.727926px -12.727926px 0 -5px rgba(152, 128, 255, 0), 18px 0 0 -5px rgba(152, 128, 255, 0), 12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), 0 18px 0 -5px rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), -18px 0 0 0 #9880ff, -12.727926px -12.727926px 0 0 #9880ff;
  }
  87.5% {
    box-shadow: 0 -18px 0 0 #9880ff, 12.727926px -12.727926px 0 0 #9880ff, 18px 0 0 -5px rgba(152, 128, 255, 0), 12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), 0 18px 0 -5px rgba(152, 128, 255, 0), -12.727926px 12.727926px 0 -5px rgba(152, 128, 255, 0), -18px 0 0 -5px rgba(152, 128, 255, 0), -12.727926px -12.727926px 0 0 #9880ff;
  }
}
/**
 * ==============================================
 * Dot Falling
 * ==============================================
 */
.dot-falling {
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  box-shadow: 9999px 0 0 0 #9880ff;
  animation: dot-falling 1s infinite linear;
  animation-delay: 0.1s;
}
.dot-falling::before, .dot-falling::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-falling::before {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-falling-before 1s infinite linear;
  animation-delay: 0s;
}
.dot-falling::after {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-falling-after 1s infinite linear;
  animation-delay: 0.2s;
}

@keyframes dot-falling {
  0% {
    box-shadow: 9999px -15px 0 0 rgba(152, 128, 255, 0);
  }
  25%, 50%, 75% {
    box-shadow: 9999px 0 0 0 #9880ff;
  }
  100% {
    box-shadow: 9999px 15px 0 0 rgba(152, 128, 255, 0);
  }
}
@keyframes dot-falling-before {
  0% {
    box-shadow: 9984px -15px 0 0 rgba(152, 128, 255, 0);
  }
  25%, 50%, 75% {
    box-shadow: 9984px 0 0 0 #9880ff;
  }
  100% {
    box-shadow: 9984px 15px 0 0 rgba(152, 128, 255, 0);
  }
}
@keyframes dot-falling-after {
  0% {
    box-shadow: 10014px -15px 0 0 rgba(152, 128, 255, 0);
  }
  25%, 50%, 75% {
    box-shadow: 10014px 0 0 0 #9880ff;
  }
  100% {
    box-shadow: 10014px 15px 0 0 rgba(152, 128, 255, 0);
  }
}
/**
 * ==============================================
 * Dot Stretching
 * ==============================================
 */
.dot-stretching {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  transform: scale(1.25, 1.25);
  animation: dot-stretching 2s infinite ease-in;
}
.dot-stretching::before, .dot-stretching::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-stretching::before {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-stretching-before 2s infinite ease-in;
}
.dot-stretching::after {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-stretching-after 2s infinite ease-in;
}

@keyframes dot-stretching {
  0% {
    transform: scale(1.25, 1.25);
  }
  50%, 60% {
    transform: scale(0.8, 0.8);
  }
  100% {
    transform: scale(1.25, 1.25);
  }
}
@keyframes dot-stretching-before {
  0% {
    transform: translate(0) scale(0.7, 0.7);
  }
  50%, 60% {
    transform: translate(-20px) scale(1, 1);
  }
  100% {
    transform: translate(0) scale(0.7, 0.7);
  }
}
@keyframes dot-stretching-after {
  0% {
    transform: translate(0) scale(0.7, 0.7);
  }
  50%, 60% {
    transform: translate(20px) scale(1, 1);
  }
  100% {
    transform: translate(0) scale(0.7, 0.7);
  }
}
/**
 * ==============================================
 * Experimental: Gooey Effect
 * Dot Gathering
 * ==============================================
 */
.dot-gathering {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  margin: -1px 0;
  filter: blur(2px);
}
.dot-gathering::before, .dot-gathering::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: -50px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  opacity: 0;
  filter: blur(2px);
  animation: dot-gathering 2s infinite ease-in;
}
.dot-gathering::after {
  animation-delay: 0.5s;
}

@keyframes dot-gathering {
  0% {
    opacity: 0;
    transform: translateX(0);
  }
  35%, 60% {
    opacity: 1;
    transform: translateX(50px);
  }
  100% {
    opacity: 0;
    transform: translateX(100px);
  }
}
/**
 * ==============================================
 * Experimental: Gooey Effect
 * Dot Hourglass
 * ==============================================
 */
.dot-hourglass {
  position: relative;
  top: -15px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  margin: -1px 0;
  filter: blur(2px);
  transform-origin: 5px 20px;
  animation: dot-hourglass 2.4s infinite ease-in-out;
  animation-delay: 0.6s;
}
.dot-hourglass::before, .dot-hourglass::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  filter: blur(2px);
}
.dot-hourglass::before {
  top: 30px;
}
.dot-hourglass::after {
  animation: dot-hourglass-after 2.4s infinite cubic-bezier(0.65, 0.05, 0.36, 1);
}

@keyframes dot-hourglass {
  0% {
    transform: rotateZ(0deg);
  }
  25% {
    transform: rotateZ(180deg);
  }
  50% {
    transform: rotateZ(180deg);
  }
  75% {
    transform: rotateZ(360deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
@keyframes dot-hourglass-after {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(30px);
  }
  50% {
    transform: translateY(30px);
  }
  75% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
/**
 * ==============================================
 * Experimental: Gooey Effect
 * Dot Overtaking
 * ==============================================
 */
.dot-overtaking {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: transparent;
  color: hsl(0deg, 100%, 0%);
  margin: -1px 0;
  box-shadow: 0 -20px 0 0;
  filter: blur(2px);
  animation: dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
}
.dot-overtaking::before, .dot-overtaking::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: transparent;
  color: hsl(0deg, 100%, 0%);
  box-shadow: 0 -20px 0 0;
  filter: blur(2px);
}
.dot-overtaking::before {
  animation: dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
  animation-delay: 0.3s;
}
.dot-overtaking::after {
  animation: dot-overtaking 1.5s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
  animation-delay: 0.6s;
}

@keyframes dot-overtaking {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
/**
 * ==============================================
 * Experimental: Gooey Effect
 * Dot Shuttle
 * ==============================================
 */
.dot-shuttle {
  position: relative;
  left: -15px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  margin: -1px 0;
  filter: blur(2px);
}
.dot-shuttle::before, .dot-shuttle::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: hsl(0deg, 100%, 0%);
  color: transparent;
  filter: blur(2px);
}
.dot-shuttle::before {
  left: 15px;
  animation: dot-shuttle 2s infinite ease-out;
}
.dot-shuttle::after {
  left: 30px;
}

@keyframes dot-shuttle {
  0%, 50%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-45px);
  }
  75% {
    transform: translateX(45px);
  }
}
/**
 * ==============================================
 * Experimental: Emoji
 * Dot Bouncing
 * ==============================================
 */
.dot-bouncing {
  position: relative;
  height: 10px;
  font-size: 10px;
}
.dot-bouncing::before {
  content: "⚽🏀🏐";
  display: inline-block;
  position: relative;
  animation: dot-bouncing 1s infinite;
}

@keyframes dot-bouncing {
  0% {
    top: -20px;
    animation-timing-function: ease-in;
  }
  34% {
    transform: scale(1, 1);
  }
  35% {
    top: 20px;
    animation-timing-function: ease-out;
    transform: scale(1.5, 0.5);
  }
  45% {
    transform: scale(1, 1);
  }
  90% {
    top: -20px;
  }
  100% {
    top: -20px;
  }
}
/**
 * ==============================================
 * Experimental: Emoji
 * Dot Rolling
 * ==============================================
 */
.dot-rolling {
  position: relative;
  height: 10px;
  font-size: 10px;
}
.dot-rolling::before {
  content: "⚽";
  display: inline-block;
  position: relative;
  transform: translateX(-25px);
  animation: dot-rolling 3s infinite;
}

@keyframes dot-rolling {
  0% {
    content: "⚽";
    transform: translateX(-25px) rotateZ(0deg);
  }
  16.667% {
    content: "⚽";
    transform: translateX(25px) rotateZ(720deg);
  }
  33.333% {
    content: "⚽";
    transform: translateX(-25px) rotateZ(0deg);
  }
  34.333% {
    content: "🏀";
    transform: translateX(-25px) rotateZ(0deg);
  }
  50% {
    content: "🏀";
    transform: translateX(25px) rotateZ(720deg);
  }
  66.667% {
    content: "🏀";
    transform: translateX(-25px) rotateZ(0deg);
  }
  67.667% {
    content: "🏐";
    transform: translateX(-25px) rotateZ(0deg);
  }
  83.333% {
    content: "🏐";
    transform: translateX(25px) rotateZ(720deg);
  }
  100% {
    content: "🏐";
    transform: translateX(-25px) rotateZ(0deg);
  }
}

/*# sourceMappingURL=three-dots.css.map */

/*!
 * three-dots - v0.3.2
 * CSS loading animations made with single element
 * https://nzbin.github.io/three-dots/
 *
 * Copyright (c) 2018 nzbin
 * Released under MIT License
 */.dot-elastic{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-elastic 1s infinite linear}.dot-elastic::before,.dot-elastic::after{content:"";display:inline-block;position:absolute;top:0}.dot-elastic::before{left:-15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-elastic-before 1s infinite linear}.dot-elastic::after{left:15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-elastic-after 1s infinite linear}@keyframes dot-elastic-before{0%{transform:scale(1, 1)}25%{transform:scale(1, 1.5)}50%{transform:scale(1, 0.67)}75%{transform:scale(1, 1)}100%{transform:scale(1, 1)}}@keyframes dot-elastic{0%{transform:scale(1, 1)}25%{transform:scale(1, 1)}50%{transform:scale(1, 1.5)}75%{transform:scale(1, 1)}100%{transform:scale(1, 1)}}@keyframes dot-elastic-after{0%{transform:scale(1, 1)}25%{transform:scale(1, 1)}50%{transform:scale(1, 0.67)}75%{transform:scale(1, 1.5)}100%{transform:scale(1, 1)}}.dot-pulse{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9999px 0 0 -5px;animation:dot-pulse 1.5s infinite linear;animation-delay:.25s}.dot-pulse::before,.dot-pulse::after{content:"";display:inline-block;position:absolute;top:0;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}.dot-pulse::before{box-shadow:9984px 0 0 -5px;animation:dot-pulse-before 1.5s infinite linear;animation-delay:0s}.dot-pulse::after{box-shadow:10014px 0 0 -5px;animation:dot-pulse-after 1.5s infinite linear;animation-delay:.5s}@keyframes dot-pulse-before{0%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}60%,100%{box-shadow:9984px 0 0 -5px}}@keyframes dot-pulse{0%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}60%,100%{box-shadow:9999px 0 0 -5px}}@keyframes dot-pulse-after{0%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}60%,100%{box-shadow:10014px 0 0 -5px}}.dot-flashing{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s}.dot-flashing::before,.dot-flashing::after{content:"";display:inline-block;position:absolute;top:0}.dot-flashing::before{left:-15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-flashing 1s infinite alternate;animation-delay:0s}.dot-flashing::after{left:15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:#9880ff}50%,100%{background-color:rgba(152,128,255,.2)}}.dot-collision{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}.dot-collision::before,.dot-collision::after{content:"";display:inline-block;position:absolute;top:0}.dot-collision::before{left:-10px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-collision-before 2s infinite ease-in}.dot-collision::after{left:10px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-collision-after 2s infinite ease-in;animation-delay:1s}@keyframes dot-collision-before{0%,50%,75%,100%{transform:translateX(0)}25%{transform:translateX(-15px)}}@keyframes dot-collision-after{0%,50%,75%,100%{transform:translateX(0)}25%{transform:translateX(15px)}}.dot-revolution{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}.dot-revolution::before,.dot-revolution::after{content:"";display:inline-block;position:absolute}.dot-revolution::before{left:0;top:-15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;transform-origin:5px 20px;animation:dot-revolution 1.4s linear infinite}.dot-revolution::after{left:0;top:-30px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;transform-origin:5px 35px;animation:dot-revolution 1s linear infinite}@keyframes dot-revolution{0%{transform:rotateZ(0deg) translate3d(0, 0, 0)}100%{transform:rotateZ(360deg) translate3d(0, 0, 0)}}.dot-carousel{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff;animation:dot-carousel 1.5s infinite linear}@keyframes dot-carousel{0%{box-shadow:9984px 0 0 -1px #9880ff,9999px 0 0 1px #9880ff,10014px 0 0 -1px #9880ff}50%{box-shadow:10014px 0 0 -1px #9880ff,9984px 0 0 -1px #9880ff,9999px 0 0 1px #9880ff}100%{box-shadow:9999px 0 0 1px #9880ff,10014px 0 0 -1px #9880ff,9984px 0 0 -1px #9880ff}}.dot-typing{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff;animation:dot-typing 1.5s infinite linear}@keyframes dot-typing{0%{box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff}16.667%{box-shadow:9984px -10px 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff}33.333%{box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff}50%{box-shadow:9984px 0 0 0 #9880ff,9999px -10px 0 0 #9880ff,10014px 0 0 0 #9880ff}66.667%{box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff}83.333%{box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px -10px 0 0 #9880ff}100%{box-shadow:9984px 0 0 0 #9880ff,9999px 0 0 0 #9880ff,10014px 0 0 0 #9880ff}}.dot-windmill{position:relative;top:-10px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;transform-origin:5px 15px;animation:dot-windmill 2s infinite linear}.dot-windmill::before,.dot-windmill::after{content:"";display:inline-block;position:absolute}.dot-windmill::before{left:-8.66254px;top:15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}.dot-windmill::after{left:8.66254px;top:15px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}@keyframes dot-windmill{0%{transform:rotateZ(0deg) translate3d(0, 0, 0)}100%{transform:rotateZ(720deg) translate3d(0, 0, 0)}}.dot-bricks{position:relative;top:8px;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff;animation:dot-bricks 2s infinite ease}@keyframes dot-bricks{0%{box-shadow:9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff}8.333%{box-shadow:10007px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff}16.667%{box-shadow:10007px -16px 0 0 #9880ff,9991px -16px 0 0 #9880ff,10007px 0 0 0 #9880ff}25%{box-shadow:10007px -16px 0 0 #9880ff,9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff}33.333%{box-shadow:10007px 0 0 0 #9880ff,9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff}41.667%{box-shadow:10007px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff}50%{box-shadow:10007px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff,9991px -16px 0 0 #9880ff}58.333%{box-shadow:9991px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff,9991px -16px 0 0 #9880ff}66.666%{box-shadow:9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff,9991px -16px 0 0 #9880ff}75%{box-shadow:9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff}83.333%{box-shadow:9991px -16px 0 0 #9880ff,10007px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff}91.667%{box-shadow:9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff,10007px -16px 0 0 #9880ff}100%{box-shadow:9991px -16px 0 0 #9880ff,9991px 0 0 0 #9880ff,10007px 0 0 0 #9880ff}}.dot-floating{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-floating 3s infinite cubic-bezier(0.15, 0.6, 0.9, 0.1)}.dot-floating::before,.dot-floating::after{content:"";display:inline-block;position:absolute;top:0}.dot-floating::before{left:-12px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-floating-before 3s infinite ease-in-out}.dot-floating::after{left:-24px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-floating-after 3s infinite cubic-bezier(0.4, 0, 1, 1)}@keyframes dot-floating{0%{left:calc(-50% - 5px)}75%{left:calc(50% + 105px)}100%{left:calc(50% + 105px)}}@keyframes dot-floating-before{0%{left:-50px}50%{left:-12px}75%{left:-50px}100%{left:-50px}}@keyframes dot-floating-after{0%{left:-100px}50%{left:-24px}75%{left:-100px}100%{left:-100px}}.dot-fire{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9999px 22.5px 0 -5px #9880ff;animation:dot-fire 1.5s infinite linear;animation-delay:-0.85s}.dot-fire::before,.dot-fire::after{content:"";display:inline-block;position:absolute;top:0;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff}.dot-fire::before{box-shadow:9999px 22.5px 0 -5px #9880ff;animation:dot-fire 1.5s infinite linear;animation-delay:-1.85s}.dot-fire::after{box-shadow:9999px 22.5px 0 -5px #9880ff;animation:dot-fire 1.5s infinite linear;animation-delay:-2.85s}@keyframes dot-fire{1%{box-shadow:9999px 22.5px 0 -5px #9880ff}50%{box-shadow:9999px -5.625px 0 2px #9880ff}100%{box-shadow:9999px -22.5px 0 -5px #9880ff}}.dot-spin{position:relative;width:10px;height:10px;border-radius:5px;background-color:rgba(0,0,0,0);color:rgba(0,0,0,0);box-shadow:0 -18px 0 0 #9880ff,12.727926px -12.727926px 0 0 #9880ff,18px 0 0 0 #9880ff,12.727926px 12.727926px 0 0 rgba(152,128,255,0),0 18px 0 0 rgba(152,128,255,0),-12.727926px 12.727926px 0 0 rgba(152,128,255,0),-18px 0 0 0 rgba(152,128,255,0),-12.727926px -12.727926px 0 0 rgba(152,128,255,0);animation:dot-spin 1.5s infinite linear}@keyframes dot-spin{0%,100%{box-shadow:0 -18px 0 0 #9880ff,12.727926px -12.727926px 0 0 #9880ff,18px 0 0 0 #9880ff,12.727926px 12.727926px 0 -5px rgba(152,128,255,0),0 18px 0 -5px rgba(152,128,255,0),-12.727926px 12.727926px 0 -5px rgba(152,128,255,0),-18px 0 0 -5px rgba(152,128,255,0),-12.727926px -12.727926px 0 -5px rgba(152,128,255,0)}12.5%{box-shadow:0 -18px 0 -5px rgba(152,128,255,0),12.727926px -12.727926px 0 0 #9880ff,18px 0 0 0 #9880ff,12.727926px 12.727926px 0 0 #9880ff,0 18px 0 -5px rgba(152,128,255,0),-12.727926px 12.727926px 0 -5px rgba(152,128,255,0),-18px 0 0 -5px rgba(152,128,255,0),-12.727926px -12.727926px 0 -5px rgba(152,128,255,0)}25%{box-shadow:0 -18px 0 -5px rgba(152,128,255,0),12.727926px -12.727926px 0 -5px rgba(152,128,255,0),18px 0 0 0 #9880ff,12.727926px 12.727926px 0 0 #9880ff,0 18px 0 0 #9880ff,-12.727926px 12.727926px 0 -5px rgba(152,128,255,0),-18px 0 0 -5px rgba(152,128,255,0),-12.727926px -12.727926px 0 -5px rgba(152,128,255,0)}37.5%{box-shadow:0 -18px 0 -5px rgba(152,128,255,0),12.727926px -12.727926px 0 -5px rgba(152,128,255,0),18px 0 0 -5px rgba(152,128,255,0),12.727926px 12.727926px 0 0 #9880ff,0 18px 0 0 #9880ff,-12.727926px 12.727926px 0 0 #9880ff,-18px 0 0 -5px rgba(152,128,255,0),-12.727926px -12.727926px 0 -5px rgba(152,128,255,0)}50%{box-shadow:0 -18px 0 -5px rgba(152,128,255,0),12.727926px -12.727926px 0 -5px rgba(152,128,255,0),18px 0 0 -5px rgba(152,128,255,0),12.727926px 12.727926px 0 -5px rgba(152,128,255,0),0 18px 0 0 #9880ff,-12.727926px 12.727926px 0 0 #9880ff,-18px 0 0 0 #9880ff,-12.727926px -12.727926px 0 -5px rgba(152,128,255,0)}62.5%{box-shadow:0 -18px 0 -5px rgba(152,128,255,0),12.727926px -12.727926px 0 -5px rgba(152,128,255,0),18px 0 0 -5px rgba(152,128,255,0),12.727926px 12.727926px 0 -5px rgba(152,128,255,0),0 18px 0 -5px rgba(152,128,255,0),-12.727926px 12.727926px 0 0 #9880ff,-18px 0 0 0 #9880ff,-12.727926px -12.727926px 0 0 #9880ff}75%{box-shadow:0 -18px 0 0 #9880ff,12.727926px -12.727926px 0 -5px rgba(152,128,255,0),18px 0 0 -5px rgba(152,128,255,0),12.727926px 12.727926px 0 -5px rgba(152,128,255,0),0 18px 0 -5px rgba(152,128,255,0),-12.727926px 12.727926px 0 -5px rgba(152,128,255,0),-18px 0 0 0 #9880ff,-12.727926px -12.727926px 0 0 #9880ff}87.5%{box-shadow:0 -18px 0 0 #9880ff,12.727926px -12.727926px 0 0 #9880ff,18px 0 0 -5px rgba(152,128,255,0),12.727926px 12.727926px 0 -5px rgba(152,128,255,0),0 18px 0 -5px rgba(152,128,255,0),-12.727926px 12.727926px 0 -5px rgba(152,128,255,0),-18px 0 0 -5px rgba(152,128,255,0),-12.727926px -12.727926px 0 0 #9880ff}}.dot-falling{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;box-shadow:9999px 0 0 0 #9880ff;animation:dot-falling 1s infinite linear;animation-delay:.1s}.dot-falling::before,.dot-falling::after{content:"";display:inline-block;position:absolute;top:0}.dot-falling::before{width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-falling-before 1s infinite linear;animation-delay:0s}.dot-falling::after{width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-falling-after 1s infinite linear;animation-delay:.2s}@keyframes dot-falling{0%{box-shadow:9999px -15px 0 0 rgba(152,128,255,0)}25%,50%,75%{box-shadow:9999px 0 0 0 #9880ff}100%{box-shadow:9999px 15px 0 0 rgba(152,128,255,0)}}@keyframes dot-falling-before{0%{box-shadow:9984px -15px 0 0 rgba(152,128,255,0)}25%,50%,75%{box-shadow:9984px 0 0 0 #9880ff}100%{box-shadow:9984px 15px 0 0 rgba(152,128,255,0)}}@keyframes dot-falling-after{0%{box-shadow:10014px -15px 0 0 rgba(152,128,255,0)}25%,50%,75%{box-shadow:10014px 0 0 0 #9880ff}100%{box-shadow:10014px 15px 0 0 rgba(152,128,255,0)}}.dot-stretching{position:relative;width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;transform:scale(1.25, 1.25);animation:dot-stretching 2s infinite ease-in}.dot-stretching::before,.dot-stretching::after{content:"";display:inline-block;position:absolute;top:0}.dot-stretching::before{width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-stretching-before 2s infinite ease-in}.dot-stretching::after{width:10px;height:10px;border-radius:5px;background-color:#9880ff;color:#9880ff;animation:dot-stretching-after 2s infinite ease-in}@keyframes dot-stretching{0%{transform:scale(1.25, 1.25)}50%,60%{transform:scale(0.8, 0.8)}100%{transform:scale(1.25, 1.25)}}@keyframes dot-stretching-before{0%{transform:translate(0) scale(0.7, 0.7)}50%,60%{transform:translate(-20px) scale(1, 1)}100%{transform:translate(0) scale(0.7, 0.7)}}@keyframes dot-stretching-after{0%{transform:translate(0) scale(0.7, 0.7)}50%,60%{transform:translate(20px) scale(1, 1)}100%{transform:translate(0) scale(0.7, 0.7)}}.dot-gathering{position:relative;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);margin:-1px 0;filter:blur(2px)}.dot-gathering::before,.dot-gathering::after{content:"";display:inline-block;position:absolute;top:0;left:-50px;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);opacity:0;filter:blur(2px);animation:dot-gathering 2s infinite ease-in}.dot-gathering::after{animation-delay:.5s}@keyframes dot-gathering{0%{opacity:0;transform:translateX(0)}35%,60%{opacity:1;transform:translateX(50px)}100%{opacity:0;transform:translateX(100px)}}.dot-hourglass{position:relative;top:-15px;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);margin:-1px 0;filter:blur(2px);transform-origin:5px 20px;animation:dot-hourglass 2.4s infinite ease-in-out;animation-delay:.6s}.dot-hourglass::before,.dot-hourglass::after{content:"";display:inline-block;position:absolute;top:0;left:0;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);filter:blur(2px)}.dot-hourglass::before{top:30px}.dot-hourglass::after{animation:dot-hourglass-after 2.4s infinite cubic-bezier(0.65, 0.05, 0.36, 1)}@keyframes dot-hourglass{0%{transform:rotateZ(0deg)}25%{transform:rotateZ(180deg)}50%{transform:rotateZ(180deg)}75%{transform:rotateZ(360deg)}100%{transform:rotateZ(360deg)}}@keyframes dot-hourglass-after{0%{transform:translateY(0)}25%{transform:translateY(30px)}50%{transform:translateY(30px)}75%{transform:translateY(0)}100%{transform:translateY(0)}}.dot-overtaking{position:relative;width:12px;height:12px;border-radius:6px;background-color:rgba(0,0,0,0);color:#000;margin:-1px 0;box-shadow:0 -20px 0 0;filter:blur(2px);animation:dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2)}.dot-overtaking::before,.dot-overtaking::after{content:"";display:inline-block;position:absolute;top:0;left:0;width:12px;height:12px;border-radius:6px;background-color:rgba(0,0,0,0);color:#000;box-shadow:0 -20px 0 0;filter:blur(2px)}.dot-overtaking::before{animation:dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);animation-delay:.3s}.dot-overtaking::after{animation:dot-overtaking 1.5s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);animation-delay:.6s}@keyframes dot-overtaking{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}.dot-shuttle{position:relative;left:-15px;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);margin:-1px 0;filter:blur(2px)}.dot-shuttle::before,.dot-shuttle::after{content:"";display:inline-block;position:absolute;top:0;width:12px;height:12px;border-radius:6px;background-color:#000;color:rgba(0,0,0,0);filter:blur(2px)}.dot-shuttle::before{left:15px;animation:dot-shuttle 2s infinite ease-out}.dot-shuttle::after{left:30px}@keyframes dot-shuttle{0%,50%,100%{transform:translateX(0)}25%{transform:translateX(-45px)}75%{transform:translateX(45px)}}.dot-bouncing{position:relative;height:10px;font-size:10px}.dot-bouncing::before{content:"⚽🏀🏐";display:inline-block;position:relative;animation:dot-bouncing 1s infinite}@keyframes dot-bouncing{0%{top:-20px;animation-timing-function:ease-in}34%{transform:scale(1, 1)}35%{top:20px;animation-timing-function:ease-out;transform:scale(1.5, 0.5)}45%{transform:scale(1, 1)}90%{top:-20px}100%{top:-20px}}.dot-rolling{position:relative;height:10px;font-size:10px}.dot-rolling::before{content:"⚽";display:inline-block;position:relative;transform:translateX(-25px);animation:dot-rolling 3s infinite}@keyframes dot-rolling{0%{content:"⚽";transform:translateX(-25px) rotateZ(0deg)}16.667%{content:"⚽";transform:translateX(25px) rotateZ(720deg)}33.333%{content:"⚽";transform:translateX(-25px) rotateZ(0deg)}34.333%{content:"🏀";transform:translateX(-25px) rotateZ(0deg)}50%{content:"🏀";transform:translateX(25px) rotateZ(720deg)}66.667%{content:"🏀";transform:translateX(-25px) rotateZ(0deg)}67.667%{content:"🏐";transform:translateX(-25px) rotateZ(0deg)}83.333%{content:"🏐";transform:translateX(25px) rotateZ(720deg)}100%{content:"🏐";transform:translateX(-25px) rotateZ(0deg)}}

/*# sourceMappingURL=three-dots.min.css.map */
/* CommentItem.razor.css */

/* ── Container ───────────────────────────────────────────────────── */
.comment-item {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: var(--rz-border-radius);
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-border-disabled-color);
    transition: box-shadow 0.15s ease;
}

    .comment-item:hover {
        box-shadow: 0 2px 8px var(--rz-shadow-color, rgba(0,0,0,.08));
    }

.comment-reply {
    background: var(--rz-secondary-lighter);
    border-color: transparent;
    margin-top: 0.5rem;
}

/* ── Avatar ──────────────────────────────────────────────────────── */
.comment-avatar {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
}

    .comment-avatar img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid var(--rz-border-disabled-color);
    }

.comment-avatar-fallback {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--rz-primary);
    color: var(--rz-on-primary);
    font-size: 0.85rem;
    font-weight: var(--rz-font-weight-bold, 600);
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

/* ── Body ────────────────────────────────────────────────────────── */
.comment-body {
    flex: 1;
    min-width: 0;
}

/* ── Header ──────────────────────────────────────────────────────── */
.comment-header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
}

.comment-author {
    font-weight: var(--rz-font-weight-bold, 600);
    color: var(--rz-text-title-color);
    font-size: 0.9rem;
}

.comment-date {
    font-size: 0.78rem;
    color: var(--rz-text-tertiary-color);
    cursor: default;
}

.comment-edited {
    font-size: 0.75rem;
    color: var(--rz-text-disabled-color);
    font-style: italic;
}

/* ── Kommentartext ───────────────────────────────────────────────── */
.comment-text {
    font-size: 0.9rem;
    color: var(--rz-text-color);
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Textarea ────────────────────────────────────────────────────── */
.comment-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rz-border-color);
    border-radius: var(--rz-border-radius);
    background: var(--rz-base-background-color);
    color: var(--rz-text-color);
    font-size: 0.875rem;
    font-family: inherit;
    resize: vertical;
    outline: none;
    transition: border-color 0.15s;
}

    .comment-textarea:focus {
        border-color: var(--rz-primary);
        box-shadow: 0 0 0 2px var(--rz-primary-lighter);
    }

/* ── Edit- / Antwort-Bereich ─────────────────────────────────────── */
.comment-edit-area,
.reply-input-area {
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.comment-edit-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

/* ── Action-Buttons ──────────────────────────────────────────────── */
.comment-actions {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
    margin-top: 0.6rem;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    border: none;
    border-radius: var(--rz-border-radius);
    background: transparent;
    font-size: 0.8rem;
    cursor: pointer;
    color: var(--rz-text-secondary-color);
    transition: background 0.15s, color 0.15s;
}

    .action-btn .material-icons {
        font-family: 'Material Icons';
        font-size: 16px;
        line-height: 1;
        flex-shrink: 0;
    }

    .action-btn:hover {
        background: var(--rz-base-300);
        color: var(--rz-text-color);
    }

.reply-btn:hover {
    color: var(--rz-primary);
}

.edit-btn:hover {
    color: var(--rz-info);
}

.delete-btn:hover {
    color: var(--rz-danger);
}

/* ── Primäre / sekundäre Buttons ─────────────────────────────────── */
.btn-save,
.btn-cancel {
    padding: 0.35rem 1rem;
    border: none;
    border-radius: var(--rz-border-radius);
    font-size: 0.85rem;
    cursor: pointer;
    transition: filter 0.15s;
}

.btn-save {
    background: var(--rz-primary);
    color: var(--rz-on-primary);
}

    .btn-save:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .btn-save:not(:disabled):hover {
        filter: brightness(1.08);
    }

.btn-cancel {
    background: var(--rz-base-300);
    color: var(--rz-text-color);
}

    .btn-cancel:hover {
        filter: brightness(0.95);
    }

/* ── Eingebettete Antworten ──────────────────────────────────────── */
.comment-replies {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-left: 0.5rem;
    border-left: 3px solid var(--rz-primary-lighter, var(--rz-border-disabled-color));
}

/* ── Lösch-Bestätigung ───────────────────────────────────────────── */
.confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.confirm-dialog {
    background: var(--rz-base-background-color);
    border-radius: var(--rz-border-radius);
    padding: 1.5rem 2rem;
    box-shadow: 0 8px 30px rgba(0,0,0,.2);
    min-width: 260px;
    text-align: center;
}

    .confirm-dialog p {
        margin: 0 0 1rem;
        color: var(--rz-text-color);
        font-size: 0.95rem;
    }

.confirm-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
}

    .confirm-actions .btn-save {
        background: var(--rz-danger);
    }

/* CommentList.razor.css */

.comment-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.comment-list-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2.5rem 1rem;
    color: var(--rz-text-disabled-color);
    font-size: 0.9rem;
}

    .comment-list-empty .material-icons {
        font-family: 'Material Icons';
        font-size: 2.5rem;
        opacity: 0.4;
    }

/* DetailToolbar.razor.css */

.detail-toolbar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--rz-base-200, #e5e7eb);
    margin-bottom: 1rem;
}

/* Breadcrumb-Modus */
.detail-toolbar__breadcrumb {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}

.detail-toolbar__breadcrumb-link {
    color: var(--rz-text-secondary-color, #6b7280);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

    .detail-toolbar__breadcrumb-link:hover {
        color: var(--rz-text-color, #1a1a1a);
        text-decoration: underline;
    }

.detail-toolbar__breadcrumb-sep {
    color: var(--rz-text-disabled-color, #9ca3af);
    font-size: 10px;
}

.detail-toolbar__breadcrumb-current {
    color: var(--rz-text-color, #1a1a1a);
    font-weight: 500;
}

/* BackButton-Modus */
.detail-toolbar__back {
    background: none;
    border: none;
    font-size: 12px;
    color: var(--rz-text-secondary-color, #6b7280);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    align-self: flex-start;
}

    .detail-toolbar__back:hover {
        color: var(--rz-text-color, #1a1a1a);
        background: var(--rz-base-100, #f3f4f6);
    }

/* Titelzeile */
.detail-toolbar__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--rz-text-color, #1a1a1a);
}

.detail-toolbar__icon {
    display: flex;
    align-items: center;
    opacity: 0.6;
}

.detail-toolbar__badge {
    display: inline-flex;
    align-items: center;
}

/* Aktionszeile */
.detail-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.detail-toolbar__primary {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.detail-toolbar__secondary {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-left: auto;
}

.round-btn {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    cursor: pointer;
    text-align: center;
    border: 2px solid;
}

/*
 * three-dots-override.css
 *
 * Überschreibt die hardcodierten Farben (#9880ff) der three-dots Library
 * mit der Radzen Primärfarbe. Einbinden NACH three-dots:
 *
 *   <link rel="stylesheet" href="css/three-dots.min.css" />
 *   <link rel="stylesheet" href="css/three-dots-override.css" />
 */

/* ---- Klassen mit background-color + color ---- */
.dot-elastic,
.dot-elastic::before,
.dot-elastic::after,
.dot-pulse,
.dot-pulse::before,
.dot-pulse::after,
.dot-flashing,
.dot-flashing::before,
.dot-flashing::after,
.dot-collision::before,
.dot-collision::after,
.dot-revolution::before,
.dot-revolution::after,
.dot-windmill,
.dot-windmill::before,
.dot-windmill::after,
.dot-floating,
.dot-floating::before,
.dot-floating::after,
.dot-fire,
.dot-fire::before,
.dot-fire::after,
.dot-falling,
.dot-falling::before,
.dot-falling::after,
.dot-stretching,
.dot-stretching::before,
.dot-stretching::after {
    background-color: var(--rz-primary) !important;
    color: var(--rz-primary) !important;
}

/* ---- dot-flashing: transparente Endfarbe ableiten ---- */
@keyframes dot-flashing {
    0%   { background-color: var(--rz-primary); }
    50%, 100% { background-color: color-mix(in srgb, var(--rz-primary) 20%, transparent); }
}

/* ---- Klassen die box-shadow für die Farbe nutzen ---- */
.dot-pulse       { box-shadow: 9999px 0 0 -5px var(--rz-primary) !important; }
.dot-pulse::before { box-shadow: 9984px 0 0 -5px var(--rz-primary) !important; }
.dot-pulse::after  { box-shadow: 10014px 0 0 -5px var(--rz-primary) !important; }

.dot-carousel {
    box-shadow:
        9984px 0 0 0 var(--rz-primary),
        9999px 0 0 0 var(--rz-primary),
        10014px 0 0 0 var(--rz-primary) !important;
}

.dot-typing {
    box-shadow:
        9984px 0 0 0 var(--rz-primary),
        9999px 0 0 0 var(--rz-primary),
        10014px 0 0 0 var(--rz-primary) !important;
}

.dot-bricks {
    box-shadow:
        9991px -16px 0 0 var(--rz-primary),
        9991px 0 0 0 var(--rz-primary),
        10007px 0 0 0 var(--rz-primary) !important;
}

.dot-spin {
    box-shadow:
        0 -18px 0 0 var(--rz-primary),
        12.727926px -12.727926px 0 0 var(--rz-primary),
        18px 0 0 0 var(--rz-primary),
        12.727926px 12.727926px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent),
        0 18px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent),
        -12.727926px 12.727926px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent),
        -18px 0 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent),
        -12.727926px -12.727926px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent) !important;
}

.dot-falling {
    box-shadow: 9999px 0 0 0 var(--rz-primary) !important;
}

.dot-fire {
    box-shadow: 9999px 22.5px 0 -5px var(--rz-primary) !important;
}
.dot-fire::before { box-shadow: 9999px 22.5px 0 -5px var(--rz-primary) !important; }
.dot-fire::after  { box-shadow: 9999px 22.5px 0 -5px var(--rz-primary) !important; }

/* ---- @keyframes mit box-shadow (carousel, typing, bricks, spin, falling, fire) ---- */
@keyframes dot-pulse-before {
    0%       { box-shadow: 9984px 0 0 -5px var(--rz-primary); }
    30%      { box-shadow: 9984px 0 0 2px  var(--rz-primary); }
    60%, 100%{ box-shadow: 9984px 0 0 -5px var(--rz-primary); }
}
@keyframes dot-pulse {
    0%       { box-shadow: 9999px 0 0 -5px var(--rz-primary); }
    30%      { box-shadow: 9999px 0 0 2px  var(--rz-primary); }
    60%, 100%{ box-shadow: 9999px 0 0 -5px var(--rz-primary); }
}
@keyframes dot-pulse-after {
    0%       { box-shadow: 10014px 0 0 -5px var(--rz-primary); }
    30%      { box-shadow: 10014px 0 0 2px  var(--rz-primary); }
    60%, 100%{ box-shadow: 10014px 0 0 -5px var(--rz-primary); }
}

@keyframes dot-carousel {
    0%   { box-shadow: 9984px 0 0 -1px var(--rz-primary), 9999px 0 0 1px var(--rz-primary), 10014px 0 0 -1px var(--rz-primary); }
    50%  { box-shadow: 10014px 0 0 -1px var(--rz-primary), 9984px 0 0 -1px var(--rz-primary), 9999px 0 0 1px var(--rz-primary); }
    100% { box-shadow: 9999px 0 0 1px var(--rz-primary), 10014px 0 0 -1px var(--rz-primary), 9984px 0 0 -1px var(--rz-primary); }
}

@keyframes dot-typing {
    0%      { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
    16.667% { box-shadow: 9984px -10px 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
    33.333% { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
    50%     { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px -10px 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
    66.667% { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
    83.333% { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px -10px 0 0 var(--rz-primary); }
    100%    { box-shadow: 9984px 0 0 0 var(--rz-primary), 9999px 0 0 0 var(--rz-primary), 10014px 0 0 0 var(--rz-primary); }
}

@keyframes dot-falling {
    0%         { box-shadow: 9999px -15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
    25%,50%,75%{ box-shadow: 9999px 0 0 0 var(--rz-primary); }
    100%       { box-shadow: 9999px 15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
}
@keyframes dot-falling-before {
    0%         { box-shadow: 9984px -15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
    25%,50%,75%{ box-shadow: 9984px 0 0 0 var(--rz-primary); }
    100%       { box-shadow: 9984px 15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
}
@keyframes dot-falling-after {
    0%         { box-shadow: 10014px -15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
    25%,50%,75%{ box-shadow: 10014px 0 0 0 var(--rz-primary); }
    100%       { box-shadow: 10014px 15px 0 0 color-mix(in srgb, var(--rz-primary) 0%, transparent); }
}

@keyframes dot-fire {
    1%   { box-shadow: 9999px 22.5px 0 -5px var(--rz-primary); }
    50%  { box-shadow: 9999px -5.625px 0 2px var(--rz-primary); }
    100% { box-shadow: 9999px -22.5px 0 -5px var(--rz-primary); }
}
/*-------------------------------Traffic light component------------------------------------*/
.traffic-light {
    display: flex;
    align-items: center;
    padding: 2px;
    border-radius: 6px;
}

.light {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin: 1px;
}

.blinking {
    animation: blink 0.5s infinite alternate;
}

@keyframes blink {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.5;
    }
}
/*-------------------------------------------------------------------*/
