body{
  margin: 0;
}

.loader-container {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  min-height: 100vh;
  background: #1f2937;
}

.loader {
  position: relative;
  margin: auto;
}

.loader svg {
  filter: drop-shadow(0 0 8px rgba(32, 201, 151, 0.3));
}

.hex-outer {
  fill: none;
  stroke: #20C997;
  stroke-width: 6;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: drawOuter 2s ease-in-out infinite;
}

.hex-middle {
  fill: none;
  stroke: #20C997;
  stroke-width: 5;
  stroke-dasharray: 250;
  stroke-dashoffset: 250;
  animation: drawMiddle 2s ease-in-out infinite;
  animation-delay: 0.2s;
}

.hex-inner {
  fill: none;
  stroke: #20C997;
  stroke-width: 4;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: drawInner 2s ease-in-out infinite;
  animation-delay: 0.4s;
}

.c-shape {
  fill: none;
  stroke: #ffffff;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 150;
  stroke-dashoffset: 150;
  animation: drawC 2s ease-in-out infinite;
  animation-delay: 0.6s;
}

@keyframes drawOuter {
  0% {
    stroke-dashoffset: 300;
    opacity: 0;
  }
  40%, 80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

@keyframes drawMiddle {
  0% {
    stroke-dashoffset: 250;
    opacity: 0;
  }
  40%, 80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

@keyframes drawInner {
  0% {
    stroke-dashoffset: 200;
    opacity: 0;
  }
  40%, 80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

@keyframes drawC {
  0% {
    stroke-dashoffset: 150;
    opacity: 0;
  }
  40%, 80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
