* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
  background: #2f363e;
}

#time {
  position: relative;
  width: 350px;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#time .circle {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}

#time .circle svg {
  position: relative;
  transform: rotate(270deg);
}

#time .circle:nth-child(1) svg {
  width: 250px;
  height: 250px;
}

#time .circle:nth-child(2) svg {
  width: 210px;
  height: 210px;
}

#time .circle:nth-child(3) svg {
  width: 170px;
  height: 170px;
}

#time .circle svg circle {
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke: var(--clr);
  stroke-width: 5;
  transform: translate(5px,5px);
  opacity: 0.25;
}

#time .circle:nth-child(1) svg {
  stroke-dasharray: 760;
  stroke-dashoffset: 760;
}

#time .circle:nth-child(2) svg {
  stroke-dasharray: 630;
  stroke-dashoffset: 630;
}

#time .circle:nth-child(3) svg {
  stroke-dasharray: 510;
  stroke-dashoffset: 510;
}

.dots {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 10;
}

.dots::before {
  content: '';
  position: absolute;
  top: -3px;
  width: 15px;
  height: 15px;
  background: var(--clr);
  border-radius: 50%;
  box-shadow: 0 0 20px var(--clr),
  0 0 40px var(--clr),
  0 0 60px var(--clr),
  0 0 80px var(--clr);
}

.timeBx {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  gap: 15px;
  font-size: 1.5em;
  font-weight: bold;
}

.timeBx #hora::after,
.timeBx #minuto::after {
  content: ':';
  position: absolute;
}

.timeBx div {
  color: var(--c);
  text-shadow:  0 0 10px var(--c),
  0 0 20px var(--c);
}