From 2ede7757c4938995b49be145f3760e6b7e90419e Mon Sep 17 00:00:00 2001
From: Thiago Santos <thia.mdossantos@gmail.com>
Date: Sat, 14 Oct 2017 00:40:00 -0300
Subject: [PATCH] :sparkles: add editorconfig (#59)

---
 .editorconfig            |  18 ++
 demo/assets/css/ie8.css  |   2 +-
 demo/assets/css/ie9.css  |   2 +-
 demo/assets/css/main.css |   2 +-
 demo/assets/js/main.js   | 514 +++++++++++++++++++--------------------
 demo/index.html          | 304 +++++++++++------------
 6 files changed, 430 insertions(+), 412 deletions(-)
 create mode 100644 .editorconfig

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..6ac3b21
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,18 @@
+# This file is for unifying the coding style for different editors and IDEs
+# editorconfig.org
+
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.{html}]
+indent_style = space
+indent_size = 4
+
+[*.{js, json, yml, css, md}]
+indent_style = space
+indent_size = 2
diff --git a/demo/assets/css/ie8.css b/demo/assets/css/ie8.css
index 9be2690..489d79f 100644
--- a/demo/assets/css/ie8.css
+++ b/demo/assets/css/ie8.css
@@ -44,4 +44,4 @@
 		text-align: center;
 		width: 100%;
 		left: 0;
-	}
\ No newline at end of file
+	}
diff --git a/demo/assets/css/ie9.css b/demo/assets/css/ie9.css
index 03651d8..0ba355d 100644
--- a/demo/assets/css/ie9.css
+++ b/demo/assets/css/ie9.css
@@ -38,4 +38,4 @@
 
 	#main .thumb {
 		float: left;
