/* @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;
  }

  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: #fc85e1;
    transform: translate(70.5473168565vw, 84.153396885vh);
    animation-duration: 3.3390374431s;
    animation-delay: -0.0519309368s;
  }
  bokeh:nth-child(2) {
    background-color: #ef8d22;
    transform: translate(55.8269580202vw, 52.5061965091vh);
    animation-duration: 3.3025613087s;
    animation-delay: -4.3975240188s;
  }
  bokeh:nth-child(3) {
    background-color: #2bd8ff;
    transform: translate(95.7993463637vw, 20.7842503108vh);
    animation-duration: 2.0339155536s;
    animation-delay: -2.8440848885s;
  }
  bokeh:nth-child(4) {
    background-color: #ef8d22;
    transform: translate(98.1520301905vw, 64.2098479537vh);
    animation-duration: 3.0286150103s;
    animation-delay: -2.7073445759s;
  }
  bokeh:nth-child(5) {
    background-color: #ef8d22;
    transform: translate(68.0161721117vw, 91.3602266085vh);
    animation-duration: 4.5288930762s;
    animation-delay: -4.5059125699s;
  }
  bokeh:nth-child(6) {
    background-color: #ef8d22;
    transform: translate(85.7217243927vw, 45.9771703101vh);
    animation-duration: 4.2365946995s;
    animation-delay: -1.222336269s;
  }
  bokeh:nth-child(7) {
    background-color: #ef8d22;
    transform: translate(14.2688222811vw, 90.259443752vh);
    animation-duration: 4.8174525033s;
    animation-delay: -2.6087627256s;
  }
  bokeh:nth-child(8) {
    background-color: #feff28;
    transform: translate(74.4790695359vw, 11.4850496962vh);
    animation-duration: 4.2474551592s;
    animation-delay: -2.1455489459s;
  }
  bokeh:nth-child(9) {
    background-color: #ef8d22;
    transform: translate(57.434947783vw, 44.8784701571vh);
    animation-duration: 3.1546750712s;
    animation-delay: -4.5549553478s;
  }
  bokeh:nth-child(10) {
    background-color: #fc85e1;
    transform: translate(21.2468738843vw, 49.8461132445vh);
    animation-duration: 4.9814154859s;
    animation-delay: -3.3713264331s;
  }
  bokeh:nth-child(11) {
    background-color: #feff28;
    transform: translate(77.7715496338vw, 67.6677472094vh);
    animation-duration: 2.03966072s;
    animation-delay: -0.5047379238s;
  }
  bokeh:nth-child(12) {
    background-color: #fc85e1;
    transform: translate(11.1141553272vw, 68.1848802277vh);
    animation-duration: 2.5270743193s;
    animation-delay: -1.6536205049s;
  }
  bokeh:nth-child(13) {
    background-color: #ef8d22;
    transform: translate(18.2447815277vw, 68.2471816941vh);
    animation-duration: 4.2654642779s;
    animation-delay: -1.3067425345s;
  }
  bokeh:nth-child(14) {
    background-color: #fc85e1;
    transform: translate(92.1131722825vw, 85.8672614171vh);
    animation-duration: 2.902102168s;
    animation-delay: -2.0746922425s;
  }
  bokeh:nth-child(15) {
    background-color: #ef8d22;
    transform: translate(95.4257723039vw, 40.6403137199vh);
    animation-duration: 3.1847971585s;
    animation-delay: -2.8364620268s;
  }
  bokeh:nth-child(16) {
    background-color: #fc85e1;
    transform: translate(77.1922451517vw, 71.784874289vh);
    animation-duration: 3.2091266217s;
    animation-delay: -4.5633406781s;
  }
  bokeh:nth-child(17) {
    background-color: #fc85e1;
    transform: translate(4.0981716286vw, 45.3346443953vh);
    animation-duration: 4.0890963546s;
    animation-delay: -2.7316893954s;
  }
  bokeh:nth-child(18) {
    background-color: #ef8d22;
    transform: translate(77.2596456464vw, 16.4501547441vh);
    animation-duration: 3.8647530465s;
    animation-delay: -2.3107896826s;
  }
  bokeh:nth-child(19) {
    background-color: #2bd8ff;
    transform: translate(62.3564752814vw, 96.3386290771vh);
    animation-duration: 3.8033110731s;
    animation-delay: -4.1276452864s;
  }
  bokeh:nth-child(20) {
    background-color: #feff28;
    transform: translate(36.6982611663vw, 32.2260531077vh);
    animation-duration: 3.1419231058s;
    animation-delay: -4.047354451s;
  }
  bokeh:nth-child(21) {
    background-color: #2bd8ff;
    transform: translate(43.9203521123vw, 50.3912389113vh);
    animation-duration: 3.573254871s;
    animation-delay: -3.2517454802s;
  }
  bokeh:nth-child(22) {
    background-color: #2bd8ff;
    transform: translate(18.3718577447vw, 17.7516287517vh);
    animation-duration: 2.8646327122s;
    animation-delay: -4.0027181252s;
  }
  bokeh:nth-child(23) {
    background-color: #feff28;
    transform: translate(33.0335421672vw, 18.2090189222vh);
    animation-duration: 3.9938121366s;
    animation-delay: -0.1173392002s;
  }
  bokeh:nth-child(24) {
    background-color: #fc85e1;
    transform: translate(67.3869243139vw, 13.0948941238vh);
    animation-duration: 3.8656394736s;
    animation-delay: -2.7434993972s;
  }
  bokeh:nth-child(25) {
    background-color: #2bd8ff;
    transform: translate(78.0027505156vw, 77.0335631241vh);
    animation-duration: 3.0735120825s;
    animation-delay: -4.0072222508s;
  }
  bokeh:nth-child(26) {
    background-color: #feff28;
    transform: translate(11.9189274875vw, 70.3093038009vh);
    animation-duration: 2.2900178587s;
    animation-delay: -0.4233108436s;
  }
  bokeh:nth-child(27) {
    background-color: #2bd8ff;
    transform: translate(75.8035418779vw, 21.3334485366vh);
    animation-duration: 4.8587677582s;
    animation-delay: -2.8484876936s;
  }
  bokeh:nth-child(28) {
    background-color: #2bd8ff;
    transform: translate(27.6674694915vw, 10.8801947637vh);
    animation-duration: 3.304803561s;
    animation-delay: -1.8293364259s;
  }
  bokeh:nth-child(29) {
    background-color: #2bd8ff;
    transform: translate(97.0913018282vw, 76.3739051771vh);
    animation-duration: 3.2670645738s;
    animation-delay: -1.1542520405s;
  }
  bokeh:nth-child(30) {
    background-color: #feff28;
    transform: translate(54.809824036vw, 11.8361823448vh);
    animation-duration: 2.2715023233s;
    animation-delay: -0.9436763665s;
  }
  bokeh:nth-child(31) {
    background-color: #fc85e1;
    transform: translate(42.2928295244vw, 24.2424802847vh);
    animation-duration: 4.8507406577s;
    animation-delay: -2.0506874605s;
  }
  bokeh:nth-child(32) {
    background-color: #2bd8ff;
    transform: translate(79.9153946379vw, 82.8756274007vh);
    animation-duration: 4.7500499293s;
    animation-delay: -2.1945073056s;
  }
  bokeh:nth-child(33) {
    background-color: #feff28;
    transform: translate(79.1521469639vw, 0.8078529026vh);
    animation-duration: 3.6311558236s;
    animation-delay: -3.9937032884s;
  }
  bokeh:nth-child(34) {
    background-color: #feff28;
    transform: translate(70.9371634736vw, 3.3069939105vh);
    animation-duration: 3.8121787859s;
    animation-delay: -1.5296792158s;
  }
  bokeh:nth-child(35) {
    background-color: #fc85e1;
    transform: translate(10.645694696vw, 57.4966586164vh);
    animation-duration: 3.2406199747s;
    animation-delay: -1.9042221354s;
  }
  bokeh:nth-child(36) {
    background-color: #fc85e1;
    transform: translate(83.5273250201vw, 89.1944871496vh);
    animation-duration: 3.9138925935s;
    animation-delay: -1.2169977866s;
  }
  bokeh:nth-child(37) {
    background-color: #ef8d22;
    transform: translate(19.8647125823vw, 48.6732409529vh);
    animation-duration: 2.9269886036s;
    animation-delay: -4.6437507082s;
  }
  bokeh:nth-child(38) {
    background-color: #feff28;
    transform: translate(95.5055500816vw, 38.6248578631vh);
    animation-duration: 3.9219930879s;
    animation-delay: -1.948422578s;
  }
  bokeh:nth-child(39) {
    background-color: #2bd8ff;
    transform: translate(78.3248395283vw, 73.8872263472vh);
    animation-duration: 3.3801249271s;
    animation-delay: -0.7602387249s;
  }
  bokeh:nth-child(40) {
    background-color: #feff28;
    transform: translate(56.1784967268vw, 2.3595663289vh);
    animation-duration: 3.7513723774s;
    animation-delay: -2.5418693232s;
  }
  bokeh:nth-child(41) {
    background-color: #ef8d22;
    transform: translate(44.0282512557vw, 45.712199415vh);
    animation-duration: 3.2499871614s;
    animation-delay: -3.148911443s;
  }
  bokeh:nth-child(42) {
    background-color: #2bd8ff;
    transform: translate(65.156388931vw, 96.1984141977vh);
    animation-duration: 4.9695028112s;
    animation-delay: -2.880759594s;
  }
  bokeh:nth-child(43) {
    background-color: #2bd8ff;
    transform: translate(59.9256042276vw, 14.2777087121vh);
    animation-duration: 2.6174819004s;
    animation-delay: -2.6703569864s;
  }
  bokeh:nth-child(44) {
    background-color: #ef8d22;
    transform: translate(7.5091821905vw, 7.7723771186vh);
    animation-duration: 2.7318887394s;
    animation-delay: -0.5421639754s;
  }
  bokeh:nth-child(45) {
    background-color: #fc85e1;
    transform: translate(68.4347589539vw, 86.1241413863vh);
    animation-duration: 2.0552586801s;
    animation-delay: -2.7093072666s;
  }
  bokeh:nth-child(46) {
    background-color: #fc85e1;
    transform: translate(1.8940356365vw, 87.5114566545vh);
    animation-duration: 4.0441999287s;
    animation-delay: -0.9782949006s;
  }
  bokeh:nth-child(47) {
    background-color: #2bd8ff;
    transform: translate(40.5496379345vw, 33.1243586764vh);
    animation-duration: 2.1091001848s;
    animation-delay: -4.4798020852s;
  }
  bokeh:nth-child(48) {
    background-color: #ef8d22;
    transform: translate(65.4478848668vw, 8.1818545198vh);
    animation-duration: 2.9717589192s;
    animation-delay: -3.1077527092s;
  }
  bokeh:nth-child(49) {
    background-color: #ef8d22;
    transform: translate(21.3375686067vw, 92.6896686356vh);
    animation-duration: 3.3883534712s;
    animation-delay: -0.4936966357s;
  }
  bokeh:nth-child(50) {
    background-color: #fc85e1;
    transform: translate(20.2389200861vw, 1.1563879017vh);
    animation-duration: 3.2684246409s;
    animation-delay: -4.5824071866s;
  }
  bokeh:nth-child(51) {
    background-color: #feff28;
    transform: translate(35.3411005826vw, 95.4933870865vh);
    animation-duration: 4.609730878s;
    animation-delay: -1.2051207374s;
  }
  bokeh:nth-child(52) {
    background-color: #ef8d22;
    transform: translate(29.6711381794vw, 38.6986762192vh);
    animation-duration: 2.6935595551s;
    animation-delay: -4.3848888407s;
  }
  bokeh:nth-child(53) {
    background-color: #feff28;
    transform: translate(44.7590825928vw, 94.6085077356vh);
    animation-duration: 2.6916303872s;
    animation-delay: -4.8488385637s;
  }
  bokeh:nth-child(54) {
    background-color: #ef8d22;
    transform: translate(88.3288110887vw, 62.686554016vh);
    animation-duration: 2.466923379s;
    animation-delay: -0.1317468311s;
  }
  bokeh:nth-child(55) {
    background-color: #feff28;
    transform: translate(67.1433848561vw, 1.8368340392vh);
    animation-duration: 2.4289873407s;
    animation-delay: -3.6284456261s;
  }
  bokeh:nth-child(56) {
    background-color: #ef8d22;
    transform: translate(61.4680020997vw, 82.9485700866vh);
    animation-duration: 4.6741068399s;
    animation-delay: -3.5745904023s;
  }
  bokeh:nth-child(57) {
    background-color: #feff28;
    transform: translate(78.78194927vw, 92.6472840107vh);
    animation-duration: 2.4879217331s;
    animation-delay: -2.4012671376s;
  }
  bokeh:nth-child(58) {
    background-color: #ef8d22;
    transform: translate(1.3802320039vw, 98.7445334745vh);
    animation-duration: 2.8518473095s;
    animation-delay: -3.1601053982s;
  }
  bokeh:nth-child(59) {
    background-color: #2bd8ff;
    transform: translate(90.7527866886vw, 83.9190434574vh);
    animation-duration: 2.3186053564s;
    animation-delay: -4.4311262277s;
  }
  bokeh:nth-child(60) {
    background-color: #feff28;
    transform: translate(0.9683722671vw, 2.0267185767vh);
    animation-duration: 3.6378131684s;
    animation-delay: -1.935827094s;
  }
  bokeh:nth-child(61) {
    background-color: #feff28;
    transform: translate(47.2043659003vw, 14.7205969002vh);
    animation-duration: 2.0541839663s;
    animation-delay: -4.9423574569s;
  }
  bokeh:nth-child(62) {
    background-color: #fc85e1;
    transform: translate(9.3648292568vw, 56.0457150807vh);
    animation-duration: 2.6011941449s;
    animation-delay: -1.9497644154s;
  }
  bokeh:nth-child(63) {
    background-color: #feff28;
    transform: translate(27.499870426vw, 73.694271901vh);
    animation-duration: 2.5251106629s;
    animation-delay: -3.0850857812s;
  }
  bokeh:nth-child(64) {
    background-color: #fc85e1;
    transform: translate(72.8399079099vw, 34.4943418217vh);
    animation-duration: 4.9739783256s;
    animation-delay: -4.4015951567s;
  }
  bokeh:nth-child(65) {
    background-color: #feff28;
    transform: translate(35.2823191101vw, 33.4421665313vh);
    animation-duration: 3.1969394972s;
    animation-delay: -4.1636967067s;
  }
  bokeh:nth-child(66) {
    background-color: #feff28;
    transform: translate(50.353059709vw, 32.6875406804vh);
    animation-duration: 4.7168818255s;
    animation-delay: -1.4237892549s;
  }
  bokeh:nth-child(67) {
    background-color: #ef8d22;
    transform: translate(6.2890229769vw, 94.7101824328vh);
    animation-duration: 4.4215866953s;
    animation-delay: -1.1365294617s;
  }
  bokeh:nth-child(68) {
    background-color: #ef8d22;
    transform: translate(4.9905625679vw, 36.0511837707vh);
    animation-duration: 4.5267022351s;
    animation-delay: -1.3813780561s;
  }
  bokeh:nth-child(69) {
    background-color: #2bd8ff;
    transform: translate(64.0474268543vw, 17.0257692377vh);
    animation-duration: 4.2479272667s;
    animation-delay: -3.5784149995s;
  }
  bokeh:nth-child(70) {
    background-color: #ef8d22;
    transform: translate(72.4067507579vw, 28.729402198vh);
    animation-duration: 3.1498542691s;
    animation-delay: -1.5724578385s;
  }
  bokeh:nth-child(71) {
    background-color: #2bd8ff;
    transform: translate(45.8118929466vw, 6.5533028712vh);
    animation-duration: 4.3170951459s;
    animation-delay: -1.172226615s;
  }
  bokeh:nth-child(72) {
    background-color: #2bd8ff;
    transform: translate(96.2501128495vw, 99.9784677558vh);
    animation-duration: 2.0464437153s;
    animation-delay: -4.3790168227s;
  }
  bokeh:nth-child(73) {
    background-color: #2bd8ff;
    transform: translate(65.6165519598vw, 89.0283077986vh);
    animation-duration: 4.2741822684s;
    animation-delay: -4.3699502905s;
  }
  bokeh:nth-child(74) {
    background-color: #feff28;
    transform: translate(4.4267814645vw, 78.4165878652vh);
    animation-duration: 3.8247400486s;
    animation-delay: -0.8915761083s;
  }
  bokeh:nth-child(75) {
    background-color: #fc85e1;
    transform: translate(44.5463570198vw, 21.0218871094vh);
    animation-duration: 4.5414179401s;
    animation-delay: -4.0256989819s;
  }
  bokeh:nth-child(76) {
    background-color: #2bd8ff;
    transform: translate(92.6947628959vw, 18.264907149vh);
    animation-duration: 3.1903949912s;
    animation-delay: -1.1667981393s;
  }
  bokeh:nth-child(77) {
    background-color: #feff28;
    transform: translate(46.5323835327vw, 3.653609815vh);
    animation-duration: 2.0904671466s;
    animation-delay: -2.0890971368s;
  }
  bokeh:nth-child(78) {
    background-color: #ef8d22;
    transform: translate(66.6468959474vw, 99.1151613666vh);
    animation-duration: 3.011044385s;
    animation-delay: -3.8623299781s;
  }
  bokeh:nth-child(79) {
    background-color: #fc85e1;
    transform: translate(9.6881303524vw, 99.5900893422vh);
    animation-duration: 3.3643347877s;
    animation-delay: -2.4467503835s;
  }
  bokeh:nth-child(80) {
    background-color: #2bd8ff;
    transform: translate(36.2333447936vw, 51.1295610104vh);
    animation-duration: 3.2292437722s;
    animation-delay: -0.6521390644s;
  }
  bokeh:nth-child(81) {
    background-color: #fc85e1;
    transform: translate(99.1721550227vw, 26.5263838452vh);
    animation-duration: 4.8519139178s;
    animation-delay: -0.3991369271s;
  }
  bokeh:nth-child(82) {
    background-color: #2bd8ff;
    transform: translate(32.0719558979vw, 32.5494475951vh);
    animation-duration: 2.1451436465s;
    animation-delay: -1.6693663837s;
  }
  bokeh:nth-child(83) {
    background-color: #fc85e1;
    transform: translate(39.7724013583vw, 30.4772349994vh);
    animation-duration: 3.4423619208s;
    animation-delay: -1.9879669894s;
  }
  bokeh:nth-child(84) {
    background-color: #feff28;
    transform: translate(0.1388627065vw, 91.2177413069vh);
    animation-duration: 2.5776086495s;
    animation-delay: -2.4724928437s;
  }
  bokeh:nth-child(85) {
    background-color: #fc85e1;
    transform: translate(92.5591377689vw, 39.7850564155vh);
    animation-duration: 3.9645908529s;
    animation-delay: -3.0475141817s;
  }
  bokeh:nth-child(86) {
    background-color: #fc85e1;
    transform: translate(68.9523627875vw, 26.2714771574vh);
    animation-duration: 2.5171795635s;
    animation-delay: -3.7067018884s;
  }
  bokeh:nth-child(87) {
    background-color: #feff28;
    transform: translate(36.3623974997vw, 8.9310052551vh);
    animation-duration: 3.3344716645s;
    animation-delay: -1.0702290055s;
  }
  bokeh:nth-child(88) {
    background-color: #ef8d22;
    transform: translate(91.1704184404vw, 7.1196171531vh);
    animation-duration: 4.9050748526s;
    animation-delay: -4.9081242796s;
  }
  bokeh:nth-child(89) {
    background-color: #ef8d22;
    transform: translate(95.3292550387vw, 65.0141045913vh);
    animation-duration: 2.1329414899s;
    animation-delay: -3.6928666014s;
  }
  bokeh:nth-child(90) {
    background-color: #fc85e1;
    transform: translate(35.6027762203vw, 61.5720160849vh);
    animation-duration: 4.1952355475s;
    animation-delay: -1.0184556686s;
  }
  bokeh:nth-child(91) {
    background-color: #ef8d22;
    transform: translate(45.8860665178vw, 65.9325455999vh);
    animation-duration: 2.4395757805s;
    animation-delay: -3.1162047823s;
  }
  bokeh:nth-child(92) {
    background-color: #ef8d22;
    transform: translate(67.494924735vw, 31.0129266895vh);
    animation-duration: 4.0435486927s;
    animation-delay: -1.9373874225s;
  }
  bokeh:nth-child(93) {
    background-color: #2bd8ff;
    transform: translate(99.0161628027vw, 68.3804032976vh);
    animation-duration: 4.7302311881s;
    animation-delay: -3.3877777553s;
  }
  bokeh:nth-child(94) {
    background-color: #ef8d22;
    transform: translate(84.6101012197vw, 26.1289301342vh);
    animation-duration: 2.0430933002s;
    animation-delay: -3.3613639635s;
  }
  bokeh:nth-child(95) {
    background-color: #2bd8ff;
    transform: translate(61.7847952128vw, 55.0793257824vh);
    animation-duration: 2.8072313105s;
    animation-delay: -4.8758227757s;
  }
  bokeh:nth-child(96) {
    background-color: #fc85e1;
    transform: translate(74.142205748vw, 82.2083785179vh);
    animation-duration: 4.1199900592s;
    animation-delay: -4.3147073558s;
  }
  bokeh:nth-child(97) {
    background-color: #fc85e1;
    transform: translate(90.8199273084vw, 64.0313463564vh);
    animation-duration: 3.8492242708s;
    animation-delay: -4.5463400122s;
  }
  bokeh:nth-child(98) {
    background-color: #2bd8ff;
    transform: translate(75.1226459256vw, 60.5918265411vh);
    animation-duration: 4.7411824576s;
    animation-delay: -4.5830676526s;
  }
  bokeh:nth-child(99) {
    background-color: #ef8d22;
    transform: translate(63.9454657033vw, 65.9149309031vh);
    animation-duration: 2.9062537938s;
    animation-delay: -4.9182791222s;
  }
  bokeh:nth-child(100) {
    background-color: #feff28;
    transform: translate(73.9722860476vw, 20.5205671698vh);
    animation-duration: 2.6540773185s;
    animation-delay: -0.078353899s;
  }

  @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: 43px -172.6666666667px #88ff00, 113px -149.6666666667px #80ff00, 40px 54.3333333333px #00ff59, -207px -298.6666666667px #00ff0d, -236px -247.6666666667px #4000ff, 234px -317.6666666667px #0026ff, -92px -48.6666666667px #ff9d00, -33px -95.6666666667px #ff00d9, -51px 56.3333333333px #00ff1a, 21px -388.6666666667px #0037ff, 62px -390.6666666667px yellow, 31px 7.3333333333px #009dff, -36px -248.6666666667px #00aeff, -218px -73.6666666667px #ff0033, -7px -33.6666666667px #8400ff, -2px -382.6666666667px #e6ff00, -164px -387.6666666667px #ff0040, 15px 64.3333333333px #99ff00, 13px -102.6666666667px #00ffc8, -117px -4.6666666667px #2fff00, 21px -172.6666666667px yellow, 71px -173.6666666667px #ff0099, -16px -409.6666666667px #ff0055, -57px -4.6666666667px #66ff00, -236px -257.6666666667px #ff8800, -192px -229.6666666667px #ff0080, 222px -175.6666666667px #6200ff, -93px 20.3333333333px #ff0077, 36px 62.3333333333px #00ffb7, 229px -213.6666666667px #d500ff, -42px -31.6666666667px #ff9100, 97px -77.6666666667px #00ff09, 36px 15.3333333333px #0015ff, -129px 74.3333333333px #ff8000, -129px -94.6666666667px #3700ff, -66px -392.6666666667px #0009ff, 248px -48.6666666667px #ccff00, 131px -293.6666666667px #0088ff, -110px -115.6666666667px #ff4400, -182px -341.6666666667px #ffc400, 24px -131.6666666667px #00ffd9, -16px -135.6666666667px #00a2ff, 34px -272.6666666667px #2f00ff, -228px -317.6666666667px #3300ff, -190px -281.6666666667px #ff00f7, 228px -203.6666666667px #ff0037, 117px -398.6666666667px #00ff66, -163px -94.6666666667px #00d5ff, -190px -163.6666666667px #00fff7, -81px -339.6666666667px #d000ff, -29px -36.6666666667px #ffe600;
    }
  }
  @-moz-keyframes bang {
    to {
      box-shadow: 43px -172.6666666667px #88ff00, 113px -149.6666666667px #80ff00, 40px 54.3333333333px #00ff59, -207px -298.6666666667px #00ff0d, -236px -247.6666666667px #4000ff, 234px -317.6666666667px #0026ff, -92px -48.6666666667px #ff9d00, -33px -95.6666666667px #ff00d9, -51px 56.3333333333px #00ff1a, 21px -388.6666666667px #0037ff, 62px -390.6666666667px yellow, 31px 7.3333333333px #009dff, -36px -248.6666666667px #00aeff, -218px -73.6666666667px #ff0033, -7px -33.6666666667px #8400ff, -2px -382.6666666667px #e6ff00, -164px -387.6666666667px #ff0040, 15px 64.3333333333px #99ff00, 13px -102.6666666667px #00ffc8, -117px -4.6666666667px #2fff00, 21px -172.6666666667px yellow, 71px -173.6666666667px #ff0099, -16px -409.6666666667px #ff0055, -57px -4.6666666667px #66ff00, -236px -257.6666666667px #ff8800, -192px -229.6666666667px #ff0080, 222px -175.6666666667px #6200ff, -93px 20.3333333333px #ff0077, 36px 62.3333333333px #00ffb7, 229px -213.6666666667px #d500ff, -42px -31.6666666667px #ff9100, 97px -77.6666666667px #00ff09, 36px 15.3333333333px #0015ff, -129px 74.3333333333px #ff8000, -129px -94.6666666667px #3700ff, -66px -392.6666666667px #0009ff, 248px -48.6666666667px #ccff00, 131px -293.6666666667px #0088ff, -110px -115.6666666667px #ff4400, -182px -341.6666666667px #ffc400, 24px -131.6666666667px #00ffd9, -16px -135.6666666667px #00a2ff, 34px -272.6666666667px #2f00ff, -228px -317.6666666667px #3300ff, -190px -281.6666666667px #ff00f7, 228px -203.6666666667px #ff0037, 117px -398.6666666667px #00ff66, -163px -94.6666666667px #00d5ff, -190px -163.6666666667px #00fff7, -81px -339.6666666667px #d000ff, -29px -36.6666666667px #ffe600;
    }
  }
  @-o-keyframes bang {
    to {
      box-shadow: 43px -172.6666666667px #88ff00, 113px -149.6666666667px #80ff00, 40px 54.3333333333px #00ff59, -207px -298.6666666667px #00ff0d, -236px -247.6666666667px #4000ff, 234px -317.6666666667px #0026ff, -92px -48.6666666667px #ff9d00, -33px -95.6666666667px #ff00d9, -51px 56.3333333333px #00ff1a, 21px -388.6666666667px #0037ff, 62px -390.6666666667px yellow, 31px 7.3333333333px #009dff, -36px -248.6666666667px #00aeff, -218px -73.6666666667px #ff0033, -7px -33.6666666667px #8400ff, -2px -382.6666666667px #e6ff00, -164px -387.6666666667px #ff0040, 15px 64.3333333333px #99ff00, 13px -102.6666666667px #00ffc8, -117px -4.6666666667px #2fff00, 21px -172.6666666667px yellow, 71px -173.6666666667px #ff0099, -16px -409.6666666667px #ff0055, -57px -4.6666666667px #66ff00, -236px -257.6666666667px #ff8800, -192px -229.6666666667px #ff0080, 222px -175.6666666667px #6200ff, -93px 20.3333333333px #ff0077, 36px 62.3333333333px #00ffb7, 229px -213.6666666667px #d500ff, -42px -31.6666666667px #ff9100, 97px -77.6666666667px #00ff09, 36px 15.3333333333px #0015ff, -129px 74.3333333333px #ff8000, -129px -94.6666666667px #3700ff, -66px -392.6666666667px #0009ff, 248px -48.6666666667px #ccff00, 131px -293.6666666667px #0088ff, -110px -115.6666666667px #ff4400, -182px -341.6666666667px #ffc400, 24px -131.6666666667px #00ffd9, -16px -135.6666666667px #00a2ff, 34px -272.6666666667px #2f00ff, -228px -317.6666666667px #3300ff, -190px -281.6666666667px #ff00f7, 228px -203.6666666667px #ff0037, 117px -398.6666666667px #00ff66, -163px -94.6666666667px #00d5ff, -190px -163.6666666667px #00fff7, -81px -339.6666666667px #d000ff, -29px -36.6666666667px #ffe600;
    }
  }
  @-ms-keyframes bang {
    to {
      box-shadow: 43px -172.6666666667px #88ff00, 113px -149.6666666667px #80ff00, 40px 54.3333333333px #00ff59, -207px -298.6666666667px #00ff0d, -236px -247.6666666667px #4000ff, 234px -317.6666666667px #0026ff, -92px -48.6666666667px #ff9d00, -33px -95.6666666667px #ff00d9, -51px 56.3333333333px #00ff1a, 21px -388.6666666667px #0037ff, 62px -390.6666666667px yellow, 31px 7.3333333333px #009dff, -36px -248.6666666667px #00aeff, -218px -73.6666666667px #ff0033, -7px -33.6666666667px #8400ff, -2px -382.6666666667px #e6ff00, -164px -387.6666666667px #ff0040, 15px 64.3333333333px #99ff00, 13px -102.6666666667px #00ffc8, -117px -4.6666666667px #2fff00, 21px -172.6666666667px yellow, 71px -173.6666666667px #ff0099, -16px -409.6666666667px #ff0055, -57px -4.6666666667px #66ff00, -236px -257.6666666667px #ff8800, -192px -229.6666666667px #ff0080, 222px -175.6666666667px #6200ff, -93px 20.3333333333px #ff0077, 36px 62.3333333333px #00ffb7, 229px -213.6666666667px #d500ff, -42px -31.6666666667px #ff9100, 97px -77.6666666667px #00ff09, 36px 15.3333333333px #0015ff, -129px 74.3333333333px #ff8000, -129px -94.6666666667px #3700ff, -66px -392.6666666667px #0009ff, 248px -48.6666666667px #ccff00, 131px -293.6666666667px #0088ff, -110px -115.6666666667px #ff4400, -182px -341.6666666667px #ffc400, 24px -131.6666666667px #00ffd9, -16px -135.6666666667px #00a2ff, 34px -272.6666666667px #2f00ff, -228px -317.6666666667px #3300ff, -190px -281.6666666667px #ff00f7, 228px -203.6666666667px #ff0037, 117px -398.6666666667px #00ff66, -163px -94.6666666667px #00d5ff, -190px -163.6666666667px #00fff7, -81px -339.6666666667px #d000ff, -29px -36.6666666667px #ffe600;
    }
  }
  @keyframes bang {
    to {
      box-shadow: 43px -172.6666666667px #88ff00, 113px -149.6666666667px #80ff00, 40px 54.3333333333px #00ff59, -207px -298.6666666667px #00ff0d, -236px -247.6666666667px #4000ff, 234px -317.6666666667px #0026ff, -92px -48.6666666667px #ff9d00, -33px -95.6666666667px #ff00d9, -51px 56.3333333333px #00ff1a, 21px -388.6666666667px #0037ff, 62px -390.6666666667px yellow, 31px 7.3333333333px #009dff, -36px -248.6666666667px #00aeff, -218px -73.6666666667px #ff0033, -7px -33.6666666667px #8400ff, -2px -382.6666666667px #e6ff00, -164px -387.6666666667px #ff0040, 15px 64.3333333333px #99ff00, 13px -102.6666666667px #00ffc8, -117px -4.6666666667px #2fff00, 21px -172.6666666667px yellow, 71px -173.6666666667px #ff0099, -16px -409.6666666667px #ff0055, -57px -4.6666666667px #66ff00, -236px -257.6666666667px #ff8800, -192px -229.6666666667px #ff0080, 222px -175.6666666667px #6200ff, -93px 20.3333333333px #ff0077, 36px 62.3333333333px #00ffb7, 229px -213.6666666667px #d500ff, -42px -31.6666666667px #ff9100, 97px -77.6666666667px #00ff09, 36px 15.3333333333px #0015ff, -129px 74.3333333333px #ff8000, -129px -94.6666666667px #3700ff, -66px -392.6666666667px #0009ff, 248px -48.6666666667px #ccff00, 131px -293.6666666667px #0088ff, -110px -115.6666666667px #ff4400, -182px -341.6666666667px #ffc400, 24px -131.6666666667px #00ffd9, -16px -135.6666666667px #00a2ff, 34px -272.6666666667px #2f00ff, -228px -317.6666666667px #3300ff, -190px -281.6666666667px #ff00f7, 228px -203.6666666667px #ff0037, 117px -398.6666666667px #00ff66, -163px -94.6666666667px #00d5ff, -190px -163.6666666667px #00fff7, -81px -339.6666666667px #d000ff, -29px -36.6666666667px #ffe600;
    }
  }
  @-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%;
    }
  }
}