{"version":3,"file":"scripts-redesign.js","sources":["scripts-redesign.js"],"sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\r\n\r\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\r\n\r\n(function (global, factory) {\r\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.LazyLoad = factory());\r\n})(this, function () {\r\n 'use strict';\r\n\r\n var runningOnBrowser = typeof window !== \"undefined\";\r\n var isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\r\n var supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\r\n var supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\r\n var defaultSettings = {\r\n elements_selector: \"img\",\r\n container: isBot || runningOnBrowser ? document : null,\r\n threshold: 300,\r\n thresholds: null,\r\n data_src: \"src\",\r\n data_srcset: \"srcset\",\r\n data_sizes: \"sizes\",\r\n data_bg: \"bg\",\r\n data_poster: \"poster\",\r\n class_loading: \"loading\",\r\n class_loaded: \"loaded\",\r\n class_error: \"error\",\r\n load_delay: 0,\r\n auto_unobserve: true,\r\n callback_enter: null,\r\n callback_exit: null,\r\n callback_reveal: null,\r\n callback_loaded: null,\r\n callback_error: null,\r\n callback_finish: null,\r\n use_native: false\r\n };\r\n\r\n var getInstanceSettings = function getInstanceSettings(customSettings) {\r\n return _extends({}, defaultSettings, customSettings);\r\n };\r\n /* Creates instance and notifies it through the window element */\r\n\r\n\r\n var createInstance = function createInstance(classObj, options) {\r\n var event;\r\n var eventString = \"LazyLoad::Initialized\";\r\n var instance = new classObj(options);\r\n\r\n try {\r\n // Works in modern browsers\r\n event = new CustomEvent(eventString, {\r\n detail: {\r\n instance: instance\r\n }\r\n });\r\n } catch (err) {\r\n // Works in Internet Explorer (all versions)\r\n event = document.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventString, false, false, {\r\n instance: instance\r\n });\r\n }\r\n\r\n window.dispatchEvent(event);\r\n };\r\n /* Auto initialization of one or more instances of lazyload, depending on the \r\n options passed in (plain object or an array) */\r\n\r\n\r\n function autoInitialize(classObj, options) {\r\n if (!options) {\r\n return;\r\n }\r\n\r\n if (!options.length) {\r\n // Plain object\r\n createInstance(classObj, options);\r\n } else {\r\n // Array of objects\r\n for (var i = 0, optionsItem; optionsItem = options[i]; i += 1) {\r\n createInstance(classObj, optionsItem);\r\n }\r\n }\r\n }\r\n\r\n var dataPrefix = \"data-\";\r\n var processedDataName = \"was-processed\";\r\n var timeoutDataName = \"ll-timeout\";\r\n var trueString = \"true\";\r\n\r\n var getData = function getData(element, attribute) {\r\n return element.getAttribute(dataPrefix + attribute);\r\n };\r\n\r\n var setData = function setData(element, attribute, value) {\r\n var attrName = dataPrefix + attribute;\r\n\r\n if (value === null) {\r\n element.removeAttribute(attrName);\r\n return;\r\n }\r\n\r\n element.setAttribute(attrName, value);\r\n };\r\n\r\n var resetWasProcessedData = function resetWasProcessedData(element) {\r\n return setData(element, processedDataName, null);\r\n };\r\n\r\n var setWasProcessedData = function setWasProcessedData(element) {\r\n return setData(element, processedDataName, trueString);\r\n };\r\n\r\n var getWasProcessedData = function getWasProcessedData(element) {\r\n return getData(element, processedDataName) === trueString;\r\n };\r\n\r\n var setTimeoutData = function setTimeoutData(element, value) {\r\n return setData(element, timeoutDataName, value);\r\n };\r\n\r\n var getTimeoutData = function getTimeoutData(element) {\r\n return getData(element, timeoutDataName);\r\n };\r\n\r\n var purgeProcessedElements = function purgeProcessedElements(elements) {\r\n return elements.filter(function (element) {\r\n return !getWasProcessedData(element);\r\n });\r\n };\r\n\r\n var purgeOneElement = function purgeOneElement(elements, elementToPurge) {\r\n return elements.filter(function (element) {\r\n return element !== elementToPurge;\r\n });\r\n };\r\n\r\n var safeCallback = function safeCallback(callback, arg1, arg2, arg3) {\r\n if (!callback) {\r\n return;\r\n }\r\n\r\n if (arg3 !== undefined) {\r\n callback(arg1, arg2, arg3);\r\n return;\r\n }\r\n\r\n if (arg2 !== undefined) {\r\n callback(arg1, arg2);\r\n return;\r\n }\r\n\r\n callback(arg1);\r\n };\r\n\r\n var updateLoadingCount = function updateLoadingCount(instance, plusMinus) {\r\n instance.loadingCount += plusMinus;\r\n\r\n if (instance._elements.length === 0 && instance.loadingCount === 0) {\r\n safeCallback(instance._settings.callback_finish, instance);\r\n }\r\n };\r\n\r\n var getSourceTags = function getSourceTags(parentTag) {\r\n var sourceTags = [];\r\n\r\n for (var i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\r\n if (childTag.tagName === \"SOURCE\") {\r\n sourceTags.push(childTag);\r\n }\r\n }\r\n\r\n return sourceTags;\r\n };\r\n\r\n var setAttributeIfValue = function setAttributeIfValue(element, attrName, value) {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n element.setAttribute(attrName, value);\r\n };\r\n\r\n var setImageAttributes = function setImageAttributes(element, settings) {\r\n setAttributeIfValue(element, \"sizes\", getData(element, settings.data_sizes));\r\n setAttributeIfValue(element, \"srcset\", getData(element, settings.data_srcset));\r\n setAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n };\r\n\r\n var setSourcesImg = function setSourcesImg(element, settings) {\r\n var parent = element.parentNode;\r\n\r\n if (parent && parent.tagName === \"PICTURE\") {\r\n var sourceTags = getSourceTags(parent);\r\n sourceTags.forEach(function (sourceTag) {\r\n setImageAttributes(sourceTag, settings);\r\n });\r\n }\r\n\r\n setImageAttributes(element, settings);\r\n };\r\n\r\n var setSourcesIframe = function setSourcesIframe(element, settings) {\r\n setAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n };\r\n\r\n var setSourcesVideo = function setSourcesVideo(element, settings) {\r\n var sourceTags = getSourceTags(element);\r\n sourceTags.forEach(function (sourceTag) {\r\n setAttributeIfValue(sourceTag, \"src\", getData(sourceTag, settings.data_src));\r\n });\r\n setAttributeIfValue(element, \"poster\", getData(element, settings.data_poster));\r\n setAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n element.load();\r\n };\r\n\r\n var setSourcesBgImage = function setSourcesBgImage(element, settings) {\r\n var srcDataValue = getData(element, settings.data_src);\r\n var bgDataValue = getData(element, settings.data_bg);\r\n\r\n if (srcDataValue) {\r\n element.style.backgroundImage = \"url(\\\"\".concat(srcDataValue, \"\\\")\");\r\n }\r\n\r\n if (bgDataValue) {\r\n element.style.backgroundImage = bgDataValue;\r\n }\r\n };\r\n\r\n var setSourcesFunctions = {\r\n IMG: setSourcesImg,\r\n IFRAME: setSourcesIframe,\r\n VIDEO: setSourcesVideo\r\n };\r\n\r\n var setSources = function setSources(element, instance) {\r\n var settings = instance._settings;\r\n var tagName = element.tagName;\r\n var setSourcesFunction = setSourcesFunctions[tagName];\r\n\r\n if (setSourcesFunction) {\r\n setSourcesFunction(element, settings);\r\n updateLoadingCount(instance, 1);\r\n instance._elements = purgeOneElement(instance._elements, element);\r\n return;\r\n }\r\n\r\n setSourcesBgImage(element, settings);\r\n };\r\n\r\n var addClass = function addClass(element, className) {\r\n if (supportsClassList) {\r\n element.classList.add(className);\r\n return;\r\n }\r\n\r\n element.className += (element.className ? \" \" : \"\") + className;\r\n };\r\n\r\n var removeClass = function removeClass(element, className) {\r\n if (supportsClassList) {\r\n element.classList.remove(className);\r\n return;\r\n }\r\n\r\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\r\n };\r\n\r\n var genericLoadEventName = \"load\";\r\n var mediaLoadEventName = \"loadeddata\";\r\n var errorEventName = \"error\";\r\n\r\n var addEventListener = function addEventListener(element, eventName, handler) {\r\n element.addEventListener(eventName, handler);\r\n };\r\n\r\n var removeEventListener = function removeEventListener(element, eventName, handler) {\r\n element.removeEventListener(eventName, handler);\r\n };\r\n\r\n var addEventListeners = function addEventListeners(element, loadHandler, errorHandler) {\r\n addEventListener(element, genericLoadEventName, loadHandler);\r\n addEventListener(element, mediaLoadEventName, loadHandler);\r\n addEventListener(element, errorEventName, errorHandler);\r\n };\r\n\r\n var removeEventListeners = function removeEventListeners(element, loadHandler, errorHandler) {\r\n removeEventListener(element, genericLoadEventName, loadHandler);\r\n removeEventListener(element, mediaLoadEventName, loadHandler);\r\n removeEventListener(element, errorEventName, errorHandler);\r\n };\r\n\r\n var eventHandler = function eventHandler(event, success, instance) {\r\n var settings = instance._settings;\r\n var className = success ? settings.class_loaded : settings.class_error;\r\n var callback = success ? settings.callback_loaded : settings.callback_error;\r\n var element = event.target;\r\n removeClass(element, settings.class_loading);\r\n addClass(element, className);\r\n safeCallback(callback, element, instance);\r\n updateLoadingCount(instance, -1);\r\n };\r\n\r\n var addOneShotEventListeners = function addOneShotEventListeners(element, instance) {\r\n var loadHandler = function loadHandler(event) {\r\n eventHandler(event, true, instance);\r\n removeEventListeners(element, loadHandler, errorHandler);\r\n };\r\n\r\n var errorHandler = function errorHandler(event) {\r\n eventHandler(event, false, instance);\r\n removeEventListeners(element, loadHandler, errorHandler);\r\n };\r\n\r\n addEventListeners(element, loadHandler, errorHandler);\r\n };\r\n\r\n var managedTags = [\"IMG\", \"IFRAME\", \"VIDEO\"];\r\n\r\n var onEnter = function onEnter(element, entry, instance) {\r\n var settings = instance._settings;\r\n safeCallback(settings.callback_enter, element, entry, instance);\r\n\r\n if (!settings.load_delay) {\r\n revealAndUnobserve(element, instance);\r\n return;\r\n }\r\n\r\n delayLoad(element, instance);\r\n };\r\n\r\n var revealAndUnobserve = function revealAndUnobserve(element, instance) {\r\n var observer = instance._observer;\r\n revealElement(element, instance);\r\n\r\n if (observer && instance._settings.auto_unobserve) {\r\n observer.unobserve(element);\r\n }\r\n };\r\n\r\n var onExit = function onExit(element, entry, instance) {\r\n var settings = instance._settings;\r\n safeCallback(settings.callback_exit, element, entry, instance);\r\n\r\n if (!settings.load_delay) {\r\n return;\r\n }\r\n\r\n cancelDelayLoad(element);\r\n };\r\n\r\n var cancelDelayLoad = function cancelDelayLoad(element) {\r\n var timeoutId = getTimeoutData(element);\r\n\r\n if (!timeoutId) {\r\n return; // do nothing if timeout doesn't exist\r\n }\r\n\r\n clearTimeout(timeoutId);\r\n setTimeoutData(element, null);\r\n };\r\n\r\n var delayLoad = function delayLoad(element, instance) {\r\n var loadDelay = instance._settings.load_delay;\r\n var timeoutId = getTimeoutData(element);\r\n\r\n if (timeoutId) {\r\n return; // do nothing if timeout already set\r\n }\r\n\r\n timeoutId = setTimeout(function () {\r\n revealAndUnobserve(element, instance);\r\n cancelDelayLoad(element);\r\n }, loadDelay);\r\n setTimeoutData(element, timeoutId);\r\n };\r\n\r\n var revealElement = function revealElement(element, instance, force) {\r\n var settings = instance._settings;\r\n\r\n if (!force && getWasProcessedData(element)) {\r\n return; // element has already been processed and force wasn't true\r\n }\r\n\r\n if (managedTags.indexOf(element.tagName) > -1) {\r\n addOneShotEventListeners(element, instance);\r\n addClass(element, settings.class_loading);\r\n }\r\n\r\n setSources(element, instance);\r\n setWasProcessedData(element);\r\n safeCallback(settings.callback_reveal, element, instance);\r\n safeCallback(settings.callback_set, element, instance);\r\n };\r\n\r\n var isIntersecting = function isIntersecting(entry) {\r\n return entry.isIntersecting || entry.intersectionRatio > 0;\r\n };\r\n\r\n var getObserverSettings = function getObserverSettings(settings) {\r\n return {\r\n root: settings.container === document ? null : settings.container,\r\n rootMargin: settings.thresholds || settings.threshold + \"px\"\r\n };\r\n };\r\n\r\n var setObserver = function setObserver(instance) {\r\n if (!supportsIntersectionObserver) {\r\n return false;\r\n }\r\n\r\n instance._observer = new IntersectionObserver(function (entries) {\r\n entries.forEach(function (entry) {\r\n return isIntersecting(entry) ? onEnter(entry.target, entry, instance) : onExit(entry.target, entry, instance);\r\n });\r\n }, getObserverSettings(instance._settings));\r\n return true;\r\n };\r\n\r\n var nativeLazyTags = [\"IMG\", \"IFRAME\"];\r\n\r\n var shouldUseNative = function shouldUseNative(settings) {\r\n return settings.use_native && \"loading\" in HTMLImageElement.prototype;\r\n };\r\n\r\n var loadAllNative = function loadAllNative(instance) {\r\n instance._elements.forEach(function (element) {\r\n if (nativeLazyTags.indexOf(element.tagName) === -1) {\r\n return;\r\n }\r\n\r\n element.setAttribute(\"loading\", \"lazy\");\r\n revealElement(element, instance);\r\n });\r\n };\r\n\r\n var nodeSetToArray = function nodeSetToArray(nodeSet) {\r\n return Array.prototype.slice.call(nodeSet);\r\n };\r\n\r\n var queryElements = function queryElements(settings) {\r\n return settings.container.querySelectorAll(settings.elements_selector);\r\n };\r\n\r\n var getElements = function getElements(elements, settings) {\r\n return purgeProcessedElements(nodeSetToArray(elements || queryElements(settings)));\r\n };\r\n\r\n var retryLazyLoad = function retryLazyLoad(instance) {\r\n var settings = instance._settings;\r\n var errorElements = settings.container.querySelectorAll(\".\" + settings.class_error);\r\n errorElements.forEach(function (element) {\r\n removeClass(element, settings.class_error);\r\n resetWasProcessedData(element);\r\n });\r\n instance.update();\r\n };\r\n\r\n var setOnlineCheck = function setOnlineCheck(instance) {\r\n if (!runningOnBrowser) {\r\n return;\r\n }\r\n\r\n window.addEventListener(\"online\", function (event) {\r\n retryLazyLoad(instance);\r\n });\r\n };\r\n\r\n var LazyLoad = function LazyLoad(customSettings, elements) {\r\n this._settings = getInstanceSettings(customSettings);\r\n this.loadingCount = 0;\r\n setObserver(this);\r\n this.update(elements);\r\n setOnlineCheck(this);\r\n };\r\n\r\n LazyLoad.prototype = {\r\n update: function update(elements) {\r\n var _this = this;\r\n\r\n var settings = this._settings;\r\n this._elements = getElements(elements, settings);\r\n\r\n if (isBot || !this._observer) {\r\n this.loadAll();\r\n return;\r\n }\r\n\r\n if (shouldUseNative(settings)) {\r\n loadAllNative(this);\r\n this._elements = getElements(elements, settings);\r\n }\r\n\r\n this._elements.forEach(function (element) {\r\n _this._observer.observe(element);\r\n });\r\n },\r\n destroy: function destroy() {\r\n var _this2 = this;\r\n\r\n if (this._observer) {\r\n this._elements.forEach(function (element) {\r\n _this2._observer.unobserve(element);\r\n });\r\n\r\n this._observer = null;\r\n }\r\n\r\n this._elements = null;\r\n this._settings = null;\r\n },\r\n load: function load(element, force) {\r\n revealElement(element, this, force);\r\n },\r\n loadAll: function loadAll() {\r\n var _this3 = this;\r\n\r\n this._elements.forEach(function (element) {\r\n revealAndUnobserve(element, _this3);\r\n });\r\n }\r\n };\r\n /* Automatic instances creation if required (useful for async script loading) */\r\n\r\n if (runningOnBrowser) {\r\n autoInitialize(LazyLoad, window.lazyLoadOptions);\r\n }\r\n\r\n return LazyLoad;\r\n});\n/*\n _ _ _ _\n ___| (_) ___| | __ (_)___\n/ __| | |/ __| |/ / | / __|\n\\__ \\ | | (__| < _ | \\__ \\\n|___/_|_|\\___|_|\\_(_)/ |___/\n |__/\n\n Version: 1.8.1\n Author: Ken Wheeler\n Website: http://kenwheeler.github.io\n Docs: http://kenwheeler.github.io/slick\n Repo: http://github.com/kenwheeler/slick\n Issues: http://github.com/kenwheeler/slick/issues\n\n */\n/* global window, document, define, jQuery, setInterval, clearInterval */\n;(function(factory) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], factory);\n } else if (typeof exports !== 'undefined') {\n module.exports = factory(require('jquery'));\n } else {\n factory(jQuery);\n }\n\n}(function($) {\n 'use strict';\n var Slick = window.Slick || {};\n\n Slick = (function() {\n\n var instanceUid = 0;\n\n function Slick(element, settings) {\n\n var _ = this, dataSettings;\n\n _.defaults = {\n accessibility: true,\n adaptiveHeight: false,\n appendArrows: $(element),\n appendDots: $(element),\n arrows: true,\n asNavFor: null,\n prevArrow: '',\n nextArrow: '',\n autoplay: false,\n autoplaySpeed: 3000,\n centerMode: false,\n centerPadding: '50px',\n cssEase: 'ease',\n customPaging: function(slider, i) {\n return $('