.falling-animation {
    position: absolute
}

.falling-animation:first-child {
    opacity: .8285282918;
    transform: translate(71.9177335905vw, -10px) scale(.0325737874);
    animation: fall-1 6s linear -25.5996662437s infinite
}

@keyframes fall-1 {
    to {
        transform: translate(71.9177335905vw, 100vh) scale(.0325737874)
    }
}

.falling-animation:nth-child(2) {
    opacity: .1454919497;
    transform: translate(36.2032679233vw, -10px) scale(.0004574148);
    animation: fall-2 3s linear -3.1692805323s infinite
}

@keyframes fall-2 {
    to {
        transform: translate(36.2032679233vw, 100vh) scale(.0004574148)
    }
}

.falling-animation:nth-child(3) {
    opacity: .1467140592;
    transform: translate(.5880991664vw, -10px) scale(.1474289474);
    animation: fall-3 4s linear -16.1233542632s infinite
}

@keyframes fall-3 {
    to {
        transform: translate(.5880991664vw, 100vh) scale(.1474289474)
    }
}

.falling-animation:nth-child(4) {
    opacity: .9528169938;
    transform: translate(18.2993225157vw, -10px) scale(.4717475842);
    animation: fall-4 11s linear -5.4175019559s infinite
}

@keyframes fall-4 {
    to {
        transform: translate(18.2993225157vw, 100vh) scale(.4717475842)
    }
}

.falling-animation:nth-child(5) {
    opacity: .4484989002;
    transform: translate(23.5759586378vw, -10px) scale(.344066678);
    animation: fall-5 12s linear -27.0510844803s infinite
}

@keyframes fall-5 {
    to {
        transform: translate(23.5759586378vw, 100vh) scale(.344066678)
    }
}

.falling-animation:nth-child(6) {
    opacity: .9948177393;
    transform: translate(69.4580077721vw, -10px) scale(.0826135283);
    animation: fall-6 12s linear -26.9717360876s infinite
}

@keyframes fall-6 {
    to {
        transform: translate(69.4580077721vw, 100vh) scale(.0826135283)
    }
}

.falling-animation:nth-child(7) {
    opacity: .3355756336;
    transform: translate(52.7086288504vw, -10px) scale(.4594848);
    animation: fall-7 3s linear -19.0538656958s infinite
}

@keyframes fall-7 {
    to {
        transform: translate(52.7086288504vw, 100vh) scale(.4594848)
    }
}

.falling-animation:nth-child(8) {
    opacity: .6206387366;
    transform: translate(55.3362651478vw, -10px) scale(.0779335067);
    animation: fall-8 9s linear -20.4224617002s infinite
}

@keyframes fall-8 {
    to {
        transform: translate(55.3362651478vw, 100vh) scale(.0779335067)
    }
}

.falling-animation:nth-child(9) {
    opacity: .6599365145;
    transform: translate(6.9008898722vw, -10px) scale(.1503304372);
    animation: fall-9 12s linear -6.3101895902s infinite
}

@keyframes fall-9 {
    to {
        transform: translate(6.9008898722vw, 100vh) scale(.1503304372)
    }
}

.falling-animation:nth-child(10) {
    opacity: .8093832508;
    transform: translate(21.847185418vw, -10px) scale(.6875628322);
    animation: fall-10 12s linear -4.8414095729s infinite
}

@keyframes fall-10 {
    to {
        transform: translate(21.847185418vw, 100vh) scale(.6875628322)
    }
}

.falling-animation:nth-child(11) {
    opacity: .4028266584;
    transform: translate(87.1024050323vw, -10px) scale(.5343803735);
    animation: fall-11 6s linear -.67479934s infinite
}

@keyframes fall-11 {
    to {
        transform: translate(87.1024050323vw, 100vh) scale(.5343803735)
    }
}

.falling-animation:nth-child(12) {
    opacity: .3934019206;
    transform: translate(86.5998880949vw, -10px) scale(.3543626025);
    animation: fall-12 6s linear -15.999370831s infinite
}

