').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\n $this.removeAttr('height').removeAttr('width');\n });\n });\n };\n\n // Internal counter for unique video names.\n $.fn.fitVids._count = 0;\n\n// Works with either jQuery or Zepto\n})( window.jQuery || window.Zepto );\n","(function () {\n const mediaQuery = window.matchMedia('(max-width: 767px)');\n\n const head = document.querySelector('.gh-head');\n const menu = head.querySelector('.gh-head-menu');\n const nav = menu.querySelector('.nav');\n if (!nav) return;\n\n const logo = document.querySelector('.gh-head-logo');\n const navHTML = nav.innerHTML;\n\n if (mediaQuery.matches) {\n const items = nav.querySelectorAll('li');\n items.forEach(function (item, index) {\n item.style.transitionDelay = 0.03 * (index + 1) + 's';\n });\n }\n\n const makeDropdown = function () {\n if (mediaQuery.matches) return;\n const submenuItems = [];\n\n while ((nav.offsetWidth + 64) > menu.offsetWidth) {\n if (nav.lastElementChild) {\n submenuItems.unshift(nav.lastElementChild);\n nav.lastElementChild.remove();\n } else {\n return;\n }\n }\n\n if (!submenuItems.length) {\n document.body.classList.add('is-dropdown-loaded');\n return;\n }\n\n const toggle = document.createElement('button');\n toggle.setAttribute('class', 'nav-more-toggle');\n toggle.setAttribute('aria-label', 'More');\n toggle.innerHTML = '';\n\n const wrapper = document.createElement('div');\n wrapper.setAttribute('class', 'gh-dropdown');\n\n if (submenuItems.length >= 10) {\n document.body.classList.add('is-dropdown-mega');\n wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';\n } else {\n document.body.classList.remove('is-dropdown-mega');\n }\n\n submenuItems.forEach(function (child) {\n wrapper.appendChild(child);\n });\n\n toggle.appendChild(wrapper);\n nav.appendChild(toggle);\n\n document.body.classList.add('is-dropdown-loaded');\n\n toggle.addEventListener('click', function () {\n document.body.classList.toggle('is-dropdown-open');\n });\n\n window.addEventListener('click', function (e) {\n if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {\n document.body.classList.remove('is-dropdown-open');\n }\n });\n }\n\n imagesLoaded(head, function () {\n makeDropdown();\n });\n\n window.addEventListener('resize', function () {\n setTimeout(function () {\n nav.innerHTML = navHTML;\n makeDropdown();\n }, 1);\n });\n})();\n","/* eslint-env browser */\n\n/**\n * Infinite Scroll\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\n *\n * When the page is scrolled to 300px from the bottom, the next page of posts\n * is fetched by following the the that is output\n * by {{ghost_head}}.\n *\n * The individual post items are extracted from the fetched pages by looking for\n * a wrapper element with the class \"post-card\". Any found elements are appended\n * to the element with the class \"post-feed\" in the currently viewed page.\n */\n\n(function (window, document) {\n if (document.documentElement.classList.contains('no-infinite-scroll')) return;\n\n // next link element\n var nextElement = document.querySelector('link[rel=next]');\n if (!nextElement) {\n return;\n }\n\n // post feed element\n var feedElement = document.querySelector('.post-feed');\n if (!feedElement) {\n return;\n }\n\n var buffer = 300;\n\n var ticking = false;\n var loading = false;\n\n var lastScrollY = window.scrollY;\n var lastWindowHeight = window.innerHeight;\n var lastDocumentHeight = document.documentElement.scrollHeight;\n\n function onPageLoad() {\n if (this.status === 404) {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n return;\n }\n\n // append contents\n var postElements = this.response.querySelectorAll('article.post-card');\n postElements.forEach(function (item) {\n // document.importNode is important, without it the item's owner\n // document will be different which can break resizing of\n // `object-fit: cover` images in Safari\n feedElement.appendChild(document.importNode(item, true));\n });\n\n // set next link\n var resNextElement = this.response.querySelector('link[rel=next]');\n if (resNextElement) {\n nextElement.href = resNextElement.href;\n } else {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n }\n\n // sync status\n lastDocumentHeight = document.documentElement.scrollHeight;\n ticking = false;\n loading = false;\n }\n\n function onUpdate() {\n // return if already loading\n if (loading) {\n return;\n }\n\n // return if not scroll to the bottom\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\n ticking = false;\n return;\n }\n\n loading = true;\n\n var xhr = new window.XMLHttpRequest();\n xhr.responseType = 'document';\n\n xhr.addEventListener('load', onPageLoad);\n\n xhr.open('GET', nextElement.href);\n xhr.send(null);\n }\n\n function requestTick() {\n ticking || window.requestAnimationFrame(onUpdate);\n ticking = true;\n }\n\n function onScroll() {\n lastScrollY = window.scrollY;\n requestTick();\n }\n\n function onResize() {\n lastWindowHeight = window.innerHeight;\n lastDocumentHeight = document.documentElement.scrollHeight;\n requestTick();\n }\n\n window.addEventListener('scroll', onScroll, {passive: true});\n window.addEventListener('resize', onResize);\n\n requestTick();\n})(window, document);\n"]}
\ No newline at end of file
+{"version":3,"sources":["imagesloaded.pkgd.min.js","jquery.fitvids.js","dropdown.js","infinite-scroll.js"],"names":["e","t","define","amd","module","exports","EvEmitter","window","this","prototype","on","i","_events","n","indexOf","push","once","_onceEvents","off","length","splice","emitEvent","slice","o","r","apply","allOff","require","imagesLoaded","s","document","querySelectorAll","elements","Array","isArray","d","call","options","getImages","h","jqDeferred","Deferred","setTimeout","check","bind","a","error","img","url","element","Image","jQuery","console","Object","create","images","forEach","addElementImages","nodeName","addImage","background","addElementBackgroundImages","nodeType","u","1","9","11","getComputedStyle","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","log","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","addEventListener","src","handleEvent","type","onload","unbindEvents","onerror","removeEventListener","makeJQueryPlugin","fn","promise","$","fitVids","head","div","settings","customSelector","ignore","getElementById","getElementsByTagName","createElement","innerHTML","appendChild","childNodes","extend","each","selectors","ignoreList","$allVideos","find","join","not","aspectRatio","videoName","$this","parents","tagName","toLowerCase","parent","css","isNaN","attr","parseInt","height","width","_count","wrap","removeAttr","Zepto","mediaQuery","matchMedia","querySelector","menu","nav","windowClickListener","navHTML","matches","items","item","index","style","transitionDelay","makeDropdown","submenuItems","offsetWidth","lastElementChild","unshift","remove","toggle","setAttribute","wrapper","body","classList","add","gridTemplateRows","Math","ceil","child","contains","target","nextElement","feedElement","buffer","ticking","loading","lastScrollY","lastWindowHeight","lastDocumentHeight","onPageLoad","status","onScroll","onResize","response","importNode","resNextElement","href","documentElement","scrollHeight","onUpdate","xhr","XMLHttpRequest","responseType","open","send","requestTick","requestAnimationFrame","scrollY","innerHeight","passive"],"mappings":"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","file":"casper.js","sourcesContent":["/*!\n * imagesLoaded PACKAGED v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n!function(e,t){\"function\"==typeof define&&define.amd?define(\"ev-emitter/ev-emitter\",t):\"object\"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}(\"undefined\"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o';\n head.appendChild(div.childNodes[1]);\n }\n\n if ( options ) {\n $.extend( settings, options );\n }\n\n return this.each(function(){\n var selectors = [\n 'iframe[src*=\"player.vimeo.com\"]',\n 'iframe[src*=\"youtube.com\"]',\n 'iframe[src*=\"youtube-nocookie.com\"]',\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\n 'object',\n 'embed'\n ];\n\n if (settings.customSelector) {\n selectors.push(settings.customSelector);\n }\n\n var ignoreList = '.fitvidsignore';\n\n if(settings.ignore) {\n ignoreList = ignoreList + ', ' + settings.ignore;\n }\n\n var $allVideos = $(this).find(selectors.join(','));\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\n\n $allVideos.each(function(){\n var $this = $(this);\n if($this.parents(ignoreList).length > 0) {\n return; // Disable FitVids on this video.\n }\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\n {\n $this.attr('height', 9);\n $this.attr('width', 16);\n }\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\n aspectRatio = height / width;\n if(!$this.attr('name')){\n var videoName = 'fitvid' + $.fn.fitVids._count;\n $this.attr('name', videoName);\n $.fn.fitVids._count++;\n }\n $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\n $this.removeAttr('height').removeAttr('width');\n });\n });\n };\n\n // Internal counter for unique video names.\n $.fn.fitVids._count = 0;\n\n// Works with either jQuery or Zepto\n})( window.jQuery || window.Zepto );\n","(function () {\n const mediaQuery = window.matchMedia('(max-width: 767px)');\n\n const head = document.querySelector('.gh-head');\n const menu = head.querySelector('.gh-head-menu');\n const nav = menu.querySelector('.nav');\n if (!nav) return;\n\n const logo = document.querySelector('.gh-head-logo');\n const navHTML = nav.innerHTML;\n\n if (mediaQuery.matches) {\n const items = nav.querySelectorAll('li');\n items.forEach(function (item, index) {\n item.style.transitionDelay = 0.03 * (index + 1) + 's';\n });\n }\n\n var windowClickListener;\n const makeDropdown = function () {\n if (mediaQuery.matches) return;\n const submenuItems = [];\n\n while ((nav.offsetWidth + 64) > menu.offsetWidth) {\n if (nav.lastElementChild) {\n submenuItems.unshift(nav.lastElementChild);\n nav.lastElementChild.remove();\n } else {\n return;\n }\n }\n\n if (!submenuItems.length) {\n document.body.classList.add('is-dropdown-loaded');\n return;\n }\n\n const toggle = document.createElement('button');\n toggle.setAttribute('class', 'nav-more-toggle');\n toggle.setAttribute('aria-label', 'More');\n toggle.innerHTML = '';\n\n const wrapper = document.createElement('div');\n wrapper.setAttribute('class', 'gh-dropdown');\n\n if (submenuItems.length >= 10) {\n document.body.classList.add('is-dropdown-mega');\n wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';\n } else {\n document.body.classList.remove('is-dropdown-mega');\n }\n\n submenuItems.forEach(function (child) {\n wrapper.appendChild(child);\n });\n\n toggle.appendChild(wrapper);\n nav.appendChild(toggle);\n\n document.body.classList.add('is-dropdown-loaded');\n\n toggle.addEventListener('click', function () {\n document.body.classList.toggle('is-dropdown-open');\n });\n\n windowClickListener = function (e) {\n if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {\n document.body.classList.remove('is-dropdown-open');\n }\n };\n window.addEventListener('click', windowClickListener);\n }\n\n imagesLoaded(head, function () {\n makeDropdown();\n });\n\n window.addEventListener('resize', function () {\n setTimeout(function () {\n window.removeEventListener('click', windowClickListener);\n nav.innerHTML = navHTML;\n makeDropdown();\n }, 1);\n });\n})();\n","/* eslint-env browser */\n\n/**\n * Infinite Scroll\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\n *\n * When the page is scrolled to 300px from the bottom, the next page of posts\n * is fetched by following the the that is output\n * by {{ghost_head}}.\n *\n * The individual post items are extracted from the fetched pages by looking for\n * a wrapper element with the class \"post-card\". Any found elements are appended\n * to the element with the class \"post-feed\" in the currently viewed page.\n */\n\n(function (window, document) {\n if (document.documentElement.classList.contains('no-infinite-scroll')) return;\n\n // next link element\n var nextElement = document.querySelector('link[rel=next]');\n if (!nextElement) {\n return;\n }\n\n // post feed element\n var feedElement = document.querySelector('.post-feed');\n if (!feedElement) {\n return;\n }\n\n var buffer = 300;\n\n var ticking = false;\n var loading = false;\n\n var lastScrollY = window.scrollY;\n var lastWindowHeight = window.innerHeight;\n var lastDocumentHeight = document.documentElement.scrollHeight;\n\n function onPageLoad() {\n if (this.status === 404) {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n return;\n }\n\n // append contents\n var postElements = this.response.querySelectorAll('article.post-card');\n postElements.forEach(function (item) {\n // document.importNode is important, without it the item's owner\n // document will be different which can break resizing of\n // `object-fit: cover` images in Safari\n feedElement.appendChild(document.importNode(item, true));\n });\n\n // set next link\n var resNextElement = this.response.querySelector('link[rel=next]');\n if (resNextElement) {\n nextElement.href = resNextElement.href;\n } else {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n }\n\n // sync status\n lastDocumentHeight = document.documentElement.scrollHeight;\n ticking = false;\n loading = false;\n }\n\n function onUpdate() {\n // return if already loading\n if (loading) {\n return;\n }\n\n // return if not scroll to the bottom\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\n ticking = false;\n return;\n }\n\n loading = true;\n\n var xhr = new window.XMLHttpRequest();\n xhr.responseType = 'document';\n\n xhr.addEventListener('load', onPageLoad);\n\n xhr.open('GET', nextElement.href);\n xhr.send(null);\n }\n\n function requestTick() {\n ticking || window.requestAnimationFrame(onUpdate);\n ticking = true;\n }\n\n function onScroll() {\n lastScrollY = window.scrollY;\n requestTick();\n }\n\n function onResize() {\n lastWindowHeight = window.innerHeight;\n lastDocumentHeight = document.documentElement.scrollHeight;\n requestTick();\n }\n\n window.addEventListener('scroll', onScroll, {passive: true});\n window.addEventListener('resize', onResize);\n\n requestTick();\n})(window, document);\n"]}
\ No newline at end of file