@import url("https://fonts.googleapis.com/css?family=Concert+One|Pacifico");
.mobile {
  position: fixed;
  text-align: center;
  width: 100%;
  top: 50px;
  font-size: 90px;
  display: block;
}

h1, h2, span {
  display: none;
}

@media screen and (min-width: 670px) {
  .mobile {
    display: none;
  }

  h1, h2, span {
    display: block;
  }

  body {
    background: linear-gradient(to right, #e2b8f7, #d4bafa, #c7bcfb, #b9befb, #acbff9);
    cursor: crosshair;
    perspective: 1000px;
    transform-style: preserve-3d;
    font-family: "Pacifico",cursive;
    overflow: hidden;
  }

  h1 {
    position: fixed;
    text-align: center;
    width: 100%;
    top: 120px;
    font-size: 90px;
    background: -webkit-linear-gradient(0deg, #ceadfc 0%, #a3bbfb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Concert One', cursive;
    font-weight: 400;
    z-index: -1;
    letter-spacing: 6px;
  }

  span {
    position: fixed;
    text-align: center;
    width: 100%;
    top: 70px;
    font-size: 70px;
  }

  h2 {
    position: fixed;
    text-align: center;
    width: 100%;
    top: 50px;
    font-size: 90px;
    background: -webkit-linear-gradient(90deg, #e9e6ff 0%, white 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  bokeh {
    position: fixed;
    width: 2vmin;
    height: 2vmin;
    border-radius: 50%;
    animation-name: explosion;
    animation-iteration-count: infinite;
    animation-direction: reverse;
    animation-timing-function: cubic-bezier(0.84, 0.02, 1, 1);
  }
  bokeh:nth-child(1) {
    background-color: #2bd8ff;
    transform: translate(45.4538739746vw, 17.4697784075vh);
    animation-duration: 4.7813601581s;
    animation-delay: -2.5315982698s;
  }
  bokeh:nth-child(2) {
    background-color: #ef8d22;
    transform: translate(32.9124358995vw, 9.0833606962vh);
    animation-duration: 2.9004783649s;
    animation-delay: -1.7313812811s;
  }
  bokeh:nth-child(3) {
    background-color: #fc85e1;
    transform: translate(59.7423259416vw, 20.9738625831vh);
    animation-duration: 4.3011674983s;
    animation-delay: -3.2777222544s;
  }
  bokeh:nth-child(4) {
    background-color: #feff28;
    transform: translate(78.8369724472vw, 66.9300497517vh);
    animation-duration: 3.9703162205s;
    animation-delay: -3.3749966784s;
  }
  bokeh:nth-child(5) {
    background-color: #ef8d22;
    transform: translate(88.3872576355vw, 64.4570346923vh);
    animation-duration: 3.7158184599s;
    animation-delay: -4.0919542422s;
  }
  bokeh:nth-child(6) {
    background-color: #ef8d22;
    transform: translate(27.8625446286vw, 55.0738996554vh);
    animation-duration: 2.5662688341s;
    animation-delay: -2.5974598663s;
  }
  bokeh:nth-child(7) {
    background-color: #2bd8ff;
    transform: translate(76.0368330807vw, 19.3341820607vh);
    animation-duration: 3.4310388183s;
    animation-delay: -2.5421666746s;
  }
  bokeh:nth-child(8) {
    background-color: #feff28;
    transform: translate(82.8957630474vw, 90.4999579976vh);
    animation-duration: 4.4247555594s;
    animation-delay: -1.1201400215s;
  }
  bokeh:nth-child(9) {
    background-color: #fc85e1;
    transform: translate(99.8073699696vw, 70.8939201479vh);
    animation-duration: 2.0872394303s;
    animation-delay: -4.017276339s;
  }
  bokeh:nth-child(10) {
    background-color: #2bd8ff;
    transform: translate(26.4150367107vw, 96.1080915054vh);
    animation-duration: 2.7380295263s;
    animation-delay: -4.9032101049s;
  }
  bokeh:nth-child(11) {
    background-color: #fc85e1;
    transform: translate(99.3387723513vw, 55.343800498vh);
    animation-duration: 2.0471357264s;
    animation-delay: -3.803810666s;
  }
  bokeh:nth-child(12) {
    background-color: #2bd8ff;
    transform: translate(9.2468681384vw, 74.7663384418vh);
    animation-duration: 2.1575598326s;
    animation-delay: -4.2821069151s;
  }
  bokeh:nth-child(13) {
    background-color: #2bd8ff;
    transform: translate(46.4499476056vw, 90.7634220436vh);
    animation-duration: 4.404625307s;
    animation-delay: -0.1987462037s;
  }
  bokeh:nth-child(14) {
    background-color: #fc85e1;
    transform: translate(98.1048457294vw, 76.4404039531vh);
    animation-duration: 3.8223175798s;
    animation-delay: -0.2927782052s;
  }
  bokeh:nth-child(15) {
    background-color: #ef8d22;
    transform: translate(70.099820519vw, 93.868776513vh);
    animation-duration: 4.5415934296s;
    animation-delay: -0.9646428468s;
  }
  bokeh:nth-child(16) {
    background-color: #fc85e1;
    transform: translate(82.9511842785vw, 80.4367617717vh);
    animation-duration: 2.2734115782s;
    animation-delay: -2.5172555772s;
  }
  bokeh:nth-child(17) {
    background-color: #2bd8ff;
    transform: translate(24.1709956784vw, 55.3695773973vh);
    animation-duration: 2.1369729303s;
    animation-delay: -1.0479497861s;
  }
  bokeh:nth-child(18) {
    background-color: #2bd8ff;
    transform: translate(75.0404905628vw, 56.7386041692vh);
    animation-duration: 3.5796628814s;
    animation-delay: -4.9179760869s;
  }
  bokeh:nth-child(19) {
    background-color: #ef8d22;
    transform: translate(29.3110540005vw, 33.4014142041vh);
    animation-duration: 4.88995192s;
    animation-delay: -2.2121710933s;
  }
  bokeh:nth-child(20) {
    background-color: #ef8d22;
    transform: translate(71.895529098vw, 18.0958357814vh);
    animation-duration: 2.8447236336s;
    animation-delay: -2.4698543667s;
  }
  bokeh:nth-child(21) {
    background-color: #2bd8ff;
    transform: translate(10.4105873786vw, 95.9730407721vh);
    animation-duration: 3.1247617916s;
    animation-delay: -4.8390810425s;
  }
  bokeh:nth-child(22) {
    background-color: #fc85e1;
    transform: translate(95.1122993966vw, 13.4359114881vh);
    animation-duration: 2.8347101048s;
    animation-delay: -3.9220352218s;
  }
  bokeh:nth-child(23) {
    background-color: #feff28;
    transform: translate(91.2883408631vw, 70.8303400658vh);
    animation-duration: 4.8911045347s;
    animation-delay: -4.3922626948s;
  }
  bokeh:nth-child(24) {
    background-color: #ef8d22;
    transform: translate(73.4373158653vw, 38.5564845117vh);
    animation-duration: 2.6065295978s;
    animation-delay: -4.7270295296s;
  }
  bokeh:nth-child(25) {
    background-color: #fc85e1;
    transform: translate(57.9930968893vw, 38.6401071284vh);
    animation-duration: 2.9923254669s;
    animation-delay: -0.573454433s;
  }
  bokeh:nth-child(26) {
    background-color: #ef8d22;
    transform: translate(82.4566356834vw, 7.5455998275vh);
    animation-duration: 3.7942408232s;
    animation-delay: -0.9849659215s;
  }
  bokeh:nth-child(27) {
    background-color: #feff28;
    transform: translate(81.3745051504vw, 63.3267845184vh);
    animation-duration: 2.3122132893s;
    animation-delay: -0.5860317205s;
  }
  bokeh:nth-child(28) {
    background-color: #ef8d22;
    transform: translate(53.2771995561vw, 65.9676171295vh);
    animation-duration: 4.0753243791s;
    animation-delay: -3.7629922569s;
  }
  bokeh:nth-child(29) {
    background-color: #fc85e1;
    transform: translate(72.1200397678vw, 9.2246899781vh);
    animation-duration: 4.7418815762s;
    animation-delay: -3.7185031528s;
  }
  bokeh:nth-child(30) {
    background-color: #2bd8ff;
    transform: translate(35.0947438625vw, 63.6756605869vh);
    animation-duration: 3.5246772303s;
    animation-delay: -1.7972126642s;
  }
  bokeh:nth-child(31) {
    background-color: #ef8d22;
    transform: translate(48.1255906978vw, 5.5463188205vh);
    animation-duration: 2.5097787404s;
    animation-delay: -3.2761848366s;
  }
  bokeh:nth-child(32) {
    background-color: #ef8d22;
    transform: translate(92.2672921369vw, 26.7319846619vh);
    animation-duration: 3.410977482s;
    animation-delay: -4.5752060301s;
  }
  bokeh:nth-child(33) {
    background-color: #fc85e1;
    transform: translate(55.770133193vw, 25.0387697895vh);
    animation-duration: 2.0760860782s;
    animation-delay: -0.1688274477s;
  }
  bokeh:nth-child(34) {
    background-color: #ef8d22;
    transform: translate(57.0615962387vw, 79.0833358274vh);
    animation-duration: 2.9154306294s;
    animation-delay: -1.3153247283s;
  }
  bokeh:nth-child(35) {
    background-color: #fc85e1;
    transform: translate(20.5317428133vw, 68.3670074771vh);
    animation-duration: 4.3831602748s;
    animation-delay: -3.0530786969s;
  }
  bokeh:nth-child(36) {
    background-color: #2bd8ff;
    transform: translate(41.9850318762vw, 88.8538045729vh);
    animation-duration: 2.7153477066s;
    animation-delay: -3.7116378216s;
  }
  bokeh:nth-child(37) {
    background-color: #2bd8ff;
    transform: translate(12.0714470657vw, 7.6505493861vh);
    animation-duration: 4.4106636961s;
    animation-delay: -4.7087529347s;
  }
  bokeh:nth-child(38) {
    background-color: #fc85e1;
    transform: translate(8.2370475483vw, 28.53194897vh);
    animation-duration: 3.509165488s;
    animation-delay: -0.9964232696s;
  }
  bokeh:nth-child(39) {
    background-color: #feff28;
    transform: translate(76.8681750981vw, 66.6820995815vh);
    animation-duration: 4.8331198537s;
    animation-delay: -0.3086773153s;
  }
  bokeh:nth-child(40) {
    background-color: #fc85e1;
    transform: translate(47.1945414201vw, 3.7411090441vh);
    animation-duration: 4.4878501077s;
    animation-delay: -2.0874010745s;
  }
  bokeh:nth-child(41) {
    background-color: #2bd8ff;
    transform: translate(75.2098542016vw, 64.5911325408vh);
    animation-duration: 3.4038460115s;
    animation-delay: -4.834388566s;
  }
  bokeh:nth-child(42) {
    background-color: #2bd8ff;
    transform: translate(4.8312402916vw, 2.6660824788vh);
    animation-duration: 4.8202335987s;
    animation-delay: -2.7520194091s;
  }
  bokeh:nth-child(43) {
    background-color: #ef8d22;
    transform: translate(79.0708129473vw, 40.497819704vh);
    animation-duration: 4.9651206675s;
    animation-delay: -0.5540866591s;
  }
  bokeh:nth-child(44) {
    background-color: #2bd8ff;
    transform: translate(74.2866022286vw, 28.3651161458vh);
    animation-duration: 2.858748885s;
    animation-delay: -0.8653120838s;
  }
  bokeh:nth-child(45) {
    background-color: #fc85e1;
    transform: translate(40.5826009599vw, 10.7541782519vh);
    animation-duration: 3.6451996924s;
    animation-delay: -1.7711759245s;
  }
  bokeh:nth-child(46) {
    background-color: #ef8d22;
    transform: translate(10.1782852492vw, 9.9260168024vh);
    animation-duration: 2.7412445726s;
    animation-delay: -0.2601892408s;
  }
  bokeh:nth-child(47) {
    background-color: #fc85e1;
    transform: translate(63.2537524406vw, 12.7241888599vh);
    animation-duration: 2.2398184184s;
    animation-delay: -4.626696377s;
  }
  bokeh:nth-child(48) {
    background-color: #feff28;
    transform: translate(24.6022653966vw, 97.0750884404vh);
    animation-duration: 3.2969645838s;
    animation-delay: -4.6626037074s;
  }
  bokeh:nth-child(49) {
    background-color: #feff28;
    transform: translate(46.5894265631vw, 14.5478869223vh);
    animation-duration: 3.8110832283s;
    animation-delay: -2.6335926095s;
  }
  bokeh:nth-child(50) {
    background-color: #feff28;
    transform: translate(91.223871507vw, 39.620701111vh);
    animation-duration: 2.6420456156s;
    animation-delay: -0.4059210236s;
  }
  bokeh:nth-child(51) {
    background-color: #fc85e1;
    transform: translate(65.2400459872vw, 60.673733049vh);
    animation-duration: 4.270134197s;
    animation-delay: -0.4801021588s;
  }
  bokeh:nth-child(52) {
    background-color: #feff28;
    transform: translate(0.4666546161vw, 76.6966274678vh);
    animation-duration: 2.5590495669s;
    animation-delay: -0.8436536464s;
  }
  bokeh:nth-child(53) {
    background-color: #2bd8ff;
    transform: translate(90.8457805665vw, 12.0997330836vh);
    animation-duration: 4.717073113s;
    animation-delay: -1.3339617745s;
  }
  bokeh:nth-child(54) {
    background-color: #2bd8ff;
    transform: translate(73.6445804043vw, 35.7530218335vh);
    animation-duration: 2.6486264772s;
    animation-delay: -3.7648008366s;
  }
  bokeh:nth-child(55) {
    background-color: #feff28;
    transform: translate(40.4948658753vw, 58.9608575753vh);
    animation-duration: 4.6665741938s;
    animation-delay: -0.7030947696s;
  }
  bokeh:nth-child(56) {
    background-color: #ef8d22;
    transform: translate(66.9227725313vw, 1.3086911818vh);
    animation-duration: 4.9047926629s;
    animation-delay: -2.2773742146s;
  }
  bokeh:nth-child(57) {
    background-color: #feff28;
    transform: translate(33.5286072137vw, 54.6007591197vh);
    animation-duration: 4.5428658015s;
    animation-delay: -1.5819043171s;
  }
  bokeh:nth-child(58) {
    background-color: #2bd8ff;
    transform: translate(46.1932898652vw, 21.7748428168vh);
    animation-duration: 3.8081517096s;
    animation-delay: -2.7482183919s;
  }
  bokeh:nth-child(59) {
    background-color: #ef8d22;
    transform: translate(9.3840787558vw, 51.2563235601vh);
    animation-duration: 3.0607529751s;
    animation-delay: -4.9789809408s;
  }
  bokeh:nth-child(60) {
    background-color: #2bd8ff;
    transform: translate(55.9222727108vw, 62.3166114227vh);
    animation-duration: 3.0658863385s;
    animation-delay: -2.3027860333s;
  }
  bokeh:nth-child(61) {
    background-color: #ef8d22;
    transform: translate(90.4891245986vw, 10.9357938614vh);
    animation-duration: 3.9748890365s;
    animation-delay: -1.7099963175s;
  }
  bokeh:nth-child(62) {
    background-color: #ef8d22;
    transform: translate(46.0214977302vw, 25.0783556526vh);
    animation-duration: 4.0787043426s;
    animation-delay: -4.318931465s;
  }
  bokeh:nth-child(63) {
    background-color: #fc85e1;
    transform: translate(80.4682063915vw, 54.9358809409vh);
    animation-duration: 2.2203793755s;
    animation-delay: -0.0894586785s;
  }
  bokeh:nth-child(64) {
    background-color: #2bd8ff;
    transform: translate(21.8484835751vw, 5.5137798189vh);
    animation-duration: 3.1610687642s;
    animation-delay: -0.7317678144s;
  }
  bokeh:nth-child(65) {
    background-color: #ef8d22;
    transform: translate(56.1854489318vw, 27.5488650782vh);
    animation-duration: 3.3295644263s;
    animation-delay: -0.1349263199s;
  }
  bokeh:nth-child(66) {
    background-color: #fc85e1;
    transform: translate(27.4281285975vw, 4.8716515741vh);
    animation-duration: 4.243519756s;
    animation-delay: -1.3683550503s;
  }
  bokeh:nth-child(67) {
    background-color: #ef8d22;
    transform: translate(34.8319743424vw, 68.6745668405vh);
    animation-duration: 4.2623780993s;
    animation-delay: -1.0811163349s;
  }
  bokeh:nth-child(68) {
    background-color: #fc85e1;
    transform: translate(70.082001799vw, 49.0921433007vh);
    animation-duration: 3.7624155997s;
    animation-delay: -0.3992179727s;
  }
  bokeh:nth-child(69) {
    background-color: #ef8d22;
    transform: translate(10.097926877vw, 96.6261780727vh);
    animation-duration: 3.5963965647s;
    animation-delay: -0.841633423s;
  }
  bokeh:nth-child(70) {
    background-color: #2bd8ff;
    transform: translate(33.0488783736vw, 4.5734721756vh);
    animation-duration: 2.3905434077s;
    animation-delay: -2.2099569515s;
  }
  bokeh:nth-child(71) {
    background-color: #2bd8ff;
    transform: translate(90.5748720479vw, 67.992926063vh);
    animation-duration: 3.3006492176s;
    animation-delay: -1.6938777912s;
  }
  bokeh:nth-child(72) {
    background-color: #2bd8ff;
    transform: translate(3.0330081464vw, 71.4687277863vh);
    animation-duration: 2.0676950723s;
    animation-delay: -1.3395068924s;
  }
  bokeh:nth-child(73) {
    background-color: #ef8d22;
    transform: translate(82.7101016657vw, 4.2906731243vh);
    animation-duration: 4.3323187927s;
    animation-delay: -1.7514813338s;
  }
  bokeh:nth-child(74) {
    background-color: #ef8d22;
    transform: translate(37.5116479839vw, 84.0444214974vh);
    animation-duration: 3.9128654014s;
    animation-delay: -2.8413550532s;
  }
  bokeh:nth-child(75) {
    background-color: #2bd8ff;
    transform: translate(20.2449964498vw, 9.9345880326vh);
    animation-duration: 2.7908677955s;
    animation-delay: -4.0873100207s;
  }
  bokeh:nth-child(76) {
    background-color: #feff28;
    transform: translate(47.9826911714vw, 73.0591768032vh);
    animation-duration: 2.6811910114s;
    animation-delay: -3.6002203811s;
  }
  bokeh:nth-child(77) {
    background-color: #ef8d22;
    transform: translate(60.7303839384vw, 68.5135168341vh);
    animation-duration: 4.6651942407s;
    animation-delay: -2.0304074753s;
  }
  bokeh:nth-child(78) {
    background-color: #feff28;
    transform: translate(48.9321018012vw, 20.3114427749vh);
    animation-duration: 3.3716306674s;
    animation-delay: -1.7012089611s;
  }
  bokeh:nth-child(79) {
    background-color: #2bd8ff;
    transform: translate(8.0984329721vw, 36.9500844712vh);
    animation-duration: 3.1963214068s;
    animation-delay: -4.582714485s;
  }
  bokeh:nth-child(80) {
    background-color: #feff28;
    transform: translate(73.2272763865vw, 32.2773928951vh);
    animation-duration: 4.2906080307s;
    animation-delay: -4.3262752396s;
  }
  bokeh:nth-child(81) {
    background-color: #fc85e1;
    transform: translate(55.0952732404vw, 2.0873993751vh);
    animation-duration: 3.8020307493s;
    animation-delay: -2.9316472787s;
  }
  bokeh:nth-child(82) {
    background-color: #ef8d22;
    transform: translate(4.6933394905vw, 71.5066399014vh);
    animation-duration: 4.7894038037s;
    animation-delay: -0.018239342s;
  }
  bokeh:nth-child(83) {
    background-color: #2bd8ff;
    transform: translate(78.6705795897vw, 28.2294327648vh);
    animation-duration: 2.702757066s;
    animation-delay: -0.4804518707s;
  }
  bokeh:nth-child(84) {
    background-color: #feff28;
    transform: translate(79.1845948162vw, 82.8377147927vh);
    animation-duration: 3.2192552902s;
    animation-delay: -1.3000792097s;
  }
  bokeh:nth-child(85) {
    background-color: #ef8d22;
    transform: translate(21.2348390804vw, 65.9924178373vh);
    animation-duration: 3.2679349367s;
    animation-delay: -3.5559818967s;
  }
  bokeh:nth-child(86) {
    background-color: #2bd8ff;
    transform: translate(24.5753369021vw, 93.4944813365vh);
    animation-duration: 2.2787783759s;
    animation-delay: -2.482773863s;
  }
  bokeh:nth-child(87) {
    background-color: #fc85e1;
    transform: translate(17.110655914vw, 31.4586962466vh);
    animation-duration: 3.7320474087s;
    animation-delay: -2.9102343619s;
  }
  bokeh:nth-child(88) {
    background-color: #2bd8ff;
    transform: translate(96.8170986979vw, 17.157850649vh);
    animation-duration: 2.6373052395s;
    animation-delay: -4.7093043518s;
  }
  bokeh:nth-child(89) {
    background-color: #ef8d22;
    transform: translate(27.2951895312vw, 37.975261151vh);
    animation-duration: 4.5044947754s;
    animation-delay: -2.2050480655s;
  }
  bokeh:nth-child(90) {
    background-color: #ef8d22;
    transform: translate(48.6353915633vw, 10.9694900061vh);
    animation-duration: 4.850622163s;
    animation-delay: -0.3620792095s;
  }
  bokeh:nth-child(91) {
    background-color: #feff28;
    transform: translate(53.8630299685vw, 11.9494817081vh);
    animation-duration: 2.532871715s;
    animation-delay: -1.7560037893s;
  }
  bokeh:nth-child(92) {
    background-color: #ef8d22;
    transform: translate(43.2185981546vw, 56.0760401463vh);
    animation-duration: 3.3433025228s;
    animation-delay: -4.0702305207s;
  }
  bokeh:nth-child(93) {
    background-color: #fc85e1;
    transform: translate(93.8217099599vw, 58.3232973816vh);
    animation-duration: 4.4653521661s;
    animation-delay: -1.6086476049s;
  }
  bokeh:nth-child(94) {
    background-color: #2bd8ff;
    transform: translate(96.3735779055vw, 26.9487760826vh);
    animation-duration: 3.397810038s;
    animation-delay: -2.4655445489s;
  }
  bokeh:nth-child(95) {
    background-color: #2bd8ff;
    transform: translate(91.3691604866vw, 28.1852231318vh);
    animation-duration: 4.6183061456s;
    animation-delay: -1.3309098492s;
  }
  bokeh:nth-child(96) {
    background-color: #feff28;
    transform: translate(72.8064795239vw, 95.3581882749vh);
    animation-duration: 2.9265344445s;
    animation-delay: -3.3484631483s;
  }
  bokeh:nth-child(97) {
    background-color: #feff28;
    transform: translate(52.9659097428vw, 79.9419637565vh);
    animation-duration: 2.0870236612s;
    animation-delay: -0.5866312721s;
  }
  bokeh:nth-child(98) {
    background-color: #feff28;
    transform: translate(74.508375162vw, 81.5691574756vh);
    animation-duration: 2.3534640533s;
    animation-delay: -2.4309109701s;
  }
  bokeh:nth-child(99) {
    background-color: #ef8d22;
    transform: translate(20.4234989001vw, 14.5777985707vh);
    animation-duration: 3.8421782411s;
    animation-delay: -0.588416053s;
  }
  bokeh:nth-child(100) {
    background-color: #2bd8ff;
    transform: translate(77.1335180414vw, 62.0447063081vh);
    animation-duration: 2.2473417235s;
    animation-delay: -2.1306648965s;
  }

  @keyframes explosion {
    0% {
      opacity: 0;
    }
    70% {
      opacity: 1;
    }
    100% {
      transform: translate(50vw, 100vh);
    }
  }
  .cake {
    position: relative;
    top: 250px;
    margin: auto;
    width: 200px;
    height: 60px;
    background: #f9fdff;
    border-radius: 100%;
    transform: translateZ(100px);
    box-shadow: 0px 4px 0px #f4f9fd,  0px 8px 0px #dba9ff,  0px 12px 0px #fec3b3,  0px 16px 0px #f7f6fb,  0px 20px 0px #f7f6fb,  0px 24px 0px #f7f6fb, 0px 28px 0px #f7f6fb, 0px 32px 0px #fea0bb, 0px 36px 0px #fea0bb, 0px 40px 0px #9cef9d, 0px 44px 0px #9cef9d,  0px 48px 0px #f7f6fb,  0px 52px 0px #f7f6fb,  0px 56px 0px #f7f6fb,  0px 60px 0px #f7f6fb,  0px 64px 0px #f7f6fb,  0px 68px 0px #dfa5fc,  0px 72px 0px #dfa5fc,  0px 76px 0px #fafffe,  0px 80px 0px #fafffe;
  }

  .plate {
    position: absolute;
    height: 90px;
    width: 300px;
    bottom: -95px;
    left: 50%;
    top: 380px;
    margin-left: -150px;
    border-radius: 100%;
    background: radial-gradient(ellipse closest-side at center, #08c7fe 0%, #04d7f2 71%, #02ffd0 100%);
    box-shadow: 0px 3px 0px #00e2e1, 0px 6px 0px #00d3fb;
    transform: translateZ(80px);
  }

  .candle {
    position: relative;
    height: 50px;
    width: 12px;
    top: 280px;
    margin: auto;
    background: linear-gradient(0deg, #b7f4a7 0%, white 100%);
    border-radius: 4px;
    transform: translateZ(120px);
  }

  #flame {
    position: absolute;
    z-index: 10;
  }

  .lit {
    background: linear-gradient(to bottom, #FFF6D9, #FBC36C);
    width: 15px;
    height: 35px;
    /*  Info on border radius. http://www.css3.info/preview/rounded-border/ */
    border-top-left-radius: 10px 35px;
    border-top-right-radius: 10px 35px;
    border-bottom-right-radius: 10px 10px;
    border-bottom-left-radius: 10px 10px;
    top: -34px;
    margin: auto;
    /*   http://www.css3.info/preview/box-shadow/ */
    box-shadow: 0 0 17px 7px rgba(251, 246, 190, 0.71);
    transform-origin: bottom;
    animation: flicker 1s ease-in-out alternate infinite;
  }

  @keyframes flicker {
    0% {
      transform: skewX(5deg);
      box-shadow: 0 0 17px 10px rgba(251, 246, 190, 0.71);
    }
    25% {
      transform: skewX(-5deg);
      box-shadow: 0 0 17px 5px rgba(251, 246, 190, 0.71);
    }
    50% {
      transform: skewX(10deg);
      box-shadow: 0 0 17px 7px rgba(251, 246, 190, 0.71);
    }
    75% {
      transform: skewX(-10deg);
      box-shadow: 0 0 17px 5px rgba(251, 246, 190, 0.71);
    }
    100% {
      transform: skewX(5deg);
      box-shadow: 0 0 17px 10px rgba(251, 246, 190, 0.71);
    }
  }
  .pyro > .before, .pyro > .after {
    position: fixed;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    box-shadow: 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff;
    -moz-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -webkit-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -o-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -ms-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
  }

  .pyro > .after {
    -moz-animation-delay: 1.25s, 1.25s, 1.25s;
    -webkit-animation-delay: 1.25s, 1.25s, 1.25s;
    -o-animation-delay: 1.25s, 1.25s, 1.25s;
    -ms-animation-delay: 1.25s, 1.25s, 1.25s;
    animation-delay: 1.25s, 1.25s, 1.25s;
    -moz-animation-duration: 1.25s, 1.25s, 6.25s;
    -webkit-animation-duration: 1.25s, 1.25s, 6.25s;
    -o-animation-duration: 1.25s, 1.25s, 6.25s;
    -ms-animation-duration: 1.25s, 1.25s, 6.25s;
    animation-duration: 1.25s, 1.25s, 6.25s;
  }

  @-webkit-keyframes bang {
    to {
      box-shadow: -175px -387.6666666667px #ff0900, 95px -387.6666666667px #00ff48, -43px -15.6666666667px #ff4800, -24px -44.6666666667px #66ff00, -244px -324.6666666667px #ff00bf, 100px -203.6666666667px #ffbb00, 221px -91.6666666667px #00ff5e, 16px -409.6666666667px #00ff59, 199px -13.6666666667px #ffe600, 193px -88.6666666667px #4000ff, -206px -76.6666666667px deepskyblue, 196px -220.6666666667px #004dff, 136px -319.6666666667px #ff8800, 123px -344.6666666667px #001aff, 166px 32.3333333333px #00ff8c, 204px -165.6666666667px #ae00ff, -163px -263.6666666667px #8c00ff, 25px -343.6666666667px #00ffb7, -53px -310.6666666667px #9dff00, -167px 11.3333333333px #ff003c, 116px 31.3333333333px #00ff1a, -65px 30.3333333333px #002fff, 169px -15.6666666667px #00d0ff, 139px -363.6666666667px #ffea00, 101px 59.3333333333px #0011ff, -136px -362.6666666667px #a6ff00, -104px -377.6666666667px #a600ff, 17px 23.3333333333px #8800ff, 194px -9.6666666667px #a2ff00, -145px -322.6666666667px #f2ff00, -123px -52.6666666667px #2600ff, 214px -295.6666666667px #ff3700, 242px -47.6666666667px red, 213px 39.3333333333px #ff8000, -96px 77.3333333333px yellow, -51px 14.3333333333px #00ffd9, -220px -414.6666666667px #00ff15, 201px 32.3333333333px #00ffb3, -162px 23.3333333333px #b7ff00, -3px 63.3333333333px #8000ff, -68px -110.6666666667px #00ff66, 227px -265.6666666667px #d0ff00, 12px -337.6666666667px #eeff00, -207px -49.6666666667px #00ffd5, 165px -395.6666666667px #ff00ee, 13px -3.6666666667px #bbff00, -189px -342.6666666667px #006fff, 119px -337.6666666667px #0062ff, -79px 63.3333333333px #00ff84, -164px 37.3333333333px #00fffb, 245px -93.6666666667px #0004ff;
    }
  }
  @-moz-keyframes bang {
    to {
      box-shadow: -175px -387.6666666667px #ff0900, 95px -387.6666666667px #00ff48, -43px -15.6666666667px #ff4800, -24px -44.6666666667px #66ff00, -244px -324.6666666667px #ff00bf, 100px -203.6666666667px #ffbb00, 221px -91.6666666667px #00ff5e, 16px -409.6666666667px #00ff59, 199px -13.6666666667px #ffe600, 193px -88.6666666667px #4000ff, -206px -76.6666666667px deepskyblue, 196px -220.6666666667px #004dff, 136px -319.6666666667px #ff8800, 123px -344.6666666667px #001aff, 166px 32.3333333333px #00ff8c, 204px -165.6666666667px #ae00ff, -163px -263.6666666667px #8c00ff, 25px -343.6666666667px #00ffb7, -53px -310.6666666667px #9dff00, -167px 11.3333333333px #ff003c, 116px 31.3333333333px #00ff1a, -65px 30.3333333333px #002fff, 169px -15.6666666667px #00d0ff, 139px -363.6666666667px #ffea00, 101px 59.3333333333px #0011ff, -136px -362.6666666667px #a6ff00, -104px -377.6666666667px #a600ff, 17px 23.3333333333px #8800ff, 194px -9.6666666667px #a2ff00, -145px -322.6666666667px #f2ff00, -123px -52.6666666667px #2600ff, 214px -295.6666666667px #ff3700, 242px -47.6666666667px red, 213px 39.3333333333px #ff8000, -96px 77.3333333333px yellow, -51px 14.3333333333px #00ffd9, -220px -414.6666666667px #00ff15, 201px 32.3333333333px #00ffb3, -162px 23.3333333333px #b7ff00, -3px 63.3333333333px #8000ff, -68px -110.6666666667px #00ff66, 227px -265.6666666667px #d0ff00, 12px -337.6666666667px #eeff00, -207px -49.6666666667px #00ffd5, 165px -395.6666666667px #ff00ee, 13px -3.6666666667px #bbff00, -189px -342.6666666667px #006fff, 119px -337.6666666667px #0062ff, -79px 63.3333333333px #00ff84, -164px 37.3333333333px #00fffb, 245px -93.6666666667px #0004ff;
    }
  }
  @-o-keyframes bang {
    to {
      box-shadow: -175px -387.6666666667px #ff0900, 95px -387.6666666667px #00ff48, -43px -15.6666666667px #ff4800, -24px -44.6666666667px #66ff00, -244px -324.6666666667px #ff00bf, 100px -203.6666666667px #ffbb00, 221px -91.6666666667px #00ff5e, 16px -409.6666666667px #00ff59, 199px -13.6666666667px #ffe600, 193px -88.6666666667px #4000ff, -206px -76.6666666667px deepskyblue, 196px -220.6666666667px #004dff, 136px -319.6666666667px #ff8800, 123px -344.6666666667px #001aff, 166px 32.3333333333px #00ff8c, 204px -165.6666666667px #ae00ff, -163px -263.6666666667px #8c00ff, 25px -343.6666666667px #00ffb7, -53px -310.6666666667px #9dff00, -167px 11.3333333333px #ff003c, 116px 31.3333333333px #00ff1a, -65px 30.3333333333px #002fff, 169px -15.6666666667px #00d0ff, 139px -363.6666666667px #ffea00, 101px 59.3333333333px #0011ff, -136px -362.6666666667px #a6ff00, -104px -377.6666666667px #a600ff, 17px 23.3333333333px #8800ff, 194px -9.6666666667px #a2ff00, -145px -322.6666666667px #f2ff00, -123px -52.6666666667px #2600ff, 214px -295.6666666667px #ff3700, 242px -47.6666666667px red, 213px 39.3333333333px #ff8000, -96px 77.3333333333px yellow, -51px 14.3333333333px #00ffd9, -220px -414.6666666667px #00ff15, 201px 32.3333333333px #00ffb3, -162px 23.3333333333px #b7ff00, -3px 63.3333333333px #8000ff, -68px -110.6666666667px #00ff66, 227px -265.6666666667px #d0ff00, 12px -337.6666666667px #eeff00, -207px -49.6666666667px #00ffd5, 165px -395.6666666667px #ff00ee, 13px -3.6666666667px #bbff00, -189px -342.6666666667px #006fff, 119px -337.6666666667px #0062ff, -79px 63.3333333333px #00ff84, -164px 37.3333333333px #00fffb, 245px -93.6666666667px #0004ff;
    }
  }
  @-ms-keyframes bang {
    to {
      box-shadow: -175px -387.6666666667px #ff0900, 95px -387.6666666667px #00ff48, -43px -15.6666666667px #ff4800, -24px -44.6666666667px #66ff00, -244px -324.6666666667px #ff00bf, 100px -203.6666666667px #ffbb00, 221px -91.6666666667px #00ff5e, 16px -409.6666666667px #00ff59, 199px -13.6666666667px #ffe600, 193px -88.6666666667px #4000ff, -206px -76.6666666667px deepskyblue, 196px -220.6666666667px #004dff, 136px -319.6666666667px #ff8800, 123px -344.6666666667px #001aff, 166px 32.3333333333px #00ff8c, 204px -165.6666666667px #ae00ff, -163px -263.6666666667px #8c00ff, 25px -343.6666666667px #00ffb7, -53px -310.6666666667px #9dff00, -167px 11.3333333333px #ff003c, 116px 31.3333333333px #00ff1a, -65px 30.3333333333px #002fff, 169px -15.6666666667px #00d0ff, 139px -363.6666666667px #ffea00, 101px 59.3333333333px #0011ff, -136px -362.6666666667px #a6ff00, -104px -377.6666666667px #a600ff, 17px 23.3333333333px #8800ff, 194px -9.6666666667px #a2ff00, -145px -322.6666666667px #f2ff00, -123px -52.6666666667px #2600ff, 214px -295.6666666667px #ff3700, 242px -47.6666666667px red, 213px 39.3333333333px #ff8000, -96px 77.3333333333px yellow, -51px 14.3333333333px #00ffd9, -220px -414.6666666667px #00ff15, 201px 32.3333333333px #00ffb3, -162px 23.3333333333px #b7ff00, -3px 63.3333333333px #8000ff, -68px -110.6666666667px #00ff66, 227px -265.6666666667px #d0ff00, 12px -337.6666666667px #eeff00, -207px -49.6666666667px #00ffd5, 165px -395.6666666667px #ff00ee, 13px -3.6666666667px #bbff00, -189px -342.6666666667px #006fff, 119px -337.6666666667px #0062ff, -79px 63.3333333333px #00ff84, -164px 37.3333333333px #00fffb, 245px -93.6666666667px #0004ff;
    }
  }
  @keyframes bang {
    to {
      box-shadow: -175px -387.6666666667px #ff0900, 95px -387.6666666667px #00ff48, -43px -15.6666666667px #ff4800, -24px -44.6666666667px #66ff00, -244px -324.6666666667px #ff00bf, 100px -203.6666666667px #ffbb00, 221px -91.6666666667px #00ff5e, 16px -409.6666666667px #00ff59, 199px -13.6666666667px #ffe600, 193px -88.6666666667px #4000ff, -206px -76.6666666667px deepskyblue, 196px -220.6666666667px #004dff, 136px -319.6666666667px #ff8800, 123px -344.6666666667px #001aff, 166px 32.3333333333px #00ff8c, 204px -165.6666666667px #ae00ff, -163px -263.6666666667px #8c00ff, 25px -343.6666666667px #00ffb7, -53px -310.6666666667px #9dff00, -167px 11.3333333333px #ff003c, 116px 31.3333333333px #00ff1a, -65px 30.3333333333px #002fff, 169px -15.6666666667px #00d0ff, 139px -363.6666666667px #ffea00, 101px 59.3333333333px #0011ff, -136px -362.6666666667px #a6ff00, -104px -377.6666666667px #a600ff, 17px 23.3333333333px #8800ff, 194px -9.6666666667px #a2ff00, -145px -322.6666666667px #f2ff00, -123px -52.6666666667px #2600ff, 214px -295.6666666667px #ff3700, 242px -47.6666666667px red, 213px 39.3333333333px #ff8000, -96px 77.3333333333px yellow, -51px 14.3333333333px #00ffd9, -220px -414.6666666667px #00ff15, 201px 32.3333333333px #00ffb3, -162px 23.3333333333px #b7ff00, -3px 63.3333333333px #8000ff, -68px -110.6666666667px #00ff66, 227px -265.6666666667px #d0ff00, 12px -337.6666666667px #eeff00, -207px -49.6666666667px #00ffd5, 165px -395.6666666667px #ff00ee, 13px -3.6666666667px #bbff00, -189px -342.6666666667px #006fff, 119px -337.6666666667px #0062ff, -79px 63.3333333333px #00ff84, -164px 37.3333333333px #00fffb, 245px -93.6666666667px #0004ff;
    }
  }
  @-webkit-keyframes gravity {
    to {
      transform: translateY(200px);
      -moz-transform: translateY(200px);
      -webkit-transform: translateY(200px);
      -o-transform: translateY(200px);
      -ms-transform: translateY(200px);
      opacity: 0;
    }
  }
  @-moz-keyframes gravity {
    to {
      transform: translateY(200px);
      -moz-transform: translateY(200px);
      -webkit-transform: translateY(200px);
      -o-transform: translateY(200px);
      -ms-transform: translateY(200px);
      opacity: 0;
    }
  }
  @-o-keyframes gravity {
    to {
      transform: translateY(200px);
      -moz-transform: translateY(200px);
      -webkit-transform: translateY(200px);
      -o-transform: translateY(200px);
      -ms-transform: translateY(200px);
      opacity: 0;
    }
  }
  @-ms-keyframes gravity {
    to {
      transform: translateY(200px);
      -moz-transform: translateY(200px);
      -webkit-transform: translateY(200px);
      -o-transform: translateY(200px);
      -ms-transform: translateY(200px);
      opacity: 0;
    }
  }
  @keyframes gravity {
    to {
      transform: translateY(200px);
      -moz-transform: translateY(200px);
      -webkit-transform: translateY(200px);
      -o-transform: translateY(200px);
      -ms-transform: translateY(200px);
      opacity: 0;
    }
  }
  @-webkit-keyframes position {
    0%, 19.9% {
      margin-top: 10%;
      margin-left: 40%;
    }
    20%, 39.9% {
      margin-top: 40%;
      margin-left: 30%;
    }
    40%, 59.9% {
      margin-top: 20%;
      margin-left: 70%;
    }
    60%, 79.9% {
      margin-top: 30%;
      margin-left: 20%;
    }
    80%, 99.9% {
      margin-top: 30%;
      margin-left: 80%;
    }
  }
  @-moz-keyframes position {
    0%, 19.9% {
      margin-top: 10%;
      margin-left: 40%;
    }
    20%, 39.9% {
      margin-top: 40%;
      margin-left: 30%;
    }
    40%, 59.9% {
      margin-top: 20%;
      margin-left: 70%;
    }
    60%, 79.9% {
      margin-top: 30%;
      margin-left: 20%;
    }
    80%, 99.9% {
      margin-top: 30%;
      margin-left: 80%;
    }
  }
  @-o-keyframes position {
    0%, 19.9% {
      margin-top: 10%;
      margin-left: 40%;
    }
    20%, 39.9% {
      margin-top: 40%;
      margin-left: 30%;
    }
    40%, 59.9% {
      margin-top: 20%;
      margin-left: 70%;
    }
    60%, 79.9% {
      margin-top: 30%;
      margin-left: 20%;
    }
    80%, 99.9% {
      margin-top: 30%;
      margin-left: 80%;
    }
  }
  @-ms-keyframes position {
    0%, 19.9% {
      margin-top: 10%;
      margin-left: 40%;
    }
    20%, 39.9% {
      margin-top: 40%;
      margin-left: 30%;
    }
    40%, 59.9% {
      margin-top: 20%;
      margin-left: 70%;
    }
    60%, 79.9% {
      margin-top: 30%;
      margin-left: 20%;
    }
    80%, 99.9% {
      margin-top: 30%;
      margin-left: 80%;
    }
  }
  @keyframes position {
    0%, 19.9% {
      margin-top: 10%;
      margin-left: 40%;
    }
    20%, 39.9% {
      margin-top: 40%;
      margin-left: 30%;
    }
    40%, 59.9% {
      margin-top: 20%;
      margin-left: 70%;
    }
    60%, 79.9% {
      margin-top: 30%;
      margin-left: 20%;
    }
    80%, 99.9% {
      margin-top: 30%;
      margin-left: 80%;
    }
  }
}