@keyframes fall-12 {
    to {
        transform: translate(86.5998880949vw, 100vh) scale(.3543626025)
    }
}

.falling-animation:nth-child(13) {
    opacity: .9987346477;
    transform: translate(84.8581863376vw, -10px) scale(.6600455892);
    animation: fall-13 12s linear -24.8776703348s infinite
}

@keyframes fall-13 {
    to {
        transform: translate(84.8581863376vw, 100vh) scale(.6600455892)
    }
}

.falling-animation:nth-child(14) {
    opacity: .2852594812;
    transform: translate(.2874036371vw, -10px) scale(.276383629);
    animation: fall-14 10s linear -27.0380054193s infinite
}

@keyframes fall-14 {
    to {
        transform: translate(.2874036371vw, 100vh) scale(.276383629)
    }
}

.falling-animation:nth-child(15) {
    opacity: .5678340901;
    transform: translate(99.7983832434vw, -10px) scale(.360215288);
    animation: fall-15 5s linear -20.9980719165s infinite
}

@keyframes fall-15 {
    to {
        transform: translate(99.7983832434vw, 100vh) scale(.360215288)
    }
}

.falling-animation:nth-child(16) {
    opacity: .4079507394;
    transform: translate(95.5991988124vw, -10px) scale(.6164440587);
    animation: fall-16 3s linear -15.1566317842s infinite
}

@keyframes fall-16 {
    to {
        transform: translate(95.5991988124vw, 100vh) scale(.6164440587)
    }
}

.falling-animation:nth-child(17) {
    opacity: .7553085468;
    transform: translate(57.6931701759vw, -10px) scale(.5712259553);
    animation: fall-17 9s linear -21.7715619265s infinite
}

@keyframes fall-17 {
    to {
        transform: translate(57.6931701759vw, 100vh) scale(.5712259553)
    }
}

.falling-animation:nth-child(18) {
    opacity: .6072732334;
    transform: translate(80.0264107724vw, -10px) scale(.4320417289);
    animation: fall-18 4s linear -6.7476386579s infinite
}

@keyframes fall-18 {
    to {
        transform: translate(80.0264107724vw, 100vh) scale(.4320417289)
    }
}

.falling-animation:nth-child(19) {
    opacity: .6228810068;
    transform: translate(67.5899197226vw, -10px) scale(.1738753113);
    animation: fall-19 12s linear -3.7390057806s infinite
}

@keyframes fall-19 {
    to {
        transform: translate(67.5899197226vw, 100vh) scale(.1738753113)
    }
}

.falling-animation:nth-child(20) {
    opacity: .7434272806;
    transform: translate(67.1648635911vw, -10px) scale(.5570426223);
    animation: fall-20 12s linear -3.3137731745s infinite
}

@keyframes fall-20 {
    to {
        transform: translate(67.1648635911vw, 100vh) scale(.5570426223)
    }
}

.falling-animation:nth-child(21) {
    opacity: .1833593813;
    transform: translate(65.0674895323vw, -10px) scale(.6945019516);
    animation: fall-21 5s linear -27.0355809153s infinite
}

@keyframes fall-21 {
    to {
        transform: translate(65.0674895323vw, 100vh) scale(.6945019516)
    }
}

.falling-animation:nth-child(22) {
    opacity: .7385627934;
    transform: translate(49.2223064075vw, -10px) scale(.1857760372);
    animation: fall-22 6s linear -10.7781755867s infinite
}

@keyframes fall-22 {
    to {
        transform: translate(49.2223064075vw, 100vh) scale(.1857760372)
    }
}

.falling-animation:nth-child(23) {
    opacity: .3196989955;
    transform: translate(87.980906045vw, -10px) scale(.4849465551);
    animation: fall-23 12s linear -28.764516015s infinite
}

@keyframes fall-23 {
    to {
        transform: translate(87.980906045vw, 100vh) scale(.4849465551)
    }
}

