Frontend Forever App
We have a mobile app for you to download and use. And you can unlock many features in the app.
Get it now
Intall Later
Run
HTML
CSS
Javascript
Output
Document
@charset "UTF-8"; @import url(https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800); *, :after, :before { box-sizing: border-box; padding: 0; margin: 0; } :root { --pole-dark: #1e2635; --pole-light: #233451; --sewer-dark: #3a392f; --sewer-light: #4a4a3d; --ground-light: #83744b; --ground-dark: #6d5f45; } body { margin: 0; padding: 0; width: 100vw; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #17175f, #ffd844); } body:before { content: ""; position: absolute; width: 100%; height: 100%; background: repeating-conic-gradient(#FFF9 0%, #fff0 .000075%, #fff0 .0005%, #fff0 .12345%); filter: blur(0.5px) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff); } .content { width: 100vw; height: 100vh; display: flex; align-items: center; justify-content: center; } .buildings { width: 100vw; height: 100vh; background: linear-gradient(180deg, #021023, #222329); clip-path: polygon(0% 41%, 15% 26%, 27% 42%, 32% 42%, 33% 40%, 29% 40%, 46% 16%, 63% 39%, 59% 39%, 61% 42%, 68% 41.5%, 70% 27%, 89% 27%, 92% 41%, 100% 40%, 100% 100%, 0% 100%); display: flex; align-items: center; justify-content: center; } .window { background: linear-gradient(88deg, #fff0 0 calc(50% - 0.2vw), #111 calc((50% - 0.2vw) + 1px) calc(50% + 0.2vw), #fff0 calc((50% + 0.2vw) + 1px) 100%), repeating-linear-gradient(182deg, #fff0 0 calc(30% - 0.2vw), #111 calc((30% - 0.2vw) + 1px) calc(30% + 0.2vw), #fff0 calc((30% + 0.2vw) + 1px) 37%), #e7d09a; width: 5vmin; height: 7vmin; position: absolute; left: 5vw; transform: scale(0.8); margin-top: 3vmin; clip-path: polygon(0 0, 100% 0, 85% 100%, 10% 100%); } .window:nth-child(2) { left: 16vw; margin-top: 3.25vmin; } .window:nth-child(3) { left: 12vw; margin-top: -26vmin; clip-path: polygon(5% 0%, 97% 1%, 85% 65%, 10% 63%); } .window:nth-child(4) { right: 12vw; margin-top: -4vmin; left: inherit; } .window:nth-child(5) { right: 22vw; margin-top: -4vmin; left: inherit; transform: scale(0.85) rotateY(180deg); } .ground { background: radial-gradient(circle at 50% 350vh, var(--ground-light) 0 343vh, #333 calc(343vh + 2px) 346vh, var(--ground-dark) calc(346vh + 2px) 100%); position: absolute; width: 150vw; height: 26vh; bottom: 0; border-radius: 100% 100% 0 0; display: flex; align-items: center; justify-content: center; opacity: 0.5; } .sewer { position: absolute; width: 130px; height: 50px; margin-left: -500px; margin-top: -50px; clip-path: polygon(0% 33%, 65% 10%, 100% 35%, 40% 80%); background: linear-gradient(-188deg, var(--sewer-dark) 0 19px, #fff0 20px 100%), linear-gradient(-16deg, var(--sewer-dark) 0 34px, #fff0 35px 100%), linear-gradient(-163deg, var(--sewer-dark) 0 19px, #fff0 20px 100%), linear-gradient(25deg, var(--sewer-dark) 0 33px, var(--sewer-light) 34px 39px, var(--sewer-dark) 40px 46px, var(--sewer-light) 47px 52px, var(--sewer-dark) 53px 59px, var(--sewer-light) 60px 67px, var(--sewer-dark) 68px 73px, var(--sewer-light) 74px 90px, #fff0 0 100%); } .streetlamp { width: 80px; height: 72vh; position: absolute; top: 20vh; margin-left: -4vmin; max-width: 80px; min-width: 80px; } .base { bottom: 0; right: 0; position: absolute; width: 81%; height: 24%; background: linear-gradient(-94deg, var(--pole-dark) 0 23%, #fff0 calc(23% + 1px) 100%), linear-gradient(-1deg, var(--pole-dark) 0 3.65%, #fff0 calc(1.65% + 1px) 100%), linear-gradient(85deg, var(--pole-dark) 0 58%, var(--pole-light) calc(58% + 1px) 100%); border-radius: 2px; clip-path: polygon(15% 0, 76% 0, 95% 99%, 0% 99%); z-index: 1; } .basetop { background: #1e2634; width: 75%; height: 3%; position: absolute; bottom: 24%; left: 16%; border-radius: 2px; z-index: 2; transform: rotate(-0.5deg); } .pole { position: absolute; width: 25%; height: 56.5%; background: linear-gradient(-1deg, var(--pole-dark) 0 1.65%, #fff0 calc(1.65% + 1px) 100%), linear-gradient(-91deg, var(--pole-dark) 0 35%, #fff0 calc(35% + 1px) 100%), linear-gradient(89.5deg, var(--pole-dark) 0 40%, var(--pole-light) calc(40% + 1px) 100%); bottom: 26.25%; left: 45%; clip-path: polygon(17% 0, 60% 0, 95% 99%, 0% 99%); z-index: 1; } .poletop { width: 20%; height: 1.5%; background: var(--pole-dark); position: absolute; bottom: 82%; left: 44%; z-index: 1; clip-path: polygon(0% 0, 100% 0, 95% 65%, 10% 72%); } .head { position: absolute; width: 100%; height: 100px; bottom: 83%; z-index: 1; } .head .top { background: conic-gradient(from 131deg at 55% 0, var(--pole-light) 0 12%, var(--pole-dark) 13% 29.5%, #fff0 0 100%); width: 100%; height: 30%; top: 20%; position: absolute; transform: rotate(-3deg); } .head .bot { width: 75%; height: 5%; background: linear-gradient(45deg, #fff0 12%, var(--pole-dark) 0 65%, #fff0 0 100%), linear-gradient(-50deg, #fff0 8%, var(--pole-dark) 0 65%, #fff0 0 100%); left: 17%; position: absolute; bottom: 1%; transform: rotate(-3deg); } .glass { background: linear-gradient(-79deg, #fff0 0 12%, var(--pole-dark) 13% 16%, #fff0 17% 100%), conic-gradient(from -46deg at 53% 200%, #fff0 0 13%, var(--pole-dark) 13.2% 14%, #fff0 14.2% 100%), linear-gradient(70deg, #fff0 0 21%, var(--pole-dark) 22% 25%, #fff0 26% 100%), radial-gradient(circle at 37% 250%, #fff0 0 73%, #e4ce8b 75% 100%), radial-gradient(circle at 37% 300%, #fff0 0 73%, #e4ce8b 75% 100%), conic-gradient(from -46deg at 53% 200%, #fff0 0 7%, #f5f3b0 0 13%, var(--pole-dark) 13.2% 14%, #fff0 14.2% 100%), linear-gradient(-79deg, #fff0 0 12%, var(--pole-dark) 13% 16%, #ffe5ad 17% 50%, #fff0 17% 100%); background-repeat: no-repeat; background-size: 100% 100%, 100% 100%, 100% 100%, 33% 42%, 50% 35%, 100% 100%; background-position: 0 0, 0 0, 0 0, 90% 0, 20% 0, 0 0; width: 100%; height: 45%; top: 50%; position: absolute; transform: rotate(-3deg); opacity: 0.5; } .light { background: linear-gradient(180deg, #dac47080, #dac47020 90%, #fff0 100%); width: 650px; height: 64vh; position: absolute; left: -274px; bottom: 1.5%; clip-path: polygon(43% 1%, 53% 0.35%, 100% 100%, 0 100%); opacity: 0; } .ground-light { background: #dac47080; width: 650px; left: -275px; position: absolute; bottom: -28px; height: 80px; border-radius: 100%; z-index: 0; opacity: 0; } .top:before { content: ""; position: absolute; background: var(--pole-light); width: 8px; height: 12px; border-radius: 100%; left: 48%; top: -40%; border: 3px solid var(--pole-dark); border-left-width: 0; } .top:after { content: ""; position: absolute; background: var(--pole-dark); width: 4px; height: 12px; border-radius: 100%; left: 52%; top: -70%; } #btn { display: none; } label[for=btn] { position: absolute; width: 80%; height: 55%; z-index: 5; top: 45%; left: 11%; border-radius: 50% 50% 100% 150%; cursor: pointer; } #btn:checked + .content .light, #btn:checked + .content .ground, #btn:checked + .content .ground-light, #btn:checked + .content .head .glass { animation: turn-on 2s ease 0s 1; opacity: 1; } @keyframes turn-on { 0%, 10%, 25% { opacity: 0; } 5%, 15%, 35%, 100% { opacity: 1; } } @media screen and (orientation:landscape) and (max-width: 767px) { .light { bottom: 11%; } .ground-light { bottom: -9px; } }
console.log("Event Fired")