#pslaserloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  width: 100%;
  height: var(--pslaserloader-height, 3px);
  pointer-events: none;
  opacity: 1;
  transform: translateZ(0);
  transition: opacity 260ms ease;
}

#pslaserloader.pslaserloader--hidden {
  opacity: 0;
}

#pslaserloader .pslaserloader__bar {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(
    90deg,
    var(--pslaserloader-color-start, #ff003d) 0%,
    var(--pslaserloader-color-middle, #ff4f00) 45%,
    var(--pslaserloader-color-end, #ffe600) 100%
  );
  box-shadow:
    0 0 10px rgba(var(--pslaserloader-start-rgb, 255,0,61), .9),
    0 0 18px rgba(var(--pslaserloader-end-rgb, 255,230,0), .65);
  transition: none;
  will-change: width;
}

#pslaserloader .pslaserloader__glow {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--pslaserloader-width, 0%);
  height: 100%;
  opacity: .9;
  filter: blur(5px);
  background: linear-gradient(90deg, transparent, rgba(var(--pslaserloader-end-rgb, 255,230,0), .9));
  transition: none;
  will-change: width;
}


#pslaserloader.pslaserloader--resetting .pslaserloader__bar,
#pslaserloader.pslaserloader--resetting .pslaserloader__glow {
  transition: none !important;
}

#pslaserloader.pslaserloader--no-glow .pslaserloader__bar {
  box-shadow: none;
}

#pslaserloader.pslaserloader--no-glow .pslaserloader__glow {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  #pslaserloader .pslaserloader__bar,
  #pslaserloader .pslaserloader__glow,
  #pslaserloader {
    transition-duration: 1ms;
  }
}
