Pen Settings



CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's 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 it's URL and the proper URL extention.

+ add another resource


Babel includes JSX processing.

Add External Scripts/Pens

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.

+ add another resource


Add Packages

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.


Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.


  <img src="" alt>
  <h1>On Walden Pond</h1>
<p>AT A CERTAIN season of our life we are accustomed to consider every spot as the possible site of a house. I have thus surveyed the country on every side within a dozen miles of where I live. In imagination I have bought all the farms in succession, for all were to be bought, and I knew their price. I walked over each farmer's premises, tasted his wild apples, discoursed on husbandry with him, took his farm at his price, at any price, mortgaging it to him in my mind; even put a higher price on it — took everything but a deed of it — took his word for his deed, for I dearly love to talk — cultivated it, and him too to some extent, I trust, and withdrew when I had enjoyed it long enough, leaving him to carry it on. This experience entitled me to be regarded as a sort of real-estate broker by my friends. Wherever I sat, there I might live, and the landscape radiated from me accordingly. What is a house but a sedes, a seat? — better if a country seat. I discovered many a site for a house not likely to be soon improved, which some might have thought too far from the village, but to my eyes the village was too far from it. Well, there I might live, I said; and there I did live, for an hour, a summer and a winter life; saw how I could let the years run off, buffet the winter through, and see the spring come in. The future inhabitants of this region, wherever they may place their houses, may be sure that they have been anticipated. An afternoon sufficed to lay out the land into orchard, wood-lot, and pasture, and to decide what fine oaks or pines should be left to stand before the door, and whence each blasted tree could be seen to the best advantage; and then I let it lie, fallow, perchance, for a man is rich in proportion to the number of things which he can afford to let alone.
<svg xmlns="" width="0" height="0">
  <filter id="blur">
    <feGaussianBlur stdDeviation="0" />


                @import url(;
body { 
  margin: 2rem; 
article { 
  margin: 0 auto;
  width: 60%;
header { 
	overflow: hidden;
	font-size: 0; 
h1 { 
  font-family: Effra, sans-serif;
  text-transform: uppercase; 
  font-size: 5vw;
  text-align: center;
  position: relative;
  top: -8rem;
  color: #fff;
article header img { 
  width: 100%;
  height: auto; 
  filter: url(#blur);
p { 
  margin-top: -8rem; 
  text-align: justify;     
  font-family: Raleway, sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;


                window.onscroll = function (event) {
  var headerImg = document.querySelector("article header img");
    var headerImgOffset = headerImg.getBoundingClientRect();
	var imgTop =;
	var imgBottom = headerImgOffset.bottom;
	var imgHeight = headerImg.offsetHeight;
	var viewportHeight = document.documentElement.clientHeight;
	var blur = document.getElementById("blur");
	var svgblur = blur.getElementsByTagName("feGaussianBlur")[0];
	var topEffectStart = Math.abs((viewportHeight - imgHeight)/5);
		if (imgTop < topEffectStart && imgBottom > 0 ) { 
			blurFactor = Math.abs(imgTop / 100); = "blur(" + blurFactor + "px)";
			svgblur.setAttribute("stdDeviation", blurFactor);"scale("+(1+Math.abs(imgTop / 1000))+")";"scale("+(1+Math.abs(imgTop / 1000))+")";