{"version":3,"file":"./scripts/entry.js","mappings":"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","sources":["webpack:///./assets/js/kenticoFormCorrections.js","webpack:///./components/card-content-swiper/js/swiper.js","webpack:///./components/content-lister-swiper/js/swiper.js","webpack:///./components/cookie-bar/js/cookie-bar-interaction.js","webpack:///./components/cookie-bar/js/cookie-handler.js","webpack:///./components/footer/js/year.js","webpack:///./components/form/components/file-upload/file-upload.js","webpack:///./components/form/js/inputCustomization.js","webpack:///./components/header/js/mobile-menu.js","webpack:///./components/print-and-share/js/print.js","webpack:///./components/print-and-share/js/share.js","webpack:///./components/statement-swiper/js/swiper.js","webpack:///./components/theme-cards/js/swiper.js","webpack:///./components/video/js/video.js","webpack:///webpack/bootstrap","webpack:///../node_modules/@degjs/easing/src/easing.js","webpack:///./components/header/js/closeMenu.js","webpack:///./components/article-sidebar/inpage-navigation/js/inpage-navigation.js","webpack:///../node_modules/@degjs/scroll-to/src/scrollTo.js"],"sourcesContent":["(function () {\n Element.prototype.appendAfter = function (element) {\n element.parentNode.insertBefore(this, element.nextSibling);\n };\n\n // If the form field has an input-label-wrapper, we want to ignore it, since it the label should be positioned at the left of the form control.\n const hasInputLabelWrapper = (formField) =>\n Boolean(formField.querySelector('.input-label-wrapper'));\n\n function handeActiveState(value, formField) {\n if (value.length === 0) {\n formField.classList.remove('active');\n } else {\n formField.classList.add('active');\n }\n }\n\n function getFormControl(formField) {\n /** The list is needed (instead of just 'input') to make sure the code is not applied to checkboxes, radio buttons and hidden fields **/\n return formField.querySelector(\n 'select, textarea, [type=\"email\"], [type=\"number\"], [type=\"password\"], [type=\"search\"], [type=\"tel\"], [type=text]',\n );\n }\n\n function handleActiveStateOfInputsAndTextAreas(formFields) {\n [].forEach.call(formFields, (formField) => {\n const formControl = getFormControl(formField);\n if (!formControl) return;\n if (hasInputLabelWrapper(formField)) return;\n\n handeActiveState(formControl.value, formField);\n\n if (formControl.tagName === 'SELECT') {\n formControl.addEventListener('change', () =>\n handeActiveState(formControl.value, formField),\n );\n } else {\n formControl.addEventListener('keyup', () =>\n handeActiveState(formControl.value, formField),\n );\n }\n });\n }\n\n function moveLabelsAfterInputsAndTextAreas(formFields) {\n [].forEach.call(formFields, (formField) => {\n const label = formField.querySelector('label');\n if (!label) return;\n if (hasInputLabelWrapper(formField)) return;\n\n const formControl = getFormControl(formField);\n if (!formControl) return;\n\n label.appendAfter(formControl);\n });\n }\n\n const formFields = document.querySelectorAll('.form-field');\n moveLabelsAfterInputsAndTextAreas(formFields);\n handleActiveStateOfInputsAndTextAreas(formFields);\n\n /**\n * When the form has errors, Kentico re-renders the complete form (no page reload), so to move the labels back\n * to the correct position again, we listen to changes to the kentico-form-widget-form divs.\n */\n const kenticoFormWidgets = document.querySelectorAll('.kentico-form-widget-form');\n [].forEach.call(kenticoFormWidgets, (formWidget) => {\n const parentOfFormWidget = formWidget.parentElement;\n const kenticoFormWidgetObserver = new MutationObserver(() => {\n const formFields = parentOfFormWidget.querySelectorAll('.form-field');\n moveLabelsAfterInputsAndTextAreas(formFields);\n handleActiveStateOfInputsAndTextAreas(formFields);\n });\n\n kenticoFormWidgetObserver.observe(parentOfFormWidget, {\n childList: true, // we only listen to the removal/adding of direct child nodes. So this is triggered on the re-render of the .kentico-form-widget-form div\n });\n });\n})();\n","window.addEventListener('DOMContentLoaded', () => {\n const cardContentSwiper = document.querySelectorAll('.card-content-swiper');\n\n if (cardContentSwiper.length) {\n [].forEach.call(cardContentSwiper, (grid) => {\n const gridContainerInner = grid.querySelector('.card-content-swiper__inner');\n\n const handleSwiperClasses = (value) => {\n const gridContainer = grid.querySelector('.card-content-swiper__items');\n const gridContainerItems = grid.querySelector(\n '.card-content-swiper__items',\n ).children;\n\n if (value === 'add') {\n gridContainer.classList.add('swiper-wrapper');\n [].forEach.call(gridContainerItems, (item) => {\n item.classList.add('swiper-slide');\n });\n }\n\n if (value === 'remove') {\n gridContainer.classList.remove('swiper-wrapper');\n [].forEach.call(gridContainerItems, (item) => {\n item.classList.remove('swiper-slide');\n });\n }\n };\n\n const checkBreakpoint = () => {\n const breakpointMediumDown = window.matchMedia('(max-width: 1025px)');\n let swiperActive;\n\n if (breakpointMediumDown.matches) {\n swiperActive = true;\n return swiperActive;\n } else {\n swiperActive = false;\n return swiperActive;\n }\n };\n\n const activateSwiper = (swiperInstance) => {\n let swiper = swiperInstance.swiper;\n if (checkBreakpoint()) {\n if (swiper == null) {\n handleSwiperClasses('add');\n new Swiper(swiperInstance, {\n slidesPerView: 'auto',\n watchOverflow: true,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true,\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n },\n });\n }\n } else {\n if (swiper != null) {\n handleSwiperClasses('remove');\n swiper.destroy();\n }\n }\n };\n\n activateSwiper(gridContainerInner);\n\n window.addEventListener('resize', () => {\n activateSwiper(gridContainerInner);\n });\n });\n }\n});\n","window.addEventListener('DOMContentLoaded', () => {\n const contentListerSwiper = document.querySelectorAll('.content-lister-swiper');\n\n if (contentListerSwiper.length) {\n [].forEach.call(contentListerSwiper, (grid) => {\n const gridContainerInner = grid.querySelector('.content-lister-swiper__inner');\n\n const handleSwiperClasses = (value) => {\n const gridContainer = grid.querySelector('.content-lister-swiper__items');\n const gridContainerItems = grid.querySelector(\n '.content-lister-swiper__items',\n ).children;\n\n console.log('gridContainerItems', gridContainerItems);\n\n if (value === 'add') {\n gridContainer.classList.add('swiper-wrapper');\n [].forEach.call(gridContainerItems, (item) => {\n item.classList.add('swiper-slide');\n });\n }\n\n if (value === 'remove') {\n gridContainer.classList.remove('swiper-wrapper');\n [].forEach.call(gridContainerItems, (item) => {\n item.classList.remove('swiper-slide');\n });\n }\n };\n\n const checkBreakpoint = () => {\n const breakpointMediumDown = window.matchMedia('(max-width: 1025px)');\n let swiperActive;\n\n if (breakpointMediumDown.matches) {\n swiperActive = true;\n return swiperActive;\n } else {\n swiperActive = false;\n return swiperActive;\n }\n };\n\n const activateSwiper = (swiperInstance) => {\n let swiper = swiperInstance.swiper;\n if (checkBreakpoint()) {\n if (swiper == null) {\n handleSwiperClasses('add');\n new Swiper(swiperInstance, {\n slidesPerView: 'auto',\n watchOverflow: true,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true,\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n },\n });\n }\n } else {\n if (swiper != null) {\n handleSwiperClasses('remove');\n swiper.destroy();\n }\n }\n };\n\n activateSwiper(gridContainerInner);\n\n window.addEventListener('resize', () => {\n activateSwiper(gridContainerInner);\n });\n });\n }\n});\n","const cookieBar = document.querySelector('.js-cookie-bar');\nconst cookieBarActive = document.querySelector('.js-cookie-bar-active');\nconst changePreferencesToggles = document.querySelectorAll('.js-change-cookie-preferences');\n\nfunction openCookieBar() {\n cookieBar.showModal();\n cookieBar.focus();\n}\n\nfunction showPreferences() {\n cookieBar.classList.add('show-preferences');\n\n if (!cookieBar.open) {\n openCookieBar();\n }\n}\n\nif (cookieBar) {\n // Polyfill registration\n dialogPolyfill.registerDialog(cookieBar);\n\n if (cookieBarActive) {\n openCookieBar();\n }\n\n if (changePreferencesToggles.length > 0) {\n changePreferencesToggles.forEach((toggle) =>\n toggle.addEventListener('click', showPreferences),\n );\n }\n\n // Prevent default cancel behaviour on dialog (on escape)\n cookieBar.addEventListener('cancel', (event) => event.preventDefault());\n}\n","const cookieButtons = document.querySelectorAll('.js--cookie-button');\n\nconst setCookieWithPreferences = () => {\n const cookieArray = [];\n let getCheckedCookieInput = document.querySelectorAll(\n '.cookie-bar__options input[type=checkbox]:checked',\n );\n for (let i = 0; i < getCheckedCookieInput.length; i++) {\n cookieArray.push(getCheckedCookieInput[i].dataset.gtmCookieTypes);\n }\n\n pushCookieTypesToDataLayer(cookieArray.join(','));\n};\n\nif (cookieButtons) {\n [].forEach.call(cookieButtons, (cookieButton) => {\n cookieButton.addEventListener('click', () => {\n if (cookieButton.classList.contains('js--cookies-with-preferences')) {\n setCookieWithPreferences();\n } else {\n pushCookieTypesToDataLayer(cookieButton.dataset.gtmCookieTypes);\n }\n });\n });\n}\n\nfunction pushCookieTypesToDataLayer(types) {\n window.dataLayer.push({\n event: 'enableCookie',\n cookieTypes: types,\n });\n\n types.split(',').forEach((type) => {\n window.dataLayer.push({\n event: 'enableCookie',\n cookieType: type,\n });\n });\n}\n","function getYear() {\n if (document.querySelector('#year')) {\n var d = new Date();\n var n = d.getFullYear();\n document.getElementById(\"year\").innerHTML = n;\n }\n}\n\nwindow.onload = getYear();","function initFileUploads(formWrapperEl) {\n const fileUploadWrappers = formWrapperEl.querySelectorAll('.ktc-file-component-wrapper');\n\n fileUploadWrappers.forEach((wrapperEl) => {\n const realUploadInput = wrapperEl.querySelector('.form-control');\n\n // CONTAINER\n const containerEl = document.createElement('div');\n containerEl.classList.add('file-upload');\n\n // BUTTON\n const buttonEl = document.createElement('button');\n buttonEl.classList.add('file-upload__button');\n buttonEl.setAttribute('type', 'button');\n buttonEl.addEventListener('click', () => realUploadInput.click());\n const labelEl = wrapperEl.querySelector('label:not(.control-label)'); // used the title instead of its text, since the text will be replaced by the file name (when the form re-renders), but the title remains the same\n const buttonText = labelEl ? labelEl.title : '';\n buttonEl.insertAdjacentHTML('beforeend', buttonText);\n\n // FIELD (with label and value)\n const fieldEl = document.createElement('div');\n fieldEl.classList.add('file-upload__field');\n const parentFormFieldEl = wrapperEl.parentElement.parentElement;\n const controlLabelEl = parentFormFieldEl.querySelector('.control-label');\n controlLabelEl.classList.add('file-upload__label');\n const valueEl = document.createElement('div');\n valueEl.classList.add('file-upload__value');\n fieldEl.appendChild(controlLabelEl);\n fieldEl.appendChild(valueEl);\n\n // COMPOSITION\n containerEl.appendChild(buttonEl);\n containerEl.appendChild(fieldEl);\n wrapperEl.appendChild(containerEl);\n\n function fillValueEl(fileName) {\n if (!fileName) {\n const el = wrapperEl.querySelector('.ktc-uploader-replacement')\n const fileNameWithTrailingWhiteSpace = el.innerText\n fileName = fileNameWithTrailingWhiteSpace.trim();\n }\n\n if (!fileName) {\n return;\n }\n\n const deleteButtonEl = document.createElement('button');\n deleteButtonEl.setAttribute('type', 'button');\n deleteButtonEl.classList.add('file-upload__delete-button');\n deleteButtonEl.addEventListener('click', () => clearValue());\n\n controlLabelEl.classList.add('file-upload__label--small');\n\n valueEl.innerText = fileName;\n valueEl.appendChild(deleteButtonEl);\n\n // todo: For some reason Kentico adds a disabled attribute to the '__RequestVerificationToken' input, while uploading a file to the server,\n // that is not removed when our code is executed.\n // So this is a quick fix to remove the disabled attribute ourselves,\n // because we don't understand why Kentico doesn't remove the disabled attribute.\n const requestValidationTokenInput = formWrapperEl.querySelector('[name=\"__RequestVerificationToken\"]')\n if (requestValidationTokenInput) {\n requestValidationTokenInput.disabled = false\n }\n }\n\n function clearValue() {\n valueEl.innerText = '';\n controlLabelEl.classList.remove('file-upload__label--small');\n\n // Click on the actual Kentico Delete button to remove the file in the Kentico way, also on the server:\n const kenticoDeleteButton = wrapperEl.querySelector('.ktc-uploader-text-button');\n kenticoDeleteButton.click();\n }\n\n function handleUploadInputValue(e) {\n const {files} = e.target;\n const fileName = files[0] ? files[0].name : '';\n fillValueEl(fileName);\n }\n\n fillValueEl();\n realUploadInput.addEventListener('change', (e) => handleUploadInputValue(e));\n });\n}\n\nconst kenticoFormWidgets = document.querySelectorAll('.kentico-form-widget-form');\nkenticoFormWidgets.forEach((formWidget) => {\n const parentOfFormWidget = formWidget.parentElement;\n\n initFileUploads(parentOfFormWidget);\n\n /** When the form has errors, Kentico re-renders the complete form (no page reload), so the JavaScript for the file-uploads needs to be re-initialized: **/\n const kenticoFormWidgetObserver = new MutationObserver(() => {\n initFileUploads(parentOfFormWidget);\n });\n\n kenticoFormWidgetObserver.observe(parentOfFormWidget, {\n childList: true, // we only listen to the removal/adding of direct child nodes. So this is triggered on the re-render of the .kentico-form-widget-form div\n });\n});\n","const formWrappers = document.querySelectorAll('.kentico-form-widget-form');\n\nif (formWrappers.length) {\n const formObserver = new MutationObserver((mutations) => {\n let formWrapper;\n mutations.forEach((mutation) => {\n const added = mutation.addedNodes;\n\n added.forEach((addedElement) => {\n if (\n addedElement.classList &&\n addedElement.classList.contains('kentico-form-widget-form')\n ) {\n formWrapper = addedElement;\n }\n });\n });\n\n AddMarkupToFormFields(formWrapper, true);\n });\n\n [].forEach.call(formWrappers, (formWrapper) => {\n const formParent = formWrapper.parentElement;\n formObserver.observe(formParent, { childList: true });\n });\n}\n\nfunction AddMarkupToFormFields(formWrapper, addValidationClasses = false) {\n const formFields = formWrapper\n ? formWrapper.querySelectorAll('.form-field')\n : document.querySelectorAll('.form-field');\n\n if (!addValidationClasses) {\n return;\n }\n\n formFields.forEach((formField) => {\n modifyFormField(formField);\n });\n}\n\nfunction modifyFormField(formField) {\n if (!formField.querySelector('label')) {\n return;\n }\n\n AddValidationClass(formField);\n}\n\nfunction formElementHasError(formField, formElement) {\n const formElementHasError = formElement.classList.contains('input-validation-error');\n\n const nestedControl = formField.querySelector('.editing-form-control-nested-control');\n const nestedControlHasError =\n nestedControl && Boolean(nestedControl.querySelector('.field-validation-error'));\n\n return formElementHasError || nestedControlHasError;\n}\n\nfunction AddValidationClass(formField) {\n const formElement = formField.querySelector('input, textarea, select');\n if (!formElement) return;\n\n if (formElementHasError(formField, formElement)) {\n formField.classList.add('form-field-invalid');\n return;\n }\n\n formField.classList.add('form-field-valid');\n}\n\nAddMarkupToFormFields();\n","const mobileMenuToggle = document.querySelector(\"#toggleMenu\");\n\nif (mobileMenuToggle) {\n mobileMenuToggle.addEventListener(\"click\", function () {\n const body = document.querySelector('body')\n body.classList.toggle(\"mobile-menu-is-open\")\n });\n}","const printButtons = document.querySelectorAll(\".js--print-button\");\n\nconst printPage = () => {\n window.print();\n}\n\nif (printButtons) {\n [].forEach.call(printButtons, button => {\n button.addEventListener(\"click\", e => {\n e.preventDefault();\n printPage();\n })\n })\n}","const shareButtons = document.querySelectorAll(\".js--share-button\");\n\nshareButtons.forEach((buttonEl) => {\n const shareContainer = buttonEl.querySelector(\".share-container\");\n buttonEl.addEventListener('click', () => {\n shareContainer.classList.toggle('active');\n });\n})\n\n","window.addEventListener('DOMContentLoaded', () => {\n const swiperContainers = document.querySelectorAll('.js-statement-swiper-container');\n\n if (!swiperContainers.length) {\n return;\n }\n\n swiperContainers.forEach((swiperContainer) => {\n const items = swiperContainer.querySelectorAll('.js-statement-swiper-items > *');\n items.forEach((item) => item.classList.add('swiper-slide'));\n\n const autoplayDelay = Number(swiperContainer.dataset.autoplayDelay);\n let autoplay;\n if (autoplayDelay) {\n autoplay = {\n autoplay: {\n delay: autoplayDelay,\n pauseOnMouseEnter: true,\n },\n };\n } else {\n autoplay = {};\n }\n\n new Swiper(swiperContainer, {\n slidesPerView: 'auto',\n watchOverflow: true,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true,\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n },\n ...autoplay,\n });\n });\n});\n","window.addEventListener('DOMContentLoaded', () => {\n const swiperContainers = document.querySelectorAll('.js-theme-cards-container');\n\n if (swiperContainers.length) {\n swiperContainers.forEach((container) => {\n const handleSwiperClasses = () => {\n const itemsContainer = container.querySelector('.js-theme-cards-items');\n itemsContainer.classList.add('swiper-wrapper');\n\n const items = itemsContainer.querySelectorAll(':scope > *');\n [].forEach.call(items, (item) => {\n item.classList.add('swiper-slide');\n });\n };\n\n const activateSwiper = (container) => {\n handleSwiperClasses();\n\n new Swiper(container, {\n slidesPerView: 'auto',\n watchOverflow: true,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true,\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n },\n });\n };\n\n activateSwiper(container);\n });\n }\n});\n","let video = document.querySelectorAll('.video');\n\n// Get Youtube thumbnailUrl by video-link\nconst Youtube = (url, size) => {\n let video, results;\n \n if (url === null) {\n return '';\n }\n size = (size === null) ? 'big' : size;\n results = url.match('[\\\\/&]embed/([^&#]*)');\n video = (results === null) ? url : results[1];\n \n if (size === 'small') {\n return 'https://img.youtube.com/vi/' + video + '/1.jpg';\n }\n return 'https://img.youtube.com/vi/' + video + '/hqdefault.jpg';\n};\n\nfunction YouTubeGetID(url){\n url = url.split(/(vi\\/|v=|\\/v\\/|youtu\\.be\\/|\\/embed\\/)/);\n return (url[2] !== undefined) ? url[2].split(/[^0-9a-z_\\-]/i)[0] : url[0];\n}\n\nif (video.length) {\n [].forEach.call(video, (el) => {\n let placeholder = el.querySelector('.video__placeholder');\n let placeholderLink = placeholder.querySelector('.video__placeholder__trigger');\n let playButton = placeholderLink.querySelector('button');\n \n // Check if clicked element has a video url in the dataset\n let videoLink = el.dataset.video;\n if (videoLink) {\n let videoId = YouTubeGetID(videoLink);\n videoLink = `https://www.youtube.com/embed/${videoId}`;\n // Add playButton when there's no videoLink available\n playButton.classList.add('active');\n \n placeholderLink.addEventListener('click', () => {\n \n // Remove play button on click\n playButton.classList.remove('active');\n \n // Create iframe\n let iframe = document.createElement('div');\n let autoPlay = '1';\n iframe.innerHTML = '';\n \n // Replace the anchor with the video\n placeholder.replaceChild(iframe, placeholderLink);\n placeholder.classList.add('video__placeholder--video-added');\n });\n }\n \n if (!el.querySelector('img')) {\n const img = document.createElement(\"img\");\n img.src = Youtube(`${videoLink}`, 'big');\n \n el.querySelector('.video__placeholder__trigger').insertBefore(\n img,\n el.querySelector('.video__content')\n );\n }\n });\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","export function linear(currentIteration, startValue, changeInValue, totalIterations) {\n\treturn changeInValue * currentIteration / totalIterations + startValue;\n}\n\nexport function easeInOutCubic(currentIteration, startValue, changeInValue, totalIterations) {\n\tif ((currentIteration /= totalIterations / 2) < 1) {\n\t\treturn changeInValue / 2 * Math.pow(currentIteration, 3) + startValue;\n\t}\n\treturn changeInValue / 2 * (Math.pow(currentIteration - 2, 3) + 2) + startValue;\n}\n\nexport function easeOutCubic(currentIteration, startValue, changeInValue, totalIterations) {\n\treturn changeInValue * (Math.pow(currentIteration / totalIterations - 1, 3) + 1) + startValue;\n}\n\nexport function\teaseInCubic(currentIteration, startValue, changeInValue, totalIterations) {\n\treturn changeInValue * Math.pow(currentIteration / totalIterations, 3) + startValue;\n}","const mainNavigationItems = document.querySelectorAll(\".header__navigation > ul > li > a\");\n\nconst closeMenu = () => {\n [].forEach.call(mainNavigationItems, el => {\n const parentClassList = el.parentNode.classList;\n if (parentClassList.contains(\"is-active\")) {\n parentClassList.remove(\"is-active\")\n }\n })\n}\n\nexport {closeMenu}","import scrollTo from \"@degjs/scroll-to\";\n\n(function () {\n const inPageNavigation = document.querySelector(\".in-page-navigation\");\n if (!inPageNavigation) {\n return;\n }\n \n const HEADER_HEIGHT = 120;\n const FOCUS_AREA_HEIGHT = 300;\n const ACTIVE_NAV_LINK_CLASS = \"in-page-navigation-link-active\";\n const headingPositions = {};\n \n const getHeadingPosition = (headingEl) => headingEl.getBoundingClientRect().top + document.documentElement.scrollTop;\n \n function customScrollTo(linkHref, e) {\n e.preventDefault();\n const headingToScrollTo = document.getElementById(linkHref);\n \n scrollTo({\n position: getHeadingPosition(headingToScrollTo) - HEADER_HEIGHT - 1, // 1px to make sure the correct item is shown as active in the nav\n duration: 500,\n easing: 'easeInOut'\n });\n }\n \n function createNavigationItem(name, key, i) {\n const li = document.createElement(\"li\");\n const anchor = document.createElement(\"a\");\n anchor.href = `#${key}`;\n anchor.innerText = name;\n \n if (i === 0) {\n anchor.classList.add(ACTIVE_NAV_LINK_CLASS);\n }\n \n anchor.addEventListener(\"click\", (e) => {\n customScrollTo(key, e);\n });\n \n li.appendChild(anchor);\n inPageNavigation.querySelector(\"ul\").appendChild(li);\n }\n \n function compileNavigationItems() {\n const inPageNavigationSections = document.querySelectorAll(\".js--inpage-navigation-section h2\");\n \n if (inPageNavigationSections.length) {\n [].forEach.call(inPageNavigationSections, (sectionHeading, i) => {\n const name = sectionHeading.innerText;\n const key = \"id_\" + name.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase() + \"-\" + i;\n headingPositions[key] = getHeadingPosition(sectionHeading);\n sectionHeading.id = key;\n createNavigationItem(name, key, i);\n });\n } else {\n inPageNavigation.style.display = \"none\";\n }\n }\n \n function removeCurrentActiveIndicator() {\n const activeLink = document.querySelector(`.${ACTIVE_NAV_LINK_CLASS}`);\n if (activeLink) {\n activeLink.classList.remove(ACTIVE_NAV_LINK_CLASS);\n }\n }\n \n function setActiveIndicator(key) {\n removeCurrentActiveIndicator();\n document.querySelector('a[href*=' + key + ']').classList.add(ACTIVE_NAV_LINK_CLASS);\n }\n \n /**\n * Checks if the heading is inside of the focus part of the viewport: the x pixels high area below the area that is\n * reserved for the header (that is positioned fixed when scrolling upwards).\n **/\n function isInFocus(headingKey) {\n const headingPos = headingPositions[headingKey];\n const topOfFocusArea = document.documentElement.scrollTop + HEADER_HEIGHT;\n const bottomOfFocusArea = document.documentElement.scrollTop + HEADER_HEIGHT + FOCUS_AREA_HEIGHT;\n return headingPos >= topOfFocusArea && headingPos <= bottomOfFocusArea;\n }\n \n function handleScroll() {\n /** If at the bottom of the page, always make sure the last item is active: **/\n const isAtTheBottom = (window.innerHeight + window.scrollY) >= document.body.scrollHeight;\n if (isAtTheBottom) {\n const lastKey = Object.keys(headingPositions).pop()\n setActiveIndicator(lastKey);\n return;\n }\n \n for (const headingKey in headingPositions) {\n if (isInFocus(headingKey)) {\n setActiveIndicator(headingKey);\n return;\n }\n }\n }\n \n compileNavigationItems();\n document.addEventListener(\"scroll\", handleScroll);\n})();","import * as easing from \"@degjs/easing\";\n\nconst scrollTo = function (options) {\n\n const fps = 60;\n\n let currentIteration = 0;\n let totalIterations;\n let initialPosition;\n let totalPositionChange;\n let easingFunction;\n let settings;\n const defaults = {\n element: null,\n position: null,\n duration: 500,\n easing: 'easeOut'\n };\n\n function init() {\n settings = Object.assign({}, defaults, options);\n\n const finalPosition = getFinalPosition();\n\n if (!window.requestAnimationFrame || settings.duration === 0) {\n move(finalPosition);\n } else {\n\n initialPosition = getInitialPosition();\n totalIterations = Math.ceil(fps * (settings.duration / 1000));\n totalPositionChange = finalPosition - initialPosition;\n easingFunction = getEasingFunction();\n\n animateScroll();\n }\n\n } \n \n function move(amount) {\n document.documentElement.scrollTop = amount;\n document.body.parentNode.scrollTop = amount;\n document.body.scrollTop = amount;\n }\n\n function getFinalPosition() {\n let finalPosition = settings.element ? settings.element.offsetTop : settings.position;\n let viewportHeight = getViewportHeight();\n let documentHeight = getDocumentHeight();\n let maxPosition = documentHeight - viewportHeight;\n\n if(finalPosition > maxPosition) {\n finalPosition = maxPosition;\n }\n\n return finalPosition;\n }\n\n function getInitialPosition() {\n return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop;\n }\n\n function getViewportHeight() {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n }\n\n function getDocumentHeight() {\n return Math.max(\n document.documentElement.clientHeight,\n document.body.scrollHeight, document.documentElement.scrollHeight,\n document.body.offsetHeight, document.documentElement.offsetHeight);\n }\n\n function animateScroll() {\n \n if (currentIteration < totalIterations) {\n currentIteration++;\n \n const val = Math.round(easingFunction(currentIteration, initialPosition, totalPositionChange, totalIterations));\n \n move(val);\n \n window.requestAnimationFrame(animateScroll);\n } \n };\n\n function getEasingFunction() {\n switch(settings.easing) {\n case \"easeOut\":\n return easing.easeOutCubic;\n case \"easeInOut\":\n return easing.easeInOutCubic;\n case \"easeIn\":\n return easing.easeInCubic;\n default:\n return easing.linear;\n }\n }\n\n init();\n}\n\nexport default scrollTo;"],"names":["Element","prototype","appendAfter","element","parentNode","insertBefore","this","nextSibling","hasInputLabelWrapper","formField","Boolean","querySelector","handeActiveState","value","length","classList","remove","add","getFormControl","handleActiveStateOfInputsAndTextAreas","formFields","forEach","call","formControl","tagName","addEventListener","moveLabelsAfterInputsAndTextAreas","label","document","querySelectorAll","kenticoFormWidgets","formWidget","parentOfFormWidget","parentElement","kenticoFormWidgetObserver","MutationObserver","observe","childList","window","cardContentSwiper","grid","gridContainerInner","handleSwiperClasses","gridContainer","gridContainerItems","children","item","activateSwiper","swiperInstance","swiper","matchMedia","matches","Swiper","slidesPerView","watchOverflow","pagination","el","type","clickable","navigation","nextEl","prevEl","destroy","contentListerSwiper","console","log","cookieBar","cookieBarActive","changePreferencesToggles","openCookieBar","showModal","focus","showPreferences","open","dialogPolyfill","registerDialog","toggle","event","preventDefault","cookieButtons","pushCookieTypesToDataLayer","types","dataLayer","push","cookieTypes","split","cookieType","cookieButton","contains","cookieArray","getCheckedCookieInput","i","dataset","gtmCookieTypes","join","setCookieWithPreferences","onload","n","Date","getFullYear","getElementById","innerHTML","getYear","initFileUploads","formWrapperEl","wrapperEl","realUploadInput","containerEl","createElement","buttonEl","setAttribute","click","labelEl","buttonText","title","insertAdjacentHTML","fieldEl","controlLabelEl","valueEl","fillValueEl","fileName","innerText","trim","deleteButtonEl","appendChild","requestValidationTokenInput","disabled","e","files","target","name","handleUploadInputValue","formWrappers","formObserver","mutations","formWrapper","mutation","addedNodes","addedElement","AddMarkupToFormFields","formParent","addValidationClasses","arguments","undefined","formElement","formElementHasError","nestedControl","nestedControlHasError","AddValidationClass","modifyFormField","mobileMenuToggle","printButtons","button","print","shareContainer","swiperContainers","swiperContainer","autoplayDelay","Number","_objectSpread","autoplay","delay","pauseOnMouseEnter","container","itemsContainer","items","video","url","placeholder","placeholderLink","playButton","videoLink","videoId","concat","iframe","replaceChild","img","src","size","results","match","Youtube","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","linear","currentIteration","startValue","changeInValue","totalIterations","easeInOutCubic","Math","pow","easeOutCubic","easeInCubic","inPageNavigation","inPageNavigationSections","HEADER_HEIGHT","FOCUS_AREA_HEIGHT","ACTIVE_NAV_LINK_CLASS","headingPositions","getHeadingPosition","headingEl","getBoundingClientRect","top","documentElement","scrollTop","sectionHeading","key","replace","toLowerCase","id","li","anchor","href","linkHref","headingToScrollTo","options","initialPosition","totalPositionChange","easingFunction","settings","defaults","position","duration","easing","move","amount","body","animateScroll","round","requestAnimationFrame","Object","assign","finalPosition","offsetTop","viewportHeight","max","clientHeight","innerHeight","maxPosition","scrollHeight","offsetHeight","getFinalPosition","ceil","getEasingFunction","init","scrollTo","customScrollTo","createNavigationItem","style","display","scrollY","setActiveIndicator","keys","pop","headingKey","isInFocus","activeLink","headingPos","topOfFocusArea","bottomOfFocusArea"],"sourceRoot":""}