{"version":3,"file":"front.js","sources":["../../node_modules/mdn-polyfills/NodeList.prototype.forEach.js","../../sources/javascripts/front/components/toggler/Toggler.js","../../sources/javascripts/front/components/navigation/Navigation.js","../../sources/javascripts/front/components/Header/Header.js","../../sources/javascripts/front/components/Header/lifecycle.js","../../node_modules/@lunaweb/vega-reactor-js/src/patterns/Component.js","../../sources/javascripts/front/components/Details/Details.js","../../node_modules/swiper/shared/ssr-window.esm.mjs","../../sources/javascripts/front/components/Details/lifecycle.js","../../node_modules/swiper/shared/utils.mjs","../../node_modules/swiper/shared/swiper-core.mjs","../../node_modules/swiper/modules/navigation.mjs","../../node_modules/swiper/shared/create-element-if-not-defined.mjs","../../sources/javascripts/front/components/slider/Slider.js","../../sources/javascripts/front/components/Slider/lifecycle.js","../../node_modules/@lunaweb/vega-reactor-js/src/patterns/Collapsible.js","../../sources/javascripts/front/components/Dropdown/Dropdown.js","../../sources/javascripts/front/components/Dropdown/DropdownChoice.js","../../sources/javascripts/front/components/Dropdown/lifecycle.js","../../node_modules/glightbox/dist/js/glightbox.min.js","../../sources/javascripts/front/components/Glightbox/Glightbox.js","../../sources/javascripts/front/components/Glightbox/lifecycle.js","../../sources/javascripts/front/components/Glightboxbutton/Glightboxbutton.js","../../sources/javascripts/front/components/Glightboxbutton/lifecycle.js","../../sources/javascripts/front/components/Viewport/Viewport.js","../../sources/javascripts/front/components/Viewport/lifecycle.js"],"sourcesContent":["window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=function(o,t){t=t||window;for(var i=0;i {\n if (toggler.target !== e.detail.toggler.target && toggler.expanded) {\n toggler.hide();\n }\n });\n this.toggler = e.detail.toggler.element;\n this.updateBackdrop();\n this.element.dispatchEvent(new CustomEvent('navigation:update'));\n }\n\n updateBackdrop() {\n let hasTogglerExpanded = false;\n\n this.togglers.forEach((toggler) => {\n toggler.expanded ? hasTogglerExpanded = true : hasTogglerExpanded;\n })\n\n if(hasTogglerExpanded) {\n this.hasMegaMenu = true;\n this.header.classList.add('has-megamenu');\n } else {\n this.hasMegaMenu = false;\n this.header.classList.remove('has-megamenu');\n }\n }\n\n mount() {\n this.element.querySelectorAll('[data-navigation-toggler]').forEach((element) => {\n const target = document.getElementById(element.dataset.navigationToggler);\n const toggler = new Toggler(element, target, true);\n this.togglers.push(toggler);\n\n element.addEventListener('toggler:hide', this.handleTogglerHide);\n element.addEventListener('toggler:show', this.handleTogglerShow);\n element.addEventListener('toggler:change', this.handleTargetChange);\n\n toggler.mount();\n });\n }\n\n unmount() {\n this.hasMegaMenu = false;\n this.header.classList.remove('has-megamenu');\n\n this.togglers.forEach((toggler) => {\n toggler.element.removeEventListener('toggler:hide', this.handleTogglerHide);\n toggler.element.removeEventListener('toggler:show', this.handleTogglerShow);\n toggler.element.removeEventListener('toggler:change', this.handleTargetChange);\n toggler.unmount();\n });\n\n this.togglers = [];\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Toggler from '../toggler/Toggler';\nimport Navigation from '../navigation/Navigation';\n\nexport default class Header {\n constructor(element) {\n this.element = element;\n this.navigationTogglers = [];\n this.height = this.element.offsetHeight;\n this.hasResized = true;\n this.tmpWidth = 0;\n this.hasScrolled = true;\n this.tmpScroll = document.documentElement.scrollTop;\n this.lastDcrollDown = document.documentElement.scrollTop;\n this.navigation = null;\n this.navigationToggler = null;\n this.burger = null;\n this.direction = 'down';\n this.isPinned = false;\n this.isSticky = false;\n this.hasNavigationActive = false;\n\n this.handleNavigationHide = this.handleNavigationHide.bind(this);\n this.handleNavigationShow = this.handleNavigationShow.bind(this);\n this.handleNavigationUpdate = this.handleNavigationUpdate.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handlePinned = this.handlePinned.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n handleNavigationHide() {\n this.element.classList.remove('has-navigation-active');\n this.hasNavigationActive = false;\n\n this.navigation.togglers.forEach((toggler) => {\n toggler.hide(true);\n });\n\n this.navigationToggler.focus();\n this.navigationToggler = null;\n this.updateNavigation();\n }\n\n handleNavigationShow(e) {\n this.navigationToggler = e.detail.toggler.element;\n this.element.classList.add('has-navigation-active');\n this.hasNavigationActive = true;\n this.updateNavigation();\n }\n\n handleNavigationUpdate() {\n this.updateNavigation();\n }\n\n handlePinned() {\n this.element.removeEventListener('transitionend', this.handlePinned);\n this.element.classList.remove('is-pinned');\n document.querySelector(\"body\").classList.remove('is-pinned');\n this.element.classList.remove('is-leaving');\n this.isPinned = false;\n }\n\n handleScroll() {\n this.hasScrolled = true;\n }\n\n handleResize() {\n this.hasResized = true;\n }\n\n calculate() {\n this.height = this.element.offsetHeight;\n let scrollbarWidth = window.innerWidth - document.body.clientWidth;\n document.documentElement.style.setProperty(\"--scrollbarWidth\", `${scrollbarWidth}px`);\n document.documentElement.style.setProperty('--vh', `${window.innerHeight/100}px`);\n }\n\n updateNavigation() {\n let isNavigationHasTogglerExpanded = false;\n\n this.navigation.togglers.forEach((toggler) => {\n if (!toggler.target.contains(toggler.element)) {\n isNavigationHasTogglerExpanded = toggler.expanded === true ? true : isNavigationHasTogglerExpanded;\n }\n });\n\n this.calculate();\n }\n\n updateResize() {\n if (this.tmpWidth !== this.element.offsetWidth) {\n this.height = this.element.offsetHeight;\n this.navigationTogglers.forEach((toggler) => {\n const isTogglable = window.getComputedStyle(this.burger).getPropertyValue('display') !== 'none';\n\n if (toggler.mounted !== isTogglable) {\n if (isTogglable) {\n toggler.mount();\n } else {\n toggler.unmount();\n this.element.classList.remove('has-navigation-active');\n this.hasNavigationActive = false;\n }\n }\n });\n\n this.tmpWidth = this.element.offsetWidt;\n this.calculate();\n }\n }\n\n updateScroll() {\n if(!this.hasNavigationActive && !this.navigation.hasMegaMenu) {\n if(document.documentElement.scrollTop > this.tmpScroll) {\n this.lastDcrollDown = document.documentElement.scrollTop;\n this.direction = 'down';\n } else {\n this.direction = 'up';\n }\n\n if (document.documentElement.scrollTop > this.height) {\n this.element.classList.add('is-sticky');\n this.isSticky = true;\n this.calculate();\n } else {\n this.element.classList.remove('is-sticky');\n this.element.classList.remove('is-pinned');\n document.querySelector(\"body\").classList.remove('is-pinned');\n this.isSticky = false;\n this.isPinned = false;\n this.calculate();\n }\n\n if(this.isSticky) {\n if (this.direction === 'up') {\n const delta = this.lastDcrollDown - document.documentElement.scrollTop;\n if(delta > 150) {\n this.element.classList.add('is-pinned');\n document.querySelector(\"body\").classList.add('is-pinned');\n this.isPinned = true;\n }\n } else {\n if(this.isPinned) {\n this.element.addEventListener('transitionend', this.handlePinned);\n this.element.classList.add('is-leaving');\n }\n }\n }\n\n this.tmpScroll = document.documentElement.scrollTop;\n }\n }\n\n\n mount() {\n const nav = this.element.querySelector('#navigation');\n if (nav) {\n this.navigation = new Navigation(nav);\n this.navigation.element.addEventListener('navigation:update', this.handleNavigationUpdate);\n this.navigation.mount();\n }\n\n this.burger = this.element.querySelector('.js-header-burger');\n\n // pas met header height a jour pour evite le sauter\n this.height = this.element.offsetHeight;\n document.documentElement.style.setProperty('--header-height', `${this.height}px`);\n window.addEventListener('resize', function (e) {\n let headerHeight = this.document.querySelector(\".c-header\").offsetHeight;\n document.documentElement.style.setProperty('--header-height', `${headerHeight}px`);\n });\n\n this.element.querySelectorAll('[data-header-toggler=\"navigation\"]').forEach((element) => {\n const target = document.getElementById(element.dataset.headerToggler);\n const toggler = new Toggler(element, target);\n this.navigationTogglers.push(toggler);\n element.addEventListener('toggler:hide', this.handleNavigationHide);\n element.addEventListener('toggler:show', this.handleNavigationShow);\n\n if (\n window.getComputedStyle(this.burger).getPropertyValue('display') !== 'none'\n ) {\n toggler.mount();\n }\n });\n\n window.addEventListener('resize', this.handleResize);\n window.addEventListener('scroll', this.handleScroll);\n\n const loop = () => {\n if (this.hasScrolled) {\n this.updateScroll();\n this.hasScrolled = false;\n }\n if (this.hasResized) {\n this.updateResize();\n this.hasResized = false;\n }\n\n requestAnimationFrame(loop);\n }\n\n loop();\n\n this.element.classList.add('is-mounted');\n this.calculate();\n }\n\n unmount() {\n window.removeEventListener('resize', this.handleResize);\n window.removeEventListener('scroll', this.handleScroll);\n\n if(this.navigationTogglers) {\n this.navigationTogglers.forEach((toggler) => {\n toggler.element.removeEventListener('toggler:hide', this.handleNavigationHide);\n toggler.element.removeEventListener('toggler:show', this.handleNavigationShow);\n toggler.unmount();\n });\n this.navigationTogglers = [];\n }\n\n if (this.navigation) {\n this.navigation.element.removeEventListener('navigation:update', this.handleNavigationUpdate);\n this.navigation.unmount();\n this.navigation = null;\n }\n\n this.element.classList.remove('is-mounted');\n }\n}\n","import Header from './Header';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const headerElement = document.getElementById('header');\n if (headerElement) {\n const header = new Header(headerElement);\n header.mount();\n }\n});\n","/**\n * Name: Component\n * Description: Base model for all components\n */\n\nexport default class Component {\n static settings = {};\n\n #element;\n #mounted;\n #settings;\n\n #listeners = {};\n\n constructor (element, options = {}) {\n this.#element = element;\n this.#mounted = false;\n this.#settings = {\n ...Component.settings,\n ...options\n };\n }\n\n get element () {\n return this.#element;\n }\n\n get mounted () {\n return this.#mounted;\n }\n\n get settings () {\n return this.#settings;\n }\n\n getNode (parameter) {\n let element = null;\n\n if (parameter instanceof Element) {\n element = parameter;\n } else if (typeof parameter === 'string') {\n const testSelector = this.#element.querySelector(parameter);\n element = testSelector ? testSelector : element;\n }\n\n return element;\n }\n\n fire (type, data) {\n var listeners = this.#listeners[type] || [];\n\n listeners.forEach(function (listener) {\n listener(data);\n });\n }\n\n on (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 off (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 mount () {\n this.#element.classList.add('is-mounted');\n this.#mounted = true;\n this.fire('mount', this);\n }\n\n unmount () {\n this.#element.classList.remove('is-mounted');\n this.#mounted = false;\n this.fire('unmount', this);\n }\n}\n","/**\n * Name: Details\n * Description: Collapsing section\n */\n\nimport Component from \"@lunaweb/vega-reactor-js/src/patterns/Component\";\n\nexport default class Details extends Component {\n static settings = {\n open: false,\n rememberExpanded: false,\n hasAdditionalControl: false,\n i18n: {\n hideSection: 'Masquer la section',\n showSection: 'Afficher la section',\n }\n };\n\n #control;\n #content;\n #label;\n\n #handleControlClick;\n #handleContentBeforeMatch;\n #handleHashChange;\n #handleToggle;\n\n constructor (element, options = {}) {\n super(element, {\n ...Details.settings,\n ...options\n });\n\n this.#control = this.element.querySelector('.js-details-control');\n this.#content = this.element.querySelector('.js-details-content');\n\n if (!this.element.getAttribute('id')) {\n throw new Error(`Details error: An id is required on the '.js-details' element.`, this.element);\n }\n\n if (!this.#control) {\n throw new Error(`Details error: A control with the 'js-details-control' class is missing.`, this.element);\n }\n\n if (!this.#content) {\n throw new Error(`Details error: A content with the 'js-details-content' class is missing.`, this.element);\n }\n\n if (!this.isNativeDetails) {\n this.#label = this.element.querySelector('.js-details-label');\n\n if (!this.#label) {\n throw new Error(`Details error: A label with the 'js-details-label' class is missing.`, this.element);\n }\n }\n\n if (this.settings.rememberExpanded) {\n try {\n this.sessionStorageValue;\n } catch (e) {\n this.settings.rememberExpanded = false;\n console.error('sessionStorage is not usable.');\n }\n }\n\n this.#handleControlClick = this._handleControlClick.bind(this);\n this.#handleContentBeforeMatch = this._handleContentBeforeMatch.bind(this);\n this.#handleHashChange = this._handleHashChange.bind(this);\n this.#handleToggle = this._handleToggle.bind(this);\n }\n\n get control () {\n return this.#control;\n }\n\n get content () {\n return this.#content;\n }\n\n get expanded () {\n let state;\n\n if (this.isNativeDetails) {\n state = this.element.open;\n } else {\n state = this.#control.getAttribute('aria-expanded') === 'true';\n }\n\n return state;\n }\n\n get sessionStorageValue () {\n return sessionStorage.getItem(this.element.getAttribute('id'));\n }\n\n get isNativeDetails () {\n return this.element.tagName.toLowerCase() === \"details\";\n }\n\n set sessionStorageValue (value) {\n sessionStorage.setItem(this.element.getAttribute('id'), value);\n }\n\n _handleControlClick (e) {\n this.toggle();\n\n if (this.additionalControl && e.target === this.additionalControl) {\n this.#control.focus();\n }\n }\n\n _handleContentBeforeMatch (e) {\n this.open();\n }\n\n _handleHashChange (e) {\n if (this.element.id === location.hash.substring(1)) {\n this.open();\n }\n }\n\n _handleToggle (e) {\n const state = this.expanded ? 'open' : 'close';\n\n if (this.settings.rememberExpanded) {\n this.sessionStorageValue = state;\n }\n\n this.fire(state, this);\n }\n\n convertControlToButton () {\n let control = document.createElement('button');\n control.type = 'button';\n const attributes = this.#control.getAttributeNames().reduce((acc, name) => {\n control.setAttribute(name, this.#control.getAttribute(name));\n }, {});\n control.innerHTML = this.#control.innerHTML;\n this.#control.replaceWith(control);\n this.#control = control;\n }\n\n resetControl () {\n let control = document.createElement('span');\n const attributes = this.#control.getAttributeNames().reduce((acc, name) => {\n control.setAttribute(name, this.#control.getAttribute(name));\n }, {});\n control.removeAttribute('type');\n control.innerHTML = this.#control.innerHTML;\n this.#control.replaceWith(control);\n this.#control = control;\n }\n\n addAdditionalControl () {\n const additionalControl = document.createElement('button');\n additionalControl.type = 'button';\n additionalControl.classList.add('c-details__button');\n additionalControl.setAttribute('aria-controls', this.#content.getAttribute('id'));\n\n const marker = this.#control.querySelector('.js-details-marker');\n\n additionalControl.innerHTML = `${ this.settings.i18n.hideSection } ${ marker.outerHTML }`;\n\n this.#content.appendChild(additionalControl);\n this.additionalControl = additionalControl;\n this.additionalControl.addEventListener('click', this.#handleControlClick);\n }\n\n removeAdditionalControl () {\n this.additionalControl.removeEventListener('click', this.#handleControlClick);\n this.additionalControl.remove();\n }\n\n toggle () {\n this.expanded ? this.close() : this.open();\n }\n\n open () {\n if (this.isNativeDetails) {\n this.element.open = true;\n } else {\n this.#control.setAttribute('aria-expanded', 'true');\n this.#content.removeAttribute('hidden');\n this.#label.innerHTML = this.settings.i18n.hideSection;\n }\n\n if (this.settings.rememberExpanded) {\n this.sessionStorageValue = 'open';\n }\n\n this.fire('open', this);\n }\n\n close () {\n if (this.isNativeDetails) {\n this.element.open = false;\n } else {\n this.#control.setAttribute('aria-expanded', 'false');\n this.#content.setAttribute('hidden', 'until-found');\n this.#label.innerHTML = this.settings.i18n.showSection;\n }\n\n if (this.settings.rememberExpanded) {\n this.sessionStorageValue = 'close';\n }\n\n this.fire('close', this);\n }\n\n mount () {\n window.addEventListener('hashchange', this.#handleHashChange);\n\n if (!this.isNativeDetails) {\n this.convertControlToButton();\n this.#control.setAttribute('aria-controls', this.#content.getAttribute('id'));\n this.#content.setAttribute('aria-labelledby', this.#control.getAttribute('id'));\n\n this.#control.addEventListener('click', this.#handleControlClick);\n this.#content.addEventListener('beforematch', this.#handleContentBeforeMatch);\n } else {\n this.element.addEventListener('toggle', this.#handleToggle);\n }\n\n if (this.settings.hasAdditionalControl) {\n this.addAdditionalControl();\n }\n\n if (this.element.id === location.hash.substring(1)) {\n this.open();\n } else if (this.settings.rememberExpanded && this.sessionStorageValue) {\n this.sessionStorageValue === 'open' ? this.open() : this.close();\n } else {\n\n if (this.element.getAttribute(\"data-is-opend\") == \"true\") {\n this.settings.open = \"true\";\n }\n\n this.settings.open ? this.open() : this.close();\n }\n\n super.mount();\n }\n\n unmount () {\n window.removeEventListener('hashchange', this.#handleHashChange);\n\n if (!this.isNativeDetails) {\n this.#content.removeEventListener('beforematch', this.#handleContentBeforeMatch);\n this.#control.removeEventListener('click', this.#handleControlClick);\n\n this.#content.removeAttribute('hidden');\n this.#content.removeAttribute('aria-labelledby');\n this.#control.removeAttribute('tabindex');\n this.#control.removeAttribute('role');\n this.#control.removeAttribute('aria-controls');\n this.#control.removeAttribute('aria-expanded');\n this.resetControl();\n } else {\n this.element.addEventListener('toggle', this.#handleToggle);\n }\n\n if (this.settings.rememberExpanded) {\n sessionStorage.removeItem(this.element.getAttribute('id'));\n }\n\n if (this.additionalControl) {\n this.removeAdditionalControl();\n }\n\n super.unmount();\n }\n}\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n Object.keys(src).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n","import Details from './Details';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const $detailsElements = document.querySelectorAll('.js-details');\n if (!$detailsElements.length) {\n return;\n }\n $detailsElements.forEach(($details) => {\n const details = new Details($details, {\n hasAdditionalControl: true,\n });\n details.mount();\n });\n});\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n const children = [...element.children];\n if (element instanceof HTMLSlotElement) {\n children.push(...element.assignedElements());\n }\n if (!selector) {\n return children;\n }\n return children.filter(el => el.matches(selector));\n}\nfunction elementIsChildOf(el, parent) {\n const isChild = parent.contains(el);\n if (!isChild && parent instanceof HTMLSlotElement) {\n const children = [...parent.assignedElements()];\n return children.includes(el);\n }\n return isChild;\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n if (classes === void 0) {\n classes = [];\n }\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\nfunction getRotateFix(swiper) {\n return v => {\n if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {\n return v + 0.001;\n }\n return v;\n };\n}\n\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, getSlideTransformEl as g, elementIndex as h, classesToTokens as i, getTranslate as j, elementTransitionEnd as k, isObject as l, makeElementsArray as m, nextTick as n, getRotateFix as o, elementStyle as p, elementNextAll as q, elementPrevAll as r, setCSSProperty as s, animateCSSModeScroll as t, showWarning as u, elementIsChildOf as v, extend as w, deleteProps as x };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, p as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, q as elementNextAll, r as elementPrevAll, j as getTranslate, t as animateCSSModeScroll, n as nextTick, u as showWarning, c as createElement, v as elementIsChildOf, d as now, w as extend, h as elementIndex, x as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\n\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n if (allSlidesSize + offsetSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\n\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\n\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n }\n toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\n\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\n\nconst toggleSlideClasses = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0];\n nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0];\n prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0];\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n if (!gridEnabled) {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n }\n }\n slides.forEach(slideEl => {\n toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n });\n swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0];\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n swiper.animating = false;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // initial virtual\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const isInitialVirtual = isVirtual && initial;\n // Update Index\n if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n needLoopFix = false;\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}\n\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n let activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n document.activeElement.blur();\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true,\n detail: {\n bySwiperTouchMove: true\n }\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n if (!el || typeof el === 'string') return;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasGrabCursor = swiper.params.grabCursor;\n const isGrabCursor = breakpointParams.grabCursor;\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n if (wasGrabCursor && !isGrabCursor) {\n swiper.unsetGrabCursor();\n } else if (!wasGrabCursor && isGrabCursor) {\n swiper.setGrabCursor();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n if (!el || typeof el === 'string') return;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\n\nvar classes = {\n addClasses,\n removeClasses\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n if (el && typeof el !== 'string') {\n el.removeAttribute('style');\n }\n if (wrapperEl) {\n wrapperEl.removeAttribute('style');\n }\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.swiper = null;\n }\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\n","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","import { e as elementChildren, c as createElement } from './utils.mjs';\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\nexport { createElementIfNotDefined as c };\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Swiper from 'swiper';\nimport { Navigation } from 'swiper/modules';\n\nexport default class Slider {\n constructor(element) {\n this.element = element;\n this.next = this.element.querySelector(\".swiper-button-next .c-button\");\n this.prev = this.element.querySelector(\".swiper-button-prev .c-button\");\n\n this.swiperElement = this.element;\n\n this.spacing = 16;\n\n this.swiperElement = this.element;\n\n this.innerWidth = window.innerWidth;\n\n this.handleResize = this.handleResize.bind(this);\n this.handleResize = this.handleResize.bind(this);\n\n this.spaceBetweenValues = 24;\n\n this.slidesPerView = \"auto\";\n this.loop = false;\n this.centeredSlides = false;\n\n if (document.querySelector(\".c-slider--profil\")) {\n this.loop = false;\n this.spaceBetweenValues = 8;\n }\n\n if (document.querySelector(\".c-slider--logo\")) {\n this.loop = true;\n if (window.innerWidth < 960) {\n this.spaceBetweenValues = 8;\n\n }\n }\n\n this.settings = {\n modules: [Navigation],\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\"\n },\n on: {\n init: (swiper) => {\n },\n slideChange: (swiper) => {\n },\n slideChangeTransitionEnd:(swiper)=> {\n }\n },\n centeredSlides: this.centeredSlides,\n slidesPerView: this.slidesPerView ,\n watchSlidesProgress: true,\n spaceBetween: this.spaceBetweenValues,\n loop: this.loop,\n\n\n };\n\n this.swiper;\n }\n\n handleResize() {\n }\n\n updateTabIndex(){\n let slides = this.element.querySelectorAll(\".swiper-slide\");\n\n for (let i = 0; i < slides.length; i++) {\n const element = slides[i];\n if (element.classList.contains(\"swiper-slide-active\")) {\n let slideButtons=element.querySelectorAll(\"a\");\n for (let index = 0; index < slideButtons.length; index++) {\n const elementButton = slideButtons[index];\n elementButton.setAttribute('tabIndex', '0');\n }\n }else {\n let slideButtons=element.querySelectorAll(\"a\");\n for (let index = 0; index < slideButtons.length; index++) {\n const elementButton = slideButtons[index];\n elementButton.setAttribute('tabIndex', '-1');\n }\n }\n\n }\n }\n\n updateNavigation(swiper) {\n this.prev.removeAttribute('disabled');\n this.next.removeAttribute('disabled');\n\n if (swiper.isBeginning) {\n this.prev.setAttribute('disabled', '');\n }\n if (swiper.isEnd) {\n this.next.setAttribute('disabled', '');\n }\n }\n\n\n\n mount() {\n this.settings = {\n ...this.settings,\n }\n\n\n this.swiper = new Swiper(this.swiperElement, this.settings);\n window.addEventListener('resize', this.handleResize);\n }\n\n unmount() {\n this.destroy(this.swiper, true);\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Slider from './Slider';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const sliders = document.querySelectorAll('.swiper');\n if (!sliders.length) {\n return;\n }\n\n sliders.forEach((element) => {\n const slider = new Slider(element);\n slider.mount(element);\n });\n});\n","import Component from './Component';\n\nexport default class Collapsible extends Component {\n static settings = {\n isPersistent: false,\n hasTransition: false,\n control: '.js-collapse-control',\n target: '.js-collapse-target',\n };\n\n #control;\n #target;\n #isHiding;\n #handleControlClick;\n #handleFocusout;\n #handleKeydown;\n #handleOutsideClick;\n #handleTransitionEnd;\n\n constructor (element, options = {}) {\n super(element, {\n ...Collapsible.settings,\n ...options\n });\n\n this.#isHiding = false;\n\n this.#control = this.getNode(this.settings.control);\n this.#target = this.getNode(this.settings.target);\n\n if (!this.#control) {\n throw new Error(`Collpase error: A control with the '${ this.settings.control }' selector is missing.`);\n }\n\n if (!this.#target) {\n throw new Error(`Collpase error: A target with the '${ this.settings.target }' selector is missing.`);\n }\n\n if (!this.#control.getAttribute('id')) {\n throw new Error(`Collpase error: The control needs an id to work correctly.`, this.#control);\n }\n\n if (!this.#target.getAttribute('id')) {\n throw new Error(`Collpase error: The target needs an id to work correctly.`, this.#target);\n }\n\n this.#handleControlClick = this._handleControlClick.bind(this);\n this.#handleFocusout = this._handleFocusout.bind(this);\n this.#handleKeydown = this._handleKeydown.bind(this);\n this.#handleOutsideClick = this._handleOutsideClick.bind(this);\n this.#handleTransitionEnd = this._handleTransitionEnd.bind(this);\n }\n\n get control () {\n return this.#control;\n }\n\n get target () {\n return this.#target;\n }\n\n get expanded () {\n return this.#control.getAttribute('aria-expanded') === 'true';\n }\n\n set expanded (state) {\n this.#control.setAttribute('aria-expanded', `${state}`);\n }\n\n get isHiding () {\n return this.#isHiding;\n }\n\n _handleControlClick (e) {\n this.toggle();\n }\n\n _handleFocusout (e) {\n if (e.relatedTarget && !this.#target.contains(e.relatedTarget) && !this.#control.contains(e.relatedTarget)) {\n this.close(false);\n }\n }\n\n _handleKeydown (e) {\n // Close on escape\n if (this.expanded && e.keyCode === 27) {\n this.toggle();\n }\n }\n\n _handleOutsideClick (e) {\n if (!this.#target.contains(e.target) && !this.#control.contains(e.target)) {\n this.close(false);\n }\n }\n\n _handleTransitionEnd (e) {\n if (e.target === this.#target) {\n this.#target.removeEventListener('transitionend', this.#handleTransitionEnd);\n this.#target.classList.remove('is-hiding');\n this.#isHiding = false;\n this.close();\n }\n }\n\n open () {\n this.#control.setAttribute('aria-expanded', 'true');\n this.#target.removeAttribute('hidden');\n\n if (!this.settings.isPersistent) {\n document.addEventListener('focusout', this.#handleFocusout);\n document.addEventListener('click', this.#handleOutsideClick);\n }\n\n this.fire('open', this);\n }\n\n close (refocus = true) {\n if (!this.settings.isPersistent) {\n document.removeEventListener('focusout', this.#handleFocusout);\n document.removeEventListener('click', this.#handleOutsideClick);\n }\n\n this.#control.setAttribute('aria-expanded', 'false');\n this.#target.setAttribute('hidden', '');\n this.#target.classList.remove('is-hiding');\n\n if (refocus) {\n this.#control.focus();\n }\n\n this.fire('close', this);\n }\n\n hide () {\n this.#target.classList.add('is-hiding');\n this.#isHiding = true;\n this.#target.addEventListener('transitionend', this.#handleTransitionEnd);\n }\n\n toggle () {\n if (this.settings.hasTransition) {\n this.expanded ? this.hide() : this.open();\n } else {\n this.expanded ? this.close() : this.open();\n }\n }\n\n mount () {\n this.#target.setAttribute('aria-labelledby', this.#control.getAttribute('id'));\n this.#target.setAttribute('tabindex', '-1');\n this.#target.setAttribute('hidden', '');\n this.#control.setAttribute('aria-haspopup', 'true');\n this.#control.setAttribute('aria-expanded', 'false');\n this.#control.setAttribute('aria-controls', this.#target.getAttribute('id'));\n\n this.#control.addEventListener('click', this.#handleControlClick);\n this.element.addEventListener('keydown', this.#handleKeydown);\n\n super.mount();\n }\n\n unmount () {\n if (this.expanded) {\n this.close(false);\n }\n\n this.#control.removeEventListener('click', this.#handleControlClick);\n this.element.removeEventListener('keydown', this.#handleKeydown);\n\n this.#control.removeAttribute('aria-haspopup');\n this.#control.removeAttribute('aria-expanded');\n this.#control.removeAttribute('aria-controls');\n this.#target.removeAttribute('aria-labelledby');\n this.#target.removeAttribute('tabindex');\n this.#target.removeAttribute('hidden');\n\n super.unmount();\n }\n}\n","import Collapsible from \"@lunaweb/vega-reactor-js/src/patterns/Collapsible\";\n\nexport default class Dropdown extends Collapsible {\n\n static settings = {\n control: '.js-dropdown-control',\n target: '.js-dropdown-popover',\n };\n\n constructor (element, options = {}) {\n super(element, {\n ...Dropdown.settings,\n ...options\n });\n }\n}\n","import Dropdown from \"./Dropdown\";\n\nexport default class DropdownChoice extends Dropdown {\n\n static settings = {\n control: '.js-dropdown-choice-control',\n target: '.js-dropdown-choice-popover',\n cancel: '.js-dropdown-choice-cancel',\n confirm: '.js-dropdown-choice-confirm',\n reset: '.js-dropdown-choice-reset',\n label: '.js-dropdown-choice-label',\n i18n: {\n label_empty: 'Sélectionnez une ou plusieurs options',\n label_count: '%selected% sur %length% %descriptor%',\n singular: 'sélectionné',\n plural: 'sélectionnés',\n }\n };\n\n #cancel;\n #confirm;\n #reset;\n #label;\n #inputs;\n #backup = [];\n\n #handleChange;\n #handleConfirmClick;\n #handleCancelClick;\n #handleResetClick;\n\n constructor (element, options = {}) {\n super(element, {\n ...DropdownChoice.settings,\n ...options\n });\n\n this.#cancel = this.getNode(this.settings.cancel);\n this.#confirm = this.getNode(this.settings.confirm);\n this.#reset = this.getNode(this.settings.reset);\n this.#label = this.getNode(this.settings.label);\n this.#inputs = this.target.querySelectorAll('input');\n\n this.#handleChange = this._handleChange.bind(this);\n this.#handleCancelClick = this._handleCancelClick.bind(this);\n this.#handleConfirmClick = this._handleConfirmClick.bind(this);\n this.#handleResetClick = this._handleResetClick.bind(this);\n }\n\n get backup () {\n return this.#backup;\n }\n\n get selected () {\n return Array.from(this.#inputs).filter((element) => { return element.type == \"radio\" || element.type == \"checkbox\" ? element.checked : element.value });\n }\n\n _handleChange (e) {\n const selected = this.selected;\n let text = this.settings.i18n.label_count;\n\n if (selected.length === 0) {\n text = this.settings.i18n.label_empty;\n } else if (selected.length === 1) {\n // text = text.replace('%descriptor%', this.settings.i18n.singular);\n text = this.target.querySelector(`[for=\"${ selected[0].id }\"]`).innerText;\n } else {\n text = text.replace('%descriptor%', this.settings.i18n.plural);\n }\n\n text = text.replace('%selected%', selected.length);\n text = text.replace('%length%', this.#inputs.length);\n\n this.#label.innerHTML = text;\n }\n\n _handleCancelClick (e) {\n this.cancel();\n this.#handleChange();\n this.close();\n }\n\n _handleConfirmClick (e) {\n this.confirm();\n this.#handleChange();\n this.close();\n }\n\n _handleResetClick (e) {\n this.reset();\n if (!this.#confirm) {\n this.#handleChange();\n }\n }\n\n cancel () {\n this.#inputs.forEach(($input) => {\n if ($input.type == \"radio\" || $input.type == \"checkbox\") {\n $input.checked = this.#backup[$input.id];\n } else {\n $input.value = this.#backup[$input.id];\n }\n });\n }\n\n confirm () {\n const backup = [];\n this.#inputs.forEach(($input) => {\n if ($input.type == \"radio\" || $input.type == \"checkbox\") {\n backup[$input.id] = $input.checked;\n } else {\n backup[$input.id] = $input.value;\n }\n this.fire('cancel', this);\n });\n\n this.#backup = backup;\n this.fire('confirm', this);\n }\n\n reset () {\n this.#inputs.forEach(($input) => {\n if ($input.type == \"radio\" || $input.type == \"checkbox\") {\n $input.checked = false;\n } else {\n $input.value = null;\n }\n });\n this.fire('reset', this);\n }\n\n close () {\n if (this.#confirm) {\n this.cancel();\n }\n super.close();\n }\n\n mount () {\n super.mount();\n\n this.#inputs.forEach(($input) => {\n this.#backup[$input.id] = $input.checked;\n });\n\n this.#handleChange();\n\n if (this.#cancel) {\n this.#cancel.addEventListener('click', this.#handleCancelClick);\n }\n\n if (this.#confirm) {\n this.#confirm.addEventListener('click', this.#handleConfirmClick);\n } else {\n this.target.addEventListener('change', this.#handleChange);\n }\n\n if (this.#reset) {\n this.#reset.addEventListener('click', this.#handleResetClick);\n }\n }\n}\n","import Dropdown from './Dropdown';\nimport DropdownChoice from './DropdownChoice';\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const $dropdowns = document.querySelectorAll('.js-dropdown');\n const dropdowns = [];\n\n if ($dropdowns.length) {\n $dropdowns.forEach(($dropdown) => {\n // Used for demo\n let options = {};\n\n const dropdown = new Dropdown($dropdown, options);\n dropdowns.push(dropdown);\n dropdown.mount();\n });\n }\n\n\n const $dropdownsChoice = document.querySelectorAll('.js-dropdown-choice');\n const dropdownsChoice = [];\n\n if ($dropdownsChoice.length) {\n $dropdownsChoice.forEach(($dropdownChoice) => {\n // Used for demo\n let options = {};\n const $firstInput = $dropdownChoice.querySelector('input');\n if ($firstInput && $firstInput.type == \"radio\") {\n options = {\n i18n: {\n label_empty: 'Sélectionnez une option',\n }\n }\n }\n\n const dropdownChoice = new DropdownChoice($dropdownChoice, options);\n dropdownsChoice.push(dropdownChoice);\n dropdownChoice.mount();\n });\n }\n});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).GLightbox=t()}(this,(function(){\"use strict\";function e(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}function t(e){return(t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(t,i){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=e[l]=e[l]||[],s={all:n,evt:null,found:null};return t&&i&&M(n)>0&&r(n,(function(e,n){if(e.eventName==t&&e.fn.toString()==i.toString())return s.found=!0,s.evt=n,!1})),s}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.onElement,n=t.withCallback,s=t.avoidDuplicate,l=void 0===s||s,o=t.once,h=void 0!==o&&o,d=t.useCapture,c=void 0!==d&&d,u=arguments.length>2?arguments[2]:void 0,g=i||[];function v(e){C(n)&&n.call(u,e,this),h&&v.destroy()}return k(g)&&(g=document.querySelectorAll(g)),v.destroy=function(){r(g,(function(t){var i=a(t,e,v);i.found&&i.all.splice(i.evt,1),t.removeEventListener&&t.removeEventListener(e,v,c)}))},r(g,(function(t){var i=a(t,e,v);(t.addEventListener&&l&&!i.found||!l)&&(t.addEventListener(e,v,c),i.all.push({eventName:e,fn:v}))})),v}function d(e,t){r(t.split(\" \"),(function(t){return e.classList.add(t)}))}function c(e,t){r(t.split(\" \"),(function(t){return e.classList.remove(t)}))}function u(e,t){return e.classList.contains(t)}function g(e,t){for(;e!==document.body;){if(!(e=e.parentElement))return!1;if(\"function\"==typeof e.matches?e.matches(t):e.msMatchesSelector(t))return e}}function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||\"\"===t)return!1;if(\"none\"===t)return C(i)&&i(),!1;var n=b(),s=t.split(\" \");r(s,(function(t){d(e,\"g\"+t)})),h(n,{onElement:e,avoidDuplicate:!1,once:!0,withCallback:function(e,t){r(s,(function(e){c(t,\"g\"+e)})),C(i)&&i()}})}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(\"\"===t)return e.style.webkitTransform=\"\",e.style.MozTransform=\"\",e.style.msTransform=\"\",e.style.OTransform=\"\",e.style.transform=\"\",!1;e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function p(e){e.style.display=\"block\"}function m(e){e.style.display=\"none\"}function y(e){var t=document.createDocumentFragment(),i=document.createElement(\"div\");for(i.innerHTML=e;i.firstChild;)t.appendChild(i.firstChild);return t}function x(){return{width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}}function b(){var e,t=document.createElement(\"fakeelement\"),i={animation:\"animationend\",OAnimation:\"oAnimationEnd\",MozAnimation:\"animationend\",WebkitAnimation:\"webkitAnimationEnd\"};for(e in i)if(void 0!==t.style[e])return i[e]}function S(e,t,i,n){if(e())t();else{var s;i||(i=100);var l=setInterval((function(){e()&&(clearInterval(l),s&&clearTimeout(s),t())}),i);n&&(s=setTimeout((function(){clearInterval(l)}),n))}}function w(e,t,i){if(O(e))console.error(\"Inject assets error\");else if(C(t)&&(i=t,t=!1),k(t)&&t in window)C(i)&&i();else{var n;if(-1!==e.indexOf(\".css\")){if((n=document.querySelectorAll('link[href=\"'+e+'\"]'))&&n.length>0)return void(C(i)&&i());var s=document.getElementsByTagName(\"head\")[0],l=s.querySelectorAll('link[rel=\"stylesheet\"]'),o=document.createElement(\"link\");return o.rel=\"stylesheet\",o.type=\"text/css\",o.href=e,o.media=\"all\",l?s.insertBefore(o,l[0]):s.appendChild(o),void(C(i)&&i())}if((n=document.querySelectorAll('script[src=\"'+e+'\"]'))&&n.length>0){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}}else{var r=document.createElement(\"script\");r.type=\"text/javascript\",r.src=e,r.onload=function(){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}},document.body.appendChild(r)}}}function T(){return\"navigator\"in window&&window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i)}function C(e){return\"function\"==typeof e}function k(e){return\"string\"==typeof e}function E(e){return!(!e||!e.nodeType||1!=e.nodeType)}function A(e){return Array.isArray(e)}function L(e){return e&&e.length&&isFinite(e.length)}function I(e){return\"object\"===t(e)&&null!=e&&!C(e)&&!A(e)}function O(e){return null==e}function P(e,t){return null!==e&&hasOwnProperty.call(e,t)}function M(e){if(I(e)){if(e.keys)return e.keys().length;var t=0;for(var i in e)P(e,i)&&t++;return t}return e.length}function z(e){return!isNaN(parseFloat(e))&&isFinite(e)}function X(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=document.querySelectorAll(\".gbtn[data-taborder]:not(.disabled)\");if(!t.length)return!1;if(1==t.length)return t[0];\"string\"==typeof e&&(e=parseInt(e));var i=[];r(t,(function(e){i.push(e.getAttribute(\"data-taborder\"))}));var n=Math.max.apply(Math,i.map((function(e){return parseInt(e)}))),s=e<0?1:e+1;s>n&&(s=\"1\");var l=i.filter((function(e){return e>=parseInt(s)})),o=l.sort()[0];return document.querySelector('.gbtn[data-taborder=\"'.concat(o,'\"]'))}function Y(e){if(e.events.hasOwnProperty(\"keyboard\"))return!1;e.events.keyboard=h(\"keydown\",{onElement:window,withCallback:function(t,i){var n=(t=t||window.event).keyCode;if(9==n){var s=document.querySelector(\".gbtn.focused\");if(!s){var l=!(!document.activeElement||!document.activeElement.nodeName)&&document.activeElement.nodeName.toLocaleLowerCase();if(\"input\"==l||\"textarea\"==l||\"button\"==l)return}t.preventDefault();var o=document.querySelectorAll(\".gbtn[data-taborder]\");if(!o||o.length<=0)return;if(!s){var r=X();return void(r&&(r.focus(),d(r,\"focused\")))}var a=X(s.getAttribute(\"data-taborder\"));c(s,\"focused\"),a&&(a.focus(),d(a,\"focused\"))}39==n&&e.nextSlide(),37==n&&e.prevSlide(),27==n&&e.close()}})}var q=s((function e(t,n){var s=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(i(this,e),this.img=t,this.slide=n,this.onclose=l,this.img.setZoomEvents)return!1;this.active=!1,this.zoomedIn=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.img.addEventListener(\"mousedown\",(function(e){return s.dragStart(e)}),!1),this.img.addEventListener(\"mouseup\",(function(e){return s.dragEnd(e)}),!1),this.img.addEventListener(\"mousemove\",(function(e){return s.drag(e)}),!1),this.img.addEventListener(\"click\",(function(e){return s.slide.classList.contains(\"dragging-nav\")?(s.zoomOut(),!1):s.zoomedIn?void(s.zoomedIn&&!s.dragging&&s.zoomOut()):s.zoomIn()}),!1),this.img.setZoomEvents=!0}),[{key:\"zoomIn\",value:function(){var e=this.widowWidth();if(!(this.zoomedIn||e<=768)){var t=this.img;if(t.setAttribute(\"data-style\",t.getAttribute(\"style\")),t.style.maxWidth=t.naturalWidth+\"px\",t.style.maxHeight=t.naturalHeight+\"px\",t.naturalWidth>e){var i=e/2-t.naturalWidth/2;this.setTranslate(this.img.parentNode,i,0)}this.slide.classList.add(\"zoomed\"),this.zoomedIn=!0}}},{key:\"zoomOut\",value:function(){this.img.parentNode.setAttribute(\"style\",\"\"),this.img.setAttribute(\"style\",this.img.getAttribute(\"data-style\")),this.slide.classList.remove(\"zoomed\"),this.zoomedIn=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.onclose&&\"function\"==typeof this.onclose&&this.onclose()}},{key:\"dragStart\",value:function(e){e.preventDefault(),this.zoomedIn?(\"touchstart\"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset),e.target===this.img&&(this.active=!0,this.img.classList.add(\"dragging\"))):this.active=!1}},{key:\"dragEnd\",value:function(e){var t=this;e.preventDefault(),this.initialX=this.currentX,this.initialY=this.currentY,this.active=!1,setTimeout((function(){t.dragging=!1,t.img.isDragging=!1,t.img.classList.remove(\"dragging\")}),100)}},{key:\"drag\",value:function(e){this.active&&(e.preventDefault(),\"touchmove\"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.img.isDragging=!0,this.dragging=!0,this.setTranslate(this.img,this.currentX,this.currentY))}},{key:\"onMove\",value:function(e){if(this.zoomedIn){var t=e.clientX-this.img.naturalWidth/2,i=e.clientY-this.img.naturalHeight/2;this.setTranslate(this.img,t,i)}}},{key:\"setTranslate\",value:function(e,t,i){e.style.transform=\"translate3d(\"+t+\"px, \"+i+\"px, 0)\"}},{key:\"widowWidth\",value:function(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}}]),N=s((function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var s=n.dragEl,l=n.toleranceX,o=void 0===l?40:l,r=n.toleranceY,a=void 0===r?65:r,h=n.slide,d=void 0===h?null:h,c=n.instance,u=void 0===c?null:c;this.el=s,this.active=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.direction=null,this.lastDirection=null,this.toleranceX=o,this.toleranceY=a,this.toleranceReached=!1,this.dragContainer=this.el,this.slide=d,this.instance=u,this.el.addEventListener(\"mousedown\",(function(e){return t.dragStart(e)}),!1),this.el.addEventListener(\"mouseup\",(function(e){return t.dragEnd(e)}),!1),this.el.addEventListener(\"mousemove\",(function(e){return t.drag(e)}),!1)}),[{key:\"dragStart\",value:function(e){if(this.slide.classList.contains(\"zoomed\"))this.active=!1;else{\"touchstart\"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset);var t=e.target.nodeName.toLowerCase();e.target.classList.contains(\"nodrag\")||g(e.target,\".nodrag\")||-1!==[\"input\",\"select\",\"textarea\",\"button\",\"a\"].indexOf(t)?this.active=!1:(e.preventDefault(),(e.target===this.el||\"img\"!==t&&g(e.target,\".gslide-inline\"))&&(this.active=!0,this.el.classList.add(\"dragging\"),this.dragContainer=g(e.target,\".ginner-container\")))}}},{key:\"dragEnd\",value:function(e){var t=this;e&&e.preventDefault(),this.initialX=0,this.initialY=0,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.active=!1,this.doSlideChange&&(this.instance.preventOutsideClick=!0,\"right\"==this.doSlideChange&&this.instance.prevSlide(),\"left\"==this.doSlideChange&&this.instance.nextSlide()),this.doSlideClose&&this.instance.close(),this.toleranceReached||this.setTranslate(this.dragContainer,0,0,!0),setTimeout((function(){t.instance.preventOutsideClick=!1,t.toleranceReached=!1,t.lastDirection=null,t.dragging=!1,t.el.isDragging=!1,t.el.classList.remove(\"dragging\"),t.slide.classList.remove(\"dragging-nav\"),t.dragContainer.style.transform=\"\",t.dragContainer.style.transition=\"\"}),100)}},{key:\"drag\",value:function(e){if(this.active){e.preventDefault(),this.slide.classList.add(\"dragging-nav\"),\"touchmove\"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.el.isDragging=!0,this.dragging=!0,this.doSlideChange=!1,this.doSlideClose=!1;var t=Math.abs(this.currentX),i=Math.abs(this.currentY);if(t>0&&t>=Math.abs(this.currentY)&&(!this.lastDirection||\"x\"==this.lastDirection)){this.yOffset=0,this.lastDirection=\"x\",this.setTranslate(this.dragContainer,this.currentX,0);var n=this.shouldChange();if(!this.instance.settings.dragAutoSnap&&n&&(this.doSlideChange=n),this.instance.settings.dragAutoSnap&&n)return this.instance.preventOutsideClick=!0,this.toleranceReached=!0,this.active=!1,this.instance.preventOutsideClick=!0,this.dragEnd(null),\"right\"==n&&this.instance.prevSlide(),void(\"left\"==n&&this.instance.nextSlide())}if(this.toleranceY>0&&i>0&&i>=t&&(!this.lastDirection||\"y\"==this.lastDirection)){this.xOffset=0,this.lastDirection=\"y\",this.setTranslate(this.dragContainer,0,this.currentY);var s=this.shouldClose();return!this.instance.settings.dragAutoSnap&&s&&(this.doSlideClose=!0),void(this.instance.settings.dragAutoSnap&&s&&this.instance.close())}}}},{key:\"shouldChange\",value:function(){var e=!1;if(Math.abs(this.currentX)>=this.toleranceX){var t=this.currentX>0?\"right\":\"left\";(\"left\"==t&&this.slide!==this.slide.parentNode.lastChild||\"right\"==t&&this.slide!==this.slide.parentNode.firstChild)&&(e=t)}return e}},{key:\"shouldClose\",value:function(){var e=!1;return Math.abs(this.currentY)>=this.toleranceY&&(e=!0),e}},{key:\"setTranslate\",value:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.style.transition=n?\"all .2s ease\":\"\",e.style.transform=\"translate3d(\".concat(t,\"px, \").concat(i,\"px, 0)\")}}]);function D(e,t,i,n){var s=e.querySelector(\".gslide-media\"),l=new Image,o=\"gSlideTitle_\"+i,r=\"gSlideDesc_\"+i;l.addEventListener(\"load\",(function(){C(n)&&n()}),!1),l.src=t.href,\"\"!=t.sizes&&\"\"!=t.srcset&&(l.sizes=t.sizes,l.srcset=t.srcset),l.alt=\"\",O(t.alt)||\"\"===t.alt||(l.alt=t.alt),\"\"!==t.title&&l.setAttribute(\"aria-labelledby\",o),\"\"!==t.description&&l.setAttribute(\"aria-describedby\",r),t.hasOwnProperty(\"_hasCustomWidth\")&&t._hasCustomWidth&&(l.style.width=t.width),t.hasOwnProperty(\"_hasCustomHeight\")&&t._hasCustomHeight&&(l.style.height=t.height),s.insertBefore(l,s.firstChild)}function _(e,t,i,n){var s=this,l=e.querySelector(\".ginner-container\"),o=\"gvideo\"+i,r=e.querySelector(\".gslide-media\"),a=this.getAllPlayers();d(l,\"gvideo-container\"),r.insertBefore(y('
'),r.firstChild);var h=e.querySelector(\".gvideo-wrapper\");w(this.settings.plyr.css,\"Plyr\");var c=t.href,u=null==t?void 0:t.videoProvider,g=!1;r.style.maxWidth=t.width,w(this.settings.plyr.js,\"Plyr\",(function(){if(!u&&c.match(/vimeo\\.com\\/([0-9]*)/)&&(u=\"vimeo\"),!u&&(c.match(/(youtube\\.com|youtube-nocookie\\.com)\\/watch\\?v=([a-zA-Z0-9\\-_]+)/)||c.match(/youtu\\.be\\/([a-zA-Z0-9\\-_]+)/)||c.match(/(youtube\\.com|youtube-nocookie\\.com)\\/embed\\/([a-zA-Z0-9\\-_]+)/)||c.match(/(youtube\\.com|youtube-nocookie\\.com)\\/shorts\\/([a-zA-Z0-9\\-_]+)/))&&(u=\"youtube\"),\"local\"===u||!u){u=\"local\";var l='\")}var r=g||y('
'));d(h,\"\".concat(u,\"-video gvideo\")),h.appendChild(r),h.setAttribute(\"data-id\",o),h.setAttribute(\"data-index\",i);var v=P(s.settings.plyr,\"config\")?s.settings.plyr.config:{},f=new Plyr(\"#\"+o,v);f.on(\"ready\",(function(e){a[o]=e.detail.plyr,C(n)&&n()})),S((function(){return e.querySelector(\"iframe\")&&\"true\"==e.querySelector(\"iframe\").dataset.ready}),(function(){s.resize(e)})),f.on(\"enterfullscreen\",W),f.on(\"exitfullscreen\",W)}))}function W(e){var t=g(e.target,\".gslide-media\");\"enterfullscreen\"===e.type&&d(t,\"fullscreen\"),\"exitfullscreen\"===e.type&&c(t,\"fullscreen\")}function B(e,t,i,n){var s,l=this,o=e.querySelector(\".gslide-media\"),r=!(!P(t,\"href\")||!t.href)&&t.href.split(\"#\").pop().trim(),a=!(!P(t,\"content\")||!t.content)&&t.content;if(a&&(k(a)&&(s=y('
'.concat(a,\"
\"))),E(a))){\"none\"==a.style.display&&(a.style.display=\"block\");var c=document.createElement(\"div\");c.className=\"ginlined-content\",c.appendChild(a),s=c}if(r){var u=document.getElementById(r);if(!u)return!1;var g=u.cloneNode(!0);g.style.height=t.height,g.style.maxWidth=t.width,d(g,\"ginlined-content\"),s=g}if(!s)return console.error(\"Unable to append inline slide content\",t),!1;o.style.height=t.height,o.style.width=t.width,o.appendChild(s),this.events[\"inlineclose\"+r]=h(\"click\",{onElement:o.querySelectorAll(\".gtrigger-close\"),withCallback:function(e){e.preventDefault(),l.close()}}),C(n)&&n()}function H(e,t,i,n){var s=e.querySelector(\".gslide-media\"),l=function(e){var t=e.url,i=e.allow,n=e.callback,s=e.appendTo,l=document.createElement(\"iframe\");return l.className=\"vimeo-video gvideo\",l.src=t,l.style.width=\"100%\",l.style.height=\"100%\",i&&l.setAttribute(\"allow\",i),l.onload=function(){l.onload=null,d(l,\"node-ready\"),C(n)&&n()},s&&s.appendChild(l),l}({url:t.href,callback:n});s.parentNode.style.maxWidth=t.width,s.parentNode.style.height=t.height,s.appendChild(l)}var j=s((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.defaults={href:\"\",sizes:\"\",srcset:\"\",title:\"\",type:\"\",videoProvider:\"\",description:\"\",alt:\"\",descPosition:\"bottom\",effect:\"\",width:\"\",height:\"\",content:!1,zoomable:!0,draggable:!0},I(t)&&(this.defaults=o(this.defaults,t))}),[{key:\"sourceType\",value:function(e){var t=e;return null!==(e=e.toLowerCase()).match(/\\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/)?\"image\":e.match(/(youtube\\.com|youtube-nocookie\\.com)\\/watch\\?v=([a-zA-Z0-9\\-_]+)/)||e.match(/youtu\\.be\\/([a-zA-Z0-9\\-_]+)/)||e.match(/(youtube\\.com|youtube-nocookie\\.com)\\/embed\\/([a-zA-Z0-9\\-_]+)/)||e.match(/(youtube\\.com|youtube-nocookie\\.com)\\/shorts\\/([a-zA-Z0-9\\-_]+)/)||e.match(/vimeo\\.com\\/([0-9]*)/)||null!==e.match(/\\.(mp4|ogg|webm|mov)/)?\"video\":null!==e.match(/\\.(mp3|wav|wma|aac|ogg)/)?\"audio\":e.indexOf(\"#\")>-1&&\"\"!==t.split(\"#\").pop().trim()?\"inline\":e.indexOf(\"goajax=true\")>-1?\"ajax\":\"external\"}},{key:\"parseConfig\",value:function(e,t){var i=this,n=o({descPosition:t.descPosition},this.defaults);if(I(e)&&!E(e)){P(e,\"type\")||(P(e,\"content\")&&e.content?e.type=\"inline\":P(e,\"href\")&&(e.type=this.sourceType(e.href)));var s=o(n,e);return this.setSize(s,t),s}var l=\"\",a=e.getAttribute(\"data-glightbox\"),h=e.nodeName.toLowerCase();if(\"a\"===h&&(l=e.href),\"img\"===h&&(l=e.src,n.alt=e.alt),n.href=l,r(n,(function(s,l){P(t,l)&&\"width\"!==l&&(n[l]=t[l]);var o=e.dataset[l];O(o)||(n[l]=i.sanitizeValue(o))})),n.content&&(n.type=\"inline\"),!n.type&&l&&(n.type=this.sourceType(l)),O(a)){if(!n.title&&\"a\"==h){var d=e.title;O(d)||\"\"===d||(n.title=d)}if(!n.title&&\"img\"==h){var c=e.alt;O(c)||\"\"===c||(n.title=c)}}else{var u=[];r(n,(function(e,t){u.push(\";\\\\s?\"+t)})),u=u.join(\"\\\\s?:|\"),\"\"!==a.trim()&&r(n,(function(e,t){var s=a,l=new RegExp(\"s?\"+t+\"s?:s?(.*?)(\"+u+\"s?:|$)\"),o=s.match(l);if(o&&o.length&&o[1]){var r=o[1].trim().replace(/;\\s*$/,\"\");n[t]=i.sanitizeValue(r)}}))}if(n.description&&\".\"===n.description.substring(0,1)){var g;try{g=document.querySelector(n.description).innerHTML}catch(e){if(!(e instanceof DOMException))throw e}g&&(n.description=g)}if(!n.description){var v=e.querySelector(\".glightbox-desc\");v&&(n.description=v.innerHTML)}return this.setSize(n,t,e),this.slideConfig=n,n}},{key:\"setSize\",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=\"video\"==e.type?this.checkSize(t.videosWidth):this.checkSize(t.width),s=this.checkSize(t.height);return e.width=P(e,\"width\")&&\"\"!==e.width?this.checkSize(e.width):n,e.height=P(e,\"height\")&&\"\"!==e.height?this.checkSize(e.height):s,i&&\"image\"==e.type&&(e._hasCustomWidth=!!i.dataset.width,e._hasCustomHeight=!!i.dataset.height),e}},{key:\"checkSize\",value:function(e){return z(e)?\"\".concat(e,\"px\"):e}},{key:\"sanitizeValue\",value:function(e){return\"true\"!==e&&\"false\"!==e?e:\"true\"===e}}]),V=s((function e(t,n,s){i(this,e),this.element=t,this.instance=n,this.index=s}),[{key:\"setContent\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t,\"loaded\"))return!1;var n=this.instance.settings,s=this.slideConfig,l=T();C(n.beforeSlideLoad)&&n.beforeSlideLoad({index:this.index,slide:t,player:!1});var o=s.type,r=s.descPosition,a=t.querySelector(\".gslide-media\"),h=t.querySelector(\".gslide-title\"),c=t.querySelector(\".gslide-desc\"),g=t.querySelector(\".gdesc-inner\"),v=i,f=\"gSlideTitle_\"+this.index,p=\"gSlideDesc_\"+this.index;if(C(n.afterSlideLoad)&&(v=function(){C(i)&&i(),n.afterSlideLoad({index:e.index,slide:t,player:e.instance.getSlidePlayerInstance(e.index)})}),\"\"==s.title&&\"\"==s.description?g&&g.parentNode.parentNode.removeChild(g.parentNode):(h&&\"\"!==s.title?(h.id=f,h.innerHTML=s.title):h.parentNode.removeChild(h),c&&\"\"!==s.description?(c.id=p,l&&n.moreLength>0?(s.smallDescription=this.slideShortDesc(s.description,n.moreLength,n.moreText),c.innerHTML=s.smallDescription,this.descriptionEvents(c,s)):c.innerHTML=s.description):c.parentNode.removeChild(c),d(a.parentNode,\"desc-\".concat(r)),d(g.parentNode,\"description-\".concat(r))),d(a,\"gslide-\".concat(o)),d(t,\"loaded\"),\"video\"!==o){if(\"external\"!==o)return\"inline\"===o?(B.apply(this.instance,[t,s,this.index,v]),void(s.draggable&&new N({dragEl:t.querySelector(\".gslide-inline\"),toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:this.instance}))):void(\"image\"!==o?C(v)&&v():D(t,s,this.index,(function(){var i=t.querySelector(\"img\");s.draggable&&new N({dragEl:i,toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:e.instance}),s.zoomable&&i.naturalWidth>i.offsetWidth&&(d(i,\"zoomable\"),new q(i,t,(function(){e.instance.resize()}))),C(v)&&v()})));H.apply(this,[t,s,this.index,v])}else _.apply(this.instance,[t,s,this.index,v])}},{key:\"slideShortDesc\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement(\"div\");n.innerHTML=e;var s=n.innerText,l=i;if((e=s.trim()).length<=t)return e;var o=e.substr(0,t-1);return l?(n=null,o+'... '+i+\"\"):o}},{key:\"descriptionEvents\",value:function(e,t){var i=this,n=e.querySelector(\".desc-more\");if(!n)return!1;h(\"click\",{onElement:n,withCallback:function(e,n){e.preventDefault();var s=document.body,l=g(n,\".gslide-desc\");if(!l)return!1;l.innerHTML=t.description,d(s,\"gdesc-open\");var o=h(\"click\",{onElement:[s,g(l,\".gslide-description\")],withCallback:function(e,n){\"a\"!==e.target.nodeName.toLowerCase()&&(c(s,\"gdesc-open\"),d(s,\"gdesc-closed\"),l.innerHTML=t.smallDescription,i.descriptionEvents(l,t),setTimeout((function(){c(s,\"gdesc-closed\")}),400),o.destroy())}})}})}},{key:\"create\",value:function(){return y(this.instance.settings.slideHTML)}},{key:\"getConfig\",value:function(){E(this.element)||this.element.hasOwnProperty(\"draggable\")||(this.element.draggable=this.instance.settings.draggable);var e=new j(this.instance.settings.slideExtraAttributes);return this.slideConfig=e.parseConfig(this.element,this.instance.settings),this.slideConfig}}]);function F(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function R(e,t){var i=function(e,t){var i=F(e)*F(t);if(0===i)return 0;var n=function(e,t){return e.x*t.x+e.y*t.y}(e,t)/i;return n>1&&(n=1),Math.acos(n)}(e,t);return function(e,t){return e.x*t.y-t.x*e.y}(e,t)>0&&(i*=-1),180*i/Math.PI}var G=s((function e(t){i(this,e),this.handlers=[],this.el=t}),[{key:\"add\",value:function(e){this.handlers.push(e)}},{key:\"del\",value:function(e){e||(this.handlers=[]);for(var t=this.handlers.length;t>=0;t--)this.handlers[t]===e&&this.handlers.splice(t,1)}},{key:\"dispatch\",value:function(){for(var e=0,t=this.handlers.length;e=0)console.log(\"ignore drag for this touched element\",e.target.nodeName.toLowerCase());else{this.now=Date.now(),this.x1=e.touches[0].pageX,this.y1=e.touches[0].pageY,this.delta=this.now-(this.last||this.now),this.touchStart.dispatch(e,this.element),null!==this.preTapPosition.x&&(this.isDoubleTap=this.delta>0&&this.delta<=250&&Math.abs(this.preTapPosition.x-this.x1)<30&&Math.abs(this.preTapPosition.y-this.y1)<30,this.isDoubleTap&&clearTimeout(this.singleTapTimeout)),this.preTapPosition.x=this.x1,this.preTapPosition.y=this.y1,this.last=this.now;var t=this.preV;if(e.touches.length>1){this._cancelLongTap(),this._cancelSingleTap();var i={x:e.touches[1].pageX-this.x1,y:e.touches[1].pageY-this.y1};t.x=i.x,t.y=i.y,this.pinchStartLen=F(t),this.multipointStart.dispatch(e,this.element)}this._preventTap=!1,this.longTapTimeout=setTimeout(function(){this.longTap.dispatch(e,this.element),this._preventTap=!0}.bind(this),750)}}},{key:\"move\",value:function(e){if(e.touches){var t=this.preV,i=e.touches.length,n=e.touches[0].pageX,s=e.touches[0].pageY;if(this.isDoubleTap=!1,i>1){var l=e.touches[1].pageX,o=e.touches[1].pageY,r={x:e.touches[1].pageX-n,y:e.touches[1].pageY-s};null!==t.x&&(this.pinchStartLen>0&&(e.zoom=F(r)/this.pinchStartLen,this.pinch.dispatch(e,this.element)),e.angle=R(r,t),this.rotate.dispatch(e,this.element)),t.x=r.x,t.y=r.y,null!==this.x2&&null!==this.sx2?(e.deltaX=(n-this.x2+l-this.sx2)/2,e.deltaY=(s-this.y2+o-this.sy2)/2):(e.deltaX=0,e.deltaY=0),this.twoFingerPressMove.dispatch(e,this.element),this.sx2=l,this.sy2=o}else{if(null!==this.x2){e.deltaX=n-this.x2,e.deltaY=s-this.y2;var a=Math.abs(this.x1-this.x2),h=Math.abs(this.y1-this.y2);(a>10||h>10)&&(this._preventTap=!0)}else e.deltaX=0,e.deltaY=0;this.pressMove.dispatch(e,this.element)}this.touchMove.dispatch(e,this.element),this._cancelLongTap(),this.x2=n,this.y2=s,i>1&&e.preventDefault()}}},{key:\"end\",value:function(e){if(e.changedTouches){this._cancelLongTap();var t=this;e.touches.length<2&&(this.multipointEnd.dispatch(e,this.element),this.sx2=this.sy2=null),this.x2&&Math.abs(this.x1-this.x2)>30||this.y2&&Math.abs(this.y1-this.y2)>30?(e.direction=this._swipeDirection(this.x1,this.x2,this.y1,this.y2),this.swipeTimeout=setTimeout((function(){t.swipe.dispatch(e,t.element)}),0)):(this.tapTimeout=setTimeout((function(){t._preventTap||t.tap.dispatch(e,t.element),t.isDoubleTap&&(t.doubleTap.dispatch(e,t.element),t.isDoubleTap=!1)}),0),t.isDoubleTap||(t.singleTapTimeout=setTimeout((function(){t.singleTap.dispatch(e,t.element)}),250))),this.touchEnd.dispatch(e,this.element),this.preV.x=0,this.preV.y=0,this.zoom=1,this.pinchStartLen=null,this.x1=this.x2=this.y1=this.y2=null}}},{key:\"cancelAll\",value:function(){this._preventTap=!0,clearTimeout(this.singleTapTimeout),clearTimeout(this.tapTimeout),clearTimeout(this.longTapTimeout),clearTimeout(this.swipeTimeout)}},{key:\"cancel\",value:function(e){this.cancelAll(),this.touchCancel.dispatch(e,this.element)}},{key:\"_cancelLongTap\",value:function(){clearTimeout(this.longTapTimeout)}},{key:\"_cancelSingleTap\",value:function(){clearTimeout(this.singleTapTimeout)}},{key:\"_swipeDirection\",value:function(e,t,i,n){return Math.abs(e-t)>=Math.abs(i-n)?e-t>0?\"Left\":\"Right\":i-n>0?\"Up\":\"Down\"}},{key:\"on\",value:function(e,t){this[e]&&this[e].add(t)}},{key:\"off\",value:function(e,t){this[e]&&this[e].del(t)}},{key:\"destroy\",value:function(){return this.singleTapTimeout&&clearTimeout(this.singleTapTimeout),this.tapTimeout&&clearTimeout(this.tapTimeout),this.longTapTimeout&&clearTimeout(this.longTapTimeout),this.swipeTimeout&&clearTimeout(this.swipeTimeout),this.element.removeEventListener(\"touchstart\",this.start),this.element.removeEventListener(\"touchmove\",this.move),this.element.removeEventListener(\"touchend\",this.end),this.element.removeEventListener(\"touchcancel\",this.cancel),this.rotate.del(),this.touchStart.del(),this.multipointStart.del(),this.multipointEnd.del(),this.pinch.del(),this.swipe.del(),this.tap.del(),this.doubleTap.del(),this.longTap.del(),this.singleTap.del(),this.pressMove.del(),this.twoFingerPressMove.del(),this.touchMove.del(),this.touchEnd.del(),this.touchCancel.del(),this.preV=this.pinchStartLen=this.zoom=this.isDoubleTap=this.delta=this.last=this.now=this.tapTimeout=this.singleTapTimeout=this.longTapTimeout=this.swipeTimeout=this.x1=this.x2=this.y1=this.y2=this.preTapPosition=this.rotate=this.touchStart=this.multipointStart=this.multipointEnd=this.pinch=this.swipe=this.tap=this.doubleTap=this.longTap=this.singleTap=this.pressMove=this.touchMove=this.touchEnd=this.touchCancel=this.twoFingerPressMove=null,window.removeEventListener(\"scroll\",this._cancelAllHandler),null}}]);function $(e){var t=function(){var e,t=document.createElement(\"fakeelement\"),i={transition:\"transitionend\",OTransition:\"oTransitionEnd\",MozTransition:\"transitionend\",WebkitTransition:\"webkitTransitionEnd\"};for(e in i)if(void 0!==t.style[e])return i[e]}(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u(e,\"gslide-media\")?e:e.querySelector(\".gslide-media\"),s=g(n,\".ginner-container\"),l=e.querySelector(\".gslide-description\");i>769&&(n=s),d(n,\"greset\"),f(n,\"translate3d(0, 0, 0)\"),h(t,{onElement:n,once:!0,withCallback:function(e,t){c(n,\"greset\")}}),n.style.opacity=\"\",l&&(l.style.opacity=\"\")}function J(e){if(e.events.hasOwnProperty(\"touch\"))return!1;var t,i,n,s=x(),l=s.width,o=s.height,r=!1,a=null,h=null,v=null,p=!1,m=1,y=1,b=!1,S=!1,w=null,T=null,C=null,k=null,E=0,A=0,L=!1,I=!1,O={},P={},M=0,z=0,X=document.getElementById(\"glightbox-slider\"),Y=document.querySelector(\".goverlay\"),q=new U(X,{touchStart:function(t){if(r=!0,(u(t.targetTouches[0].target,\"ginner-container\")||g(t.targetTouches[0].target,\".gslide-desc\")||\"a\"==t.targetTouches[0].target.nodeName.toLowerCase())&&(r=!1),g(t.targetTouches[0].target,\".gslide-inline\")&&!u(t.targetTouches[0].target.parentNode,\"gslide-inline\")&&(r=!1),r){if(P=t.targetTouches[0],O.pageX=t.targetTouches[0].pageX,O.pageY=t.targetTouches[0].pageY,M=t.targetTouches[0].clientX,z=t.targetTouches[0].clientY,a=e.activeSlide,h=a.querySelector(\".gslide-media\"),n=a.querySelector(\".gslide-inline\"),v=null,u(h,\"gslide-image\")&&(v=h.querySelector(\"img\")),(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)>769&&(h=a.querySelector(\".ginner-container\")),c(Y,\"greset\"),t.pageX>20&&t.pageXo){var a=O.pageX-P.pageX;if(Math.abs(a)<=13)return!1}p=!0;var d,c=s.targetTouches[0].clientX,u=s.targetTouches[0].clientY,g=M-c,m=z-u;if(Math.abs(g)>Math.abs(m)?(L=!1,I=!0):(I=!1,L=!0),t=P.pageX-O.pageX,E=100*t/l,i=P.pageY-O.pageY,A=100*i/o,L&&v&&(d=1-Math.abs(i)/o,Y.style.opacity=d,e.settings.touchFollowAxis&&(E=0)),I&&(d=1-Math.abs(t)/l,h.style.opacity=d,e.settings.touchFollowAxis&&(A=0)),!v)return f(h,\"translate3d(\".concat(E,\"%, 0, 0)\"));f(h,\"translate3d(\".concat(E,\"%, \").concat(A,\"%, 0)\"))}},touchEnd:function(){if(r){if(p=!1,S||b)return C=w,void(k=T);var t=Math.abs(parseInt(A)),i=Math.abs(parseInt(E));if(!(t>29&&v))return t<29&&i<25?(d(Y,\"greset\"),Y.style.opacity=1,$(h)):void 0;e.close()}},multipointEnd:function(){setTimeout((function(){b=!1}),50)},multipointStart:function(){b=!0,m=y||1},pinch:function(e){if(!v||p)return!1;b=!0,v.scaleX=v.scaleY=m*e.zoom;var t=m*e.zoom;if(S=!0,t<=1)return S=!1,t=1,k=null,C=null,w=null,T=null,void v.setAttribute(\"style\",\"\");t>4.5&&(t=4.5),v.style.transform=\"scale3d(\".concat(t,\", \").concat(t,\", 1)\"),y=t},pressMove:function(e){if(S&&!b){var t=P.pageX-O.pageX,i=P.pageY-O.pageY;C&&(t+=C),k&&(i+=k),w=t,T=i;var n=\"translate3d(\".concat(t,\"px, \").concat(i,\"px, 0)\");y&&(n+=\" scale3d(\".concat(y,\", \").concat(y,\", 1)\")),f(v,n)}},swipe:function(t){if(!S)if(b)b=!1;else{if(\"Left\"==t.direction){if(e.index==e.elements.length-1)return $(h);e.nextSlide()}if(\"Right\"==t.direction){if(0==e.index)return $(h);e.prevSlide()}}}});e.events.touch=q}var K=T(),Q=null!==T()||void 0!==document.createTouch||\"ontouchstart\"in window||\"onmsgesturechange\"in window||navigator.msMaxTouchPoints,ee=document.getElementsByTagName(\"html\")[0],te={selector:\".glightbox\",elements:null,skin:\"clean\",theme:\"clean\",closeButton:!0,startAt:null,autoplayVideos:!0,autofocusVideos:!0,descPosition:\"bottom\",width:\"900px\",height:\"506px\",videosWidth:\"960px\",beforeSlideChange:null,afterSlideChange:null,beforeSlideLoad:null,afterSlideLoad:null,slideInserted:null,slideRemoved:null,slideExtraAttributes:null,onOpen:null,onClose:null,loop:!1,zoomable:!0,draggable:!0,dragAutoSnap:!1,dragToleranceX:40,dragToleranceY:65,preload:!0,oneSlidePerOpen:!1,touchNavigation:!0,touchFollowAxis:!0,keyboardNavigation:!0,closeOnOutsideClick:!0,plugins:!1,plyr:{css:\"https://cdn.plyr.io/3.6.12/plyr.css\",js:\"https://cdn.plyr.io/3.6.12/plyr.js\",config:{ratio:\"16:9\",fullscreen:{enabled:!0,iosNative:!0},youtube:{noCookie:!0,rel:0,showinfo:0,iv_load_policy:3},vimeo:{byline:!1,portrait:!1,title:!1,transparent:!1}}},openEffect:\"zoom\",closeEffect:\"zoom\",slideEffect:\"slide\",moreText:\"See more\",moreLength:60,cssEfects:{fade:{in:\"fadeIn\",out:\"fadeOut\"},zoom:{in:\"zoomIn\",out:\"zoomOut\"},slide:{in:\"slideInRight\",out:\"slideOutLeft\"},slideBack:{in:\"slideInLeft\",out:\"slideOutRight\"},none:{in:\"none\",out:\"none\"}},svg:{close:'',next:' ',prev:''},slideHTML:'
\\n
\\n
\\n
\\n
\\n
\\n
\\n

\\n
\\n
\\n
\\n
\\n
\\n
',lightboxHTML:'
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
'},ie=s((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.customOptions=t,this.settings=o(te,t),this.effectsClasses=this.getAnimationClasses(),this.videoPlayers={},this.apiEvents=[],this.fullElementsList=!1}),[{key:\"init\",value:function(){var e=this,t=this.getSelector();t&&(this.baseEvents=h(\"click\",{onElement:t,withCallback:function(t,i){t.preventDefault(),e.open(i)}})),this.elements=this.getElements()}},{key:\"open\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(0===this.elements.length)return!1;this.activeSlide=null,this.prevActiveSlideIndex=null,this.prevActiveSlide=null;var i=z(t)?t:this.settings.startAt;if(E(e)){var n=e.getAttribute(\"data-gallery\");n&&(this.fullElementsList=this.elements,this.elements=this.getGalleryElements(this.elements,n)),O(i)&&(i=this.getElementIndex(e))<0&&(i=0)}z(i)||(i=0),this.build(),v(this.overlay,\"none\"===this.settings.openEffect?\"none\":this.settings.cssEfects.fade.in);var s=document.body,l=window.innerWidth-document.documentElement.clientWidth;if(l>0){var o=document.createElement(\"style\");o.type=\"text/css\",o.className=\"gcss-styles\",o.innerText=\".gscrollbar-fixer {margin-right: \".concat(l,\"px}\"),document.head.appendChild(o),d(s,\"gscrollbar-fixer\")}d(s,\"glightbox-open\"),d(ee,\"glightbox-open\"),K&&(d(document.body,\"glightbox-mobile\"),this.settings.slideEffect=\"slide\"),this.showSlide(i,!0),1===this.elements.length?(d(this.prevButton,\"glightbox-button-hidden\"),d(this.nextButton,\"glightbox-button-hidden\")):(c(this.prevButton,\"glightbox-button-hidden\"),c(this.nextButton,\"glightbox-button-hidden\")),this.lightboxOpen=!0,this.trigger(\"open\"),C(this.settings.onOpen)&&this.settings.onOpen(),Q&&this.settings.touchNavigation&&J(this),this.settings.keyboardNavigation&&Y(this)}},{key:\"openAt\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.open(null,e)}},{key:\"showSlide\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];p(this.loader),this.index=parseInt(t);var n=this.slidesContainer.querySelector(\".current\");n&&c(n,\"current\"),this.slideAnimateOut();var s=this.slidesContainer.querySelectorAll(\".gslide\")[t];if(u(s,\"loaded\"))this.slideAnimateIn(s,i),m(this.loader);else{p(this.loader);var l=this.elements[t],o={index:this.index,slide:s,slideNode:s,slideConfig:l.slideConfig,slideIndex:this.index,trigger:l.node,player:null};this.trigger(\"slide_before_load\",o),l.instance.setContent(s,(function(){m(e.loader),e.resize(),e.slideAnimateIn(s,i),e.trigger(\"slide_after_load\",o)}))}this.slideDescription=s.querySelector(\".gslide-description\"),this.slideDescriptionContained=this.slideDescription&&u(this.slideDescription.parentNode,\"gslide-media\"),this.settings.preload&&(this.preloadSlide(t+1),this.preloadSlide(t-1)),this.updateNavigationClasses(),this.activeSlide=s}},{key:\"preloadSlide\",value:function(e){var t=this;if(e<0||e>this.elements.length-1)return!1;if(O(this.elements[e]))return!1;var i=this.slidesContainer.querySelectorAll(\".gslide\")[e];if(u(i,\"loaded\"))return!1;var n=this.elements[e],s=n.type,l={index:e,slide:i,slideNode:i,slideConfig:n.slideConfig,slideIndex:e,trigger:n.node,player:null};this.trigger(\"slide_before_load\",l),\"video\"===s||\"external\"===s?setTimeout((function(){n.instance.setContent(i,(function(){t.trigger(\"slide_after_load\",l)}))}),200):n.instance.setContent(i,(function(){t.trigger(\"slide_after_load\",l)}))}},{key:\"prevSlide\",value:function(){this.goToSlide(this.index-1)}},{key:\"nextSlide\",value:function(){this.goToSlide(this.index+1)}},{key:\"goToSlide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.prevActiveSlide=this.activeSlide,this.prevActiveSlideIndex=this.index,!this.loop()&&(e<0||e>this.elements.length-1))return!1;e<0?e=this.elements.length-1:e>=this.elements.length&&(e=0),this.showSlide(e)}},{key:\"insertSlide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;t<0&&(t=this.elements.length);var i=new V(e,this,t),n=i.getConfig(),s=o({},n),l=i.create(),r=this.elements.length-1;s.index=t,s.node=!1,s.instance=i,s.slideConfig=n,this.elements.splice(t,0,s);var a=null,h=null;if(this.slidesContainer){if(t>r)this.slidesContainer.appendChild(l);else{var d=this.slidesContainer.querySelectorAll(\".gslide\")[t];this.slidesContainer.insertBefore(l,d)}(this.settings.preload&&0==this.index&&0==t||this.index-1==t||this.index+1==t)&&this.preloadSlide(t),0===this.index&&0===t&&(this.index=1),this.updateNavigationClasses(),a=this.slidesContainer.querySelectorAll(\".gslide\")[t],h=this.getSlidePlayerInstance(t),s.slideNode=a}this.trigger(\"slide_inserted\",{index:t,slide:a,slideNode:a,slideConfig:n,slideIndex:t,trigger:null,player:h}),C(this.settings.slideInserted)&&this.settings.slideInserted({index:t,slide:a,player:h})}},{key:\"removeSlide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e<0||e>this.elements.length-1)return!1;var t=this.slidesContainer&&this.slidesContainer.querySelectorAll(\".gslide\")[e];t&&(this.getActiveSlideIndex()==e&&(e==this.elements.length-1?this.prevSlide():this.nextSlide()),t.parentNode.removeChild(t)),this.elements.splice(e,1),this.trigger(\"slide_removed\",e),C(this.settings.slideRemoved)&&this.settings.slideRemoved(e)}},{key:\"slideAnimateIn\",value:function(e,t){var i=this,n=e.querySelector(\".gslide-media\"),s=e.querySelector(\".gslide-description\"),l={index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlide,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},o={index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideConfig:this.elements[this.index].slideConfig,slideIndex:this.index,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)};if(n.offsetWidth>0&&s&&(m(s),s.style.display=\"\"),c(e,this.effectsClasses),t)v(e,this.settings.cssEfects[this.settings.openEffect].in,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger(\"slide_changed\",{prev:l,current:o}),C(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}));else{var r=this.settings.slideEffect,a=\"none\"!==r?this.settings.cssEfects[r].in:r;this.prevActiveSlideIndex>this.index&&\"slide\"==this.settings.slideEffect&&(a=this.settings.cssEfects.slideBack.in),v(e,a,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger(\"slide_changed\",{prev:l,current:o}),C(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}))}setTimeout((function(){i.resize(e)}),100),d(e,\"current\")}},{key:\"slideAnimateOut\",value:function(){if(!this.prevActiveSlide)return!1;var e=this.prevActiveSlide;c(e,this.effectsClasses),d(e,\"prev\");var t=this.settings.slideEffect,i=\"none\"!==t?this.settings.cssEfects[t].out:t;this.slidePlayerPause(e),this.trigger(\"slide_before_change\",{prev:{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlideIndex,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},current:{index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideIndex:this.index,slideConfig:this.elements[this.index].slideConfig,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)}}),C(this.settings.beforeSlideChange)&&this.settings.beforeSlideChange.apply(this,[{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},{index:this.index,slide:this.activeSlide,player:this.getSlidePlayerInstance(this.index)}]),this.prevActiveSlideIndex>this.index&&\"slide\"==this.settings.slideEffect&&(i=this.settings.cssEfects.slideBack.out),v(e,i,(function(){var t=e.querySelector(\".ginner-container\"),i=e.querySelector(\".gslide-media\"),n=e.querySelector(\".gslide-description\");t.style.transform=\"\",i.style.transform=\"\",c(i,\"greset\"),i.style.opacity=\"\",n&&(n.style.opacity=\"\"),c(e,\"prev\")}))}},{key:\"getAllPlayers\",value:function(){return this.videoPlayers}},{key:\"getSlidePlayerInstance\",value:function(e){var t=\"gvideo\"+e,i=this.getAllPlayers();return!(!P(i,t)||!i[t])&&i[t]}},{key:\"stopSlideVideo\",value:function(e){if(E(e)){var t=e.querySelector(\".gvideo-wrapper\");t&&(e=t.getAttribute(\"data-index\"))}console.log(\"stopSlideVideo is deprecated, use slidePlayerPause\");var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:\"slidePlayerPause\",value:function(e){if(E(e)){var t=e.querySelector(\".gvideo-wrapper\");t&&(e=t.getAttribute(\"data-index\"))}var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:\"playSlideVideo\",value:function(e){if(E(e)){var t=e.querySelector(\".gvideo-wrapper\");t&&(e=t.getAttribute(\"data-index\"))}console.log(\"playSlideVideo is deprecated, use slidePlayerPlay\");var i=this.getSlidePlayerInstance(e);i&&!i.playing&&i.play()}},{key:\"slidePlayerPlay\",value:function(e){var t;if(!K||null!==(t=this.settings.plyr.config)&&void 0!==t&&t.muted){if(E(e)){var i=e.querySelector(\".gvideo-wrapper\");i&&(e=i.getAttribute(\"data-index\"))}var n=this.getSlidePlayerInstance(e);n&&!n.playing&&(n.play(),this.settings.autofocusVideos&&n.elements.container.focus())}}},{key:\"setElements\",value:function(e){var t=this;this.settings.elements=!1;var i=[];e&&e.length&&r(e,(function(e,n){var s=new V(e,t,n),l=s.getConfig(),r=o({},l);r.slideConfig=l,r.instance=s,r.index=n,i.push(r)})),this.elements=i,this.lightboxOpen&&(this.slidesContainer.innerHTML=\"\",this.elements.length&&(r(this.elements,(function(){var e=y(t.settings.slideHTML);t.slidesContainer.appendChild(e)})),this.showSlide(0,!0)))}},{key:\"getElementIndex\",value:function(e){var t=!1;return r(this.elements,(function(i,n){if(P(i,\"node\")&&i.node==e)return t=n,!0})),t}},{key:\"getElements\",value:function(){var e=this,t=[];this.elements=this.elements?this.elements:[],!O(this.settings.elements)&&A(this.settings.elements)&&this.settings.elements.length&&r(this.settings.elements,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=!1,r.index=n,r.instance=s,r.slideConfig=l,t.push(r)}));var i=!1;return this.getSelector()&&(i=document.querySelectorAll(this.getSelector())),i?(r(i,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=i,r.index=n,r.instance=s,r.slideConfig=l,r.gallery=i.getAttribute(\"data-gallery\"),t.push(r)})),t):t}},{key:\"getGalleryElements\",value:function(e,t){return e.filter((function(e){return e.gallery==t}))}},{key:\"getSelector\",value:function(){return!this.settings.elements&&(this.settings.selector&&\"data-\"==this.settings.selector.substring(0,5)?\"*[\".concat(this.settings.selector,\"]\"):this.settings.selector)}},{key:\"getActiveSlide\",value:function(){return this.slidesContainer.querySelectorAll(\".gslide\")[this.index]}},{key:\"getActiveSlideIndex\",value:function(){return this.index}},{key:\"getAnimationClasses\",value:function(){var e=[];for(var t in this.settings.cssEfects)if(this.settings.cssEfects.hasOwnProperty(t)){var i=this.settings.cssEfects[t];e.push(\"g\".concat(i.in)),e.push(\"g\".concat(i.out))}return e.join(\" \")}},{key:\"build\",value:function(){var e=this;if(this.built)return!1;var t=document.body.childNodes,i=[];r(t,(function(e){e.parentNode==document.body&&\"#\"!==e.nodeName.charAt(0)&&e.hasAttribute&&!e.hasAttribute(\"aria-hidden\")&&(i.push(e),e.setAttribute(\"aria-hidden\",\"true\"))}));var n=P(this.settings.svg,\"next\")?this.settings.svg.next:\"\",s=P(this.settings.svg,\"prev\")?this.settings.svg.prev:\"\",l=P(this.settings.svg,\"close\")?this.settings.svg.close:\"\",o=this.settings.lightboxHTML;o=y(o=(o=(o=o.replace(/{nextSVG}/g,n)).replace(/{prevSVG}/g,s)).replace(/{closeSVG}/g,l)),document.body.appendChild(o);var a=document.getElementById(\"glightbox-body\");this.modal=a;var c=a.querySelector(\".gclose\");this.prevButton=a.querySelector(\".gprev\"),this.nextButton=a.querySelector(\".gnext\"),this.overlay=a.querySelector(\".goverlay\"),this.loader=a.querySelector(\".gloader\"),this.slidesContainer=document.getElementById(\"glightbox-slider\"),this.bodyHiddenChildElms=i,this.events={},d(this.modal,\"glightbox-\"+this.settings.skin),this.settings.closeButton&&c&&(this.events.close=h(\"click\",{onElement:c,withCallback:function(t,i){t.preventDefault(),e.close()}})),c&&!this.settings.closeButton&&c.parentNode.removeChild(c),this.nextButton&&(this.events.next=h(\"click\",{onElement:this.nextButton,withCallback:function(t,i){t.preventDefault(),e.nextSlide()}})),this.prevButton&&(this.events.prev=h(\"click\",{onElement:this.prevButton,withCallback:function(t,i){t.preventDefault(),e.prevSlide()}})),this.settings.closeOnOutsideClick&&(this.events.outClose=h(\"click\",{onElement:a,withCallback:function(t,i){e.preventOutsideClick||u(document.body,\"glightbox-mobile\")||g(t.target,\".ginner-container\")||g(t.target,\".gbtn\")||u(t.target,\"gnext\")||u(t.target,\"gprev\")||e.close()}})),r(this.elements,(function(t,i){e.slidesContainer.appendChild(t.instance.create()),t.slideNode=e.slidesContainer.querySelectorAll(\".gslide\")[i]})),Q&&d(document.body,\"glightbox-touch\"),this.events.resize=h(\"resize\",{onElement:window,withCallback:function(){e.resize()}}),this.built=!0}},{key:\"resize\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if((e=e||this.activeSlide)&&!u(e,\"zoomed\")){var t=x(),i=e.querySelector(\".gvideo-wrapper\"),n=e.querySelector(\".gslide-image\"),s=this.slideDescription,l=t.width,o=t.height;if(l<=768?d(document.body,\"glightbox-mobile\"):c(document.body,\"glightbox-mobile\"),i||n){var r=!1;if(s&&(u(s,\"description-bottom\")||u(s,\"description-top\"))&&!u(s,\"gabsolute\")&&(r=!0),n)if(l<=768)n.querySelector(\"img\");else if(r){var a,h=s.offsetHeight,g=n.querySelector(\"img\"),v=this.elements[this.index].node,f=null!==(a=v.getAttribute(\"data-height\"))&&void 0!==a?a:\"100vh\";g.setAttribute(\"style\",\"max-height: calc(\".concat(f,\" - \").concat(h,\"px)\")),s.setAttribute(\"style\",\"max-width: \".concat(g.offsetWidth,\"px;\"))}if(i){var p=P(this.settings.plyr.config,\"ratio\")?this.settings.plyr.config.ratio:\"\";if(!p){var m=i.clientWidth,y=i.clientHeight,b=m/y;p=\"\".concat(m/b,\":\").concat(y/b)}var S=p.split(\":\"),w=this.settings.videosWidth,T=this.settings.videosWidth,C=(T=z(w)||-1!==w.indexOf(\"px\")?parseInt(w):-1!==w.indexOf(\"vw\")?l*parseInt(w)/100:-1!==w.indexOf(\"vh\")?o*parseInt(w)/100:-1!==w.indexOf(\"%\")?l*parseInt(w)/100:parseInt(i.clientWidth))/(parseInt(S[0])/parseInt(S[1]));if(C=Math.floor(C),r&&(o-=s.offsetHeight),T>l||C>o||oT){var k=i.offsetWidth,E=i.offsetHeight,A=o/E,L={width:k*A,height:E*A};i.parentNode.setAttribute(\"style\",\"max-width: \".concat(L.width,\"px\")),r&&s.setAttribute(\"style\",\"max-width: \".concat(L.width,\"px;\"))}else i.parentNode.style.maxWidth=\"\".concat(w),r&&s.setAttribute(\"style\",\"max-width: \".concat(w,\";\"))}}}}},{key:\"reload\",value:function(){this.init()}},{key:\"updateNavigationClasses\",value:function(){var e=this.loop();c(this.nextButton,\"disabled\"),c(this.prevButton,\"disabled\"),0==this.index&&this.elements.length-1==0?(d(this.prevButton,\"disabled\"),d(this.nextButton,\"disabled\")):0!==this.index||e?this.index!==this.elements.length-1||e||d(this.nextButton,\"disabled\"):d(this.prevButton,\"disabled\")}},{key:\"loop\",value:function(){var e=P(this.settings,\"loopAtEnd\")?this.settings.loopAtEnd:null;return e=P(this.settings,\"loop\")?this.settings.loop:e,e}},{key:\"close\",value:function(){var e=this;if(!this.lightboxOpen){if(this.events){for(var t in this.events)this.events.hasOwnProperty(t)&&this.events[t].destroy();this.events=null}return!1}if(this.closing)return!1;this.closing=!0,this.slidePlayerPause(this.activeSlide),this.fullElementsList&&(this.elements=this.fullElementsList),this.bodyHiddenChildElms.length&&r(this.bodyHiddenChildElms,(function(e){e.removeAttribute(\"aria-hidden\")})),d(this.modal,\"glightbox-closing\"),v(this.overlay,\"none\"==this.settings.openEffect?\"none\":this.settings.cssEfects.fade.out),v(this.activeSlide,this.settings.cssEfects[this.settings.closeEffect].out,(function(){if(e.activeSlide=null,e.prevActiveSlideIndex=null,e.prevActiveSlide=null,e.built=!1,e.events){for(var t in e.events)e.events.hasOwnProperty(t)&&e.events[t].destroy();e.events=null}var i=document.body;c(ee,\"glightbox-open\"),c(i,\"glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer\"),e.modal.parentNode.removeChild(e.modal),e.trigger(\"close\"),C(e.settings.onClose)&&e.settings.onClose();var n=document.querySelector(\".gcss-styles\");n&&n.parentNode.removeChild(n),e.lightboxOpen=!1,e.closing=null}))}},{key:\"destroy\",value:function(){this.close(),this.clearAllEvents(),this.baseEvents&&this.baseEvents.destroy()}},{key:\"on\",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||!C(t))throw new TypeError(\"Event name and callback must be defined\");this.apiEvents.push({evt:e,once:i,callback:t})}},{key:\"once\",value:function(e,t){this.on(e,t,!0)}},{key:\"trigger\",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=[];r(this.apiEvents,(function(t,s){var l=t.evt,o=t.once,r=t.callback;l==e&&(r(i),o&&n.push(s))})),n.length&&r(n,(function(e){return t.apiEvents.splice(e,1)}))}},{key:\"clearAllEvents\",value:function(){this.apiEvents.splice(0,this.apiEvents.length)}},{key:\"version\",value:function(){return\"3.3.0\"}}]);return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new ie(e);return t.init(),t}}));","\nimport GLightbox from 'GLightbox';\n\nexport default class Glightbox {\n constructor(element) {\n this.element = element;\n this.button = document.querySelector(\".js-glightbox__button\");\n }\n\n mount() {\n const lightbox = GLightbox({\n 'selector': '.glightbox'\n });\n }\n}\n","import Glightbox from './Glightbox';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n const glightboxElement = document.querySelectorAll('.glightbox');\n if (!glightboxElement.length) {\n return;\n }\n\n glightboxElement.forEach((element) => {\n const glightboxE = new Glightbox(element);\n glightboxE.mount(element);\n })\n});\n","\nimport GLightbox from 'GLightbox';\n\nexport default class Glightbox {\n constructor(element) {\n this.element = element;\n }\n\n mount() {\n const lightbox = GLightbox({\n 'selector': '.glightbox'\n });\n\n this.element.addEventListener('click', function(){\n lightbox.open();\n })\n }\n}\n","import Glightboxbutton from './Glightboxbutton';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n const glightboxElement = document.querySelectorAll('.js-glightbox__button');\n if (!glightboxElement.length) {\n return;\n }\n\n glightboxElement.forEach((element) => {\n const glightboxE = new Glightboxbutton(element);\n glightboxE.mount(element);\n })\n});\n","import 'mdn-polyfills/NodeList.prototype.forEach';\n\nexport default class Viewport {\n constructor(element) {\n this.element = element;\n }\n\n mount() {\n this.element.classList.add(\"is-viewport\");\n }\n\n unmount() {\n if(this.element.classList.contains(\"is-viewport\")){\n this.element.classList.remove(\"is-viewport\");\n\n const event = new Event('viewport:notIntersecting');\n document.dispatchEvent(event);\n }\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Viewport from './Viewport';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n const isReduced = window.matchMedia(`(prefers-reduced-motion: reduce)`) === true || window.matchMedia(`(prefers-reduced-motion: reduce)`).matches === true;\n\n if (!!isReduced) {\n } else {\n const observedElements = document.querySelectorAll('.is-observed');\n if (!observedElements.length) {\n return;\n }\n var halfHauter = window.innerHeight*(-0.5);\n\n if(!!window.IntersectionObserver){\n let observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if(entry.isIntersecting){\n const observedElement = new Viewport(entry.target);\n observedElement.mount();\n } else{\n const observedElement = new Viewport(entry.target);\n observedElement.unmount();\n }\n });\n }, {rootMargin: \"0px 0px \"+ halfHauter+\"px 0px\"});\n document.querySelectorAll('.is-observed').forEach(observedElement => {\n observer.observe(observedElement) });\n }\n }\n});\n"],"names":["window","NodeList","prototype","forEach","o","t","i","this","length","call","Toggler","constructor","element","target","autoClose","autoFocus","expanded","mounted","isWaiting","lastEventType","handleClick","bind","handleKeyup","handleTarget","handleToggling","handleTransitionEnd","handleAnimationEnd","handleAutoClose","e","type","contains","hide","document","removeEventListener","preventDefault","dispatchEvent","CustomEvent","detail","toggler","toggle","key","setAttribute","classList","remove","show","addEventListener","focus","ignore","add","mount","id","tagName","unmount","removeAttribute","Navigation$1","togglers","hasMegaMenu","tmp","offsetWidth","header","querySelector","handleTargetChange","handleTogglerHide","handleTogglerShow","updateBackdrop","hasTogglerExpanded","querySelectorAll","getElementById","dataset","navigationToggler","push","Header","navigationTogglers","height","offsetHeight","hasResized","tmpWidth","hasScrolled","tmpScroll","documentElement","scrollTop","lastDcrollDown","navigation","burger","direction","isPinned","isSticky","hasNavigationActive","handleNavigationHide","handleNavigationShow","handleNavigationUpdate","handleScroll","handlePinned","handleResize","updateNavigation","calculate","scrollbarWidth","innerWidth","body","clientWidth","style","setProperty","innerHeight","isNavigationHasTogglerExpanded","updateResize","isTogglable","getComputedStyle","getPropertyValue","offsetWidt","updateScroll","nav","Navigation","headerHeight","headerToggler","loop","requestAnimationFrame","headerElement","Component","static","settings","listeners","options","getNode","parameter","Element","testSelector","fire","data","listener","on","handler","off","index","indexOf","splice","Details","open","rememberExpanded","hasAdditionalControl","i18n","hideSection","showSection","control","content","label","handleControlClick","handleContentBeforeMatch","handleHashChange","handleToggle","super","getAttribute","Error","isNativeDetails","sessionStorageValue","console","error","_handleControlClick","_handleContentBeforeMatch","_handleHashChange","_handleToggle","state","sessionStorage","getItem","toLowerCase","value","setItem","additionalControl","location","hash","substring","convertControlToButton","createElement","getAttributeNames","reduce","acc","name","innerHTML","replaceWith","resetControl","addAdditionalControl","marker","outerHTML","appendChild","removeAdditionalControl","close","removeItem","isObject","obj","Object","extend","src","keys","$detailsElements","$details","ssrDocument","activeElement","blur","nodeName","createEvent","initEvent","children","childNodes","getElementsByTagName","createElementNS","importNode","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","Image","Date","screen","setTimeout","clearTimeout","matchMedia","callback","cancelAnimationFrame","getWindow","win","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","split","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","slice","to","arguments","undefined","noExtend","nextSource","node","HTMLElement","nodeType","keysArray","filter","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","elementChildren","selector","HTMLSlotElement","assignedElements","matches","showWarning","text","warn","err","tag","classes","Array","isArray","trim","c","classesToTokens","elementStyle","prop","elementIndex","child","previousSibling","elementOuterSize","size","includeMargins","makeElementsArray","support","deviceCached","browser","getSupport","smoothScroll","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","events","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","eventHandler","emit","context","_len2","_key2","unshift","toggleSlideClasses$1","slideEl","condition","className","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","shadowRoot","unlazy","slides","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","realIndex","update","updateSize","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","onTouchStart","originalEvent","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","parent","isChild","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","bySwiperTouchMove","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","points","point","minRatio","substr","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","getEl","res","toggleEl","disabled","subEl","disabledClass","lockClass","onPrevClick","onNextClick","checkProps","createElementIfNotDefined","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","_s","targetIsButton","find","pagination","clickable","isHidden","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","parents","parentElement","elementParents","disconnect","Slider","swiperElement","spacing","spaceBetweenValues","slideChange","slideChangeTransitionEnd","updateTabIndex","slideButtons","sliders","Collapsible","isPersistent","hasTransition","isHiding","handleFocusout","handleKeydown","handleOutsideClick","_handleFocusout","_handleKeydown","_handleOutsideClick","_handleTransitionEnd","relatedTarget","keyCode","refocus","Dropdown","DropdownChoice","cancel","confirm","reset","label_empty","label_count","singular","plural","inputs","backup","handleChange","handleConfirmClick","handleCancelClick","handleResetClick","_handleChange","_handleCancelClick","_handleConfirmClick","_handleResetClick","selected","checked","innerText","$input","$dropdowns","$dropdown","$dropdownsChoice","$dropdownChoice","$firstInput","exports","Symbol","toPrimitive","n","TypeError","iterator","s","configurable","writable","defineProperty","l","hasOwnProperty","r","E","L","I","M","P","all","fn","h","onElement","withCallback","avoidDuplicate","d","useCapture","u","g","C","k","msMatchesSelector","f","p","display","createDocumentFragment","firstChild","animation","OAnimation","MozAnimation","WebkitAnimation","S","setInterval","clearInterval","w","O","rel","media","insertBefore","onload","T","A","isFinite","z","X","concat","Y","keyboard","toLocaleLowerCase","q","img","onclose","setZoomEvents","active","zoomedIn","dragging","initialX","initialY","xOffset","yOffset","dragStart","dragEnd","drag","zoomOut","zoomIn","widowWidth","maxWidth","naturalWidth","maxHeight","naturalHeight","clientX","clientY","isDragging","N","dragEl","toleranceX","toleranceY","instance","lastDirection","toleranceReached","dragContainer","doSlideChange","preventOutsideClick","doSlideClose","shouldChange","dragAutoSnap","shouldClose","lastChild","D","sizes","srcset","alt","title","description","_hasCustomWidth","_hasCustomHeight","getAllPlayers","plyr","css","videoProvider","js","config","Plyr","ready","resize","W","B","pop","cloneNode","H","allow","appendTo","j","descPosition","zoomable","draggable","sourceType","setSize","sanitizeValue","RegExp","DOMException","slideConfig","checkSize","videosWidth","V","beforeSlideLoad","player","afterSlideLoad","getSlidePlayerInstance","removeChild","moreLength","smallDescription","slideShortDesc","moreText","descriptionEvents","dragToleranceX","dragToleranceY","slideHTML","slideExtraAttributes","parseConfig","F","R","acos","G","handlers","Z","U","start","move","end","preV","pinchStartLen","zoom","isDoubleTap","rotate","touchStart","multipointStart","multipointEnd","pinch","swipe","tap","doubleTap","longTap","singleTap","pressMove","twoFingerPressMove","touchMove","touchEnd","touchCancel","translateContainer","_cancelAllHandler","cancelAll","delta","last","tapTimeout","singleTapTimeout","longTapTimeout","swipeTimeout","x1","x2","y1","y2","preTapPosition","log","dispatch","_cancelLongTap","_cancelSingleTap","_preventTap","angle","sx2","deltaX","deltaY","sy2","_swipeDirection","del","$","OTransition","MozTransition","WebkitTransition","opacity","J","touchFollowAxis","scaleX","scaleY","elements","K","Q","createTouch","msMaxTouchPoints","ee","te","skin","theme","closeButton","startAt","autoplayVideos","autofocusVideos","beforeSlideChange","afterSlideChange","slideInserted","slideRemoved","onOpen","onClose","oneSlidePerOpen","touchNavigation","keyboardNavigation","closeOnOutsideClick","plugins","fullscreen","iosNative","youtube","noCookie","showinfo","iv_load_policy","vimeo","byline","portrait","transparent","openEffect","closeEffect","slideEffect","cssEfects","fade","in","out","slideBack","none","svg","lightboxHTML","ie","customOptions","effectsClasses","getAnimationClasses","videoPlayers","apiEvents","fullElementsList","getSelector","baseEvents","getElements","prevActiveSlideIndex","prevActiveSlide","getGalleryElements","getElementIndex","build","overlay","head","showSlide","prevButton","nextButton","lightboxOpen","trigger","loader","slidesContainer","slideAnimateOut","slideAnimateIn","slideNode","setContent","slideDescription","slideDescriptionContained","preloadSlide","updateNavigationClasses","goToSlide","getConfig","create","getActiveSlideIndex","slidePlayerPlay","slidePlayerPause","playing","pause","play","muted","container","gallery","built","charAt","hasAttribute","modal","bodyHiddenChildElms","outClose","loopAtEnd","closing","clearAllEvents","Glightbox$1","GLightbox","glightboxElement","Glightbox","lightbox","Glightboxbutton","Viewport","Event","halfHauter","IntersectionObserver","entry","isIntersecting","rootMargin","observedElement"],"mappings":"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","x_google_ignoreList":[0,5,7,9,10,11,12,15,19]}