.falling-animation:nth-child(24) {
    opacity: .2577134132;
    transform: translate(27.2934965997vw, -10px) scale(.3948330953);
    animation: fall-24 11s linear -7.4025728076s infinite
}

@keyframes fall-24 {
    to {
        transform: translate(27.2934965997vw, 100vh) scale(.3948330953)
    }
}

.falling-animation:nth-child(25) {
    opacity: .2151758812;
    transform: translate(75.9686492973vw, -10px) scale(.4483140098);
    animation: fall-25 3s linear -10.9320971381s infinite
}

@keyframes fall-25 {
    to {
        transform: translate(75.9686492973vw, 100vh) scale(.4483140098)
    }
}

.falling-animation:nth-child(26) {
    opacity: .8629941353;
    transform: translate(28.9585045136vw, -10px) scale(.6074171598);
    animation: fall-26 3s linear -8.7001403032s infinite
}

@keyframes fall-26 {
    to {
        transform: translate(28.9585045136vw, 100vh) scale(.6074171598)
    }
}

.falling-animation:nth-child(27) {
    opacity: .770381954;
    transform: translate(99.7381013076vw, -10px) scale(.336548703);
    animation: fall-27 7s linear -19.109943959s infinite
}

@keyframes fall-27 {
    to {
        transform: translate(99.7381013076vw, 100vh) scale(.336548703)
    }
}

.falling-animation:nth-child(28) {
    opacity: .1706856379;
    transform: translate(76.4699107092vw, -10px) scale(.2762403337);
    animation: fall-28 3s linear -29.715466157s infinite
}

@keyframes fall-28 {
    to {
        transform: translate(76.4699107092vw, 100vh) scale(.2762403337)
    }
}

.falling-animation:nth-child(29) {
    opacity: .2738844757;
    transform: translate(85.7554637071vw, -10px) scale(.1662758184);
    animation: fall-29 8s linear -14.177365885s infinite
}

@keyframes fall-29 {
    to {
        transform: translate(85.7554637071vw, 100vh) scale(.1662758184)
    }
}

.falling-animation:nth-child(30) {
    opacity: .4871020992;
    transform: translate(37.5384571683vw, -10px) scale(.4755602458);
    animation: fall-30 11s linear -13.7399697462s infinite
}

@keyframes fall-30 {
    to {
        transform: translate(37.5384571683vw, 100vh) scale(.4755602458)
    }
}

.falling-animation:nth-child(31) {
    opacity: .3679032736;
    transform: translate(40.8289140357vw, -10px) scale(.2017266103);
    animation: fall-31 10s linear -15.4753269969s infinite
}

@keyframes fall-31 {
    to {
        transform: translate(40.8289140357vw, 100vh) scale(.2017266103)
    }
}

.falling-animation:nth-child(32) {
    opacity: .1773707258;
    transform: translate(83.2232530297vw, -10px) scale(.570682582);
    animation: fall-32 9s linear -28.2527973614s infinite
}

@keyframes fall-32 {
    to {
        transform: translate(83.2232530297vw, 100vh) scale(.570682582)
    }
}

.falling-animation:nth-child(33) {
    opacity: .6514638408;
    transform: translate(11.5221945587vw, -10px) scale(.3514451841);
    animation: fall-33 10s linear -20.7793914152s infinite
}

@keyframes fall-33 {
    to {
        transform: translate(11.5221945587vw, 100vh) scale(.3514451841)
    }
}

.falling-animation:nth-child(34) {
    opacity: .1993940154;
    transform: translate(89.9248092979vw, -10px) scale(.3762742818);
    animation: fall-34 6s linear -14.4947746386s infinite
}

@keyframes fall-34 {
    to {
        transform: translate(89.9248092979vw, 100vh) scale(.3762742818)
    }
}

.falling-animation:nth-child(35) {
    opacity: .6988205489;
    transform: translate(46.1111823751vw, -10px) scale(.0968678212);
    animation: fall-35 9s linear -2.3900971661s infinite
}

