body {
  height: 90vh;
  width: 99vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pan-loader {
  width: 180px;
  height: 180px;
  margin: 100px auto;
}

.loader {
  position: relative;
  top: 10%;
  left: 0;
  width: 45%;
  height: 45%;
  border: 10px solid transparent;
  border-bottom: 10px solid #FDD835;
  border-radius: 50%;
  animation: loader 2s linear infinite;
  z-index: -1;
}

@keyframes loader {
  0% {
    width: 10%;
    transform: rotate(0deg);
  }

  10% {
    left: 0%;
    transform: rotate(0);
  }

  20% {
    width: 0;
    left: 20%;
  }

  30% {
    width: 25%;
  }

  50% {
    left: 10%;
    width: 35%;
  }

  70% {
    width: 30%;
    left: 18%;
    transform: rotate(240deg);
  }

  90% {
    width: 30%;
    left: 10%;
  }

  100% {
    width: 2%;
    left: 25%;
    transform: rotate(360deg);
  }
}

.pan-container {
  display: flex;
  width: 100%;
  animation: pan 2s infinite;
}
@keyframes pan {
  0% {
    transform: rotate(0deg);
    transform-origin: top right;
  }
  10% {
    transform: rotate(-2deg);
    transform-origin: top right;
  }
  50% {
    transform: rotate(15deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.pan {
  width: 60%;
  height: 20px;
  background: linear-gradient(#3949AB, #5c6Bc0);
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
}
.handle {
  width: 40%;
  height: 10px;
  background: linear-gradient(#3949AB, #5c6Bc0);
  border-radius: 10px;
}
.shadow {
  position: relative;
  background: lightgray;
  width: 30%;
  height: 8px;
  top: 15%;
  left: 15%;
  border-radius: 20px;
  animation: shadow 2s infinite;
}
@keyframes shadow {
  0% {
    width: 30%;
  }
  50% {
    width: 40%;
    left: 20px;
  }
  100% {
    width: 30%;
  }
}