.snow, .snow:before, .snow:after {
  position: absolute;
  top: -1000px;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: radial-gradient(4px 4px at 100px 338px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 643px 829px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 564px 609px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 397px 39px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 997px 863px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 637px 172px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 513px 796px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 641px 694px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 135px 406px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 620px 396px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 320px 183px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 886px 342px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 138px 701px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 322px 193px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 20px 136px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 476px 112px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 345px 305px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 71px 495px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 445px 341px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 895px 546px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 647px 620px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 393px 536px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 996px 148px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 441px 589px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 169px 409px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 905px 456px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 20px 845px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 866px 979px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 576px 366px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 610px 946px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0));
  background-size: 1000px 1000px;
  animation: snow 6s linear infinite;
  content: "";
  z-index: 1;
  position: fixed;
  opacity: 0.7; }

.snow:after {
  margin-left: -333.3333333333px;
  opacity: .4;
  animation-duration: 6s;
  animation-direction: reverse;
  filter: blur(3px); }

.snow:before {
  animation-duration: 9s;
  animation-direction: reverse;
  margin-left: -500px;
  opacity: .65;
  filter: blur(1.5px); }

@keyframes snow {
  to {
    transform: translateX(400px) translateY(1000px); } }
