/* Main container for all background effects */
.particle-network-animation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 3; /* Between video background (0-2) and content (20+) */
  pointer-events: none;
}

/* The canvas that particles.js creates */
.particles-js-canvas-el {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; /* Canvas is at layer 1 inside the container */
    pointer-events: none;
}

/* The background image pseudo-element */
.particle-network-animation::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url(https://images.unsplash.com/photo-1450849608880-6f787542c88a?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=786a67dca1d8791d181bfd90b16240d9);
  background-position: center center;
  background-size: cover;
  opacity: 0.2;
  z-index: 0; /* Image is at the very bottom, layer 0 */
}

/* The glow divs */
.glow {
  position: fixed;
  top: 50%;
  left: 50%;
  background-image: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.025), transparent);
  z-index: 2; /* Glows are at layer 2, below canvas */
  pointer-events: none;
}

.glow-1 {
  width: 150vw;
  height: 150vh;
  margin-top: -75vh;
  margin-left: -75vw;
  animation: glow-1-move 25s linear infinite both;
}

@keyframes glow-1-move {
  from {
    transform: translate(-100%, 100%);
  }
  to {
    transform: translate(100%, -100%);
  }
}

.glow-2 {
  width: 100vw;
  height: 100vh;
  margin-top: -50vh;
  margin-left: -50vw;
  animation: glow-2-move 25s linear 8.33s infinite both;
}

@keyframes glow-2-move {
  from {
    transform: translate(-100%, 0%);
  }
  to {
    transform: translate(100%, 100%);
  }
}

.glow-3 {
  width: 120vw;
  height: 120vh;
  margin-top: -60vh;
  margin-left: -60vw;
  animation: glow-3-move 25s linear 16.67s infinite both;
}

@keyframes glow-3-move {
  from {
    transform: translate(100%, 100%);
  }
  to {
    transform: translate(0%, -100%);
  }
}