@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&family=Handjet:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Dots:wght@400..700&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&family=Handjet:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Edu+AU+VIC+WA+NT+Dots:wght@400..700&family=Handlee&family=Raleway+Dots&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Edu+AU+VIC+WA+NT+Dots:wght@400..700&family=Handlee&family=Orbitron:wght@400..900&family=Raleway+Dots&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&family=Handjet:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=Edu+AU+VIC+WA+NT+Dots:wght@400..700&family=Edu+AU+VIC+WA+NT+Guides:wght@400..700&family=Handjet:wght@100..900&display=swap");
@import url(https://fonts.googleapis.com/css?family=Khula:700);

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: #171717;
  min-height: 100vh;
  display: flex;
  color: white;
}

a {
  text-decoration: none;
  color: white;
}

a:hover {
  text-decoration: underline;
  color: white;
}

:root {
  --card-gap: 1rem;
  --main-padding: 2rem;
  --card-border-radius: 1rem;
  --title-font-family: "Handjet", sans-serif;
  --body-font-family: "Edu AU VIC WA NT Dots", sans-serif;
  --orbitron-font-family: "Orbitron", roboto;
}

:root {
  --primary-color: #8720CC;
  --secondary-color: magenta;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeOut {
  animation: fadeOut 1s;
}

.fadeIn {
  animation: fadeIn 1s;
}

@font-face {
  font-family: Clip;
  src: url("https://acupoftee.github.io/fonts/Clip.ttf");
}

.home-section__name {
  font-family: var(--title-font-family);
}

.home-section__name .home-name-text {
  font-size: max(10vw, 2rem);
  letter-spacing: 2;
}

.home-section__name .flickering-text {
  background-image: radial-gradient(ellipse 50% 35% at 50% 50%, #6b1839, transparent);
  text-transform: uppercase;
  color: #ffe6ff;
  text-shadow: 0 0 0.6rem #ffe6ff, 0 0 1.5rem #ff65bd, -0.2rem 0.1rem 1rem #ff65bd, 0.2rem 0.1rem 1rem #ff65bd, 0 -0.5rem 2rem #ff2483, 0 0.5rem 3rem #ff2483;
  animation: shine 2s forwards, flicker 3s infinite;
}

@keyframes blink {

  0%,
  22%,
  36%,
  75% {
    color: #ffe6ff;
    text-shadow: 0 0 0.6rem #ffe6ff, 0 0 1.5rem #ff65bd, -0.2rem 0.1rem 1rem #ff65bd, 0.2rem 0.1rem 1rem #ff65bd, 0 -0.5rem 2rem #ff2483, 0 0.5rem 3rem #ff2483;
  }

  28%,
  33% {
    color: #ff65bd;
    text-shadow: none;
  }

  82%,
  97% {
    color: #ff2483;
    text-shadow: none;
  }
}

.flicker {
  animation: shine 2s forwards, blink 3s 2s infinite;
}

.fast-flicker {
  animation: shine 2s forwards, blink 10s 1s infinite;
}

@keyframes shine {
  0% {
    color: #6b1839;
    text-shadow: none;
  }

  100% {
    color: #ffe6ff;
    text-shadow: 0 0 0.6rem #ffe6ff, 0 0 1.5rem #ff65bd, -0.2rem 0.1rem 1rem #ff65bd, 0.2rem 0.1rem 1rem #ff65bd, 0 -0.5rem 2rem #ff2483, 0 0.5rem 3rem #ff2483;
  }
}

@keyframes flicker {
  from {
    opacity: 1;
  }

  4% {
    opacity: 0.9;
  }

  6% {
    opacity: 0.85;
  }

  8% {
    opacity: 0.95;
  }

  10% {
    opacity: 0.9;
  }

  11% {
    opacity: 0.922;
  }

  12% {
    opacity: 0.9;
  }

  14% {
    opacity: 0.95;
  }

  16% {
    opacity: 0.98;
  }

  17% {
    opacity: 0.9;
  }

  19% {
    opacity: 0.93;
  }

  20% {
    opacity: 0.99;
  }

  24% {
    opacity: 1;
  }

  26% {
    opacity: 0.94;
  }

  28% {
    opacity: 0.98;
  }

  37% {
    opacity: 0.93;
  }

  38% {
    opacity: 0.5;
  }

  39% {
    opacity: 0.96;
  }

  42% {
    opacity: 1;
  }

  44% {
    opacity: 0.97;
  }

  46% {
    opacity: 0.94;
  }

  56% {
    opacity: 0.9;
  }

  58% {
    opacity: 0.9;
  }

  60% {
    opacity: 0.99;
  }

  68% {
    opacity: 1;
  }

  70% {
    opacity: 0.9;
  }

  72% {
    opacity: 0.95;
  }

  93% {
    opacity: 0.93;
  }

  95% {
    opacity: 0.95;
  }

  97% {
    opacity: 0.93;
  }

  to {
    opacity: 1;
  }
}

.home-section__name .my-traits .hidden {
  opacity: 0;
}

.home-section__name .my-traits .console-container {
  font-family: var(--body-font-family);
  text-align: center;
  display: block;
  color: white;
  margin: auto;
}

.home-section__name .my-traits .console-underscore {
  display: inline-block;
  position: relative;
  top: -0.14em;
  left: 10px;
}

.home-section {
  font-size: 2rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  font-family: var(--orbitron-font-family);
}

.home-section__name {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.home-section #console-text {
  text-shadow: 0 0 1rem var(--primary-color);
}

.home-section__profile-statement {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--orbitron-font-family);
  overflow: hidden;
  padding: 5%;
  min-height: 100vh;
}

.home-section__profile-statement p {
  font-size: min(max(2vw, 0.8rem), 1.4rem);
  letter-spacing: 0.2rem;
  border: 2px dotted magenta;
  border-radius: 1rem;
  padding: 2rem;
}

.home-section__director {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  font-family: var(--body-font-family);
  gap: 2rem;
}

.home-section__director .director-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.home-section__director .director-container box-icon {
  animation: pumping 1s ease-in-out infinite;
}

.home-section__contacts {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: min(max(2vw, 0.8rem), 1.4rem);
  font-family: var(--body-font-family);
}

.home-section__contacts ul li {
  display: flex;
  align-items: center;
  margin: 1.5em;
  cursor: pointer;
  padding: 1em;
  background: rgb(43, 43, 43);
  position: relative;
  color: white;
  border-radius: 5px;
  gap: 1rem;
  justify-content: flex-start;
}

.home-section__contacts ul li::before,
.home-section__contacts ul li::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 5px;
  width: 105%;
  transition: all 0.4s;
}

.home-section__contacts ul li::before {
  left: 0%;
  height: 130%;
  background: linear-gradient(to right, #021B79, rgb(200, 0, 200));
}

.home-section__contacts ul li::after {
  left: -10%;
  height: 120%;
  background: rgba(255, 255, 255, 0.337254902);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.164);
}

.home-section__contacts ul li:hover::before {
  transform: translateX(-2.5%);
}

.home-section__contacts ul li:hover::after {
  transform: translateX(15%);
}

@keyframes pumping {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.5);
  }

  100% {
    transform: scale(1);
  }
}

/* From the ground up, its built to accommodate people who have motion problems */
:root {
  --scroller-animation-direction: normal;
  --scroller-animation-speed: 20s;
}

.skills-section {
  height: 100vh;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}

.skills-section h1 {
  font-size: 2rem;
  font-family: var(--title-font-family);
  color: white;
}

.skills-section .scrollers {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.skills-section .scrollers .scroller-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.skills-section .scroller-title {
  font-size: 1.5rem;
  font-family: var(--title-font-family);
  color: white;
}

.scroller {
  width: 100%;
  border: 2px dotted var(--primary-color);
}

.scroller .scroller__inner {
  padding-block: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.scroller[data-animated=true] {
  overflow: hidden;
  mask: linear-gradient(to right, transparent, white 2rem, white calc(100% - 2rem), transparent);
}

.scroller[data-animated=true] .scroller__inner {
  width: max-content;
  flex-wrap: nowrap;
  animation: scroll var(--scroller-animation-speed) var(--scroller-animation-direction) linear infinite;
}

.scroller[data-animated=true] .scroller__inner:hover {
  animation-play-state: paused;
}

.scroller[data-animated=true][data-direction=left] {
  --scroller-animation-direction: normal;
}

.scroller[data-animated=true][data-direction=right] {
  --scroller-animation-direction: reverse;
}

.tag-list {
  padding-inline: 0;
  margin: 0;
  list-style-type: none;
}

.tag-list li {
  padding: 1rem;
  background-color: #282a36;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem -0.25rem #282a36;
  font-family: var(--body-font-family);
  font-weight: 700;
  color: white;
  text-shadow: 0 0 0.2rem white;
}

@keyframes scroll {
  to {
    /* the 0.5rem accounts for the gap between the elements */
    transform: translateX(calc(-50% - 0.5rem));
  }
}

.achievements-section {
  display: flex;
  flex-direction: column;
  width: 100%;
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  font-family: var(--title-font-family);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
}

.achievements-section__header {
  font-size: 2rem;
  text-align: center;
}

.achievements-section__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  gap: 2rem;
}

#myList {
  text-align: left;
  padding: 0;
  margin: 0;
  z-index: -1;
  position: relative;
}

.rolldown-list li {
  padding: 1em;
  margin-bottom: 0.125em;
  display: block;
  list-style: none;
  font-family: var(--body-font-family);
  font-weight: 900;
  font-size: 1.2rem;
}

.rolldown-list li {
  visibility: hidden;
  animation: rolldown 0.7s 1;
  transform-origin: 50% 0;
  animation-fill-mode: forwards;
}

.rolldown-list li:nth-child(2n) {
  background-color: rgb(62.0656779661, 14.7118644068, 93.7881355932);
}

.rolldown-list li:nth-child(2n+1) {
  background-color: rgb(127.5, 0, 127.5);
}

@keyframes rolldown {
  0% {
    visibility: visible;
    transform: rotateX(180deg) perspective(500px);
  }

  70% {
    visibility: visible;
    transform: rotateX(-20deg);
  }

  100% {
    visibility: visible;
    transform: rotateX(0deg);
  }
}

:root {
  --project-card-height: 500px;
  --project-card-width: min(500px, 60vw);
}

.projects-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  position: relative;
}

.projects-section h1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 2rem;
  font-size: 2rem;
  font-family: var(--title-font-family);
}

.projects-section .project-cards {
  position: relative;
  list-style-type: none;
  padding: 0;
  width: 100%;
  height: calc(var(--project-card-height) + 10rem);
}

.projects-section .projects-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.projects-section .projects-list p {
  padding: 1rem;
  background-color: #282a36;
  border-radius: 0.4rem;
  cursor: pointer;
}

.projects-section .projects-list p:active {
  scale: 1.1;
}

.projects-section .project-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: rgb(0, 0, 0);
  height: var(--project-card-height);
  width: var(--project-card-width);
  border-radius: 1rem;
  border: 4px solid #44475a;
  box-shadow: 0 0 10px 2px #44475a;
  position: absolute;
  top: calc(50% + 2rem - var(--project-card-height) / 2);
  left: calc(50% - var(--project-card-width) / 2);
  gap: 0.4rem;
}

.projects-section .project-card .shadow-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
  z-index: 2;
  pointer-events: none;
}

.projects-section .project-card__header {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.4rem;
}

.projects-section .project-card__header-right {
  display: flex;
  flex-wrap: wrap;
  background-color: rgb(49, 51, 65);
  justify-content: center;
  align-items: center;
  padding-block: 0.3rem;
  padding-inline: 0.6rem;
  border-radius: 1rem;
  width: fit-content;
  height: fit-content;
}

.projects-section .project-card__header-right box-icon:hover {
  scale: 1.1;
}

.projects-section .project-card__header-left {
  z-index: 3;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  color: white;
  padding-inline: 1rem;
  background-color: rgb(49, 51, 65);
  width: fit-content;
  padding-block: 0.3rem;
  padding-inline: 0.6rem;
  border-radius: 1rem;
}

.projects-section .project-card__header-left h2 {
  text-shadow: 2px 2px 2px black;
  font-family: var(--title-font-family);
}

.projects-section .project-card__header-left .project-logo {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-position: center;
  background-size: cover;
  border: 1px solid black;
}

.projects-section .project-card__bottom {
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.2rem;
  height: 50%;
  padding: 1rem;
  background-color: #313341;
  border-radius: 1rem 1rem 0 0;
  transition-property: all;
  transition-duration: 2s;
  border: 1px solid #313341;
}

.projects-section .project-card__bottom:hover {
  height: 100%;
  border: 1px solid white;
}

.projects-section .project-card__bottom p {
  font-family: var(--orbitron-font-family);
  overflow-x: auto;
  scrollbar-width: none;
  flex: 2;
  border-radius: 0.2rem;
}

.projects-section .project-card__bottom .scroller {
  border: none;
  height: max-content;
}

.projects-section .project-card__bottom .scroller .scroller__inner {
  padding: 0.2rem;
}

.project-card {
  transform: translateY(0) rotate(4deg) translateX(25px) scale(1);
  transform-origin: 0 0;
  transition: transform 0.6s cubic-bezier(0.8, 0.2, 0.1, 0.8) 0.1s, background 0.4s linear;
  cursor: pointer;
  user-select: none;
}

.project-card :last-child {
  margin-bottom: 0;
}

.card--next {
  z-index: 5;
  transform: translateY(-25px) rotate(4deg) translateX(25px) scale(1);
}

.card--out {
  animation: card-out 0.6s cubic-bezier(0.8, 0.2, 0.1, 0.8);
  transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95);
  z-index: 1;
  background: #bbb;
}

@keyframes card-out {
  0% {
    z-index: 20;
    transform: translateY(0px) rotate(-4deg);
  }

  50% {
    transform: translateY(-120%) rotate(-5deg) translateX(-40px);
  }

  80% {
    z-index: 1;
  }

  100% {
    transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95);
  }
}

.card--current {
  cursor: auto;
  user-select: auto;
  position: relative;
  z-index: 10;
  opacity: 1;
  background: #EEE;
  transform: rotate(-1deg) translateX(0%) scale(1);
}

.hexafund-project-logo {
  background-image: url("../img/html_css_js_logo.jpg");
}

.hexafund-project-card {
  background-image: url("../img/hexafund.png");
}

.witsgo-project-logo {
  background-image: url("../img/witsgo-logo.png");
}

.witsgo-project-card {
  background-image: url("../img/witsgo.png");
}

.akai-project-logo {
  background-image: url("../img/akai-logo.png");
}

.akai-project-card {
  background-image: url("../img/akai-app-period-page.jpg");
}

:root {
  --borderWidth: 0.4rem;
  --gradient-border-animation-duration: 6s;
}

.education-work-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  overflow-y: auto;
  scrollbar-width: none;
  font-size: 1.2rem;
  font-family: var(--orbitron-font-family);
  letter-spacing: 0.2rem;
}

.education-work-section h1 {
  letter-spacing: 0.2rem;
  font-size: 2rem;
  font-family: var(--title-font-family);
  color: white;
  position: relative;
  top: -2.6rem;
  background-color: #171717;
  width: fit-content;
  box-shadow: 0 0 1rem 1rem #171717;
  padding-inline: 1rem;
  padding-block: 0.2rem;
}

.education-work-section h2 {
  letter-spacing: 0.2rem;
  font-size: 1.5rem;
  font-family: var(--title-font-family);
  color: white;
}

.education-work-section li {
  list-style-position: inside;
}

.education-work-section li {
  list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23808"><circle cx="7" cy="7" r="4"></circle><circle cx="17" cy="7" r="4"></circle><circle cx="7" cy="17" r="4"></circle><circle cx="17" cy="17" r="4"></circle></svg>');
}

.education-work-section li::marker {
  font-size: 2em;
  line-height: 0.1em;
}

.char {
  animation: an 1s ease-out 1 both;
  animation-play-state: paused;
  display: inline-block;
}

@keyframes an {
  from {
    opacity: 0;
    transform: perspective(500px) translate3d(-35px, -40px, -150px) rotate3d(1, -1, 0, 35deg);
  }

  to {
    opacity: 1;
    transform: perspective(500px) translate3d(0, 0, 0);
  }
}

.cool-box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  border: 0.5rem solid var(--primary-color);
  border-radius: 1rem;
}

.gradient-border {
  background: #1D1F20;
  position: relative;
  border-radius: var(--borderWidth);
  padding: 1rem;
  margin: 1rem;
}

.gradient-border:after {
  content: "";
  position: absolute;
  top: calc(-1 * var(--borderWidth));
  left: calc(-1 * var(--borderWidth));
  height: calc(100% + var(--borderWidth) * 2);
  width: calc(100% + var(--borderWidth) * 2);
  background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
  border-radius: calc(2 * var(--borderWidth));
  z-index: -1;
  -webkit-animation: animatedgradient var(--gradient-border-animation-duration) ease alternate infinite;
  animation: animatedgradient var(--gradient-border-animation-duration) ease alternate infinite;
  background-size: 300% 300%;
}

@-webkit-keyframes animatedgradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@keyframes animatedgradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

highlight {
  position: relative;
  display: inline-block;
  background: none;
  font-weight: 700;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  color: white;
  z-index: 2;
}

highlight>svg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke-width: 2rem;
  stroke-dasharray: 400;
  /* Match the path length */
  stroke-dashoffset: 400;
  /* Start fully offset */
  animation: highlight 1s linear forwards;
  animation-play-state: paused;
  /* Trigger animation */
  pointer-events: none;
  opacity: 0.5;
}

@keyframes highlight {
  to {
    stroke-dashoffset: 0;
    /* Animate to 0 to reveal the stroke */
  }
}

body {
  background-color: #141114;
  background-image: linear-gradient(335deg, black 23px, transparent 23px), linear-gradient(155deg, black 23px, transparent 23px), linear-gradient(335deg, black 23px, transparent 23px), linear-gradient(155deg, black 23px, transparent 23px);
  background-size: 58px 58px;
  background-position: 0px 2px, 4px 35px, 29px 31px, 34px 6px;
}

