*,
*::after,
*::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

body {
  background-color: #000;
  display: grid;
  place-content: center;
  height: 100vh;
}

.radar {
  width: 450px;
  height: 450px;
  border: 14px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 0 #ddd, inset 0 0 100px #0f0;
  background: url('bg.png') #000;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -100px 20px;
  overflow: hidden;
  position: relative;

  div {
    position: absolute;
    left: 0%;
    height: 1px;
    background-color: #0f0a;
    width: 100%;
    top: 50%;
  }

  div:nth-child(2) {
    rotate: 45deg;
  }

  div:nth-child(3) {
    rotate: -45deg;
  }

  div:nth-child(4) {
    rotate: 90deg;
  }

  div:nth-child(5),
  div:nth-child(6),
  div:nth-child(7) {
    height: 100%;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #0f0a;
    background-color: transparent;
  }

  div:nth-child(5) {
    width: 75%;
    height: 75%;
  }

  div:nth-child(6) {
    width: 50%;
    height: 50%;
  }

  div:nth-child(7) {
    width: 25%;
    height: 25%;
  }

  div:nth-child(8) {
    width: 250px;
    height: 250px;
    left: 50%;
    background-color: transparent;
    background-image: linear-gradient(45deg, #0f04 0% 50%, transparent 51% 100%);
    transform-origin: 0% 0%;
    animation: girar 4s linear infinite;
  }

  .point {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: #0f0;
    filter: blur(2px);
    border-radius: 50%;
    top: 90%;
    left: 60%;
    animation: palpitar 1s linear infinite;
  }

  .point2 {
    left: 70%;
    top: 80%;
    animation: palpitar 2s linear infinite;
  }

}

@keyframes girar {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes palpitar {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@media (width <= 1200px) {
  .radar {
    scale: .5;
  }
}