/* CSS Fireworks.
   Originally by Eddie Lin
   https://codepen.io/paulirish/pen/yEVMbP
   Use it with this HTML:
   <div class="pyro">
     <div class="before"></div>
     <div class="after"></div>
   </div>
*/

.pyro {position:relative; z-index:10000;}

.pyro > .before, .pyro > .after {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  box-shadow: 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff;
  animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
}

.pyro > .after {
  animation-delay: 1.25s, 1.25s, 1.25s;
  animation-duration: 1.25s, 1.25s, 6.25s;
}

@keyframes bang {
  to {
    box-shadow: 128px -113.6666666667px #ff5100, -246px -404.6666666667px #ff00aa, 166px -149.6666666667px #3700ff, -3px -377.6666666667px #0040ff, -226px -332.6666666667px #6200ff, 86px -175.6666666667px #f700ff, -208px -85.6666666667px #ff9500, -119px 71.3333333333px #00d0ff, -227px 2.3333333333px #00e1ff, -135px -353.6666666667px #ff00aa, 238px -201.6666666667px #ff0040, -246px -135.6666666667px #ff0004, 230px -201.6666666667px #00ff7b, 212px -242.6666666667px #00fbff, 75px -122.6666666667px #cc00ff, 115px -326.6666666667px #ddff00, 137px -185.6666666667px #00ff9d, -54px -1.6666666667px #ff0051, -224px -289.6666666667px #1100ff, -144px -26.6666666667px #0400ff, -128px 69.3333333333px #00ff3c, -89px -84.6666666667px #9100ff, 196px 76.3333333333px #1aff00, -205px -17.6666666667px #ff0084, -227px -50.6666666667px #00eeff, 249px -302.6666666667px #ffcc00, 18px -345.6666666667px #006fff, 245px -77.6666666667px #00ffd5, 247px -371.6666666667px #00ff1a, -36px -318.6666666667px #00ff15, -238px -36.6666666667px #00fff7, -147px -251.6666666667px #77ff00, 226px -189.6666666667px #00ff26, 209px -54.6666666667px #00ffc8, -152px 83.3333333333px #00ff59, 162px -295.6666666667px #ffb300, -8px -277.6666666667px #ff9100, -147px -217.6666666667px #c800ff, -21px 71.3333333333px #26ff00, 222px -135.6666666667px #84ff00, -99px -107.6666666667px #1e00ff, -28px 61.3333333333px #b700ff, -19px -166.6666666667px #00fffb, 202px 30.3333333333px #ff8000, 135px -87.6666666667px #d000ff, 194px -129.6666666667px #0051ff, 146px -399.6666666667px #00ccff, 188px -175.6666666667px #bf00ff, -116px -201.6666666667px #00ff84, -51px -42.6666666667px #0033ff, -41px 18.3333333333px #e6ff00;
  }
}
@keyframes gravity {
  to {
    transform: translateY(200px);
    opacity: 0;
  }
}
@keyframes position {
  0%, 19.9% {
    margin-top: 10%;
    margin-left: 40%;
  }
  20%, 39.9% {
    margin-top: 40%;
    margin-left: 30%;
  }
  40%, 59.9% {
    margin-top: 20%;
    margin-left: 70%;
  }
  60%, 79.9% {
    margin-top: 30%;
    margin-left: 20%;
  }
  80%, 99.9% {
    margin-top: 30%;
    margin-left: 80%;
  }
}