纯css实现烟花绽放动画效果

代码语言:html

所属分类:动画

代码描述:纯css实现烟花绽放动画效果

代码标签: 烟花 绽放 动画 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<style>
body {
  background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
  height: 100vh;
  overflow: hidden;
  display: -webkit-box;
  display: flex;
  font-family: 'Anton', sans-serif;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-perspective: 600px;
          perspective: 600px;
}

div {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.camera.-y {
  -webkit-animation: rotate 30s linear infinite;
          animation: rotate 30s linear infinite;
}

.fireworks {
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}

.spark {
  position: absolute;
  width: 400px;
  height: 400px;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}

.fire {
  position: absolute;
  left: -3px;
  width: 5px;
  height: 5px;
  background: #fa2828;
}
.fire::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: #e6c828;
  -webkit-transform: translateZ(0.1px);
          transform: translateZ(0.1px);
}

.line:nth-child(1) {
  -webkit-transform: rotateY(71deg);
          transform: rotateY(71deg);
}
.line:nth-child(1) .spark {
  width: 264px;
  height: 396px;
  -webkit-animation: spark1 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark1 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(1) .fire {
  -webkit-animation: fire 1913ms -537ms linear infinite;
          animation: fire 1913ms -537ms linear infinite;
}
@-webkit-keyframes spark1 {
  0% {
    -webkit-transform: translateY(641px);
            transform: translateY(641px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(63deg) translateX(277px);
            transform: rotateZ(63deg) translateX(277px);
  }
}
@keyframes spark1 {
  0% {
    -webkit-transform: translateY(641px);
            transform: translateY(641px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(63deg) translateX(277px);
            transform: rotateZ(63deg) translateX(277px);
  }
}
.line:nth-child(2) {
  -webkit-transform: rotateY(25deg);
          transform: rotateY(25deg);
}
.line:nth-child(2) .spark {
  width: 304px;
  height: 226px;
  -webkit-animation: spark2 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark2 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(2) .fire {
  -webkit-animation: fire 1984ms -902ms linear infinite;
          animation: fire 1984ms -902ms linear infinite;
}
@-webkit-keyframes spark2 {
  0% {
    -webkit-transform: translateY(611px);
            transform: translateY(611px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(180deg) translateX(269px);
            transform: rotateZ(180deg) translateX(269px);
  }
}
@keyframes spark2 {
  0% {
    -webkit-transform: translateY(611px);
            transform: translateY(611px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(180deg) translateX(269px);
            transform: rotateZ(180deg) translateX(269px);
  }
}
.line:nth-child(3) {
  -webkit-transform: rotateY(324deg);
          transform: rotateY(324deg);
}
.line:nth-child(3) .spark {
  width: 306px;
  height: 274px;
  -webkit-animation: spark3 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark3 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(3) .fire {
  -webkit-animation: fire 1753ms -403ms linear infinite;
          animation: fire 1753ms -403ms linear infinite;
}
@-webkit-keyframes spark3 {
  0% {
    -webkit-transform: translateY(565px);
            transform: translateY(565px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(227deg) translateX(277px);
            transform: rotateZ(227deg) translateX(277px);
  }
}
@keyframes spark3 {
  0% {
    -webkit-transform: translateY(565px);
            transform: translateY(565px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(227deg) translateX(277px);
            transform: rotateZ(227deg) translateX(277px);
  }
}
.line:nth-child(4) {
  -webkit-transform: rotateY(53deg);
          transform: rotateY(53deg);
}
.line:nth-child(4) .spark {
  width: 372px;
  height: 377px;
  -webkit-animation: spark4 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark4 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(4) .fire {
  -webkit-animation: fire 1779ms -616ms linear infinite;
          animation: fire 1779ms -616ms linear infinite;
}
@-webkit-keyframes spark4 {
  0% {
    -webkit-transform: translateY(545px);
            transform: translateY(545px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(218deg) translateX(138px);
            transform: rotateZ(218deg) translateX(138px);
  }
}
@keyframes spark4 {
  0% {
    -webkit-transform: translateY(545px);
            transform: translateY(545px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(218deg) translateX(138px);
            transform: rotateZ(218deg) translateX(138px);
  }
}
.line:nth-child(5) {
  -webkit-transform: rotateY(227deg);
          transform: rotateY(227deg);
}
.line:nth-child(5) .spark {
  width: 399px;
  height: 208px;
  -webkit-animation: spark5 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark5 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(5) .fire {
  -webkit-animation: fire 1088ms -422ms linear infinite;
          animation: fire 1088ms -422ms linear infinite;
}
@-webkit-keyframes spark5 {
  0% {
    -webkit-transform: translateY(503px);
            transform: translateY(503px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(92deg) translateX(141px);
            transform: rotateZ(92deg) translateX(141px);
  }
}
@keyframes spark5 {
  0% {
    -webkit-transform: translateY(503px);
            transform: translateY(503px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(92deg) translateX(141px);
            transform: rotateZ(92deg) translateX(141px);
  }
}
.line:nth-child(6) {
  -webkit-transform: rotateY(236deg);
          transform: rotateY(236deg);
}
.line:nth-child(6) .spark {
  width: 263px;
  height: 246px;
  -webkit-animation: spark6 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark6 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(6) .fire {
  -webkit-animation: fire 1566ms -185ms linear infinite;
          animation: fire 1566ms -185ms linear infinite;
}
@-webkit-keyframes spark6 {
  0% {
    -webkit-transform: translateY(594px);
            transform: translateY(594px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(265deg) translateX(132px);
            transform: rotateZ(265deg) translateX(132px);
  }
}
@keyframes spark6 {
  0% {
    -webkit-transform: translateY(594px);
            transform: translateY(594px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(265deg) translateX(132px);
            transform: rotateZ(265deg) translateX(132px);
  }
}
.line:nth-child(7) {
  -webkit-transform: rotateY(197deg);
          transform: rotateY(197deg);
}
.line:nth-child(7) .spark {
  width: 209px;
  height: 279px;
  -webkit-animation: spark7 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark7 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(7) .fire {
  -webkit-animation: fire 1294ms -56ms linear infinite;
          animation: fire 1294ms -56ms linear infinite;
}
@-webkit-keyframes spark7 {
  0% {
    -webkit-transform: translateY(507px);
            transform: translateY(507px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(284deg) translateX(235px);
            transform: rotateZ(284deg) translateX(235px);
  }
}
@keyframes spark7 {
  0% {
    -webkit-transform: translateY(507px);
            transform: translateY(507px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(284deg) translateX(235px);
            transform: rotateZ(284deg) translateX(235px);
  }
}
.line:nth-child(8) {
  -webkit-transform: rotateY(134deg);
          transform: rotateY(134deg);
}
.line:nth-child(8) .spark {
  width: 372px;
  height: 340px;
  -webkit-animation: spark8 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark8 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(8) .fire {
  -webkit-animation: fire 1759ms -14ms linear infinite;
          animation: fire 1759ms -14ms linear infinite;
}
@-webkit-keyframes spark8 {
  0% {
    -webkit-transform: translateY(593px);
            transform: translateY(593px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(131deg) translateX(139px);
            transform: rotateZ(131deg) translateX(139px);
  }
}
@keyframes spark8 {
  0% {
    -webkit-transform: translateY(593px);
            transform: translateY(593px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(131deg) translateX(139px);
            transform: rotateZ(131deg) translateX(139px);
  }
}
.line:nth-child(9) {
  -webkit-transform: rotateY(173deg);
          transform: rotateY(173deg);
}
.line:nth-child(9) .spark {
  width: 348px;
  height: 271px;
  -webkit-animation: spark9 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark9 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(9) .fire {
  -webkit-animation: fire 1495ms -280ms linear infinite;
          animation: fire 1495ms -280ms linear infinite;
}
@-webkit-keyframes spark9 {
  0% {
    -webkit-transform: translateY(566px);
            transform: translateY(566px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(89deg) translateX(238px);
            transform: rotateZ(89deg) translateX(238px);
  }
}
@keyframes spark9 {
  0% {
    -webkit-transform: translateY(566px);
            transform: translateY(566px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(89deg) translateX(238px);
            transform: rotateZ(89deg) translateX(238px);
  }
}
.line:nth-child(10) {
  -webkit-transform: rotateY(87deg);
          transform: rotateY(87deg);
}
.line:nth-child(10) .spark {
  width: 380px;
  height: 256px;
  -webkit-animation: spark10 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark10 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(10) .fire {
  -webkit-animation: fire 1170ms -343ms linear infinite;
          animation: fire 1170ms -343ms linear infinite;
}
@-webkit-keyframes spark10 {
  0% {
    -webkit-transform: translateY(612px);
            transform: translateY(612px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(91deg) translateX(269px);
            transform: rotateZ(91deg) translateX(269px);
  }
}
@keyframes spark10 {
  0% {
    -webkit-transform: translateY(612px);
            transform: translateY(612px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(91deg) translateX(269px);
            transform: rotateZ(91deg) translateX(269px);
  }
}
.line:nth-child(11) {
  -webkit-transform: rotateY(266deg);
          transform: rotateY(266deg);
}
.line:nth-child(11) .spark {
  width: 225px;
  height: 335px;
  -webkit-animation: spark11 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark11 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(11) .fire {
  -webkit-animation: fire 1448ms -247ms linear infinite;
          animation: fire 1448ms -247ms linear infinite;
}
@-webkit-keyframes spark11 {
  0% {
    -webkit-transform: translateY(521px);
            transform: translateY(521px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(268deg) translateX(104px);
            transform: rotateZ(268deg) translateX(104px);
  }
}
@keyframes spark11 {
  0% {
    -webkit-transform: translateY(521px);
            transform: translateY(521px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(268deg) translateX(104px);
            transform: rotateZ(268deg) translateX(104px);
  }
}
.line:nth-child(12) {
  -webkit-transform: rotateY(187deg);
          transform: rotateY(187deg);
}
.line:nth-child(12) .spark {
  width: 203px;
  height: 376px;
  -webkit-animation: spark12 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark12 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(12) .fire {
  -webkit-animation: fire 1620ms -314ms linear infinite;
          animation: fire 1620ms -314ms linear infinite;
}
@-webkit-keyframes spark12 {
  0% {
    -webkit-transform: translateY(553px);
            transform: translateY(553px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(137deg) translateX(248px);
            transform: rotateZ(137deg) translateX(248px);
  }
}
@keyframes spark12 {
  0% {
    -webkit-transform: translateY(553px);
            transform: translateY(553px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(137deg) translateX(248px);
            transform: rotateZ(137deg) translateX(248px);
  }
}
.line:nth-child(13) {
  -webkit-transform: rotateY(126deg);
          transform: rotateY(126deg);
}
.line:nth-child(13) .spark {
  width: 341px;
  height: 251px;
  -webkit-animation: spark13 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark13 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(13) .fire {
  -webkit-animation: fire 1131ms -516ms linear infinite;
          animation: fire 1131ms -516ms linear infinite;
}
@-webkit-keyframes spark13 {
  0% {
    -webkit-transform: translateY(575px);
            transform: translateY(575px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(131deg) translateX(226px);
            transform: rotateZ(131deg) translateX(226px);
  }
}
@keyframes spark13 {
  0% {
    -webkit-transform: translateY(575px);
            transform: translateY(575px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(131deg) translateX(226px);
            transform: rotateZ(131deg) translateX(226px);
  }
}
.line:nth-child(14) {
  -webkit-transform: rotateY(127deg);
          transform: rotateY(127deg);
}
.line:nth-child(14) .spark {
  width: 372px;
  height: 301px;
  -webkit-animation: spark14 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark14 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(14) .fire {
  -webkit-animation: fire 1226ms -432ms linear infinite;
          animation: fire 1226ms -432ms linear infinite;
}
@-webkit-keyframes spark14 {
  0% {
    -webkit-transform: translateY(604px);
            transform: translateY(604px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(60deg) translateX(122px);
            transform: rotateZ(60deg) translateX(122px);
  }
}
@keyframes spark14 {
  0% {
    -webkit-transform: translateY(604px);
            transform: translateY(604px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(60deg) translateX(122px);
            transform: rotateZ(60deg) translateX(122px);
  }
}
.line:nth-child(15) {
  -webkit-transform: rotateY(171deg);
          transform: rotateY(171deg);
}
.line:nth-child(15) .spark {
  width: 364px;
  height: 317px;
  -webkit-animation: spark15 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark15 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(15) .fire {
  -webkit-animation: fire 1067ms -975ms linear infinite;
          animation: fire 1067ms -975ms linear infinite;
}
@-webkit-keyframes spark15 {
  0% {
    -webkit-transform: translateY(575px);
            transform: translateY(575px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(291deg) translateX(262px);
            transform: rotateZ(291deg) translateX(262px);
  }
}
@keyframes spark15 {
  0% {
    -webkit-transform: translateY(575px);
            transform: translateY(575px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(291deg) translateX(262px);
            transform: rotateZ(291deg) translateX(262px);
  }
}
.line:nth-child(16) {
  -webkit-transform: rotateY(215deg);
          transform: rotateY(215deg);
}
.line:nth-child(16) .spark {
  width: 378px;
  height: 362px;
  -webkit-animation: spark16 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark16 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(16) .fire {
  -webkit-animation: fire 1871ms -69ms linear infinite;
          animation: fire 1871ms -69ms linear infinite;
}
@-webkit-keyframes spark16 {
  0% {
    -webkit-transform: translateY(609px);
            transform: translateY(609px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(312deg) translateX(163px);
            transform: rotateZ(312deg) translateX(163px);
  }
}
@keyframes spark16 {
  0% {
    -webkit-transform: translateY(609px);
            transform: translateY(609px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(312deg) translateX(163px);
            transform: rotateZ(312deg) translateX(163px);
  }
}
.line:nth-child(17) {
  -webkit-transform: rotateY(171deg);
          transform: rotateY(171deg);
}
.line:nth-child(17) .spark {
  width: 331px;
  height: 251px;
  -webkit-animation: spark17 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark17 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(17) .fire {
  -webkit-animation: fire 1923ms -371ms linear infinite;
          animation: fire 1923ms -371ms linear infinite;
}
@-webkit-keyframes spark17 {
  0% {
    -webkit-transform: translateY(604px);
            transform: translateY(604px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(279deg) translateX(204px);
            transform: rotateZ(279deg) translateX(204px);
  }
}
@keyframes spark17 {
  0% {
    -webkit-transform: translateY(604px);
            transform: translateY(604px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(279deg) translateX(204px);
            transform: rotateZ(279deg) translateX(204px);
  }
}
.line:nth-child(18) {
  -webkit-transform: rotateY(70deg);
          transform: rotateY(70deg);
}
.line:nth-child(18) .spark {
  width: 209px;
  height: 299px;
  -webkit-animation: spark18 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark18 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(18) .fire {
  -webkit-animation: fire 1377ms -765ms linear infinite;
          animation: fire 1377ms -765ms linear infinite;
}
@-webkit-keyframes spark18 {
  0% {
    -webkit-transform: translateY(523px);
            transform: translateY(523px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(216deg) translateX(170px);
            transform: rotateZ(216deg) translateX(170px);
  }
}
@keyframes spark18 {
  0% {
    -webkit-transform: translateY(523px);
            transform: translateY(523px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(216deg) translateX(170px);
            transform: rotateZ(216deg) translateX(170px);
  }
}
.line:nth-child(19) {
  -webkit-transform: rotateY(32deg);
          transform: rotateY(32deg);
}
.line:nth-child(19) .spark {
  width: 349px;
  height: 273px;
  -webkit-animation: spark19 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark19 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(19) .fire {
  -webkit-animation: fire 1736ms -581ms linear infinite;
          animation: fire 1736ms -581ms linear infinite;
}
@-webkit-keyframes spark19 {
  0% {
    -webkit-transform: translateY(644px);
            transform: translateY(644px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(97deg) translateX(129px);
            transform: rotateZ(97deg) translateX(129px);
  }
}
@keyframes spark19 {
  0% {
    -webkit-transform: translateY(644px);
            transform: translateY(644px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(97deg) translateX(129px);
            transform: rotateZ(97deg) translateX(129px);
  }
}
.line:nth-child(20) {
  -webkit-transform: rotateY(120deg);
          transform: rotateY(120deg);
}
.line:nth-child(20) .spark {
  width: 315px;
  height: 208px;
  -webkit-animation: spark20 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark20 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(20) .fire {
  -webkit-animation: fire 1704ms -356ms linear infinite;
          animation: fire 1704ms -356ms linear infinite;
}
@-webkit-keyframes spark20 {
  0% {
    -webkit-transform: translateY(603px);
            transform: translateY(603px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(84deg) translateX(198px);
            transform: rotateZ(84deg) translateX(198px);
  }
}
@keyframes spark20 {
  0% {
    -webkit-transform: translateY(603px);
            transform: translateY(603px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(84deg) translateX(198px);
            transform: rotateZ(84deg) translateX(198px);
  }
}
.line:nth-child(21) {
  -webkit-transform: rotateY(211deg);
          transform: rotateY(211deg);
}
.line:nth-child(21) .spark {
  width: 233px;
  height: 344px;
  -webkit-animation: spark21 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark21 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(21) .fire {
  -webkit-animation: fire 1955ms -761ms linear infinite;
          animation: fire 1955ms -761ms linear infinite;
}
@-webkit-keyframes spark21 {
  0% {
    -webkit-transform: translateY(619px);
            transform: translateY(619px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(254deg) translateX(233px);
            transform: rotateZ(254deg) translateX(233px);
  }
}
@keyframes spark21 {
  0% {
    -webkit-transform: translateY(619px);
            transform: translateY(619px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(254deg) translateX(233px);
            transform: rotateZ(254deg) translateX(233px);
  }
}
.line:nth-child(22) {
  -webkit-transform: rotateY(133deg);
          transform: rotateY(133deg);
}
.line:nth-child(22) .spark {
  width: 355px;
  height: 208px;
  -webkit-animation: spark22 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark22 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(22) .fire {
  -webkit-animation: fire 1482ms -537ms linear infinite;
          animation: fire 1482ms -537ms linear infinite;
}
@-webkit-keyframes spark22 {
  0% {
    -webkit-transform: translateY(566px);
            transform: translateY(566px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(144deg) translateX(130px);
            transform: rotateZ(144deg) translateX(130px);
  }
}
@keyframes spark22 {
  0% {
    -webkit-transform: translateY(566px);
            transform: translateY(566px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(144deg) translateX(130px);
            transform: rotateZ(144deg) translateX(130px);
  }
}
.line:nth-child(23) {
  -webkit-transform: rotateY(145deg);
          transform: rotateY(145deg);
}
.line:nth-child(23) .spark {
  width: 396px;
  height: 248px;
  -webkit-animation: spark23 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark23 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(23) .fire {
  -webkit-animation: fire 1999ms -256ms linear infinite;
          animation: fire 1999ms -256ms linear infinite;
}
@-webkit-keyframes spark23 {
  0% {
    -webkit-transform: translateY(647px);
            transform: translateY(647px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(109deg) translateX(118px);
            transform: rotateZ(109deg) translateX(118px);
  }
}
@keyframes spark23 {
  0% {
    -webkit-transform: translateY(647px);
            transform: translateY(647px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(109deg) translateX(118px);
            transform: rotateZ(109deg) translateX(118px);
  }
}
.line:nth-child(24) {
  -webkit-transform: rotateY(213deg);
          transform: rotateY(213deg);
}
.line:nth-child(24) .spark {
  width: 224px;
  height: 337px;
  -webkit-animation: spark24 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark24 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(24) .fire {
  -webkit-animation: fire 1222ms -312ms linear infinite;
          animation: fire 1222ms -312ms linear infinite;
}
@-webkit-keyframes spark24 {
  0% {
    -webkit-transform: translateY(641px);
            transform: translateY(641px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(19deg) translateX(221px);
            transform: rotateZ(19deg) translateX(221px);
  }
}
@keyframes spark24 {
  0% {
    -webkit-transform: translateY(641px);
            transform: translateY(641px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(19deg) translateX(221px);
            transform: rotateZ(19deg) translateX(221px);
  }
}
.line:nth-child(25) {
  -webkit-transform: rotateY(4deg);
          transform: rotateY(4deg);
}
.line:nth-child(25) .spark {
  width: 286px;
  height: 314px;
  -webkit-animation: spark25 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark25 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(25) .fire {
  -webkit-animation: fire 1230ms -121ms linear infinite;
          animation: fire 1230ms -121ms linear infinite;
}
@-webkit-keyframes spark25 {
  0% {
    -webkit-transform: translateY(560px);
            transform: translateY(560px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(273deg) translateX(125px);
            transform: rotateZ(273deg) translateX(125px);
  }
}
@keyframes spark25 {
  0% {
    -webkit-transform: translateY(560px);
            transform: translateY(560px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(273deg) translateX(125px);
            transform: rotateZ(273deg) translateX(125px);
  }
}
.line:nth-child(26) {
  -webkit-transform: rotateY(36deg);
          transform: rotateY(36deg);
}
.line:nth-child(26) .spark {
  width: 317px;
  height: 313px;
  -webkit-animation: spark26 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark26 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(26) .fire {
  -webkit-animation: fire 1230ms -862ms linear infinite;
          animation: fire 1230ms -862ms linear infinite;
}
@-webkit-keyframes spark26 {
  0% {
    -webkit-transform: translateY(560px);
            transform: translateY(560px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(217deg) translateX(209px);
            transform: rotateZ(217deg) translateX(209px);
  }
}
@keyframes spark26 {
  0% {
    -webkit-transform: translateY(560px);
            transform: translateY(560px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(217deg) translateX(209px);
            transform: rotateZ(217deg) translateX(209px);
  }
}
.line:nth-child(27) {
  -webkit-transform: rotateY(218deg);
          transform: rotateY(218deg);
}
.line:nth-child(27) .spark {
  width: 247px;
  height: 234px;
  -webkit-animation: spark27 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark27 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(27) .fire {
  -webkit-animation: fire 1953ms -99ms linear infinite;
          animation: fire 1953ms -99ms linear infinite;
}
@-webkit-keyframes spark27 {
  0% {
    -webkit-transform: translateY(625px);
            transform: translateY(625px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(359deg) translateX(211px);
            transform: rotateZ(359deg) translateX(211px);
  }
}
@keyframes spark27 {
  0% {
    -webkit-transform: translateY(625px);
            transform: translateY(625px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(359deg) translateX(211px);
            transform: rotateZ(359deg) translateX(211px);
  }
}
.line:nth-child(28) {
  -webkit-transform: rotateY(19deg);
          transform: rotateY(19deg);
}
.line:nth-child(28) .spark {
  width: 285px;
  height: 268px;
  -webkit-animation: spark28 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark28 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(28) .fire {
  -webkit-animation: fire 1329ms -410ms linear infinite;
          animation: fire 1329ms -410ms linear infinite;
}
@-webkit-keyframes spark28 {
  0% {
    -webkit-transform: translateY(631px);
            transform: translateY(631px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(16deg) translateX(158px);
            transform: rotateZ(16deg) translateX(158px);
  }
}
@keyframes spark28 {
  0% {
    -webkit-transform: translateY(631px);
            transform: translateY(631px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(16deg) translateX(158px);
            transform: rotateZ(16deg) translateX(158px);
  }
}
.line:nth-child(29) {
  -webkit-transform: rotateY(267deg);
          transform: rotateY(267deg);
}
.line:nth-child(29) .spark {
  width: 225px;
  height: 391px;
  -webkit-animation: spark29 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark29 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(29) .fire {
  -webkit-animation: fire 1420ms -496ms linear infinite;
          animation: fire 1420ms -496ms linear infinite;
}
@-webkit-keyframes spark29 {
  0% {
    -webkit-transform: translateY(589px);
            transform: translateY(589px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(162deg) translateX(146px);
            transform: rotateZ(162deg) translateX(146px);
  }
}
@keyframes spark29 {
  0% {
    -webkit-transform: translateY(589px);
            transform: translateY(589px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(162deg) translateX(146px);
            transform: rotateZ(162deg) translateX(146px);
  }
}
.line:nth-child(30) {
  -webkit-transform: rotateY(299deg);
          transform: rotateY(299deg);
}
.line:nth-child(30) .spark {
  width: 210px;
  height: 243px;
  -webkit-animation: spark30 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark30 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(30) .fire {
  -webkit-animation: fire 1994ms -373ms linear infinite;
          animation: fire 1994ms -373ms linear infinite;
}
@-webkit-keyframes spark30 {
  0% {
    -webkit-transform: translateY(598px);
            transform: translateY(598px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(44deg) translateX(231px);
            transform: rotateZ(44deg) translateX(231px);
  }
}
@keyframes spark30 {
  0% {
    -webkit-transform: translateY(598px);
            transform: translateY(598px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(44deg) translateX(231px);
            transform: rotateZ(44deg) translateX(231px);
  }
}
.line:nth-child(31) {
  -webkit-transform: rotateY(221deg);
          transform: rotateY(221deg);
}
.line:nth-child(31) .spark {
  width: 295px;
  height: 203px;
  -webkit-animation: spark31 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark31 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(31) .fire {
  -webkit-animation: fire 1598ms -699ms linear infinite;
          animation: fire 1598ms -699ms linear infinite;
}
@-webkit-keyframes spark31 {
  0% {
    -webkit-transform: translateY(525px);
            transform: translateY(525px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(143deg) translateX(258px);
            transform: rotateZ(143deg) translateX(258px);
  }
}
@keyframes spark31 {
  0% {
    -webkit-transform: translateY(525px);
            transform: translateY(525px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(143deg) translateX(258px);
            transform: rotateZ(143deg) translateX(258px);
  }
}
.line:nth-child(32) {
  -webkit-transform: rotateY(217deg);
          transform: rotateY(217deg);
}
.line:nth-child(32) .spark {
  width: 384px;
  height: 354px;
  -webkit-animation: spark32 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark32 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(32) .fire {
  -webkit-animation: fire 1632ms -590ms linear infinite;
          animation: fire 1632ms -590ms linear infinite;
}
@-webkit-keyframes spark32 {
  0% {
    -webkit-transform: translateY(630px);
            transform: translateY(630px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(97deg) translateX(130px);
            transform: rotateZ(97deg) translateX(130px);
  }
}
@keyframes spark32 {
  0% {
    -webkit-transform: translateY(630px);
            transform: translateY(630px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(97deg) translateX(130px);
            transform: rotateZ(97deg) translateX(130px);
  }
}
.line:nth-child(33) {
  -webkit-transform: rotateY(152deg);
          transform: rotateY(152deg);
}
.line:nth-child(33) .spark {
  width: 391px;
  height: 229px;
  -webkit-animation: spark33 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark33 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(33) .fire {
  -webkit-animation: fire 1558ms -177ms linear infinite;
          animation: fire 1558ms -177ms linear infinite;
}
@-webkit-keyframes spark33 {
  0% {
    -webkit-transform: translateY(577px);
            transform: translateY(577px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(337deg) translateX(287px);
            transform: rotateZ(337deg) translateX(287px);
  }
}
@keyframes spark33 {
  0% {
    -webkit-transform: translateY(577px);
            transform: translateY(577px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(337deg) translateX(287px);
            transform: rotateZ(337deg) translateX(287px);
  }
}
.line:nth-child(34) {
  -webkit-transform: rotateY(134deg);
          transform: rotateY(134deg);
}
.line:nth-child(34) .spark {
  width: 354px;
  height: 396px;
  -webkit-animation: spark34 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark34 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(34) .fire {
  -webkit-animation: fire 1902ms -198ms linear infinite;
          animation: fire 1902ms -198ms linear infinite;
}
@-webkit-keyframes spark34 {
  0% {
    -webkit-transform: translateY(637px);
            transform: translateY(637px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(87deg) translateX(280px);
            transform: rotateZ(87deg) translateX(280px);
  }
}
@keyframes spark34 {
  0% {
    -webkit-transform: translateY(637px);
            transform: translateY(637px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(87deg) translateX(280px);
            transform: rotateZ(87deg) translateX(280px);
  }
}
.line:nth-child(35) {
  -webkit-transform: rotateY(132deg);
          transform: rotateY(132deg);
}
.line:nth-child(35) .spark {
  width: 394px;
  height: 353px;
  -webkit-animation: spark35 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark35 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(35) .fire {
  -webkit-animation: fire 1950ms -711ms linear infinite;
          animation: fire 1950ms -711ms linear infinite;
}
@-webkit-keyframes spark35 {
  0% {
    -webkit-transform: translateY(587px);
            transform: translateY(587px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(355deg) translateX(199px);
            transform: rotateZ(355deg) translateX(199px);
  }
}
@keyframes spark35 {
  0% {
    -webkit-transform: translateY(587px);
            transform: translateY(587px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(355deg) translateX(199px);
            transform: rotateZ(355deg) translateX(199px);
  }
}
.line:nth-child(36) {
  -webkit-transform: rotateY(170deg);
          transform: rotateY(170deg);
}
.line:nth-child(36) .spark {
  width: 367px;
  height: 210px;
  -webkit-animation: spark36 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark36 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(36) .fire {
  -webkit-animation: fire 1330ms -632ms linear infinite;
          animation: fire 1330ms -632ms linear infinite;
}
@-webkit-keyframes spark36 {
  0% {
    -webkit-transform: translateY(591px);
            transform: translateY(591px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(115deg) translateX(106px);
            transform: rotateZ(115deg) translateX(106px);
  }
}
@keyframes spark36 {
  0% {
    -webkit-transform: translateY(591px);
            transform: translateY(591px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(115deg) translateX(106px);
            transform: rotateZ(115deg) translateX(106px);
  }
}
.line:nth-child(37) {
  -webkit-transform: rotateY(79deg);
          transform: rotateY(79deg);
}
.line:nth-child(37) .spark {
  width: 278px;
  height: 313px;
  -webkit-animation: spark37 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
          animation: spark37 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(37) .fire {
  -webkit-animation: fire 1068ms -222ms linear infinite;
          animation: fire 1068ms -222ms linear infinite;
}
@-webkit-keyframes spark37 {
  0% {
    -webkit-transform: translateY(538px);
            transform: translateY(538px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: rotateZ(259deg) translateX(201px);
            transform: rotateZ(259deg) translateX(201px);
  }
}
@keyframes spark37 {
  0% {
    -webkit-transform: translateY(538px);
            transform: translateY(538px);
  }
  50% {
    -webkit-transform: t.........完整代码请登录后点击上方下载按钮下载查看

网友评论0