{"version":3,"sources":["webpack:///global-bundle.js","webpack:///webpack/bootstrap bb5815715b81e63ff4fb","webpack:///./Static/javascript/modules/nodelist-to-array.ts","webpack:///./Static/javascript/common/global.ts","webpack:///./Static/javascript/modules/constants.ts","webpack:///./lib/lib-javascript/accordion/accordions.ts","webpack:///./node_modules/element-closest/element-closest.js","webpack:///./Static/javascript/modules/svg-injection.ts","webpack:///./Static/javascript/modules/alert.ts","webpack:///./node_modules/isomorphic-fetch/fetch-npm-browserify.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./Static/javascript/modules/login-state.ts","webpack:///./Static/javascript/modules/remove-elements.ts","webpack:///./Static/javascript/modules/nav-main.ts","webpack:///./Static/javascript/modules/nav-mobile.ts","webpack:///./Static/javascript/modules/utility-search.ts","webpack:///./node_modules/a11y-dialog/a11y-dialog.js","webpack:///(webpack)/buildin/global.js","webpack:///./Static/javascript/modules/epi-forms.ts","webpack:///./Static/javascript/modules/expand-text.ts","webpack:///./Static/javascript/modules/multimedia-block.ts","webpack:///./node_modules/lory.js/dist/lory.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","nodeListToArray","nodes","slice","value","CONSTANTS","accordions_1","svg_injection_1","alert_1","login_state_1","nav_main_1","nav_mobile_1","utility_search_1","nodelist_to_array_1","A11yDialog","epi_forms_1","expand_text_1","multimedia_block_1","closeNav","mobileNav","spritePath","window","SVG_SPRITE_PATH","svgInject","NavMain","document","querySelectorAll","NavMobile","GLOBAL_BODY","addEventListener","alertBar","getElementById","loginState","multimediaBlock","searchState","Accordions","singleAccordion","Array","forEach","modal","modalId","getAttribute","classList","contains","querySelector","enhanceEpiForms","setupTextExpanders","getElementsByTagName","GLOBAL_HTML","UTILITY_NAV","HEADER","MOD_NO_TOUCH_EVENTS","MOD_TOUCH_EVENTS","resizeTimer","convertToArray","nodeList","accordionLists","OPEN_CLASS","AccordionsOptions","this","optArg","_this","options","requestAnimationFrame","triggerSetAccordionHeights","bind","length","accordionClick","undefined","setAccordionHeights","setTimeout","accordionList","openAccordions","j","openAccordion","accordionToReCalc","accordionRecalcedHeight","getBoundingClientRect","height","style","e","target","currentTarget","accordionToOpenId","Element","closest","matches","ownerDocument","el","item","parentElement","accordionToToggle","accordionContentHeight","closeOpenAccordions","closeAccordion","stopPropagation","accordionToOpen","accordionToOpenHeight","add","setAttribute","accordionToClose","remove","clearTimeout","exception","ElementProto","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","selector","element","elements","index","Boolean","nodeType","parentNode","svgURL","request","XMLHttpRequest","open","onload","status","data","responseText","div","createElement","innerHTML","body","insertBefore","childNodes","onerror","console","log","send","alertBarElement","setAlertMessageVisibility","fetch","TNEW_RESOURCES_DOMAIN","credentials","then","response","ok","json","shouldShowMessage","alertMessageElement","SHOW_CLASS","headerOffsetHandler","cancelAlert","method","headerHeight","paddingTop","alertCancelElement","self","__webpack_exports__","isDataView","obj","DataView","isPrototypeOf","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","iteratorFor","items","iterator","next","shift","done","support","iterable","Symbol","Headers","headers","map","append","isArray","header","getOwnPropertyNames","consumed","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","result","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","fromCharCode","join","bufferClone","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","toString","arrayBuffer","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","type","rejected","Error","text","decode","JSON","parse","normalizeMethod","upcased","toUpperCase","methods","indexOf","Request","input","url","mode","signal","referrer","form","trim","split","bytes","replace","decodeURIComponent","parseHeaders","rawHeaders","line","parts","key","Response","bodyInit","statusText","init","abortXhr","xhr","abort","aborted","DOMException","getAllResponseHeaders","responseURL","ontimeout","onabort","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","removeEventListener","viewClasses","isView","oldValue","has","callback","thisArg","keys","push","values","entries","clone","redirectStatuses","redirect","RangeError","location","err","message","stack","create","constructor","polyfill","xhrRequest","requestType","successFunction","errorFunction","xhttp","loginStateRequestSuccess","isLoggedIn","loggedOutLinks","loggedInLinks","linksToHide","remove_elements_1","removeElements","array","removeChild","links","showClass","mNav","innerWidth","ownerdocument","queryselectorall","parentelement","link","linkParent","focusOn","blurOut","outSideClicks","preventDefault","checkClick","event","cancelBubble","toggleOff","toggleOn","viewableLinks","viewableLink","activeElement","bodyElement","mobileTrigger","mobileMenu","mobileSubnavTriggers","getElementsByClassName","toggle","mobileSubnavTrigger","subnavToOpen","closeOtherPanel","togglePanel","click","newSubNav","openParent","openPanel","parent","panel","clickCallback","searchCancel","focusable_1","searchContainer","tabIndex","searchToggle","btn","toggleSearchContainer","closeSearchContainer","focusable","SEARCH_SHOW_CLASS","openSearchContainer","SEARCH_HIDE_CLASS","searchInput","focus","global","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","node","targets","_show","show","_hide","hide","_maintainFocus","_bindKeypress","_listeners","toArray","collection","$$","context","collect","NodeList","setFocusToFirstItem","focusableChildren","getFocusableChildren","FOCUSABLE_ELEMENTS","filter","child","offsetWidth","offsetHeight","getClientRects","trapTabKey","focusedItemIndex","shiftKey","getSiblings","siblings","splice","focusedBeforeDialog","_targets","shown","_openers","id","opener","_closers","concat","closer","_fire","removeAttribute","original","destroy","on","handler","off","listeners","trigger","listener","which","apply","g","Function","eval","container","newWrapper","className","appendChild","formChoiceLabels","formID","Math","ceil","random","fieldLabel","fieldInput","fieldName","field","optionalTag","optionalText","createTextNode","expander","expandText","collapseText","block","previousElementSibling","multimediaItems","listPosition","carousel","carouselId","slideTo","Number","currentSlide","currentSlidePlayBtn","carouselCounter","multimediaModals","modalClose","multimediaCarousels","initCarousel","carouselPrev","carouselNext","multimediaCarouselVideos","video","thumbnails","playButton","thumbnail","lory","root","factory","loaded","_interopRequireDefault","default","slider","opts","setActiveElement","slides","currentIndex","_options","classNameActiveSlide","setupInfinite","slideArray","_options2","infinite","front","back","cloned","cloneNode","slideContainer","reverse","firstChild","prefixes","transitionEnd","onTransitionEnd","children","dispatchSliderEvent","phase","detail","_dispatchEvent2","translate","to","duration","ease","transition","hasTranslate3d","transform","slide","nextIndex","direction","_options3","slideSpeed","slidesToScroll","rewind","rewindSpeed","nextSlide","maxOffset","round","slidesWidth","frameWidth","prevCtrl","nextCtrl","min","max","nextOffset","offsetLeft","abs","position","x","transitionEndCallback","setup","_detectPrefixes2","_extends","_defaults2","_options4","classNameFrame","classNameSlideContainer","classNamePrevCtrl","classNameNextCtrl","enableMouseEvents","frame","y","offsetTop","reset","prev","onTouchstart","onClick","onResize","_options5","rewindOnResize","width","reduce","previousValue","returnIndex","onTouchmove","onTouchend","lastChild","_options6","touches","pageX","pageY","touchOffset","time","Date","now","isScrolling","delta","isValid","isOutOfBounds","snapBackSpeed","jQuery","assign","arguments","source","_detectPrefixes","_dispatchEvent","_defaults","detectPrefixes","prop","getComputedStyle","getPropertyValue","dispatchEvent","_customEvent2","bubbles","cancelable","_customEvent","NativeCustomEvent","CustomEvent","foo","createEvent","params","initCustomEvent","createEventObject"],"mappings":"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","file":"global-bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction nodeListToArray(nodes) {\r\n return [].slice.call(nodes);\r\n}\r\nexports.nodeListToArray = nodeListToArray;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar CONSTANTS = __webpack_require__(2);\r\nvar accordions_1 = __webpack_require__(3);\r\nvar svg_injection_1 = __webpack_require__(5);\r\nvar alert_1 = __webpack_require__(6);\r\nvar login_state_1 = __webpack_require__(9);\r\nvar nav_main_1 = __webpack_require__(11);\r\nvar nav_mobile_1 = __webpack_require__(12);\r\nvar utility_search_1 = __webpack_require__(13);\r\nvar nodelist_to_array_1 = __webpack_require__(0);\r\nvar A11yDialog = __webpack_require__(14);\r\nvar epi_forms_1 = __webpack_require__(16);\r\nvar expand_text_1 = __webpack_require__(17);\r\nvar multimedia_block_1 = __webpack_require__(18);\r\n(function () {\r\n // Request SVG sprite\r\n var spritePath = window.SVG_SPRITE_PATH || '/static/imgs/svg/svg-sprite.svg';\r\n svg_injection_1.svgInject(spritePath);\r\n var mainNav = new nav_main_1.NavMain(nodelist_to_array_1.nodeListToArray(document.querySelectorAll('#nav-main .nav-main-list-item > span')));\r\n // Mobile Navigation\r\n var mobileNav = new nav_mobile_1.NavMobile(CONSTANTS.GLOBAL_BODY);\r\n // run on document ready\r\n document.addEventListener('DOMContentLoaded', function () {\r\n new alert_1.alertBar(document.getElementById('alert-bar'));\r\n });\r\n login_state_1.loginState();\r\n multimedia_block_1.multimediaBlock();\r\n if (mobileNav) {\r\n utility_search_1.searchState(closeNav);\r\n }\r\n function closeNav() {\r\n mobileNav.closeNav();\r\n }\r\n // Accordions\r\n new accordions_1.Accordions({ singleAccordion: true });\r\n // Modals!\r\n var modals = Array.prototype.slice.call(document.querySelectorAll('.a11y-modal-js'));\r\n modals.forEach(function (modal) {\r\n var modalId = modal.getAttribute('id');\r\n if (modal.classList.contains('multimedia-modal-wrapper') && modalId) {\r\n window[modalId] = new A11yDialog(modal);\r\n }\r\n else {\r\n new A11yDialog(modal);\r\n }\r\n });\r\n //EPI Forms\r\n if (document.querySelector('.EPiServerForms')) {\r\n epi_forms_1.enhanceEpiForms();\r\n }\r\n //read more expand/collapse text\r\n expand_text_1.setupTextExpanders();\r\n // window.addEventListener(\r\n // 'resize',\r\n // debounce(() => {\r\n // //single resize listener\r\n // }, 50)\r\n // );\r\n})();\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n These are global constants that you can import on to partials\r\n*/\r\nexports.GLOBAL_BODY = document.getElementsByTagName('body')[0];\r\nexports.GLOBAL_HTML = document.getElementsByTagName('html')[0];\r\nexports.UTILITY_NAV = document.getElementById('utilityNav');\r\nexports.HEADER = document.getElementById('mHeader');\r\nexports.MOD_NO_TOUCH_EVENTS = 'mod-no-touchevents';\r\nexports.MOD_TOUCH_EVENTS = 'mod-touchevents';\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__webpack_require__(4);\r\nvar convertToArray = function (nodeList) {\r\n return [].slice.call(nodeList);\r\n};\r\nvar accordionLists = convertToArray(document.querySelectorAll('[data-accordion-list]'));\r\nvar resizeTimer;\r\nvar OPEN_CLASS = 'libaccordion-open-js';\r\nvar OPEN_CSS_CLASS = 'libaccordion-open';\r\nvar AccordionsOptions = /** @class */ (function () {\r\n function AccordionsOptions() {\r\n this.singleAccordion = false;\r\n }\r\n return AccordionsOptions;\r\n}());\r\nvar Accordions = /** @class */ (function () {\r\n function Accordions(optArg) {\r\n var _this = this;\r\n this.optArg = optArg;\r\n this.options = new AccordionsOptions();\r\n window.addEventListener('resize', function () {\r\n requestAnimationFrame(_this.triggerSetAccordionHeights.bind(_this));\r\n });\r\n for (var i = 0; i < accordionLists.length; ++i) {\r\n var accordionList = accordionLists[i];\r\n accordionList.addEventListener(\"click\", this.accordionClick.bind(this), false);\r\n }\r\n //Check for Options\r\n if (this.optArg === undefined)\r\n this.optArg = new AccordionsOptions();\r\n else {\r\n this.options.singleAccordion = (this.optArg.singleAccordion === undefined) ? this.options.singleAccordion : this.optArg.singleAccordion;\r\n }\r\n }\r\n Accordions.prototype.setAccordionHeights = function () {\r\n setTimeout(function () {\r\n for (var i = 0; i < accordionLists.length; ++i) {\r\n var accordionList = accordionLists[i];\r\n var openAccordions = accordionList.querySelectorAll('.' + OPEN_CLASS);\r\n if (openAccordions.length > 0) {\r\n for (var j = 0; j < openAccordions.length; ++j) {\r\n var openAccordion = openAccordions[j];\r\n var accordionToReCalc = openAccordion.querySelector('[data-accordion-content-id]');\r\n var accordionRecalcedHeight = accordionToReCalc.getBoundingClientRect().height;\r\n openAccordion.style.height = accordionRecalcedHeight + 'px';\r\n }\r\n }\r\n }\r\n }, 100);\r\n };\r\n Accordions.prototype.accordionClick = function (e) {\r\n if (e.target !== e.currentTarget) {\r\n var accordionToOpenId = e.target.getAttribute('data-accordion-trigger');\r\n if (window[\"Element\"] && !Element.prototype.closest) {\r\n Element.prototype.closest =\r\n function (s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s), i, el = this;\r\n do {\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== el) { }\r\n ;\r\n } while ((i < 0) && (el = el.parentElement));\r\n return el;\r\n };\r\n }\r\n if (accordionToOpenId === null) {\r\n accordionToOpenId = e.target.closest('[data-accordion-trigger]').getAttribute('data-accordion-trigger');\r\n }\r\n var accordionToToggle = document.querySelector('[data-accordion-id=\"' + accordionToOpenId + '\"]');\r\n var accordionContentHeight = document.querySelector('[data-accordion-content-id=\"' + accordionToOpenId + '\"]').getBoundingClientRect().height;\r\n if (this.options.singleAccordion) {\r\n this.closeOpenAccordions(accordionToToggle);\r\n }\r\n if (accordionToToggle.classList.contains(OPEN_CLASS)) {\r\n this.closeAccordion(accordionToToggle);\r\n }\r\n else {\r\n this.openAccordion(accordionToToggle, accordionContentHeight);\r\n }\r\n this.setAccordionHeights();\r\n }\r\n e.stopPropagation();\r\n };\r\n Accordions.prototype.openAccordion = function (accordionToOpen, accordionToOpenHeight) {\r\n accordionToOpen.classList.add(OPEN_CLASS);\r\n accordionToOpen.setAttribute('style', 'height:' + accordionToOpenHeight + 'px');\r\n accordionToOpen.setAttribute('aria-hidden', 'false');\r\n accordionToOpen.parentElement.classList.add(OPEN_CSS_CLASS);\r\n };\r\n Accordions.prototype.closeAccordion = function (accordionToClose) {\r\n accordionToClose.classList.remove(OPEN_CLASS);\r\n accordionToClose.setAttribute('style', 'height: 0px');\r\n accordionToClose.setAttribute('aria-hidden', 'true');\r\n accordionToClose.parentElement.classList.remove(OPEN_CSS_CLASS);\r\n };\r\n Accordions.prototype.triggerSetAccordionHeights = function () {\r\n var _this = this;\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(function () {\r\n _this.setAccordionHeights();\r\n }, 100);\r\n };\r\n Accordions.prototype.closeOpenAccordions = function (exception) {\r\n var openAccordions = convertToArray(document.querySelectorAll('.' + OPEN_CLASS));\r\n for (var i = 0; i < openAccordions.length; ++i) {\r\n var openAccordion = openAccordions[i];\r\n if (openAccordion !== exception) {\r\n this.closeAccordion(openAccordion);\r\n }\r\n }\r\n };\r\n return Accordions;\r\n}());\r\nexports.Accordions = Accordions;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n// element-closest | CC0-1.0 | github.com/jonathantneal/closest\n\n(function (ElementProto) {\n\tif (typeof ElementProto.matches !== 'function') {\n\t\tElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {\n\t\t\tvar element = this;\n\t\t\tvar elements = (element.document || element.ownerDocument).querySelectorAll(selector);\n\t\t\tvar index = 0;\n\n\t\t\twhile (elements[index] && elements[index] !== element) {\n\t\t\t\t++index;\n\t\t\t}\n\n\t\t\treturn Boolean(elements[index]);\n\t\t};\n\t}\n\n\tif (typeof ElementProto.closest !== 'function') {\n\t\tElementProto.closest = function closest(selector) {\n\t\t\tvar element = this;\n\n\t\t\twhile (element && element.nodeType === 1) {\n\t\t\t\tif (element.matches(selector)) {\n\t\t\t\t\treturn element;\n\t\t\t\t}\n\n\t\t\t\telement = element.parentNode;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\t}\n})(window.Element.prototype);\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction svgInject(svgURL) {\r\n var request = new XMLHttpRequest();\r\n request.open('GET', svgURL, true);\r\n request.onload = function () {\r\n if (request.status >= 200 && request.status < 400) {\r\n var data = request.responseText;\r\n // Create node with response data and insert into DOM\r\n var div = document.createElement('div');\r\n div.innerHTML = data;\r\n document.body.insertBefore(div, document.body.childNodes[0]);\r\n }\r\n };\r\n request.onerror = function () {\r\n console.log(\"Couldn't load SVG sprite - connection error\");\r\n };\r\n request.send();\r\n}\r\nexports.svgInject = svgInject;\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__webpack_require__(7);\r\nvar alertBar = /** @class */ (function () {\r\n function alertBar(alertBarElement) {\r\n this.alertBarElement = alertBarElement;\r\n var ALERT_MESSAGE_ID = 'alert-bar';\r\n var ALERT_CANCEL_ID = 'alert-close';\r\n var SHOW_CLASS = 'alert-bar-active';\r\n var alertMessageElement = document.getElementById(ALERT_MESSAGE_ID);\r\n var alertCancelElement = document.getElementById(ALERT_CANCEL_ID);\r\n if (alertMessageElement && alertCancelElement) {\r\n window.addEventListener(\"DOMContentLoaded\", setAlertMessageVisibility);\r\n alertCancelElement.addEventListener(\"click\", cancelAlert);\r\n }\r\n function setAlertMessageVisibility() {\r\n fetch(TNEW_RESOURCES_DOMAIN + \"/api/AlertMessage/ShouldShowMessage\", {\r\n credentials: 'include',\r\n })\r\n .then(function (response) {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n else {\r\n // Failure case\r\n console.log(response);\r\n }\r\n }).then(function (shouldShowMessage) {\r\n if (shouldShowMessage)\r\n alertMessageElement.classList.add(SHOW_CLASS);\r\n headerOffsetHandler();\r\n });\r\n }\r\n function cancelAlert() {\r\n fetch(TNEW_RESOURCES_DOMAIN + \"/api/AlertMessage/CloseModal\", {\r\n method: 'post',\r\n credentials: 'include',\r\n })\r\n .then(function (response) {\r\n if (response.ok) {\r\n alertMessageElement.classList.remove(SHOW_CLASS);\r\n headerOffsetHandler();\r\n return response;\r\n }\r\n else {\r\n // Failure case\r\n console.log(response);\r\n }\r\n });\r\n }\r\n // sets header offset\r\n function headerOffsetHandler() {\r\n var headerHeight = document.getElementById('site-header').getBoundingClientRect().height;\r\n document.getElementById(\"main\").style.paddingTop = headerHeight + 'px';\r\n }\r\n }\r\n return alertBar;\r\n}());\r\nexports.alertBar = alertBar;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\n__webpack_require__(8);\nmodule.exports = self.fetch.bind(self);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"Headers\"] = Headers;\n/* harmony export (immutable) */ __webpack_exports__[\"Request\"] = Request;\n/* harmony export (immutable) */ __webpack_exports__[\"Response\"] = Response;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DOMException\", function() { return DOMException; });\n/* harmony export (immutable) */ __webpack_exports__[\"fetch\"] = fetch;\nvar support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nfunction Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nfunction Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nfunction Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nvar DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nfunction fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar nodelist_to_array_1 = __webpack_require__(0);\r\nvar remove_elements_1 = __webpack_require__(10);\r\nfunction xhrRequest(url, requestType, successFunction, errorFunction) {\r\n var xhttp = new XMLHttpRequest();\r\n xhttp.withCredentials = true;\r\n xhttp.onreadystatechange = function () {\r\n if (xhttp.readyState == 4 && xhttp.status == 200) {\r\n //success!\r\n if (successFunction) {\r\n if (requestType === \"POST\")\r\n successFunction(xhttp.responseURL);\r\n else\r\n successFunction(xhttp.responseText);\r\n }\r\n }\r\n else {\r\n if (errorFunction) {\r\n errorFunction();\r\n }\r\n }\r\n };\r\n xhttp.open(requestType, url, true);\r\n if (requestType === \"POST\")\r\n xhttp.setRequestHeader('Content-Type', 'text/html');\r\n else\r\n xhttp.setRequestHeader('accept', 'application/json');\r\n xhttp.send();\r\n}\r\nfunction loginState() {\r\n var loginStateRequestSuccess = function (responseText) {\r\n var isLoggedIn = JSON.parse(responseText);\r\n var loggedOutLinks = nodelist_to_array_1.nodeListToArray(document.querySelectorAll('.utility-nav-loggedout-js'));\r\n var loggedInLinks = nodelist_to_array_1.nodeListToArray(document.querySelectorAll('.utility-nav-loggedin-js'));\r\n var linksToHide = loggedInLinks;\r\n //Testing purposes only! isLoggedIn = true;\r\n if (isLoggedIn) {\r\n linksToHide = loggedOutLinks;\r\n }\r\n remove_elements_1.removeElements(linksToHide);\r\n };\r\n xhrRequest(TNEW_RESOURCES_DOMAIN + '/api/login/IsLoggedIn', \"GET\", loginStateRequestSuccess);\r\n}\r\nexports.loginState = loginState;\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction removeElements(array) {\r\n array.forEach(function (el) {\r\n el.parentNode.removeChild(el);\r\n });\r\n}\r\nexports.removeElements = removeElements;\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar NavMain = /** @class */ (function () {\r\n function NavMain(links) {\r\n var _this = this;\r\n this.links = links;\r\n this.showClass = 'show-menu';\r\n this.mNav = '#nav-main';\r\n //Keyboard Navigation\r\n if (window.innerWidth > 1025 && !document.getElementsByTagName('html')[0].classList.contains('mod-touchevents')) {\r\n if (window[\"element\"] && !Element.prototype[\"closest\"]) {\r\n Element.prototype[\"closest\"] =\r\n function (s) {\r\n var matches = (this.document || this.ownerdocument).queryselectorall(s), i, el = this;\r\n do {\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== el) { }\r\n ;\r\n } while ((i < 0) && (el = el.parentelement));\r\n return el;\r\n };\r\n }\r\n links.forEach(function (link) {\r\n var linkParent = link.parentNode;\r\n link.addEventListener('focus', function (e) {\r\n _this.focusOn(e, link, linkParent);\r\n });\r\n link.addEventListener('blur', function (e) {\r\n _this.blurOut(e, linkParent);\r\n });\r\n });\r\n }\r\n //Tablet landscape view to allow users to tap a parent link to see the children.\r\n if (window.innerWidth <= 1600 && window.innerWidth > 767 && document.getElementsByTagName('html')[0].classList.contains('mod-touchevents')) {\r\n //Click outside of the header\r\n this.outSideClicks();\r\n links.forEach(function (link) {\r\n var linkParent = link.parentNode;\r\n link.addEventListener('click', function (e) {\r\n if (!linkParent.classList.contains(_this.showClass)) {\r\n e.preventDefault();\r\n if (document.querySelector('.' + _this.showClass) !== null) {\r\n document.querySelector('.' + _this.showClass).classList.remove(_this.showClass);\r\n }\r\n linkParent.classList.add(_this.showClass);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n NavMain.prototype.outSideClicks = function () {\r\n var _this = this;\r\n var mNav = document.querySelector(this.mNav);\r\n if (mNav) {\r\n // For clicks inside the element\r\n document.querySelector(this.mNav).addEventListener('click', function (e) {\r\n _this.checkClick(e);\r\n });\r\n // For clicks elsewhere on the page\r\n document.addEventListener('click', function () {\r\n //close stuff\r\n if (document.querySelector('.' + _this.showClass) !== null) {\r\n document.querySelector('.' + _this.showClass).classList.remove(_this.showClass);\r\n }\r\n });\r\n // For clicks elsewhere on the page\r\n document.addEventListener('touchstart', function () {\r\n //close stuff\r\n if (document.querySelector('.' + _this.showClass) !== null) {\r\n document.querySelector('.' + _this.showClass).classList.remove(_this.showClass);\r\n }\r\n });\r\n }\r\n };\r\n NavMain.prototype.checkClick = function (e) {\r\n // Make sure the event doesn't bubble from your element\r\n if (e) {\r\n e.stopPropagation();\r\n }\r\n else {\r\n window.event.cancelBubble = true;\r\n }\r\n };\r\n NavMain.prototype.focusOn = function (e, link, linkParent) {\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.toggleOff();\r\n if (link.classList.contains('has-sub') && !linkParent.classList.contains(_this.showClass)) {\r\n _this.toggleOn(linkParent);\r\n }\r\n e.stopPropagation();\r\n var viewableLinks = Array.prototype.slice.call(linkParent.querySelectorAll('[aria-hidden=\"false\"] a'));\r\n if (viewableLinks.length > 0) {\r\n viewableLinks.forEach(function (viewableLink) {\r\n viewableLink.addEventListener('blur', function (e) {\r\n _this.blurOut(e, linkParent);\r\n });\r\n });\r\n }\r\n }, 10);\r\n };\r\n NavMain.prototype.toggleOn = function (linkParent) {\r\n linkParent.classList.add(this.showClass);\r\n linkParent.querySelector('[aria-hidden=\"true\"]').setAttribute('aria-hidden', 'false');\r\n };\r\n NavMain.prototype.blurOut = function (e, linkParent) {\r\n var _this = this;\r\n setTimeout(function () {\r\n if (document.activeElement[\"closest\"]('[aria-haspopup=\"true\"]') !== linkParent || document.activeElement[\"closest\"]('[aria-haspopup=\"true\"]') === null) {\r\n _this.toggleOff();\r\n }\r\n e.stopPropagation();\r\n }, 10);\r\n };\r\n NavMain.prototype.toggleOff = function () {\r\n var items = Array.prototype.slice.call(document.querySelectorAll('.nav-main-list-item.show-menu'));\r\n if (items.length > 0) {\r\n items.forEach(function (item) {\r\n item.classList.remove('show-menu');\r\n item.querySelector('[aria-hidden=\"false\"]').setAttribute('aria-hidden', 'true');\r\n });\r\n }\r\n };\r\n return NavMain;\r\n}());\r\nexports.NavMain = NavMain;\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar NavMobile = /** @class */ (function () {\r\n function NavMobile(bodyElement) {\r\n var _this = this;\r\n this.bodyElement = bodyElement;\r\n this.mobileTrigger = document.getElementById('mobileTrigger');\r\n this.mobileMenu = document.getElementById('nav-mobile');\r\n var mobileSubnavTriggers = [].slice.call(document.getElementsByClassName('has-sub'));\r\n if (this.mobileTrigger) {\r\n this.mobileTrigger.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n _this.mobileMenu.classList.toggle('open');\r\n _this.mobileTrigger.classList.toggle('open');\r\n _this.bodyElement.classList.toggle('nav-open');\r\n _this.mobileMenu.classList.remove('nav-closed');\r\n });\r\n mobileSubnavTriggers.forEach(function (mobileSubnavTrigger) {\r\n var subnavToOpen = mobileSubnavTrigger.querySelector('ul');\r\n subnavToOpen.classList.add('closed');\r\n mobileSubnavTrigger.addEventListener('click', function (e) {\r\n _this.closeOtherPanel(subnavToOpen);\r\n _this.togglePanel(mobileSubnavTrigger, subnavToOpen);\r\n });\r\n });\r\n }\r\n }\r\n NavMobile.prototype.closeNav = function () {\r\n if (this.mobileMenu.classList.contains('open')) {\r\n this.mobileTrigger.click();\r\n }\r\n };\r\n NavMobile.prototype.closeOtherPanel = function (newSubNav) {\r\n var openParent = this.mobileMenu.querySelector('.has-sub.open');\r\n if (openParent) {\r\n var openPanel = openParent.querySelector('.open');\r\n if (openPanel != newSubNav) {\r\n this.togglePanel(openParent, openPanel);\r\n }\r\n }\r\n };\r\n NavMobile.prototype.togglePanel = function (parent, panel) {\r\n parent.classList.toggle('open');\r\n panel.classList.toggle('closed');\r\n panel.classList.toggle('open');\r\n if (panel.classList.contains('open')) {\r\n panel.setAttribute('aria-hidden', 'false');\r\n }\r\n else {\r\n panel.setAttribute('aria-hidden', 'true');\r\n }\r\n };\r\n return NavMobile;\r\n}());\r\nexports.NavMobile = NavMobile;\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar SEARCH_CONTAINER_ID = \"utilitySearchContainer\";\r\nvar SEARCH_CANCEL_ID = \"utilitySearchCancel\";\r\nvar SEARCH_INPUT_ID = \"utilitySearchInput\";\r\nvar SEARCH_SHOW_CLASS = \"utility-search-show\";\r\nvar SEARCH_HIDE_CLASS = \"utility-search-hide\";\r\nvar SEARCH_TOGGLE_BTN_CLASS = \"utility-search-toggle-btn\";\r\nvar searchContainer = document.getElementById(SEARCH_CONTAINER_ID);\r\nvar searchToggle = Array.prototype.slice.call(document.querySelectorAll('.' + SEARCH_TOGGLE_BTN_CLASS));\r\nvar searchCancel = document.getElementById(SEARCH_CANCEL_ID);\r\nvar searchInput = document.getElementById(SEARCH_INPUT_ID);\r\nfunction searchState(clickCallback) {\r\n if (searchCancel) {\r\n var focusable_1 = Array.prototype.slice.call(searchContainer.querySelectorAll('a, button, input'));\r\n focusable_1.forEach(function (element) {\r\n element.tabIndex = -1;\r\n });\r\n searchToggle.forEach(function (btn) {\r\n btn.addEventListener(\"click\", toggleSearchContainer(clickCallback, focusable_1));\r\n });\r\n searchCancel.addEventListener(\"click\", function () {\r\n closeSearchContainer();\r\n focusable_1.forEach(function (element) {\r\n element.tabIndex = -1;\r\n });\r\n });\r\n }\r\n}\r\nexports.searchState = searchState;\r\nfunction toggleSearchContainer(callback, focusable) {\r\n return function () {\r\n if (searchContainer.classList.contains(SEARCH_SHOW_CLASS)) {\r\n closeSearchContainer();\r\n }\r\n else {\r\n openSearchContainer(focusable);\r\n }\r\n callback();\r\n };\r\n}\r\nfunction openSearchContainer(focusable) {\r\n searchContainer.classList.remove(SEARCH_HIDE_CLASS);\r\n searchContainer.classList.add(SEARCH_SHOW_CLASS);\r\n focusable.forEach(function (element) {\r\n element.tabIndex = 0;\r\n });\r\n searchInput.focus();\r\n}\r\nfunction closeSearchContainer() {\r\n searchContainer.classList.remove(SEARCH_SHOW_CLASS);\r\n searchContainer.classList.add(SEARCH_HIDE_CLASS);\r\n if (window.innerWidth > 1024) {\r\n searchToggle[0].focus();\r\n }\r\n else {\r\n searchToggle[1].focus();\r\n }\r\n}\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* global NodeList, Element, define */\n\n(function (global) {\n 'use strict';\n\n var FOCUSABLE_ELEMENTS = ['a[href]', 'area[href]', 'input:not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^=\"-\"])'];\n var TAB_KEY = 9;\n var ESCAPE_KEY = 27;\n var focusedBeforeDialog;\n\n /**\n * Define the constructor to instantiate a dialog\n *\n * @constructor\n * @param {Element} node\n * @param {(NodeList | Element | string)} targets\n */\n function A11yDialog (node, targets) {\n // Prebind the functions that will be bound in addEventListener and\n // removeEventListener to avoid losing references\n this._show = this.show.bind(this);\n this._hide = this.hide.bind(this);\n this._maintainFocus = this._maintainFocus.bind(this);\n this._bindKeypress = this._bindKeypress.bind(this);\n\n // Keep a reference of the node on the instance\n this.node = node;\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {};\n\n // Initialise everything needed for the dialog to work properly\n this.create(targets);\n }\n\n /**\n * Set up everything necessary for the dialog to be functioning\n *\n * @param {(NodeList | Element | string)} targets\n * @return {this}\n */\n A11yDialog.prototype.create = function (targets) {\n // Keep a collection of nodes to disable/enable when toggling the dialog\n this._targets = this._targets || collect(targets) || getSiblings(this.node);\n\n // Make sure the dialog element is disabled on load, and that the `shown`\n // property is synced with its value\n this.node.setAttribute('aria-hidden', true);\n this.shown = false;\n\n // Keep a collection of dialog openers, each of which will be bound a click\n // event listener to open the dialog\n this._openers = $$('[data-a11y-dialog-show=\"' + this.node.id + '\"]');\n this._openers.forEach(function (opener) {\n opener.addEventListener('click', this._show);\n }.bind(this));\n\n // Keep a collection of dialog closers, each of which will be bound a click\n // event listener to close the dialog\n this._closers = $$('[data-a11y-dialog-hide]', this.node)\n .concat($$('[data-a11y-dialog-hide=\"' + this.node.id + '\"]'));\n this._closers.forEach(function (closer) {\n closer.addEventListener('click', this._hide);\n }.bind(this));\n\n // Execute all callbacks registered for the `create` event\n this._fire('create');\n\n return this;\n };\n\n /**\n * Show the dialog element, disable all the targets (siblings), trap the\n * current focus within it, listen for some specific key presses and fire all\n * registered callbacks for `show` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.show = function (event) {\n // If the dialog is already open, abort\n if (this.shown) {\n return this;\n }\n\n this.shown = true;\n this.node.removeAttribute('aria-hidden');\n\n // Iterate over the targets to disable them by setting their `aria-hidden`\n // attribute to `true`; in case they already have this attribute, keep a\n // reference of their original value to be able to restore it later\n this._targets.forEach(function (target) {\n var original = target.getAttribute('aria-hidden');\n\n if (original) {\n target.setAttribute('data-a11y-dialog-original', original);\n }\n\n target.setAttribute('aria-hidden', 'true');\n });\n\n // Keep a reference to the currently focused element to be able to restore\n // it later, then set the focus to the first focusable child of the dialog\n // element\n focusedBeforeDialog = document.activeElement;\n setFocusToFirstItem(this.node);\n\n // Bind a focus event listener to the body element to make sure the focus\n // stays trapped inside the dialog while open, and start listening for some\n // specific key presses (TAB and ESC)\n document.body.addEventListener('focus', this._maintainFocus, true);\n document.addEventListener('keydown', this._bindKeypress);\n\n // Execute all callbacks registered for the `show` event\n this._fire('show', event);\n\n return this;\n };\n\n /**\n * Hide the dialog element, enable all the targets (siblings), restore the\n * focus to the previously active element, stop listening for some specific\n * key presses and fire all registered callbacks for `hide` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.hide = function (event) {\n // If the dialog is already closed, abort\n if (!this.shown) {\n return this;\n }\n\n this.shown = false;\n this.node.setAttribute('aria-hidden', 'true');\n\n // Iterate over the targets to enable them by remove their `aria-hidden`\n // attribute or resetting them to their initial value\n this._targets.forEach(function (target) {\n var original = target.getAttribute('data-a11y-dialog-original');\n\n if (original) {\n target.setAttribute('aria-hidden', original);\n target.removeAttribute('data-a11y-dialog-original');\n } else {\n target.removeAttribute('aria-hidden');\n }\n });\n\n // If their was a focused element before the dialog was opened, restore the\n // focus back to it\n if (focusedBeforeDialog) {\n focusedBeforeDialog.focus();\n }\n\n // Remove the focus event listener to the body element and stop listening\n // for specific key presses\n document.body.removeEventListener('focus', this._maintainFocus, true);\n document.removeEventListener('keydown', this._bindKeypress);\n\n // Execute all callbacks registered for the `hide` event\n this._fire('hide', event);\n\n return this;\n };\n\n /**\n * Destroy the current instance (after making sure the dialog has been hidden)\n * and remove all associated listeners from dialog openers and closers\n *\n * @return {this}\n */\n A11yDialog.prototype.destroy = function () {\n // Hide the dialog to avoid destroying an open instance\n this.hide();\n\n // Remove the click event listener from all dialog openers\n this._openers.forEach(function (opener) {\n opener.removeEventListener('click', this._show);\n }.bind(this));\n\n // Remove the click event listener from all dialog closers\n this._closers.forEach(function (closer) {\n closer.removeEventListener('click', this._hide);\n }.bind(this));\n\n // Execute all callbacks registered for the `destroy` event\n this._fire('destroy');\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {};\n\n return this;\n };\n\n /**\n * Register a new callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.on = function (type, handler) {\n if (typeof this._listeners[type] === 'undefined') {\n this._listeners[type] = [];\n }\n\n this._listeners[type].push(handler);\n\n return this;\n };\n\n /**\n * Unregister an existing callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.off = function (type, handler) {\n var index = this._listeners[type].indexOf(handler);\n\n if (index > -1) {\n this._listeners[type].splice(index, 1);\n }\n\n return this;\n };\n\n /**\n * Iterate over all registered handlers for given type and call them all with\n * the dialog element as first argument, trigger (opener / closer) as second\n * argument, if any.\n *\n * @access private\n * @param {string} type\n * @param {Event} event\n */\n A11yDialog.prototype._fire = function (type, event) {\n var listeners = this._listeners[type] || [];\n var trigger = event ? event.target : void 0;\n\n listeners.forEach(function (listener) {\n listener(this.node, trigger);\n }.bind(this));\n };\n\n /**\n * Private event handler used when listening to some specific key presses\n * (namely ESCAPE and TAB)\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._bindKeypress = function (event) {\n // If the dialog is shown and the ESCAPE key is being pressed, prevent any\n // further effects from the ESCAPE key and hide the dialog\n if (this.shown && event.which === ESCAPE_KEY) {\n event.preventDefault();\n this.hide();\n }\n\n // If the dialog is shown and the TAB key is being pressed, make sure the\n // focus stays trapped within the dialog element\n if (this.shown && event.which === TAB_KEY) {\n trapTabKey(this.node, event);\n }\n };\n\n /**\n * Private event handler used when making sure the focus stays within the\n * currently open dialog\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._maintainFocus = function (event) {\n // If the dialog is shown and the focus is not within the dialog element,\n // move it back to its first focusable child\n if (this.shown && !this.node.contains(event.target)) {\n setFocusToFirstItem(this.node);\n }\n };\n\n /**\n * Convert a NodeList into an array\n *\n * @param {NodeList} collection\n * @return {Array}\n */\n function toArray (collection) {\n return Array.prototype.slice.call(collection);\n }\n\n /**\n * Query the DOM for nodes matching the given selector, scoped to context (or\n * the whole document)\n *\n * @param {String} selector\n * @param {Element} [context = document]\n * @return {Array}\n */\n function $$ (selector, context) {\n return toArray((context || document).querySelectorAll(selector));\n }\n\n /**\n * Return an array of Element based on given argument (NodeList, Element or\n * string representing a selector)\n *\n * @param {(NodeList | Element | string)} target\n * @return {Array}\n */\n function collect (target) {\n if (NodeList.prototype.isPrototypeOf(target)) {\n return toArray(target);\n }\n\n if (Element.prototype.isPrototypeOf(target)) {\n return [target];\n }\n\n if (typeof target === 'string') {\n return $$(target);\n }\n }\n\n /**\n * Set the focus to the first focusable child of the given element\n *\n * @param {Element} node\n */\n function setFocusToFirstItem (node) {\n var focusableChildren = getFocusableChildren(node);\n\n if (focusableChildren.length) {\n focusableChildren[0].focus();\n }\n }\n\n /**\n * Get the focusable children of the given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getFocusableChildren (node) {\n return $$(FOCUSABLE_ELEMENTS.join(','), node).filter(function (child) {\n return !!(child.offsetWidth || child.offsetHeight || child.getClientRects().length);\n });\n }\n\n /**\n * Trap the focus inside the given element\n *\n * @param {Element} node\n * @param {Event} event\n */\n function trapTabKey (node, event) {\n var focusableChildren = getFocusableChildren(node);\n var focusedItemIndex = focusableChildren.indexOf(document.activeElement);\n\n // If the SHIFT key is being pressed while tabbing (moving backwards) and\n // the currently focused item is the first one, move the focus to the last\n // focusable item from the dialog element\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableChildren[focusableChildren.length - 1].focus();\n event.preventDefault();\n // If the SHIFT key is not being pressed (moving forwards) and the currently\n // focused item is the last one, move the focus to the first focusable item\n // from the dialog element\n } else if (!event.shiftKey && focusedItemIndex === focusableChildren.length - 1) {\n focusableChildren[0].focus();\n event.preventDefault();\n }\n }\n\n /**\n * Retrieve siblings from given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getSiblings (node) {\n var nodes = toArray(node.parentNode.childNodes);\n var siblings = nodes.filter(function (node) {\n return node.nodeType === 1;\n });\n\n siblings.splice(siblings.indexOf(node), 1);\n\n return siblings;\n }\n\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = A11yDialog;\n } else if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n return A11yDialog;\n }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof global === 'object') {\n global.A11yDialog = A11yDialog;\n }\n}(typeof global !== 'undefined' ? global : window));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(15)))\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction enhanceEpiForms() {\r\n // grabs only nested text nodes\r\n function textNodesUnder(el) {\r\n var n, a = [], walk = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null, false);\r\n while (n = walk.nextNode())\r\n a.push(n);\r\n return a;\r\n }\r\n var containers = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms'));\r\n containers.forEach(function (container) {\r\n var newWrapper = document.createElement('div');\r\n newWrapper.className = 'epi-form';\r\n container.parentNode.insertBefore(newWrapper, container);\r\n newWrapper.appendChild(container);\r\n var formChoiceLabels = Array.prototype.slice.call(container.querySelectorAll('.FormChoice:not(.FormChoice--Image) > label'));\r\n var formID = container.id || (Math.ceil(Math.random() * 1000));\r\n formChoiceLabels.forEach(function (fieldLabel, index) {\r\n var fieldInput = fieldLabel.querySelector('input');\r\n var fieldName = \"input-\" + formID + \"-\" + index;\r\n fieldLabel.parentNode.insertBefore(fieldInput, fieldLabel);\r\n fieldLabel.setAttribute('for', fieldName);\r\n fieldInput.id = fieldName;\r\n });\r\n });\r\n var formChoiceImageLabels = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms .FormChoice--Image > label'));\r\n formChoiceImageLabels.forEach(function (fieldLabel) {\r\n fieldLabel.classList.add('enhanced-fields');\r\n });\r\n var requiredFields = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms div.Form__Element:not(.ValidationRequired):not(.FormCaptcha)'));\r\n requiredFields.forEach(function (field) {\r\n var fieldLabel = field.querySelectorAll('.Form__Element__Caption')[0];\r\n if (fieldLabel) {\r\n var optionalTag = document.createElement('span');\r\n var optionalText = document.createTextNode('(Optional)');\r\n optionalTag.className = 'not-required';\r\n optionalTag.appendChild(optionalText);\r\n fieldLabel.appendChild(optionalTag);\r\n }\r\n });\r\n}\r\nexports.enhanceEpiForms = enhanceEpiForms;\r\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction setupTextExpanders() {\r\n var expanders = Array.prototype.slice.call(document.querySelectorAll('.wysiwyg-expand-btn'));\r\n expanders.forEach(function (expander) {\r\n var expandText = expander.getAttribute('data-show-btn');\r\n var collapseText = expander.getAttribute('data-hide-btn');\r\n expander.innerHTML = expandText;\r\n var block = expander.parentNode.previousElementSibling;\r\n expander.addEventListener('click', function (e) {\r\n if (block.classList.contains('open') || block.classList.contains('closed')) {\r\n block.classList.toggle('closed');\r\n block.classList.toggle('open');\r\n }\r\n else {\r\n block.classList.add('open');\r\n }\r\n if (block.classList.contains('open')) {\r\n expander.innerHTML = collapseText;\r\n }\r\n else {\r\n expander.innerHTML = expandText;\r\n }\r\n });\r\n });\r\n}\r\nexports.setupTextExpanders = setupTextExpanders;\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar lory = __webpack_require__(19).lory;\r\nfunction multimediaBlock() {\r\n var multimediaItems = Array.prototype.slice.call(document.querySelectorAll('[data-a11y-dialog]'));\r\n if (multimediaItems) {\r\n multimediaItems.forEach(function (item) {\r\n item.addEventListener('click', function () {\r\n var listPosition = item.getAttribute('data-list-position');\r\n var modalId = item.getAttribute('data-a11y-dialog');\r\n var modal = document.getElementById(modalId);\r\n window[modalId].show();\r\n var carousel = modal.querySelector('.multimedia-slider-js');\r\n if (carousel) {\r\n var carouselId = carousel.getAttribute('id');\r\n window[carouselId].slideTo(Number(listPosition));\r\n }\r\n var currentSlide = document.querySelector('.multimedia-item.js_slide.active');\r\n if (currentSlide) {\r\n var currentSlidePlayBtn = currentSlide.querySelector('.home-hero-play');\r\n if (currentSlidePlayBtn) {\r\n currentSlidePlayBtn.click();\r\n }\r\n }\r\n var carouselCounter = carousel.querySelector('.multimedia-carousel-index-js');\r\n if (carouselCounter) {\r\n carouselCounter.innerHTML = currentSlide.getAttribute('data-index');\r\n }\r\n });\r\n });\r\n }\r\n // Multimedia block modals\r\n var multimediaModals = Array.prototype.slice.call(document.querySelectorAll('.a11y-modal-js'));\r\n if (multimediaModals) {\r\n multimediaModals.forEach(function (modal) {\r\n var modalClose = modal.querySelector('.multimedia-modal-close-js');\r\n if (modalClose) {\r\n modalClose.addEventListener('click', function () {\r\n var currentSlide = modal.querySelector('.multimedia-item.js_slide.active');\r\n if (currentSlide) {\r\n var currentSlidePlayBtn = currentSlide.querySelector('.home-hero-pause');\r\n if (currentSlidePlayBtn) {\r\n currentSlidePlayBtn.click();\r\n }\r\n }\r\n var modalId = modal.getAttribute('id');\r\n window[modalId].hide();\r\n });\r\n }\r\n });\r\n }\r\n // Multimedia block carousels \r\n var multimediaCarousels = Array.prototype.slice.call(document.querySelectorAll('.multimedia-slider-js'));\r\n if (multimediaCarousels) {\r\n multimediaCarousels.forEach(function (carousel) {\r\n var carouselId = carousel.getAttribute('id');\r\n if (carouselId) {\r\n window.initCarousel(carouselId, 1, true);\r\n }\r\n var carouselPrev = carousel.querySelector('.js_prev');\r\n var carouselNext = carousel.querySelector('.js_next');\r\n var carouselCounter = carousel.querySelector('.multimedia-carousel-index-js');\r\n if (carouselPrev) {\r\n carouselPrev.addEventListener('click', function () {\r\n carouselCounter.innerHTML = carousel.querySelector('.multimedia-item.js_slide.active').getAttribute('data-index');\r\n });\r\n }\r\n if (carouselNext) {\r\n carouselNext.addEventListener('click', function () {\r\n carouselCounter.innerHTML = carousel.querySelector('.multimedia-item.js_slide.active').getAttribute('data-index');\r\n });\r\n }\r\n });\r\n }\r\n var multimediaCarouselVideos = Array.prototype.slice.call(document.querySelectorAll('.multimedia-video-js'));\r\n if (multimediaCarouselVideos) {\r\n multimediaCarouselVideos.forEach(function (video) {\r\n video.addEventListener('click', function () {\r\n var thumbnails = Array.prototype.slice.call(video.querySelectorAll('.multimedia-video-thumbnail'));\r\n var playButton = video.querySelector('.multimedia-play-btn');\r\n if (thumbnails) {\r\n thumbnails.forEach(function (thumbnail) {\r\n thumbnail.classList.add('multimedia-video-thumbnail-hidden');\r\n });\r\n }\r\n if (playButton) {\r\n playButton.classList.add('multimedia-play-btn-hidden');\r\n }\r\n });\r\n });\r\n }\r\n}\r\nexports.multimediaBlock = multimediaBlock;\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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; }; /* globals jQuery */\n\t\n\texports.lory = lory;\n\t\n\tvar _detectPrefixes = __webpack_require__(2);\n\t\n\tvar _detectPrefixes2 = _interopRequireDefault(_detectPrefixes);\n\t\n\tvar _dispatchEvent = __webpack_require__(3);\n\t\n\tvar _dispatchEvent2 = _interopRequireDefault(_dispatchEvent);\n\t\n\tvar _defaults = __webpack_require__(5);\n\t\n\tvar _defaults2 = _interopRequireDefault(_defaults);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar slice = Array.prototype.slice;\n\t\n\tfunction lory(slider, opts) {\n\t var position = void 0;\n\t var slidesWidth = void 0;\n\t var frameWidth = void 0;\n\t var slides = void 0;\n\t\n\t /**\n\t * slider DOM elements\n\t */\n\t var frame = void 0;\n\t var slideContainer = void 0;\n\t var prevCtrl = void 0;\n\t var nextCtrl = void 0;\n\t var prefixes = void 0;\n\t var transitionEndCallback = void 0;\n\t\n\t var index = 0;\n\t var options = {};\n\t\n\t /**\n\t * if object is jQuery convert to native DOM element\n\t */\n\t if (typeof jQuery !== 'undefined' && slider instanceof jQuery) {\n\t slider = slider[0];\n\t }\n\t\n\t /**\n\t * private\n\t * set active class to element which is the current slide\n\t */\n\t function setActiveElement(slides, currentIndex) {\n\t var _options = options,\n\t classNameActiveSlide = _options.classNameActiveSlide;\n\t\n\t\n\t slides.forEach(function (element, index) {\n\t if (element.classList.contains(classNameActiveSlide)) {\n\t element.classList.remove(classNameActiveSlide);\n\t }\n\t });\n\t\n\t slides[currentIndex].classList.add(classNameActiveSlide);\n\t }\n\t\n\t /**\n\t * private\n\t * setupInfinite: function to setup if infinite is set\n\t *\n\t * @param {array} slideArray\n\t * @return {array} array of updated slideContainer elements\n\t */\n\t function setupInfinite(slideArray) {\n\t var _options2 = options,\n\t infinite = _options2.infinite;\n\t\n\t\n\t var front = slideArray.slice(0, infinite);\n\t var back = slideArray.slice(slideArray.length - infinite, slideArray.length);\n\t\n\t front.forEach(function (element) {\n\t var cloned = element.cloneNode(true);\n\t\n\t slideContainer.appendChild(cloned);\n\t });\n\t\n\t back.reverse().forEach(function (element) {\n\t var cloned = element.cloneNode(true);\n\t\n\t slideContainer.insertBefore(cloned, slideContainer.firstChild);\n\t });\n\t\n\t slideContainer.addEventListener(prefixes.transitionEnd, onTransitionEnd);\n\t\n\t return slice.call(slideContainer.children);\n\t }\n\t\n\t /**\n\t * [dispatchSliderEvent description]\n\t * @return {[type]} [description]\n\t */\n\t function dispatchSliderEvent(phase, type, detail) {\n\t (0, _dispatchEvent2.default)(slider, phase + '.lory.' + type, detail);\n\t }\n\t\n\t /**\n\t * translates to a given position in a given time in milliseconds\n\t *\n\t * @to {number} number in pixels where to translate to\n\t * @duration {number} time in milliseconds for the transistion\n\t * @ease {string} easing css property\n\t */\n\t function translate(to, duration, ease) {\n\t var style = slideContainer && slideContainer.style;\n\t\n\t if (style) {\n\t style[prefixes.transition + 'TimingFunction'] = ease;\n\t style[prefixes.transition + 'Duration'] = duration + 'ms';\n\t\n\t if (prefixes.hasTranslate3d) {\n\t style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';\n\t } else {\n\t style[prefixes.transform] = 'translate(' + to + 'px, 0)';\n\t }\n\t }\n\t }\n\t\n\t /**\n\t * slidefunction called by prev, next & touchend\n\t *\n\t * determine nextIndex and slide to next postion\n\t * under restrictions of the defined options\n\t *\n\t * @direction {boolean}\n\t */\n\t function slide(nextIndex, direction) {\n\t var _options3 = options,\n\t slideSpeed = _options3.slideSpeed,\n\t slidesToScroll = _options3.slidesToScroll,\n\t infinite = _options3.infinite,\n\t rewind = _options3.rewind,\n\t rewindSpeed = _options3.rewindSpeed,\n\t ease = _options3.ease,\n\t classNameActiveSlide = _options3.classNameActiveSlide;\n\t\n\t\n\t var duration = slideSpeed;\n\t\n\t var nextSlide = direction ? index + 1 : index - 1;\n\t var maxOffset = Math.round(slidesWidth - frameWidth);\n\t\n\t dispatchSliderEvent('before', 'slide', {\n\t index: index,\n\t nextSlide: nextSlide\n\t });\n\t\n\t /**\n\t * Reset control classes\n\t */\n\t if (prevCtrl) {\n\t prevCtrl.classList.remove('disabled');\n\t }\n\t if (nextCtrl) {\n\t nextCtrl.classList.remove('disabled');\n\t }\n\t\n\t if (typeof nextIndex !== 'number') {\n\t if (direction) {\n\t nextIndex = index + slidesToScroll;\n\t } else {\n\t nextIndex = index - slidesToScroll;\n\t }\n\t }\n\t\n\t nextIndex = Math.min(Math.max(nextIndex, 0), slides.length - 1);\n\t\n\t if (infinite && direction === undefined) {\n\t nextIndex += infinite;\n\t }\n\t\n\t var nextOffset = Math.min(Math.max(slides[nextIndex].offsetLeft * -1, maxOffset * -1), 0);\n\t\n\t if (rewind && Math.abs(position.x) === maxOffset && direction) {\n\t nextOffset = 0;\n\t nextIndex = 0;\n\t duration = rewindSpeed;\n\t }\n\t\n\t /**\n\t * translate to the nextOffset by a defined duration and ease function\n\t */\n\t translate(nextOffset, duration, ease);\n\t\n\t /**\n\t * update the position with the next position\n\t */\n\t position.x = nextOffset;\n\t\n\t /**\n\t * update the index with the nextIndex only if\n\t * the offset of the nextIndex is in the range of the maxOffset\n\t */\n\t if (slides[nextIndex].offsetLeft <= maxOffset) {\n\t index = nextIndex;\n\t }\n\t\n\t if (infinite && (nextIndex === slides.length - infinite || nextIndex === 0)) {\n\t if (direction) {\n\t index = infinite;\n\t }\n\t\n\t if (!direction) {\n\t index = slides.length - infinite * 2;\n\t }\n\t\n\t position.x = slides[index].offsetLeft * -1;\n\t\n\t transitionEndCallback = function transitionEndCallback() {\n\t translate(slides[index].offsetLeft * -1, 0, undefined);\n\t };\n\t }\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slice.call(slides), index);\n\t }\n\t\n\t /**\n\t * update classes for next and prev arrows\n\t * based on user settings\n\t */\n\t if (prevCtrl && !infinite && nextIndex === 0) {\n\t prevCtrl.classList.add('disabled');\n\t }\n\t\n\t if (nextCtrl && !infinite && !rewind && nextIndex + 1 === slides.length) {\n\t nextCtrl.classList.add('disabled');\n\t }\n\t\n\t dispatchSliderEvent('after', 'slide', {\n\t currentSlide: index\n\t });\n\t }\n\t\n\t /**\n\t * public\n\t * setup function\n\t */\n\t function setup() {\n\t dispatchSliderEvent('before', 'init');\n\t\n\t prefixes = (0, _detectPrefixes2.default)();\n\t options = _extends({}, _defaults2.default, opts);\n\t\n\t var _options4 = options,\n\t classNameFrame = _options4.classNameFrame,\n\t classNameSlideContainer = _options4.classNameSlideContainer,\n\t classNamePrevCtrl = _options4.classNamePrevCtrl,\n\t classNameNextCtrl = _options4.classNameNextCtrl,\n\t enableMouseEvents = _options4.enableMouseEvents,\n\t classNameActiveSlide = _options4.classNameActiveSlide;\n\t\n\t\n\t frame = slider.getElementsByClassName(classNameFrame)[0];\n\t slideContainer = frame.getElementsByClassName(classNameSlideContainer)[0];\n\t prevCtrl = slider.getElementsByClassName(classNamePrevCtrl)[0];\n\t nextCtrl = slider.getElementsByClassName(classNameNextCtrl)[0];\n\t\n\t position = {\n\t x: slideContainer.offsetLeft,\n\t y: slideContainer.offsetTop\n\t };\n\t\n\t if (options.infinite) {\n\t slides = setupInfinite(slice.call(slideContainer.children));\n\t } else {\n\t slides = slice.call(slideContainer.children);\n\t\n\t if (prevCtrl) {\n\t prevCtrl.classList.add('disabled');\n\t }\n\t\n\t if (nextCtrl && slides.length === 1 && !options.rewind) {\n\t nextCtrl.classList.add('disabled');\n\t }\n\t }\n\t\n\t reset();\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slides, index);\n\t }\n\t\n\t if (prevCtrl && nextCtrl) {\n\t prevCtrl.addEventListener('click', prev);\n\t nextCtrl.addEventListener('click', next);\n\t }\n\t\n\t frame.addEventListener('touchstart', onTouchstart);\n\t\n\t if (enableMouseEvents) {\n\t frame.addEventListener('mousedown', onTouchstart);\n\t frame.addEventListener('click', onClick);\n\t }\n\t\n\t options.window.addEventListener('resize', onResize);\n\t\n\t dispatchSliderEvent('after', 'init');\n\t }\n\t\n\t /**\n\t * public\n\t * reset function: called on resize\n\t */\n\t function reset() {\n\t var _options5 = options,\n\t infinite = _options5.infinite,\n\t ease = _options5.ease,\n\t rewindSpeed = _options5.rewindSpeed,\n\t rewindOnResize = _options5.rewindOnResize,\n\t classNameActiveSlide = _options5.classNameActiveSlide;\n\t\n\t\n\t slidesWidth = slideContainer.getBoundingClientRect().width || slideContainer.offsetWidth;\n\t frameWidth = frame.getBoundingClientRect().width || frame.offsetWidth;\n\t\n\t if (frameWidth === slidesWidth) {\n\t slidesWidth = slides.reduce(function (previousValue, slide) {\n\t return previousValue + slide.getBoundingClientRect().width || slide.offsetWidth;\n\t }, 0);\n\t }\n\t\n\t if (rewindOnResize) {\n\t index = 0;\n\t } else {\n\t ease = null;\n\t rewindSpeed = 0;\n\t }\n\t\n\t if (infinite) {\n\t translate(slides[index + infinite].offsetLeft * -1, 0, null);\n\t\n\t index = index + infinite;\n\t position.x = slides[index].offsetLeft * -1;\n\t } else {\n\t translate(slides[index].offsetLeft * -1, rewindSpeed, ease);\n\t position.x = slides[index].offsetLeft * -1;\n\t }\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slice.call(slides), index);\n\t }\n\t }\n\t\n\t /**\n\t * public\n\t * slideTo: called on clickhandler\n\t */\n\t function slideTo(index) {\n\t slide(index);\n\t }\n\t\n\t /**\n\t * public\n\t * returnIndex function: called on clickhandler\n\t */\n\t function returnIndex() {\n\t return index - options.infinite || 0;\n\t }\n\t\n\t /**\n\t * public\n\t * prev function: called on clickhandler\n\t */\n\t function prev() {\n\t slide(false, false);\n\t }\n\t\n\t /**\n\t * public\n\t * next function: called on clickhandler\n\t */\n\t function next() {\n\t slide(false, true);\n\t }\n\t\n\t /**\n\t * public\n\t * destroy function: called to gracefully destroy the lory instance\n\t */\n\t function destroy() {\n\t dispatchSliderEvent('before', 'destroy');\n\t\n\t // remove event listeners\n\t frame.removeEventListener(prefixes.transitionEnd, onTransitionEnd);\n\t frame.removeEventListener('touchstart', onTouchstart);\n\t frame.removeEventListener('touchmove', onTouchmove);\n\t frame.removeEventListener('touchend', onTouchend);\n\t frame.removeEventListener('mousemove', onTouchmove);\n\t frame.removeEventListener('mousedown', onTouchstart);\n\t frame.removeEventListener('mouseup', onTouchend);\n\t frame.removeEventListener('mouseleave', onTouchend);\n\t frame.removeEventListener('click', onClick);\n\t\n\t options.window.removeEventListener('resize', onResize);\n\t\n\t if (prevCtrl) {\n\t prevCtrl.removeEventListener('click', prev);\n\t }\n\t\n\t if (nextCtrl) {\n\t nextCtrl.removeEventListener('click', next);\n\t }\n\t\n\t // remove cloned slides if infinite is set\n\t if (options.infinite) {\n\t Array.apply(null, Array(options.infinite)).forEach(function () {\n\t slideContainer.removeChild(slideContainer.firstChild);\n\t slideContainer.removeChild(slideContainer.lastChild);\n\t });\n\t }\n\t\n\t dispatchSliderEvent('after', 'destroy');\n\t }\n\t\n\t // event handling\n\t\n\t var touchOffset = void 0;\n\t var delta = void 0;\n\t var isScrolling = void 0;\n\t\n\t function onTransitionEnd() {\n\t if (transitionEndCallback) {\n\t transitionEndCallback();\n\t\n\t transitionEndCallback = undefined;\n\t }\n\t }\n\t\n\t function onTouchstart(event) {\n\t var _options6 = options,\n\t enableMouseEvents = _options6.enableMouseEvents;\n\t\n\t var touches = event.touches ? event.touches[0] : event;\n\t\n\t if (enableMouseEvents) {\n\t frame.addEventListener('mousemove', onTouchmove);\n\t frame.addEventListener('mouseup', onTouchend);\n\t frame.addEventListener('mouseleave', onTouchend);\n\t }\n\t\n\t frame.addEventListener('touchmove', onTouchmove);\n\t frame.addEventListener('touchend', onTouchend);\n\t\n\t var pageX = touches.pageX,\n\t pageY = touches.pageY;\n\t\n\t\n\t touchOffset = {\n\t x: pageX,\n\t y: pageY,\n\t time: Date.now()\n\t };\n\t\n\t isScrolling = undefined;\n\t\n\t delta = {};\n\t\n\t dispatchSliderEvent('on', 'touchstart', {\n\t event: event\n\t });\n\t }\n\t\n\t function onTouchmove(event) {\n\t var touches = event.touches ? event.touches[0] : event;\n\t var pageX = touches.pageX,\n\t pageY = touches.pageY;\n\t\n\t\n\t delta = {\n\t x: pageX - touchOffset.x,\n\t y: pageY - touchOffset.y\n\t };\n\t\n\t if (typeof isScrolling === 'undefined') {\n\t isScrolling = !!(isScrolling || Math.abs(delta.x) < Math.abs(delta.y));\n\t }\n\t\n\t if (!isScrolling && touchOffset) {\n\t event.preventDefault();\n\t translate(position.x + delta.x, 0, null);\n\t }\n\t\n\t // may be\n\t dispatchSliderEvent('on', 'touchmove', {\n\t event: event\n\t });\n\t }\n\t\n\t function onTouchend(event) {\n\t /**\n\t * time between touchstart and touchend in milliseconds\n\t * @duration {number}\n\t */\n\t var duration = touchOffset ? Date.now() - touchOffset.time : undefined;\n\t\n\t /**\n\t * is valid if:\n\t *\n\t * -> swipe attempt time is over 300 ms\n\t * and\n\t * -> swipe distance is greater than 25px\n\t * or\n\t * -> swipe distance is more then a third of the swipe area\n\t *\n\t * @isValidSlide {Boolean}\n\t */\n\t var isValid = Number(duration) < 300 && Math.abs(delta.x) > 25 || Math.abs(delta.x) > frameWidth / 3;\n\t\n\t /**\n\t * is out of bounds if:\n\t *\n\t * -> index is 0 and delta x is greater than 0\n\t * or\n\t * -> index is the last slide and delta is smaller than 0\n\t *\n\t * @isOutOfBounds {Boolean}\n\t */\n\t var isOutOfBounds = !index && delta.x > 0 || index === slides.length - 1 && delta.x < 0;\n\t\n\t var direction = delta.x < 0;\n\t\n\t if (!isScrolling) {\n\t if (isValid && !isOutOfBounds) {\n\t slide(false, direction);\n\t } else {\n\t translate(position.x, options.snapBackSpeed);\n\t }\n\t }\n\t\n\t touchOffset = undefined;\n\t\n\t /**\n\t * remove eventlisteners after swipe attempt\n\t */\n\t frame.removeEventListener('touchmove', onTouchmove);\n\t frame.removeEventListener('touchend', onTouchend);\n\t frame.removeEventListener('mousemove', onTouchmove);\n\t frame.removeEventListener('mouseup', onTouchend);\n\t frame.removeEventListener('mouseleave', onTouchend);\n\t\n\t dispatchSliderEvent('on', 'touchend', {\n\t event: event\n\t });\n\t }\n\t\n\t function onClick(event) {\n\t if (delta.x) {\n\t event.preventDefault();\n\t }\n\t }\n\t\n\t function onResize(event) {\n\t reset();\n\t\n\t dispatchSliderEvent('on', 'resize', {\n\t event: event\n\t });\n\t }\n\t\n\t // trigger initial setup\n\t setup();\n\t\n\t // expose public api\n\t return {\n\t setup: setup,\n\t reset: reset,\n\t slideTo: slideTo,\n\t returnIndex: returnIndex,\n\t prev: prev,\n\t next: next,\n\t destroy: destroy\n\t };\n\t}\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = detectPrefixes;\n\t/**\n\t * Detecting prefixes for saving time and bytes\n\t */\n\tfunction detectPrefixes() {\n\t var transform = void 0;\n\t var transition = void 0;\n\t var transitionEnd = void 0;\n\t var hasTranslate3d = void 0;\n\t\n\t (function () {\n\t var el = document.createElement('_');\n\t var style = el.style;\n\t\n\t var prop = void 0;\n\t\n\t if (style[prop = 'webkitTransition'] === '') {\n\t transitionEnd = 'webkitTransitionEnd';\n\t transition = prop;\n\t }\n\t\n\t if (style[prop = 'transition'] === '') {\n\t transitionEnd = 'transitionend';\n\t transition = prop;\n\t }\n\t\n\t if (style[prop = 'webkitTransform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t if (style[prop = 'msTransform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t if (style[prop = 'transform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t document.body.insertBefore(el, null);\n\t style[transform] = 'translate3d(0, 0, 0)';\n\t hasTranslate3d = !!global.getComputedStyle(el).getPropertyValue(transform);\n\t document.body.removeChild(el);\n\t })();\n\t\n\t return {\n\t transform: transform,\n\t transition: transition,\n\t transitionEnd: transitionEnd,\n\t hasTranslate3d: hasTranslate3d\n\t };\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = dispatchEvent;\n\t\n\tvar _customEvent = __webpack_require__(4);\n\t\n\tvar _customEvent2 = _interopRequireDefault(_customEvent);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * dispatch custom events\n\t *\n\t * @param {element} el slideshow element\n\t * @param {string} type custom event name\n\t * @param {object} detail custom detail information\n\t */\n\tfunction dispatchEvent(target, type, detail) {\n\t var event = new _customEvent2.default(type, {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: detail\n\t });\n\t\n\t target.dispatchEvent(event);\n\t}\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {\n\tvar NativeCustomEvent = global.CustomEvent;\n\t\n\tfunction useNative () {\n\t try {\n\t var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });\n\t return 'cat' === p.type && 'bar' === p.detail.foo;\n\t } catch (e) {\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Cross-browser `CustomEvent` constructor.\n\t *\n\t * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent\n\t *\n\t * @public\n\t */\n\t\n\tmodule.exports = useNative() ? NativeCustomEvent :\n\t\n\t// IE >= 9\n\t'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {\n\t var e = document.createEvent('CustomEvent');\n\t if (params) {\n\t e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);\n\t } else {\n\t e.initCustomEvent(type, false, false, void 0);\n\t }\n\t return e;\n\t} :\n\t\n\t// IE <= 8\n\tfunction CustomEvent (type, params) {\n\t var e = document.createEventObject();\n\t e.type = type;\n\t if (params) {\n\t e.bubbles = Boolean(params.bubbles);\n\t e.cancelable = Boolean(params.cancelable);\n\t e.detail = params.detail;\n\t } else {\n\t e.bubbles = false;\n\t e.cancelable = false;\n\t e.detail = void 0;\n\t }\n\t return e;\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t /**\n\t * slides scrolled at once\n\t * @slidesToScroll {Number}\n\t */\n\t slidesToScroll: 1,\n\t\n\t /**\n\t * time in milliseconds for the animation of a valid slide attempt\n\t * @slideSpeed {Number}\n\t */\n\t slideSpeed: 300,\n\t\n\t /**\n\t * time in milliseconds for the animation of the rewind after the last slide\n\t * @rewindSpeed {Number}\n\t */\n\t rewindSpeed: 600,\n\t\n\t /**\n\t * time for the snapBack of the slider if the slide attempt was not valid\n\t * @snapBackSpeed {Number}\n\t */\n\t snapBackSpeed: 200,\n\t\n\t /**\n\t * Basic easing functions: https://developer.mozilla.org/de/docs/Web/CSS/transition-timing-function\n\t * cubic bezier easing functions: http://easings.net/de\n\t * @ease {String}\n\t */\n\t ease: 'ease',\n\t\n\t /**\n\t * if slider reached the last slide, with next click the slider goes back to the startindex.\n\t * use infinite or rewind, not both\n\t * @rewind {Boolean}\n\t */\n\t rewind: false,\n\t\n\t /**\n\t * number of visible slides or false\n\t * use infinite or rewind, not both\n\t * @infinite {number}\n\t */\n\t infinite: false,\n\t\n\t /**\n\t * class name for slider frame\n\t * @classNameFrame {string}\n\t */\n\t classNameFrame: 'js_frame',\n\t\n\t /**\n\t * class name for slides container\n\t * @classNameSlideContainer {string}\n\t */\n\t classNameSlideContainer: 'js_slides',\n\t\n\t /**\n\t * class name for slider prev control\n\t * @classNamePrevCtrl {string}\n\t */\n\t classNamePrevCtrl: 'js_prev',\n\t\n\t /**\n\t * class name for slider next control\n\t * @classNameNextCtrl {string}\n\t */\n\t classNameNextCtrl: 'js_next',\n\t\n\t /**\n\t * class name for current active slide\n\t * if emptyString then no class is set\n\t * @classNameActiveSlide {string}\n\t */\n\t classNameActiveSlide: 'active',\n\t\n\t /**\n\t * enables mouse events for swiping on desktop devices\n\t * @enableMouseEvents {boolean}\n\t */\n\t enableMouseEvents: false,\n\t\n\t /**\n\t * window instance\n\t * @window {object}\n\t */\n\t window: window,\n\t\n\t /**\n\t * If false, slides lory to the first slide on window resize.\n\t * @rewindOnResize {boolean}\n\t */\n\t rewindOnResize: true\n\t};\n\n/***/ }\n/******/ ])\n});\n;\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// global-bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bb5815715b81e63ff4fb","function nodeListToArray(nodes: NodeList): Array {\r\n return [].slice.call(nodes);\r\n}\r\n\r\nexport { nodeListToArray };\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/nodelist-to-array.ts","import * as CONSTANTS from '../modules/constants';\r\nimport { Accordions } from '../../../lib/lib-javascript/accordion/accordions';\r\nimport { svgInject } from '../modules/svg-injection';\r\nimport { alertBar } from '../modules/alert';\r\nimport { loginState } from '../modules/login-state';\r\nimport { NavMain } from '../modules/nav-main';\r\nimport { NavMobile } from '../modules/nav-mobile';\r\nimport { searchState } from '../modules/utility-search';\r\nimport { nodeListToArray } from '../modules/nodelist-to-array';\r\nimport * as A11yDialog from 'a11y-dialog';\r\nimport { swapImage } from '../modules/_img-swap';\r\nimport { throttle, debounce } from 'lodash';\r\nimport { enhanceEpiForms } from '../modules/epi-forms';\r\nimport { setupTextExpanders } from '../modules/expand-text';\r\nimport { multimediaBlock } from '../modules/multimedia-block';\r\n\r\n(function() {\r\n // Request SVG sprite\r\n let spritePath = (window as any).SVG_SPRITE_PATH || '/static/imgs/svg/svg-sprite.svg';\r\n svgInject(spritePath);\r\n\r\n const mainNav = new NavMain(nodeListToArray(document.querySelectorAll('#nav-main .nav-main-list-item > span')));\r\n\r\n // Mobile Navigation\r\n const mobileNav = new NavMobile(CONSTANTS.GLOBAL_BODY);\r\n\r\n // run on document ready\r\n document.addEventListener('DOMContentLoaded', function() {\r\n new alertBar(document.getElementById('alert-bar'));\r\n });\r\n\r\n loginState();\r\n\r\n multimediaBlock();\r\n\r\n if (mobileNav) {\r\n searchState(closeNav);\r\n }\r\n\r\n function closeNav() {\r\n mobileNav.closeNav();\r\n }\r\n\r\n // Accordions\r\n new Accordions({ singleAccordion: true });\r\n\r\n // Modals!\r\n let modals = Array.prototype.slice.call(document.querySelectorAll('.a11y-modal-js'));\r\n modals.forEach(modal => {\r\n let modalId = modal.getAttribute('id');\r\n if (modal.classList.contains('multimedia-modal-wrapper') && modalId) {\r\n (window as any)[modalId] = new A11yDialog(modal);\r\n } else {\r\n new A11yDialog(modal);\r\n }\r\n });\r\n\r\n //EPI Forms\r\n if (document.querySelector('.EPiServerForms')) {\r\n enhanceEpiForms();\r\n }\r\n\r\n //read more expand/collapse text\r\n setupTextExpanders();\r\n\r\n // window.addEventListener(\r\n // 'resize',\r\n // debounce(() => {\r\n // //single resize listener\r\n // }, 50)\r\n // );\r\n})();\r\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/common/global.ts","/**\r\n These are global constants that you can import on to partials\r\n*/\r\nexport const GLOBAL_BODY = document.getElementsByTagName('body')[0];\r\nexport const GLOBAL_HTML = document.getElementsByTagName('html')[0];\r\nexport const UTILITY_NAV = document.getElementById('utilityNav');\r\nexport const HEADER = document.getElementById('mHeader');\r\nexport const MOD_NO_TOUCH_EVENTS = 'mod-no-touchevents';\r\nexport const MOD_TOUCH_EVENTS = 'mod-touchevents';\r\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/constants.ts","import 'element-closest';\r\n\r\nlet convertToArray = function (nodeList) {\r\n return [].slice.call(nodeList);\r\n}\r\nlet accordionLists: Array = convertToArray(document.querySelectorAll('[data-accordion-list]'));\r\nlet resizeTimer;\r\nconst OPEN_CLASS = 'libaccordion-open-js';\r\nconst OPEN_CSS_CLASS = 'libaccordion-open';\r\nclass AccordionsOptions {\r\n singleAccordion: boolean = false;\r\n}\r\nexport class Accordions {\r\n options: AccordionsOptions = new AccordionsOptions();\r\n constructor(private optArg?: any) {\r\n window.addEventListener('resize', () => {\r\n requestAnimationFrame(this.triggerSetAccordionHeights.bind(this));\r\n });\r\n\r\n for (let i = 0; i < accordionLists.length; ++i) {\r\n const accordionList = accordionLists[i];\r\n accordionList.addEventListener(\"click\", this.accordionClick.bind(this), false);\r\n }\r\n\r\n //Check for Options\r\n if (this.optArg === undefined)\r\n this.optArg = new AccordionsOptions();\r\n else {\r\n this.options.singleAccordion = (this.optArg.singleAccordion === undefined) ? this.options.singleAccordion : this.optArg.singleAccordion;\r\n }\r\n }\r\n setAccordionHeights() {\r\n setTimeout(function () {\r\n for (let i = 0; i < accordionLists.length; ++i) {\r\n const accordionList = accordionLists[i];\r\n\r\n let openAccordions = accordionList.querySelectorAll('.' + OPEN_CLASS);\r\n if (openAccordions.length > 0) {\r\n\r\n for (let j = 0; j < openAccordions.length; ++j) {\r\n const openAccordion = openAccordions[j];\r\n let accordionToReCalc = openAccordion.querySelector('[data-accordion-content-id]');\r\n let accordionRecalcedHeight = accordionToReCalc.getBoundingClientRect().height;\r\n openAccordion.style.height = accordionRecalcedHeight + 'px';\r\n }\r\n }\r\n }\r\n\r\n }, 100);\r\n }\r\n accordionClick(e) {\r\n if (e.target !== e.currentTarget) {\r\n let accordionToOpenId = e.target.getAttribute('data-accordion-trigger');\r\n if (window[\"Element\"] && !(Element.prototype as any).closest) {\r\n (Element.prototype as any).closest =\r\n function (s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n i,\r\n el = this;\r\n do {\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== el) { };\r\n } while ((i < 0) && (el = el.parentElement));\r\n return el;\r\n };\r\n }\r\n if (accordionToOpenId === null) {\r\n accordionToOpenId = e.target.closest('[data-accordion-trigger]').getAttribute('data-accordion-trigger');\r\n }\r\n let accordionToToggle = document.querySelector('[data-accordion-id=\"' + accordionToOpenId + '\"]');\r\n let accordionContentHeight = document.querySelector('[data-accordion-content-id=\"' + accordionToOpenId + '\"]').getBoundingClientRect().height;\r\n if (this.options.singleAccordion) {\r\n this.closeOpenAccordions(accordionToToggle);\r\n }\r\n if (accordionToToggle.classList.contains(OPEN_CLASS)) {\r\n this.closeAccordion(accordionToToggle);\r\n }\r\n else {\r\n this.openAccordion(accordionToToggle, accordionContentHeight);\r\n }\r\n this.setAccordionHeights();\r\n }\r\n e.stopPropagation();\r\n }\r\n openAccordion(accordionToOpen, accordionToOpenHeight) {\r\n accordionToOpen.classList.add(OPEN_CLASS);\r\n accordionToOpen.setAttribute('style', 'height:' + accordionToOpenHeight + 'px');\r\n accordionToOpen.setAttribute('aria-hidden', 'false');\r\n accordionToOpen.parentElement.classList.add(OPEN_CSS_CLASS);\r\n }\r\n closeAccordion(accordionToClose) {\r\n accordionToClose.classList.remove(OPEN_CLASS);\r\n accordionToClose.setAttribute('style', 'height: 0px');\r\n accordionToClose.setAttribute('aria-hidden', 'true');\r\n accordionToClose.parentElement.classList.remove(OPEN_CSS_CLASS);\r\n }\r\n triggerSetAccordionHeights() {\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(() => {\r\n this.setAccordionHeights();\r\n }, 100);\r\n }\r\n closeOpenAccordions(exception) {\r\n let openAccordions = convertToArray(document.querySelectorAll('.' + OPEN_CLASS));\r\n\r\n for (let i = 0; i < openAccordions.length; ++i) {\r\n const openAccordion = openAccordions[i];\r\n if (openAccordion !== exception) {\r\n this.closeAccordion(openAccordion);\r\n }\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./lib/lib-javascript/accordion/accordions.ts","// element-closest | CC0-1.0 | github.com/jonathantneal/closest\n\n(function (ElementProto) {\n\tif (typeof ElementProto.matches !== 'function') {\n\t\tElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {\n\t\t\tvar element = this;\n\t\t\tvar elements = (element.document || element.ownerDocument).querySelectorAll(selector);\n\t\t\tvar index = 0;\n\n\t\t\twhile (elements[index] && elements[index] !== element) {\n\t\t\t\t++index;\n\t\t\t}\n\n\t\t\treturn Boolean(elements[index]);\n\t\t};\n\t}\n\n\tif (typeof ElementProto.closest !== 'function') {\n\t\tElementProto.closest = function closest(selector) {\n\t\t\tvar element = this;\n\n\t\t\twhile (element && element.nodeType === 1) {\n\t\t\t\tif (element.matches(selector)) {\n\t\t\t\t\treturn element;\n\t\t\t\t}\n\n\t\t\t\telement = element.parentNode;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\t}\n})(window.Element.prototype);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/element-closest/element-closest.js\n// module id = 4\n// module chunks = 0","export function svgInject(svgURL: string) {\r\n let request = new XMLHttpRequest();\r\n request.open('GET', svgURL, true);\r\n request.onload = function () {\r\n if (request.status >= 200 && request.status < 400) {\r\n var data = request.responseText;\r\n // Create node with response data and insert into DOM\r\n var div = document.createElement('div');\r\n div.innerHTML = data;\r\n document.body.insertBefore(div, document.body.childNodes[0]);\r\n }\r\n };\r\n request.onerror = function () {\r\n console.log(\"Couldn't load SVG sprite - connection error\");\r\n };\r\n request.send();\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/svg-injection.ts","import 'isomorphic-fetch';\r\n\r\ndeclare const TNEW_RESOURCES_DOMAIN;\r\n\r\nexport class alertBar {\r\n constructor(public alertBarElement: any) {\r\n\r\n const ALERT_MESSAGE_ID = 'alert-bar';\r\n const ALERT_CANCEL_ID = 'alert-close';\r\n const SHOW_CLASS = 'alert-bar-active';\r\n\r\n let alertMessageElement = document.getElementById(ALERT_MESSAGE_ID);\r\n let alertCancelElement = document.getElementById(ALERT_CANCEL_ID);\r\n\r\n if (alertMessageElement && alertCancelElement) {\r\n window.addEventListener(\"DOMContentLoaded\", setAlertMessageVisibility);\r\n alertCancelElement.addEventListener(\"click\", cancelAlert)\r\n }\r\n\r\n function setAlertMessageVisibility() {\r\n fetch(TNEW_RESOURCES_DOMAIN + \"/api/AlertMessage/ShouldShowMessage\",\r\n {\r\n credentials: 'include',\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json() as Promise;\r\n }\r\n else {\r\n // Failure case\r\n console.log(response);\r\n }\r\n }).then(shouldShowMessage => {\r\n if (shouldShowMessage)\r\n alertMessageElement.classList.add(SHOW_CLASS);\r\n headerOffsetHandler();\r\n });\r\n }\r\n\r\n function cancelAlert() {\r\n fetch(TNEW_RESOURCES_DOMAIN + \"/api/AlertMessage/CloseModal\", {\r\n method: 'post',\r\n credentials: 'include',\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n alertMessageElement.classList.remove(SHOW_CLASS);\r\n headerOffsetHandler();\r\n return response;\r\n }\r\n else {\r\n // Failure case\r\n console.log(response);\r\n }\r\n });\r\n }\r\n\r\n // sets header offset\r\n function headerOffsetHandler() {\r\n let headerHeight = document.getElementById('site-header').getBoundingClientRect().height;\r\n\r\n document.getElementById(\"main\").style.paddingTop = headerHeight + 'px';\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/alert.ts","// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\nrequire('whatwg-fetch');\nmodule.exports = self.fetch.bind(self);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/isomorphic-fetch/fetch-npm-browserify.js\n// module id = 7\n// module chunks = 0","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/whatwg-fetch/fetch.js\n// module id = 8\n// module chunks = 0","import { nodeListToArray } from './nodelist-to-array'\r\nimport { removeElements } from './remove-elements'\r\n\r\ndeclare const TNEW_RESOURCES_DOMAIN;\r\n\r\nfunction xhrRequest(url: string, requestType: string, successFunction?: Function, errorFunction?: Function) {\r\n let xhttp = new XMLHttpRequest();\r\n xhttp.withCredentials = true;\r\n xhttp.onreadystatechange = () => {\r\n if (xhttp.readyState == 4 && xhttp.status == 200) {\r\n //success!\r\n if (successFunction) {\r\n if (requestType === \"POST\")\r\n successFunction(xhttp.responseURL);\r\n else\r\n successFunction(xhttp.responseText); \r\n }\r\n }\r\n else {\r\n if (errorFunction) {\r\n errorFunction();\r\n }\r\n }\r\n };\r\n xhttp.open(requestType, url, true);\r\n if (requestType === \"POST\")\r\n xhttp.setRequestHeader('Content-Type', 'text/html'); \r\n else\r\n xhttp.setRequestHeader('accept', 'application/json'); \r\n xhttp.send(); \r\n} \r\n\r\nexport function loginState() {\r\n let loginStateRequestSuccess = function (responseText) {\r\n let isLoggedIn = JSON.parse(responseText);\r\n let loggedOutLinks = nodeListToArray(document.querySelectorAll('.utility-nav-loggedout-js'));\r\n let loggedInLinks = nodeListToArray(document.querySelectorAll('.utility-nav-loggedin-js'));\r\n let linksToHide = loggedInLinks;\r\n //Testing purposes only! isLoggedIn = true;\r\n if (isLoggedIn) {\r\n linksToHide = loggedOutLinks;\r\n }\r\n removeElements(linksToHide);\r\n }\r\n xhrRequest(TNEW_RESOURCES_DOMAIN + '/api/login/IsLoggedIn', \"GET\", loginStateRequestSuccess);\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/login-state.ts","export function removeElements(array:Array) {\r\n array.forEach(el => {\r\n el.parentNode.removeChild(el);\r\n });\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/remove-elements.ts","export class NavMain {\r\n showClass: string = 'show-menu';\r\n mNav: string = '#nav-main';\r\n constructor(public links) {\r\n //Keyboard Navigation\r\n if (window.innerWidth > 1025 && !document.getElementsByTagName('html')[0].classList.contains('mod-touchevents')) {\r\n if (window[\"element\"] && !Element.prototype[\"closest\"]) {\r\n Element.prototype[\"closest\"] =\r\n function (s) {\r\n var matches = (this.document || this.ownerdocument).queryselectorall(s),\r\n i,\r\n el = this;\r\n do {\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== el) { };\r\n } while ((i < 0) && (el = el.parentelement));\r\n return el;\r\n };\r\n }\r\n links.forEach((link) => {\r\n let linkParent = link.parentNode;\r\n link.addEventListener('focus', (e) => {\r\n this.focusOn(e, link, linkParent);\r\n });\r\n link.addEventListener('blur', (e) => {\r\n this.blurOut(e, linkParent);\r\n });\r\n });\r\n }\r\n //Tablet landscape view to allow users to tap a parent link to see the children.\r\n if (window.innerWidth <= 1600 && window.innerWidth > 767 && document.getElementsByTagName('html')[0].classList.contains('mod-touchevents')) {\r\n //Click outside of the header\r\n this.outSideClicks();\r\n links.forEach((link) => {\r\n let linkParent = link.parentNode;\r\n link.addEventListener('click', (e) => {\r\n if (!linkParent.classList.contains(this.showClass)) {\r\n e.preventDefault();\r\n if (document.querySelector('.' + this.showClass) !== null) {\r\n document.querySelector('.' + this.showClass).classList.remove(this.showClass);\r\n }\r\n linkParent.classList.add(this.showClass);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n outSideClicks() {\r\n let mNav = document.querySelector(this.mNav);\r\n if (mNav) {\r\n // For clicks inside the element\r\n document.querySelector(this.mNav).addEventListener('click', (e) => {\r\n this.checkClick(e);\r\n });\r\n // For clicks elsewhere on the page\r\n document.addEventListener('click', () => {\r\n //close stuff\r\n if (document.querySelector('.' + this.showClass) !== null) {\r\n document.querySelector('.' + this.showClass).classList.remove(this.showClass);\r\n }\r\n });\r\n // For clicks elsewhere on the page\r\n document.addEventListener('touchstart', () => {\r\n //close stuff\r\n if (document.querySelector('.' + this.showClass) !== null) {\r\n document.querySelector('.' + this.showClass).classList.remove(this.showClass);\r\n }\r\n });\r\n }\r\n }\r\n checkClick(e) {\r\n // Make sure the event doesn't bubble from your element\r\n if (e) { e.stopPropagation(); }\r\n else { window.event.cancelBubble = true; }\r\n }\r\n focusOn(e, link, linkParent) {\r\n setTimeout(() => {\r\n this.toggleOff();\r\n if (link.classList.contains('has-sub') && !linkParent.classList.contains(this.showClass)) {\r\n this.toggleOn(linkParent);\r\n }\r\n e.stopPropagation();\r\n var viewableLinks = Array.prototype.slice.call(linkParent.querySelectorAll('[aria-hidden=\"false\"] a'));\r\n if (viewableLinks.length > 0) {\r\n viewableLinks.forEach((viewableLink) => {\r\n viewableLink.addEventListener('blur', (e) => {\r\n this.blurOut(e, linkParent);\r\n });\r\n });\r\n }\r\n }, 10);\r\n }\r\n toggleOn(linkParent) {\r\n linkParent.classList.add(this.showClass);\r\n linkParent.querySelector('[aria-hidden=\"true\"]').setAttribute('aria-hidden', 'false');\r\n }\r\n blurOut(e, linkParent) {\r\n setTimeout(() => {\r\n if (document.activeElement[\"closest\"]('[aria-haspopup=\"true\"]') !== linkParent || document.activeElement[\"closest\"]('[aria-haspopup=\"true\"]') === null) {\r\n this.toggleOff();\r\n }\r\n e.stopPropagation();\r\n }, 10);\r\n }\r\n toggleOff() {\r\n var items = Array.prototype.slice.call(document.querySelectorAll('.nav-main-list-item.show-menu'));\r\n if (items.length > 0) {\r\n items.forEach(function (item) {\r\n item.classList.remove('show-menu');\r\n item.querySelector('[aria-hidden=\"false\"]').setAttribute('aria-hidden', 'true');\r\n });\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/nav-main.ts","export class NavMobile {\r\n mobileTrigger: HTMLElement;\r\n mobileMenu: HTMLElement;\r\n constructor(public bodyElement: any) {\r\n this.mobileTrigger = document.getElementById('mobileTrigger') as HTMLElement;\r\n this.mobileMenu = document.getElementById('nav-mobile') as HTMLElement;\r\n let mobileSubnavTriggers = [].slice.call(document.getElementsByClassName('has-sub'));\r\n if (this.mobileTrigger) {\r\n this.mobileTrigger.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n this.mobileMenu.classList.toggle('open');\r\n this.mobileTrigger.classList.toggle('open');\r\n this.bodyElement.classList.toggle('nav-open');\r\n this.mobileMenu.classList.remove('nav-closed');\r\n });\r\n mobileSubnavTriggers.forEach((mobileSubnavTrigger) => {\r\n var subnavToOpen = mobileSubnavTrigger.querySelector('ul');\r\n subnavToOpen.classList.add('closed');\r\n mobileSubnavTrigger.addEventListener('click', (e) => {\r\n this.closeOtherPanel(subnavToOpen);\r\n this.togglePanel(mobileSubnavTrigger, subnavToOpen);\r\n });\r\n });\r\n }\r\n }\r\n closeNav() {\r\n if (this.mobileMenu.classList.contains('open')) {\r\n this.mobileTrigger.click();\r\n }\r\n }\r\n closeOtherPanel(newSubNav) {\r\n let openParent = this.mobileMenu.querySelector('.has-sub.open');\r\n if (openParent) {\r\n let openPanel = openParent.querySelector('.open');\r\n if (openPanel != newSubNav) {\r\n this.togglePanel(openParent, openPanel);\r\n }\r\n }\r\n }\r\n togglePanel(parent, panel) {\r\n parent.classList.toggle('open');\r\n panel.classList.toggle('closed');\r\n panel.classList.toggle('open');\r\n if (panel.classList.contains('open')) {\r\n panel.setAttribute('aria-hidden', 'false');\r\n }\r\n else {\r\n panel.setAttribute('aria-hidden', 'true');\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/nav-mobile.ts","const SEARCH_CONTAINER_ID = \"utilitySearchContainer\";\r\nconst SEARCH_CANCEL_ID = \"utilitySearchCancel\";\r\nconst SEARCH_INPUT_ID = \"utilitySearchInput\";\r\n\r\nconst SEARCH_SHOW_CLASS = \"utility-search-show\";\r\nconst SEARCH_HIDE_CLASS = \"utility-search-hide\";\r\nconst SEARCH_TOGGLE_BTN_CLASS = \"utility-search-toggle-btn\";\r\n\r\nlet searchContainer = document.getElementById(SEARCH_CONTAINER_ID);\r\nlet searchToggle = Array.prototype.slice.call(document.querySelectorAll('.' + SEARCH_TOGGLE_BTN_CLASS));\r\nlet searchCancel = document.getElementById(SEARCH_CANCEL_ID);\r\nlet searchInput = document.getElementById(SEARCH_INPUT_ID);\r\n\r\n\r\nexport function searchState(clickCallback: () => void) {\r\n if (searchCancel) {\r\n let focusable = Array.prototype.slice.call(searchContainer.querySelectorAll('a, button, input'));\r\n focusable.forEach(element => {\r\n element.tabIndex = -1;\r\n });\r\n searchToggle.forEach(btn => {\r\n btn.addEventListener(\"click\", toggleSearchContainer(clickCallback, focusable));\r\n });\r\n searchCancel.addEventListener(\"click\", () => {\r\n closeSearchContainer();\r\n focusable.forEach(element => {\r\n element.tabIndex = -1;\r\n })\r\n });\r\n }\r\n}\r\n\r\nfunction toggleSearchContainer(callback, focusable) {\r\n return function () {\r\n if (searchContainer.classList.contains(SEARCH_SHOW_CLASS)) {\r\n closeSearchContainer();\r\n } else {\r\n openSearchContainer(focusable);\r\n }\r\n callback();\r\n }\r\n}\r\n\r\nfunction openSearchContainer(focusable) {\r\n searchContainer.classList.remove(SEARCH_HIDE_CLASS);\r\n searchContainer.classList.add(SEARCH_SHOW_CLASS);\r\n focusable.forEach(element => {\r\n element.tabIndex = 0;\r\n })\r\n searchInput.focus();\r\n}\r\n\r\nfunction closeSearchContainer() {\r\n searchContainer.classList.remove(SEARCH_SHOW_CLASS);\r\n searchContainer.classList.add(SEARCH_HIDE_CLASS);\r\n if (window.innerWidth > 1024) {\r\n searchToggle[0].focus();\r\n }\r\n else {\r\n searchToggle[1].focus();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/utility-search.ts","/* global NodeList, Element, define */\n\n(function (global) {\n 'use strict';\n\n var FOCUSABLE_ELEMENTS = ['a[href]', 'area[href]', 'input:not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^=\"-\"])'];\n var TAB_KEY = 9;\n var ESCAPE_KEY = 27;\n var focusedBeforeDialog;\n\n /**\n * Define the constructor to instantiate a dialog\n *\n * @constructor\n * @param {Element} node\n * @param {(NodeList | Element | string)} targets\n */\n function A11yDialog (node, targets) {\n // Prebind the functions that will be bound in addEventListener and\n // removeEventListener to avoid losing references\n this._show = this.show.bind(this);\n this._hide = this.hide.bind(this);\n this._maintainFocus = this._maintainFocus.bind(this);\n this._bindKeypress = this._bindKeypress.bind(this);\n\n // Keep a reference of the node on the instance\n this.node = node;\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {};\n\n // Initialise everything needed for the dialog to work properly\n this.create(targets);\n }\n\n /**\n * Set up everything necessary for the dialog to be functioning\n *\n * @param {(NodeList | Element | string)} targets\n * @return {this}\n */\n A11yDialog.prototype.create = function (targets) {\n // Keep a collection of nodes to disable/enable when toggling the dialog\n this._targets = this._targets || collect(targets) || getSiblings(this.node);\n\n // Make sure the dialog element is disabled on load, and that the `shown`\n // property is synced with its value\n this.node.setAttribute('aria-hidden', true);\n this.shown = false;\n\n // Keep a collection of dialog openers, each of which will be bound a click\n // event listener to open the dialog\n this._openers = $$('[data-a11y-dialog-show=\"' + this.node.id + '\"]');\n this._openers.forEach(function (opener) {\n opener.addEventListener('click', this._show);\n }.bind(this));\n\n // Keep a collection of dialog closers, each of which will be bound a click\n // event listener to close the dialog\n this._closers = $$('[data-a11y-dialog-hide]', this.node)\n .concat($$('[data-a11y-dialog-hide=\"' + this.node.id + '\"]'));\n this._closers.forEach(function (closer) {\n closer.addEventListener('click', this._hide);\n }.bind(this));\n\n // Execute all callbacks registered for the `create` event\n this._fire('create');\n\n return this;\n };\n\n /**\n * Show the dialog element, disable all the targets (siblings), trap the\n * current focus within it, listen for some specific key presses and fire all\n * registered callbacks for `show` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.show = function (event) {\n // If the dialog is already open, abort\n if (this.shown) {\n return this;\n }\n\n this.shown = true;\n this.node.removeAttribute('aria-hidden');\n\n // Iterate over the targets to disable them by setting their `aria-hidden`\n // attribute to `true`; in case they already have this attribute, keep a\n // reference of their original value to be able to restore it later\n this._targets.forEach(function (target) {\n var original = target.getAttribute('aria-hidden');\n\n if (original) {\n target.setAttribute('data-a11y-dialog-original', original);\n }\n\n target.setAttribute('aria-hidden', 'true');\n });\n\n // Keep a reference to the currently focused element to be able to restore\n // it later, then set the focus to the first focusable child of the dialog\n // element\n focusedBeforeDialog = document.activeElement;\n setFocusToFirstItem(this.node);\n\n // Bind a focus event listener to the body element to make sure the focus\n // stays trapped inside the dialog while open, and start listening for some\n // specific key presses (TAB and ESC)\n document.body.addEventListener('focus', this._maintainFocus, true);\n document.addEventListener('keydown', this._bindKeypress);\n\n // Execute all callbacks registered for the `show` event\n this._fire('show', event);\n\n return this;\n };\n\n /**\n * Hide the dialog element, enable all the targets (siblings), restore the\n * focus to the previously active element, stop listening for some specific\n * key presses and fire all registered callbacks for `hide` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.hide = function (event) {\n // If the dialog is already closed, abort\n if (!this.shown) {\n return this;\n }\n\n this.shown = false;\n this.node.setAttribute('aria-hidden', 'true');\n\n // Iterate over the targets to enable them by remove their `aria-hidden`\n // attribute or resetting them to their initial value\n this._targets.forEach(function (target) {\n var original = target.getAttribute('data-a11y-dialog-original');\n\n if (original) {\n target.setAttribute('aria-hidden', original);\n target.removeAttribute('data-a11y-dialog-original');\n } else {\n target.removeAttribute('aria-hidden');\n }\n });\n\n // If their was a focused element before the dialog was opened, restore the\n // focus back to it\n if (focusedBeforeDialog) {\n focusedBeforeDialog.focus();\n }\n\n // Remove the focus event listener to the body element and stop listening\n // for specific key presses\n document.body.removeEventListener('focus', this._maintainFocus, true);\n document.removeEventListener('keydown', this._bindKeypress);\n\n // Execute all callbacks registered for the `hide` event\n this._fire('hide', event);\n\n return this;\n };\n\n /**\n * Destroy the current instance (after making sure the dialog has been hidden)\n * and remove all associated listeners from dialog openers and closers\n *\n * @return {this}\n */\n A11yDialog.prototype.destroy = function () {\n // Hide the dialog to avoid destroying an open instance\n this.hide();\n\n // Remove the click event listener from all dialog openers\n this._openers.forEach(function (opener) {\n opener.removeEventListener('click', this._show);\n }.bind(this));\n\n // Remove the click event listener from all dialog closers\n this._closers.forEach(function (closer) {\n closer.removeEventListener('click', this._hide);\n }.bind(this));\n\n // Execute all callbacks registered for the `destroy` event\n this._fire('destroy');\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {};\n\n return this;\n };\n\n /**\n * Register a new callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.on = function (type, handler) {\n if (typeof this._listeners[type] === 'undefined') {\n this._listeners[type] = [];\n }\n\n this._listeners[type].push(handler);\n\n return this;\n };\n\n /**\n * Unregister an existing callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.off = function (type, handler) {\n var index = this._listeners[type].indexOf(handler);\n\n if (index > -1) {\n this._listeners[type].splice(index, 1);\n }\n\n return this;\n };\n\n /**\n * Iterate over all registered handlers for given type and call them all with\n * the dialog element as first argument, trigger (opener / closer) as second\n * argument, if any.\n *\n * @access private\n * @param {string} type\n * @param {Event} event\n */\n A11yDialog.prototype._fire = function (type, event) {\n var listeners = this._listeners[type] || [];\n var trigger = event ? event.target : void 0;\n\n listeners.forEach(function (listener) {\n listener(this.node, trigger);\n }.bind(this));\n };\n\n /**\n * Private event handler used when listening to some specific key presses\n * (namely ESCAPE and TAB)\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._bindKeypress = function (event) {\n // If the dialog is shown and the ESCAPE key is being pressed, prevent any\n // further effects from the ESCAPE key and hide the dialog\n if (this.shown && event.which === ESCAPE_KEY) {\n event.preventDefault();\n this.hide();\n }\n\n // If the dialog is shown and the TAB key is being pressed, make sure the\n // focus stays trapped within the dialog element\n if (this.shown && event.which === TAB_KEY) {\n trapTabKey(this.node, event);\n }\n };\n\n /**\n * Private event handler used when making sure the focus stays within the\n * currently open dialog\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._maintainFocus = function (event) {\n // If the dialog is shown and the focus is not within the dialog element,\n // move it back to its first focusable child\n if (this.shown && !this.node.contains(event.target)) {\n setFocusToFirstItem(this.node);\n }\n };\n\n /**\n * Convert a NodeList into an array\n *\n * @param {NodeList} collection\n * @return {Array}\n */\n function toArray (collection) {\n return Array.prototype.slice.call(collection);\n }\n\n /**\n * Query the DOM for nodes matching the given selector, scoped to context (or\n * the whole document)\n *\n * @param {String} selector\n * @param {Element} [context = document]\n * @return {Array}\n */\n function $$ (selector, context) {\n return toArray((context || document).querySelectorAll(selector));\n }\n\n /**\n * Return an array of Element based on given argument (NodeList, Element or\n * string representing a selector)\n *\n * @param {(NodeList | Element | string)} target\n * @return {Array}\n */\n function collect (target) {\n if (NodeList.prototype.isPrototypeOf(target)) {\n return toArray(target);\n }\n\n if (Element.prototype.isPrototypeOf(target)) {\n return [target];\n }\n\n if (typeof target === 'string') {\n return $$(target);\n }\n }\n\n /**\n * Set the focus to the first focusable child of the given element\n *\n * @param {Element} node\n */\n function setFocusToFirstItem (node) {\n var focusableChildren = getFocusableChildren(node);\n\n if (focusableChildren.length) {\n focusableChildren[0].focus();\n }\n }\n\n /**\n * Get the focusable children of the given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getFocusableChildren (node) {\n return $$(FOCUSABLE_ELEMENTS.join(','), node).filter(function (child) {\n return !!(child.offsetWidth || child.offsetHeight || child.getClientRects().length);\n });\n }\n\n /**\n * Trap the focus inside the given element\n *\n * @param {Element} node\n * @param {Event} event\n */\n function trapTabKey (node, event) {\n var focusableChildren = getFocusableChildren(node);\n var focusedItemIndex = focusableChildren.indexOf(document.activeElement);\n\n // If the SHIFT key is being pressed while tabbing (moving backwards) and\n // the currently focused item is the first one, move the focus to the last\n // focusable item from the dialog element\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableChildren[focusableChildren.length - 1].focus();\n event.preventDefault();\n // If the SHIFT key is not being pressed (moving forwards) and the currently\n // focused item is the last one, move the focus to the first focusable item\n // from the dialog element\n } else if (!event.shiftKey && focusedItemIndex === focusableChildren.length - 1) {\n focusableChildren[0].focus();\n event.preventDefault();\n }\n }\n\n /**\n * Retrieve siblings from given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getSiblings (node) {\n var nodes = toArray(node.parentNode.childNodes);\n var siblings = nodes.filter(function (node) {\n return node.nodeType === 1;\n });\n\n siblings.splice(siblings.indexOf(node), 1);\n\n return siblings;\n }\n\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = A11yDialog;\n } else if (typeof define === 'function' && define.amd) {\n define('A11yDialog', [], function () {\n return A11yDialog;\n });\n } else if (typeof global === 'object') {\n global.A11yDialog = A11yDialog;\n }\n}(typeof global !== 'undefined' ? global : window));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/a11y-dialog/a11y-dialog.js\n// module id = 14\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 15\n// module chunks = 0","export function enhanceEpiForms() {\r\n // grabs only nested text nodes\r\n function textNodesUnder(el) {\r\n var n, a = [], walk = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null, false);\r\n while (n = walk.nextNode()) a.push(n);\r\n return a;\r\n }\r\n\r\n let containers = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms'));\r\n\r\n containers.forEach(container => {\r\n let newWrapper = document.createElement('div');\r\n newWrapper.className = 'epi-form';\r\n container.parentNode.insertBefore(newWrapper, container);\r\n newWrapper.appendChild(container);\r\n\r\n let formChoiceLabels = Array.prototype.slice.call(container.querySelectorAll('.FormChoice:not(.FormChoice--Image) > label'));\r\n let formID = container.id || (Math.ceil(Math.random() * 1000));\r\n\r\n formChoiceLabels.forEach((fieldLabel, index) => {\r\n let fieldInput = fieldLabel.querySelector('input');\r\n let fieldName = `input-${formID}-${index}`;\r\n fieldLabel.parentNode.insertBefore(fieldInput, fieldLabel);\r\n fieldLabel.setAttribute('for', fieldName);\r\n fieldInput.id = fieldName;\r\n });\r\n });\r\n\r\n let formChoiceImageLabels = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms .FormChoice--Image > label'));\r\n\r\n formChoiceImageLabels.forEach(fieldLabel => {\r\n fieldLabel.classList.add('enhanced-fields');\r\n });\r\n\r\n let requiredFields = Array.prototype.slice.call(document.querySelectorAll('.EPiServerForms div.Form__Element:not(.ValidationRequired):not(.FormCaptcha)'))\r\n requiredFields.forEach(field => {\r\n let fieldLabel = field.querySelectorAll('.Form__Element__Caption')[0];\r\n\r\n if (fieldLabel) {\r\n let optionalTag = document.createElement('span');\r\n let optionalText = document.createTextNode('(Optional)');\r\n \r\n\r\n optionalTag.className = 'not-required';\r\n optionalTag.appendChild(optionalText);\r\n fieldLabel.appendChild(optionalTag);\r\n }\r\n });\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/epi-forms.ts","export function setupTextExpanders() {\r\n let expanders = Array.prototype.slice.call(document.querySelectorAll('.wysiwyg-expand-btn'));\r\n expanders.forEach(expander => {\r\n let expandText = expander.getAttribute('data-show-btn');\r\n let collapseText = expander.getAttribute('data-hide-btn');\r\n expander.innerHTML = expandText;\r\n let block = expander.parentNode.previousElementSibling;\r\n expander.addEventListener('click', e => {\r\n if (block.classList.contains('open') || block.classList.contains('closed')) {\r\n block.classList.toggle('closed');\r\n block.classList.toggle('open');\r\n }\r\n else {\r\n block.classList.add('open');\r\n }\r\n if (block.classList.contains('open')) {\r\n expander.innerHTML = collapseText;\r\n }\r\n else {\r\n expander.innerHTML = expandText;\r\n }\r\n })\r\n })\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/expand-text.ts","import * as A11yDialog from 'a11y-dialog';\r\nvar lory: LoryStatic = require('lory.js').lory;\r\n\r\nexport function multimediaBlock() {\r\n let multimediaItems = Array.prototype.slice.call(document.querySelectorAll('[data-a11y-dialog]'));\r\n\r\n if (multimediaItems) {\r\n multimediaItems.forEach(function (item) {\r\n item.addEventListener('click', function () {\r\n let listPosition = item.getAttribute('data-list-position');\r\n\r\n let modalId = item.getAttribute('data-a11y-dialog');\r\n let modal = document.getElementById(modalId);\r\n\r\n (window as any)[modalId].show();\r\n\r\n let carousel = modal.querySelector('.multimedia-slider-js');\r\n\r\n if (carousel) {\r\n let carouselId = carousel.getAttribute('id');\r\n\r\n (window as any)[carouselId].slideTo(Number(listPosition));\r\n }\r\n\r\n let currentSlide = document.querySelector('.multimedia-item.js_slide.active');\r\n\r\n if (currentSlide) {\r\n let currentSlidePlayBtn = currentSlide.querySelector('.home-hero-play') as HTMLElement;\r\n\r\n if (currentSlidePlayBtn) {\r\n currentSlidePlayBtn.click();\r\n }\r\n }\r\n\r\n let carouselCounter = carousel.querySelector('.multimedia-carousel-index-js');\r\n\r\n if (carouselCounter) {\r\n carouselCounter.innerHTML = currentSlide.getAttribute('data-index');\r\n }\r\n })\r\n })\r\n }\r\n\r\n // Multimedia block modals\r\n let multimediaModals = Array.prototype.slice.call(document.querySelectorAll('.a11y-modal-js'));\r\n\r\n if (multimediaModals) {\r\n multimediaModals.forEach(function (modal) {\r\n let modalClose = modal.querySelector('.multimedia-modal-close-js');\r\n\r\n if (modalClose) {\r\n modalClose.addEventListener('click', function () {\r\n let currentSlide = modal.querySelector('.multimedia-item.js_slide.active');\r\n\r\n if (currentSlide) {\r\n let currentSlidePlayBtn = currentSlide.querySelector('.home-hero-pause') as HTMLElement;\r\n\r\n if (currentSlidePlayBtn) {\r\n currentSlidePlayBtn.click();\r\n }\r\n }\r\n\r\n let modalId = modal.getAttribute('id');\r\n\r\n (window as any)[modalId].hide();\r\n })\r\n }\r\n })\r\n }\r\n\r\n // Multimedia block carousels \r\n let multimediaCarousels = Array.prototype.slice.call(document.querySelectorAll('.multimedia-slider-js'));\r\n\r\n if (multimediaCarousels) {\r\n multimediaCarousels.forEach(function (carousel) {\r\n let carouselId = carousel.getAttribute('id');\r\n\r\n if (carouselId) {\r\n (window as any).initCarousel(carouselId, 1, true);\r\n }\r\n\r\n let carouselPrev = carousel.querySelector('.js_prev');\r\n let carouselNext = carousel.querySelector('.js_next');\r\n let carouselCounter = carousel.querySelector('.multimedia-carousel-index-js');\r\n\r\n if (carouselPrev) {\r\n carouselPrev.addEventListener('click', function () {\r\n carouselCounter.innerHTML = carousel.querySelector('.multimedia-item.js_slide.active').getAttribute('data-index');\r\n });\r\n }\r\n\r\n if (carouselNext) {\r\n carouselNext.addEventListener('click', function () {\r\n carouselCounter.innerHTML = carousel.querySelector('.multimedia-item.js_slide.active').getAttribute('data-index');\r\n });\r\n }\r\n })\r\n }\r\n\r\n let multimediaCarouselVideos = Array.prototype.slice.call(document.querySelectorAll('.multimedia-video-js'));\r\n\r\n if (multimediaCarouselVideos) {\r\n multimediaCarouselVideos.forEach(function (video) {\r\n video.addEventListener('click', function () {\r\n\r\n let thumbnails = Array.prototype.slice.call(video.querySelectorAll('.multimedia-video-thumbnail'));\r\n let playButton = video.querySelector('.multimedia-play-btn');\r\n\r\n if (thumbnails) {\r\n thumbnails.forEach(function (thumbnail) {\r\n thumbnail.classList.add('multimedia-video-thumbnail-hidden');\r\n })\r\n }\r\n\r\n if (playButton) {\r\n playButton.classList.add('multimedia-play-btn-hidden');\r\n }\r\n })\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/source-map-loader!./Static/javascript/modules/multimedia-block.ts","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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; }; /* globals jQuery */\n\t\n\texports.lory = lory;\n\t\n\tvar _detectPrefixes = __webpack_require__(2);\n\t\n\tvar _detectPrefixes2 = _interopRequireDefault(_detectPrefixes);\n\t\n\tvar _dispatchEvent = __webpack_require__(3);\n\t\n\tvar _dispatchEvent2 = _interopRequireDefault(_dispatchEvent);\n\t\n\tvar _defaults = __webpack_require__(5);\n\t\n\tvar _defaults2 = _interopRequireDefault(_defaults);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar slice = Array.prototype.slice;\n\t\n\tfunction lory(slider, opts) {\n\t var position = void 0;\n\t var slidesWidth = void 0;\n\t var frameWidth = void 0;\n\t var slides = void 0;\n\t\n\t /**\n\t * slider DOM elements\n\t */\n\t var frame = void 0;\n\t var slideContainer = void 0;\n\t var prevCtrl = void 0;\n\t var nextCtrl = void 0;\n\t var prefixes = void 0;\n\t var transitionEndCallback = void 0;\n\t\n\t var index = 0;\n\t var options = {};\n\t\n\t /**\n\t * if object is jQuery convert to native DOM element\n\t */\n\t if (typeof jQuery !== 'undefined' && slider instanceof jQuery) {\n\t slider = slider[0];\n\t }\n\t\n\t /**\n\t * private\n\t * set active class to element which is the current slide\n\t */\n\t function setActiveElement(slides, currentIndex) {\n\t var _options = options,\n\t classNameActiveSlide = _options.classNameActiveSlide;\n\t\n\t\n\t slides.forEach(function (element, index) {\n\t if (element.classList.contains(classNameActiveSlide)) {\n\t element.classList.remove(classNameActiveSlide);\n\t }\n\t });\n\t\n\t slides[currentIndex].classList.add(classNameActiveSlide);\n\t }\n\t\n\t /**\n\t * private\n\t * setupInfinite: function to setup if infinite is set\n\t *\n\t * @param {array} slideArray\n\t * @return {array} array of updated slideContainer elements\n\t */\n\t function setupInfinite(slideArray) {\n\t var _options2 = options,\n\t infinite = _options2.infinite;\n\t\n\t\n\t var front = slideArray.slice(0, infinite);\n\t var back = slideArray.slice(slideArray.length - infinite, slideArray.length);\n\t\n\t front.forEach(function (element) {\n\t var cloned = element.cloneNode(true);\n\t\n\t slideContainer.appendChild(cloned);\n\t });\n\t\n\t back.reverse().forEach(function (element) {\n\t var cloned = element.cloneNode(true);\n\t\n\t slideContainer.insertBefore(cloned, slideContainer.firstChild);\n\t });\n\t\n\t slideContainer.addEventListener(prefixes.transitionEnd, onTransitionEnd);\n\t\n\t return slice.call(slideContainer.children);\n\t }\n\t\n\t /**\n\t * [dispatchSliderEvent description]\n\t * @return {[type]} [description]\n\t */\n\t function dispatchSliderEvent(phase, type, detail) {\n\t (0, _dispatchEvent2.default)(slider, phase + '.lory.' + type, detail);\n\t }\n\t\n\t /**\n\t * translates to a given position in a given time in milliseconds\n\t *\n\t * @to {number} number in pixels where to translate to\n\t * @duration {number} time in milliseconds for the transistion\n\t * @ease {string} easing css property\n\t */\n\t function translate(to, duration, ease) {\n\t var style = slideContainer && slideContainer.style;\n\t\n\t if (style) {\n\t style[prefixes.transition + 'TimingFunction'] = ease;\n\t style[prefixes.transition + 'Duration'] = duration + 'ms';\n\t\n\t if (prefixes.hasTranslate3d) {\n\t style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';\n\t } else {\n\t style[prefixes.transform] = 'translate(' + to + 'px, 0)';\n\t }\n\t }\n\t }\n\t\n\t /**\n\t * slidefunction called by prev, next & touchend\n\t *\n\t * determine nextIndex and slide to next postion\n\t * under restrictions of the defined options\n\t *\n\t * @direction {boolean}\n\t */\n\t function slide(nextIndex, direction) {\n\t var _options3 = options,\n\t slideSpeed = _options3.slideSpeed,\n\t slidesToScroll = _options3.slidesToScroll,\n\t infinite = _options3.infinite,\n\t rewind = _options3.rewind,\n\t rewindSpeed = _options3.rewindSpeed,\n\t ease = _options3.ease,\n\t classNameActiveSlide = _options3.classNameActiveSlide;\n\t\n\t\n\t var duration = slideSpeed;\n\t\n\t var nextSlide = direction ? index + 1 : index - 1;\n\t var maxOffset = Math.round(slidesWidth - frameWidth);\n\t\n\t dispatchSliderEvent('before', 'slide', {\n\t index: index,\n\t nextSlide: nextSlide\n\t });\n\t\n\t /**\n\t * Reset control classes\n\t */\n\t if (prevCtrl) {\n\t prevCtrl.classList.remove('disabled');\n\t }\n\t if (nextCtrl) {\n\t nextCtrl.classList.remove('disabled');\n\t }\n\t\n\t if (typeof nextIndex !== 'number') {\n\t if (direction) {\n\t nextIndex = index + slidesToScroll;\n\t } else {\n\t nextIndex = index - slidesToScroll;\n\t }\n\t }\n\t\n\t nextIndex = Math.min(Math.max(nextIndex, 0), slides.length - 1);\n\t\n\t if (infinite && direction === undefined) {\n\t nextIndex += infinite;\n\t }\n\t\n\t var nextOffset = Math.min(Math.max(slides[nextIndex].offsetLeft * -1, maxOffset * -1), 0);\n\t\n\t if (rewind && Math.abs(position.x) === maxOffset && direction) {\n\t nextOffset = 0;\n\t nextIndex = 0;\n\t duration = rewindSpeed;\n\t }\n\t\n\t /**\n\t * translate to the nextOffset by a defined duration and ease function\n\t */\n\t translate(nextOffset, duration, ease);\n\t\n\t /**\n\t * update the position with the next position\n\t */\n\t position.x = nextOffset;\n\t\n\t /**\n\t * update the index with the nextIndex only if\n\t * the offset of the nextIndex is in the range of the maxOffset\n\t */\n\t if (slides[nextIndex].offsetLeft <= maxOffset) {\n\t index = nextIndex;\n\t }\n\t\n\t if (infinite && (nextIndex === slides.length - infinite || nextIndex === 0)) {\n\t if (direction) {\n\t index = infinite;\n\t }\n\t\n\t if (!direction) {\n\t index = slides.length - infinite * 2;\n\t }\n\t\n\t position.x = slides[index].offsetLeft * -1;\n\t\n\t transitionEndCallback = function transitionEndCallback() {\n\t translate(slides[index].offsetLeft * -1, 0, undefined);\n\t };\n\t }\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slice.call(slides), index);\n\t }\n\t\n\t /**\n\t * update classes for next and prev arrows\n\t * based on user settings\n\t */\n\t if (prevCtrl && !infinite && nextIndex === 0) {\n\t prevCtrl.classList.add('disabled');\n\t }\n\t\n\t if (nextCtrl && !infinite && !rewind && nextIndex + 1 === slides.length) {\n\t nextCtrl.classList.add('disabled');\n\t }\n\t\n\t dispatchSliderEvent('after', 'slide', {\n\t currentSlide: index\n\t });\n\t }\n\t\n\t /**\n\t * public\n\t * setup function\n\t */\n\t function setup() {\n\t dispatchSliderEvent('before', 'init');\n\t\n\t prefixes = (0, _detectPrefixes2.default)();\n\t options = _extends({}, _defaults2.default, opts);\n\t\n\t var _options4 = options,\n\t classNameFrame = _options4.classNameFrame,\n\t classNameSlideContainer = _options4.classNameSlideContainer,\n\t classNamePrevCtrl = _options4.classNamePrevCtrl,\n\t classNameNextCtrl = _options4.classNameNextCtrl,\n\t enableMouseEvents = _options4.enableMouseEvents,\n\t classNameActiveSlide = _options4.classNameActiveSlide;\n\t\n\t\n\t frame = slider.getElementsByClassName(classNameFrame)[0];\n\t slideContainer = frame.getElementsByClassName(classNameSlideContainer)[0];\n\t prevCtrl = slider.getElementsByClassName(classNamePrevCtrl)[0];\n\t nextCtrl = slider.getElementsByClassName(classNameNextCtrl)[0];\n\t\n\t position = {\n\t x: slideContainer.offsetLeft,\n\t y: slideContainer.offsetTop\n\t };\n\t\n\t if (options.infinite) {\n\t slides = setupInfinite(slice.call(slideContainer.children));\n\t } else {\n\t slides = slice.call(slideContainer.children);\n\t\n\t if (prevCtrl) {\n\t prevCtrl.classList.add('disabled');\n\t }\n\t\n\t if (nextCtrl && slides.length === 1 && !options.rewind) {\n\t nextCtrl.classList.add('disabled');\n\t }\n\t }\n\t\n\t reset();\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slides, index);\n\t }\n\t\n\t if (prevCtrl && nextCtrl) {\n\t prevCtrl.addEventListener('click', prev);\n\t nextCtrl.addEventListener('click', next);\n\t }\n\t\n\t frame.addEventListener('touchstart', onTouchstart);\n\t\n\t if (enableMouseEvents) {\n\t frame.addEventListener('mousedown', onTouchstart);\n\t frame.addEventListener('click', onClick);\n\t }\n\t\n\t options.window.addEventListener('resize', onResize);\n\t\n\t dispatchSliderEvent('after', 'init');\n\t }\n\t\n\t /**\n\t * public\n\t * reset function: called on resize\n\t */\n\t function reset() {\n\t var _options5 = options,\n\t infinite = _options5.infinite,\n\t ease = _options5.ease,\n\t rewindSpeed = _options5.rewindSpeed,\n\t rewindOnResize = _options5.rewindOnResize,\n\t classNameActiveSlide = _options5.classNameActiveSlide;\n\t\n\t\n\t slidesWidth = slideContainer.getBoundingClientRect().width || slideContainer.offsetWidth;\n\t frameWidth = frame.getBoundingClientRect().width || frame.offsetWidth;\n\t\n\t if (frameWidth === slidesWidth) {\n\t slidesWidth = slides.reduce(function (previousValue, slide) {\n\t return previousValue + slide.getBoundingClientRect().width || slide.offsetWidth;\n\t }, 0);\n\t }\n\t\n\t if (rewindOnResize) {\n\t index = 0;\n\t } else {\n\t ease = null;\n\t rewindSpeed = 0;\n\t }\n\t\n\t if (infinite) {\n\t translate(slides[index + infinite].offsetLeft * -1, 0, null);\n\t\n\t index = index + infinite;\n\t position.x = slides[index].offsetLeft * -1;\n\t } else {\n\t translate(slides[index].offsetLeft * -1, rewindSpeed, ease);\n\t position.x = slides[index].offsetLeft * -1;\n\t }\n\t\n\t if (classNameActiveSlide) {\n\t setActiveElement(slice.call(slides), index);\n\t }\n\t }\n\t\n\t /**\n\t * public\n\t * slideTo: called on clickhandler\n\t */\n\t function slideTo(index) {\n\t slide(index);\n\t }\n\t\n\t /**\n\t * public\n\t * returnIndex function: called on clickhandler\n\t */\n\t function returnIndex() {\n\t return index - options.infinite || 0;\n\t }\n\t\n\t /**\n\t * public\n\t * prev function: called on clickhandler\n\t */\n\t function prev() {\n\t slide(false, false);\n\t }\n\t\n\t /**\n\t * public\n\t * next function: called on clickhandler\n\t */\n\t function next() {\n\t slide(false, true);\n\t }\n\t\n\t /**\n\t * public\n\t * destroy function: called to gracefully destroy the lory instance\n\t */\n\t function destroy() {\n\t dispatchSliderEvent('before', 'destroy');\n\t\n\t // remove event listeners\n\t frame.removeEventListener(prefixes.transitionEnd, onTransitionEnd);\n\t frame.removeEventListener('touchstart', onTouchstart);\n\t frame.removeEventListener('touchmove', onTouchmove);\n\t frame.removeEventListener('touchend', onTouchend);\n\t frame.removeEventListener('mousemove', onTouchmove);\n\t frame.removeEventListener('mousedown', onTouchstart);\n\t frame.removeEventListener('mouseup', onTouchend);\n\t frame.removeEventListener('mouseleave', onTouchend);\n\t frame.removeEventListener('click', onClick);\n\t\n\t options.window.removeEventListener('resize', onResize);\n\t\n\t if (prevCtrl) {\n\t prevCtrl.removeEventListener('click', prev);\n\t }\n\t\n\t if (nextCtrl) {\n\t nextCtrl.removeEventListener('click', next);\n\t }\n\t\n\t // remove cloned slides if infinite is set\n\t if (options.infinite) {\n\t Array.apply(null, Array(options.infinite)).forEach(function () {\n\t slideContainer.removeChild(slideContainer.firstChild);\n\t slideContainer.removeChild(slideContainer.lastChild);\n\t });\n\t }\n\t\n\t dispatchSliderEvent('after', 'destroy');\n\t }\n\t\n\t // event handling\n\t\n\t var touchOffset = void 0;\n\t var delta = void 0;\n\t var isScrolling = void 0;\n\t\n\t function onTransitionEnd() {\n\t if (transitionEndCallback) {\n\t transitionEndCallback();\n\t\n\t transitionEndCallback = undefined;\n\t }\n\t }\n\t\n\t function onTouchstart(event) {\n\t var _options6 = options,\n\t enableMouseEvents = _options6.enableMouseEvents;\n\t\n\t var touches = event.touches ? event.touches[0] : event;\n\t\n\t if (enableMouseEvents) {\n\t frame.addEventListener('mousemove', onTouchmove);\n\t frame.addEventListener('mouseup', onTouchend);\n\t frame.addEventListener('mouseleave', onTouchend);\n\t }\n\t\n\t frame.addEventListener('touchmove', onTouchmove);\n\t frame.addEventListener('touchend', onTouchend);\n\t\n\t var pageX = touches.pageX,\n\t pageY = touches.pageY;\n\t\n\t\n\t touchOffset = {\n\t x: pageX,\n\t y: pageY,\n\t time: Date.now()\n\t };\n\t\n\t isScrolling = undefined;\n\t\n\t delta = {};\n\t\n\t dispatchSliderEvent('on', 'touchstart', {\n\t event: event\n\t });\n\t }\n\t\n\t function onTouchmove(event) {\n\t var touches = event.touches ? event.touches[0] : event;\n\t var pageX = touches.pageX,\n\t pageY = touches.pageY;\n\t\n\t\n\t delta = {\n\t x: pageX - touchOffset.x,\n\t y: pageY - touchOffset.y\n\t };\n\t\n\t if (typeof isScrolling === 'undefined') {\n\t isScrolling = !!(isScrolling || Math.abs(delta.x) < Math.abs(delta.y));\n\t }\n\t\n\t if (!isScrolling && touchOffset) {\n\t event.preventDefault();\n\t translate(position.x + delta.x, 0, null);\n\t }\n\t\n\t // may be\n\t dispatchSliderEvent('on', 'touchmove', {\n\t event: event\n\t });\n\t }\n\t\n\t function onTouchend(event) {\n\t /**\n\t * time between touchstart and touchend in milliseconds\n\t * @duration {number}\n\t */\n\t var duration = touchOffset ? Date.now() - touchOffset.time : undefined;\n\t\n\t /**\n\t * is valid if:\n\t *\n\t * -> swipe attempt time is over 300 ms\n\t * and\n\t * -> swipe distance is greater than 25px\n\t * or\n\t * -> swipe distance is more then a third of the swipe area\n\t *\n\t * @isValidSlide {Boolean}\n\t */\n\t var isValid = Number(duration) < 300 && Math.abs(delta.x) > 25 || Math.abs(delta.x) > frameWidth / 3;\n\t\n\t /**\n\t * is out of bounds if:\n\t *\n\t * -> index is 0 and delta x is greater than 0\n\t * or\n\t * -> index is the last slide and delta is smaller than 0\n\t *\n\t * @isOutOfBounds {Boolean}\n\t */\n\t var isOutOfBounds = !index && delta.x > 0 || index === slides.length - 1 && delta.x < 0;\n\t\n\t var direction = delta.x < 0;\n\t\n\t if (!isScrolling) {\n\t if (isValid && !isOutOfBounds) {\n\t slide(false, direction);\n\t } else {\n\t translate(position.x, options.snapBackSpeed);\n\t }\n\t }\n\t\n\t touchOffset = undefined;\n\t\n\t /**\n\t * remove eventlisteners after swipe attempt\n\t */\n\t frame.removeEventListener('touchmove', onTouchmove);\n\t frame.removeEventListener('touchend', onTouchend);\n\t frame.removeEventListener('mousemove', onTouchmove);\n\t frame.removeEventListener('mouseup', onTouchend);\n\t frame.removeEventListener('mouseleave', onTouchend);\n\t\n\t dispatchSliderEvent('on', 'touchend', {\n\t event: event\n\t });\n\t }\n\t\n\t function onClick(event) {\n\t if (delta.x) {\n\t event.preventDefault();\n\t }\n\t }\n\t\n\t function onResize(event) {\n\t reset();\n\t\n\t dispatchSliderEvent('on', 'resize', {\n\t event: event\n\t });\n\t }\n\t\n\t // trigger initial setup\n\t setup();\n\t\n\t // expose public api\n\t return {\n\t setup: setup,\n\t reset: reset,\n\t slideTo: slideTo,\n\t returnIndex: returnIndex,\n\t prev: prev,\n\t next: next,\n\t destroy: destroy\n\t };\n\t}\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = detectPrefixes;\n\t/**\n\t * Detecting prefixes for saving time and bytes\n\t */\n\tfunction detectPrefixes() {\n\t var transform = void 0;\n\t var transition = void 0;\n\t var transitionEnd = void 0;\n\t var hasTranslate3d = void 0;\n\t\n\t (function () {\n\t var el = document.createElement('_');\n\t var style = el.style;\n\t\n\t var prop = void 0;\n\t\n\t if (style[prop = 'webkitTransition'] === '') {\n\t transitionEnd = 'webkitTransitionEnd';\n\t transition = prop;\n\t }\n\t\n\t if (style[prop = 'transition'] === '') {\n\t transitionEnd = 'transitionend';\n\t transition = prop;\n\t }\n\t\n\t if (style[prop = 'webkitTransform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t if (style[prop = 'msTransform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t if (style[prop = 'transform'] === '') {\n\t transform = prop;\n\t }\n\t\n\t document.body.insertBefore(el, null);\n\t style[transform] = 'translate3d(0, 0, 0)';\n\t hasTranslate3d = !!global.getComputedStyle(el).getPropertyValue(transform);\n\t document.body.removeChild(el);\n\t })();\n\t\n\t return {\n\t transform: transform,\n\t transition: transition,\n\t transitionEnd: transitionEnd,\n\t hasTranslate3d: hasTranslate3d\n\t };\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = dispatchEvent;\n\t\n\tvar _customEvent = __webpack_require__(4);\n\t\n\tvar _customEvent2 = _interopRequireDefault(_customEvent);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * dispatch custom events\n\t *\n\t * @param {element} el slideshow element\n\t * @param {string} type custom event name\n\t * @param {object} detail custom detail information\n\t */\n\tfunction dispatchEvent(target, type, detail) {\n\t var event = new _customEvent2.default(type, {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: detail\n\t });\n\t\n\t target.dispatchEvent(event);\n\t}\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {\n\tvar NativeCustomEvent = global.CustomEvent;\n\t\n\tfunction useNative () {\n\t try {\n\t var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });\n\t return 'cat' === p.type && 'bar' === p.detail.foo;\n\t } catch (e) {\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Cross-browser `CustomEvent` constructor.\n\t *\n\t * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent\n\t *\n\t * @public\n\t */\n\t\n\tmodule.exports = useNative() ? NativeCustomEvent :\n\t\n\t// IE >= 9\n\t'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {\n\t var e = document.createEvent('CustomEvent');\n\t if (params) {\n\t e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);\n\t } else {\n\t e.initCustomEvent(type, false, false, void 0);\n\t }\n\t return e;\n\t} :\n\t\n\t// IE <= 8\n\tfunction CustomEvent (type, params) {\n\t var e = document.createEventObject();\n\t e.type = type;\n\t if (params) {\n\t e.bubbles = Boolean(params.bubbles);\n\t e.cancelable = Boolean(params.cancelable);\n\t e.detail = params.detail;\n\t } else {\n\t e.bubbles = false;\n\t e.cancelable = false;\n\t e.detail = void 0;\n\t }\n\t return e;\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t /**\n\t * slides scrolled at once\n\t * @slidesToScroll {Number}\n\t */\n\t slidesToScroll: 1,\n\t\n\t /**\n\t * time in milliseconds for the animation of a valid slide attempt\n\t * @slideSpeed {Number}\n\t */\n\t slideSpeed: 300,\n\t\n\t /**\n\t * time in milliseconds for the animation of the rewind after the last slide\n\t * @rewindSpeed {Number}\n\t */\n\t rewindSpeed: 600,\n\t\n\t /**\n\t * time for the snapBack of the slider if the slide attempt was not valid\n\t * @snapBackSpeed {Number}\n\t */\n\t snapBackSpeed: 200,\n\t\n\t /**\n\t * Basic easing functions: https://developer.mozilla.org/de/docs/Web/CSS/transition-timing-function\n\t * cubic bezier easing functions: http://easings.net/de\n\t * @ease {String}\n\t */\n\t ease: 'ease',\n\t\n\t /**\n\t * if slider reached the last slide, with next click the slider goes back to the startindex.\n\t * use infinite or rewind, not both\n\t * @rewind {Boolean}\n\t */\n\t rewind: false,\n\t\n\t /**\n\t * number of visible slides or false\n\t * use infinite or rewind, not both\n\t * @infinite {number}\n\t */\n\t infinite: false,\n\t\n\t /**\n\t * class name for slider frame\n\t * @classNameFrame {string}\n\t */\n\t classNameFrame: 'js_frame',\n\t\n\t /**\n\t * class name for slides container\n\t * @classNameSlideContainer {string}\n\t */\n\t classNameSlideContainer: 'js_slides',\n\t\n\t /**\n\t * class name for slider prev control\n\t * @classNamePrevCtrl {string}\n\t */\n\t classNamePrevCtrl: 'js_prev',\n\t\n\t /**\n\t * class name for slider next control\n\t * @classNameNextCtrl {string}\n\t */\n\t classNameNextCtrl: 'js_next',\n\t\n\t /**\n\t * class name for current active slide\n\t * if emptyString then no class is set\n\t * @classNameActiveSlide {string}\n\t */\n\t classNameActiveSlide: 'active',\n\t\n\t /**\n\t * enables mouse events for swiping on desktop devices\n\t * @enableMouseEvents {boolean}\n\t */\n\t enableMouseEvents: false,\n\t\n\t /**\n\t * window instance\n\t * @window {object}\n\t */\n\t window: window,\n\t\n\t /**\n\t * If false, slides lory to the first slide on window resize.\n\t * @rewindOnResize {boolean}\n\t */\n\t rewindOnResize: true\n\t};\n\n/***/ }\n/******/ ])\n});\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lory.js/dist/lory.js\n// module id = 19\n// module chunks = 0"],"sourceRoot":""}