{"version":3,"sources":["../bower_components/lazysizes/plugins/parent-fit/ls.parent-fit.js","../bower_components/lazysizes/plugins/bgset/ls.bgset.js","../bower_components/lazysizes/lazysizes.js"],"names":["window","factory","globalInstall","lazySizes","removeEventListener","bind","document","module","exports","require","addEventListener","regDescriptors","regCssFit","regCssObject","regPicture","parentFit","getParent","element","parentSel","parent","parentNode","test","nodeName","previousElementSibling","closest","jQuery","getFit","tmpMatch","parentObj","css","getComputedStyle","content","fontFamily","obj","fit","_lazysizesParentFit","getAttribute","match","_lazysizesParentContainer","objectFit","getImageRatio","srcset","ratio","elements","querySelectorAll","i","length","lazySizesConfig","srcsetAttr","media","_lsMedia","customMedia","matchMedia","matches","parseFloat","calculateSize","width","imageRatio","fitObj","this","fitElem","clientWidth","retWidth","height","clientHeight","displayRatio","e","defaultPrevented","detail","instance","target","regWhite","regSplitSet","regSource","regBgUrlEscape","allowedBackgroundSize","proxyLoad","contain","cover","elem","bg","_lazybgset","image","currentSrc","src","style","backgroundImage","JSON","stringify","_lazybgsetLoading","fire","picture","sizes","optimumx","set","createElement","alt","firesLoad","sets","img","sizesAttr","removeChild","Object","defineProperty","value","writable","replace","split","display","className","lazyClass","forEach","source","setAttribute","appendChild","removeAttribute","setTimeout","loader","unveil","rAF","complete","bgSize","dataAttr","getPropertyValue","backgroundSize","documentElement","gW","_lazysizesWidth","getElementsByClassName","running","waiting","firstFns","secondFns","fns","prop","docElem","Date","supportPicture","HTMLPictureElement","_addEventListener","_getAttribute","requestAnimationFrame","requestIdleCallback","loadEvents","regClassCache","Array","prototype","hasClass","ele","cls","RegExp","addClass","trim","removeClass","reg","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","name","noBubbles","noCancelable","event","createEvent","lazysizes","initCustomEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","reevaluate","getCSS","getWidth","offsetWidth","minSize","rafBatch","_lsFlush","run","rAFIt","simple","that","args","arguments","apply","debounce","func","later","last","now","timestamp","timeout","lazySizesDefaults","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","srcAttr","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazysizesConfig","regImg","regIframe","supportScroll","navigator","userAgent","lowRuns","checkElements","lastTime","isLoading","currentExpand","gDelay","rICTimeout","idleCallback","rafedSwitchLoadingClass","switchLoadingClass","rafSwitchLoadingClass","lazyUnveil","isAuto","isImg","isPicture","resetPreloading","clearTimeout","resetPreloadingTimer","call","getElementsByTagName","handleSources","changeIframeSrc","contentWindow","location","_lazyRace","naturalWidth","preloadElems","isCompleted","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","defaultExpand","preloadExpand","throttledCheckElements","unveilElement","autosizesElems","sizeElement","debouncedUpdateElementsSizes","_","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","onload","checkElems","isPriority","delay","autoSizer","updateElem","sources","len","getSizeElement","cfg","uP","aC","rC","hC","runFns","shift","queue","push","hidden","eLlen","rect","autoLoadElem","loadedSomething","elemExpand","elemNegativeExpand","elemExpandVal","beforeExpandVal","lazyloadElems","expand","innerWidth","innerHeight","getBoundingClientRect","bottom","top","right","left","outerRect","visible","body","offsetParent","isNestedVisible","preloadAfterLoad","sourceSrcset","afterScroll"],"mappings":"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","file":"lazysizes.js","sourcesContent":["(function(window, factory) {\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(window, function(window, document, lazySizes) {\n\t'use strict';\n\n\tif(!window.addEventListener){return;}\n\n\tvar regDescriptors = /\\s+(\\d+)(w|h)\\s+(\\d+)(w|h)/;\n\tvar regCssFit = /parent-fit[\"']*\\s*:\\s*[\"']*(contain|cover|width)/;\n\tvar regCssObject = /parent-container[\"']*\\s*:\\s*[\"']*(.+?)(?=(\\s|$|,|'|\"|;))/;\n\tvar regPicture = /^picture$/i;\n\n\tvar getCSS = function (elem){\n\t\treturn (getComputedStyle(elem, null) || {});\n\t};\n\n\tvar parentFit = {\n\n\t\tgetParent: function(element, parentSel){\n\t\t\tvar parent = element;\n\t\t\tvar parentNode = element.parentNode;\n\n\t\t\tif((!parentSel || parentSel == 'prev') && parentNode && regPicture.test(parentNode.nodeName || '')){\n\t\t\t\tparentNode = parentNode.parentNode;\n\t\t\t}\n\n\t\t\tif(parentSel != 'self'){\n\t\t\t\tif(parentSel == 'prev'){\n\t\t\t\t\tparent = element.previousElementSibling;\n\t\t\t\t} else if(parentSel && (parentNode.closest || window.jQuery)){\n\t\t\t\t\tparent = (parentNode.closest ?\n\t\t\t\t\t\t\tparentNode.closest(parentSel) :\n\t\t\t\t\t\t\tjQuery(parentNode).closest(parentSel)[0]) ||\n\t\t\t\t\t\tparentNode\n\t\t\t\t\t;\n\t\t\t\t} else {\n\t\t\t\t\tparent = parentNode;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn parent;\n\t\t},\n\n\t\tgetFit: function(element){\n\t\t\tvar tmpMatch, parentObj;\n\t\t\tvar css = getCSS(element);\n\t\t\tvar content = css.content || css.fontFamily;\n\t\t\tvar obj = {\n\t\t\t\tfit: element._lazysizesParentFit || element.getAttribute('data-parent-fit')\n\t\t\t};\n\n\t\t\tif(!obj.fit && content && (tmpMatch = content.match(regCssFit))){\n\t\t\t\tobj.fit = tmpMatch[1];\n\t\t\t}\n\n\t\t\tif(obj.fit){\n\t\t\t\tparentObj = element._lazysizesParentContainer || element.getAttribute('data-parent-container');\n\n\t\t\t\tif(!parentObj && content && (tmpMatch = content.match(regCssObject))){\n\t\t\t\t\tparentObj = tmpMatch[1];\n\t\t\t\t}\n\n\t\t\t\tobj.parent = parentFit.getParent(element, parentObj);\n\n\n\t\t\t} else {\n\t\t\t\tobj.fit = css.objectFit;\n\t\t\t}\n\n\t\t\treturn obj;\n\t\t},\n\n\t\tgetImageRatio: function(element){\n\t\t\tvar i, srcset, media, ratio, match;\n\t\t\tvar parent = element.parentNode;\n\t\t\tvar elements = parent && regPicture.test(parent.nodeName || '') ?\n\t\t\t\t\tparent.querySelectorAll('source, img') :\n\t\t\t\t\t[element]\n\t\t\t\t;\n\n\t\t\tfor(i = 0; i < elements.length; i++){\n\t\t\t\telement = elements[i];\n\t\t\t\tsrcset = element.getAttribute(lazySizesConfig.srcsetAttr) || element.getAttribute('srcset') || element.getAttribute('data-pfsrcset') || element.getAttribute('data-risrcset') || '';\n\t\t\t\tmedia = element._lsMedia || element.getAttribute('media');\n\t\t\t\tmedia = lazySizesConfig.customMedia[element.getAttribute('data-media') || media] || media;\n\n\t\t\t\tif(srcset && (!media || (window.matchMedia && matchMedia(media) || {}).matches )){\n\t\t\t\t\tratio = parseFloat(element.getAttribute('data-aspectratio'));\n\n\t\t\t\t\tif(!ratio && (match = srcset.match(regDescriptors))){\n\t\t\t\t\t\tif(match[2] == 'w'){\n\t\t\t\t\t\t\tratio = match[1] / match[3];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tratio = match[3] / match[1];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ratio;\n\t\t},\n\n\t\tcalculateSize: function(element, width){\n\t\t\tvar displayRatio, height, imageRatio, retWidth;\n\t\t\tvar fitObj = this.getFit(element);\n\t\t\tvar fit = fitObj.fit;\n\t\t\tvar fitElem = fitObj.parent;\n\n\t\t\tif(fit != 'width' && ((fit != 'contain' && fit != 'cover') || !(imageRatio = this.getImageRatio(element)))){\n\t\t\t\treturn width;\n\t\t\t}\n\n\t\t\tif(fitElem){\n\t\t\t\twidth = fitElem.clientWidth;\n\t\t\t} else {\n\t\t\t\tfitElem = element;\n\t\t\t}\n\n\t\t\tretWidth = width;\n\n\t\t\tif(fit == 'width'){\n\t\t\t\tretWidth = width;\n\t\t\t} else {\n\t\t\t\theight = fitElem.clientHeight;\n\n\t\t\t\tif(height > 40 && (displayRatio = width / height) && ((fit == 'cover' && displayRatio < imageRatio) || (fit == 'contain' && displayRatio > imageRatio))){\n\t\t\t\t\tretWidth = width * (imageRatio / displayRatio);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn retWidth;\n\t\t}\n\t};\n\n\tlazySizes.parentFit = parentFit;\n\n\tdocument.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.defaultPrevented || e.detail.instance != lazySizes){return;}\n\n\t\tvar element = e.target;\n\t\te.detail.width = parentFit.calculateSize(element, e.detail.width);\n\t});\n}));\n","(function(window, factory) {\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(window, function(window, document, lazySizes) {\n\t'use strict';\n\tif(!window.addEventListener){return;}\n\n\tvar regWhite = /\\s+/g;\n\tvar regSplitSet = /\\s*\\|\\s+|\\s+\\|\\s*/g;\n\tvar regSource = /^(.+?)(?:\\s+\\[\\s*(.+?)\\s*\\])?$/;\n\tvar regBgUrlEscape = /\\(|\\)|'/;\n\tvar allowedBackgroundSize = {contain: 1, cover: 1};\n\tvar proxyWidth = function(elem){\n\t\tvar width = lazySizes.gW(elem, elem.parentNode);\n\n\t\tif(!elem._lazysizesWidth || width > elem._lazysizesWidth){\n\t\t\telem._lazysizesWidth = width;\n\t\t}\n\t\treturn elem._lazysizesWidth;\n\t};\n\tvar getBgSize = function(elem){\n\t\tvar bgSize;\n\n\t\tbgSize = (getComputedStyle(elem) || {getPropertyValue: function(){}}).getPropertyValue('background-size');\n\n\t\tif(!allowedBackgroundSize[bgSize] && allowedBackgroundSize[elem.style.backgroundSize]){\n\t\t\tbgSize = elem.style.backgroundSize;\n\t\t}\n\n\t\treturn bgSize;\n\t};\n\tvar createPicture = function(sets, elem, img){\n\t\tvar picture = document.createElement('picture');\n\t\tvar sizes = elem.getAttribute(lazySizesConfig.sizesAttr);\n\t\tvar ratio = elem.getAttribute('data-ratio');\n\t\tvar optimumx = elem.getAttribute('data-optimumx');\n\n\t\tif(elem._lazybgset && elem._lazybgset.parentNode == elem){\n\t\t\telem.removeChild(elem._lazybgset);\n\t\t}\n\n\t\tObject.defineProperty(img, '_lazybgset', {\n\t\t\tvalue: elem,\n\t\t\twritable: true\n\t\t});\n\t\tObject.defineProperty(elem, '_lazybgset', {\n\t\t\tvalue: picture,\n\t\t\twritable: true\n\t\t});\n\n\t\tsets = sets.replace(regWhite, ' ').split(regSplitSet);\n\n\t\tpicture.style.display = 'none';\n\t\timg.className = lazySizesConfig.lazyClass;\n\n\t\tif(sets.length == 1 && !sizes){\n\t\t\tsizes = 'auto';\n\t\t}\n\n\t\tsets.forEach(function(set){\n\t\t\tvar match;\n\t\t\tvar source = document.createElement('source');\n\n\t\t\tif(sizes && sizes != 'auto'){\n\t\t\t\tsource.setAttribute('sizes', sizes);\n\t\t\t}\n\n\t\t\tif((match = set.match(regSource))){\n\t\t\t\tsource.setAttribute(lazySizesConfig.srcsetAttr, match[1]);\n\t\t\t\tif(match[2]){\n\t\t\t\t\tsource.setAttribute('media', lazySizesConfig.customMedia[match[2]] || match[2]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tpicture.appendChild(source);\n\t\t});\n\n\t\tif(sizes){\n\t\t\timg.setAttribute(lazySizesConfig.sizesAttr, sizes);\n\t\t\telem.removeAttribute(lazySizesConfig.sizesAttr);\n\t\t\telem.removeAttribute('sizes');\n\t\t}\n\t\tif(optimumx){\n\t\t\timg.setAttribute('data-optimumx', optimumx);\n\t\t}\n\t\tif(ratio) {\n\t\t\timg.setAttribute('data-ratio', ratio);\n\t\t}\n\n\t\tpicture.appendChild(img);\n\n\t\telem.appendChild(picture);\n\t};\n\n\tvar proxyLoad = function(e){\n\t\tif(!e.target._lazybgset){return;}\n\n\t\tvar image = e.target;\n\t\tvar elem = image._lazybgset;\n\t\tvar bg = image.currentSrc || image.src;\n\n\t\tif(bg){\n\t\t\telem.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg ) + ')';\n\t\t}\n\n\t\tif(image._lazybgsetLoading){\n\t\t\tlazySizes.fire(elem, '_lazyloaded', {}, false, true);\n\t\t\tdelete image._lazybgsetLoading;\n\t\t}\n\t};\n\n\taddEventListener('lazybeforeunveil', function(e){\n\t\tvar set, image, elem;\n\n\t\tif(e.defaultPrevented || !(set = e.target.getAttribute('data-bgset'))){return;}\n\n\t\telem = e.target;\n\t\timage = document.createElement('img');\n\n\t\timage.alt = '';\n\n\t\timage._lazybgsetLoading = true;\n\t\te.detail.firesLoad = true;\n\n\t\tcreatePicture(set, elem, image);\n\n\t\tsetTimeout(function(){\n\t\t\tlazySizes.loader.unveil(image);\n\n\t\t\tlazySizes.rAF(function(){\n\t\t\t\tlazySizes.fire(image, '_lazyloaded', {}, true, true);\n\t\t\t\tif(image.complete) {\n\t\t\t\t\tproxyLoad({target: image});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t});\n\n\tdocument.addEventListener('load', proxyLoad, true);\n\n\twindow.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.detail.instance != lazySizes){return;}\n\t\tif(e.target._lazybgset && e.detail.dataAttr){\n\t\t\tvar elem = e.target._lazybgset;\n\t\t\tvar bgSize = getBgSize(elem);\n\n\t\t\tif(allowedBackgroundSize[bgSize]){\n\t\t\t\te.target._lazysizesParentFit = bgSize;\n\n\t\t\t\tlazySizes.rAF(function(){\n\t\t\t\t\te.target.setAttribute('data-parent-fit', bgSize);\n\t\t\t\t\tif(e.target._lazysizesParentFit){\n\t\t\t\t\t\tdelete e.target._lazysizesParentFit;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, true);\n\n\tdocument.documentElement.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.defaultPrevented || !e.target._lazybgset || e.detail.instance != lazySizes){return;}\n\t\te.detail.width = proxyWidth(e.target._lazybgset);\n\t});\n}));\n","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(window, function l(window, document) {\n\t'use strict';\n\t/*jshint eqnull:true */\n\tif(!document.getElementsByClassName){return;}\n\n\tvar lazysizes, lazySizesConfig;\n\n\tvar docElem = document.documentElement;\n\n\tvar Date = window.Date;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\tvar addEventListener = window[_addEventListener];\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('CustomEvent');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initCustomEvent(name, !noBubbles, !noCancelable, detail);\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesConfig.pf) ) ){\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesConfig.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth = parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = lazySizesConfig.throttleDelay;\n\t\tvar rICTimeout = lazySizesConfig.ricTimeout;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback && rICTimeout > 49 ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\n\t\t\t\tif(rICTimeout !== lazySizesConfig.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesConfig.ricTimeout;\n\t\t\t\t}\n\t\t\t} :\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 33;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning = true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || delay < 9){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2,\n\t\t\tloadHidden: true,\n\t\t\tricTimeout: 0,\n\t\t\tthrottleDelay: 125,\n\t\t};\n\n\t\tlazySizesConfig = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesConfig)){\n\t\t\t\tlazySizesConfig[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\n\t\twindow.lazySizesConfig = lazySizesConfig;\n\n\t\tsetTimeout(function(){\n\t\t\tif(lazySizesConfig.init){\n\t\t\t\tinit();\n\t\t\t}\n\t\t});\n\t})();\n\n\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom;\n\n\t\tvar defaultExpand, preloadExpand, hFac;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/glebot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(e && e.target){\n\t\t\t\taddRemoveLoadEvents(e.target, resetPreloading);\n\t\t\t}\n\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = getCSS(document.body, 'visibility') == 'hidden' || getCSS(elem, 'visibility') != 'hidden';\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal;\n\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesConfig.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tif(preloadExpand == null){\n\t\t\t\t\tif(!('expand' in lazySizesConfig)){\n\t\t\t\t\t\tlazySizesConfig.expand = docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefaultExpand = lazySizesConfig.expand;\n\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesConfig.expFactor;\n\t\t\t\t}\n\n\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\tlowRuns = 0;\n\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t}\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t(lazySizesConfig.loadHidden || getCSS(lazyloadElems[i], 'visibility') != 'hidden') &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesConfig.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\taddClass(e.target, lazySizesConfig.loadedClass);\n\t\t\tremoveClass(e.target, lazySizesConfig.loadingClass);\n\t\t\taddRemoveLoadEvents(e.target, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(e.target, 'lazyloaded');\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\ttry {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} catch(e){\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesConfig.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesConfig.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesConfig.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesConfig.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesConfig.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\taddRemoveLoadEvents(elem, resetPreloading, true);\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\n\t\t\t\t\taddClass(elem, lazySizesConfig.loadingClass);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(isImg && (srcset || isPicture)){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesConfig.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\tif( !firesLoad || (elem.complete && elem.naturalWidth > 1)){\n\t\t\t\t\tif(firesLoad){\n\t\t\t\t\t\tresetPreloading(event);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisLoading--;\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesConfig.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesConfig.errorClass) && hasClass(elem, lazySizesConfig.lazyClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar afterScroll = debounce(function(){\n\t\t\t\tlazySizesConfig.loadMode = 3;\n\t\t\t\tthrottledCheckElements();\n\t\t\t});\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesConfig.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', function(){\n\t\t\t\tif(lazySizesConfig.loadMode == 3){\n\t\t\t\t\tlazySizesConfig.loadMode = 2;\n\t\t\t\t}\n\t\t\t\tafterScroll();\n\t\t\t}, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazysizes.elements = document.getElementsByClassName(lazySizesConfig.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass + ' ' + lazySizesConfig.preloadClass);\n\t\t\t\thFac = lazySizesConfig.hFac;\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend', 'webkitAnimationEnd'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazysizes.elements.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesConfig.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tlazysizes = {\n\t\tcfg: lazySizesConfig,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n\n\treturn lazysizes;\n}\n));\n"],"sourceRoot":"assets/scripts/"}