@keyframes fall-35 {
    to {
        transform: translate(46.1111823751vw, 100vh) scale(.0968678212)
    }
}

.falling-animation:nth-child(36) {
    opacity: .3562130457;
    transform: translate(63.2840465373vw, -10px) scale(.3893987338);
    animation: fall-36 10s linear -5.1107565367s infinite
}

@keyframes fall-36 {
    to {
        transform: translate(63.2840465373vw, 100vh) scale(.3893987338)
    }
}

.falling-animation:nth-child(37) {
    opacity: .8176525311;
    transform: translate(40.6384458857vw, -10px) scale(.0088004507);
    animation: fall-37 5s linear -17.5426083491s infinite
}

@keyframes fall-37 {
    to {
        transform: translate(40.6384458857vw, 100vh) scale(.0088004507)
    }
}

.falling-animation:nth-child(38) {
    opacity: .4123649483;
    transform: translate(44.3510081354vw, -10px) scale(.162971571);
    animation: fall-38 10s linear -29.2175977057s infinite
}

@keyframes fall-38 {
    to {
        transform: translate(44.3510081354vw, 100vh) scale(.162971571)
    }
}

.falling-animation:nth-child(39) {
    opacity: .4251178515;
    transform: translate(19.3771550564vw, -10px) scale(.4529361002);
    animation: fall-39 4s linear -26.1393942841s infinite
}

@keyframes fall-39 {
    to {
        transform: translate(19.3771550564vw, 100vh) scale(.4529361002)
    }
}

.falling-animation:nth-child(40) {
    opacity: .7410428672;
    transform: translate(41.2833720923vw, -10px) scale(.4285643483);
    animation: fall-40 3s linear -18.9834567241s infinite
}

@keyframes fall-40 {
    to {
        transform: translate(41.2833720923vw, 100vh) scale(.4285643483)
    }
}

.falling-animation:nth-child(41) {
    opacity: .4535834125;
    transform: translate(38.8647346868vw, -10px) scale(.571235709);
    animation: fall-41 12s linear -18.8166271878s infinite
}

@keyframes fall-41 {
    to {
        transform: translate(38.8647346868vw, 100vh) scale(.571235709)
    }
}

.falling-animation:nth-child(42) {
    opacity: .0456224895;
    transform: translate(44.4669896177vw, -10px) scale(.2053528566);
    animation: fall-42 12s linear -27.2633790623s infinite
}

@keyframes fall-42 {
    to {
        transform: translate(44.4669896177vw, 100vh) scale(.2053528566)
    }
}

.falling-animation:nth-child(43) {
    opacity: .9191595217;
    transform: translate(40.7998386328vw, -10px) scale(.2681787854);
    animation: fall-43 11s linear -10.0041383353s infinite
}

@keyframes fall-43 {
    to {
        transform: translate(40.7998386328vw, 100vh) scale(.2681787854)
    }
}

.falling-animation:nth-child(44) {
    opacity: .7131590414;
    transform: translate(3.1427226329vw, -10px) scale(.1253234464);
    animation: fall-44 7s linear -24.974321765s infinite
}

@keyframes fall-44 {
    to {
        transform: translate(3.1427226329vw, 100vh) scale(.1253234464)
    }
}

.falling-animation:nth-child(45) {
    opacity: .6253201605;
    transform: translate(78.7474291364vw, -10px) scale(.4899786542);
    animation: fall-45 6s linear -17.3162141938s infinite
}

@keyframes fall-45 {
    to {
        transform: translate(78.7474291364vw, 100vh) scale(.4899786542)
    }
}

.falling-animation:nth-child(46) {
    opacity: .0365536802;
    transform: translate(80.3978541153vw, -10px) scale(.0592585718);
    animation: fall-46 10s linear -3.9951393945s infinite
}

@keyframes fall-46 {
    to {
        transform: translate(80.3978541153vw, 100vh) scale(.0592585718)
    }
}

