{"version":3,"file":"main.min.js","sources":["../../src/Vendors/lazysizes/lazysizes.js","../../src/Vendors/lazysizes/plugins/parent-fit/ls.parent-fit.js","../../src/ts/src/animate.ts","../../src/ts/src/scroll.ts","../../src/ts/main.ts","../../src/ts/src/menu.ts"],"sourcesContent":["(function(window, factory) {\n\tvar lazySizes = factory(window, window.document, Date);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(typeof window != 'undefined' ?\n window : {}, function l(window, document, Date) { // Pass in the windoe Date function also for SSR because the Date class can be lost\n\t'use strict';\n\t/*jshint eqnull:true */\n\n\tvar lazysizes, lazySizesCfg;\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\tfastLoadedClass: 'ls-is-cached',\n\t\t\tiframeLoadMode: 0,\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\tlazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesCfg)){\n\t\t\t\tlazySizesCfg[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tif (!document || !document.getElementsByClassName) {\n\t\treturn {\n\t\t\tinit: function () {},\n\t\t\tcfg: lazySizesCfg,\n\t\t\tnoSupport: true,\n\t\t};\n\t}\n\n\tvar docElem = document.documentElement;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\t/**\n\t * Update to bind to window because 'this' becomes null during SSR\n\t * builds.\n\t */\n\tvar addEventListener = window[_addEventListener].bind(window);\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('Event');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initEvent(name, !noBubbles, !noCancelable);\n\n\t\tevent.detail = 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 || lazySizesCfg.pf) ) ){\n\t\t\tif(full && full.src && !el[_getAttribute]('srcset')){\n\t\t\t\tel.setAttribute('srcset', full.src);\n\t\t\t}\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 < lazySizesCfg.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 = lazySizesCfg.throttleDelay;\n\t\tvar rICTimeout = lazySizesCfg.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 !== lazySizesCfg.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesCfg.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\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.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 || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isVisible = function (elem) {\n\t\t\tif (isBodyHidden == null) {\n\t\t\t\tisBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n\t\t\t}\n\n\t\t\treturn isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\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 = isVisible(elem);\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,\n\t\t\t\tbeforeExpandVal, defaultExpand, preloadExpand, hFac;\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\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 || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){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 (!defaultExpand) {\n\t\t\t\t\t\tdefaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?\n\t\t\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\t\t\tlazySizesCfg.expand;\n\n\t\t\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesCfg.expFactor;\n\t\t\t\t\t\thFac = lazySizesCfg.hFac;\n\t\t\t\t\t\tisBodyHidden = null;\n\n\t\t\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\t\t\tlowRuns = 0;\n\t\t\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t\t\t}\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(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\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] || lazySizesCfg.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.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\tvar elem = e.target;\n\n\t\t\tif (elem._lazyCache) {\n\t\t\t\tdelete elem._lazyCache;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresetPreloading(e);\n\t\t\taddClass(elem, lazySizesCfg.loadedClass);\n\t\t\tremoveClass(elem, lazySizesCfg.loadingClass);\n\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(elem, '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\tvar loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode;\n\n\t\t\t// loadMode can be also a string!\n\t\t\tif (loadMode == 0) {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} else if (loadMode == 1) {\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](lazySizesCfg.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesCfg.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, lazySizesCfg.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](lazySizesCfg.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesCfg.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\taddClass(elem, lazySizesCfg.loadingClass);\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\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, lazySizesCfg.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\t// Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n\t\t\t\tvar isLoaded = elem.complete && elem.naturalWidth > 1;\n\n\t\t\t\tif( !firesLoad || isLoaded){\n\t\t\t\t\tif (isLoaded) {\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.fastLoadedClass);\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t\telem._lazyCache = true;\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tif ('_lazyCache' in elem) {\n\t\t\t\t\t\t\tdelete elem._lazyCache;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 9);\n\t\t\t\t}\n\t\t\t\tif (elem.loading == 'lazy') {\n\t\t\t\t\tisLoading--;\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\n\t\t\tif (elem._lazyRace) {return;}\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](lazySizesCfg.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, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.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 afterScroll = debounce(function(){\n\t\t\tlazySizesCfg.loadMode = 3;\n\t\t\tthrottledCheckElements();\n\t\t});\n\n\t\tvar altLoadmodeScrollListner = function(){\n\t\t\tif(lazySizesCfg.loadMode == 3){\n\t\t\t\tlazySizesCfg.loadMode = 2;\n\t\t\t}\n\t\t\tafterScroll();\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\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesCfg.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', altLoadmodeScrollListner, 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(lazySizesCfg.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('pageshow', function (e) {\n\t\t\t\t\tif (e.persisted) {\n\t\t\t\t\t\tvar loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n\t\t\t\t\t\tif (loadingElements.length && loadingElements.forEach) {\n\t\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\t\tloadingElements.forEach( function (img) {\n\t\t\t\t\t\t\t\t\tif (img.complete) {\n\t\t\t\t\t\t\t\t\t\tunveilElement(img);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\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'].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\t_aLSL: altLoadmodeScrollListner,\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(lazySizesCfg.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 && document.getElementsByClassName){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tsetTimeout(function(){\n\t\tif(lazySizesCfg.init){\n\t\t\tinit();\n\t\t}\n\t});\n\n\tlazysizes = {\n\t\tcfg: lazySizesCfg,\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","(function(window, factory) {\n\tif(!window) {return;}\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 (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, 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\tvar cfg = lazySizes.cfg;\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, width, height;\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(cfg.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 = cfg.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) {\n\t\t\t\t\t\tmatch = srcset.match(regDescriptors);\n\n\t\t\t\t\t\tif (match) {\n\t\t\t\t\t\t\tif(match[2] == 'w'){\n\t\t\t\t\t\t\t\twidth = match[1];\n\t\t\t\t\t\t\t\theight = match[3];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twidth = match[3];\n\t\t\t\t\t\t\t\theight = match[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twidth = element.getAttribute('width');\n\t\t\t\t\t\t\theight = element.getAttribute('height');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tratio = width / height;\n\t\t\t\t\t}\n\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((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",null,null,null,null],"names":["window","factory","lazySizes","document","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","fastLoadedClass","iframeLoadMode","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","getElementsByClassName","cfg","noSupport","docElem","documentElement","supportPicture","HTMLPictureElement","_addEventListener","_getAttribute","addEventListener","bind","setTimeout","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","Array","prototype","hasClass","ele","cls","RegExp","test","addClass","setAttribute","trim","removeClass","reg","replace","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","elem","name","detail","noBubbles","noCancelable","event","createEvent","instance","initEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","src","reevaluate","elements","getCSS","style","getComputedStyle","getWidth","parent","width","offsetWidth","_lazysizesWidth","parentNode","rAF","firstFns","secondFns","fns","run","runFns","length","running","waiting","shift","rafBatch","queue","apply","this","arguments","push","hidden","_lsFlush","rAFIt","simple","that","args","throttle","lastTime","gDelay","rICTimeout","now","idleCallback","timeout","isPriority","delay","debounce","func","timestamp","wait","later","last","loader","regImg","regIframe","supportScroll","navigator","userAgent","shrinkExpand","currentExpand","isLoading","lowRuns","resetPreloading","e","target","isVisible","isBodyHidden","body","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","i","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","clientHeight","clientWidth","_defEx","eLvW","innerWidth","elvH","innerHeight","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","getAttribute","contentWindow","location","handleSources","source","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","defaultPrevented","nodeName","clearTimeout","resetPreloadingTimer","call","getElementsByTagName","isLoaded","complete","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","_","persisted","loadingElements","querySelectorAll","img","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","_aLSL","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","module","exports","globalInstall","removeEventListener","require","define","amd","regDescriptors","regCssFit","regCssObject","parentFit","getParent","element","parentSel","previousElementSibling","closest","jQuery","getFit","tmpMatch","parentObj","css","content","fontFamily","obj","fit","_lazysizesParentFit","match","_lazysizesParentContainer","objectFit","getImageRatio","media","ratio","height","_lsMedia","matchMedia","matches","parseFloat","calculateSize","displayRatio","imageRatio","retWidth","fitObj","fitElem","observer","IntersectionObserver","entries","entry","animation","prefix","removeAnimated","classList","contains","isIntersecting","anim","Promise","resolve","reject","animationName","node","stopPropagation","remove","once","then","root","threshold","rootMargin","$","each","reducedMotionMQ","scrollToTargetAdjusted","offsetPosition","isSmoothScrollSupported","scrollBy","behavior","ensureElementIsVisible","isElementInViewport","on","menuId","getElementById","toggle","animate","topBtnEl","onscroll","scrollY","hash","substring","btnEl","querySelector","trgtEl","scroll","headId","history","replaceState","headEl"],"mappings":"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"}