.snowflakes {
    width: 100%; height: 1200px;
    position: absolute; top: -90px; left: 0;
}

f, f:after, f:before { background: white; }
f {
    display: inline-block;
    -webkit-animation: snowflakes 3s linear 2s 20;
    -moz-animation: snowflakes 3s linear 2s 20;
    position: relative;
}
f:after, f:before {
    height: 100%;
    width: 100%;
    content: ".";
    position: absolute;
    top: 0px;
    left: 0px;
    -webkit-transform: rotate(120deg);
}
f:before { -webkit-transform: rotate(240deg); }

@-webkit-keyframes snowflakes {
    0% {
	-webkit-transform: translate3d(0,0,0) rotate(0deg) scale(0.6);
	}
    100% {
	-webkit-transform: translate3d(15px, 1200px, 0px) rotate(360deg) scale(0.6);
	};
}

.snowflakes f:nth-child(3n) {
    width: 16px; height: 4px;
    -webkit-animation-duration: 4s;
    -webkit-animation-iteration-count: 30;
    -webkit-transform-origin: right -45px;
}

.snowflakes f:nth-child(3n+1) {
    width: 24px; height: 6px;
    -webkit-animation-duration: 6s;
    -webkit-animation-iteration-count: 45;
    -webkit-transform-origin: right -30px;
}

.snowflakes f:nth-child(3n+2) {
    width: 32px; height: 8px;
    -webkit-animation-duration: 8s;
    -webkit-animation-iteration-count: 60;
    -webkit-transform-origin: right -15px;
}

/* different delays so they don't all start at the same time */
.snowflakes f:nth-child(7n) {
  opacity:.3;
  -webkit-animation-delay: 0s;
  -webkit-animation-timing-function:ease-in;
}
.snowflakes f:nth-child(7n+1) {
  opacity:.4;
  -webkit-animation-delay: 1s;
  -webkit-animation-timing-function:ease-out;
}
.snowflakes f:nth-child(7n+2) {
  opacity:.5;
  -webkit-animation-delay: 1.5s;
  -webkit-animation-timing-function:linear;
}
.snowflakes f:nth-child(7n+3) {
  opacity:.6;
  -webkit-animation-delay: 2s;
  -webkit-animation-timing-function:ease-in;
}
.snowflakes f:nth-child(7n+4) {
  opacity:.7;
  -webkit-animation-delay: 2.5s;
  -webkit-animation-timing-function:linear;
}
.snowflakes f:nth-child(7n+5) {
  opacity:.8;
  -webkit-animation-delay: 3s;
  -webkit-animation-timing-function:ease-out;
}
.snowflakes f:nth-child(7n+6) {
  opacity:.9;
  -webkit-animation-delay: 3.5s;
  -webkit-animation-timing-function:ease-in;
}