.falling-animation:nth-child(47) {
    opacity: .6582431126;
    transform: translate(69.2549778166vw, -10px) scale(.6356586838);
    animation: fall-47 4s linear -25.7330388443s infinite
}

@keyframes fall-47 {
    to {
        transform: translate(69.2549778166vw, 100vh) scale(.6356586838)
    }
}

.falling-animation:nth-child(48) {
    opacity: .8700189806;
    transform: translate(34.0319191169vw, -10px) scale(.5295420969);
    animation: fall-48 6s linear -16.4487508643s infinite
}

@keyframes fall-48 {
    to {
        transform: translate(34.0319191169vw, 100vh) scale(.5295420969)
    }
}

.falling-animation:nth-child(49) {
    opacity: .3032266266;
    transform: translate(62.7908383153vw, -10px) scale(.4228949339);
    animation: fall-49 10s linear -11.8633828585s infinite
}

@keyframes fall-49 {
    to {
        transform: translate(62.7908383153vw, 100vh) scale(.4228949339)
    }
}

.falling-animation:nth-child(50) {
    opacity: .5881990515;
    transform: translate(32.5383482234vw, -10px) scale(.6586109461);
    animation: fall-50 9s linear -5.2279226659s infinite
}

@keyframes fall-50 {
    to {
        transform: translate(32.5383482234vw, 100vh) scale(.6586109461)
    }
}

.rain-drop {
    animation: fall linear infinite
}

@keyframes fall {
    0% {
        transform: translateY(-100%);
        opacity: 1
    }

    to {
        transform: translateY(100vh);
        opacity: 0
    }
}

@keyframes shine {
    0% {
        background-position-x: -500%
    }

    to {
        background-position-x: 500%
    }
}

@media(prefers-reduced-motion:reduce) {

    *,
    :after,
    :before {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: scroll !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important
    }
}

.shake-effect {
    animation: shake-animation 2.5s infinite
}

@keyframes shake-animation {
    0% {
        transform: translateX(0)
    }

    60% {
        transform: translateX(0)
    }

    65% {
        transform: translateX(3px)
    }

    70% {
        transform: translateX(-3px)
    }

    75% {
        transform: translateX(3px)
    }

    80% {
        transform: translateX(-3px)
    }

    85% {
        transform: translateX(3px)
    }

    90% {
        transform: translateX(-3px)
    }

    95% {
        transform: translateX(3px)
    }

    to {
        transform: translateX(0)
    }
}

.rainbow-effect {
    animation: rainbow-color-change 6s ease-in-out infinite
}

@keyframes rainbow-color-change {
    0% {
        color: #66f
    }

    20% {
        color: #09f
    }

    40% {
        color: lime
    }

    60% {
        color: #f39
    }

    80% {
        color: #f60
    }

    to {
        color: #66f
    }
}

.petal {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    position: absolute;
    top: -10rem;
    bottom: 0;
    z-index: 150
}

.petal .rotate {
    animation: driftyRotate 1s ease-in-out infinite both;
    perspective: 1000
}

.petal .askew {
    background: currentColor;
    transform: skewY(10deg);
    display: block;
    width: 2rem;
    height: 2rem;
    animation: drifty 1s ease-in-out infinite alternate both;
    perspective: 1000
}

.petal {
    color: transparent
}

.petal:nth-of-type(7n) .askew {
    animation-delay: -.6s;
    animation-duration: 2.25s
}

.petal:nth-of-type(7n+1) .askew {
    animation-delay: -.879s;
    animation-duration: 3.5s
}

.petal:nth-of-type(7n+2) .askew {
    animation-delay: -.11s;
    animation-duration: 1.95s
}

.petal:nth-of-type(7n+3) .askew {
    animation-delay: -.246s;
    animation-duration: .85s
}

.petal:nth-of-type(7n+4) .askew {
    animation-delay: -.43s;
    animation-duration: 2.5s
}