-	}
\ No newline at end of file
+	}
diff --git a/demo/assets/css/main.css b/demo/assets/css/main.css
index e4e60a0..1299c8e 100644
--- a/demo/assets/css/main.css
+++ b/demo/assets/css/main.css
@@ -1047,4 +1047,4 @@ svg:hover {
 	margin: 100px 10px;
 	height: 100%;
 	width: 100%;
-}
\ No newline at end of file
+}
diff --git a/demo/assets/js/main.js b/demo/assets/js/main.js
index abcb402..615566e 100644
--- a/demo/assets/js/main.js
+++ b/demo/assets/js/main.js
@@ -1,257 +1,257 @@
-/*
-	Multiverse by HTML5 UP
-	html5up.net | @ajlkn
-	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-*/
-
-(function($) {
-
-	skel.breakpoints({
-		xlarge: '(max-width: 1680px)',
-		large: '(max-width: 1280px)',
-		medium: '(max-width: 980px)',
-		small: '(max-width: 736px)',
-		xsmall: '(max-width: 480px)'
-	});
-
-	$(function() {
-
-		var	$window = $(window),
-			$body = $('body'),
-			$wrapper = $('#wrapper');
-
-		// Hack: Enable IE workarounds.
-			if (skel.vars.IEVersion < 12)
-				$body.addClass('ie');
-
-		// Touch?
-			if (skel.vars.mobile)
-				$body.addClass('touch');
-
-		// Transitions supported?
-			if (skel.canUse('transition')) {
-
-				// Add (and later, on load, remove) "loading" class.
-					$body.addClass('loading');
-
-					$window.on('load', function() {
-						window.setTimeout(function() {
-							$body.removeClass('loading');
-						}, 100);
-					});
-
-				// Prevent transitions/animations on resize.
-					var resizeTimeout;
-
-					$window.on('resize', function() {
-
-						window.clearTimeout(resizeTimeout);
-
-						$body.addClass('resizing');
-
-						resizeTimeout = window.setTimeout(function() {
-							$body.removeClass('resizing');
-						}, 100);
-
-					});
-
-			}
-
-		// Scroll back to top.
-			$window.scrollTop(0);
-
-		// Fix: Placeholder polyfill.
-			$('form').placeholder();
-
-		// Panels.
-			var $panels = $('.panel');
-
-			$panels.each(function() {
-
-				var $this = $(this),
-					$toggles = $('[href="#' + $this.attr('id') + '"]'),
-					$closer = $('<div class="closer" />').appendTo($this);
-
-				// Closer.
-					$closer
-						.on('click', function(event) {
-							$this.trigger('---hide');
-						});
-
-				// Events.
-					$this
-						.on('click', function(event) {
-							event.stopPropagation();
-						})
-						.on('---toggle', function() {
-
-							if ($this.hasClass('active'))
-								$this.triggerHandler('---hide');
-							else
-								$this.triggerHandler('---show');
-
-						})
-						.on('---show', function() {
-
-							// Hide other content.
-								if ($body.hasClass('content-active'))
-									$panels.trigger('---hide');
-
-							// Activate content, toggles.
-								$this.addClass('active');
-								$toggles.addClass('active');
-
-							// Activate body.
-								$body.addClass('content-active');
-
-						})
-						.on('---hide', function() {
-
-							// Deactivate content, toggles.
-								$this.removeClass('active');
-								$toggles.removeClass('active');
-
-							// Deactivate body.
-								$body.removeClass('content-active');
-
-						});
-
-				// Toggles.
-					$toggles
-						.removeAttr('href')
-						.css('cursor', 'pointer')
-						.on('click', function(event) {
-
-							event.preventDefault();
-							event.stopPropagation();
-
-							$this.trigger('---toggle');
-
-						});
-
-			});
-
-			// Global events.
-				$body
-					.on('click', function(event) {
-
-						if ($body.hasClass('content-active')) {
-
-							event.preventDefault();
-							event.stopPropagation();
-
-							$panels.trigger('---hide');
-
-						}
-
-					});
-
-				$window
-					.on('keyup', function(event) {
-
-						if (event.keyCode == 27
-						&&	$body.hasClass('content-active')) {
-
-							event.preventDefault();
-							event.stopPropagation();
-
-							$panels.trigger('---hide');
-
-						}
-
-					});
-
-		// Header.
-			var $header = $('#header');
-
-			// Links.
-				$header.find('a').each(function() {
-
-					var $this = $(this),
-						href = $this.attr('href');
-
-					// Internal link? Skip.
-						if (!href
-						||	href.charAt(0) == '#')
-							return;
-
-					// Redirect on click.
-						$this
-							.removeAttr('href')
-							.css('cursor', 'pointer')
-							.on('click', function(event) {
-
-								event.preventDefault();
-								event.stopPropagation();
-
-								window.location.href = href;
-
-							});
-
-				});
-
-		// Footer.
-			var $footer = $('#footer');
-
-			// Copyright.
-			// This basically just moves the copyright line to the end of the *last* sibling of its current parent
-			// when the "medium" breakpoint activates, and moves it back when it deactivates.
-				$footer.find('.copyright').each(function() {
-
-					var $this = $(this),
-						$parent = $this.parent(),
-						$lastParent = $parent.parent().children().last();
-
-					skel
-						.on('+medium', function() {
-							$this.appendTo($lastParent);
-						})
-						.on('-medium', function() {
-							$this.appendTo($parent);
-						});
-
-				});
-
-		// Main.
-			var $main = $('#main');
-
-			// Thumbs.
-				$main.children('.thumb').each(function() {
-
-					var	$this = $(this),
-						$image = $this.find('.image'), $image_img = $image.children('img'),
-						x;
-
-					// No image? Bail.
-						if ($image.length == 0)
-							return;
-
-					// Image.
-					// This sets the background of the "image" <span> to the image pointed to by its child
-					// <img> (which is then hidden). Gives us way more flexibility.
-
-						// Set background.
-							$image.css('background-image', 'url(' + $image_img.attr('src') + ')');
-
-						// Set background position.
-							if (x = $image_img.data('position'))
-								$image.css('background-position', x);
-
-						// Hide original img.
-							$image_img.hide();
-
-					// Hack: IE<11 doesn't support pointer-events, which means clicks to our image never
-					// land as they're blocked by the thumbnail's caption overlay gradient. This just forces
-					// the click through to the image.
-						if (skel.vars.IEVersion < 11)
-							$this
-								.css('cursor', 'pointer')
-								.on('click', function() {
-									$image.trigger('click');
-								});
-
-				});
-
-	});
-
-})(jQuery);
\ No newline at end of file
+/*
+	Multiverse by HTML5 UP
+	html5up.net | @ajlkn
+	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+*/
+
+(function($) {
+
+	skel.breakpoints({
+		xlarge: '(max-width: 1680px)',
+		large: '(max-width: 1280px)',
+		medium: '(max-width: 980px)',
+		small: '(max-width: 736px)',
+		xsmall: '(max-width: 480px)'
+	});
+
+	$(function() {
+
+		var	$window = $(window),
+			$body = $('body'),
+			$wrapper = $('#wrapper');
+
+		// Hack: Enable IE workarounds.
+			if (skel.vars.IEVersion < 12)
+				$body.addClass('ie');
+
+		// Touch?
+			if (skel.vars.mobile)
+				$body.addClass('touch');
+
+		// Transitions supported?
+			if (skel.canUse('transition')) {
+
+				// Add (and later, on load, remove) "loading" class.
+					$body.addClass('loading');
+
+					$window.on('load', function() {
+						window.setTimeout(function() {
+							$body.removeClass('loading');
+						}, 100);
+					});
+
+				// Prevent transitions/animations on resize.
+					var resizeTimeout;
+
+					$window.on('resize', function() {
+
+						window.clearTimeout(resizeTimeout);
+
+						$body.addClass('resizing');
+
+						resizeTimeout = window.setTimeout(function() {
+							$body.removeClass('resizing');
+						}, 100);
+
+					});
+
+			}
+
+		// Scroll back to top.
+			$window.scrollTop(0);
+
+		// Fix: Placeholder polyfill.
+			$('form').placeholder();
+
+		// Panels.
+			var $panels = $('.panel');
+
+			$panels.each(function() {
+
+				var $this = $(this),
+					$toggles = $('[href="#' + $this.attr('id') + '"]'),
+					$closer = $('<div class="closer" />').appendTo($this);
+
+				// Closer.
+					$closer
+						.on('click', function(event) {
+							$this.trigger('---hide');
+						});
+
+				// Events.
+					$this
+						.on('click', function(event) {
+							event.stopPropagation();
+						})
+						.on('---toggle', function() {
+
+							if ($this.hasClass('active'))
+								$this.triggerHandler('---hide');
+							else
+								$this.triggerHandler('---show');
+
+						})
+						.on('---show', function() {
+
+							// Hide other content.
+								if ($body.hasClass('content-active'))
+									$panels.trigger('---hide');
+
+							// Activate content, toggles.
+								$this.addClass('active');
+								$toggles.addClass('active');
+
+							// Activate body.
+								$body.addClass('content-active');
+
+						})
+						.on('---hide', function() {
+
+							// Deactivate content, toggles.
+								$this.removeClass('active');
+								$toggles.removeClass('active');
+
+							// Deactivate body.
+								$body.removeClass('content-active');
+
+						});
+
+				// Toggles.
+					$toggles
+						.removeAttr('href')
+						.css('cursor', 'pointer')
+						.on('click', function(event) {
+
+							event.preventDefault();
+							event.stopPropagation();
+
+							$this.trigger('---toggle');
+
+						});
+
+			});
+
+			// Global events.
+				$body
+					.on('click', function(event) {
+
+						if ($body.hasClass('content-active')) {
+
+							event.preventDefault();
+							event.stopPropagation();
+
+							$panels.trigger('---hide');
+
+						}
+
+					});
+
+				$window
+					.on('keyup', function(event) {
+
+						if (event.keyCode == 27
+						&&	$body.hasClass('content-active')) {
+
+							event.preventDefault();
+							event.stopPropagation();
+
+							$panels.trigger('---hide');
+
+						}
+
+					});
+
+		// Header.
+			var $header = $('#header');
+
+			// Links.
+				$header.find('a').each(function() {
+
+					var $this = $(this),
+						href = $this.attr('href');
+
+					// Internal link? Skip.
+						if (!href
+						||	href.charAt(0) == '#')
+							return;
+
+					// Redirect on click.
+						$this
+							.removeAttr('href')
+							.css('cursor', 'pointer')
+							.on('click', function(event) {
+
+								event.preventDefault();
+								event.stopPropagation();
+
+								window.location.href = href;
+
+							});
+
+				});
+
+		// Footer.
+			var $footer = $('#footer');
+
+			// Copyright.
+			// This basically just moves the copyright line to the end of the *last* sibling of its current parent
+			// when the "medium" breakpoint activates, and moves it back when it deactivates.
+				$footer.find('.copyright').each(function() {
+
+					var $this = $(this),
+						$parent = $this.parent(),
+						$lastParent = $parent.parent().children().last();
+
+					skel
+						.on('+medium', function() {
+							$this.appendTo($lastParent);
+						})
+						.on('-medium', function() {
+							$this.appendTo($parent);
+						});
+
+				});
+
+		// Main.
+			var $main = $('#main');
+
+			// Thumbs.
+				$main.children('.thumb').each(function() {
+
+					var	$this = $(this),
+						$image = $this.find('.image'), $image_img = $image.children('img'),
+						x;
+
+					// No image? Bail.
+						if ($image.length == 0)
+							return;
+
+					// Image.
+					// This sets the background of the "image" <span> to the image pointed to by its child
+					// <img> (which is then hidden). Gives us way more flexibility.
+
+						// Set background.
+							$image.css('background-image', 'url(' + $image_img.attr('src') + ')');
+
+						// Set background position.
+							if (x = $image_img.data('position'))
+								$image.css('background-position', x);
+
+						// Hide original img.
+							$image_img.hide();
+
+					// Hack: IE<11 doesn't support pointer-events, which means clicks to our image never
+					// land as they're blocked by the thumbnail's caption overlay gradient. This just forces
+					// the click through to the image.
+						if (skel.vars.IEVersion < 11)
+							$this
+								.css('cursor', 'pointer')
+								.on('click', function() {
+									$image.trigger('click');
+								});
+
+				});
+
+	});
+
+})(jQuery);
diff --git a/demo/index.html b/demo/index.html
index 75fae48..b56d075 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -1,152 +1,152 @@
-<!DOCTYPE HTML>
-<!--
-  Multiverse by HTML5 UP
-  html5up.net | @ajlkn
-  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
--->
-<html>
-
-<head>
-    <title>Lozad.js: Highly performant lazy loader</title>
-    <meta charset="utf-8" />
-    <meta name="description" content="Lozad.js is highly performant, light ~0.5kb and configurable lazy loader in pure JS with no dependencies for images, iframes and more.">
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
-    <link rel="image_src" href="images/lozad.jpg"/>
-    <!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
-    <link rel="stylesheet" href="assets/css/main.css" />
-    <!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
-    <!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
-    <meta property="og:title" content="Lozad.js: Highly performant lazy loader" />
-    <meta property="og:type" content="website" />
-    <meta property="og:url" content="https://apoorv.pro/lozad.js/demo/" />
-    <meta property="og:image" content="https://apoorv.pro/lozad.js/demo/images/lozad.jpg" />
-    <meta property="og:description" content="Lozad.js is highly performant, light ~0.5kb and configurable lazy loader in pure JS with no dependencies for images, iframes and more." />
-</head>
-
-<body>
-    <!-- Wrapper -->
-    <div id="wrapper">
-        <!-- Header -->
-        <header id="header">
-            <h1><a href="https://github.com/ApoorvSaxena/lozad.js"><strong>Lozad.js</strong></a></h1>
-            <nav>
-                <ul>
-                    <li>
-                        <div class="social-wrap">
-                            <a aria-label="Fork on github" class="hint--bottom-left" href="https://github.com/ApoorvSaxena/lozad.js">
-                                <svg viewBox="0 0 16 16" width="48" height="48">
-                                    <path d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"></path>
-                                </svg>
-                            </a>
-                            <a aria-label="Tweet about Hint.css v2" class="hint--bottom-left" title="Tweet" href="http://twitter.com/share?url=https://apoorv.pro/lozad.js/demo/&amp;text=Lozad.js - A performant lazy loading library for your lovely websites&amp;count=horiztonal&amp;related=lozad_js&amp;hashtags=js,performance" target="_blank">
-                                <svg viewBox="0 0 16 16" width="48" height="48">
-                                    <path d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
-                                c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"></path>
-                                </svg>
-                            </a>
-                        </div>
-                    </li>
-                </ul>
-            </nav>
-        </header>
-        <!-- Main -->
-        <div id="main">
-            <article class="main-heading">
-                <h1>Lozad.js - Performant Lazy Loading Library</h1>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/01.jpg" data-index="1" />
-                <noscript><img src="images/thumbs/01.jpg" data-index="1" /></noscript>
-                <h2>Image 1</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/02.jpg" data-index="2" />
-                <noscript><img src="images/thumbs/02.jpg" data-index="2" /></noscript>
-                <h2>Image 2</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/03.jpg" data-index="3" />
-                <noscript><img src="images/thumbs/03.jpg" data-index="3" /></noscript>
-                <h2>Image 3</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/04.jpg" data-index="4" />
-                <noscript><img src="images/thumbs/04.jpg" data-index="4" /></noscript>
-                <h2>Image 4</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/05.jpg" data-index="5" />
-                <noscript><img src="images/thumbs/05.jpg" data-index="5" /></noscript>
-                <h2>Image 5</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/06.jpg" data-index="6" />
-                <noscript><img src="images/thumbs/06.jpg" data-index="6" /></noscript>
-                <h2>Image 6</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/07.jpg" data-index="7" />
-                <noscript><img src="images/thumbs/07.jpg" data-index="7" /></noscript>
-                <h2>Image 7</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/08.jpg" data-index="8" />
-                <noscript><img src="images/thumbs/08.jpg" data-index="8" /></noscript>
-                <h2>Image 8</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/09.jpg" data-index="9" />
-                <noscript><img src="images/thumbs/09.jpg" data-index="9" /></noscript>
-                <h2>Image 9</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/10.jpg" data-index="10" />
-                <noscript><img src="images/thumbs/10.jpg" data-index="10" /></noscript>
-                <h2>Image 10</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/11.jpg" data-index="11" />
-                <noscript><img src="images/thumbs/11.jpg" data-index="11" /></noscript>
-                <h2>Image 11</h2>
-            </article>
-            <article class="thumb">
-                <img class="lozad" data-src="images/thumbs/12.jpg" data-index="12" />
-                <noscript><img src="images/thumbs/12.jpg" data-index="12" /></noscript>
-                <h2>Image 12</h2>
-            </article>
-        </div>
-    </div>
-
-    <!-- Toastr resources for Notifications -->
-    <script src="assets/js/jquery.min.js"></script>
-    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
-    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
-    <!-- Toastr resources -->
-
-    <!-- IntersectionObserver Polyfill -->
-    <script src="https://rawgit.com/w3c/IntersectionObserver/master/polyfill/intersection-observer.js"></script>
-    <!-- IntersectionObserver Polyfill -->
-
-    <script src="../dist/lozad.min.js"></script>
-    <script type="text/javascript">
-    toastr.options = {
-        "progressBar": true,
-        "timeOut": "1500"
-    }
-    // Initialize library to lazy load images
-    var observer = lozad('.lozad', {
-        threshold: 0.1,
-        load: function(el) {
-            el.src = el.getAttribute("data-src");
-            el.onload = function() {
-                el.style.width = "100%";
-                toastr["success"]("Image " + el.getAttribute("data-index") + " lazy loaded.")
-            }
-        }
-    })
-
-    observer.observe()
-    </script>
-</body>
-
-</html>
\ No newline at end of file
+<!DOCTYPE HTML>
+<!--
+  Multiverse by HTML5 UP
+  html5up.net | @ajlkn
+  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+-->
+<html>
+
+<head>
+    <title>Lozad.js: Highly performant lazy loader</title>
+    <meta charset="utf-8" />
+    <meta name="description" content="Lozad.js is highly performant, light ~0.5kb and configurable lazy loader in pure JS with no dependencies for images, iframes and more.">
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
+    <link rel="image_src" href="images/lozad.jpg"/>
+    <!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
+    <link rel="stylesheet" href="assets/css/main.css" />
+    <!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
+    <!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
+    <meta property="og:title" content="Lozad.js: Highly performant lazy loader" />
+    <meta property="og:type" content="website" />
+    <meta property="og:url" content="https://apoorv.pro/lozad.js/demo/" />
+    <meta property="og:image" content="https://apoorv.pro/lozad.js/demo/images/lozad.jpg" />
+    <meta property="og:description" content="Lozad.js is highly performant, light ~0.5kb and configurable lazy loader in pure JS with no dependencies for images, iframes and more." />
+</head>
+
+<body>
+    <!-- Wrapper -->
+    <div id="wrapper">
+        <!-- Header -->
+        <header id="header">
+            <h1><a href="https://github.com/ApoorvSaxena/lozad.js"><strong>Lozad.js</strong></a></h1>
+            <nav>
+                <ul>
+                    <li>
+                        <div class="social-wrap">
+                            <a aria-label="Fork on github" class="hint--bottom-left" href="https://github.com/ApoorvSaxena/lozad.js">
+                                <svg viewBox="0 0 16 16" width="48" height="48">
+                                    <path d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"></path>
+                                </svg>
+                            </a>
+                            <a aria-label="Tweet about Hint.css v2" class="hint--bottom-left" title="Tweet" href="http://twitter.com/share?url=https://apoorv.pro/lozad.js/demo/&amp;text=Lozad.js - A performant lazy loading library for your lovely websites&amp;count=horiztonal&amp;related=lozad_js&amp;hashtags=js,performance" target="_blank">
+                                <svg viewBox="0 0 16 16" width="48" height="48">
+                                    <path d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
+                                c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"></path>
+                                </svg>
+                            </a>
+                        </div>
+                    </li>
+                </ul>
+            </nav>
+        </header>
+        <!-- Main -->
+        <div id="main">
+            <article class="main-heading">
+                <h1>Lozad.js - Performant Lazy Loading Library</h1>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/01.jpg" data-index="1" />
+                <noscript><img src="images/thumbs/01.jpg" data-index="1" /></noscript>
+                <h2>Image 1</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/02.jpg" data-index="2" />
+                <noscript><img src="images/thumbs/02.jpg" data-index="2" /></noscript>
+                <h2>Image 2</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/03.jpg" data-index="3" />
+                <noscript><img src="images/thumbs/03.jpg" data-index="3" /></noscript>
+                <h2>Image 3</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/04.jpg" data-index="4" />
+                <noscript><img src="images/thumbs/04.jpg" data-index="4" /></noscript>
+                <h2>Image 4</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/05.jpg" data-index="5" />
+                <noscript><img src="images/thumbs/05.jpg" data-index="5" /></noscript>
+                <h2>Image 5</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/06.jpg" data-index="6" />
+                <noscript><img src="images/thumbs/06.jpg" data-index="6" /></noscript>
+                <h2>Image 6</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/07.jpg" data-index="7" />
+                <noscript><img src="images/thumbs/07.jpg" data-index="7" /></noscript>
+                <h2>Image 7</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/08.jpg" data-index="8" />
+                <noscript><img src="images/thumbs/08.jpg" data-index="8" /></noscript>
+                <h2>Image 8</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/09.jpg" data-index="9" />
+                <noscript><img src="images/thumbs/09.jpg" data-index="9" /></noscript>
+                <h2>Image 9</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/10.jpg" data-index="10" />
+                <noscript><img src="images/thumbs/10.jpg" data-index="10" /></noscript>
+                <h2>Image 10</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/11.jpg" data-index="11" />
+                <noscript><img src="images/thumbs/11.jpg" data-index="11" /></noscript>
+                <h2>Image 11</h2>
+            </article>
+            <article class="thumb">
+                <img class="lozad" data-src="images/thumbs/12.jpg" data-index="12" />
+                <noscript><img src="images/thumbs/12.jpg" data-index="12" /></noscript>
+                <h2>Image 12</h2>
+            </article>
+        </div>
+    </div>
+
+    <!-- Toastr resources for Notifications -->
+    <script src="assets/js/jquery.min.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
+    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
+    <!-- Toastr resources -->
+
+    <!-- IntersectionObserver Polyfill -->
+    <script src="https://rawgit.com/w3c/IntersectionObserver/master/polyfill/intersection-observer.js"></script>
+    <!-- IntersectionObserver Polyfill -->
+
+    <script src="../dist/lozad.min.js"></script>
+    <script type="text/javascript">
+    toastr.options = {
+        "progressBar": true,
+        "timeOut": "1500"
+    }
+    // Initialize library to lazy load images
+    var observer = lozad('.lozad', {
+        threshold: 0.1,
+        load: function(el) {
+            el.src = el.getAttribute("data-src");
+            el.onload = function() {
+                el.style.width = "100%";
+                toastr["success"]("Image " + el.getAttribute("data-index") + " lazy loaded.")
+            }
+        }
+    })
+
+    observer.observe()
+    </script>
+</body>
+
+</html>
