HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URLs added here will be added as <link>
s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<div class="wonder"></div>
/* font */
$font: Inter, serif;
/* colors */
$white: #FFFFFF;
$lh: #6B5E51;
$lh-shadow: #4B3F34;
$lh-window: #26211B;
$moon1: #D9D6C5;
$moon2: #EBE6CB;
$beach1: #735C46;
$beach2: #88827D;
$ocean1: #1C5BBA;
$ocean2: #0C2954;
/*dimensions */
$full: 100vh;
/* Presets */
*, *:before, *:after {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body {
display: flex;
justify-content: center;
align-items: center;
background:
/* land */
linear-gradient(180deg, $beach1 19.59%, $beach2 100%) 0% 90vh / 100vw 4vh no-repeat,
/* ocean */
linear-gradient($ocean1 0%, $ocean2 100%) 0% 94vh / 100vw 6vh no-repeat,
radial-gradient(ellipse, $beach1 40vh, transparent 40vh) -50vw 50vh / 280vw 80vh no-repeat,
radial-gradient(ellipse, $beach1 40vh, transparent 40vh) -75vw 50vh / 280vw 80vh no-repeat,
radial-gradient(ellipse, $beach1 40vh, transparent 40vh) -100vw 50vh / 280vw 80vh no-repeat,
radial-gradient(ellipse, $beach1 40vh, transparent 40vh) -125vw 50vh / 280vw 80vh no-repeat,
conic-gradient(from 167.72deg at 50.06% 45.46%, #133955 -54.38deg, #344275 7.33deg, #6F357D 84.38deg, #30297D 138.99deg, #213A57 168.75deg, #290755 205.87deg, #0C4A47 264.38deg, #133955 305.62deg, #344275 367.33deg);
}
div:before, div:after {
display: block;
content: '';
position: absolute;
}
div.wonder {
width: 100vw;
height: 90vh;
position: relative;
$star-size: .25vh;
$moon-size: 10vh;
$moon2-size: 5vh;
$ocean-size: 15vh;
$random: (random(100) + vh);
background:
/*--- night sky ---*/
/* stars */
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat,
radial-gradient(circle, $moon1 $star-size, transparent $star-size) (random(100) + vw) (random(85) + vh) / calc( #{$star-size} * 2) calc( #{$star-size} * 2) no-repeat;
}
div.wonder:before {
width: 110vh;
height: 95vh;
position: relative;
display: flex;
margin: 0 auto;
justify-content: center;
align-items: center;
background:
/* lighthouse base */
/* window row 1 */linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 38.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 38.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 38.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 38.5vh / 1.5vh 2.5vh no-repeat,
/* window row 2 */linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 42vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 42vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 42vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 42vh / 1.5vh 2.5vh no-repeat,
/* window row 3 */linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 45.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 45.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 45.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 45.5vh / 1.5vh 2.5vh no-repeat,
/* window row 4 */linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 49vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 49vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 49vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 49vh / 1.5vh 2.5vh no-repeat,
/* window row 5 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 56.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 56.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 56.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 56.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 56.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 56.5vh / 1.5vh 2.5vh no-repeat,
/* window row 6 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 60vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 60vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 60vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 60vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 60vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 60vh / 1.5vh 2.5vh no-repeat,
/* window row 7 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 63.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 63.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 63.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 63.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 63.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 63.5vh / 1.5vh 2.5vh no-repeat,
/* window row 8 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 67vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 67vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 67vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 67vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 67vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 67vh / 1.5vh 2.5vh no-repeat,
/* window row 9 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 70.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 70.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 70.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 70.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 70.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 70.5vh / 1.5vh 2.5vh no-repeat,
/* window row 10 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 74vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 74vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 74vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 74vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 74vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 74vh / 1.5vh 2.5vh no-repeat,
/* window row 11 */linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 77.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 49.75vh 77.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 52.25vh 77.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 54.75vh 77.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 57.25vh 77.5vh / 1.5vh 2.5vh no-repeat,
linear-gradient($lh-window 6vh, transparent 6vh) 59.75vh 77.5vh / 1.5vh 2.5vh no-repeat,
/* large widow row */
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 26.75vh 81.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 27.25vh 83.75vh / 3vh 5vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 35vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 35.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 41vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 41.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 47vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 47.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 53vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 53.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 59vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 59.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 65vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 65.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 71vh 83.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 71.5vh 85.75vh / 3vh 3vh no-repeat,
radial-gradient(circle, $lh-window 1.5vh, transparent 1.5vh) 79.5vh 81.5vh / 4vh 4vh no-repeat, linear-gradient($lh-window 6vh, transparent 6vh) 80vh 83.75vh / 3vh 5vh no-repeat,
/* lighthouse base */
/* top tower shadow r linear-gradient(60deg, $lh-shadow 3vh, transparent 3vh) 60vh 12vh / 6vh 7vh no-repeat,
top tower shadow l linear-gradient(-25deg, $lh-shadow 4vh, transparent 8vh) 27vh -11vh / 33vh 30vh no-repeat,
* top tower l * linear-gradient(60deg, $lh 10vh, transparent 10vh) 52vh 13.7vh / 15vh 4.5vh no-repeat,
* top tower r * linear-gradient(-60deg, $lh 10vh, transparent 10vh) 42vh 13.7vh / 15vh 4.5vh no-repeat, */
/* upper-upper-base shadow */ linear-gradient(160deg, $lh 1vh, $lh-shadow 4vh) 50.5vh 19.25vh / 8vh 2vh no-repeat,
linear-gradient(160deg, $lh 1vh, $lh-shadow 6vh) 49.5vh 21vh / 10vh 1vh no-repeat,
/* upper-upper-base */linear-gradient(160deg, $lh 1vh, $lh-shadow 5vh) 49vh 22vh / 11vh 1vh no-repeat,
radial-gradient(ellipse, $lh 4vh, transparent 4vh) 50vh 16vh / 9vh 7vh no-repeat,
/*radial-gradient(ellipse, $lh-shadow 4vh, transparent 4vh) 45.5vh 25.5vh / 18vh 8vh no-repeat,*/
/* light-column1 */linear-gradient(160deg, $lh 1vh, $lh 6vh) 49vh 23vh / 1vh 6vh no-repeat,
/* light-column2 */linear-gradient(160deg, $lh 1vh, $lh 6vh) 51.5vh 23vh / 1.25vh 6vh no-repeat,
/* light-column3 */linear-gradient(160deg, $lh 1vh, $lh-shadow 8vh) 56vh 23vh / 1.25vh 6vh no-repeat,
/* light-column4 */linear-gradient(160deg, $lh 1vh, $lh-shadow 6vh) 59vh 23vh / 1vh 6vh no-repeat,
/* upper-upper-base shadow */ linear-gradient(160deg, $lh 1vh, $lh-shadow 4vh) 49.5vh 30vh / 10vh 1vh no-repeat,
/* upper-upper-base */linear-gradient(160deg, $lh 1vh, $lh-shadow 5vh) 49vh 29vh / 11vh 1vh no-repeat,
radial-gradient(ellipse, $lh 4vh, transparent 4vh) 45.5vh 27vh / 18vh 8vh no-repeat,
radial-gradient(ellipse, $lh-shadow 4vh, transparent 4vh) 45.5vh 27.25vh / 18vh 8vh no-repeat,
/* upper-base */ linear-gradient(160deg, $lh 4vh, $lh-shadow 6vh) 51vh 31vh / 7vh 4.5vh no-repeat,
/* lower-upper-base */linear-gradient(170deg, $lh 1vh, $lh-shadow 3vh) 47vh 35.5vh / 15vh 1vh no-repeat,
/* lower-upper-base */linear-gradient(170deg, $lh 1vh, $lh-shadow 3vh) 46vh 36.5vh / 17vh 1vh no-repeat,
/* top tower shadow r */linear-gradient(82deg, $lh-shadow 3vh, transparent 3vh) 59.25vh 46vh / 6vh 7vh no-repeat,
/* top tower shadow l */ linear-gradient(-35deg, $lh-shadow 6vh, transparent 8vh) 28vh 23vh / 33vh 30vh no-repeat,
/* top tower l */ linear-gradient(82deg, $lh 10vh, transparent 10vh) 52vh 37vh / 15vh 16vh no-repeat,
/* top tower r */ linear-gradient(-82deg, $lh 10vh, transparent 10vh) 42vh 37vh / 15vh 16vh no-repeat,
/* lightbulb */radial-gradient(circle, $moon2 2.5vh, transparent 4.5vh) 50.5vh 21.5vh / 8vh 8vh no-repeat,
/* mid-base */linear-gradient(170deg, $lh 1vh, $lh-shadow 4vh) 44vh 53vh / 21vh 1vh no-repeat,
/* mid-base */linear-gradient(170deg, $lh 1vh, $lh-shadow 4vh) 43vh 54vh / 23vh 1vh no-repeat,
/* base l */ linear-gradient(90deg, $lh 8.5vh, $lh-shadow 14vh) 24vh 78vh / 10vh 12vh no-repeat,
/* base l */ linear-gradient(90deg, $lh-shadow 8.5vh, $lh-shadow 14vh) 76vh 78vh / 10vh 12vh no-repeat,
/* base */ linear-gradient(160deg, $lh 5vh, $lh-shadow 14vh) 29vh 83vh / 53vh 7vh no-repeat,
/* bottom tower shadow r */linear-gradient(82deg, $lh-shadow 4vh, transparent 4vh) 63.5vh 75vh / 8vh 10vh no-repeat,
/* bottom tower shadow l */ linear-gradient(-25deg, $lh-shadow 9.5vh, transparent 11.5vh) 24vh 55vh / 42vh 30vh no-repeat,
/* bottom tower l */ linear-gradient(82deg, $lh 20vh, transparent 20vh) 47vh 55vh / 30vh 30vh no-repeat,
/* bottom tower r */ linear-gradient(-82deg, $lh 20vh, transparent 20vh) 32vh 55vh / 30vh 30vh no-repeat,
/* base */ linear-gradient(0deg, $lh-shadow 0vh, $lh-window 3vh) 20vh 90vh / 70vh 4vh no-repeat,
/* base */ linear-gradient(-45deg, $lh-shadow 0vh, $lh-window 2.75vh, transparent 3vh) 10vh 84vh / 10vh 10vh no-repeat,
/* base */ linear-gradient(45deg, $lh-shadow 0vh, $lh-window 2.75vh, transparent 3vh) 90vh 84vh / 10vh 10vh no-repeat,
}
div.wonder:after {
top: 10vh;
left: 10vw;
width: 160px;
height: 160px;
border-radius: 50%;
box-shadow: 25px 25px 0 0 $moon1;
}
/* This entry for #divtober 2022 was for "wonder". I've always been fascinated by the Library of Alexandria, one of the Seven Wonders of the World. I recreated what it is believed that amazing lighthouse building to have looked like. There is a time-lapse video of making this piece at https://youtu.be/pWvtimh4y_A */
Also see: Tab Triggers