Snowfall

Fontawesome animations that make sense!

by Andy Challis

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div id="snow">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>

CSS

/* Snow animations */

#snow {
  position: relative;
  top: -200px;
  width: 100%;
  text-align: right;
}

#snow span {
  display: inline-block;
  -webkit-animation: falling 5s 0s infinite;
  z-index: 1;
}

#snow span:before {
  content: "\f2dc";
  font-size: 80px;
  font-family: Fontawesome;
}

#snow span:nth-of-type(2n) {
  -webkit-animation: falling2 5s 0s infinite;
}

#snow span:nth-of-type(3n) {
  -webkit-animation: falling3 5s 0s infinite;
}

#snow span:nth-of-type(n) {
  font-size: 80px;
}

#snow span:nth-of-type(n):before {
  font-size: 60px;
  top: 17px;
  right: 1px;
}

#snow span:nth-of-type(n):after {
  font-size: 40px;
  left: 12px;
  top: 0px;
}

#snow span:nth-of-type(2n+1) {
  font-size: 90px;
}

#snow span:nth-of-type(2n+1):before {
  font-size: 30px;
  top: 7px;
  right: 0px;
}

#snow span:nth-of-type(2n+1):after {
  font-size: 50px;
  left: 5px;
  top: 1px;
}

#snow span:nth-of-type(3n+2) {
  font-size: 45px;
}

#snow span:nth-of-type(3n+2):before {
  font-size: 75px;
  top: 12px;
  right: 1px;
}

#snow span:nth-of-type(3n+2):after {
  font-size: 20px;
  top: 1px;
  left: 8px;
}

#snow span:nth-of-type(n) {
  -webkit-animation-delay: 1.9s;
}

#snow span:nth-of-type(2n) {
  -webkit-animation-delay: 3.9s;
}

#snow span:nth-of-type(3n) {
  -webkit-animation-delay: 2.3s;
}

#snow span:nth-of-type(4n) {
  -webkit-animation-delay: 4.4s;
}

#snow span:nth-of-type(5n) {
  -webkit-animation-delay: 5s;
}

#snow span:nth-of-type(6n) {
  -webkit-animation-delay: 3.5s;
}

#snow span:nth-of-type(7n) {
  -webkit-animation-delay: 2.8s;
}

#snow span:nth-of-type(8n) {
  -webkit-animation-delay: 1.5s;
}

#snow span:nth-of-type(9n) {
  -webkit-animation-delay: 3.3s;
}

#snow span:nth-of-type(10n) {
  -webkit-animation-delay: 2.5s;
}

#snow span:nth-of-type(11n) {
  -webkit-animation-delay: 1.2s;
}

#snow span:nth-of-type(12n) {
  -webkit-animation-delay: 4.1s;
}

#snow span:nth-of-type(13n) {
  -webkit-animation-delay: 1s;
}

#snow span:nth-of-type(14n) {
 ...