.left-body {
  height: 100vh;
  width: 14%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

.right-body {
  height: 100vh;
  width: 86%;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.side-line-icon {
  position: absolute;
  left: 10px;
  opacity: 0;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}

.side-line {
  position: relative;
  width: 5px;
  height: 60%;
  background-color: var(--primary-color);
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 1rem;
}

.side-line-dot {
  background-color: white;
  width: 10px;
  height: 10px;
  position: relative;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.side-line-dot:hover box-icon {
  opacity: 1;
}

.side-line-dot:active {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transform: scale(1.2);
}

.firefly {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 0.25rem;
  height: 0.25rem;
  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: var(--primary-color);
  opacity: 0.5;
  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: 15s;
}

.firefly:nth-child(1)::after {
  animation-duration: 15s, 10554ms;
  animation-delay: 0ms, 6952ms;
}

@keyframes move1 {
  0% {
    transform: translateX(27vw) translateY(0vh) scale(0.28);
  }

  4.5454545455% {
    transform: translateX(29vw) translateY(3vh) scale(0.59);
  }

  9.0909090909% {
    transform: translateX(43vw) translateY(29vh) scale(0.51);
  }

  13.6363636364% {
    transform: translateX(-14vw) translateY(-7vh) scale(0.71);
  }

  18.1818181818% {
    transform: translateX(20vw) translateY(33vh) scale(0.89);
  }

  22.7272727273% {
    transform: translateX(-6vw) translateY(47vh) scale(0.45);
  }

  27.2727272727% {
    transform: translateX(-38vw) translateY(18vh) scale(0.9);
  }

  31.8181818182% {
    transform: translateX(-17vw) translateY(29vh) scale(0.42);
  }

  36.3636363636% {
    transform: translateX(38vw) translateY(-44vh) scale(0.91);
  }

  40.9090909091% {
    transform: translateX(9vw) translateY(-8vh) scale(0.79);
  }

  45.4545454545% {
    transform: translateX(-33vw) translateY(32vh) scale(0.35);
  }

  50% {
    transform: translateX(7vw) translateY(-3vh) scale(0.43);
  }

  54.5454545455% {
    transform: translateX(-48vw) translateY(14vh) scale(0.98);
  }

  59.0909090909% {
    transform: translateX(44vw) translateY(-17vh) scale(0.52);
  }

  63.6363636364% {
    transform: translateX(23vw) translateY(3vh) scale(0.63);
  }

  68.1818181818% {
    transform: translateX(39vw) translateY(-29vh) scale(0.47);
  }

  72.7272727273% {
    transform: translateX(-31vw) translateY(-31vh) scale(0.32);
  }

  77.2727272727% {
    transform: translateX(-33vw) translateY(-24vh) scale(0.98);
  }

  81.8181818182% {
    transform: translateX(-47vw) translateY(-27vh) scale(0.94);
  }

  86.3636363636% {
    transform: translateX(-26vw) translateY(-18vh) scale(0.43);
  }

  90.9090909091% {
    transform: translateX(-22vw) translateY(35vh) scale(0.29);
  }

  95.4545454545% {
    transform: translateX(44vw) translateY(-46vh) scale(0.5);
  }

  100% {
    transform: translateX(6vw) translateY(26vh) scale(0.73);
  }
}

.firefly:nth-child(2) {
  animation-name: move2;
}

.firefly:nth-child(2)::before {
  animation-duration: 9s;
}

.firefly:nth-child(2)::after {
  animation-duration: 9s, 6064ms;
  animation-delay: 0ms, 6766ms;
}

@keyframes move2 {
  0% {
    transform: translateX(2vw) translateY(-7vh) scale(0.85);
  }

  5% {
    transform: translateX(15vw) translateY(40vh) scale(0.5);
  }

  10% {
    transform: translateX(32vw) translateY(20vh) scale(0.79);
  }

  15% {
    transform: translateX(3vw) translateY(-48vh) scale(0.95);
  }

  20% {
    transform: translateX(-30vw) translateY(-36vh) scale(0.43);
  }

  25% {
    transform: translateX(33vw) translateY(-24vh) scale(0.33);
  }

  30% {
    transform: translateX(-20vw) translateY(-23vh) scale(0.67);
  }

  35% {
    transform: translateX(-13vw) translateY(43vh) scale(0.58);
  }

  40% {
    transform: translateX(11vw) translateY(-17vh) scale(0.54);
  }

  45% {
    transform: translateX(48vw) translateY(39vh) scale(0.49);
  }

  50% {
    transform: translateX(36vw) translateY(32vh) scale(0.98);
  }

  55% {
    transform: translateX(18vw) translateY(43vh) scale(0.72);
  }

  60% {
    transform: translateX(10vw) translateY(-23vh) scale(0.76);
  }

  65% {
    transform: translateX(-48vw) translateY(-6vh) scale(0.54);
  }

  70% {
    transform: translateX(-41vw) translateY(24vh) scale(0.39);
  }

  75% {
    transform: translateX(-3vw) translateY(35vh) scale(0.39);
  }

  80% {
    transform: translateX(-5vw) translateY(-25vh) scale(0.97);
  }

  85% {
    transform: translateX(9vw) translateY(46vh) scale(0.3);
  }

  90% {
    transform: translateX(24vw) translateY(3vh) scale(0.74);
  }

  95% {
    transform: translateX(-5vw) translateY(39vh) scale(0.31);
  }

  100% {
    transform: translateX(-4vw) translateY(-24vh) scale(0.91);
  }
}

.firefly:nth-child(3) {
  animation-name: move3;
}

.firefly:nth-child(3)::before {
  animation-duration: 12s;
}

.firefly:nth-child(3)::after {
  animation-duration: 12s, 5273ms;
  animation-delay: 0ms, 7846ms;
}

@keyframes move3 {
  0% {
    transform: translateX(36vw) translateY(49vh) scale(0.74);
  }

  4.347826087% {
    transform: translateX(-41vw) translateY(-17vh) scale(0.84);
  }

  8.6956521739% {
    transform: translateX(-28vw) translateY(27vh) scale(0.93);
  }

  13.0434782609% {
    transform: translateX(-45vw) translateY(11vh) scale(0.35);
  }

  17.3913043478% {
    transform: translateX(-48vw) translateY(-17vh) scale(0.35);
  }

  21.7391304348% {
    transform: translateX(-31vw) translateY(-40vh) scale(0.3);
  }

  26.0869565217% {
    transform: translateX(38vw) translateY(23vh) scale(0.6);
  }

  30.4347826087% {
    transform: translateX(3vw) translateY(44vh) scale(0.58);
  }

  34.7826086957% {
    transform: translateX(14vw) translateY(-2vh) scale(0.9);
  }

  39.1304347826% {
    transform: translateX(25vw) translateY(-39vh) scale(0.48);
  }

  43.4782608696% {
    transform: translateX(-43vw) translateY(-4vh) scale(0.34);
  }

  47.8260869565% {
    transform: translateX(-15vw) translateY(-32vh) scale(0.95);
  }

  52.1739130435% {
    transform: translateX(4vw) translateY(7vh) scale(0.55);
  }

  56.5217391304% {
    transform: translateX(-33vw) translateY(16vh) scale(0.29);
  }

  60.8695652174% {
    transform: translateX(24vw) translateY(-20vh) scale(0.27);
  }

  65.2173913043% {
    transform: translateX(30vw) translateY(27vh) scale(0.6);
  }

  69.5652173913% {
    transform: translateX(-32vw) translateY(-31vh) scale(0.76);
  }

  73.9130434783% {
    transform: translateX(14vw) translateY(29vh) scale(0.69);
  }

  78.2608695652% {
    transform: translateX(-25vw) translateY(-26vh) scale(0.25);
  }

  82.6086956522% {
    transform: translateX(-14vw) translateY(3vh) scale(0.32);
  }

  86.9565217391% {
    transform: translateX(-22vw) translateY(-32vh) scale(0.3);
  }

  91.3043478261% {
    transform: translateX(-47vw) translateY(-10vh) scale(0.68);
  }

  95.652173913% {
    transform: translateX(24vw) translateY(49vh) scale(0.46);
  }

  100% {
    transform: translateX(-48vw) translateY(-35vh) scale(0.96);
  }
}

.firefly:nth-child(4) {
  animation-name: move4;
}

.firefly:nth-child(4)::before {
  animation-duration: 8s;
}

.firefly:nth-child(4)::after {
  animation-duration: 8s, 6908ms;
  animation-delay: 0ms, 5328ms;
}

@keyframes move4 {
  0% {
    transform: translateX(-11vw) translateY(-49vh) scale(0.39);
  }

  4.1666666667% {
    transform: translateX(5vw) translateY(20vh) scale(0.84);
  }

  8.3333333333% {
    transform: translateX(-32vw) translateY(-40vh) scale(0.74);
  }

  12.5% {
    transform: translateX(-50vw) translateY(-33vh) scale(0.61);
  }

  16.6666666667% {
    transform: translateX(44vw) translateY(49vh) scale(0.29);
  }

  20.8333333333% {
    transform: translateX(6vw) translateY(-5vh) scale(0.71);
  }

  25% {
    transform: translateX(-2vw) translateY(41vh) scale(0.36);
  }

  29.1666666667% {
    transform: translateX(-41vw) translateY(-43vh) scale(0.55);
  }

  33.3333333333% {
    transform: translateX(31vw) translateY(6vh) scale(0.98);
  }

  37.5% {
    transform: translateX(32vw) translateY(-6vh) scale(0.96);
  }

  41.6666666667% {
    transform: translateX(26vw) translateY(-44vh) scale(0.97);
  }

  45.8333333333% {
    transform: translateX(17vw) translateY(27vh) scale(0.71);
  }

  50% {
    transform: translateX(8vw) translateY(49vh) scale(0.92);
  }

  54.1666666667% {
    transform: translateX(20vw) translateY(-28vh) scale(0.53);
  }

  58.3333333333% {
    transform: translateX(46vw) translateY(-40vh) scale(0.48);
  }

  62.5% {
    transform: translateX(-41vw) translateY(21vh) scale(0.72);
  }

  66.6666666667% {
    transform: translateX(-36vw) translateY(26vh) scale(0.57);
  }

  70.8333333333% {
    transform: translateX(-31vw) translateY(-41vh) scale(0.92);
  }

  75% {
    transform: translateX(42vw) translateY(1vh) scale(0.51);
  }

  79.1666666667% {
    transform: translateX(-6vw) translateY(-15vh) scale(0.52);
  }

  83.3333333333% {
    transform: translateX(-33vw) translateY(-47vh) scale(0.58);
  }

  87.5% {
    transform: translateX(7vw) translateY(15vh) scale(0.9);
  }

  91.6666666667% {
    transform: translateX(30vw) translateY(-49vh) scale(0.61);
  }

  95.8333333333% {
    transform: translateX(-14vw) translateY(17vh) scale(0.67);
  }

  100% {
    transform: translateX(2vw) translateY(12vh) scale(0.82);
  }
}

.firefly:nth-child(5) {
  animation-name: move5;
}

.firefly:nth-child(5)::before {
  animation-duration: 15s;
}

.firefly:nth-child(5)::after {
  animation-duration: 15s, 7740ms;
  animation-delay: 0ms, 6689ms;
}

@keyframes move5 {
  0% {
    transform: translateX(-32vw) translateY(34vh) scale(0.97);
  }

  5.8823529412% {
    transform: translateX(2vw) translateY(-24vh) scale(0.79);
  }

  11.7647058824% {
    transform: translateX(-17vw) translateY(12vh) scale(0.89);
  }

  17.6470588235% {
    transform: translateX(26vw) translateY(13vh) scale(0.92);
  }

  23.5294117647% {
    transform: translateX(-49vw) translateY(-31vh) scale(0.9);
  }

  29.4117647059% {
    transform: translateX(27vw) translateY(42vh) scale(0.71);
  }

  35.2941176471% {
    transform: translateX(-7vw) translateY(23vh) scale(0.59);
  }

  41.1764705882% {
    transform: translateX(-31vw) translateY(-50vh) scale(0.74);
  }

  47.0588235294% {
    transform: translateX(31vw) translateY(4vh) scale(0.8);
  }

  52.9411764706% {
    transform: translateX(26vw) translateY(-6vh) scale(0.76);
  }

  58.8235294118% {
    transform: translateX(-14vw) translateY(-37vh) scale(0.31);
  }

  64.7058823529% {
    transform: translateX(46vw) translateY(-45vh) scale(0.66);
  }

  70.5882352941% {
    transform: translateX(48vw) translateY(24vh) scale(0.94);
  }

  76.4705882353% {
    transform: translateX(43vw) translateY(33vh) scale(0.89);
  }

  82.3529411765% {
    transform: translateX(11vw) translateY(35vh) scale(0.3);
  }

  88.2352941176% {
    transform: translateX(23vw) translateY(19vh) scale(0.65);
  }

  94.1176470588% {
    transform: translateX(20vw) translateY(21vh) scale(0.82);
  }

  100% {
    transform: translateX(-29vw) translateY(-38vh) scale(0.25);
  }
}

.firefly:nth-child(6) {
  animation-name: move6;
}

.firefly:nth-child(6)::before {
  animation-duration: 12s;
}

.firefly:nth-child(6)::after {
  animation-duration: 12s, 7225ms;
  animation-delay: 0ms, 2767ms;
}

@keyframes move6 {
  0% {
    transform: translateX(6vw) translateY(18vh) scale(0.53);
  }

  5.5555555556% {
    transform: translateX(-9vw) translateY(-17vh) scale(0.91);
  }

  11.1111111111% {
    transform: translateX(-22vw) translateY(-34vh) scale(0.3);
  }

  16.6666666667% {
    transform: translateX(-4vw) translateY(-50vh) scale(0.43);
  }

  22.2222222222% {
    transform: translateX(2vw) translateY(17vh) scale(0.73);
  }

  27.7777777778% {
    transform: translateX(30vw) translateY(7vh) scale(0.4);
  }

  33.3333333333% {
    transform: translateX(-41vw) translateY(4vh) scale(0.87);
  }

  38.8888888889% {
    transform: translateX(13vw) translateY(-40vh) scale(0.66);
  }

  44.4444444444% {
    transform: translateX(-1vw) translateY(-11vh) scale(0.54);
  }

  50% {
    transform: translateX(-28vw) translateY(14vh) scale(0.58);
  }

  55.5555555556% {
    transform: translateX(21vw) translateY(33vh) scale(0.96);
  }

  61.1111111111% {
    transform: translateX(-14vw) translateY(-42vh) scale(0.43);
  }

  66.6666666667% {
    transform: translateX(31vw) translateY(41vh) scale(0.77);
  }

  72.2222222222% {
    transform: translateX(19vw) translateY(-48vh) scale(0.85);
  }

  77.7777777778% {
    transform: translateX(-48vw) translateY(38vh) scale(0.6);
  }

  83.3333333333% {
    transform: translateX(9vw) translateY(20vh) scale(0.26);
  }

  88.8888888889% {
    transform: translateX(-2vw) translateY(24vh) scale(0.58);
  }

  94.4444444444% {
    transform: translateX(-33vw) translateY(43vh) scale(0.58);
  }

  100% {
    transform: translateX(-8vw) translateY(-14vh) scale(0.92);
  }
}

.firefly:nth-child(7) {
  animation-name: move7;
}

.firefly:nth-child(7)::before {
  animation-duration: 14s;
}

.firefly:nth-child(7)::after {
  animation-duration: 14s, 6475ms;
  animation-delay: 0ms, 4978ms;
}

@keyframes move7 {
  0% {
    transform: translateX(-4vw) translateY(16vh) scale(0.72);
  }

  4.5454545455% {
    transform: translateX(8vw) translateY(-36vh) scale(0.36);
  }

  9.0909090909% {
    transform: translateX(32vw) translateY(31vh) scale(0.82);
  }

  13.6363636364% {
    transform: translateX(-29vw) translateY(-47vh) scale(0.45);
  }

  18.1818181818% {
    transform: translateX(3vw) translateY(25vh) scale(0.27);
  }

  22.7272727273% {
    transform: translateX(27vw) translateY(-30vh) scale(0.8);
  }

  27.2727272727% {
    transform: translateX(40vw) translateY(-31vh) scale(0.47);
  }

  31.8181818182% {
    transform: translateX(-50vw) translateY(-8vh) scale(0.65);
  }

  36.3636363636% {
    transform: translateX(-42vw) translateY(-46vh) scale(0.99);
  }

  40.9090909091% {
    transform: translateX(-6vw) translateY(20vh) scale(0.44);
  }

  45.4545454545% {
    transform: translateX(40vw) translateY(11vh) scale(0.93);
  }

  50% {
    transform: translateX(48vw) translateY(-43vh) scale(0.27);
  }

  54.5454545455% {
    transform: translateX(-38vw) translateY(10vh) scale(0.65);
  }

  59.0909090909% {
    transform: translateX(-44vw) translateY(26vh) scale(0.75);
  }

  63.6363636364% {
    transform: translateX(12vw) translateY(24vh) scale(0.51);
  }

  68.1818181818% {
    transform: translateX(29vw) translateY(8vh) scale(0.36);
  }

  72.7272727273% {
    transform: translateX(-21vw) translateY(28vh) scale(0.98);
  }

  77.2727272727% {
    transform: translateX(-33vw) translateY(1vh) scale(0.26);
  }

  81.8181818182% {
    transform: translateX(32vw) translateY(-8vh) scale(0.26);
  }

  86.3636363636% {
    transform: translateX(-29vw) translateY(46vh) scale(0.82);
  }

  90.9090909091% {
    transform: translateX(-40vw) translateY(-13vh) scale(0.34);
  }

  95.4545454545% {
    transform: translateX(-11vw) translateY(29vh) scale(0.27);
  }

  100% {
    transform: translateX(36vw) translateY(-26vh) scale(0.4);
  }
}

.firefly:nth-child(8) {
  animation-name: move8;
}

.firefly:nth-child(8)::before {
  animation-duration: 15s;
}

.firefly:nth-child(8)::after {
  animation-duration: 15s, 8006ms;
  animation-delay: 0ms, 5337ms;
}

@keyframes move8 {
  0% {
    transform: translateX(21vw) translateY(6vh) scale(0.84);
  }

  5.8823529412% {
    transform: translateX(-14vw) translateY(32vh) scale(0.84);
  }

  11.7647058824% {
    transform: translateX(-20vw) translateY(17vh) scale(0.48);
  }

  17.6470588235% {
    transform: translateX(0vw) translateY(-27vh) scale(0.59);
  }

  23.5294117647% {
    transform: translateX(35vw) translateY(29vh) scale(0.61);
  }

  29.4117647059% {
    transform: translateX(31vw) translateY(22vh) scale(0.76);
  }

  35.2941176471% {
    transform: translateX(9vw) translateY(22vh) scale(0.38);
  }

  41.1764705882% {
    transform: translateX(49vw) translateY(-9vh) scale(0.64);
  }

  47.0588235294% {
    transform: translateX(37vw) translateY(-13vh) scale(0.35);
  }

  52.9411764706% {
    transform: translateX(-32vw) translateY(23vh) scale(0.39);
  }

  58.8235294118% {
    transform: translateX(16vw) translateY(-32vh) scale(0.25);
  }

  64.7058823529% {
    transform: translateX(-20vw) translateY(15vh) scale(0.56);
  }

  70.5882352941% {
    transform: translateX(-10vw) translateY(43vh) scale(0.77);
  }

  76.4705882353% {
    transform: translateX(32vw) translateY(28vh) scale(0.37);
  }

  82.3529411765% {
    transform: translateX(-42vw) translateY(-22vh) scale(0.76);
  }

  88.2352941176% {
    transform: translateX(-10vw) translateY(-9vh) scale(0.51);
  }

  94.1176470588% {
    transform: translateX(-10vw) translateY(-31vh) scale(0.51);
  }

  100% {
    transform: translateX(-4vw) translateY(-30vh) scale(0.34);
  }
}

.firefly:nth-child(9) {
  animation-name: move9;
}

.firefly:nth-child(9)::before {
  animation-duration: 12s;
}

.firefly:nth-child(9)::after {
  animation-duration: 12s, 5689ms;
  animation-delay: 0ms, 2598ms;
}

@keyframes move9 {
  0% {
    transform: translateX(28vw) translateY(33vh) scale(0.42);
  }

  6.25% {
    transform: translateX(-9vw) translateY(46vh) scale(0.74);
  }

  12.5% {
    transform: translateX(-5vw) translateY(-4vh) scale(0.73);
  }

  18.75% {
    transform: translateX(30vw) translateY(-35vh) scale(0.29);
  }

  25% {
    transform: translateX(-6vw) translateY(-27vh) scale(0.6);
  }

  31.25% {
    transform: translateX(31vw) translateY(-1vh) scale(0.46);
  }

  37.5% {
    transform: translateX(-12vw) translateY(-10vh) scale(0.34);
  }

  43.75% {
    transform: translateX(-32vw) translateY(10vh) scale(0.41);
  }

  50% {
    transform: translateX(-37vw) translateY(26vh) scale(0.71);
  }

  56.25% {
    transform: translateX(20vw) translateY(24vh) scale(0.59);
  }

  62.5% {
    transform: translateX(-26vw) translateY(31vh) scale(0.98);
  }

  68.75% {
    transform: translateX(26vw) translateY(1vh) scale(0.84);
  }

  75% {
    transform: translateX(45vw) translateY(27vh) scale(0.77);
  }

  81.25% {
    transform: translateX(-19vw) translateY(13vh) scale(0.9);
  }

  87.5% {
    transform: translateX(33vw) translateY(19vh) scale(0.83);
  }

  93.75% {
    transform: translateX(5vw) translateY(28vh) scale(0.81);
  }

  100% {
    transform: translateX(-6vw) translateY(-8vh) scale(0.31);
  }
}

.firefly:nth-child(10) {
  animation-name: move10;
}

.firefly:nth-child(10)::before {
  animation-duration: 16s;
}

.firefly:nth-child(10)::after {
  animation-duration: 16s, 8346ms;
  animation-delay: 0ms, 1129ms;
}

@keyframes move10 {
  0% {
    transform: translateX(11vw) translateY(-5vh) scale(0.97);
  }

  3.7037037037% {
    transform: translateX(-11vw) translateY(46vh) scale(0.92);
  }

  7.4074074074% {
    transform: translateX(11vw) translateY(10vh) scale(0.86);
  }

  11.1111111111% {
    transform: translateX(-29vw) translateY(2vh) scale(0.55);
  }

  14.8148148148% {
    transform: translateX(18vw) translateY(18vh) scale(0.95);
  }

  18.5185185185% {
    transform: translateX(36vw) translateY(-37vh) scale(0.77);
  }

  22.2222222222% {
    transform: translateX(-45vw) translateY(41vh) scale(0.79);
  }

  25.9259259259% {
    transform: translateX(-49vw) translateY(-16vh) scale(0.79);
  }

  29.6296296296% {
    transform: translateX(-1vw) translateY(-16vh) scale(0.72);
  }

  33.3333333333% {
    transform: translateX(-47vw) translateY(-28vh) scale(0.71);
  }

  37.037037037% {
    transform: translateX(25vw) translateY(-41vh) scale(0.31);
  }

  40.7407407407% {
    transform: translateX(-50vw) translateY(-9vh) scale(0.38);
  }

  44.4444444444% {
    transform: translateX(-19vw) translateY(-46vh) scale(0.61);
  }

  48.1481481481% {
    transform: translateX(5vw) translateY(-47vh) scale(0.66);
  }

  51.8518518519% {
    transform: translateX(34vw) translateY(31vh) scale(0.67);
  }

  55.5555555556% {
    transform: translateX(0vw) translateY(37vh) scale(0.81);
  }

  59.2592592593% {
    transform: translateX(34vw) translateY(16vh) scale(0.56);
  }

  62.962962963% {
    transform: translateX(6vw) translateY(-14vh) scale(0.42);
  }

  66.6666666667% {
    transform: translateX(25vw) translateY(34vh) scale(0.65);
  }

  70.3703703704% {
    transform: translateX(-23vw) translateY(-22vh) scale(0.48);
  }

  74.0740740741% {
    transform: translateX(26vw) translateY(-5vh) scale(0.87);
  }

  77.7777777778% {
    transform: translateX(11vw) translateY(13vh) scale(0.58);
  }

  81.4814814815% {
    transform: translateX(-17vw) translateY(7vh) scale(0.55);
  }

  85.1851851852% {
    transform: translateX(-1vw) translateY(30vh) scale(0.72);
  }

  88.8888888889% {
    transform: translateX(-50vw) translateY(25vh) scale(0.64);
  }

  92.5925925926% {
    transform: translateX(15vw) translateY(-21vh) scale(0.68);
  }

  96.2962962963% {
    transform: translateX(-4vw) translateY(-23vh) scale(0.28);
  }

  100% {
    transform: translateX(10vw) translateY(10vh) scale(0.3);
  }
}

.firefly:nth-child(11) {
  animation-name: move11;
}

.firefly:nth-child(11)::before {
  animation-duration: 14s;
}

.firefly:nth-child(11)::after {
  animation-duration: 14s, 10783ms;
  animation-delay: 0ms, 2766ms;
}

@keyframes move11 {
  0% {
    transform: translateX(42vw) translateY(5vh) scale(0.96);
  }

  5.5555555556% {
    transform: translateX(-31vw) translateY(22vh) scale(0.43);
  }

  11.1111111111% {
    transform: translateX(47vw) translateY(-27vh) scale(0.34);
  }

  16.6666666667% {
    transform: translateX(-26vw) translateY(-27vh) scale(0.77);
  }

  22.2222222222% {
    transform: translateX(5vw) translateY(-17vh) scale(0.9);
  }

  27.7777777778% {
    transform: translateX(-34vw) translateY(28vh) scale(0.77);
  }

  33.3333333333% {
    transform: translateX(46vw) translateY(29vh) scale(0.86);
  }

  38.8888888889% {
    transform: translateX(-37vw) translateY(-1vh) scale(0.54);
  }

  44.4444444444% {
    transform: translateX(41vw) translateY(14vh) scale(0.75);
  }

  50% {
    transform: translateX(19vw) translateY(48vh) scale(0.41);
  }

  55.5555555556% {
    transform: translateX(-14vw) translateY(-9vh) scale(0.87);
  }

  61.1111111111% {
    transform: translateX(36vw) translateY(45vh) scale(0.46);
  }

  66.6666666667% {
    transform: translateX(39vw) translateY(-1vh) scale(0.41);
  }

  72.2222222222% {
    transform: translateX(23vw) translateY(48vh) scale(0.56);
  }

  77.7777777778% {
    transform: translateX(20vw) translateY(-27vh) scale(0.32);
  }

  83.3333333333% {
    transform: translateX(32vw) translateY(-6vh) scale(0.32);
  }

  88.8888888889% {
    transform: translateX(11vw) translateY(33vh) scale(0.41);
  }

  94.4444444444% {
    transform: translateX(38vw) translateY(10vh) scale(0.77);
  }

  100% {
    transform: translateX(-4vw) translateY(38vh) scale(0.92);
  }
}

.firefly:nth-child(12) {
  animation-name: move12;
}

.firefly:nth-child(12)::before {
  animation-duration: 12s;
}

.firefly:nth-child(12)::after {
  animation-duration: 12s, 6717ms;
  animation-delay: 0ms, 2360ms;
}

@keyframes move12 {
  0% {
    transform: translateX(-14vw) translateY(-28vh) scale(0.78);
  }

  5.8823529412% {
    transform: translateX(36vw) translateY(-4vh) scale(0.29);
  }

  11.7647058824% {
    transform: translateX(21vw) translateY(13vh) scale(0.65);
  }

  17.6470588235% {
    transform: translateX(-32vw) translateY(16vh) scale(0.26);
  }

  23.5294117647% {
    transform: translateX(-41vw) translateY(-23vh) scale(0.27);
  }

  29.4117647059% {
    transform: translateX(8vw) translateY(47vh) scale(0.72);
  }

  35.2941176471% {
    transform: translateX(-3vw) translateY(5vh) scale(0.54);
  }

  41.1764705882% {
    transform: translateX(49vw) translateY(-9vh) scale(0.7);
  }

  47.0588235294% {
    transform: translateX(-33vw) translateY(-5vh) scale(0.45);
  }

  52.9411764706% {
    transform: translateX(8vw) translateY(-35vh) scale(0.46);
  }

  58.8235294118% {
    transform: translateX(45vw) translateY(-28vh) scale(0.45);
  }

  64.7058823529% {
    transform: translateX(33vw) translateY(27vh) scale(0.82);
  }

  70.5882352941% {
    transform: translateX(38vw) translateY(7vh) scale(0.92);
  }

  76.4705882353% {
    transform: translateX(25vw) translateY(-13vh) scale(0.9);
  }

  82.3529411765% {
    transform: translateX(41vw) translateY(-16vh) scale(0.36);
  }

  88.2352941176% {
    transform: translateX(25vw) translateY(45vh) scale(0.25);
  }

  94.1176470588% {
    transform: translateX(-46vw) translateY(42vh) scale(0.58);
  }

  100% {
    transform: translateX(-37vw) translateY(-21vh) scale(0.45);
  }
}

.firefly:nth-child(13) {
  animation-name: move13;
}

.firefly:nth-child(13)::before {
  animation-duration: 9s;
}

.firefly:nth-child(13)::after {
  animation-duration: 9s, 9472ms;
  animation-delay: 0ms, 6250ms;
}

@keyframes move13 {
  0% {
    transform: translateX(3vw) translateY(6vh) scale(0.67);
  }

  4.5454545455% {
    transform: translateX(26vw) translateY(23vh) scale(0.6);
  }

  9.0909090909% {
    transform: translateX(31vw) translateY(8vh) scale(0.71);
  }

  13.6363636364% {
    transform: translateX(37vw) translateY(-28vh) scale(0.47);
  }

  18.1818181818% {
    transform: translateX(33vw) translateY(-17vh) scale(0.33);
  }

  22.7272727273% {
    transform: translateX(-21vw) translateY(16vh) scale(0.53);
  }

  27.2727272727% {
    transform: translateX(43vw) translateY(11vh) scale(0.62);
  }

  31.8181818182% {
    transform: translateX(-22vw) translateY(-42vh) scale(0.62);
  }

  36.3636363636% {
    transform: translateX(-35vw) translateY(7vh) scale(0.87);
  }

  40.9090909091% {
    transform: translateX(-36vw) translateY(16vh) scale(0.61);
  }

  45.4545454545% {
    transform: translateX(-39vw) translateY(14vh) scale(0.53);
  }

  50% {
    transform: translateX(-8vw) translateY(-19vh) scale(0.83);
  }

  54.5454545455% {
    transform: translateX(-8vw) translateY(-44vh) scale(0.63);
  }

  59.0909090909% {
    transform: translateX(11vw) translateY(-34vh) scale(0.78);
  }

  63.6363636364% {
    transform: translateX(9vw) translateY(-8vh) scale(0.83);
  }

  68.1818181818% {
    transform: translateX(37vw) translateY(40vh) scale(0.86);
  }

  72.7272727273% {
    transform: translateX(-1vw) translateY(-12vh) scale(0.85);
  }

  77.2727272727% {
    transform: translateX(39vw) translateY(3vh) scale(0.3);
  }

  81.8181818182% {
    transform: translateX(-8vw) translateY(-42vh) scale(0.77);
  }

  86.3636363636% {
    transform: translateX(-10vw) translateY(7vh) scale(0.42);
  }

  90.9090909091% {
    transform: translateX(-41vw) translateY(-47vh) scale(0.83);
  }

  95.4545454545% {
    transform: translateX(10vw) translateY(-24vh) scale(0.25);
  }

  100% {
    transform: translateX(-47vw) translateY(-35vh) scale(0.65);
  }
}

.firefly:nth-child(14) {
  animation-name: move14;
}

.firefly:nth-child(14)::before {
  animation-duration: 16s;
}

.firefly:nth-child(14)::after {
  animation-duration: 16s, 6711ms;
  animation-delay: 0ms, 804ms;
}

@keyframes move14 {
  0% {
    transform: translateX(28vw) translateY(8vh) scale(0.56);
  }

  5.8823529412% {
    transform: translateX(34vw) translateY(46vh) scale(0.64);
  }

  11.7647058824% {
    transform: translateX(-6vw) translateY(23vh) scale(0.97);
  }

  17.6470588235% {
    transform: translateX(-1vw) translateY(-39vh) scale(0.87);
  }

  23.5294117647% {
    transform: translateX(35vw) translateY(49vh) scale(0.79);
  }

  29.4117647059% {
    transform: translateX(-8vw) translateY(8vh) scale(0.93);
  }

  35.2941176471% {
    transform: translateX(8vw) translateY(25vh) scale(0.42);
  }

  41.1764705882% {
    transform: translateX(22vw) translateY(-19vh) scale(0.58);
  }

  47.0588235294% {
    transform: translateX(-29vw) translateY(-45vh) scale(0.4);
  }

  52.9411764706% {
    transform: translateX(-49vw) translateY(-22vh) scale(0.25);
  }

  58.8235294118% {
    transform: translateX(10vw) translateY(-12vh) scale(0.45);
  }

  64.7058823529% {
    transform: translateX(-26vw) translateY(22vh) scale(0.45);
  }

  70.5882352941% {
    transform: translateX(0vw) translateY(35vh) scale(0.53);
  }

  76.4705882353% {
    transform: translateX(45vw) translateY(-15vh) scale(0.39);
  }

  82.3529411765% {
    transform: translateX(-36vw) translateY(-21vh) scale(0.51);
  }

  88.2352941176% {
    transform: translateX(29vw) translateY(4vh) scale(0.26);
  }

  94.1176470588% {
    transform: translateX(2vw) translateY(-3vh) scale(0.73);
  }

  100% {
    transform: translateX(-15vw) translateY(-43vh) scale(0.53);
  }
}

.firefly:nth-child(15) {
  animation-name: move15;
}

.firefly:nth-child(15)::before {
  animation-duration: 8s;
}

.firefly:nth-child(15)::after {
  animation-duration: 8s, 10600ms;
  animation-delay: 0ms, 3376ms;
}

@keyframes move15 {
  0% {
    transform: translateX(-40vw) translateY(33vh) scale(0.51);
  }

  5.8823529412% {
    transform: translateX(13vw) translateY(33vh) scale(0.3);
  }

  11.7647058824% {
    transform: translateX(-49vw) translateY(42vh) scale(0.95);
  }

  17.6470588235% {
    transform: translateX(38vw) translateY(-40vh) scale(0.4);
  }

  23.5294117647% {
    transform: translateX(5vw) translateY(26vh) scale(0.85);
  }

  29.4117647059% {
    transform: translateX(17vw) translateY(-49vh) scale(0.92);
  }

  35.2941176471% {
    transform: translateX(-17vw) translateY(22vh) scale(0.97);
  }

  41.1764705882% {
    transform: translateX(-9vw) translateY(-4vh) scale(0.76);
  }

  47.0588235294% {
    transform: translateX(-47vw) translateY(-30vh) scale(0.31);
  }

  52.9411764706% {
    transform: translateX(-1vw) translateY(-34vh) scale(0.88);
  }

  58.8235294118% {
    transform: translateX(27vw) translateY(27vh) scale(0.57);
  }

  64.7058823529% {
    transform: translateX(-49vw) translateY(10vh) scale(0.69);
  }

  70.5882352941% {
    transform: translateX(46vw) translateY(-3vh) scale(0.66);
  }

  76.4705882353% {
    transform: translateX(-18vw) translateY(34vh) scale(0.57);
  }

  82.3529411765% {
    transform: translateX(0vw) translateY(-9vh) scale(0.5);
  }

  88.2352941176% {
    transform: translateX(18vw) translateY(-5vh) scale(0.98);
  }

  94.1176470588% {
    transform: translateX(-14vw) translateY(-19vh) scale(0.5);
  }

  100% {
    transform: translateX(24vw) translateY(-46vh) scale(0.36);
  }
}

.firefly:nth-child(16) {
  animation-name: move16;
}

.firefly:nth-child(16)::before {
  animation-duration: 12s;
}

.firefly:nth-child(16)::after {
  animation-duration: 12s, 5645ms;
  animation-delay: 0ms, 5936ms;
}

@keyframes move16 {
  0% {
    transform: translateX(-23vw) translateY(31vh) scale(0.51);
  }

  6.25% {
    transform: translateX(-25vw) translateY(-20vh) scale(0.53);
  }

  12.5% {
    transform: translateX(-45vw) translateY(-35vh) scale(0.97);
  }

  18.75% {
    transform: translateX(-44vw) translateY(12vh) scale(0.77);
  }

  25% {
    transform: translateX(32vw) translateY(-18vh) scale(0.34);
  }

  31.25% {
    transform: translateX(-25vw) translateY(-44vh) scale(0.68);
  }

  37.5% {
    transform: translateX(41vw) translateY(-10vh) scale(0.61);
  }

  43.75% {
    transform: translateX(-18vw) translateY(-30vh) scale(0.93);
  }

  50% {
    transform: translateX(33vw) translateY(-10vh) scale(0.27);
  }

  56.25% {
    transform: translateX(-16vw) translateY(-40vh) scale(0.25);
  }

  62.5% {
    transform: translateX(5vw) translateY(1vh) scale(0.92);
  }

  68.75% {
    transform: translateX(-48vw) translateY(-22vh) scale(0.41);
  }

  75% {
    transform: translateX(29vw) translateY(17vh) scale(0.9);
  }

  81.25% {
    transform: translateX(41vw) translateY(-32vh) scale(0.38);
  }

  87.5% {
    transform: translateX(-34vw) translateY(-29vh) scale(0.28);
  }

  93.75% {
    transform: translateX(35vw) translateY(41vh) scale(0.88);
  }

  100% {
    transform: translateX(-20vw) translateY(-33vh) scale(0.56);
  }
}

.firefly:nth-child(17) {
  animation-name: move17;
}

.firefly:nth-child(17)::before {
  animation-duration: 15s;
}

.firefly:nth-child(17)::after {
  animation-duration: 15s, 8079ms;
  animation-delay: 0ms, 4656ms;
}

@keyframes move17 {
  0% {
    transform: translateX(36vw) translateY(-25vh) scale(0.31);
  }

  4.5454545455% {
    transform: translateX(-35vw) translateY(-12vh) scale(0.44);
  }

  9.0909090909% {
    transform: translateX(13vw) translateY(23vh) scale(0.36);
  }

  13.6363636364% {
    transform: translateX(36vw) translateY(-45vh) scale(0.42);
  }

  18.1818181818% {
    transform: translateX(-1vw) translateY(14vh) scale(0.29);
  }

  22.7272727273% {
    transform: translateX(-3vw) translateY(38vh) scale(0.32);
  }

  27.2727272727% {
    transform: translateX(-26vw) translateY(-39vh) scale(0.33);
  }

  31.8181818182% {
    transform: translateX(38vw) translateY(-6vh) scale(0.97);
  }

  36.3636363636% {
    transform: translateX(19vw) translateY(38vh) scale(0.47);
  }

  40.9090909091% {
    transform: translateX(19vw) translateY(34vh) scale(0.64);
  }

  45.4545454545% {
    transform: translateX(-6vw) translateY(-37vh) scale(0.29);
  }

  50% {
    transform: translateX(10vw) translateY(15vh) scale(0.9);
  }

  54.5454545455% {
    transform: translateX(1vw) translateY(-26vh) scale(0.62);
  }

  59.0909090909% {
    transform: translateX(-35vw) translateY(18vh) scale(0.79);
  }

  63.6363636364% {
    transform: translateX(-18vw) translateY(46vh) scale(0.76);
  }

  68.1818181818% {
    transform: translateX(-10vw) translateY(36vh) scale(0.58);
  }

  72.7272727273% {
    transform: translateX(-14vw) translateY(17vh) scale(0.49);
  }

  77.2727272727% {
    transform: translateX(-31vw) translateY(19vh) scale(0.65);
  }

  81.8181818182% {
    transform: translateX(13vw) translateY(-1vh) scale(0.91);
  }

  86.3636363636% {
    transform: translateX(49vw) translateY(-9vh) scale(0.96);
  }

  90.9090909091% {
    transform: translateX(-18vw) translateY(-8vh) scale(0.82);
  }

  95.4545454545% {
    transform: translateX(22vw) translateY(19vh) scale(0.51);
  }

  100% {
    transform: translateX(-43vw) translateY(-18vh) scale(0.73);
  }
}

.firefly:nth-child(18) {
  animation-name: move18;
}

.firefly:nth-child(18)::before {
  animation-duration: 17s;
}

.firefly:nth-child(18)::after {
  animation-duration: 17s, 5245ms;
  animation-delay: 0ms, 5358ms;
}

@keyframes move18 {
  0% {
    transform: translateX(-37vw) translateY(-43vh) scale(0.59);
  }

  3.8461538462% {
    transform: translateX(10vw) translateY(2vh) scale(0.63);
  }

  7.6923076923% {
    transform: translateX(-36vw) translateY(45vh) scale(0.34);
  }

  11.5384615385% {
    transform: translateX(7vw) translateY(4vh) scale(0.27);
  }

  15.3846153846% {
    transform: translateX(7vw) translateY(-46vh) scale(0.86);
  }

  19.2307692308% {
    transform: translateX(-4vw) translateY(-40vh) scale(0.92);
  }

  23.0769230769% {
    transform: translateX(-31vw) translateY(-4vh) scale(0.75);
  }

  26.9230769231% {
    transform: translateX(-24vw) translateY(26vh) scale(0.26);
  }

  30.7692307692% {
    transform: translateX(33vw) translateY(-2vh) scale(0.63);
  }

  34.6153846154% {
    transform: translateX(-38vw) translateY(-44vh) scale(0.4);
  }

  38.4615384615% {
    transform: translateX(-15vw) translateY(-4vh) scale(0.62);
  }

  42.3076923077% {
    transform: translateX(-34vw) translateY(38vh) scale(0.31);
  }

  46.1538461538% {
    transform: translateX(8vw) translateY(-7vh) scale(0.64);
  }

  50% {
    transform: translateX(35vw) translateY(-30vh) scale(0.84);
  }

  53.8461538462% {
    transform: translateX(-45vw) translateY(-18vh) scale(0.56);
  }

  57.6923076923% {
    transform: translateX(6vw) translateY(24vh) scale(0.62);
  }

  61.5384615385% {
    transform: translateX(-38vw) translateY(-3vh) scale(0.59);
  }

  65.3846153846% {
    transform: translateX(-45vw) translateY(-34vh) scale(0.71);
  }

  69.2307692308% {
    transform: translateX(1vw) translateY(16vh) scale(0.98);
  }

  73.0769230769% {
    transform: translateX(-4vw) translateY(-48vh) scale(0.6);
  }

  76.9230769231% {
    transform: translateX(-46vw) translateY(36vh) scale(0.82);
  }

  80.7692307692% {
    transform: translateX(39vw) translateY(-4vh) scale(0.38);
  }

  84.6153846154% {
    transform: translateX(-3vw) translateY(-2vh) scale(0.58);
  }

  88.4615384615% {
    transform: translateX(-49vw) translateY(41vh) scale(0.37);
  }

  92.3076923077% {
    transform: translateX(-27vw) translateY(15vh) scale(0.81);
  }

  96.1538461538% {
    transform: translateX(-2vw) translateY(-15vh) scale(0.99);
  }

  100% {
    transform: translateX(0vw) translateY(5vh) scale(0.79);
  }
}

.firefly:nth-child(19) {
  animation-name: move19;
}

.firefly:nth-child(19)::before {
  animation-duration: 16s;
}

.firefly:nth-child(19)::after {
  animation-duration: 16s, 10821ms;
  animation-delay: 0ms, 8146ms;
}

@keyframes move19 {
  0% {
    transform: translateX(11vw) translateY(41vh) scale(0.98);
  }

  5.2631578947% {
    transform: translateX(17vw) translateY(31vh) scale(0.29);
  }

  10.5263157895% {
    transform: translateX(38vw) translateY(-25vh) scale(0.96);
  }

  15.7894736842% {
    transform: translateX(15vw) translateY(5vh) scale(0.55);
  }

  21.0526315789% {
    transform: translateX(-6vw) translateY(16vh) scale(0.93);
  }

  26.3157894737% {
    transform: translateX(-35vw) translateY(40vh) scale(0.45);
  }

  31.5789473684% {
    transform: translateX(-3vw) translateY(-44vh) scale(0.69);
  }

  36.8421052632% {
    transform: translateX(27vw) translateY(-21vh) scale(0.26);
  }

  42.1052631579% {
    transform: translateX(-35vw) translateY(-26vh) scale(0.52);
  }

  47.3684210526% {
    transform: translateX(41vw) translateY(-35vh) scale(0.55);
  }

  52.6315789474% {
    transform: translateX(43vw) translateY(-25vh) scale(0.86);
  }

  57.8947368421% {
    transform: translateX(-19vw) translateY(-48vh) scale(0.57);
  }

  63.1578947368% {
    transform: translateX(-37vw) translateY(-6vh) scale(0.65);
  }

  68.4210526316% {
    transform: translateX(-44vw) translateY(42vh) scale(0.74);
  }

  73.6842105263% {
    transform: translateX(-49vw) translateY(-8vh) scale(0.72);
  }

  78.9473684211% {
    transform: translateX(-18vw) translateY(-36vh) scale(0.81);
  }

  84.2105263158% {
    transform: translateX(-14vw) translateY(-32vh) scale(0.56);
  }

  89.4736842105% {
    transform: translateX(-8vw) translateY(-20vh) scale(0.9);
  }

  94.7368421053% {
    transform: translateX(-19vw) translateY(-33vh) scale(0.71);
  }

  100% {
    transform: translateX(3vw) translateY(-14vh) scale(0.53);
  }
}

.firefly:nth-child(20) {
  animation-name: move20;
}

.firefly:nth-child(20)::before {
  animation-duration: 8s;
}

.firefly:nth-child(20)::after {
  animation-duration: 8s, 9030ms;
  animation-delay: 0ms, 3432ms;
}

@keyframes move20 {
  0% {
    transform: translateX(32vw) translateY(29vh) scale(0.5);
  }

  5.5555555556% {
    transform: translateX(25vw) translateY(-25vh) scale(0.97);
  }

  11.1111111111% {
    transform: translateX(-21vw) translateY(0vh) scale(0.82);
  }

  16.6666666667% {
    transform: translateX(-9vw) translateY(22vh) scale(0.64);
  }

  22.2222222222% {
    transform: translateX(3vw) translateY(-46vh) scale(0.77);
  }

  27.7777777778% {
    transform: translateX(19vw) translateY(-47vh) scale(0.94);
  }

  33.3333333333% {
    transform: translateX(3vw) translateY(46vh) scale(0.54);
  }

  38.8888888889% {
    transform: translateX(41vw) translateY(37vh) scale(0.86);
  }

  44.4444444444% {
    transform: translateX(37vw) translateY(2vh) scale(0.9);
  }

  50% {
    transform: translateX(-36vw) translateY(-14vh) scale(0.76);
  }

  55.5555555556% {
    transform: translateX(-33vw) translateY(48vh) scale(0.71);
  }

  61.1111111111% {
    transform: translateX(36vw) translateY(21vh) scale(0.85);
  }

  66.6666666667% {
    transform: translateX(-10vw) translateY(-41vh) scale(0.28);
  }

  72.2222222222% {
    transform: translateX(25vw) translateY(-37vh) scale(0.85);
  }

  77.7777777778% {
    transform: translateX(-15vw) translateY(-4vh) scale(0.47);
  }

  83.3333333333% {
    transform: translateX(19vw) translateY(-39vh) scale(0.71);
  }

  88.8888888889% {
    transform: translateX(-20vw) translateY(10vh) scale(0.98);
  }

  94.4444444444% {
    transform: translateX(-24vw) translateY(-3vh) scale(0.61);
  }

  100% {
    transform: translateX(-3vw) translateY(29vh) scale(0.32);
  }
}

.firefly:nth-child(21) {
  animation-name: move21;
}

.firefly:nth-child(21)::before {
  animation-duration: 13s;
}

.firefly:nth-child(21)::after {
  animation-duration: 13s, 6460ms;
  animation-delay: 0ms, 8442ms;
}

@keyframes move21 {
  0% {
    transform: translateX(-50vw) translateY(11vh) scale(0.26);
  }

  3.7037037037% {
    transform: translateX(-30vw) translateY(38vh) scale(0.53);
  }

  7.4074074074% {
    transform: translateX(-3vw) translateY(-30vh) scale(0.83);
  }

  11.1111111111% {
    transform: translateX(15vw) translateY(15vh) scale(0.54);
  }

  14.8148148148% {
    transform: translateX(-15vw) translateY(-10vh) scale(0.48);
  }

  18.5185185185% {
    transform: translateX(14vw) translateY(-45vh) scale(0.27);
  }

  22.2222222222% {
    transform: translateX(22vw) translateY(41vh) scale(0.86);
  }

  25.9259259259% {
    transform: translateX(-17vw) translateY(46vh) scale(0.65);
  }

  29.6296296296% {
    transform: translateX(27vw) translateY(14vh) scale(0.65);
  }

  33.3333333333% {
    transform: translateX(-17vw) translateY(29vh) scale(0.77);
  }

  37.037037037% {
    transform: translateX(-17vw) translateY(32vh) scale(0.67);
  }

  40.7407407407% {
    transform: translateX(15vw) translateY(-3vh) scale(0.68);
  }

  44.4444444444% {
    transform: translateX(12vw) translateY(7vh) scale(0.57);
  }

  48.1481481481% {
    transform: translateX(9vw) translateY(33vh) scale(0.71);
  }

  51.8518518519% {
    transform: translateX(36vw) translateY(8vh) scale(0.66);
  }

  55.5555555556% {
    transform: translateX(30vw) translateY(22vh) scale(0.52);
  }

  59.2592592593% {
    transform: translateX(27vw) translateY(8vh) scale(0.84);
  }

  62.962962963% {
    transform: translateX(35vw) translateY(-15vh) scale(0.73);
  }

  66.6666666667% {
    transform: translateX(-45vw) translateY(-16vh) scale(0.92);
  }

  70.3703703704% {
    transform: translateX(-19vw) translateY(-28vh) scale(0.84);
  }

  74.0740740741% {
    transform: translateX(39vw) translateY(12vh) scale(0.36);
  }

  77.7777777778% {
    transform: translateX(24vw) translateY(-10vh) scale(0.91);
  }

  81.4814814815% {
    transform: translateX(-23vw) translateY(49vh) scale(0.94);
  }

  85.1851851852% {
    transform: translateX(44vw) translateY(19vh) scale(0.54);
  }

  88.8888888889% {
    transform: translateX(-37vw) translateY(2vh) scale(0.27);
  }

  92.5925925926% {
    transform: translateX(9vw) translateY(47vh) scale(0.63);
  }

  96.2962962963% {
    transform: translateX(-9vw) translateY(-30vh) scale(0.38);
  }

  100% {
    transform: translateX(-48vw) translateY(44vh) scale(0.28);
  }
}

.firefly:nth-child(22) {
  animation-name: move22;
}

.firefly:nth-child(22)::before {
  animation-duration: 16s;
}

.firefly:nth-child(22)::after {
  animation-duration: 16s, 10093ms;
  animation-delay: 0ms, 7638ms;
}

@keyframes move22 {
  0% {
    transform: translateX(-13vw) translateY(-46vh) scale(0.32);
  }

  3.8461538462% {
    transform: translateX(-29vw) translateY(-19vh) scale(0.49);
  }

  7.6923076923% {
    transform: translateX(35vw) translateY(-31vh) scale(0.65);
  }

  11.5384615385% {
    transform: translateX(27vw) translateY(15vh) scale(0.94);
  }

  15.3846153846% {
    transform: translateX(-46vw) translateY(-16vh) scale(0.51);
  }

  19.2307692308% {
    transform: translateX(-23vw) translateY(6vh) scale(0.39);
  }

  23.0769230769% {
    transform: translateX(14vw) translateY(-22vh) scale(0.61);
  }

  26.9230769231% {
    transform: translateX(-13vw) translateY(27vh) scale(0.97);
  }

  30.7692307692% {
    transform: translateX(-46vw) translateY(17vh) scale(0.74);
  }

  34.6153846154% {
    transform: translateX(21vw) translateY(15vh) scale(0.68);
  }

  38.4615384615% {
    transform: translateX(15vw) translateY(-48vh) scale(0.38);
  }

  42.3076923077% {
    transform: translateX(-3vw) translateY(-25vh) scale(0.68);
  }

  46.1538461538% {
    transform: translateX(21vw) translateY(10vh) scale(0.25);
  }

  50% {
    transform: translateX(-32vw) translateY(-49vh) scale(0.26);
  }

  53.8461538462% {
    transform: translateX(-13vw) translateY(-14vh) scale(0.41);
  }

  57.6923076923% {
    transform: translateX(12vw) translateY(-36vh) scale(0.44);
  }

  61.5384615385% {
    transform: translateX(37vw) translateY(-28vh) scale(0.92);
  }

  65.3846153846% {
    transform: translateX(-5vw) translateY(-37vh) scale(0.58);
  }

  69.2307692308% {
    transform: translateX(28vw) translateY(13vh) scale(0.72);
  }

  73.0769230769% {
    transform: translateX(-34vw) translateY(-50vh) scale(0.96);
  }

  76.9230769231% {
    transform: translateX(-16vw) translateY(29vh) scale(0.45);
  }

  80.7692307692% {
    transform: translateX(-1vw) translateY(-24vh) scale(0.51);
  }

  84.6153846154% {
    transform: translateX(38vw) translateY(24vh) scale(0.38);
  }

  88.4615384615% {
    transform: translateX(-5vw) translateY(15vh) scale(0.52);
  }

  92.3076923077% {
    transform: translateX(31vw) translateY(23vh) scale(0.55);
  }

  96.1538461538% {
    transform: translateX(39vw) translateY(-22vh) scale(0.28);
  }

  100% {
    transform: translateX(43vw) translateY(-38vh) scale(0.43);
  }
}

.firefly:nth-child(23) {
  animation-name: move23;
}

.firefly:nth-child(23)::before {
  animation-duration: 9s;
}

.firefly:nth-child(23)::after {
  animation-duration: 9s, 10926ms;
  animation-delay: 0ms, 6894ms;
}

@keyframes move23 {
  0% {
    transform: translateX(14vw) translateY(-31vh) scale(0.65);
  }

  3.8461538462% {
    transform: translateX(5vw) translateY(-4vh) scale(0.65);
  }

  7.6923076923% {
    transform: translateX(-35vw) translateY(42vh) scale(0.88);
  }

  11.5384615385% {
    transform: translateX(46vw) translateY(18vh) scale(0.59);
  }

  15.3846153846% {
    transform: translateX(-21vw) translateY(-46vh) scale(0.81);
  }

  19.2307692308% {
    transform: translateX(2vw) translateY(35vh) scale(0.79);
  }

  23.0769230769% {
    transform: translateX(-31vw) translateY(-21vh) scale(0.93);
  }

  26.9230769231% {
    transform: translateX(10vw) translateY(-30vh) scale(0.73);
  }

  30.7692307692% {
    transform: translateX(32vw) translateY(-46vh) scale(0.54);
  }

  34.6153846154% {
    transform: translateX(-4vw) translateY(23vh) scale(0.28);
  }

  38.4615384615% {
    transform: translateX(29vw) translateY(-1vh) scale(0.94);
  }

  42.3076923077% {
    transform: translateX(-33vw) translateY(-44vh) scale(0.97);
  }

  46.1538461538% {
    transform: translateX(36vw) translateY(-34vh) scale(0.79);
  }

  50% {
    transform: translateX(-18vw) translateY(-19vh) scale(0.99);
  }

  53.8461538462% {
    transform: translateX(49vw) translateY(-50vh) scale(0.74);
  }

  57.6923076923% {
    transform: translateX(-43vw) translateY(-41vh) scale(0.91);
  }

  61.5384615385% {
    transform: translateX(12vw) translateY(17vh) scale(0.84);
  }

  65.3846153846% {
    transform: translateX(-45vw) translateY(-50vh) scale(0.48);
  }

  69.2307692308% {
    transform: translateX(-46vw) translateY(14vh) scale(0.93);
  }

  73.0769230769% {
    transform: translateX(-40vw) translateY(35vh) scale(0.25);
  }

  76.9230769231% {
    transform: translateX(-47vw) translateY(-5vh) scale(0.63);
  }

  80.7692307692% {
    transform: translateX(27vw) translateY(31vh) scale(0.84);
  }

  84.6153846154% {
    transform: translateX(16vw) translateY(19vh) scale(0.78);
  }

  88.4615384615% {
    transform: translateX(-9vw) translateY(22vh) scale(0.66);
  }

  92.3076923077% {
    transform: translateX(23vw) translateY(36vh) scale(0.94);
  }

  96.1538461538% {
    transform: translateX(25vw) translateY(33vh) scale(0.77);
  }

  100% {
    transform: translateX(39vw) translateY(45vh) scale(0.63);
  }
}

.firefly:nth-child(24) {
  animation-name: move24;
}

.firefly:nth-child(24)::before {
  animation-duration: 11s;
}

.firefly:nth-child(24)::after {
  animation-duration: 11s, 7901ms;
  animation-delay: 0ms, 1615ms;
}

@keyframes move24 {
  0% {
    transform: translateX(-46vw) translateY(-31vh) scale(0.79);
  }

  3.7037037037% {
    transform: translateX(41vw) translateY(-19vh) scale(0.5);
  }

  7.4074074074% {
    transform: translateX(14vw) translateY(-22vh) scale(0.41);
  }

  11.1111111111% {
    transform: translateX(-35vw) translateY(28vh) scale(0.85);
  }

  14.8148148148% {
    transform: translateX(-39vw) translateY(-44vh) scale(0.84);
  }

  18.5185185185% {
    transform: translateX(-24vw) translateY(24vh) scale(0.99);
  }

  22.2222222222% {
    transform: translateX(-31vw) translateY(-24vh) scale(0.65);
  }

  25.9259259259% {
    transform: translateX(-9vw) translateY(-2vh) scale(0.26);
  }

  29.6296296296% {
    transform: translateX(-19vw) translateY(35vh) scale(0.78);
  }

  33.3333333333% {
    transform: translateX(39vw) translateY(-13vh) scale(0.67);
  }

  37.037037037% {
    transform: translateX(-29vw) translateY(-19vh) scale(0.98);
  }

  40.7407407407% {
    transform: translateX(-1vw) translateY(48vh) scale(0.65);
  }

  44.4444444444% {
    transform: translateX(19vw) translateY(-28vh) scale(0.25);
  }

  48.1481481481% {
    transform: translateX(-17vw) translateY(-5vh) scale(0.25);
  }

  51.8518518519% {
    transform: translateX(-19vw) translateY(-38vh) scale(0.26);
  }

  55.5555555556% {
    transform: translateX(-21vw) translateY(21vh) scale(0.65);
  }

  59.2592592593% {
    transform: translateX(41vw) translateY(-33vh) scale(0.81);
  }

  62.962962963% {
    transform: translateX(-28vw) translateY(-21vh) scale(0.59);
  }

  66.6666666667% {
    transform: translateX(20vw) translateY(-47vh) scale(0.54);
  }

  70.3703703704% {
    transform: translateX(19vw) translateY(18vh) scale(0.58);
  }

  74.0740740741% {
    transform: translateX(7vw) translateY(45vh) scale(0.8);
  }

  77.7777777778% {
    transform: translateX(-2vw) translateY(42vh) scale(0.35);
  }

  81.4814814815% {
    transform: translateX(14vw) translateY(37vh) scale(0.74);
  }

  85.1851851852% {
    transform: translateX(13vw) translateY(-20vh) scale(0.9);
  }

  88.8888888889% {
    transform: translateX(-12vw) translateY(43vh) scale(0.41);
  }

  92.5925925926% {
    transform: translateX(30vw) translateY(49vh) scale(0.69);
  }

  96.2962962963% {
    transform: translateX(22vw) translateY(-41vh) scale(0.26);
  }

  100% {
    transform: translateX(17vw) translateY(-14vh) scale(0.43);
  }
}

.firefly:nth-child(25) {
  animation-name: move25;
}

.firefly:nth-child(25)::before {
  animation-duration: 14s;
}

.firefly:nth-child(25)::after {
  animation-duration: 14s, 9394ms;
  animation-delay: 0ms, 2386ms;
}

@keyframes move25 {
  0% {
    transform: translateX(44vw) translateY(-19vh) scale(0.8);
  }

  4.7619047619% {
    transform: translateX(42vw) translateY(22vh) scale(0.56);
  }

  9.5238095238% {
    transform: translateX(6vw) translateY(45vh) scale(0.31);
  }

  14.2857142857% {
    transform: translateX(13vw) translateY(-8vh) scale(0.36);
  }

  19.0476190476% {
    transform: translateX(33vw) translateY(-13vh) scale(0.33);
  }

  23.8095238095% {
    transform: translateX(-30vw) translateY(-44vh) scale(0.99);
  }

  28.5714285714% {
    transform: translateX(-46vw) translateY(25vh) scale(0.98);
  }

  33.3333333333% {
    transform: translateX(32vw) translateY(44vh) scale(0.94);
  }

  38.0952380952% {
    transform: translateX(28vw) translateY(-49vh) scale(0.95);
  }

  42.8571428571% {
    transform: translateX(5vw) translateY(-4vh) scale(0.36);
  }

  47.619047619% {
    transform: translateX(-46vw) translateY(21vh) scale(0.91);
  }

  52.380952381% {
    transform: translateX(-44vw) translateY(-20vh) scale(0.55);
  }

  57.1428571429% {
    transform: translateX(-8vw) translateY(11vh) scale(0.76);
  }

  61.9047619048% {
    transform: translateX(-11vw) translateY(-32vh) scale(0.86);
  }

  66.6666666667% {
    transform: translateX(42vw) translateY(12vh) scale(0.39);
  }

  71.4285714286% {
    transform: translateX(30vw) translateY(-47vh) scale(0.67);
  }

  76.1904761905% {
    transform: translateX(38vw) translateY(-8vh) scale(0.41);
  }

  80.9523809524% {
    transform: translateX(36vw) translateY(-49vh) scale(0.38);
  }

  85.7142857143% {
    transform: translateX(44vw) translateY(-2vh) scale(0.51);
  }

  90.4761904762% {
    transform: translateX(13vw) translateY(-33vh) scale(0.67);
  }

  95.2380952381% {
    transform: translateX(31vw) translateY(-46vh) scale(0.29);
  }

  100% {
    transform: translateX(22vw) translateY(39vh) scale(0.63);
  }
}

.firefly:nth-child(26) {
  animation-name: move26;
}

.firefly:nth-child(26)::before {
  animation-duration: 14s;
}

.firefly:nth-child(26)::after {
  animation-duration: 14s, 9073ms;
  animation-delay: 0ms, 1138ms;
}

@keyframes move26 {
  0% {
    transform: translateX(-14vw) translateY(34vh) scale(0.27);
  }

  3.7037037037% {
    transform: translateX(-8vw) translateY(-21vh) scale(0.73);
  }

  7.4074074074% {
    transform: translateX(-36vw) translateY(41vh) scale(0.91);
  }

  11.1111111111% {
    transform: translateX(38vw) translateY(15vh) scale(0.89);
  }

  14.8148148148% {
    transform: translateX(24vw) translateY(-38vh) scale(0.49);
  }

  18.5185185185% {
    transform: translateX(-23vw) translateY(27vh) scale(0.82);
  }

  22.2222222222% {
    transform: translateX(-45vw) translateY(-23vh) scale(0.49);
  }

  25.9259259259% {
    transform: translateX(33vw) translateY(5vh) scale(0.56);
  }

  29.6296296296% {
    transform: translateX(-34vw) translateY(0vh) scale(0.57);
  }

  33.3333333333% {
    transform: translateX(48vw) translateY(31vh) scale(0.28);
  }

  37.037037037% {
    transform: translateX(20vw) translateY(35vh) scale(0.64);
  }

  40.7407407407% {
    transform: translateX(-44vw) translateY(-45vh) scale(0.43);
  }

  44.4444444444% {
    transform: translateX(40vw) translateY(-17vh) scale(0.6);
  }

  48.1481481481% {
    transform: translateX(4vw) translateY(1vh) scale(0.32);
  }

  51.8518518519% {
    transform: translateX(0vw) translateY(-42vh) scale(0.25);
  }

  55.5555555556% {
    transform: translateX(-17vw) translateY(-49vh) scale(0.71);
  }

  59.2592592593% {
    transform: translateX(9vw) translateY(7vh) scale(0.76);
  }

  62.962962963% {
    transform: translateX(-19vw) translateY(-35vh) scale(0.3);
  }

  66.6666666667% {
    transform: translateX(-38vw) translateY(-26vh) scale(0.33);
  }

  70.3703703704% {
    transform: translateX(-10vw) translateY(-16vh) scale(0.71);
  }

  74.0740740741% {
    transform: translateX(-27vw) translateY(49vh) scale(0.6);
  }

  77.7777777778% {
    transform: translateX(31vw) translateY(47vh) scale(0.33);
  }

  81.4814814815% {
    transform: translateX(11vw) translateY(-8vh) scale(0.28);
  }

  85.1851851852% {
    transform: translateX(-10vw) translateY(-18vh) scale(0.87);
  }

  88.8888888889% {
    transform: translateX(-3vw) translateY(-37vh) scale(0.31);
  }

  92.5925925926% {
    transform: translateX(-41vw) translateY(13vh) scale(0.77);
  }

  96.2962962963% {
    transform: translateX(-41vw) translateY(-26vh) scale(0.87);
  }

  100% {
    transform: translateX(0vw) translateY(39vh) scale(0.67);
  }
}

.firefly:nth-child(27) {
  animation-name: move27;
}

.firefly:nth-child(27)::before {
  animation-duration: 10s;
}

.firefly:nth-child(27)::after {
  animation-duration: 10s, 7409ms;
  animation-delay: 0ms, 1118ms;
}

@keyframes move27 {
  0% {
    transform: translateX(-47vw) translateY(30vh) scale(0.5);
  }

  4.1666666667% {
    transform: translateX(28vw) translateY(7vh) scale(0.59);
  }

  8.3333333333% {
    transform: translateX(-16vw) translateY(12vh) scale(0.94);
  }

  12.5% {
    transform: translateX(35vw) translateY(17vh) scale(0.88);
  }

  16.6666666667% {
    transform: translateX(1vw) translateY(-35vh) scale(0.97);
  }

  20.8333333333% {
    transform: translateX(44vw) translateY(23vh) scale(0.56);
  }

  25% {
    transform: translateX(24vw) translateY(-21vh) scale(0.38);
  }

  29.1666666667% {
    transform: translateX(-34vw) translateY(42vh) scale(0.53);
  }

  33.3333333333% {
    transform: translateX(-36vw) translateY(43vh) scale(0.63);
  }

  37.5% {
    transform: translateX(41vw) translateY(-16vh) scale(0.91);
  }

  41.6666666667% {
    transform: translateX(42vw) translateY(14vh) scale(0.8);
  }

  45.8333333333% {
    transform: translateX(-21vw) translateY(9vh) scale(0.97);
  }

  50% {
    transform: translateX(36vw) translateY(2vh) scale(0.29);
  }

  54.1666666667% {
    transform: translateX(0vw) translateY(36vh) scale(0.38);
  }

  58.3333333333% {
    transform: translateX(-4vw) translateY(34vh) scale(0.9);
  }

  62.5% {
    transform: translateX(37vw) translateY(25vh) scale(0.47);
  }

  66.6666666667% {
    transform: translateX(-26vw) translateY(-40vh) scale(0.61);
  }

  70.8333333333% {
    transform: translateX(-31vw) translateY(-50vh) scale(0.8);
  }

  75% {
    transform: translateX(-33vw) translateY(28vh) scale(0.57);
  }

  79.1666666667% {
    transform: translateX(31vw) translateY(17vh) scale(0.37);
  }

  83.3333333333% {
    transform: translateX(13vw) translateY(47vh) scale(0.97);
  }

  87.5% {
    transform: translateX(1vw) translateY(46vh) scale(0.6);
  }

  91.6666666667% {
    transform: translateX(-36vw) translateY(12vh) scale(0.77);
  }

  95.8333333333% {
    transform: translateX(-30vw) translateY(36vh) scale(0.92);
  }

  100% {
    transform: translateX(47vw) translateY(-2vh) scale(0.68);
  }
}

.firefly:nth-child(28) {
  animation-name: move28;
}

.firefly:nth-child(28)::before {
  animation-duration: 16s;
}

.firefly:nth-child(28)::after {
  animation-duration: 16s, 5464ms;
  animation-delay: 0ms, 1970ms;
}

@keyframes move28 {
  0% {
    transform: translateX(-40vw) translateY(-18vh) scale(0.98);
  }

  4% {
    transform: translateX(-10vw) translateY(-46vh) scale(0.65);
  }

  8% {
    transform: translateX(38vw) translateY(25vh) scale(0.38);
  }

  12% {
    transform: translateX(7vw) translateY(-49vh) scale(0.75);
  }

  16% {
    transform: translateX(-12vw) translateY(-40vh) scale(0.37);
  }

  20% {
    transform: translateX(35vw) translateY(-43vh) scale(0.51);
  }

  24% {
    transform: translateX(35vw) translateY(36vh) scale(0.91);
  }

  28% {
    transform: translateX(44vw) translateY(20vh) scale(0.5);
  }

  32% {
    transform: translateX(19vw) translateY(24vh) scale(0.66);
  }

  36% {
    transform: translateX(-23vw) translateY(39vh) scale(0.26);
  }

  40% {
    transform: translateX(47vw) translateY(-1vh) scale(0.94);
  }

  44% {
    transform: translateX(9vw) translateY(37vh) scale(0.92);
  }

  48% {
    transform: translateX(-29vw) translateY(34vh) scale(0.6);
  }

  52% {
    transform: translateX(31vw) translateY(14vh) scale(0.92);
  }

  56% {
    transform: translateX(20vw) translateY(23vh) scale(0.74);
  }

  60% {
    transform: translateX(-49vw) translateY(41vh) scale(0.57);
  }

  64% {
    transform: translateX(-24vw) translateY(23vh) scale(0.84);
  }

  68% {
    transform: translateX(40vw) translateY(-35vh) scale(0.49);
  }

  72% {
    transform: translateX(-41vw) translateY(14vh) scale(0.25);
  }

  76% {
    transform: translateX(-8vw) translateY(17vh) scale(0.48);
  }

  80% {
    transform: translateX(33vw) translateY(-30vh) scale(0.92);
  }

  84% {
    transform: translateX(47vw) translateY(-13vh) scale(0.61);
  }

  88% {
    transform: translateX(-15vw) translateY(-1vh) scale(0.47);
  }

  92% {
    transform: translateX(-42vw) translateY(-26vh) scale(0.88);
  }

  96% {
    transform: translateX(-47vw) translateY(-29vh) scale(0.51);
  }

  100% {
    transform: translateX(21vw) translateY(40vh) scale(0.59);
  }
}

.firefly:nth-child(29) {
  animation-name: move29;
}

.firefly:nth-child(29)::before {
  animation-duration: 9s;
}

.firefly:nth-child(29)::after {
  animation-duration: 9s, 10137ms;
  animation-delay: 0ms, 3308ms;
}

@keyframes move29 {
  0% {
    transform: translateX(47vw) translateY(14vh) scale(0.4);
  }

  6.25% {
    transform: translateX(16vw) translateY(11vh) scale(0.4);
  }

  12.5% {
    transform: translateX(-19vw) translateY(-50vh) scale(0.79);
  }

  18.75% {
    transform: translateX(-10vw) translateY(2vh) scale(0.71);
  }

  25% {
    transform: translateX(-34vw) translateY(22vh) scale(0.39);
  }

  31.25% {
    transform: translateX(23vw) translateY(-50vh) scale(0.73);
  }

  37.5% {
    transform: translateX(40vw) translateY(-47vh) scale(0.61);
  }

  43.75% {
    transform: translateX(46vw) translateY(23vh) scale(0.9);
  }

  50% {
    transform: translateX(32vw) translateY(32vh) scale(0.38);
  }

  56.25% {
    transform: translateX(-24vw) translateY(-7vh) scale(0.53);
  }

  62.5% {
    transform: translateX(-12vw) translateY(26vh) scale(0.96);
  }

  68.75% {
    transform: translateX(9vw) translateY(19vh) scale(0.75);
  }

  75% {
    transform: translateX(-11vw) translateY(-27vh) scale(0.67);
  }

  81.25% {
    transform: translateX(10vw) translateY(-47vh) scale(0.66);
  }

  87.5% {
    transform: translateX(14vw) translateY(5vh) scale(0.89);
  }

  93.75% {
    transform: translateX(-24vw) translateY(-31vh) scale(0.78);
  }

  100% {
    transform: translateX(49vw) translateY(6vh) scale(0.91);
  }
}

.firefly:nth-child(30) {
  animation-name: move30;
}

.firefly:nth-child(30)::before {
  animation-duration: 16s;
}

.firefly:nth-child(30)::after {
  animation-duration: 16s, 8051ms;
  animation-delay: 0ms, 1057ms;
}

@keyframes move30 {
  0% {
    transform: translateX(-45vw) translateY(45vh) scale(0.7);
  }

  5.5555555556% {
    transform: translateX(22vw) translateY(-13vh) scale(0.3);
  }

  11.1111111111% {
    transform: translateX(-40vw) translateY(9vh) scale(0.29);
  }

  16.6666666667% {
    transform: translateX(26vw) translateY(5vh) scale(0.85);
  }

  22.2222222222% {
    transform: translateX(2vw) translateY(-49vh) scale(0.98);
  }

  27.7777777778% {
    transform: translateX(20vw) translateY(2vh) scale(0.47);
  }

  33.3333333333% {
    transform: translateX(27vw) translateY(-15vh) scale(0.52);
  }

  38.8888888889% {
    transform: translateX(5vw) translateY(-6vh) scale(0.66);
  }

  44.4444444444% {
    transform: translateX(14vw) translateY(-24vh) scale(0.36);
  }

  50% {
    transform: translateX(-28vw) translateY(42vh) scale(0.93);
  }

  55.5555555556% {
    transform: translateX(13vw) translateY(-38vh) scale(0.98);
  }

  61.1111111111% {
    transform: translateX(-36vw) translateY(-34vh) scale(0.76);
  }

  66.6666666667% {
    transform: translateX(-33vw) translateY(12vh) scale(0.69);
  }

  72.2222222222% {
    transform: translateX(-18vw) translateY(-32vh) scale(0.85);
  }

  77.7777777778% {
    transform: translateX(11vw) translateY(-49vh) scale(0.38);
  }

  83.3333333333% {
    transform: translateX(-3vw) translateY(38vh) scale(0.73);
  }

  88.8888888889% {
    transform: translateX(-35vw) translateY(48vh) scale(0.61);
  }

  94.4444444444% {
    transform: translateX(-33vw) translateY(18vh) scale(0.63);
  }

  100% {
    transform: translateX(-9vw) translateY(21vh) scale(0.59);
  }
}

.firefly:nth-child(31) {
  animation-name: move31;
}

.firefly:nth-child(31)::before {
  animation-duration: 10s;
}

.firefly:nth-child(31)::after {
  animation-duration: 10s, 6644ms;
  animation-delay: 0ms, 2398ms;
}

@keyframes move31 {
  0% {
    transform: translateX(-45vw) translateY(-14vh) scale(0.76);
  }

  5.2631578947% {
    transform: translateX(-45vw) translateY(-47vh) scale(0.88);
  }

  10.5263157895% {
    transform: translateX(13vw) translateY(23vh) scale(0.63);
  }

  15.7894736842% {
    transform: translateX(-38vw) translateY(35vh) scale(0.85);
  }

  21.0526315789% {
    transform: translateX(-5vw) translateY(8vh) scale(0.92);
  }

  26.3157894737% {
    transform: translateX(22vw) translateY(37vh) scale(0.98);
  }

  31.5789473684% {
    transform: translateX(34vw) translateY(0vh) scale(0.25);
  }

  36.8421052632% {
    transform: translateX(-5vw) translateY(-7vh) scale(0.66);
  }

  42.1052631579% {
    transform: translateX(-14vw) translateY(1vh) scale(0.69);
  }

  47.3684210526% {
    transform: translateX(-28vw) translateY(-44vh) scale(0.26);
  }

  52.6315789474% {
    transform: translateX(-45vw) translateY(-36vh) scale(0.62);
  }

  57.8947368421% {
    transform: translateX(-10vw) translateY(-4vh) scale(0.62);
  }

  63.1578947368% {
    transform: translateX(20vw) translateY(12vh) scale(0.67);
  }

  68.4210526316% {
    transform: translateX(11vw) translateY(-7vh) scale(0.25);
  }

  73.6842105263% {
    transform: translateX(-11vw) translateY(39vh) scale(0.58);
  }

  78.9473684211% {
    transform: translateX(10vw) translateY(1vh) scale(0.37);
  }

  84.2105263158% {
    transform: translateX(4vw) translateY(40vh) scale(0.54);
  }

  89.4736842105% {
    transform: translateX(36vw) translateY(45vh) scale(0.44);
  }

  94.7368421053% {
    transform: translateX(49vw) translateY(-8vh) scale(0.41);
  }

  100% {
    transform: translateX(-10vw) translateY(32vh) scale(0.55);
  }
}

.firefly:nth-child(32) {
  animation-name: move32;
}

.firefly:nth-child(32)::before {
  animation-duration: 17s;
}

.firefly:nth-child(32)::after {
  animation-duration: 17s, 5979ms;
  animation-delay: 0ms, 8271ms;
}

@keyframes move32 {
  0% {
    transform: translateX(-2vw) translateY(25vh) scale(0.68);
  }

  4.1666666667% {
    transform: translateX(-6vw) translateY(-24vh) scale(0.73);
  }

  8.3333333333% {
    transform: translateX(-12vw) translateY(19vh) scale(0.75);
  }

  12.5% {
    transform: translateX(-43vw) translateY(33vh) scale(0.67);
  }

  16.6666666667% {
    transform: translateX(-34vw) translateY(49vh) scale(0.61);
  }

  20.8333333333% {
    transform: translateX(34vw) translateY(25vh) scale(0.55);
  }

  25% {
    transform: translateX(6vw) translateY(47vh) scale(0.97);
  }

  29.1666666667% {
    transform: translateX(30vw) translateY(-13vh) scale(0.34);
  }

  33.3333333333% {
    transform: translateX(-8vw) translateY(-27vh) scale(0.57);
  }

  37.5% {
    transform: translateX(47vw) translateY(47vh) scale(0.48);
  }

  41.6666666667% {
    transform: translateX(-38vw) translateY(-48vh) scale(0.44);
  }

  45.8333333333% {
    transform: translateX(47vw) translateY(16vh) scale(0.4);
  }

  50% {
    transform: translateX(46vw) translateY(-14vh) scale(0.78);
  }

  54.1666666667% {
    transform: translateX(11vw) translateY(16vh) scale(0.68);
  }

  58.3333333333% {
    transform: translateX(27vw) translateY(35vh) scale(0.95);
  }

  62.5% {
    transform: translateX(19vw) translateY(-24vh) scale(0.85);
  }

  66.6666666667% {
    transform: translateX(-18vw) translateY(16vh) scale(0.57);
  }

  70.8333333333% {
    transform: translateX(-32vw) translateY(-35vh) scale(0.83);
  }

  75% {
    transform: translateX(-13vw) translateY(-6vh) scale(0.42);
  }

  79.1666666667% {
    transform: translateX(-37vw) translateY(-8vh) scale(0.96);
  }

  83.3333333333% {
    transform: translateX(8vw) translateY(-8vh) scale(0.38);
  }

  87.5% {
    transform: translateX(-28vw) translateY(-9vh) scale(0.34);
  }

  91.6666666667% {
    transform: translateX(-22vw) translateY(33vh) scale(0.47);
  }

  95.8333333333% {
    transform: translateX(-46vw) translateY(40vh) scale(0.6);
  }

  100% {
    transform: translateX(17vw) translateY(-36vh) scale(0.76);
  }
}

.firefly:nth-child(33) {
  animation-name: move33;
}

.firefly:nth-child(33)::before {
  animation-duration: 9s;
}

.firefly:nth-child(33)::after {
  animation-duration: 9s, 7227ms;
  animation-delay: 0ms, 8420ms;
}

@keyframes move33 {
  0% {
    transform: translateX(38vw) translateY(-16vh) scale(0.73);
  }

  4.347826087% {
    transform: translateX(-14vw) translateY(-22vh) scale(0.57);
  }

  8.6956521739% {
    transform: translateX(-29vw) translateY(-7vh) scale(0.98);
  }

  13.0434782609% {
    transform: translateX(17vw) translateY(-30vh) scale(0.63);
  }

  17.3913043478% {
    transform: translateX(-33vw) translateY(-15vh) scale(0.61);
  }

  21.7391304348% {
    transform: translateX(-28vw) translateY(18vh) scale(0.95);
  }

  26.0869565217% {
    transform: translateX(-42vw) translateY(17vh) scale(0.77);
  }

  30.4347826087% {
    transform: translateX(20vw) translateY(44vh) scale(0.25);
  }

  34.7826086957% {
    transform: translateX(3vw) translateY(20vh) scale(0.39);
  }

  39.1304347826% {
    transform: translateX(-49vw) translateY(0vh) scale(0.64);
  }

  43.4782608696% {
    transform: translateX(34vw) translateY(44vh) scale(0.5);
  }

  47.8260869565% {
    transform: translateX(25vw) translateY(21vh) scale(0.56);
  }

  52.1739130435% {
    transform: translateX(31vw) translateY(-7vh) scale(0.92);
  }

  56.5217391304% {
    transform: translateX(-18vw) translateY(-18vh) scale(0.6);
  }

  60.8695652174% {
    transform: translateX(-17vw) translateY(4vh) scale(0.36);
  }

  65.2173913043% {
    transform: translateX(-12vw) translateY(-20vh) scale(0.68);
  }

  69.5652173913% {
    transform: translateX(17vw) translateY(-31vh) scale(0.56);
  }

  73.9130434783% {
    transform: translateX(-31vw) translateY(-43vh) scale(0.28);
  }

  78.2608695652% {
    transform: translateX(-24vw) translateY(38vh) scale(0.64);
  }

  82.6086956522% {
    transform: translateX(-31vw) translateY(11vh) scale(0.28);
  }

  86.9565217391% {
    transform: translateX(-4vw) translateY(-46vh) scale(0.84);
  }

  91.3043478261% {
    transform: translateX(16vw) translateY(-13vh) scale(0.95);
  }

  95.652173913% {
    transform: translateX(-32vw) translateY(-43vh) scale(0.81);
  }

  100% {
    transform: translateX(-3vw) translateY(16vh) scale(0.76);
  }
}

.firefly:nth-child(34) {
  animation-name: move34;
}

.firefly:nth-child(34)::before {
  animation-duration: 14s;
}

.firefly:nth-child(34)::after {
  animation-duration: 14s, 5901ms;
  animation-delay: 0ms, 4732ms;
}

@keyframes move34 {
  0% {
    transform: translateX(-35vw) translateY(-21vh) scale(0.29);
  }

  4.7619047619% {
    transform: translateX(30vw) translateY(-49vh) scale(0.71);
  }

  9.5238095238% {
    transform: translateX(-23vw) translateY(27vh) scale(0.9);
  }

  14.2857142857% {
    transform: translateX(-23vw) translateY(-15vh) scale(0.92);
  }

  19.0476190476% {
    transform: translateX(-41vw) translateY(25vh) scale(0.68);
  }

  23.8095238095% {
    transform: translateX(27vw) translateY(-29vh) scale(0.77);
  }

  28.5714285714% {
    transform: translateX(48vw) translateY(-14vh) scale(0.67);
  }

  33.3333333333% {
    transform: translateX(45vw) translateY(-13vh) scale(0.68);
  }

  38.0952380952% {
    transform: translateX(-30vw) translateY(-27vh) scale(0.99);
  }

  42.8571428571% {
    transform: translateX(-18vw) translateY(9vh) scale(0.67);
  }

  47.619047619% {
    transform: translateX(-18vw) translateY(-2vh) scale(0.97);
  }

  52.380952381% {
    transform: translateX(-14vw) translateY(-6vh) scale(0.6);
  }

  57.1428571429% {
    transform: translateX(47vw) translateY(12vh) scale(0.62);
  }

  61.9047619048% {
    transform: translateX(-28vw) translateY(-17vh) scale(0.95);
  }

  66.6666666667% {
    transform: translateX(-47vw) translateY(28vh) scale(0.65);
  }

  71.4285714286% {
    transform: translateX(3vw) translateY(-45vh) scale(0.79);
  }

  76.1904761905% {
    transform: translateX(29vw) translateY(-11vh) scale(0.3);
  }

  80.9523809524% {
    transform: translateX(16vw) translateY(41vh) scale(0.43);
  }

  85.7142857143% {
    transform: translateX(-21vw) translateY(-17vh) scale(0.48);
  }

  90.4761904762% {
    transform: translateX(28vw) translateY(1vh) scale(0.68);
  }

  95.2380952381% {
    transform: translateX(-2vw) translateY(43vh) scale(0.81);
  }

  100% {
    transform: translateX(-43vw) translateY(-28vh) scale(0.63);
  }
}

.firefly:nth-child(35) {
  animation-name: move35;
}

.firefly:nth-child(35)::before {
  animation-duration: 9s;
}

.firefly:nth-child(35)::after {
  animation-duration: 9s, 10326ms;
  animation-delay: 0ms, 3315ms;
}

@keyframes move35 {
  0% {
    transform: translateX(-43vw) translateY(-29vh) scale(0.64);
  }

  5.2631578947% {
    transform: translateX(-26vw) translateY(45vh) scale(0.32);
  }

  10.5263157895% {
    transform: translateX(23vw) translateY(-2vh) scale(0.41);
  }

  15.7894736842% {
    transform: translateX(-4vw) translateY(-12vh) scale(0.37);
  }

  21.0526315789% {
    transform: translateX(-42vw) translateY(20vh) scale(0.46);
  }

  26.3157894737% {
    transform: translateX(42vw) translateY(-41vh) scale(0.46);
  }

  31.5789473684% {
    transform: translateX(-24vw) translateY(-26vh) scale(0.43);
  }

  36.8421052632% {
    transform: translateX(-19vw) translateY(17vh) scale(0.89);
  }

  42.1052631579% {
    transform: translateX(-8vw) translateY(-3vh) scale(0.68);
  }

  47.3684210526% {
    transform: translateX(16vw) translateY(-17vh) scale(0.98);
  }

  52.6315789474% {
    transform: translateX(-7vw) translateY(25vh) scale(0.72);
  }

  57.8947368421% {
    transform: translateX(25vw) translateY(21vh) scale(0.42);
  }

  63.1578947368% {
    transform: translateX(5vw) translateY(39vh) scale(0.49);
  }

  68.4210526316% {
    transform: translateX(7vw) translateY(-47vh) scale(0.95);
  }

  73.6842105263% {
    transform: translateX(-13vw) translateY(-36vh) scale(0.48);
  }

  78.9473684211% {
    transform: translateX(-12vw) translateY(-13vh) scale(0.29);
  }

  84.2105263158% {
    transform: translateX(8vw) translateY(15vh) scale(0.94);
  }

  89.4736842105% {
    transform: translateX(44vw) translateY(13vh) scale(0.49);
  }

  94.7368421053% {
    transform: translateX(42vw) translateY(27vh) scale(0.58);
  }

  100% {
    transform: translateX(-4vw) translateY(45vh) scale(0.88);
  }
}

.firefly:nth-child(36) {
  animation-name: move36;
}

.firefly:nth-child(36)::before {
  animation-duration: 12s;
}

.firefly:nth-child(36)::after {
  animation-duration: 12s, 10413ms;
  animation-delay: 0ms, 5202ms;
}

@keyframes move36 {
  0% {
    transform: translateX(19vw) translateY(27vh) scale(0.29);
  }

  3.8461538462% {
    transform: translateX(-20vw) translateY(10vh) scale(0.94);
  }

  7.6923076923% {
    transform: translateX(35vw) translateY(5vh) scale(0.48);
  }

  11.5384615385% {
    transform: translateX(-33vw) translateY(31vh) scale(0.82);
  }

  15.3846153846% {
    transform: translateX(-19vw) translateY(21vh) scale(0.36);
  }

  19.2307692308% {
    transform: translateX(19vw) translateY(-35vh) scale(0.63);
  }

  23.0769230769% {
    transform: translateX(-45vw) translateY(-35vh) scale(0.95);
  }

  26.9230769231% {
    transform: translateX(6vw) translateY(14vh) scale(0.38);
  }

  30.7692307692% {
    transform: translateX(0vw) translateY(23vh) scale(0.4);
  }

  34.6153846154% {
    transform: translateX(47vw) translateY(-41vh) scale(0.43);
  }

  38.4615384615% {
    transform: translateX(49vw) translateY(-49vh) scale(0.44);
  }

  42.3076923077% {
    transform: translateX(-29vw) translateY(35vh) scale(0.46);
  }

  46.1538461538% {
    transform: translateX(47vw) translateY(11vh) scale(0.92);
  }

  50% {
    transform: translateX(7vw) translateY(-15vh) scale(0.95);
  }

  53.8461538462% {
    transform: translateX(5vw) translateY(42vh) scale(0.99);
  }

  57.6923076923% {
    transform: translateX(-25vw) translateY(-28vh) scale(0.33);
  }

  61.5384615385% {
    transform: translateX(-27vw) translateY(46vh) scale(0.53);
  }

  65.3846153846% {
    transform: translateX(-45vw) translateY(-14vh) scale(0.47);
  }

  69.2307692308% {
    transform: translateX(48vw) translateY(27vh) scale(0.25);
  }

  73.0769230769% {
    transform: translateX(35vw) translateY(-7vh) scale(0.46);
  }

  76.9230769231% {
    transform: translateX(35vw) translateY(-8vh) scale(0.55);
  }

  80.7692307692% {
    transform: translateX(31vw) translateY(11vh) scale(0.67);
  }

  84.6153846154% {
    transform: translateX(-33vw) translateY(-19vh) scale(0.77);
  }

  88.4615384615% {
    transform: translateX(-8vw) translateY(-30vh) scale(0.96);
  }

  92.3076923077% {
    transform: translateX(-36vw) translateY(-19vh) scale(0.29);
  }

  96.1538461538% {
    transform: translateX(-38vw) translateY(31vh) scale(0.34);
  }

  100% {
    transform: translateX(-4vw) translateY(6vh) scale(0.52);
  }
}

.firefly:nth-child(37) {
  animation-name: move37;
}

.firefly:nth-child(37)::before {
  animation-duration: 8s;
}

.firefly:nth-child(37)::after {
  animation-duration: 8s, 6724ms;
  animation-delay: 0ms, 4061ms;
}

@keyframes move37 {
  0% {
    transform: translateX(-47vw) translateY(-12vh) scale(0.54);
  }

  5.2631578947% {
    transform: translateX(18vw) translateY(-48vh) scale(0.85);
  }

  10.5263157895% {
    transform: translateX(-41vw) translateY(21vh) scale(0.94);
  }

  15.7894736842% {
    transform: translateX(18vw) translateY(5vh) scale(0.71);
  }

  21.0526315789% {
    transform: translateX(49vw) translateY(10vh) scale(0.89);
  }

  26.3157894737% {
    transform: translateX(4vw) translateY(42vh) scale(0.38);
  }

  31.5789473684% {
    transform: translateX(-36vw) translateY(30vh) scale(0.93);
  }

  36.8421052632% {
    transform: translateX(15vw) translateY(-39vh) scale(0.59);
  }

  42.1052631579% {
    transform: translateX(3vw) translateY(10vh) scale(0.62);
  }

  47.3684210526% {
    transform: translateX(45vw) translateY(-12vh) scale(0.38);
  }

  52.6315789474% {
    transform: translateX(18vw) translateY(27vh) scale(0.7);
  }

  57.8947368421% {
    transform: translateX(-4vw) translateY(7vh) scale(0.82);
  }

  63.1578947368% {
    transform: translateX(-26vw) translateY(-46vh) scale(0.48);
  }

  68.4210526316% {
    transform: translateX(-3vw) translateY(-45vh) scale(0.66);
  }

  73.6842105263% {
    transform: translateX(-17vw) translateY(-1vh) scale(0.95);
  }

  78.9473684211% {
    transform: translateX(-18vw) translateY(48vh) scale(0.37);
  }

  84.2105263158% {
    transform: translateX(-34vw) translateY(10vh) scale(0.9);
  }

  89.4736842105% {
    transform: translateX(-22vw) translateY(46vh) scale(0.61);
  }

  94.7368421053% {
    transform: translateX(31vw) translateY(-24vh) scale(0.6);
  }

  100% {
    transform: translateX(49vw) translateY(-19vh) scale(0.41);
  }
}

.firefly:nth-child(38) {
  animation-name: move38;
}

.firefly:nth-child(38)::before {
  animation-duration: 12s;
}

.firefly:nth-child(38)::after {
  animation-duration: 12s, 5018ms;
  animation-delay: 0ms, 8112ms;
}

@keyframes move38 {
  0% {
    transform: translateX(-1vw) translateY(13vh) scale(0.57);
  }

  3.7037037037% {
    transform: translateX(49vw) translateY(-37vh) scale(0.5);
  }

  7.4074074074% {
    transform: translateX(33vw) translateY(-36vh) scale(0.52);
  }

  11.1111111111% {
    transform: translateX(-4vw) translateY(16vh) scale(0.36);
  }

  14.8148148148% {
    transform: translateX(19vw) translateY(20vh) scale(0.31);
  }

  18.5185185185% {
    transform: translateX(-41vw) translateY(23vh) scale(0.8);
  }

  22.2222222222% {
    transform: translateX(-27vw) translateY(-10vh) scale(0.3);
  }

  25.9259259259% {
    transform: translateX(10vw) translateY(-13vh) scale(0.77);
  }

  29.6296296296% {
    transform: translateX(-18vw) translateY(-50vh) scale(0.48);
  }

  33.3333333333% {
    transform: translateX(46vw) translateY(-46vh) scale(0.39);
  }

  37.037037037% {
    transform: translateX(-13vw) translateY(-25vh) scale(0.84);
  }

  40.7407407407% {
    transform: translateX(-30vw) translateY(23vh) scale(0.96);
  }

  44.4444444444% {
    transform: translateX(21vw) translateY(25vh) scale(0.63);
  }

  48.1481481481% {
    transform: translateX(31vw) translateY(45vh) scale(0.74);
  }

  51.8518518519% {
    transform: translateX(-6vw) translateY(-36vh) scale(0.58);
  }

  55.5555555556% {
    transform: translateX(33vw) translateY(13vh) scale(0.47);
  }

  59.2592592593% {
    transform: translateX(16vw) translateY(12vh) scale(0.67);
  }

  62.962962963% {
    transform: translateX(-15vw) translateY(-8vh) scale(0.35);
  }

  66.6666666667% {
    transform: translateX(-29vw) translateY(39vh) scale(0.83);
  }

  70.3703703704% {
    transform: translateX(-1vw) translateY(-41vh) scale(0.76);
  }

  74.0740740741% {
    transform: translateX(3vw) translateY(10vh) scale(0.63);
  }

  77.7777777778% {
    transform: translateX(-26vw) translateY(-36vh) scale(0.49);
  }

  81.4814814815% {
    transform: translateX(24vw) translateY(-17vh) scale(0.93);
  }

  85.1851851852% {
    transform: translateX(-31vw) translateY(42vh) scale(0.87);
  }

  88.8888888889% {
    transform: translateX(-17vw) translateY(2vh) scale(0.87);
  }

  92.5925925926% {
    transform: translateX(37vw) translateY(-16vh) scale(0.52);
  }

  96.2962962963% {
    transform: translateX(36vw) translateY(-23vh) scale(0.97);
  }

  100% {
    transform: translateX(-14vw) translateY(-48vh) scale(0.58);
  }
}

.firefly:nth-child(39) {
  animation-name: move39;
}

.firefly:nth-child(39)::before {
  animation-duration: 12s;
}

.firefly:nth-child(39)::after {
  animation-duration: 12s, 5981ms;
  animation-delay: 0ms, 5721ms;
}

@keyframes move39 {
  0% {
    transform: translateX(-43vw) translateY(-49vh) scale(0.42);
  }

  3.8461538462% {
    transform: translateX(24vw) translateY(-48vh) scale(0.99);
  }

  7.6923076923% {
    transform: translateX(-30vw) translateY(-23vh) scale(0.43);
  }

  11.5384615385% {
    transform: translateX(-50vw) translateY(37vh) scale(0.86);
  }

  15.3846153846% {
    transform: translateX(-21vw) translateY(-41vh) scale(0.67);
  }

  19.2307692308% {
    transform: translateX(-24vw) translateY(24vh) scale(0.71);
  }

  23.0769230769% {
    transform: translateX(9vw) translateY(22vh) scale(0.38);
  }

  26.9230769231% {
    transform: translateX(38vw) translateY(-33vh) scale(0.59);
  }

  30.7692307692% {
    transform: translateX(45vw) translateY(-10vh) scale(0.31);
  }

  34.6153846154% {
    transform: translateX(11vw) translateY(3vh) scale(0.83);
  }

  38.4615384615% {
    transform: translateX(45vw) translateY(-31vh) scale(0.56);
  }

  42.3076923077% {
    transform: translateX(22vw) translateY(-3vh) scale(0.96);
  }

  46.1538461538% {
    transform: translateX(49vw) translateY(30vh) scale(0.57);
  }

  50% {
    transform: translateX(-7vw) translateY(-44vh) scale(0.48);
  }

  53.8461538462% {
    transform: translateX(22vw) translateY(28vh) scale(0.93);
  }

  57.6923076923% {
    transform: translateX(6vw) translateY(-9vh) scale(0.5);
  }

  61.5384615385% {
    transform: translateX(-49vw) translateY(-17vh) scale(0.76);
  }

  65.3846153846% {
    transform: translateX(-33vw) translateY(47vh) scale(0.51);
  }

  69.2307692308% {
    transform: translateX(42vw) translateY(-21vh) scale(0.65);
  }

  73.0769230769% {
    transform: translateX(-42vw) translateY(-34vh) scale(0.37);
  }

  76.9230769231% {
    transform: translateX(29vw) translateY(40vh) scale(0.41);
  }

  80.7692307692% {
    transform: translateX(-17vw) translateY(31vh) scale(0.58);
  }

  84.6153846154% {
    transform: translateX(-43vw) translateY(-49vh) scale(0.64);
  }

  88.4615384615% {
    transform: translateX(15vw) translateY(-30vh) scale(0.27);
  }

  92.3076923077% {
    transform: translateX(-5vw) translateY(-15vh) scale(0.91);
  }

  96.1538461538% {
    transform: translateX(44vw) translateY(-37vh) scale(0.55);
  }

  100% {
    transform: translateX(9vw) translateY(7vh) scale(0.93);
  }
}

.firefly:nth-child(40) {
  animation-name: move40;
}

.firefly:nth-child(40)::before {
  animation-duration: 13s;
}

.firefly:nth-child(40)::after {
  animation-duration: 13s, 5288ms;
  animation-delay: 0ms, 2133ms;
}

@keyframes move40 {
  0% {
    transform: translateX(3vw) translateY(-1vh) scale(0.78);
  }

  4.5454545455% {
    transform: translateX(15vw) translateY(27vh) scale(0.45);
  }

  9.0909090909% {
    transform: translateX(-5vw) translateY(1vh) scale(0.83);
  }

  13.6363636364% {
    transform: translateX(-27vw) translateY(-49vh) scale(0.81);
  }

  18.1818181818% {
    transform: translateX(18vw) translateY(14vh) scale(0.78);
  }

  22.7272727273% {
    transform: translateX(-4vw) translateY(-13vh) scale(0.82);
  }

  27.2727272727% {
    transform: translateX(31vw) translateY(-6vh) scale(0.67);
  }

  31.8181818182% {
    transform: translateX(18vw) translateY(17vh) scale(0.29);
  }

  36.3636363636% {
    transform: translateX(20vw) translateY(12vh) scale(0.67);
  }

  40.9090909091% {
    transform: translateX(35vw) translateY(27vh) scale(0.37);
  }

  45.4545454545% {
    transform: translateX(-29vw) translateY(11vh) scale(0.56);
  }

  50% {
    transform: translateX(29vw) translateY(28vh) scale(0.76);
  }

  54.5454545455% {
    transform: translateX(-5vw) translateY(-38vh) scale(0.97);
  }

  59.0909090909% {
    transform: translateX(1vw) translateY(-31vh) scale(0.62);
  }

  63.6363636364% {
    transform: translateX(46vw) translateY(-47vh) scale(0.55);
  }

  68.1818181818% {
    transform: translateX(-40vw) translateY(-43vh) scale(0.53);
  }

  72.7272727273% {
    transform: translateX(-17vw) translateY(24vh) scale(0.51);
  }

  77.2727272727% {
    transform: translateX(28vw) translateY(19vh) scale(0.51);
  }

  81.8181818182% {
    transform: translateX(10vw) translateY(-10vh) scale(0.6);
  }

  86.3636363636% {
    transform: translateX(13vw) translateY(-23vh) scale(0.7);
  }

  90.9090909091% {
    transform: translateX(42vw) translateY(-26vh) scale(0.61);
  }

  95.4545454545% {
    transform: translateX(-19vw) translateY(-23vh) scale(0.65);
  }

  100% {
    transform: translateX(45vw) translateY(-47vh) scale(0.5);
  }
}

.firefly:nth-child(41) {
  animation-name: move41;
}

.firefly:nth-child(41)::before {
  animation-duration: 14s;
}

.firefly:nth-child(41)::after {
  animation-duration: 14s, 10326ms;
  animation-delay: 0ms, 7690ms;
}

@keyframes move41 {
  0% {
    transform: translateX(-18vw) translateY(-12vh) scale(0.78);
  }

  5% {
    transform: translateX(-13vw) translateY(-47vh) scale(0.31);
  }

  10% {
    transform: translateX(-1vw) translateY(-8vh) scale(0.37);
  }

  15% {
    transform: translateX(12vw) translateY(-34vh) scale(0.67);
  }

  20% {
    transform: translateX(-45vw) translateY(35vh) scale(0.25);
  }

  25% {
    transform: translateX(46vw) translateY(-23vh) scale(0.35);
  }

  30% {
    transform: translateX(4vw) translateY(27vh) scale(0.75);
  }

  35% {
    transform: translateX(46vw) translateY(-43vh) scale(0.61);
  }

  40% {
    transform: translateX(-20vw) translateY(0vh) scale(0.31);
  }

  45% {
    transform: translateX(-12vw) translateY(-39vh) scale(0.73);
  }

  50% {
    transform: translateX(8vw) translateY(-15vh) scale(0.34);
  }

  55% {
    transform: translateX(-15vw) translateY(44vh) scale(0.8);
  }

  60% {
    transform: translateX(11vw) translateY(-47vh) scale(0.61);
  }

  65% {
    transform: translateX(4vw) translateY(6vh) scale(0.26);
  }

  70% {
    transform: translateX(36vw) translateY(34vh) scale(0.75);
  }

  75% {
    transform: translateX(37vw) translateY(27vh) scale(0.54);
  }

  80% {
    transform: translateX(15vw) translateY(-44vh) scale(0.94);
  }

  85% {
    transform: translateX(-4vw) translateY(-26vh) scale(0.94);
  }

  90% {
    transform: translateX(-1vw) translateY(-13vh) scale(0.93);
  }

  95% {
    transform: translateX(40vw) translateY(-50vh) scale(0.75);
  }

  100% {
    transform: translateX(49vw) translateY(-6vh) scale(0.63);
  }
}

.firefly:nth-child(42) {
  animation-name: move42;
}

.firefly:nth-child(42)::before {
  animation-duration: 11s;
}

.firefly:nth-child(42)::after {
  animation-duration: 11s, 10617ms;
  animation-delay: 0ms, 715ms;
}

@keyframes move42 {
  0% {
    transform: translateX(42vw) translateY(29vh) scale(0.58);
  }

  3.7037037037% {
    transform: translateX(44vw) translateY(-37vh) scale(0.59);
  }

  7.4074074074% {
    transform: translateX(5vw) translateY(0vh) scale(0.46);
  }

  11.1111111111% {
    transform: translateX(42vw) translateY(-14vh) scale(0.67);
  }

  14.8148148148% {
    transform: translateX(25vw) translateY(-35vh) scale(0.49);
  }

  18.5185185185% {
    transform: translateX(31vw) translateY(24vh) scale(0.31);
  }

  22.2222222222% {
    transform: translateX(47vw) translateY(-5vh) scale(0.35);
  }

  25.9259259259% {
    transform: translateX(3vw) translateY(-26vh) scale(0.51);
  }

  29.6296296296% {
    transform: translateX(-20vw) translateY(-23vh) scale(0.67);
  }

  33.3333333333% {
    transform: translateX(36vw) translateY(-21vh) scale(0.86);
  }

  37.037037037% {
    transform: translateX(-27vw) translateY(49vh) scale(0.47);
  }

  40.7407407407% {
    transform: translateX(28vw) translateY(-2vh) scale(0.72);
  }

  44.4444444444% {
    transform: translateX(40vw) translateY(20vh) scale(0.52);
  }

  48.1481481481% {
    transform: translateX(31vw) translateY(-12vh) scale(0.8);
  }

  51.8518518519% {
    transform: translateX(10vw) translateY(17vh) scale(0.77);
  }

  55.5555555556% {
    transform: translateX(5vw) translateY(-1vh) scale(0.52);
  }

  59.2592592593% {
    transform: translateX(-30vw) translateY(16vh) scale(0.37);
  }

  62.962962963% {
    transform: translateX(0vw) translateY(29vh) scale(0.27);
  }

  66.6666666667% {
    transform: translateX(28vw) translateY(-37vh) scale(0.33);
  }

  70.3703703704% {
    transform: translateX(18vw) translateY(-9vh) scale(0.87);
  }

  74.0740740741% {
    transform: translateX(-41vw) translateY(-16vh) scale(0.57);
  }

  77.7777777778% {
    transform: translateX(23vw) translateY(3vh) scale(0.68);
  }

  81.4814814815% {
    transform: translateX(32vw) translateY(-18vh) scale(0.58);
  }

  85.1851851852% {
    transform: translateX(-31vw) translateY(-6vh) scale(0.78);
  }

  88.8888888889% {
    transform: translateX(19vw) translateY(17vh) scale(0.34);
  }

  92.5925925926% {
    transform: translateX(31vw) translateY(-25vh) scale(0.62);
  }

  96.2962962963% {
    transform: translateX(24vw) translateY(40vh) scale(0.26);
  }

  100% {
    transform: translateX(-31vw) translateY(-13vh) scale(0.98);
  }
}

.firefly:nth-child(43) {
  animation-name: move43;
}

.firefly:nth-child(43)::before {
  animation-duration: 16s;
}

.firefly:nth-child(43)::after {
  animation-duration: 16s, 6132ms;
  animation-delay: 0ms, 3513ms;
}

@keyframes move43 {
  0% {
    transform: translateX(46vw) translateY(-22vh) scale(0.35);
  }

  4.347826087% {
    transform: translateX(-12vw) translateY(-32vh) scale(0.42);
  }

  8.6956521739% {
    transform: translateX(-24vw) translateY(24vh) scale(0.57);
  }

  13.0434782609% {
    transform: translateX(15vw) translateY(10vh) scale(0.94);
  }

  17.3913043478% {
    transform: translateX(45vw) translateY(49vh) scale(0.52);
  }

  21.7391304348% {
    transform: translateX(2vw) translateY(-15vh) scale(0.68);
  }

  26.0869565217% {
    transform: translateX(-21vw) translateY(36vh) scale(0.33);
  }

  30.4347826087% {
    transform: translateX(-11vw) translateY(6vh) scale(0.27);
  }

  34.7826086957% {
    transform: translateX(23vw) translateY(5vh) scale(0.63);
  }

  39.1304347826% {
    transform: translateX(9vw) translateY(14vh) scale(0.57);
  }

  43.4782608696% {
    transform: translateX(-38vw) translateY(-2vh) scale(0.55);
  }

  47.8260869565% {
    transform: translateX(16vw) translateY(-14vh) scale(0.32);
  }

  52.1739130435% {
    transform: translateX(37vw) translateY(-41vh) scale(0.56);
  }

  56.5217391304% {
    transform: translateX(32vw) translateY(-25vh) scale(0.74);
  }

  60.8695652174% {
    transform: translateX(31vw) translateY(31vh) scale(0.32);
  }

  65.2173913043% {
    transform: translateX(16vw) translateY(23vh) scale(0.53);
  }

  69.5652173913% {
    transform: translateX(4vw) translateY(12vh) scale(0.26);
  }

  73.9130434783% {
    transform: translateX(37vw) translateY(36vh) scale(0.96);
  }

  78.2608695652% {
    transform: translateX(22vw) translateY(-43vh) scale(0.65);
  }

  82.6086956522% {
    transform: translateX(-40vw) translateY(9vh) scale(0.92);
  }

  86.9565217391% {
    transform: translateX(42vw) translateY(49vh) scale(0.78);
  }

  91.3043478261% {
    transform: translateX(-19vw) translateY(-26vh) scale(0.36);
  }

  95.652173913% {
    transform: translateX(-29vw) translateY(47vh) scale(0.54);
  }

  100% {
    transform: translateX(-31vw) translateY(34vh) scale(0.91);
  }
}

.firefly:nth-child(44) {
  animation-name: move44;
}

.firefly:nth-child(44)::before {
  animation-duration: 12s;
}

.firefly:nth-child(44)::after {
  animation-duration: 12s, 6493ms;
  animation-delay: 0ms, 4992ms;
}

@keyframes move44 {
  0% {
    transform: translateX(47vw) translateY(46vh) scale(0.59);
  }

  6.25% {
    transform: translateX(-49vw) translateY(46vh) scale(0.51);
  }

  12.5% {
    transform: translateX(-26vw) translateY(23vh) scale(0.66);
  }

  18.75% {
    transform: translateX(-20vw) translateY(34vh) scale(0.81);
  }

  25% {
    transform: translateX(-19vw) translateY(-9vh) scale(0.56);
  }

  31.25% {
    transform: translateX(-38vw) translateY(31vh) scale(0.78);
  }

  37.5% {
    transform: translateX(-23vw) translateY(38vh) scale(0.59);
  }

  43.75% {
    transform: translateX(38vw) translateY(-16vh) scale(0.26);
  }

  50% {
    transform: translateX(-24vw) translateY(-5vh) scale(0.67);
  }

  56.25% {
    transform: translateX(35vw) translateY(-5vh) scale(0.4);
  }

  62.5% {
    transform: translateX(-38vw) translateY(-43vh) scale(0.81);
  }

  68.75% {
    transform: translateX(-12vw) translateY(20vh) scale(0.7);
  }

  75% {
    transform: translateX(6vw) translateY(5vh) scale(0.29);
  }

  81.25% {
    transform: translateX(-33vw) translateY(-25vh) scale(0.49);
  }

  87.5% {
    transform: translateX(9vw) translateY(-48vh) scale(0.81);
  }

  93.75% {
    transform: translateX(28vw) translateY(37vh) scale(0.35);
  }

  100% {
    transform: translateX(-35vw) translateY(15vh) scale(0.79);
  }
}

.firefly:nth-child(45) {
  animation-name: move45;
}

.firefly:nth-child(45)::before {
  animation-duration: 9s;
}

.firefly:nth-child(45)::after {
  animation-duration: 9s, 9606ms;
  animation-delay: 0ms, 7771ms;
}

@keyframes move45 {
  0% {
    transform: translateX(49vw) translateY(21vh) scale(0.36);
  }

  5.5555555556% {
    transform: translateX(47vw) translateY(21vh) scale(0.44);
  }

  11.1111111111% {
    transform: translateX(22vw) translateY(43vh) scale(0.62);
  }

  16.6666666667% {
    transform: translateX(39vw) translateY(-28vh) scale(0.61);
  }

  22.2222222222% {
    transform: translateX(-31vw) translateY(-43vh) scale(0.72);
  }

  27.7777777778% {
    transform: translateX(-13vw) translateY(-11vh) scale(0.76);
  }

  33.3333333333% {
    transform: translateX(-15vw) translateY(9vh) scale(0.62);
  }

  38.8888888889% {
    transform: translateX(21vw) translateY(-10vh) scale(0.77);
  }

  44.4444444444% {
    transform: translateX(48vw) translateY(25vh) scale(0.56);
  }

  50% {
    transform: translateX(43vw) translateY(20vh) scale(0.34);
  }

  55.5555555556% {
    transform: translateX(43vw) translateY(-1vh) scale(0.64);
  }

  61.1111111111% {
    transform: translateX(18vw) translateY(-10vh) scale(0.41);
  }

  66.6666666667% {
    transform: translateX(48vw) translateY(7vh) scale(0.4);
  }

  72.2222222222% {
    transform: translateX(33vw) translateY(3vh) scale(0.3);
  }

  77.7777777778% {
    transform: translateX(-39vw) translateY(-20vh) scale(0.91);
  }

  83.3333333333% {
    transform: translateX(-40vw) translateY(35vh) scale(0.69);
  }

  88.8888888889% {
    transform: translateX(-17vw) translateY(15vh) scale(0.96);
  }

  94.4444444444% {
    transform: translateX(21vw) translateY(-29vh) scale(0.82);
  }

  100% {
    transform: translateX(27vw) translateY(-33vh) scale(0.79);
  }
}

.firefly:nth-child(46) {
  animation-name: move46;
}

.firefly:nth-child(46)::before {
  animation-duration: 16s;
}

.firefly:nth-child(46)::after {
  animation-duration: 16s, 7899ms;
  animation-delay: 0ms, 2620ms;
}

@keyframes move46 {
  0% {
    transform: translateX(-23vw) translateY(-18vh) scale(0.57);
  }

  4.5454545455% {
    transform: translateX(34vw) translateY(-46vh) scale(0.74);
  }

  9.0909090909% {
    transform: translateX(39vw) translateY(26vh) scale(0.36);
  }

  13.6363636364% {
    transform: translateX(17vw) translateY(-15vh) scale(0.26);
  }

  18.1818181818% {
    transform: translateX(-20vw) translateY(-9vh) scale(0.36);
  }

  22.7272727273% {
    transform: translateX(15vw) translateY(-7vh) scale(0.69);
  }

  27.2727272727% {
    transform: translateX(20vw) translateY(-48vh) scale(0.75);
  }

  31.8181818182% {
    transform: translateX(-44vw) translateY(-1vh) scale(0.54);
  }

  36.3636363636% {
    transform: translateX(27vw) translateY(30vh) scale(0.45);
  }

  40.9090909091% {
    transform: translateX(1vw) translateY(-21vh) scale(0.43);
  }

  45.4545454545% {
    transform: translateX(-43vw) translateY(19vh) scale(0.42);
  }

  50% {
    transform: translateX(-11vw) translateY(46vh) scale(0.84);
  }

  54.5454545455% {
    transform: translateX(-19vw) translateY(-23vh) scale(0.61);
  }

  59.0909090909% {
    transform: translateX(35vw) translateY(-14vh) scale(0.78);
  }

  63.6363636364% {
    transform: translateX(31vw) translateY(-7vh) scale(0.43);
  }

  68.1818181818% {
    transform: translateX(21vw) translateY(-18vh) scale(0.28);
  }

  72.7272727273% {
    transform: translateX(46vw) translateY(7vh) scale(0.94);
  }

  77.2727272727% {
    transform: translateX(20vw) translateY(11vh) scale(0.35);
  }

  81.8181818182% {
    transform: translateX(-47vw) translateY(-10vh) scale(0.88);
  }

  86.3636363636% {
    transform: translateX(17vw) translateY(-35vh) scale(0.43);
  }

  90.9090909091% {
    transform: translateX(-36vw) translateY(-10vh) scale(0.71);
  }

  95.4545454545% {
    transform: translateX(9vw) translateY(-9vh) scale(0.92);
  }

  100% {
    transform: translateX(-13vw) translateY(14vh) scale(0.79);
  }
}

.firefly:nth-child(47) {
  animation-name: move47;
}

.firefly:nth-child(47)::before {
  animation-duration: 17s;
}

.firefly:nth-child(47)::after {
  animation-duration: 17s, 9076ms;
  animation-delay: 0ms, 1893ms;
}

@keyframes move47 {
  0% {
    transform: translateX(27vw) translateY(16vh) scale(0.79);
  }

  4.1666666667% {
    transform: translateX(-42vw) translateY(-41vh) scale(0.76);
  }

  8.3333333333% {
    transform: translateX(34vw) translateY(33vh) scale(0.7);
  }

  12.5% {
    transform: translateX(42vw) translateY(39vh) scale(0.28);
  }

  16.6666666667% {
    transform: translateX(10vw) translateY(14vh) scale(0.51);
  }

  20.8333333333% {
    transform: translateX(46vw) translateY(-37vh) scale(0.76);
  }

  25% {
    transform: translateX(-28vw) translateY(9vh) scale(0.7);
  }

  29.1666666667% {
    transform: translateX(49vw) translateY(-26vh) scale(0.41);
  }

  33.3333333333% {
    transform: translateX(-28vw) translateY(48vh) scale(0.52);
  }

  37.5% {
    transform: translateX(-50vw) translateY(8vh) scale(0.26);
  }

  41.6666666667% {
    transform: translateX(48vw) translateY(-40vh) scale(0.62);
  }

  45.8333333333% {
    transform: translateX(2vw) translateY(-17vh) scale(0.47);
  }

  50% {
    transform: translateX(-45vw) translateY(44vh) scale(0.45);
  }

  54.1666666667% {
    transform: translateX(-39vw) translateY(-25vh) scale(0.95);
  }

  58.3333333333% {
    transform: translateX(11vw) translateY(48vh) scale(0.92);
  }

  62.5% {
    transform: translateX(-17vw) translateY(7vh) scale(0.77);
  }

  66.6666666667% {
    transform: translateX(-10vw) translateY(-5vh) scale(0.49);
  }

  70.8333333333% {
    transform: translateX(-32vw) translateY(46vh) scale(0.29);
  }

  75% {
    transform: translateX(-50vw) translateY(26vh) scale(0.52);
  }

  79.1666666667% {
    transform: translateX(-1vw) translateY(41vh) scale(0.3);
  }

  83.3333333333% {
    transform: translateX(0vw) translateY(-27vh) scale(0.76);
  }

  87.5% {
    transform: translateX(38vw) translateY(37vh) scale(0.7);
  }

  91.6666666667% {
    transform: translateX(26vw) translateY(23vh) scale(0.88);
  }

  95.8333333333% {
    transform: translateX(-38vw) translateY(1vh) scale(0.85);
  }

  100% {
    transform: translateX(-41vw) translateY(5vh) scale(0.63);
  }
}

.firefly:nth-child(48) {
  animation-name: move48;
}

.firefly:nth-child(48)::before {
  animation-duration: 8s;
}

.firefly:nth-child(48)::after {
  animation-duration: 8s, 5448ms;
  animation-delay: 0ms, 3446ms;
}

@keyframes move48 {
  0% {
    transform: translateX(-11vw) translateY(15vh) scale(0.67);
  }

  3.8461538462% {
    transform: translateX(-19vw) translateY(49vh) scale(0.91);
  }

  7.6923076923% {
    transform: translateX(0vw) translateY(7vh) scale(0.37);
  }

  11.5384615385% {
    transform: translateX(6vw) translateY(2vh) scale(0.97);
  }

  15.3846153846% {
    transform: translateX(-5vw) translateY(-49vh) scale(0.64);
  }

  19.2307692308% {
    transform: translateX(-33vw) translateY(31vh) scale(0.74);
  }

  23.0769230769% {
    transform: translateX(7vw) translateY(35vh) scale(0.37);
  }

  26.9230769231% {
    transform: translateX(-35vw) translateY(44vh) scale(0.58);
  }

  30.7692307692% {
    transform: translateX(-29vw) translateY(15vh) scale(0.52);
  }

  34.6153846154% {
    transform: translateX(22vw) translateY(9vh) scale(0.29);
  }

  38.4615384615% {
    transform: translateX(-47vw) translateY(-15vh) scale(0.57);
  }

  42.3076923077% {
    transform: translateX(10vw) translateY(-32vh) scale(0.98);
  }

  46.1538461538% {
    transform: translateX(-49vw) translateY(-12vh) scale(0.52);
  }

  50% {
    transform: translateX(-14vw) translateY(5vh) scale(0.74);
  }

  53.8461538462% {
    transform: translateX(-34vw) translateY(-24vh) scale(0.28);
  }

  57.6923076923% {
    transform: translateX(-23vw) translateY(-46vh) scale(0.26);
  }

  61.5384615385% {
    transform: translateX(-2vw) translateY(-3vh) scale(0.52);
  }

  65.3846153846% {
    transform: translateX(-39vw) translateY(-27vh) scale(0.63);
  }

  69.2307692308% {
    transform: translateX(-44vw) translateY(17vh) scale(0.67);
  }

  73.0769230769% {
    transform: translateX(47vw) translateY(-32vh) scale(0.27);
  }

  76.9230769231% {
    transform: translateX(31vw) translateY(33vh) scale(0.42);
  }

  80.7692307692% {
    transform: translateX(5vw) translateY(44vh) scale(0.5);
  }

  84.6153846154% {
    transform: translateX(-4vw) translateY(21vh) scale(0.53);
  }

  88.4615384615% {
    transform: translateX(34vw) translateY(-8vh) scale(0.96);
  }

  92.3076923077% {
    transform: translateX(25vw) translateY(27vh) scale(0.88);
  }

  96.1538461538% {
    transform: translateX(-7vw) translateY(-26vh) scale(0.43);
  }

  100% {
    transform: translateX(-6vw) translateY(-5vh) scale(0.83);
  }
}

.firefly:nth-child(49) {
  animation-name: move49;
}

.firefly:nth-child(49)::before {
  animation-duration: 12s;
}

.firefly:nth-child(49)::after {
  animation-duration: 12s, 8639ms;
  animation-delay: 0ms, 693ms;
}

@keyframes move49 {
  0% {
    transform: translateX(-18vw) translateY(3vh) scale(0.67);
  }

  4.347826087% {
    transform: translateX(-5vw) translateY(35vh) scale(0.29);
  }

  8.6956521739% {
    transform: translateX(28vw) translateY(41vh) scale(0.67);
  }

  13.0434782609% {
    transform: translateX(12vw) translateY(16vh) scale(0.85);
  }

  17.3913043478% {
    transform: translateX(37vw) translateY(19vh) scale(0.64);
  }

  21.7391304348% {
    transform: translateX(-26vw) translateY(49vh) scale(0.43);
  }

  26.0869565217% {
    transform: translateX(-32vw) translateY(-8vh) scale(0.47);
  }

  30.4347826087% {
    transform: translateX(31vw) translateY(27vh) scale(0.78);
  }

  34.7826086957% {
    transform: translateX(-38vw) translateY(-9vh) scale(0.57);
  }

  39.1304347826% {
    transform: translateX(-17vw) translateY(-31vh) scale(0.38);
  }

  43.4782608696% {
    transform: translateX(3vw) translateY(7vh) scale(0.82);
  }

  47.8260869565% {
    transform: translateX(35vw) translateY(19vh) scale(0.52);
  }

  52.1739130435% {
    transform: translateX(-16vw) translateY(-12vh) scale(0.7);
  }

  56.5217391304% {
    transform: translateX(49vw) translateY(-38vh) scale(0.87);
  }

  60.8695652174% {
    transform: translateX(-20vw) translateY(-42vh) scale(0.85);
  }

  65.2173913043% {
    transform: translateX(-42vw) translateY(-2vh) scale(0.32);
  }

  69.5652173913% {
    transform: translateX(-50vw) translateY(9vh) scale(0.27);
  }

  73.9130434783% {
    transform: translateX(-15vw) translateY(-49vh) scale(0.35);
  }

  78.2608695652% {
    transform: translateX(23vw) translateY(12vh) scale(0.61);
  }

  82.6086956522% {
    transform: translateX(12vw) translateY(9vh) scale(0.51);
  }

  86.9565217391% {
    transform: translateX(32vw) translateY(19vh) scale(0.27);
  }

  91.3043478261% {
    transform: translateX(7vw) translateY(49vh) scale(0.78);
  }

  95.652173913% {
    transform: translateX(-28vw) translateY(37vh) scale(0.61);
  }

  100% {
    transform: translateX(40vw) translateY(-3vh) scale(0.67);
  }
}

.firefly:nth-child(50) {
  animation-name: move50;
}

.firefly:nth-child(50)::before {
  animation-duration: 13s;
}

.firefly:nth-child(50)::after {
  animation-duration: 13s, 9455ms;
  animation-delay: 0ms, 7693ms;
}

@keyframes move50 {
  0% {
    transform: translateX(26vw) translateY(41vh) scale(0.96);
  }

  5% {
    transform: translateX(39vw) translateY(19vh) scale(0.57);
  }

  10% {
    transform: translateX(-30vw) translateY(26vh) scale(0.83);
  }

  15% {
    transform: translateX(-14vw) translateY(-14vh) scale(0.42);
  }

  20% {
    transform: translateX(-47vw) translateY(-10vh) scale(0.96);
  }

  25% {
    transform: translateX(-12vw) translateY(-22vh) scale(0.96);
  }

  30% {
    transform: translateX(-20vw) translateY(-10vh) scale(0.97);
  }

  35% {
    transform: translateX(-34vw) translateY(31vh) scale(0.43);
  }

  40% {
    transform: translateX(-22vw) translateY(31vh) scale(0.39);
  }

  45% {
    transform: translateX(29vw) translateY(-7vh) scale(0.46);
  }

  50% {
    transform: translateX(-20vw) translateY(-10vh) scale(0.43);
  }

  55% {
    transform: translateX(44vw) translateY(29vh) scale(0.76);
  }

  60% {
    transform: translateX(17vw) translateY(44vh) scale(0.45);
  }

  65% {
    transform: translateX(-45vw) translateY(24vh) scale(0.49);
  }

  70% {
    transform: translateX(-28vw) translateY(44vh) scale(0.31);
  }

  75% {
    transform: translateX(2vw) translateY(-38vh) scale(0.26);
  }

  80% {
    transform: translateX(-17vw) translateY(-26vh) scale(0.4);
  }

  85% {
    transform: translateX(18vw) translateY(-43vh) scale(0.58);
  }

  90% {
    transform: translateX(9vw) translateY(-10vh) scale(0.6);
  }

  95% {
    transform: translateX(-29vw) translateY(38vh) scale(0.25);
  }

  100% {
    transform: translateX(-36vw) translateY(-37vh) scale(0.76);
  }
}

.firefly:nth-child(51) {
  animation-name: move51;
}

.firefly:nth-child(51)::before {
  animation-duration: 16s;
}

.firefly:nth-child(51)::after {
  animation-duration: 16s, 5496ms;
  animation-delay: 0ms, 3560ms;
}

@keyframes move51 {
  0% {
    transform: translateX(4vw) translateY(-35vh) scale(0.93);
  }

  4.347826087% {
    transform: translateX(3vw) translateY(49vh) scale(0.92);
  }

  8.6956521739% {
    transform: translateX(46vw) translateY(-14vh) scale(0.31);
  }

  13.0434782609% {
    transform: translateX(19vw) translateY(28vh) scale(0.85);
  }

  17.3913043478% {
    transform: translateX(25vw) translateY(-44vh) scale(0.37);
  }

  21.7391304348% {
    transform: translateX(12vw) translateY(34vh) scale(0.53);
  }

  26.0869565217% {
    transform: translateX(-15vw) translateY(-7vh) scale(0.57);
  }

  30.4347826087% {
    transform: translateX(-21vw) translateY(30vh) scale(0.29);
  }

  34.7826086957% {
    transform: translateX(-23vw) translateY(-44vh) scale(0.7);
  }

  39.1304347826% {
    transform: translateX(-38vw) translateY(-22vh) scale(0.52);
  }

  43.4782608696% {
    transform: translateX(11vw) translateY(17vh) scale(0.55);
  }

  47.8260869565% {
    transform: translateX(16vw) translateY(41vh) scale(0.3);
  }

  52.1739130435% {
    transform: translateX(47vw) translateY(-24vh) scale(0.63);
  }

  56.5217391304% {
    transform: translateX(-19vw) translateY(-14vh) scale(0.52);
  }

  60.8695652174% {
    transform: translateX(-47vw) translateY(-22vh) scale(0.63);
  }

  65.2173913043% {
    transform: translateX(36vw) translateY(6vh) scale(0.73);
  }

  69.5652173913% {
    transform: translateX(-31vw) translateY(-15vh) scale(0.66);
  }

  73.9130434783% {
    transform: translateX(17vw) translateY(5vh) scale(0.34);
  }

  78.2608695652% {
    transform: translateX(-16vw) translateY(1vh) scale(0.83);
  }

  82.6086956522% {
    transform: translateX(26vw) translateY(-44vh) scale(0.51);
  }

  86.9565217391% {
    transform: translateX(-28vw) translateY(38vh) scale(0.49);
  }

  91.3043478261% {
    transform: translateX(2vw) translateY(-21vh) scale(0.92);
  }

  95.652173913% {
    transform: translateX(36vw) translateY(-49vh) scale(0.36);
  }

  100% {
    transform: translateX(18vw) translateY(11vh) scale(0.62);
  }
}

.firefly:nth-child(52) {
  animation-name: move52;
}

.firefly:nth-child(52)::before {
  animation-duration: 13s;
}

.firefly:nth-child(52)::after {
  animation-duration: 13s, 7671ms;
  animation-delay: 0ms, 6591ms;
}

@keyframes move52 {
  0% {
    transform: translateX(-21vw) translateY(-14vh) scale(0.92);
  }

  4.5454545455% {
    transform: translateX(-37vw) translateY(30vh) scale(0.8);
  }

  9.0909090909% {
    transform: translateX(27vw) translateY(18vh) scale(0.8);
  }

  13.6363636364% {
    transform: translateX(30vw) translateY(-38vh) scale(0.47);
  }

  18.1818181818% {
    transform: translateX(-46vw) translateY(-2vh) scale(0.81);
  }

  22.7272727273% {
    transform: translateX(-17vw) translateY(27vh) scale(0.77);
  }

  27.2727272727% {
    transform: translateX(25vw) translateY(-46vh) scale(0.58);
  }

  31.8181818182% {
    transform: translateX(18vw) translateY(-31vh) scale(0.27);
  }

  36.3636363636% {
    transform: translateX(-47vw) translateY(-46vh) scale(0.96);
  }

  40.9090909091% {
    transform: translateX(-36vw) translateY(-12vh) scale(0.77);
  }

  45.4545454545% {
    transform: translateX(-18vw) translateY(22vh) scale(0.81);
  }

  50% {
    transform: translateX(-9vw) translateY(-49vh) scale(0.34);
  }

  54.5454545455% {
    transform: translateX(-15vw) translateY(26vh) scale(0.84);
  }

  59.0909090909% {
    transform: translateX(-7vw) translateY(-49vh) scale(0.46);
  }

  63.6363636364% {
    transform: translateX(45vw) translateY(40vh) scale(0.99);
  }

  68.1818181818% {
    transform: translateX(40vw) translateY(2vh) scale(0.96);
  }

  72.7272727273% {
    transform: translateX(-15vw) translateY(-43vh) scale(0.76);
  }

  77.2727272727% {
    transform: translateX(-41vw) translateY(-10vh) scale(0.73);
  }

  81.8181818182% {
    transform: translateX(11vw) translateY(-48vh) scale(0.59);
  }

  86.3636363636% {
    transform: translateX(-42vw) translateY(23vh) scale(0.42);
  }

  90.9090909091% {
    transform: translateX(24vw) translateY(-7vh) scale(0.43);
  }

  95.4545454545% {
    transform: translateX(34vw) translateY(49vh) scale(0.85);
  }

  100% {
    transform: translateX(48vw) translateY(-32vh) scale(0.9);
  }
}

.firefly:nth-child(53) {
  animation-name: move53;
}

.firefly:nth-child(53)::before {
  animation-duration: 10s;
}

.firefly:nth-child(53)::after {
  animation-duration: 10s, 10074ms;
  animation-delay: 0ms, 7234ms;
}

@keyframes move53 {
  0% {
    transform: translateX(44vw) translateY(-27vh) scale(0.26);
  }

  5.2631578947% {
    transform: translateX(-41vw) translateY(44vh) scale(0.5);
  }

  10.5263157895% {
    transform: translateX(17vw) translateY(5vh) scale(0.83);
  }

  15.7894736842% {
    transform: translateX(-2vw) translateY(-35vh) scale(0.52);
  }

  21.0526315789% {
    transform: translateX(37vw) translateY(28vh) scale(0.34);
  }

  26.3157894737% {
    transform: translateX(13vw) translateY(33vh) scale(0.88);
  }

  31.5789473684% {
    transform: translateX(-1vw) translateY(16vh) scale(0.26);
  }

  36.8421052632% {
    transform: translateX(7vw) translateY(-7vh) scale(0.38);
  }

  42.1052631579% {
    transform: translateX(27vw) translateY(-38vh) scale(0.29);
  }

  47.3684210526% {
    transform: translateX(21vw) translateY(-7vh) scale(0.34);
  }

  52.6315789474% {
    transform: translateX(-16vw) translateY(48vh) scale(0.36);
  }

  57.8947368421% {
    transform: translateX(-9vw) translateY(37vh) scale(0.89);
  }

  63.1578947368% {
    transform: translateX(42vw) translateY(-33vh) scale(0.37);
  }

  68.4210526316% {
    transform: translateX(12vw) translateY(34vh) scale(0.98);
  }

  73.6842105263% {
    transform: translateX(24vw) translateY(-43vh) scale(0.77);
  }

  78.9473684211% {
    transform: translateX(-40vw) translateY(-33vh) scale(0.37);
  }

  84.2105263158% {
    transform: translateX(-12vw) translateY(29vh) scale(0.82);
  }

  89.4736842105% {
    transform: translateX(22vw) translateY(-3vh) scale(0.73);
  }

  94.7368421053% {
    transform: translateX(-10vw) translateY(-18vh) scale(0.77);
  }

  100% {
    transform: translateX(-42vw) translateY(21vh) scale(0.48);
  }
}

.firefly:nth-child(54) {
  animation-name: move54;
}

.firefly:nth-child(54)::before {
  animation-duration: 8s;
}

.firefly:nth-child(54)::after {
  animation-duration: 8s, 10432ms;
  animation-delay: 0ms, 3914ms;
}

@keyframes move54 {
  0% {
    transform: translateX(-44vw) translateY(29vh) scale(0.86);
  }

  4% {
    transform: translateX(-19vw) translateY(-18vh) scale(0.42);
  }

  8% {
    transform: translateX(9vw) translateY(-23vh) scale(0.62);
  }

  12% {
    transform: translateX(-18vw) translateY(32vh) scale(0.98);
  }

  16% {
    transform: translateX(45vw) translateY(-45vh) scale(0.99);
  }

  20% {
    transform: translateX(-29vw) translateY(-36vh) scale(0.72);
  }

  24% {
    transform: translateX(-47vw) translateY(-3vh) scale(0.48);
  }

  28% {
    transform: translateX(-24vw) translateY(-50vh) scale(0.6);
  }

  32% {
    transform: translateX(-32vw) translateY(-26vh) scale(0.47);
  }

  36% {
    transform: translateX(5vw) translateY(8vh) scale(0.45);
  }

  40% {
    transform: translateX(-1vw) translateY(4vh) scale(0.41);
  }

  44% {
    transform: translateX(-33vw) translateY(-25vh) scale(0.94);
  }

  48% {
    transform: translateX(-1vw) translateY(12vh) scale(0.44);
  }

  52% {
    transform: translateX(-24vw) translateY(28vh) scale(0.53);
  }

  56% {
    transform: translateX(-29vw) translateY(-32vh) scale(0.48);
  }

  60% {
    transform: translateX(-21vw) translateY(-49vh) scale(0.46);
  }

  64% {
    transform: translateX(15vw) translateY(33vh) scale(0.49);
  }

  68% {
    transform: translateX(2vw) translateY(20vh) scale(0.53);
  }

  72% {
    transform: translateX(-22vw) translateY(33vh) scale(0.96);
  }

  76% {
    transform: translateX(-48vw) translateY(-35vh) scale(0.94);
  }

  80% {
    transform: translateX(-7vw) translateY(47vh) scale(0.41);
  }

  84% {
    transform: translateX(-31vw) translateY(-21vh) scale(0.75);
  }

  88% {
    transform: translateX(-20vw) translateY(17vh) scale(0.26);
  }

  92% {
    transform: translateX(37vw) translateY(2vh) scale(0.32);
  }

  96% {
    transform: translateX(-24vw) translateY(13vh) scale(0.86);
  }

  100% {
    transform: translateX(5vw) translateY(48vh) scale(0.74);
  }
}

.firefly:nth-child(55) {
  animation-name: move55;
}

.firefly:nth-child(55)::before {
  animation-duration: 15s;
}

.firefly:nth-child(55)::after {
  animation-duration: 15s, 8624ms;
  animation-delay: 0ms, 3143ms;
}

@keyframes move55 {
  0% {
    transform: translateX(-2vw) translateY(-25vh) scale(0.67);
  }

  4.7619047619% {
    transform: translateX(-44vw) translateY(-19vh) scale(0.54);
  }

  9.5238095238% {
    transform: translateX(-36vw) translateY(36vh) scale(0.54);
  }

  14.2857142857% {
    transform: translateX(-22vw) translateY(27vh) scale(0.45);
  }

  19.0476190476% {
    transform: translateX(-10vw) translateY(-4vh) scale(0.29);
  }

  23.8095238095% {
    transform: translateX(-44vw) translateY(0vh) scale(0.44);
  }

  28.5714285714% {
    transform: translateX(-21vw) translateY(46vh) scale(0.31);
  }

  33.3333333333% {
    transform: translateX(8vw) translateY(20vh) scale(0.31);
  }

  38.0952380952% {
    transform: translateX(39vw) translateY(-38vh) scale(0.74);
  }

  42.8571428571% {
    transform: translateX(35vw) translateY(21vh) scale(0.67);
  }

  47.619047619% {
    transform: translateX(-48vw) translateY(-34vh) scale(0.25);
  }

  52.380952381% {
    transform: translateX(-33vw) translateY(-27vh) scale(0.66);
  }

  57.1428571429% {
    transform: translateX(27vw) translateY(23vh) scale(0.82);
  }

  61.9047619048% {
    transform: translateX(17vw) translateY(-45vh) scale(0.29);
  }

  66.6666666667% {
    transform: translateX(-44vw) translateY(49vh) scale(0.37);
  }

  71.4285714286% {
    transform: translateX(-14vw) translateY(35vh) scale(0.9);
  }

  76.1904761905% {
    transform: translateX(29vw) translateY(-38vh) scale(0.56);
  }

  80.9523809524% {
    transform: translateX(34vw) translateY(17vh) scale(0.96);
  }

  85.7142857143% {
    transform: translateX(15vw) translateY(-3vh) scale(0.55);
  }

  90.4761904762% {
    transform: translateX(-49vw) translateY(10vh) scale(0.95);
  }

  95.2380952381% {
    transform: translateX(31vw) translateY(-36vh) scale(0.41);
  }

  100% {
    transform: translateX(-31vw) translateY(-19vh) scale(0.62);
  }
}

.firefly:nth-child(56) {
  animation-name: move56;
}

.firefly:nth-child(56)::before {
  animation-duration: 14s;
}

.firefly:nth-child(56)::after {
  animation-duration: 14s, 8426ms;
  animation-delay: 0ms, 7825ms;
}

@keyframes move56 {
  0% {
    transform: translateX(35vw) translateY(-19vh) scale(0.87);
  }

  5.8823529412% {
    transform: translateX(14vw) translateY(-43vh) scale(0.47);
  }

  11.7647058824% {
    transform: translateX(46vw) translateY(-34vh) scale(0.97);
  }

  17.6470588235% {
    transform: translateX(-20vw) translateY(15vh) scale(0.84);
  }

  23.5294117647% {
    transform: translateX(11vw) translateY(-4vh) scale(0.69);
  }

  29.4117647059% {
    transform: translateX(-20vw) translateY(-43vh) scale(0.94);
  }

  35.2941176471% {
    transform: translateX(34vw) translateY(15vh) scale(0.83);
  }

  41.1764705882% {
    transform: translateX(-39vw) translateY(28vh) scale(0.71);
  }

  47.0588235294% {
    transform: translateX(-12vw) translateY(39vh) scale(0.26);
  }

  52.9411764706% {
    transform: translateX(-13vw) translateY(10vh) scale(0.67);
  }

  58.8235294118% {
    transform: translateX(-29vw) translateY(17vh) scale(0.71);
  }

  64.7058823529% {
    transform: translateX(45vw) translateY(-37vh) scale(0.26);
  }

  70.5882352941% {
    transform: translateX(-43vw) translateY(-38vh) scale(0.55);
  }

  76.4705882353% {
    transform: translateX(-14vw) translateY(36vh) scale(0.31);
  }

  82.3529411765% {
    transform: translateX(-17vw) translateY(7vh) scale(0.88);
  }

  88.2352941176% {
    transform: translateX(44vw) translateY(10vh) scale(0.36);
  }

  94.1176470588% {
    transform: translateX(-49vw) translateY(-18vh) scale(0.39);
  }

  100% {
    transform: translateX(-39vw) translateY(16vh) scale(0.66);
  }
}

.firefly:nth-child(57) {
  animation-name: move57;
}

.firefly:nth-child(57)::before {
  animation-duration: 9s;
}

.firefly:nth-child(57)::after {
  animation-duration: 9s, 10417ms;
  animation-delay: 0ms, 7091ms;
}

@keyframes move57 {
  0% {
    transform: translateX(-28vw) translateY(-33vh) scale(0.36);
  }

  5.2631578947% {
    transform: translateX(48vw) translateY(-10vh) scale(0.25);
  }

  10.5263157895% {
    transform: translateX(-9vw) translateY(-48vh) scale(0.54);
  }

  15.7894736842% {
    transform: translateX(-48vw) translateY(-23vh) scale(0.7);
  }

  21.0526315789% {
    transform: translateX(-32vw) translateY(22vh) scale(0.92);
  }

  26.3157894737% {
    transform: translateX(21vw) translateY(-27vh) scale(0.93);
  }

  31.5789473684% {
    transform: translateX(-10vw) translateY(-29vh) scale(0.51);
  }

  36.8421052632% {
    transform: translateX(-47vw) translateY(9vh) scale(0.65);
  }

  42.1052631579% {
    transform: translateX(8vw) translateY(33vh) scale(0.88);
  }

  47.3684210526% {
    transform: translateX(26vw) translateY(-15vh) scale(0.55);
  }

  52.6315789474% {
    transform: translateX(-12vw) translateY(-11vh) scale(0.72);
  }

  57.8947368421% {
    transform: translateX(14vw) translateY(18vh) scale(0.56);
  }

  63.1578947368% {
    transform: translateX(24vw) translateY(-48vh) scale(0.61);
  }

  68.4210526316% {
    transform: translateX(27vw) translateY(-40vh) scale(0.3);
  }

  73.6842105263% {
    transform: translateX(29vw) translateY(44vh) scale(0.43);
  }

  78.9473684211% {
    transform: translateX(-1vw) translateY(18vh) scale(0.38);
  }

  84.2105263158% {
    transform: translateX(-6vw) translateY(28vh) scale(0.75);
  }

  89.4736842105% {
    transform: translateX(6vw) translateY(30vh) scale(0.72);
  }

  94.7368421053% {
    transform: translateX(13vw) translateY(-10vh) scale(0.74);
  }

  100% {
    transform: translateX(15vw) translateY(28vh) scale(0.47);
  }
}

.firefly:nth-child(58) {
  animation-name: move58;
}

.firefly:nth-child(58)::before {
  animation-duration: 14s;
}

.firefly:nth-child(58)::after {
  animation-duration: 14s, 9162ms;
  animation-delay: 0ms, 2014ms;
}

@keyframes move58 {
  0% {
    transform: translateX(3vw) translateY(-22vh) scale(0.83);
  }

  4.7619047619% {
    transform: translateX(33vw) translateY(-6vh) scale(0.7);
  }

  9.5238095238% {
    transform: translateX(-40vw) translateY(-16vh) scale(0.83);
  }

  14.2857142857% {
    transform: translateX(47vw) translateY(-36vh) scale(0.28);
  }

  19.0476190476% {
    transform: translateX(22vw) translateY(5vh) scale(0.4);
  }

  23.8095238095% {
    transform: translateX(3vw) translateY(-42vh) scale(0.96);
  }

  28.5714285714% {
    transform: translateX(-37vw) translateY(-21vh) scale(0.8);
  }

  33.3333333333% {
    transform: translateX(-38vw) translateY(32vh) scale(0.92);
  }

  38.0952380952% {
    transform: translateX(-2vw) translateY(-15vh) scale(0.39);
  }

  42.8571428571% {
    transform: translateX(-49vw) translateY(-21vh) scale(0.58);
  }

  47.619047619% {
    transform: translateX(-16vw) translateY(-17vh) scale(0.78);
  }

  52.380952381% {
    transform: translateX(-18vw) translateY(45vh) scale(0.73);
  }

  57.1428571429% {
    transform: translateX(43vw) translateY(-31vh) scale(0.55);
  }

  61.9047619048% {
    transform: translateX(0vw) translateY(-40vh) scale(0.35);
  }

  66.6666666667% {
    transform: translateX(9vw) translateY(-33vh) scale(0.86);
  }

  71.4285714286% {
    transform: translateX(-44vw) translateY(-18vh) scale(0.61);
  }

  76.1904761905% {
    transform: translateX(27vw) translateY(15vh) scale(0.68);
  }

  80.9523809524% {
    transform: translateX(-29vw) translateY(-22vh) scale(0.57);
  }

  85.7142857143% {
    transform: translateX(48vw) translateY(-31vh) scale(0.83);
  }

  90.4761904762% {
    transform: translateX(1vw) translateY(21vh) scale(0.37);
  }

  95.2380952381% {
    transform: translateX(28vw) translateY(-17vh) scale(0.42);
  }

  100% {
    transform: translateX(-15vw) translateY(-18vh) scale(0.62);
  }
}

.firefly:nth-child(59) {
  animation-name: move59;
}

.firefly:nth-child(59)::before {
  animation-duration: 9s;
}

.firefly:nth-child(59)::after {
  animation-duration: 9s, 5354ms;
  animation-delay: 0ms, 740ms;
}

@keyframes move59 {
  0% {
    transform: translateX(-44vw) translateY(-32vh) scale(0.76);
  }

  4.1666666667% {
    transform: translateX(18vw) translateY(-29vh) scale(0.98);
  }

  8.3333333333% {
    transform: translateX(45vw) translateY(-45vh) scale(0.38);
  }

  12.5% {
    transform: translateX(-4vw) translateY(9vh) scale(0.42);
  }

  16.6666666667% {
    transform: translateX(-7vw) translateY(-20vh) scale(0.78);
  }

  20.8333333333% {
    transform: translateX(-1vw) translateY(-31vh) scale(0.33);
  }

  25% {
    transform: translateX(-45vw) translateY(33vh) scale(0.74);
  }

  29.1666666667% {
    transform: translateX(46vw) translateY(30vh) scale(0.97);
  }

  33.3333333333% {
    transform: translateX(38vw) translateY(34vh) scale(0.92);
  }

  37.5% {
    transform: translateX(5vw) translateY(-16vh) scale(0.97);
  }

  41.6666666667% {
    transform: translateX(12vw) translateY(15vh) scale(0.37);
  }

  45.8333333333% {
    transform: translateX(-38vw) translateY(37vh) scale(0.5);
  }

  50% {
    transform: translateX(-30vw) translateY(-30vh) scale(0.74);
  }

  54.1666666667% {
    transform: translateX(-42vw) translateY(-11vh) scale(0.5);
  }

  58.3333333333% {
    transform: translateX(-40vw) translateY(-41vh) scale(0.76);
  }

  62.5% {
    transform: translateX(22vw) translateY(-41vh) scale(0.41);
  }

  66.6666666667% {
    transform: translateX(0vw) translateY(45vh) scale(0.99);
  }

  70.8333333333% {
    transform: translateX(11vw) translateY(25vh) scale(0.72);
  }

  75% {
    transform: translateX(-4vw) translateY(-42vh) scale(0.65);
  }

  79.1666666667% {
    transform: translateX(16vw) translateY(38vh) scale(0.92);
  }

  83.3333333333% {
    transform: translateX(37vw) translateY(44vh) scale(0.73);
  }

  87.5% {
    transform: translateX(12vw) translateY(10vh) scale(0.93);
  }

  91.6666666667% {
    transform: translateX(49vw) translateY(-1vh) scale(0.31);
  }

  95.8333333333% {
    transform: translateX(-44vw) translateY(6vh) scale(0.56);
  }

  100% {
    transform: translateX(-46vw) translateY(0vh) scale(0.44);
  }
}

.firefly:nth-child(60) {
  animation-name: move60;
}

.firefly:nth-child(60)::before {
  animation-duration: 9s;
}

.firefly:nth-child(60)::after {
  animation-duration: 9s, 8904ms;
  animation-delay: 0ms, 2507ms;
}

@keyframes move60 {
  0% {
    transform: translateX(26vw) translateY(36vh) scale(0.82);
  }

  4.7619047619% {
    transform: translateX(13vw) translateY(-45vh) scale(0.39);
  }

  9.5238095238% {
    transform: translateX(-46vw) translateY(-40vh) scale(0.68);
  }

  14.2857142857% {
    transform: translateX(34vw) translateY(-19vh) scale(0.96);
  }

  19.0476190476% {
    transform: translateX(-39vw) translateY(42vh) scale(0.83);
  }

  23.8095238095% {
    transform: translateX(-6vw) translateY(-26vh) scale(0.57);
  }

  28.5714285714% {
    transform: translateX(12vw) translateY(2vh) scale(0.68);
  }

  33.3333333333% {
    transform: translateX(-16vw) translateY(34vh) scale(0.98);
  }

  38.0952380952% {
    transform: translateX(48vw) translateY(-30vh) scale(0.52);
  }

  42.8571428571% {
    transform: translateX(5vw) translateY(-21vh) scale(0.63);
  }

  47.619047619% {
    transform: translateX(11vw) translateY(2vh) scale(0.93);
  }

  52.380952381% {
    transform: translateX(-10vw) translateY(-39vh) scale(0.3);
  }

  57.1428571429% {
    transform: translateX(9vw) translateY(-37vh) scale(0.75);
  }

  61.9047619048% {
    transform: translateX(29vw) translateY(25vh) scale(0.79);
  }

  66.6666666667% {
    transform: translateX(19vw) translateY(37vh) scale(0.28);
  }

  71.4285714286% {
    transform: translateX(23vw) translateY(-41vh) scale(0.75);
  }

  76.1904761905% {
    transform: translateX(-11vw) translateY(13vh) scale(0.82);
  }

  80.9523809524% {
    transform: translateX(-17vw) translateY(25vh) scale(0.74);
  }

  85.7142857143% {
    transform: translateX(41vw) translateY(-32vh) scale(0.49);
  }

  90.4761904762% {
    transform: translateX(-21vw) translateY(27vh) scale(0.35);
  }

  95.2380952381% {
    transform: translateX(-14vw) translateY(44vh) scale(0.54);
  }

  100% {
    transform: translateX(47vw) translateY(17vh) scale(0.28);
  }
}

@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 magenta;
  }
}

/*# sourceMappingURL=style.css.map */