html, body { height: 100%; } body { background: url(https://i.pinimg.com/originals/44/6e/3b/446e3b79395a287ca32f7977dd83b290.jpg); background-size: cover; } .firefly { position: fixed; left: 50%; top: 50%; width: 0.4vw; height: 0.4vw; margin: -0.2vw 0 0 9.8vw; animation: ease 200s alternate infinite; pointer-events: none; } .firefly::before, .firefly::after { content: ""; position: absolute; width: 100%; height: 100%; border-radius: 50%; transform-origin: -10vw; } .firefly::before { background: black; opacity: 0.4; animation: drift ease alternate infinite; } .firefly::after { background: white; opacity: 0; box-shadow: 0 0 0vw 0vw yellow; animation: drift ease alternate infinite, flash ease infinite; } .firefly:nth-child(1) { animation-name: move1; } .firefly:nth-child(1)::before { animation-duration: 18s; } .firefly:nth-child(1)::after { animation-duration: 18s, 10542ms; animation-delay: 0ms, 8403ms; } @keyframes move1 { 0% { transform: translateX(30vw) translateY(-44vh) scale(0.39); } 4.1666666667% { transform: translateX(-24vw) translateY(-12vh) scale(1); } 8.3333333333% { transform: translateX(-12vw) translateY(-42vh) scale(0.62); } 12.5% { transform: translateX(-7vw) translateY(-2vh) scale(0.58); } 16.6666666667% { transform: translateX(-28vw) translateY(19vh) scale(0.59); } 20.8333333333% { transform: translateX(-21vw) translateY(-10vh) scale(0.59); } 25% { transform: translateX(-44vw) translateY(-22vh) scale(0.7); } 29.1666666667% { transform: translateX(-42vw) translateY(50vh) scale(0.72); } 33.3333333333% { transform: translateX(50vw) translateY(4vh) scale(0.49); } 37.5% { transform: translateX(41vw) translateY(47vh) scale(0.43); } 41.6666666667% { transform: translateX(34vw) translateY(28vh) scale(0.29); } 45.8333333333% { transform: translateX(7vw) translateY(-35vh) scale(0.98); } 50% { transform: translateX(-33vw) translateY(35vh) scale(0.89); } 54.1666666667% { transform: translateX(-7vw) translateY(10vh) scale(0.31); } 58.3333333333% { transform: translateX(-49vw) translateY(43vh) scale(0.26); } 62.5% { transform: translateX(-43vw) translateY(13vh) scale(0.75); } 66.6666666667% { transform: translateX(39vw) translateY(24vh) scale(0.5); } 70.8333333333% { transform: translateX(-26vw) translateY(-6vh) scale(0.43); } 75% { transform: translateX(-43vw) translateY(-40vh) scale(0.75); } 79.1666666667% { transform: translateX(-22vw) translateY(8vh) scale(0.94); } 83.3333333333% { transform: translateX(-41vw) translateY(-49vh) scale(0.49); } 87.5% { transform: translateX(48vw) translateY(33vh) scale(0.66); } 91.6666666667% { transform: translateX(47vw) translateY(-3vh) scale(0.38); } 95.8333333333% { transform: translateX(21vw) translateY(-20vh) scale(0.52); } 100% { transform: translateX(-41vw) translateY(-27vh) scale(0.53); } } .firefly:nth-child(2) { animation-name: move2; } .firefly:nth-child(2)::before { animation-duration: 14s; } .firefly:nth-child(2)::after { animation-duration: 14s, 8734ms; animation-delay: 0ms, 5295ms; } @keyframes move2 { 0% { transform: translateX(-11vw) translateY(-14vh) scale(0.83); } 5.8823529412% { transform: translateX(-38vw) translateY(12vh) scale(0.77); } 11.7647058824% { transform: translateX(-44vw) translateY(19vh) scale(0.51); } 17.6470588235% { transform: translateX(-15vw) translateY(-12vh) scale(0.96); } 23.5294117647% { transform: translateX(-19vw) translateY(-19vh) scale(0.29); } 29.4117647059% { transform: translateX(-13vw) translateY(5vh) scale(0.67); } 35.2941176471% { transform: translateX(-30vw) translateY(-41vh) scale(1); } 41.1764705882% { transform: translateX(-4vw) translateY(41vh) scale(0.62); } 47.0588235294% { transform: translateX(19vw) translateY(10vh) scale(0.56); } 52.9411764706% { transform: translateX(-2vw) translateY(31vh) scale(0.57); } 58.8235294118% { transform: translateX(-17vw) translateY(-26vh) scale(0.36); } 64.7058823529% { transform: translateX(-42vw) translateY(13vh) scale(0.26); } 70.5882352941% { transform: translateX(25vw) translateY(-44vh) scale(0.81); } 76.4705882353% { transform: translateX(43vw) translateY(43vh) scale(0.71); } 82.3529411765% { transform: translateX(47vw) translateY(-18vh) scale(0.9); } 88.2352941176% { transform: translateX(-40vw) translateY(5vh) scale(0.71); } 94.1176470588% { transform: translateX(22vw) translateY(20vh) scale(0.84); } 100% { transform: translateX(-12vw) translateY(0vh) scale(0.3); } } .firefly:nth-child(3) { animation-name: move3; } .firefly:nth-child(3)::before { animation-duration: 18s; } .firefly:nth-child(3)::after { animation-duration: 18s, 10893ms; animation-delay: 0ms, 5327ms; } @keyframes move3 { 0% { transform: translateX(-8vw) translateY(11vh) scale(0.34); } 5% { transform: translateX(-32vw) translateY(-2vh) scale(0.63); } 10% { transform: translateX(17vw) translateY(-28vh) scale(0.48); } 15% { transform: translateX(18vw) translateY(-42vh) scale(0.95); } 20% { transform: translateX(5vw) translateY(-32vh) scale(0.35); } 25% { transform: translateX(50vw) translateY(40vh) scale(0.79); } 30% { transform: translateX(38vw) translateY(-7vh) scale(0.48); } 35% { transform: translateX(31vw) translateY(-35vh) scale(0.61); } 40% { transform: translateX(49vw) translateY(-36vh) scale(0.64); } 45% { transform: translateX(-41vw) translateY(26vh) scale(0.38); } 50% { transform: translateX(-12vw) translateY(-16vh) scale(0.61); } 55% { transform: translateX(-30vw) translateY(27vh) scale(0.41); } 60% { transform: translateX(41vw) translateY(-42vh) scale(0.26); } 65% { transform: translateX(5vw) translateY(-10vh) scale(0.85); } 70% { transform: translateX(-28vw) translateY(16vh) scale(0.3); } 75% { transform: translateX(-41vw) translateY(5vh) scale(0.98); } 80% { transform: translateX(-20vw) translateY(-15vh) scale(0.68); } 85% { transform: translateX(-15vw) translateY(5vh) scale(0.26); } 90% { transform: translateX(24vw) translateY(-34vh) scale(0.83); } 95% { transform: translateX(44vw) translateY(-5vh) scale(0.42); } 100% { transform: translateX(-13vw) translateY(-17vh) scale(0.33); } } .firefly:nth-child(4) { animation-name: move4; } .firefly:nth-child(4)::before { animation-duration: 13s; } .firefly:nth-child(4)::after { animation-duration: 13s, 8651ms; animation-delay: 0ms, 971ms; } @keyframes move4 { 0% { transform: translateX(6vw) translateY(-42vh) scale(0.41); } 5.8823529412% { transform: translateX(-36vw) translateY(13vh) scale(0.56); } 11.7647058824% { transform: translateX(-38vw) translateY(-45vh) scale(0.56); } 17.6470588235% { transform: translateX(-32vw) translateY(-30vh) scale(0.8); } 23.5294117647% { transform: translateX(-29vw) translateY(25vh) scale(0.58); } 29.4117647059% { transform: translateX(-43vw) translateY(-20vh) scale(0.59); } 35.2941176471% { transform: translateX(-40vw) translateY(-26vh) scale(0.55); } 41.1764705882% { transform: translateX(-21vw) translateY(20vh) scale(0.94); } 47.0588235294% { transform: translateX(-10vw) translateY(-12vh) scale(0.75); } 52.9411764706% { transform: translateX(26vw) translateY(-26vh) scale(0.41); } 58.8235294118% { transform: translateX(7vw) translateY(8vh) scale(0.79); } 64.7058823529% { transform: translateX(-6vw) translateY(32vh) scale(0.97); } 70.5882352941% { transform: translateX(30vw) translateY(-6vh) scale(0.98); } 76.4705882353% { transform: translateX(34vw) translateY(-24vh) scale(0.4); } 82.3529411765% { transform: translateX(1vw) translateY(-47vh) scale(0.33); } 88.2352941176% { transform: translateX(34vw) translateY(8vh) scale(0.5); } 94.1176470588% { transform: translateX(30vw) translateY(-12vh) scale(0.69); } 100% { transform: translateX(-36vw) translateY(33vh) scale(0.56); } } .firefly:nth-child(5) { animation-name: move5; } .firefly:nth-child(5)::before { animation-duration: 18s; } .firefly:nth-child(5)::after { animation-duration: 18s, 9042ms; animation-delay: 0ms, 6757ms; } @keyframes move5 { 0% { transform: translateX(36vw) translateY(13vh) scale(0.91); } 3.8461538462% { transform: translateX(-49vw) translateY(-38vh) scale(0.69); } 7.6923076923% { transform: translateX(-47vw) translateY(31vh) scale(0.48); } 11.5384615385% { transform: translateX(-46vw) translateY(9vh) scale(0.28); } 15.3846153846% { transform: translateX(-38vw) translateY(-39vh) scale(0.92); } 19.2307692308% { transform: translateX(-38vw) translateY(-32vh) scale(0.92); } 23.0769230769% { transform: translateX(34vw) translateY(-47vh) scale(0.26); } 26.9230769231% { transform: translateX(4vw) translateY(42vh) scale(0.93); } 30.7692307692% { transform: translateX(-45vw) translateY(19vh) scale(0.9); } 34.6153846154% { transform: translateX(-49vw) translateY(-28vh) scale(0.55); } 38.4615384615% { transform: translateX(-2vw) translateY(-45vh) scale(0.72); } 42.3076923077% { transform: translateX(-27vw) translateY(-4vh) scale(0.44); } 46.1538461538% { transform: translateX(-19vw) translateY(-1vh) scale(0.57); } 50% { transform: translateX(-7vw) translateY(29vh) scale(0.4); } 53.8461538462% { transform: translateX(-48vw) translateY(-41vh) scale(0.81); } 57.6923076923% { transform: translateX(-40vw) translateY(-10vh) scale(0.65); } 61.5384615385% { transform: translateX(23vw) translateY(23vh) scale(0.35); } 65.3846153846% { transform: translateX(45vw) translateY(-10vh) scale(0.72); } 69.2307692308% { transform: translateX(36vw) translateY(-48vh) scale(0.99); } 73.0769230769% { transform: translateX(-22vw) translateY(-11vh) scale(0.27); } 76.9230769231% { transform: translateX(15vw) translateY(30vh) scale(0.82); } 80.7692307692% { transform: translateX(-5vw) translateY(12vh) scale(0.49); } 84.6153846154% { transform: translateX(-45vw) translateY(29vh) scale(0.61); } 88.4615384615% { transform: translateX(-32vw) translateY(3vh) scale(0.82); } 92.3076923077% { transform: translateX(11vw) translateY(20vh) scale(0.54); } 96.1538461538% { transform: translateX(-28vw) translateY(3vh) scale(0.91); } 100% { transform: translateX(44vw) translateY(10vh) scale(0.33); } } .firefly:nth-child(6) { animation-name: move6; } .firefly:nth-child(6)::before { animation-duration: 12s; } .firefly:nth-child(6)::after { animation-duration: 12s, 6497ms; animation-delay: 0ms, 7225ms; } @keyframes move6 { 0% { transform: translateX(47vw) translateY(14vh) scale(0.92); } 4.1666666667% { transform: translateX(-22vw) translateY(-10vh) scale(0.87); } 8.3333333333% { transform: translateX(25vw) translateY(47vh) scale(0.61); } 12.5% { transform: translateX(14vw) translateY(-21vh) scale(0.48); } 16.6666666667% { transform: translateX(-42vw) translateY(38vh) scale(0.6); } 20.8333333333% { transform: translateX(-20vw) translateY(-38vh) scale(0.34); } 25% { transform: translateX(-7vw) translateY(-39vh) scale(0.86); } 29.1666666667% { transform: translateX(-40vw) translateY(-11vh) scale(0.81); } 33.3333333333% { transform: translateX(-47vw) translateY(5vh) scale(0.69); } 37.5% { transform: translateX(42vw) translateY(50vh) scale(0.62); } 41.6666666667% { transform: translateX(-1vw) translateY(41vh) scale(0.33); } 45.8333333333% { transform: translateX(-22vw) translateY(48vh) scale(0.86); } 50% { transform: translateX(48vw) translateY(-18vh) scale(0.57); } 54.1666666667% { transform: translateX(-40vw) translateY(21vh) scale(0.86); } 58.3333333333% { transform: translateX(38vw) translateY(33vh) scale(0.98); } 62.5% { transform: translateX(35vw) translateY(28vh) scale(0.77); } 66.6666666667% { transform: translateX(-12vw) translateY(17vh) scale(0.93); } 70.8333333333% { transform: translateX(14vw) translateY(-4vh) scale(0.32); } 75% { transform: translateX(-10vw) translateY(22vh) scale(0.67); } 79.1666666667% { transform: translateX(-21vw) translateY(-23vh) scale(0.58); } 83.3333333333% { transform: translateX(32vw) translateY(19vh) scale(0.38); } 87.5% { transform: translateX(-5vw) translateY(-30vh) scale(0.92); } 91.6666666667% { transform: translateX(-9vw) translateY(39vh) scale(0.98); } 95.8333333333% { transform: translateX(37vw) translateY(-17vh) scale(0.81); } 100% { transform: translateX(-26vw) translateY(-37vh) scale(0.43); } } .firefly:nth-child(7) { animation-name: move7; } .firefly:nth-child(7)::before { animation-duration: 11s; } .firefly:nth-child(7)::after { animation-duration: 11s, 6303ms; animation-delay: 0ms, 8215ms; } @keyframes move7 { 0% { transform: translateX(6vw) translateY(13vh) scale(0.33); } 3.7037037037% { transform: translateX(-20vw) translateY(-40vh) scale(0.4); } 7.4074074074% { transform: translateX(48vw) translateY(41vh) scale(0.6); } 11.1111111111% { transform: translateX(49vw) translateY(-45vh) scale(0.81); } 14.8148148148% { transform: translateX(37vw) translateY(-31vh) scale(0.63); } 18.5185185185% { transform: translateX(28vw) translateY(1vh) scale(0.64); } 22.2222222222% { transform: translateX(-9vw) translateY(-7vh) scale(0.26); } 25.9259259259% { transform: translateX(-48vw) translateY(14vh) scale(0.46); } 29.6296296296% { transform: translateX(38vw) translateY(-46vh) scale(0.31); } 33.3333333333% { transform: translateX(-22vw) translateY(19vh) scale(0.55); } 37.037037037% { transform: translateX(22vw) translateY(1vh) scale(0.49); } 40.7407407407% { transform: translateX(42vw) translateY(-37vh) scale(0.87); } 44.4444444444% { transform: translateX(-5vw) translateY(19vh) scale(0.43); } 48.1481481481% { transform: translateX(15vw) translateY(-9vh) scale(0.3); } 51.8518518519% { transform: translateX(47vw) translateY(22vh) scale(0.89); } 55.5555555556% { transform: translateX(-16vw) translateY(37vh) scale(0.98); } 59.2592592593% { transform: translateX(-38vw) translateY(-29vh) scale(0.79); } 62.962962963% { transform: translateX(42vw) translateY(-35vh) scale(0.68); } 66.6666666667% { transform: translateX(19vw) translateY(37vh) scale(0.77); } 70.3703703704% { transform: translateX(-7vw) translateY(45vh) scale(0.31); } 74.0740740741% { transform: translateX(43vw) translateY(-26vh) scale(0.95); } 77.7777777778% { transform: translateX(-3vw) translateY(-41vh) scale(0.6); } 81.4814814815% { transform: translateX(44vw) translateY(-20vh) scale(0.78); } 85.1851851852% { transform: translateX(20vw) translateY(20vh) scale(0.96); } 88.8888888889% { transform: translateX(41vw) translateY(-14vh) scale(0.53); } 92.5925925926% { transform: translateX(-16vw) translateY(-37vh) scale(0.94); } 96.2962962963% { transform: translateX(49vw) translateY(9vh) scale(0.74); } 100% { transform: translateX(-41vw) translateY(-11vh) scale(0.98); } } .firefly:nth-child(8) { animation-name: move8; } .firefly:nth-child(8)::before { animation-duration: 16s; } .firefly:nth-child(8)::after { animation-duration: 16s, 10200ms; animation-delay: 0ms, 6600ms; } @keyframes move8 { 0% { transform: translateX(8vw) translateY(39vh) scale(0.77); } 4% { transform: translateX(-35vw) translateY(48vh) scale(0.69); } 8% { transform: translateX(16vw) translateY(38vh) scale(0.76); } 12% { transform: translateX(28vw) translateY(-25vh) scale(0.72); } 16% { transform: translateX(-22vw) translateY(-28vh) scale(0.92); } 20% { transform: translateX(33vw) translateY(3vh) scale(0.82); } 24% { transform: translateX(-18vw) translateY(-28vh) scale(0.8); } 28% { transform: translateX(-49vw) translateY(20vh) scale(0.52); } 32% { transform: translateX(-12vw) translateY(21vh) scale(0.47); } 36% { transform: translateX(-30vw) translateY(48vh) scale(0.81); } 40% { transform: translateX(-21vw) translateY(-29vh) scale(0.88); } 44% { transform: translateX(25vw) translateY(-24vh) scale(0.5); } 48% { transform: translateX(1vw) translateY(4vh) scale(0.77); } 52% { transform: translateX(-13vw) translateY(3vh) scale(0.98); } 56% { transform: translateX(-41vw) translateY(8vh) scale(0.86); } 60% { transform: translateX(46vw) translateY(-18vh) scale(0.59); } 64% { transform: translateX(-47vw) translateY(31vh) scale(0.77); } 68% { transform: translateX(-38vw) translateY(-22vh) scale(0.92); } 72% { transform: translateX(40vw) translateY(-7vh) scale(0.64); } 76% { transform: translateX(33vw) translateY(1vh) scale(0.73); } 80% { transform: translateX(-16vw) translateY(-42vh) scale(0.87); } 84% { transform: translateX(22vw) translateY(-41vh) scale(0.38); } 88% { transform: translateX(-36vw) translateY(-20vh) scale(0.27); } 92% { transform: translateX(24vw) translateY(-14vh) scale(0.36); } 96% { transform: translateX(-35vw) translateY(24vh) scale(0.41); } 100% { transform: translateX(33vw) translateY(30vh) scale(0.77); } } .firefly:nth-child(9) { animation-name: move9; } .firefly:nth-child(9)::before { animation-duration: 10s; } .firefly:nth-child(9)::after { animation-duration: 10s, 8762ms; animation-delay: 0ms, 2069ms; } @keyframes move9 { 0% { transform: translateX(-4vw) translateY(-11vh) scale(0.47); } 4.5454545455% { transform: translateX(45vw) translateY(8vh) scale(0.9); } 9.0909090909% { transform: translateX(-21vw) translateY(4vh) scale(0.56); } 13.6363636364% { transform: translateX(-8vw) translateY(5vh) scale(0.83); } 18.1818181818% { transform: translateX(11vw) translateY(-34vh) scale(0.58); } 22.7272727273% { transform: translateX(38vw) translateY(-4vh) scale(0.65); } 27.2727272727% { transform: translateX(25vw) translateY(-47vh) scale(1); } 31.8181818182% { transform: translateX(13vw) translateY(36vh) scale(0.85); } 36.3636363636% { transform: translateX(10vw) translateY(43vh) scale(0.33); } 40.9090909091% { transform: translateX(-11vw) translateY(-49vh) scale(0.37); } 45.4545454545% { transform: translateX(25vw) translateY(-18vh) scale(0.76); } 50% { transform: translateX(2vw) translateY(-17vh) scale(0.8); } 54.5454545455% { transform: translateX(0vw) translateY(5vh) scale(0.57); } 59.0909090909% { transform: translateX(18vw) translateY(-23vh) scale(0.32); } 63.6363636364% { transform: translateX(8vw) translateY(50vh) scale(0.28); } 68.1818181818% { transform: translateX(-10vw) translateY(-12vh) scale(0.31); } 72.7272727273% { transform: translateX(-5vw) translateY(29vh) scale(1); } 77.2727272727% { transform: translateX(-37vw) translateY(6vh) scale(0.52); } 81.8181818182% { transform: translateX(47vw) translateY(18vh) scale(0.91); } 86.3636363636% { transform: translateX(-6vw) translateY(11vh) scale(0.88); } 90.9090909091% { transform: translateX(-31vw) translateY(33vh) scale(0.39); } 95.4545454545% { transform: translateX(-9vw) translateY(-4vh) scale(0.64); } 100% { transform: translateX(7vw) translateY(10vh) scale(0.78); } } .firefly:nth-child(10) { animation-name: move10; } .firefly:nth-child(10)::before { animation-duration: 12s; } .firefly:nth-child(10)::after { animation-duration: 12s, 7565ms; animation-delay: 0ms, 1562ms; } @keyframes move10 { 0% { transform: translateX(-25vw) translateY(-19vh) scale(0.47); } 5% { transform: translateX(30vw) translateY(-30vh) scale(0.6); } 10% { transform: translateX(-9vw) translateY(35vh) scale(0.57); } 15% { transform: translateX(11vw) translateY(46vh) scale(0.72); } 20% { transform: translateX(-11vw) translateY(-33vh) scale(0.3); } 25% { transform: translateX(19vw) translateY(-3vh) scale(0.96); } 30% { transform: translateX(-21vw) translateY(35vh) scale(0.63); } 35% { transform: translateX(-30vw) translateY(12vh) scale(0.37); } 40% { transform: translateX(-49vw) translateY(50vh) scale(0.61); } 45% { transform: translateX(-15vw) translateY(42vh) scale(0.66); } 50% { transform: translateX(-45vw) translateY(-16vh) scale(0.77); } 55% { transform: translateX(43vw) translateY(29vh) scale(0.55); } 60% { transform: translateX(-37vw) translateY(9vh) scale(0.74); } 65% { transform: translateX(-21vw) translateY(-15vh) scale(0.61); } 70% { transform: translateX(36vw) translateY(44vh) scale(0.5); } 75% { transform: translateX(-49vw) translateY(-4vh) scale(0.78); } 80% { transform: translateX(25vw) translateY(4vh) scale(0.94); } 85% { transform: translateX(-19vw) translateY(-39vh) scale(0.95); } 90% { transform: translateX(40vw) translateY(25vh) scale(0.94); } 95% { transform: translateX(1vw) translateY(-28vh) scale(0.91); } 100% { transform: translateX(-9vw) translateY(-2vh) scale(0.97); } } .firefly:nth-child(11) { animation-name: move11; } .firefly:nth-child(11)::before { animation-duration: 12s; } .firefly:nth-child(11)::after { animation-duration: 12s, 8233ms; animation-delay: 0ms, 6970ms; } @keyframes move11 { 0% { transform: translateX(-16vw) translateY(-10vh) scale(0.87); } 3.5714285714% { transform: translateX(-22vw) translateY(22vh) scale(0.89); } 7.1428571429% { transform: translateX(27vw) translateY(-32vh) scale(0.69); } 10.7142857143% { transform: translateX(-33vw) translateY(33vh) scale(0.56); } 14.2857142857% { transform: translateX(-7vw) translateY(-2vh) scale(0.45); } 17.8571428571% { transform: translateX(-44vw) translateY(-1vh) scale(0.28); } 21.4285714286% { transform: translateX(17vw) translateY(14vh) scale(0.53); } 25% { transform: translateX(13vw) translateY(40vh) scale(0.53); } 28.5714285714% { transform: translateX(-26vw) translateY(-22vh) scale(0.91); } 32.1428571429% { transform: translateX(-32vw) translateY(15vh) scale(0.28); } 35.7142857143% { transform: translateX(18vw) translateY(4vh) scale(0.96); } 39.2857142857% { transform: translateX(16vw) translateY(-4vh) scale(0.81); } 42.8571428571% { transform: translateX(35vw) translateY(-20vh) scale(0.81); } 46.4285714286% { transform: translateX(-23vw) translateY(-10vh) scale(0.5); } 50% { transform: translateX(-23vw) translateY(23vh) scale(0.38); } 53.5714285714% { transform: translateX(22vw) translateY(0vh) scale(0.52); } 57.1428571429% { transform: translateX(-9vw) translateY(47vh) scale(0.76); } 60.7142857143% { transform: translateX(7vw) translateY(35vh) scale(0.88); } 64.2857142857% { transform: translateX(40vw) translateY(24vh) scale(0.37); } 67.8571428571% { transform: translateX(33vw) translateY(50vh) scale(0.39); } 71.4285714286% { transform: translateX(22vw) translateY(35vh) scale(0.86); } 75% { transform: translateX(-21vw) translateY(8vh) scale(0.73); } 78.5714285714% { transform: translateX(43vw) translateY(3vh) scale(0.44); } 82.1428571429% { transform: translateX(-42vw) translateY(26vh) scale(0.93); } 85.7142857143% { transform: translateX(-10vw) translateY(45vh) scale(0.98); } 89.2857142857% { transform: translateX(-10vw) translateY(43vh) scale(0.51); } 92.8571428571% { transform: translateX(-43vw) translateY(-18vh) scale(0.28); } 96.4285714286% { transform: translateX(-21vw) translateY(16vh) scale(0.68); } 100% { transform: translateX(-35vw) translateY(-26vh) scale(0.34); } } .firefly:nth-child(12) { animation-name: move12; } .firefly:nth-child(12)::before { animation-duration: 15s; } .firefly:nth-child(12)::after { animation-duration: 15s, 5752ms; animation-delay: 0ms, 2206ms; } @keyframes move12 { 0% { transform: translateX(-35vw) translateY(8vh) scale(0.97); } 4.347826087% { transform: translateX(-40vw) translateY(-37vh) scale(0.85); } 8.6956521739% { transform: translateX(-7vw) translateY(15vh) scale(0.56); } 13.0434782609% { transform: translateX(9vw) translateY(42vh) scale(0.7); } 17.3913043478% { transform: translateX(-26vw) translateY(8vh) scale(0.93); } 21.7391304348% { transform: translateX(-27vw) translateY(-12vh) scale(0.7); } 26.0869565217% { transform: translateX(20vw) translateY(12vh) scale(0.77); } 30.4347826087% { transform: translateX(22vw) translateY(-43vh) scale(0.59); } 34.7826086957% { transform: translateX(46vw) translateY(26vh) scale(0.61); } 39.1304347826% { transform: translateX(1vw) translateY(13vh) scale(0.29); } 43.4782608696% { transform: translateX(-22vw) translateY(-26vh) scale(0.53); } 47.8260869565% { transform: translateX(-19vw) translateY(-36vh) scale(0.63); } 52.1739130435% { transform: translateX(37vw) translateY(-28vh) scale(0.79); } 56.5217391304% { transform: translateX(-42vw) translateY(13vh) scale(0.28); } 60.8695652174% { transform: translateX(-12vw) translateY(5vh) scale(0.28); } 65.2173913043% { transform: translateX(35vw) translateY(-46vh) scale(0.5); } 69.5652173913% { transform: translateX(15vw) translateY(40vh) scale(0.66); } 73.9130434783% { transform: translateX(-42vw) translateY(-19vh) scale(0.33); } 78.2608695652% { transform: translateX(17vw) translateY(-30vh) scale(0.93); } 82.6086956522% { transform: translateX(7vw) translateY(21vh) scale(0.79); } 86.9565217391% { transform: translateX(43vw) translateY(48vh) scale(0.42); } 91.3043478261% { transform: translateX(16vw) translateY(-31vh) scale(0.63); } 95.652173913% { transform: translateX(-31vw) translateY(3vh) scale(0.56); } 100% { transform: translateX(10vw) translateY(33vh) scale(0.45); } } .firefly:nth-child(13) { animation-name: move13; } .firefly:nth-child(13)::before { animation-duration: 13s; } .firefly:nth-child(13)::after { animation-duration: 13s, 9291ms; animation-delay: 0ms, 2221ms; } @keyframes move13 { 0% { transform: translateX(-45vw) translateY(19vh) scale(0.84); } 4% { transform: translateX(-24vw) translateY(-43vh) scale(0.78); } 8% { transform: translateX(26vw) translateY(-3vh) scale(0.6); } 12% { transform: translateX(12vw) translateY(44vh) scale(0.83); } 16% { transform: translateX(31vw) translateY(-22vh) scale(0.93); } 20% { transform: translateX(11vw) translateY(-11vh) scale(0.69); } 24% { transform: translateX(-8vw) translateY(14vh) scale(0.61); } 28% { transform: translateX(43vw) translateY(-46vh) scale(0.29); } 32% { transform: translateX(16vw) translateY(-4vh) scale(0.42); } 36% { transform: translateX(14vw) translateY(-16vh) scale(0.87); } 40% { transform: translateX(-44vw) translateY(-8vh) scale(0.74); } 44% { transform: translateX(34vw) translateY(-43vh) scale(0.91); } 48% { transform: translateX(14vw) translateY(46vh) scale(0.39); } 52% { transform: translateX(10vw) translateY(16vh) scale(0.92); } 56% { transform: translateX(44vw) translateY(38vh) scale(0.59); } 60% { transform: translateX(-4vw) translateY(17vh) scale(0.34); } 64% { transform: translateX(-19vw) translateY(30vh) scale(0.37); } 68% { transform: translateX(40vw) translateY(11vh) scale(0.96); } 72% { transform: translateX(-21vw) translateY(-32vh) scale(0.31); } 76% { transform: translateX(50vw) translateY(14vh) scale(0.55); } 80% { transform: translateX(-27vw) translateY(27vh) scale(0.61); } 84% { transform: translateX(19vw) translateY(30vh) scale(0.82); } 88% { transform: translateX(-42vw) translateY(18vh) scale(0.6); } 92% { transform: translateX(-18vw) translateY(-25vh) scale(0.49); } 96% { transform: translateX(-47vw) translateY(47vh) scale(0.85); } 100% { transform: translateX(-6vw) translateY(1vh) scale(0.71); } } .firefly:nth-child(14) { animation-name: move14; } .firefly:nth-child(14)::before { animation-duration: 11s; } .firefly:nth-child(14)::after { animation-duration: 11s, 9482ms; animation-delay: 0ms, 4846ms; } @keyframes move14 { 0% { transform: translateX(6vw) translateY(41vh) scale(0.99); } 5.8823529412% { transform: translateX(-41vw) translateY(-48vh) scale(0.65); } 11.7647058824% { transform: translateX(20vw) translateY(0vh) scale(0.65); } 17.6470588235% { transform: translateX(25vw) translateY(12vh) scale(0.55); } 23.5294117647% { transform: translateX(-8vw) translateY(-26vh) scale(0.29); } 29.4117647059% { transform: translateX(-41vw) translateY(49vh) scale(0.98); } 35.2941176471% { transform: translateX(-34vw) translateY(-10vh) scale(0.93); } 41.1764705882% { transform: translateX(-34vw) translateY(4vh) scale(0.4); } 47.0588235294% { transform: translateX(1vw) translateY(-34vh) scale(0.45); } 52.9411764706% { transform: translateX(34vw) translateY(34vh) scale(0.95); } 58.8235294118% { transform: translateX(25vw) translateY(44vh) scale(0.62); } 64.7058823529% { transform: translateX(-43vw) translateY(-48vh) scale(0.78); } 70.5882352941% { transform: translateX(-2vw) translateY(-42vh) scale(0.97); } 76.4705882353% { transform: translateX(7vw) translateY(-40vh) scale(0.31); } 82.3529411765% { transform: translateX(21vw) translateY(-16vh) scale(0.97); } 88.2352941176% { transform: translateX(-15vw) translateY(15vh) scale(0.55); } 94.1176470588% { transform: translateX(15vw) translateY(21vh) scale(0.7); } 100% { transform: translateX(-35vw) translateY(2vh) scale(0.99); } } .firefly:nth-child(15) { animation-name: move15; } .firefly:nth-child(15)::before { animation-duration: 11s; } .firefly:nth-child(15)::after { animation-duration: 11s, 10734ms; animation-delay: 0ms, 5943ms; } @keyframes move15 { 0% { transform: translateX(44vw) translateY(-15vh) scale(0.75); } 5% { transform: translateX(12vw) translateY(-46vh) scale(0.94); } 10% { transform: translateX(-12vw) translateY(-37vh) scale(0.99); } 15% { transform: translateX(-21vw) translateY(12vh) scale(0.87); } 20% { transform: translateX(-23vw) translateY(-24vh) scale(0.94); } 25% { transform: translateX(6vw) translateY(-41vh) scale(0.43); } 30% { transform: translateX(47vw) translateY(-21vh) scale(0.43); } 35% { transform: translateX(8vw) translateY(25vh) scale(0.79); } 40% { transform: translateX(30vw) translateY(-34vh) scale(0.32); } 45% { transform: translateX(42vw) translateY(48vh) scale(0.76); } 50% { transform: translateX(2vw) translateY(-27vh) scale(0.58); } 55% { transform: translateX(9vw) translateY(-48vh) scale(0.49); } 60% { transform: translateX(25vw) translateY(39vh) scale(0.65); } 65% { transform: translateX(-13vw) translateY(29vh) scale(0.55); } 70% { transform: translateX(32vw) translateY(-34vh) scale(0.34); } 75% { transform: translateX(49vw) translateY(-1vh) scale(0.46); } 80% { transform: translateX(31vw) translateY(28vh) scale(0.92); } 85% { transform: translateX(41vw) translateY(-30vh) scale(0.97); } 90% { transform: translateX(43vw) translateY(-33vh) scale(0.81); } 95% { transform: translateX(-42vw) translateY(17vh) scale(0.4); } 100% { transform: translateX(12vw) translateY(23vh) scale(0.41); } } @keyframes drift { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes flash { 0%, 30%, 100% { opacity: 0; box-shadow: 0 0 0vw 0vw yellow; } 5% { opacity: 1; box-shadow: 0 0 2vw 0.4vw yellow; } }