@charset "UTF-8";
body {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}


.snow {
  position: absolute;
  width: 120vw;
  height: 100vh;
  left: -10vw;
}

.snowflake {
  position: absolute;
  top: -5vmin;
}
.snowflake:nth-child(1) {
  opacity: 0.62;
  font-size: 15px;
  left: 35.8vw;
  animation: fall-1 50s -27s ease-in infinite;
}
.snowflake:nth-child(1) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-1 {
  2.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 31.7vw;
  }
}
.snowflake:nth-child(2) {
  opacity: 0.69;
  font-size: 9px;
  left: 67.8vw;
  animation: fall-2 50s -18s ease-in infinite;
}
.snowflake:nth-child(2) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-2 {
  3.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 31.8vw;
  }
}
.snowflake:nth-child(3) {
  opacity: 0.27;
  font-size: 9px;
  left: 115.5vw;
  animation: fall-3 40s -1.5s ease-in infinite;
}
.snowflake:nth-child(3) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-3 {
  1.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 5.6vw;
  }
}
.snowflake:nth-child(4) {
  opacity: 0.63;
  font-size: 15px;
  left: 83.7vw;
  animation: fall-4 50s -16.5s ease-in infinite;
}
.snowflake:nth-child(4) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-4 {
  7.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 117.9vw;
  }
}
.snowflake:nth-child(5) {
  opacity: 0.32;
  font-size: 3px;
  left: 106.5vw;
  animation: fall-5 50s -22.5s ease-in infinite;
}
.snowflake:nth-child(5) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-5 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 42.8vw;
  }
}
.snowflake:nth-child(6) {
  opacity: 0.79;
  font-size: 3px;
  left: 77.2vw;
  animation: fall-6 30s -24s ease-in infinite;
}
.snowflake:nth-child(6) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-6 {
  2.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 14.3vw;
  }
}
.snowflake:nth-child(7) {
  opacity: 0.42;
  font-size: 6px;
  left: 52.3vw;
  animation: fall-7 10s -28.5s ease-in infinite;
}
.snowflake:nth-child(7) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-7 {
  4.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 46.1vw;
  }
}
.snowflake:nth-child(8) {
  opacity: 0.42;
  font-size: 3px;
  left: 17.5vw;
  animation: fall-8 50s -27s ease-in infinite;
}
.snowflake:nth-child(8) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-8 {
  3.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 89.6vw;
  }
}
.snowflake:nth-child(9) {
  opacity: 0.81;
  font-size: 12px;
  left: 78.1vw;
  animation: fall-9 50s -25.5s ease-in infinite;
}
.snowflake:nth-child(9) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-9 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 32.8vw;
  }
}
.snowflake:nth-child(10) {
  opacity: 0.1;
  font-size: 15px;
  left: 101.6vw;
  animation: fall-10 10s -37.5s ease-in infinite;
}
.snowflake:nth-child(10) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-10 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 75.9vw;
  }
}
.snowflake:nth-child(11) {
  opacity: 0.82;
  font-size: 9px;
  left: 76.3vw;
  animation: fall-11 20s -10.5s ease-in infinite;
}
.snowflake:nth-child(11) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-11 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 91.5vw;
  }
}
.snowflake:nth-child(12) {
  opacity: 0.67;
  font-size: 9px;
  left: 55.5vw;
  animation: fall-12 20s -21s ease-in infinite;
}
.snowflake:nth-child(12) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-12 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 1.6vw;
  }
}
.snowflake:nth-child(13) {
  opacity: 0.05;
  font-size: 9px;
  left: 84.4vw;
  animation: fall-13 50s -19.5s ease-in infinite;
}
.snowflake:nth-child(13) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-13 {
  7.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 69.6vw;
  }
}
.snowflake:nth-child(14) {
  opacity: 0.02;
  font-size: 9px;
  left: 76.3vw;
  animation: fall-14 30s -22.5s ease-in infinite;
}
.snowflake:nth-child(14) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-14 {
  0.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 14vw;
  }
}
.snowflake:nth-child(15) {
  opacity: 0.06;
  font-size: 6px;
  left: 44.1vw;
  animation: fall-15 50s -13.5s ease-in infinite;
}
.snowflake:nth-child(15) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-15 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 117.4vw;
  }
}
.snowflake:nth-child(16) {
  opacity: 0.03;
  font-size: 15px;
  left: 50.6vw;
  animation: fall-16 30s -24s ease-in infinite;
}
.snowflake:nth-child(16) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-16 {
  4.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 18.1vw;
  }
}
.snowflake:nth-child(17) {
  opacity: 0.86;
  font-size: 3px;
  left: 43.1vw;
  animation: fall-17 30s -34.5s ease-in infinite;
}
.snowflake:nth-child(17) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-17 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 86.8vw;
  }
}
.snowflake:nth-child(18) {
  opacity: 0.78;
  font-size: 9px;
  left: 99.4vw;
  animation: fall-18 50s -27s ease-in infinite;
}
.snowflake:nth-child(18) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-18 {
  6.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 107.9vw;
  }
}
.snowflake:nth-child(19) {
  opacity: 0.55;
  font-size: 6px;
  left: 61.6vw;
  animation: fall-19 50s -37.5s ease-in infinite;
}
.snowflake:nth-child(19) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-19 {
  4% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 102.9vw;
  }
}
.snowflake:nth-child(20) {
  opacity: 0.04;
  font-size: 15px;
  left: 24.2vw;
  animation: fall-20 20s -6s ease-in infinite;
}
.snowflake:nth-child(20) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-20 {
  4% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 88.5vw;
  }
}
.snowflake:nth-child(21) {
  opacity: 0.21;
  font-size: 12px;
  left: 1.4vw;
  animation: fall-21 40s -9s ease-in infinite;
}
.snowflake:nth-child(21) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-21 {
  0.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 1.3vw;
  }
}
.snowflake:nth-child(22) {
  opacity: 0.23;
  font-size: 12px;
  left: 110.7vw;
  animation: fall-22 10s -16.5s ease-in infinite;
}
.snowflake:nth-child(22) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-22 {
  0.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62vw;
  }
}
.snowflake:nth-child(23) {
  opacity: 0.21;
  font-size: 3px;
  left: 2.1vw;
  animation: fall-23 20s -19.5s ease-in infinite;
}
.snowflake:nth-child(23) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-23 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 8.9vw;
  }
}
.snowflake:nth-child(24) {
  opacity: 0.85;
  font-size: 9px;
  left: 59.9vw;
  animation: fall-24 40s -6s ease-in infinite;
}
.snowflake:nth-child(24) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-24 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 24.2vw;
  }
}
.snowflake:nth-child(25) {
  opacity: 0.19;
  font-size: 3px;
  left: 49vw;
  animation: fall-25 30s -19.5s ease-in infinite;
}
.snowflake:nth-child(25) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-25 {
  3.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 9.5vw;
  }
}
.snowflake:nth-child(26) {
  opacity: 0.55;
  font-size: 6px;
  left: 64.6vw;
  animation: fall-26 20s -10.5s ease-in infinite;
}
.snowflake:nth-child(26) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-26 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 31.2vw;
  }
}
.snowflake:nth-child(27) {
  opacity: 0.81;
  font-size: 3px;
  left: 92.9vw;
  animation: fall-27 30s -19.5s ease-in infinite;
}
.snowflake:nth-child(27) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-27 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 7vw;
  }
}
.snowflake:nth-child(28) {
  opacity: 0.6;
  font-size: 12px;
  left: 13.8vw;
  animation: fall-28 50s -15s ease-in infinite;
}
.snowflake:nth-child(28) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-28 {
  1.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 80.2vw;
  }
}
.snowflake:nth-child(29) {
  opacity: 0.06;
  font-size: 12px;
  left: 79.8vw;
  animation: fall-29 30s -1.5s ease-in infinite;
}
.snowflake:nth-child(29) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-29 {
  2.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 42.7vw;
  }
}
.snowflake:nth-child(30) {
  opacity: 0.32;
  font-size: 12px;
  left: 90.8vw;
  animation: fall-30 40s -6s ease-in infinite;
}
.snowflake:nth-child(30) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-30 {
  3.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 78.5vw;
  }
}
.snowflake:nth-child(31) {
  opacity: 0.32;
  font-size: 6px;
  left: 106.6vw;
  animation: fall-31 40s -1.5s ease-in infinite;
}
.snowflake:nth-child(31) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-31 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.5vw;
  }
}
.snowflake:nth-child(32) {
  opacity: 0.51;
  font-size: 9px;
  left: 18.7vw;
  animation: fall-32 30s -15s ease-in infinite;
}
.snowflake:nth-child(32) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-32 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 60.7vw;
  }
}
.snowflake:nth-child(33) {
  opacity: 0.58;
  font-size: 15px;
  left: 9.6vw;
  animation: fall-33 20s -25.5s ease-in infinite;
}
.snowflake:nth-child(33) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-33 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 63.5vw;
  }
}
.snowflake:nth-child(34) {
  opacity: 0.71;
  font-size: 12px;
  left: 36.3vw;
  animation: fall-34 20s -12s ease-in infinite;
}
.snowflake:nth-child(34) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-34 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 37.4vw;
  }
}
.snowflake:nth-child(35) {
  opacity: 0.54;
  font-size: 15px;
  left: 36.8vw;
  animation: fall-35 50s -12s ease-in infinite;
}
.snowflake:nth-child(35) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-35 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 22.8vw;
  }
}
.snowflake:nth-child(36) {
  opacity: 0.53;
  font-size: 6px;
  left: 117vw;
  animation: fall-36 30s -18s ease-in infinite;
}
.snowflake:nth-child(36) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-36 {
  6.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 116vw;
  }
}
.snowflake:nth-child(37) {
  opacity: 0.74;
  font-size: 6px;
  left: 2.2vw;
  animation: fall-37 20s -27s ease-in infinite;
}
.snowflake:nth-child(37) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-37 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 25.2vw;
  }
}
.snowflake:nth-child(38) {
  opacity: 0.11;
  font-size: 15px;
  left: 95.2vw;
  animation: fall-38 20s -19.5s ease-in infinite;
}
.snowflake:nth-child(38) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-38 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 33vw;
  }
}
.snowflake:nth-child(39) {
  opacity: 0.16;
  font-size: 15px;
  left: 32.9vw;
  animation: fall-39 30s -33s ease-in infinite;
}
.snowflake:nth-child(39) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-39 {
  6.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 68.4vw;
  }
}
.snowflake:nth-child(40) {
  opacity: 0.73;
  font-size: 15px;
  left: 78.1vw;
  animation: fall-40 10s -34.5s ease-in infinite;
}
.snowflake:nth-child(40) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-40 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 67.5vw;
  }
}
.snowflake:nth-child(41) {
  opacity: 0.69;
  font-size: 9px;
  left: 94.4vw;
  animation: fall-41 50s -37.5s ease-in infinite;
}
.snowflake:nth-child(41) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-41 {
  4.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 36vw;
  }
}
.snowflake:nth-child(42) {
  opacity: 0.34;
  font-size: 6px;
  left: 34.2vw;
  animation: fall-42 30s -27s ease-in infinite;
}
.snowflake:nth-child(42) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-42 {
  8.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 48.2vw;
  }
}
.snowflake:nth-child(43) {
  opacity: 0.27;
  font-size: 3px;
  left: 52.9vw;
  animation: fall-43 30s -9s ease-in infinite;
}
.snowflake:nth-child(43) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-43 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 105.6vw;
  }
}
.snowflake:nth-child(44) {
  opacity: 0.38;
  font-size: 6px;
  left: 42.7vw;
  animation: fall-44 50s -36s ease-in infinite;
}
.snowflake:nth-child(44) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-44 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 4.8vw;
  }
}
.snowflake:nth-child(45) {
  opacity: 0.42;
  font-size: 6px;
  left: 27.6vw;
  animation: fall-45 10s -37.5s ease-in infinite;
}
.snowflake:nth-child(45) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-45 {
  7.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 43.6vw;
  }
}
.snowflake:nth-child(46) {
  opacity: 0.49;
  font-size: 3px;
  left: 9.5vw;
  animation: fall-46 10s -13.5s ease-in infinite;
}
.snowflake:nth-child(46) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-46 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 77.8vw;
  }
}
.snowflake:nth-child(47) {
  opacity: 0.69;
  font-size: 3px;
  left: 29.1vw;
  animation: fall-47 30s -18s ease-in infinite;
}
.snowflake:nth-child(47) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-47 {
  4.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 50.3vw;
  }
}
.snowflake:nth-child(48) {
  opacity: 0.04;
  font-size: 3px;
  left: 0.5vw;
  animation: fall-48 30s -7.5s ease-in infinite;
}
.snowflake:nth-child(48) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-48 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 37vw;
  }
}
.snowflake:nth-child(49) {
  opacity: 0.08;
  font-size: 9px;
  left: 34.4vw;
  animation: fall-49 10s -1.5s ease-in infinite;
}
.snowflake:nth-child(49) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-49 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 63.9vw;
  }
}
.snowflake:nth-child(50) {
  opacity: 0.46;
  font-size: 12px;
  left: 68.9vw;
  animation: fall-50 40s -24s ease-in infinite;
}
.snowflake:nth-child(50) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-50 {
  4.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 37.2vw;
  }
}
.snowflake:nth-child(51) {
  opacity: 0.66;
  font-size: 9px;
  left: 117.5vw;
  animation: fall-51 10s -18s ease-in infinite;
}
.snowflake:nth-child(51) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-51 {
  5.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 58.3vw;
  }
}
.snowflake:nth-child(52) {
  opacity: 0.21;
  font-size: 3px;
  left: 84.4vw;
  animation: fall-52 20s -9s ease-in infinite;
}
.snowflake:nth-child(52) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-52 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 114.9vw;
  }
}
.snowflake:nth-child(53) {
  opacity: 0.87;
  font-size: 15px;
  left: 75.1vw;
  animation: fall-53 30s -27s ease-in infinite;
}
.snowflake:nth-child(53) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-53 {
  8.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 112.1vw;
  }
}
.snowflake:nth-child(54) {
  opacity: 0.44;
  font-size: 12px;
  left: 54.3vw;
  animation: fall-54 50s -12s ease-in infinite;
}
.snowflake:nth-child(54) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-54 {
  3.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 104.4vw;
  }
}
.snowflake:nth-child(55) {
  opacity: 0.62;
  font-size: 9px;
  left: 107vw;
  animation: fall-55 20s -1.5s ease-in infinite;
}
.snowflake:nth-child(55) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-55 {
  7% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 53.4vw;
  }
}
.snowflake:nth-child(56) {
  opacity: 0.76;
  font-size: 12px;
  left: 12vw;
  animation: fall-56 40s -19.5s ease-in infinite;
}
.snowflake:nth-child(56) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-56 {
  4.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.8vw;
  }
}
.snowflake:nth-child(57) {
  opacity: 0.32;
  font-size: 12px;
  left: 89.6vw;
  animation: fall-57 10s -22.5s ease-in infinite;
}
.snowflake:nth-child(57) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-57 {
  4.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 42vw;
  }
}
.snowflake:nth-child(58) {
  opacity: 0.59;
  font-size: 3px;
  left: 46.7vw;
  animation: fall-58 30s -18s ease-in infinite;
}
.snowflake:nth-child(58) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-58 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 95vw;
  }
}
.snowflake:nth-child(59) {
  opacity: 0.17;
  font-size: 12px;
  left: 70.5vw;
  animation: fall-59 20s -25.5s ease-in infinite;
}
.snowflake:nth-child(59) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-59 {
  8.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 89vw;
  }
}
.snowflake:nth-child(60) {
  opacity: 0.12;
  font-size: 3px;
  left: 27.1vw;
  animation: fall-60 30s -24s ease-in infinite;
}
.snowflake:nth-child(60) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-60 {
  4.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 4.5vw;
  }
}
.snowflake:nth-child(61) {
  opacity: 0.41;
  font-size: 9px;
  left: 17.9vw;
  animation: fall-61 10s -31.5s ease-in infinite;
}
.snowflake:nth-child(61) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-61 {
  4.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 34.6vw;
  }
}
.snowflake:nth-child(62) {
  opacity: 0.37;
  font-size: 9px;
  left: 101.2vw;
  animation: fall-62 40s -4.5s ease-in infinite;
}
.snowflake:nth-child(62) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-62 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 39vw;
  }
}
.snowflake:nth-child(63) {
  opacity: 0.34;
  font-size: 15px;
  left: 20.5vw;
  animation: fall-63 20s -18s ease-in infinite;
}
.snowflake:nth-child(63) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-63 {
  7.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 46.4vw;
  }
}
.snowflake:nth-child(64) {
  opacity: 0.59;
  font-size: 9px;
  left: 41.2vw;
  animation: fall-64 30s -33s ease-in infinite;
}
.snowflake:nth-child(64) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-64 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 51.4vw;
  }
}
.snowflake:nth-child(65) {
  opacity: 0.23;
  font-size: 6px;
  left: 2.5vw;
  animation: fall-65 30s -25.5s ease-in infinite;
}
.snowflake:nth-child(65) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-65 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 81.4vw;
  }
}
.snowflake:nth-child(66) {
  opacity: 0.55;
  font-size: 3px;
  left: 6.7vw;
  animation: fall-66 40s -7.5s ease-in infinite;
}
.snowflake:nth-child(66) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-66 {
  6.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 109.6vw;
  }
}
.snowflake:nth-child(67) {
  opacity: 0.09;
  font-size: 15px;
  left: 72.2vw;
  animation: fall-67 30s -36s ease-in infinite;
}
.snowflake:nth-child(67) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-67 {
  3.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 64.1vw;
  }
}
.snowflake:nth-child(68) {
  opacity: 0.47;
  font-size: 3px;
  left: 83.1vw;
  animation: fall-68 10s -16.5s ease-in infinite;
}
.snowflake:nth-child(68) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-68 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 111.3vw;
  }
}
.snowflake:nth-child(69) {
  opacity: 0.02;
  font-size: 15px;
  left: 36.4vw;
  animation: fall-69 50s -9s ease-in infinite;
}
.snowflake:nth-child(69) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-69 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 0.2vw;
  }
}
.snowflake:nth-child(70) {
  opacity: 0.28;
  font-size: 9px;
  left: 115.1vw;
  animation: fall-70 50s -31.5s ease-in infinite;
}
.snowflake:nth-child(70) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-70 {
  4.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 37.9vw;
  }
}
.snowflake:nth-child(71) {
  opacity: 0.68;
  font-size: 15px;
  left: 25.6vw;
  animation: fall-71 20s -28.5s ease-in infinite;
}
.snowflake:nth-child(71) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-71 {
  1.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 28.8vw;
  }
}
.snowflake:nth-child(72) {
  opacity: 0.54;
  font-size: 15px;
  left: 95.5vw;
  animation: fall-72 10s -7.5s ease-in infinite;
}
.snowflake:nth-child(72) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-72 {
  2.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 36.4vw;
  }
}
.snowflake:nth-child(73) {
  opacity: 0.16;
  font-size: 3px;
  left: 87.9vw;
  animation: fall-73 40s -7.5s ease-in infinite;
}
.snowflake:nth-child(73) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-73 {
  1% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 49.9vw;
  }
}
.snowflake:nth-child(74) {
  opacity: 0.16;
  font-size: 6px;
  left: 119.8vw;
  animation: fall-74 40s -34.5s ease-in infinite;
}
.snowflake:nth-child(74) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-74 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 75.5vw;
  }
}
.snowflake:nth-child(75) {
  opacity: 0.88;
  font-size: 6px;
  left: 37.4vw;
  animation: fall-75 30s -9s ease-in infinite;
}
.snowflake:nth-child(75) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-75 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 84.3vw;
  }
}
.snowflake:nth-child(76) {
  opacity: 0.07;
  font-size: 6px;
  left: 25.2vw;
  animation: fall-76 20s -6s ease-in infinite;
}
.snowflake:nth-child(76) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-76 {
  2.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 114.5vw;
  }
}
.snowflake:nth-child(77) {
  opacity: 0.26;
  font-size: 12px;
  left: 45.8vw;
  animation: fall-77 30s -25.5s ease-in infinite;
}
.snowflake:nth-child(77) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-77 {
  8.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 119.7vw;
  }
}
.snowflake:nth-child(78) {
  opacity: 0.15;
  font-size: 6px;
  left: 32.3vw;
  animation: fall-78 20s -4.5s ease-in infinite;
}
.snowflake:nth-child(78) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-78 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 83.7vw;
  }
}
.snowflake:nth-child(79) {
  opacity: 0.13;
  font-size: 3px;
  left: 86.8vw;
  animation: fall-79 10s -15s ease-in infinite;
}
.snowflake:nth-child(79) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-79 {
  1.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 105.3vw;
  }
}
.snowflake:nth-child(80) {
  opacity: 0.75;
  font-size: 3px;
  left: 96.5vw;
  animation: fall-80 50s -16.5s ease-in infinite;
}
.snowflake:nth-child(80) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-80 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 44.5vw;
  }
}
.snowflake:nth-child(81) {
  opacity: 0.89;
  font-size: 3px;
  left: 13.6vw;
  animation: fall-81 50s -30s ease-in infinite;
}
.snowflake:nth-child(81) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-81 {
  5.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 99.9vw;
  }
}
.snowflake:nth-child(82) {
  opacity: 0.34;
  font-size: 3px;
  left: 37.8vw;
  animation: fall-82 40s -28.5s ease-in infinite;
}
.snowflake:nth-child(82) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-82 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 28.6vw;
  }
}
.snowflake:nth-child(83) {
  opacity: 0.13;
  font-size: 3px;
  left: 107vw;
  animation: fall-83 40s -25.5s ease-in infinite;
}
.snowflake:nth-child(83) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-83 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 84.9vw;
  }
}
.snowflake:nth-child(84) {
  opacity: 0.11;
  font-size: 6px;
  left: 64.1vw;
  animation: fall-84 50s -31.5s ease-in infinite;
}
.snowflake:nth-child(84) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-84 {
  7.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 24.2vw;
  }
}
.snowflake:nth-child(85) {
  opacity: 0.19;
  font-size: 6px;
  left: 118vw;
  animation: fall-85 30s -31.5s ease-in infinite;
}
.snowflake:nth-child(85) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-85 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 9.2vw;
  }
}
.snowflake:nth-child(86) {
  opacity: 0.42;
  font-size: 6px;
  left: 29.9vw;
  animation: fall-86 40s -33s ease-in infinite;
}
.snowflake:nth-child(86) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-86 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 49.1vw;
  }
}
.snowflake:nth-child(87) {
  opacity: 0.03;
  font-size: 15px;
  left: 89.8vw;
  animation: fall-87 10s -9s ease-in infinite;
}
.snowflake:nth-child(87) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-87 {
  4% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 106.2vw;
  }
}
.snowflake:nth-child(88) {
  opacity: 0.6;
  font-size: 3px;
  left: 112.3vw;
  animation: fall-88 30s -6s ease-in infinite;
}
.snowflake:nth-child(88) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-88 {
  0.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 119vw;
  }
}
.snowflake:nth-child(89) {
  opacity: 0.89;
  font-size: 12px;
  left: 119.5vw;
  animation: fall-89 10s -16.5s ease-in infinite;
}
.snowflake:nth-child(89) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-89 {
  5.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 100.3vw;
  }
}
.snowflake:nth-child(90) {
  opacity: 0.69;
  font-size: 15px;
  left: 0.3vw;
  animation: fall-90 10s -9s ease-in infinite;
}
.snowflake:nth-child(90) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-90 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 74.6vw;
  }
}
.snowflake:nth-child(91) {
  opacity: 0.12;
  font-size: 15px;
  left: 119.7vw;
  animation: fall-91 50s -25.5s ease-in infinite;
}
.snowflake:nth-child(91) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-91 {
  5.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 70vw;
  }
}
.snowflake:nth-child(92) {
  opacity: 0.16;
  font-size: 12px;
  left: 103.1vw;
  animation: fall-92 40s -6s ease-in infinite;
}
.snowflake:nth-child(92) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-92 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 46.9vw;
  }
}
.snowflake:nth-child(93) {
  opacity: 0.5;
  font-size: 9px;
  left: 91.9vw;
  animation: fall-93 10s -24s ease-in infinite;
}
.snowflake:nth-child(93) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-93 {
  7.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 18.8vw;
  }
}
.snowflake:nth-child(94) {
  opacity: 0.56;
  font-size: 9px;
  left: 64.9vw;
  animation: fall-94 20s -13.5s ease-in infinite;
}
.snowflake:nth-child(94) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-94 {
  6.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 25.4vw;
  }
}
.snowflake:nth-child(95) {
  opacity: 0.43;
  font-size: 15px;
  left: 54.4vw;
  animation: fall-95 40s -30s ease-in infinite;
}
.snowflake:nth-child(95) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-95 {
  2.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 44.8vw;
  }
}
.snowflake:nth-child(96) {
  opacity: 0.51;
  font-size: 6px;
  left: 22.8vw;
  animation: fall-96 30s -33s ease-in infinite;
}
.snowflake:nth-child(96) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-96 {
  7.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 74.4vw;
  }
}
.snowflake:nth-child(97) {
  opacity: 0.73;
  font-size: 9px;
  left: 6.3vw;
  animation: fall-97 20s -19.5s ease-in infinite;
}
.snowflake:nth-child(97) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-97 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 17.5vw;
  }
}
.snowflake:nth-child(98) {
  opacity: 0.12;
  font-size: 12px;
  left: 86.8vw;
  animation: fall-98 50s -15s ease-in infinite;
}
.snowflake:nth-child(98) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-98 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 119.5vw;
  }
}
.snowflake:nth-child(99) {
  opacity: 0.6;
  font-size: 3px;
  left: 90.1vw;
  animation: fall-99 40s -24s ease-in infinite;
}
.snowflake:nth-child(99) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-99 {
  1.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 10.5vw;
  }
}
.snowflake:nth-child(100) {
  opacity: 0.4;
  font-size: 12px;
  left: 82.4vw;
  animation: fall-100 20s -33s ease-in infinite;
}
.snowflake:nth-child(100) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-100 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 7.1vw;
  }
}
.snowflake:nth-child(101) {
  opacity: 0.6;
  font-size: 12px;
  left: 91vw;
  animation: fall-101 20s -25.5s ease-in infinite;
}
.snowflake:nth-child(101) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-101 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 40.7vw;
  }
}
.snowflake:nth-child(102) {
  opacity: 0.78;
  font-size: 3px;
  left: 19.3vw;
  animation: fall-102 40s -3s ease-in infinite;
}
.snowflake:nth-child(102) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-102 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 101.1vw;
  }
}
.snowflake:nth-child(103) {
  opacity: 0.34;
  font-size: 9px;
  left: 44.3vw;
  animation: fall-103 40s -30s ease-in infinite;
}
.snowflake:nth-child(103) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-103 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 76.9vw;
  }
}
.snowflake:nth-child(104) {
  opacity: 0.11;
  font-size: 9px;
  left: 5.3vw;
  animation: fall-104 10s -4.5s ease-in infinite;
}
.snowflake:nth-child(104) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-104 {
  7.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 69.8vw;
  }
}
.snowflake:nth-child(105) {
  opacity: 0.41;
  font-size: 6px;
  left: 9.8vw;
  animation: fall-105 20s -15s ease-in infinite;
}
.snowflake:nth-child(105) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-105 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 25.4vw;
  }
}
.snowflake:nth-child(106) {
  opacity: 0.88;
  font-size: 3px;
  left: 79.6vw;
  animation: fall-106 20s -13.5s ease-in infinite;
}
.snowflake:nth-child(106) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-106 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 77.4vw;
  }
}
.snowflake:nth-child(107) {
  opacity: 0.02;
  font-size: 3px;
  left: 27.6vw;
  animation: fall-107 30s -24s ease-in infinite;
}
.snowflake:nth-child(107) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-107 {
  5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 33.3vw;
  }
}
.snowflake:nth-child(108) {
  opacity: 0.84;
  font-size: 9px;
  left: 79.2vw;
  animation: fall-108 40s -1.5s ease-in infinite;
}
.snowflake:nth-child(108) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-108 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 100.3vw;
  }
}
.snowflake:nth-child(109) {
  opacity: 0.65;
  font-size: 12px;
  left: 46.1vw;
  animation: fall-109 40s -13.5s ease-in infinite;
}
.snowflake:nth-child(109) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-109 {
  0.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 54.5vw;
  }
}
.snowflake:nth-child(110) {
  opacity: 0.54;
  font-size: 9px;
  left: 2vw;
  animation: fall-110 10s -1.5s ease-in infinite;
}
.snowflake:nth-child(110) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-110 {
  0.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 19.9vw;
  }
}
.snowflake:nth-child(111) {
  opacity: 0.45;
  font-size: 12px;
  left: 118.9vw;
  animation: fall-111 40s -37.5s ease-in infinite;
}
.snowflake:nth-child(111) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-111 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 43.2vw;
  }
}
.snowflake:nth-child(112) {
  opacity: 0.32;
  font-size: 12px;
  left: 93vw;
  animation: fall-112 20s -36s ease-in infinite;
}
.snowflake:nth-child(112) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-112 {
  8% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 29.7vw;
  }
}
.snowflake:nth-child(113) {
  opacity: 0.17;
  font-size: 3px;
  left: 13.9vw;
  animation: fall-113 40s -34.5s ease-in infinite;
}
.snowflake:nth-child(113) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-113 {
  4.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 46.3vw;
  }
}
.snowflake:nth-child(114) {
  opacity: 0.68;
  font-size: 3px;
  left: 48vw;
  animation: fall-114 20s -34.5s ease-in infinite;
}
.snowflake:nth-child(114) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-114 {
  0.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 47.7vw;
  }
}
.snowflake:nth-child(115) {
  opacity: 0.58;
  font-size: 12px;
  left: 54.5vw;
  animation: fall-115 50s -7.5s ease-in infinite;
}
.snowflake:nth-child(115) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-115 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 51vw;
  }
}
.snowflake:nth-child(116) {
  opacity: 0.29;
  font-size: 15px;
  left: 86.8vw;
  animation: fall-116 30s -18s ease-in infinite;
}
.snowflake:nth-child(116) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-116 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 61.2vw;
  }
}
.snowflake:nth-child(117) {
  opacity: 0.34;
  font-size: 15px;
  left: 10.3vw;
  animation: fall-117 10s -12s ease-in infinite;
}
.snowflake:nth-child(117) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-117 {
  2.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 33.9vw;
  }
}
.snowflake:nth-child(118) {
  opacity: 0.58;
  font-size: 12px;
  left: 118.2vw;
  animation: fall-118 50s -16.5s ease-in infinite;
}
.snowflake:nth-child(118) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-118 {
  7.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 111.3vw;
  }
}
.snowflake:nth-child(119) {
  opacity: 0.56;
  font-size: 12px;
  left: 46.5vw;
  animation: fall-119 20s -28.5s ease-in infinite;
}
.snowflake:nth-child(119) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-119 {
  3.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 50.9vw;
  }
}
.snowflake:nth-child(120) {
  opacity: 0.26;
  font-size: 6px;
  left: 105.8vw;
  animation: fall-120 10s -19.5s ease-in infinite;
}
.snowflake:nth-child(120) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-120 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 92.8vw;
  }
}
.snowflake:nth-child(121) {
  opacity: 0.14;
  font-size: 9px;
  left: 18.9vw;
  animation: fall-121 10s -3s ease-in infinite;
}
.snowflake:nth-child(121) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-121 {
  6% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 86.1vw;
  }
}
.snowflake:nth-child(122) {
  opacity: 0.72;
  font-size: 9px;
  left: 20.8vw;
  animation: fall-122 20s -15s ease-in infinite;
}
.snowflake:nth-child(122) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-122 {
  4.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 92.9vw;
  }
}
.snowflake:nth-child(123) {
  opacity: 0.3;
  font-size: 3px;
  left: 37.2vw;
  animation: fall-123 50s -7.5s ease-in infinite;
}
.snowflake:nth-child(123) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-123 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 14.6vw;
  }
}
.snowflake:nth-child(124) {
  opacity: 0.22;
  font-size: 12px;
  left: 103.4vw;
  animation: fall-124 10s -21s ease-in infinite;
}
.snowflake:nth-child(124) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-124 {
  4.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 54.7vw;
  }
}
.snowflake:nth-child(125) {
  opacity: 0.45;
  font-size: 6px;
  left: 114vw;
  animation: fall-125 30s -18s ease-in infinite;
}
.snowflake:nth-child(125) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-125 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 38vw;
  }
}
.snowflake:nth-child(126) {
  opacity: 0.64;
  font-size: 12px;
  left: 76.5vw;
  animation: fall-126 10s -37.5s ease-in infinite;
}
.snowflake:nth-child(126) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-126 {
  0.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 38.2vw;
  }
}
.snowflake:nth-child(127) {
  opacity: 0.78;
  font-size: 9px;
  left: 42.8vw;
  animation: fall-127 10s -24s ease-in infinite;
}
.snowflake:nth-child(127) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-127 {
  3.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 40.9vw;
  }
}
.snowflake:nth-child(128) {
  opacity: 0.47;
  font-size: 12px;
  left: 3.4vw;
  animation: fall-128 40s -3s ease-in infinite;
}
.snowflake:nth-child(128) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-128 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 111.4vw;
  }
}
.snowflake:nth-child(129) {
  opacity: 0.54;
  font-size: 15px;
  left: 9.4vw;
  animation: fall-129 20s -19.5s ease-in infinite;
}
.snowflake:nth-child(129) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-129 {
  2.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 109.1vw;
  }
}
.snowflake:nth-child(130) {
  opacity: 0.58;
  font-size: 3px;
  left: 81.3vw;
  animation: fall-130 20s -6s ease-in infinite;
}
.snowflake:nth-child(130) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-130 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 1.6vw;
  }
}
.snowflake:nth-child(131) {
  opacity: 0.8;
  font-size: 15px;
  left: 6.7vw;
  animation: fall-131 50s -13.5s ease-in infinite;
}
.snowflake:nth-child(131) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-131 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 48.4vw;
  }
}
.snowflake:nth-child(132) {
  opacity: 0.81;
  font-size: 9px;
  left: 11.4vw;
  animation: fall-132 40s -18s ease-in infinite;
}
.snowflake:nth-child(132) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-132 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 89.7vw;
  }
}
.snowflake:nth-child(133) {
  opacity: 0.01;
  font-size: 12px;
  left: 26.1vw;
  animation: fall-133 30s -22.5s ease-in infinite;
}
.snowflake:nth-child(133) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-133 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 82.7vw;
  }
}
.snowflake:nth-child(134) {
  opacity: 0.58;
  font-size: 3px;
  left: 2.9vw;
  animation: fall-134 10s -16.5s ease-in infinite;
}
.snowflake:nth-child(134) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-134 {
  6.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 92.1vw;
  }
}
.snowflake:nth-child(135) {
  opacity: 0.35;
  font-size: 6px;
  left: 29.6vw;
  animation: fall-135 20s -27s ease-in infinite;
}
.snowflake:nth-child(135) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-135 {
  2.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 101.9vw;
  }
}
.snowflake:nth-child(136) {
  opacity: 0.01;
  font-size: 15px;
  left: 38.8vw;
  animation: fall-136 30s -16.5s ease-in infinite;
}
.snowflake:nth-child(136) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-136 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 78.6vw;
  }
}
.snowflake:nth-child(137) {
  opacity: 0.53;
  font-size: 3px;
  left: 15vw;
  animation: fall-137 30s -7.5s ease-in infinite;
}
.snowflake:nth-child(137) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-137 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 61.2vw;
  }
}
.snowflake:nth-child(138) {
  opacity: 0.61;
  font-size: 6px;
  left: 11.1vw;
  animation: fall-138 40s -28.5s ease-in infinite;
}
.snowflake:nth-child(138) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-138 {
  6.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 15.3vw;
  }
}
.snowflake:nth-child(139) {
  opacity: 0.81;
  font-size: 12px;
  left: 70.8vw;
  animation: fall-139 20s -13.5s ease-in infinite;
}
.snowflake:nth-child(139) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-139 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 26.3vw;
  }
}
.snowflake:nth-child(140) {
  opacity: 0.89;
  font-size: 15px;
  left: 16.8vw;
  animation: fall-140 40s -9s ease-in infinite;
}
.snowflake:nth-child(140) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-140 {
  8% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 72.2vw;
  }
}
.snowflake:nth-child(141) {
  opacity: 0.23;
  font-size: 6px;
  left: 49.9vw;
  animation: fall-141 50s -19.5s ease-in infinite;
}
.snowflake:nth-child(141) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-141 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 60.5vw;
  }
}
.snowflake:nth-child(142) {
  opacity: 0.66;
  font-size: 9px;
  left: 104.5vw;
  animation: fall-142 20s -25.5s ease-in infinite;
}
.snowflake:nth-child(142) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-142 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 59.1vw;
  }
}
.snowflake:nth-child(143) {
  opacity: 0.77;
  font-size: 6px;
  left: 2.8vw;
  animation: fall-143 30s -10.5s ease-in infinite;
}
.snowflake:nth-child(143) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-143 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 48.2vw;
  }
}
.snowflake:nth-child(144) {
  opacity: 0.16;
  font-size: 12px;
  left: 90.9vw;
  animation: fall-144 40s -16.5s ease-in infinite;
}
.snowflake:nth-child(144) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-144 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 68.1vw;
  }
}
.snowflake:nth-child(145) {
  opacity: 0.17;
  font-size: 6px;
  left: 116.3vw;
  animation: fall-145 10s -25.5s ease-in infinite;
}
.snowflake:nth-child(145) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-145 {
  8.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 6vw;
  }
}
.snowflake:nth-child(146) {
  opacity: 0.23;
  font-size: 6px;
  left: 82.6vw;
  animation: fall-146 30s -22.5s ease-in infinite;
}
.snowflake:nth-child(146) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-146 {
  5.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 108.3vw;
  }
}
.snowflake:nth-child(147) {
  opacity: 0.48;
  font-size: 12px;
  left: 116.9vw;
  animation: fall-147 40s -27s ease-in infinite;
}
.snowflake:nth-child(147) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-147 {
  8% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.5vw;
  }
}
.snowflake:nth-child(148) {
  opacity: 0.47;
  font-size: 6px;
  left: 4vw;
  animation: fall-148 10s -9s ease-in infinite;
}
.snowflake:nth-child(148) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-148 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 96.6vw;
  }
}
.snowflake:nth-child(149) {
  opacity: 0.48;
  font-size: 6px;
  left: 58.9vw;
  animation: fall-149 10s -7.5s ease-in infinite;
}
.snowflake:nth-child(149) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-149 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 47.8vw;
  }
}
.snowflake:nth-child(150) {
  opacity: 0.89;
  font-size: 15px;
  left: 66.6vw;
  animation: fall-150 40s -24s ease-in infinite;
}
.snowflake:nth-child(150) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-150 {
  1.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 70.8vw;
  }
}
.snowflake:nth-child(151) {
  opacity: 0.15;
  font-size: 15px;
  left: 86.4vw;
  animation: fall-151 10s -13.5s ease-in infinite;
}
.snowflake:nth-child(151) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-151 {
  5.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.4vw;
  }
}
.snowflake:nth-child(152) {
  opacity: 0.29;
  font-size: 9px;
  left: 2.5vw;
  animation: fall-152 20s -19.5s ease-in infinite;
}
.snowflake:nth-child(152) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-152 {
  3.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 79.2vw;
  }
}
.snowflake:nth-child(153) {
  opacity: 0.48;
  font-size: 3px;
  left: 26.9vw;
  animation: fall-153 50s -10.5s ease-in infinite;
}
.snowflake:nth-child(153) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-153 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 71.7vw;
  }
}
.snowflake:nth-child(154) {
  opacity: 0.07;
  font-size: 3px;
  left: 64.5vw;
  animation: fall-154 20s -4.5s ease-in infinite;
}
.snowflake:nth-child(154) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-154 {
  5.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 119.1vw;
  }
}
.snowflake:nth-child(155) {
  opacity: 0.87;
  font-size: 6px;
  left: 61vw;
  animation: fall-155 30s -6s ease-in infinite;
}
.snowflake:nth-child(155) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-155 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 79vw;
  }
}
.snowflake:nth-child(156) {
  opacity: 0.55;
  font-size: 12px;
  left: 25.8vw;
  animation: fall-156 30s -7.5s ease-in infinite;
}
.snowflake:nth-child(156) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-156 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 57vw;
  }
}
.snowflake:nth-child(157) {
  opacity: 0.8;
  font-size: 3px;
  left: 74.4vw;
  animation: fall-157 20s -31.5s ease-in infinite;
}
.snowflake:nth-child(157) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-157 {
  2.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 98.7vw;
  }
}
.snowflake:nth-child(158) {
  opacity: 0.22;
  font-size: 12px;
  left: 87.6vw;
  animation: fall-158 30s -22.5s ease-in infinite;
}
.snowflake:nth-child(158) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-158 {
  2.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 15vw;
  }
}
.snowflake:nth-child(159) {
  opacity: 0.76;
  font-size: 9px;
  left: 0.1vw;
  animation: fall-159 20s -30s ease-in infinite;
}
.snowflake:nth-child(159) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-159 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 41.9vw;
  }
}
.snowflake:nth-child(160) {
  opacity: 0.37;
  font-size: 6px;
  left: 49.7vw;
  animation: fall-160 50s -31.5s ease-in infinite;
}
.snowflake:nth-child(160) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-160 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 14.4vw;
  }
}
.snowflake:nth-child(161) {
  opacity: 0.62;
  font-size: 15px;
  left: 48.3vw;
  animation: fall-161 10s -18s ease-in infinite;
}
.snowflake:nth-child(161) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-161 {
  7.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 8.7vw;
  }
}
.snowflake:nth-child(162) {
  opacity: 0.1;
  font-size: 3px;
  left: 82vw;
  animation: fall-162 30s -10.5s ease-in infinite;
}
.snowflake:nth-child(162) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-162 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 73.6vw;
  }
}
.snowflake:nth-child(163) {
  opacity: 0.37;
  font-size: 9px;
  left: 32.8vw;
  animation: fall-163 50s -7.5s ease-in infinite;
}
.snowflake:nth-child(163) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-163 {
  3.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 19.5vw;
  }
}
.snowflake:nth-child(164) {
  opacity: 0.66;
  font-size: 12px;
  left: 55.8vw;
  animation: fall-164 30s -4.5s ease-in infinite;
}
.snowflake:nth-child(164) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-164 {
  2% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 101vw;
  }
}
.snowflake:nth-child(165) {
  opacity: 0.89;
  font-size: 9px;
  left: 83.2vw;
  animation: fall-165 30s -15s ease-in infinite;
}
.snowflake:nth-child(165) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-165 {
  1.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 68.6vw;
  }
}
.snowflake:nth-child(166) {
  opacity: 0.65;
  font-size: 6px;
  left: 94.5vw;
  animation: fall-166 40s -33s ease-in infinite;
}
.snowflake:nth-child(166) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-166 {
  8% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 55.6vw;
  }
}
.snowflake:nth-child(167) {
  opacity: 0.76;
  font-size: 3px;
  left: 79.6vw;
  animation: fall-167 10s -36s ease-in infinite;
}
.snowflake:nth-child(167) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-167 {
  4.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 38.3vw;
  }
}
.snowflake:nth-child(168) {
  opacity: 0.58;
  font-size: 9px;
  left: 47.4vw;
  animation: fall-168 10s -33s ease-in infinite;
}
.snowflake:nth-child(168) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-168 {
  1.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 79.3vw;
  }
}
.snowflake:nth-child(169) {
  opacity: 0.52;
  font-size: 3px;
  left: 29.6vw;
  animation: fall-169 40s -22.5s ease-in infinite;
}
.snowflake:nth-child(169) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-169 {
  5.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 10vw;
  }
}
.snowflake:nth-child(170) {
  opacity: 0.84;
  font-size: 9px;
  left: 88vw;
  animation: fall-170 40s -31.5s ease-in infinite;
}
.snowflake:nth-child(170) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-170 {
  6.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 84.6vw;
  }
}
.snowflake:nth-child(171) {
  opacity: 0.01;
  font-size: 15px;
  left: 31.6vw;
  animation: fall-171 30s -33s ease-in infinite;
}
.snowflake:nth-child(171) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-171 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 81.8vw;
  }
}
.snowflake:nth-child(172) {
  opacity: 0.5;
  font-size: 12px;
  left: 85.6vw;
  animation: fall-172 20s -16.5s ease-in infinite;
}
.snowflake:nth-child(172) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-172 {
  6.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 114.2vw;
  }
}
.snowflake:nth-child(173) {
  opacity: 0.16;
  font-size: 12px;
  left: 65.7vw;
  animation: fall-173 30s -25.5s ease-in infinite;
}
.snowflake:nth-child(173) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 4px #fff);
}
@keyframes fall-173 {
  5.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 3vw;
  }
}
.snowflake:nth-child(174) {
  opacity: 0.01;
  font-size: 12px;
  left: 70.7vw;
  animation: fall-174 20s -36s ease-in infinite;
}
.snowflake:nth-child(174) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-174 {
  4.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 21.3vw;
  }
}
.snowflake:nth-child(175) {
  opacity: 0.21;
  font-size: 12px;
  left: 86.7vw;
  animation: fall-175 30s -33s ease-in infinite;
}
.snowflake:nth-child(175) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-175 {
  1% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 94.1vw;
  }
}
.snowflake:nth-child(176) {
  opacity: 0.45;
  font-size: 3px;
  left: 104.3vw;
  animation: fall-176 50s -22.5s ease-in infinite;
}
.snowflake:nth-child(176) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-176 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 109.2vw;
  }
}
.snowflake:nth-child(177) {
  opacity: 0.9;
  font-size: 12px;
  left: 119.4vw;
  animation: fall-177 20s -6s ease-in infinite;
}
.snowflake:nth-child(177) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-177 {
  7% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 11.9vw;
  }
}
.snowflake:nth-child(178) {
  opacity: 0.5;
  font-size: 12px;
  left: 5.8vw;
  animation: fall-178 20s -7.5s ease-in infinite;
}
.snowflake:nth-child(178) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-178 {
  5.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 4vw;
  }
}
.snowflake:nth-child(179) {
  opacity: 0.49;
  font-size: 6px;
  left: 64.3vw;
  animation: fall-179 50s -18s ease-in infinite;
}
.snowflake:nth-child(179) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-179 {
  0.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.7vw;
  }
}
.snowflake:nth-child(180) {
  opacity: 0.17;
  font-size: 3px;
  left: 25.7vw;
  animation: fall-180 10s -25.5s ease-in infinite;
}
.snowflake:nth-child(180) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-180 {
  0.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 25.1vw;
  }
}
.snowflake:nth-child(181) {
  opacity: 0.19;
  font-size: 12px;
  left: 115vw;
  animation: fall-181 50s -4.5s ease-in infinite;
}
.snowflake:nth-child(181) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-181 {
  1.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 117.4vw;
  }
}
.snowflake:nth-child(182) {
  opacity: 0.35;
  font-size: 15px;
  left: 55.5vw;
  animation: fall-182 20s -36s ease-in infinite;
}
.snowflake:nth-child(182) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-182 {
  4% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 34vw;
  }
}
.snowflake:nth-child(183) {
  opacity: 0.87;
  font-size: 9px;
  left: 35.3vw;
  animation: fall-183 50s -12s ease-in infinite;
}
.snowflake:nth-child(183) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-183 {
  6.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 102.6vw;
  }
}
.snowflake:nth-child(184) {
  opacity: 0.51;
  font-size: 12px;
  left: 78.9vw;
  animation: fall-184 10s -3s ease-in infinite;
}
.snowflake:nth-child(184) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-184 {
  6.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 44.1vw;
  }
}
.snowflake:nth-child(185) {
  opacity: 0.59;
  font-size: 6px;
  left: 23.7vw;
  animation: fall-185 50s -7.5s ease-in infinite;
}
.snowflake:nth-child(185) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-185 {
  5.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 67.9vw;
  }
}
.snowflake:nth-child(186) {
  opacity: 0.67;
  font-size: 15px;
  left: 21.7vw;
  animation: fall-186 30s -21s ease-in infinite;
}
.snowflake:nth-child(186) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-186 {
  8% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 29.9vw;
  }
}
.snowflake:nth-child(187) {
  opacity: 0.77;
  font-size: 3px;
  left: 5.1vw;
  animation: fall-187 40s -9s ease-in infinite;
}
.snowflake:nth-child(187) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-187 {
  6.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 7.6vw;
  }
}
.snowflake:nth-child(188) {
  opacity: 0.86;
  font-size: 6px;
  left: 87vw;
  animation: fall-188 40s -28.5s ease-in infinite;
}
.snowflake:nth-child(188) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-188 {
  4.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 94.5vw;
  }
}
.snowflake:nth-child(189) {
  opacity: 0.74;
  font-size: 3px;
  left: 102.9vw;
  animation: fall-189 20s -9s ease-in infinite;
}
.snowflake:nth-child(189) span {
  animation: spin 6s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-189 {
  0.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 112.2vw;
  }
}
.snowflake:nth-child(190) {
  opacity: 0.38;
  font-size: 6px;
  left: 4.3vw;
  animation: fall-190 40s -31.5s ease-in infinite;
}
.snowflake:nth-child(190) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-190 {
  0.8333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 109vw;
  }
}
.snowflake:nth-child(191) {
  opacity: 0.23;
  font-size: 15px;
  left: 88.8vw;
  animation: fall-191 40s -33s ease-in infinite;
}
.snowflake:nth-child(191) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-191 {
  2.1666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 105.5vw;
  }
}
.snowflake:nth-child(192) {
  opacity: 0.3;
  font-size: 12px;
  left: 23.5vw;
  animation: fall-192 30s -18s ease-in infinite;
}
.snowflake:nth-child(192) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-192 {
  7.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 62.3vw;
  }
}
.snowflake:nth-child(193) {
  opacity: 0.86;
  font-size: 12px;
  left: 68.1vw;
  animation: fall-193 20s -3s ease-in infinite;
}
.snowflake:nth-child(193) span {
  animation: spin 12s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-193 {
  4.6666666667% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 73.2vw;
  }
}
.snowflake:nth-child(194) {
  opacity: 0.85;
  font-size: 15px;
  left: 2.6vw;
  animation: fall-194 30s -30s ease-in infinite;
}
.snowflake:nth-child(194) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-194 {
  8.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 80.1vw;
  }
}
.snowflake:nth-child(195) {
  opacity: 0.07;
  font-size: 9px;
  left: 59.9vw;
  animation: fall-195 40s -25.5s ease-in infinite;
}
.snowflake:nth-child(195) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-195 {
  2.5% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 112.5vw;
  }
}
.snowflake:nth-child(196) {
  opacity: 0.14;
  font-size: 3px;
  left: 113.7vw;
  animation: fall-196 10s -15s ease-in infinite;
}
.snowflake:nth-child(196) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-196 {
  0.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 9.3vw;
  }
}
.snowflake:nth-child(197) {
  opacity: 0.26;
  font-size: 15px;
  left: 90.9vw;
  animation: fall-197 50s -28.5s ease-in infinite;
}
.snowflake:nth-child(197) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-197 {
  3% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 30.1vw;
  }
}
.snowflake:nth-child(198) {
  opacity: 0.14;
  font-size: 6px;
  left: 66.2vw;
  animation: fall-198 20s -31.5s ease-in infinite;
}
.snowflake:nth-child(198) span {
  animation: spin 9s linear 0s infinite;
  filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-198 {
  4.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 90.2vw;
  }
}
.snowflake:nth-child(199) {
  opacity: 0.28;
  font-size: 6px;
  left: 101.7vw;
  animation: fall-199 30s -4.5s ease-in infinite;
}
.snowflake:nth-child(199) span {
  animation: spin 3s linear 0s infinite;
  filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-199 {
  2.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 99.7vw;
  }
}
.snowflake:nth-child(200) {
  opacity: 0.24;
  font-size: 12px;
  left: 78.4vw;
  animation: fall-200 40s -22.5s ease-in infinite;
}
.snowflake:nth-child(200) span {
  animation: spin 15s linear 0s infinite;
  filter: drop-shadow(0 0 5px #fff);
}
@keyframes fall-200 {
  4.3333333333% {
    transform: rotate(90deg) translateX(0);
  }
  to {
    transform: rotate(90deg) translateX(calc(100vh + 5vmin));
    left: 74.7vw;
  }
}
.snowflake span {
  display: block;
  color: #fff;
}
.snowflake span:before {
  content: "❅";
}
.snowflake:nth-child(4n+2) span:before {
  content: "❅";
}
.snowflake:nth-child(4n+3) span:before {
  content: "❋";
}
.snowflake:nth-child(4n+4) span:before {
  content: "❋";
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Smooth background image transition */
#bg-photo {
  transition: opacity 1s ease-in-out;
}