.petal:nth-of-type(7n+5) .askew {
    animation-delay: -.56s;
    animation-duration: 1.75s
}

.petal:nth-of-type(7n+6) .askew {
    animation-delay: -.76s;
    animation-duration: 1.5s
}

.petal:nth-of-type(9n) .rotate {
    animation-duration: 2s
}

.petal:nth-of-type(9n+1) .rotate {
    animation-duration: 2.3s
}

.petal:nth-of-type(9n+2) .rotate {
    animation-duration: 1.1s
}

.petal:nth-of-type(9n+3) .rotate {
    animation-duration: .75s
}

.petal:nth-of-type(9n+4) .rotate {
    animation-duration: 4.3s
}

.petal:nth-of-type(9n+5) .rotate {
    animation-duration: 3.05s
}

.petal:nth-of-type(9n+6) .rotate {
    animation-duration: 2.76s
}

.petal:nth-of-type(9n+7) .rotate {
    animation-duration: 7.6s
}

.petal:nth-of-type(9n+8) .rotate {
    animation-duration: 1.78s
}

@keyframes drifty {
    0% {
        transform: skewY(10deg) translate3d(-250%, 0, 0);
        display: block
    }

    to {
        transform: skewY(-12deg) translate3d(250%, 0, 0);
        display: block
    }
}

@keyframes driftyRotate {
    0% {
        transform: rotateX(0);
        display: block
    }

    to {
        transform: rotateX(359deg);
        display: block
    }
}

@keyframes shining {
    0% {
        background-position: -500%
    }

    to {
        background-position: 500%
    }
}

.flame {
    animation: flame-float-up 1.5s ease-out infinite, flame-wiggle 1s ease-in-out infinite
}

@keyframes flame-float-up {
    0% {
        transform: scale(.8);
        opacity: 0;
        bottom: 20%
    }

    25% {
        opacity: 1;
        transform: scale(1);
        filter: blur(3px)
    }

    to {
        transform: scale(.6);
        bottom: 100%;
        opacity: 0;
        filter: blur(8px)
    }
}

@keyframes flame-wiggle {

    0%,
    to {
        transform: rotate(0deg)
    }

    50% {
        transform: rotate(1deg)
    }
}

.overlay-shooting-stars {
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    opacity: .05;
    background-image: url(/overlays/shooting-stars.gif)
}

.overlay-noise {
    pointer-events: none;
    left: 0;
    top: 0;
    z-index: 1000;
    height: 100%;
    width: 100%
}

.overlay-noise:after {
    position: absolute;
    display: block;
    top: -10rem;
    left: -10rem;
    width: calc(100% + 20rem);
    height: calc(100% + 20rem);
    content: "";
    background-image: url(/overlays/noise.png);
    animation: noise 1s steps(3) infinite
}

@keyframes noise {
    0% {
        transform: translate3d(0, 9rem, 0)
    }

    10% {
        transform: translate3d(-1rem, -4rem, 0)
    }

    20% {
        transform: translate3d(-8rem, 2rem, 0)
    }

    30% {
        transform: translate3d(9rem, -9rem, 0)
    }

    40% {
        transform: translate3d(-2rem, 7rem, 0)
    }

    50% {
        transform: translate3d(-9rem, -4rem, 0)
    }

    60% {
        transform: translate3d(2rem, 6rem, 0)
    }

    70% {
        transform: translate3d(7rem, -8rem, 0)
    }

    80% {
        transform: translate3d(-9rem, 1rem, 0)
    }

    90% {
        transform: translate3d(6rem, -5rem, 0)
    }

    to {
        transform: translate3d(-7rem, 0, 0)
    }
}

.overlay-retro {
    opacity: 1%;
    background-image: url(/overlays/retro.gif)
}

.overlay-dots {
    background: transparent url(/overlays/dots.png) repeat 0 0
}

.overlay-rain {
    opacity: .1;
    background-image: url(/overlays/rain.gif)
}