{"version":3,"file":"../homepage.min.js","sources":["homepage.min.js"],"sourcesContent":["// #region Banner Slider\r\nfunction initBannerSliders() {\r\n let bannerSliders = document.querySelectorAll('section.banner-slider');\r\n if (bannerSliders !== undefined && bannerSliders !== null && bannerSliders.length > 0) {\r\n bannerSliders.forEach((item) => {\r\n let isAutoplay = true;\r\n let timeout = 3000;\r\n const timeoutValue = item.querySelector(\".banner-slider__wrapper\").getAttribute(\"data-autoplay-timeout\");\r\n const owl = $(item).find('.banner-slider__wrapper.owl-carousel');\r\n\r\n if (timeoutValue !== null) {\r\n if (timeoutValue == 0) {\r\n isAutoplay = false;\r\n } else {\r\n timeout = timeoutValue;\r\n }\r\n }\r\n\r\n owl.owlCarousel({\r\n items: 1,\r\n touchDrag: true,\r\n lazyLoad: false,\r\n loop: true,\r\n margin: 10,\r\n nav: true,\r\n autoplay: isAutoplay,\r\n animateOut: 'fadeOut',\r\n navText: ['', ''],\r\n autoplayTimeout: timeout\r\n });\r\n\r\n if (isAutoplay) {\r\n // Si l'utilisateur slide, on stope puis relance l'autoplay, sinon la durée de l'autoplay n'est\r\n // pas reset après l'action du user\r\n owl.on('changed.owl.carousel', function (e) {\r\n owl.trigger('stop.owl.autoplay');\r\n owl.trigger('play.owl.autoplay');\r\n });\r\n }\r\n\r\n let wrapperNextPrevious = $(item).find('.controls__prev-next');\r\n wrapperNextPrevious.children().on('click', (e) => {\r\n let btnClicked = e.target;\r\n\r\n btnClicked.classList.contains('next')\r\n ? owl.trigger('next.owl.carousel')\r\n : owl.trigger('prev.owl.carousel')\r\n })\r\n\r\n const dots = owl.find('.owl-dots');\r\n dots.find(\".owl-dot\").each((index, dot) => {\r\n $(dot).on(\"click\", () => {\r\n owl.trigger(\"to.owl.carousel\", index);\r\n })\r\n })\r\n })\r\n }\r\n}\r\n\r\n// #endregion\r\n\r\n// #region Cards Slider\r\nfunction initCardsSections() {\r\n let cardsSections = document.querySelectorAll('section.cards-slider .cards-slider__cards');\r\n if (cardsSections !== undefined && cardsSections !== null && cardsSections.length > 0) {\r\n cardsSections.forEach((section) => {\r\n var actionButtonWrapper = null;\r\n var actionButtonPrevious = null;\r\n var actionButtonNext = null;\r\n var cards = null;\r\n\r\n initCards();\r\n\r\n actionButtonWrapper = section.querySelector('.cards__actions');\r\n actionButtonPrevious = actionButtonWrapper.querySelector('.actions__previous button');\r\n actionButtonNext = actionButtonWrapper.querySelector('.actions__next button');\r\n\r\n actionButtonPrevious.addEventListener('click', () => {\r\n movePositionCards('prev', cards)\r\n })\r\n actionButtonNext.addEventListener('click', () => {\r\n movePositionCards('next', cards)\r\n })\r\n\r\n initCardsIndicators(cards);\r\n\r\n let firstIndicator = section.querySelector('.actions__indicator > div:first-of-type');\r\n if (firstIndicator) firstIndicator.classList.add('-active');\r\n\r\n dragCards();\r\n\r\n function initCardsIndicators(cards) {\r\n let indicatorsWrapper = section.querySelector('.actions__indicator');\r\n let indicators = indicatorsWrapper.querySelectorAll('div');\r\n cards.forEach((item => {\r\n let newIndicator = document.createElement('div');\r\n newIndicator.classList.add('indicator', '-dot');\r\n indicatorsWrapper.appendChild(newIndicator);\r\n }))\r\n\r\n let i = 1;\r\n\r\n indicators.forEach((item) => {\r\n item.setAttribute('data-position', i)\r\n i++;\r\n })\r\n }\r\n\r\n function initCards() {\r\n cards = section.querySelectorAll('.cards__item');\r\n initPositionCards(cards);\r\n }\r\n\r\n function initPositionCards(array) {\r\n let i = array.length;\r\n let j = 0;\r\n\r\n array.forEach((item) => {\r\n item.setAttribute(\"data-position\", j + 1);\r\n item.style.transfrom = \"translateX(0)\";\r\n if (window.innerWidth < 400) {\r\n item.style.transform = \"translateX(\" + j * 15 + \"px) scale(\" + (1 - (j * 0.05)) + \")\";\r\n } else {\r\n item.style.transform = \"translateX(\" + j * 20 + \"px) scale(\" + (1 - (j * 0.05)) + \")\";\r\n }\r\n item.style.zIndex = i;\r\n i--;\r\n j++;\r\n })\r\n }\r\n\r\n function movePositionCards(action, array) {\r\n let firstCard = array[0];\r\n let lastCard = array[array.length - 1];\r\n let firstIndicator = section.querySelector('.indicator:first-of-type');\r\n let lastIndicator = section.querySelector('.indicator:last-of-type');\r\n let activeIndicator = section.querySelector('.indicator.-active');\r\n let nextIndicator = activeIndicator.nextElementSibling;\r\n let previousIndicator = activeIndicator.previousElementSibling;\r\n\r\n switch (action) {\r\n case 'prev':\r\n firstCard.before(lastCard);\r\n initCards();\r\n activeIndicator.classList.remove('-active');\r\n previousIndicator == null\r\n ? lastIndicator.classList.add('-active')\r\n : previousIndicator.classList.add('-active')\r\n break;\r\n\r\n case 'next':\r\n lastCard.after(firstCard);\r\n initCards();\r\n activeIndicator.classList.remove('-active');\r\n nextIndicator == null\r\n ? firstIndicator.classList.add('-active')\r\n : nextIndicator.classList.add('-active')\r\n break;\r\n default:\r\n console.log('error')\r\n }\r\n\r\n dragCards();\r\n }\r\n\r\n function dragCards() {\r\n let cards = section.querySelectorAll('.cards__item');\r\n let dragStartX = 0;\r\n let isItemDragging = null;\r\n let device = getDeviceType();\r\n item = cards[0];\r\n\r\n let eventStart, eventDrag, eventEnd;\r\n\r\n if (device !== \"desktop\") {\r\n eventStart = \"touchstart\";\r\n eventDrag = \"touchmove\";\r\n eventEnd = \"touchend\";\r\n } else {\r\n eventStart = \"dragstart\";\r\n eventDrag = \"dragover\";\r\n eventEnd = \"dragend\";\r\n }\r\n\r\n item.addEventListener(eventStart, (e) => {\r\n device == \"desktop\" ? dragStartX = e.clientX : dragStartX = e.changedTouches[0].clientX;\r\n isItemDragging = true;\r\n })\r\n\r\n item.addEventListener(eventDrag, (e) => {\r\n if (isItemDragging) {\r\n let offsetX\r\n device == \"desktop\" ? offsetX = e.clientX - dragStartX : offsetX = e.changedTouches[0].clientX - dragStartX;\r\n if (offsetX > 100) {\r\n offsetX = 100;\r\n } else if (offsetX < -100) {\r\n offsetX = -100;\r\n }\r\n requestAnimationFrame(() => {\r\n item.style.transform = `translateX(${offsetX}px)`;\r\n })\r\n }\r\n })\r\n\r\n item.addEventListener(eventEnd, () => {\r\n isItemDragging = false;\r\n\r\n setTimeout(() => {\r\n item.style.transform = 'translateX(0)'\r\n movePositionCards('next', cards);\r\n }, 100)\r\n })\r\n }\r\n })\r\n }\r\n};\r\nfunction initSliderSections() {\r\n let sliderSections = document.querySelectorAll('section.cards-slider .cards-slider__slider');\r\n if (sliderSections !== undefined && sliderSections !== null && sliderSections.length > 0) {\r\n sliderSections.forEach((item) => {\r\n let slider = item.querySelector('.cards-slider__wrapper .slider__wrapper');\r\n if (slider !== null) {\r\n if (isSliderOverflown(slider)) {\r\n slider.classList.add('owl-carousel', 'owl-theme')\r\n if (slider !== undefined && slider !== null) {\r\n $(slider).owlCarousel({\r\n navText: ['', ''],\r\n loop: true,\r\n touchDrag: true,\r\n lazyLoad: false,\r\n center: false,\r\n mergeFit: false,\r\n autoWidth: true,\r\n checkVisibility: true,\r\n responsive: {\r\n 0: {\r\n nav: true,\r\n margin: 25,\r\n },\r\n 450: {\r\n nav: true,\r\n margin: 50,\r\n },\r\n },\r\n });\r\n }\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction isSliderOverflown(slider) {\r\n const items = slider.querySelectorAll(\".slider__item\");\r\n const sliderStyle = getComputedStyle(slider);\r\n const sliderWidth = slider.clientWidth - parseInt(sliderStyle.paddingRight) - (parseInt(sliderStyle.gap) * (items.length - 1));\r\n let itemsWidth = 0;\r\n items.forEach(item => {\r\n itemsWidth += item.clientWidth;\r\n })\r\n\r\n return itemsWidth > sliderWidth;\r\n}\r\n// #endregion\r\n\r\n// #region Products Slider\r\nfunction initProductsSlider() {\r\n let productSlidersSections = document.querySelectorAll('section.product-slider');\r\n if (productSlidersSections !== null && productSlidersSections !== undefined && productSlidersSections.length > 0) {\r\n productSlidersSections.forEach((item) => {\r\n $(item).find('.owl-carousel').owlCarousel({\r\n navText: ['', ''],\r\n loop: true,\r\n margin: 50,\r\n touchDrag: true,\r\n lazyLoad: false,\r\n center: false,\r\n mergeFit: false,\r\n autoWidth: true,\r\n checkVisibility: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: true,\r\n dots: false,\r\n },\r\n 450: {\r\n nav: true,\r\n },\r\n },\r\n })\r\n })\r\n }\r\n}\r\n// #endregion\r\n\r\n// #region Subsections Entries\r\nfunction initSubsectionsEntries() {\r\n let subsectionsEntries = document.querySelectorAll('section.subsections-entries');\r\n if (subsectionsEntries !== null && subsectionsEntries !== undefined && subsectionsEntries.length > 0) {\r\n subsectionsEntries.forEach((subsection) => {\r\n let subsectionsTitlesWrapper = subsection.querySelector('.subsections-entries__titles');\r\n let subsectionsTitles = subsectionsTitlesWrapper.querySelectorAll('.titles__item');\r\n subsectionsTitles.forEach((item) => {\r\n let el = item.children[0]\r\n let elIdSubsection = el.getAttribute('data-subsection');\r\n item.addEventListener('click', () => {\r\n subsectionsTitles.forEach((title) => { title.children[0].classList.remove('-active') })\r\n el.parentNode.classList.add('-title-active')\r\n el.classList.add('-active')\r\n let subsectionsContent = subsection.querySelectorAll('.content__item')\r\n let subsectionContent = subsection.querySelector('.content__item[data-subsection=\"' + elIdSubsection + '\"]')\r\n\r\n subsectionsContent.forEach((elem) => {\r\n elem.classList.contains('-active') ? elem.classList.remove('-active') : '';\r\n })\r\n\r\n subsectionContent.classList.add('-active');\r\n const paddingLeft = getComputedStyle(subsection)[\"paddingLeft\"].replace('px', '');\r\n subsectionsTitlesWrapper.scrollTo(el.offsetLeft - paddingLeft, 0);\r\n LoadListenerItemSlider('subsections-entries__content .content__item.-active .item__wrapper');\r\n })\r\n })\r\n\r\n LoadListenerItemSlider('subsections-entries__titles');\r\n LoadListenerItemSlider('subsections-entries__content .content__item.-active .item__wrapper');\r\n })\r\n }\r\n}\r\n// #endregion\r\n\r\n// #region Entries List\r\nfunction initEntriesList() {\r\n let entriesList = document.querySelectorAll('section.entries-list');\r\n if (entriesList !== undefined && entriesList !== null && entriesList.length > 0) {\r\n LoadListenerItemSlider('entries-list__wrapper');\r\n entriesList.forEach((list) => {\r\n const buttons = list.querySelectorAll(\".button\");\r\n buttons.forEach((button) => {\r\n const href = button.getAttribute(\"href\")\r\n if (href[0] == \"#\") {\r\n const events = [\"touchend\", \"click\"];\r\n events.forEach((evt) => {\r\n button.addEventListener(evt, function (event) {\r\n event.preventDefault();\r\n const target = document.querySelector(href);\r\n if (target !== undefined) target.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n })\r\n })\r\n }\r\n })\r\n\r\n })\r\n }\r\n}\r\n// #endregion\r\n\r\n// #region Simple Images\r\nfunction initSimpleImages() {\r\n let simpleImagesSections = document.querySelectorAll('section.simple-images');\r\n if (simpleImagesSections !== null && simpleImagesSections !== undefined && simpleImagesSections.length > 0) {\r\n simpleImagesSections.forEach((section) => {\r\n let imageWrapper = section.querySelector('.simple-images__wrapper');\r\n if (imageWrapper !== null && imageWrapper !== undefined && imageWrapper.classList.contains('-slider')) {\r\n if (isOverflown(imageWrapper)) {\r\n imageWrapper.classList.add('owl-carousel', 'owl-theme');\r\n $(imageWrapper).owlCarousel({\r\n navText: ['', ''],\r\n nav: false,\r\n loop: true,\r\n touchDrag: true,\r\n lazyLoad: true,\r\n center: false,\r\n mergeFit: false,\r\n autoWidth: true,\r\n checkVisibility: true,\r\n dots: false,\r\n margin: 16,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n center: true,\r\n },\r\n },\r\n })\r\n }\r\n }\r\n })\r\n }\r\n}\r\n// #endregion\r\n\r\n// #region Grid Pictures\r\n\r\nfunction initGridPicturesSlider() {\r\n let sliders = $(\"section.grid-pictures .content__row\");\r\n sliders.each((index, item) => {\r\n let slider = $(item);\r\n let sliderId = index;\r\n let imagesWrapper = slider.find(\".row__item.-image\");\r\n let descriptionsWrapper = slider.find(\".row__item.-description\");\r\n let images = imagesWrapper.find(\".item__wrapper\");\r\n let descriptions = descriptionsWrapper.find(\".item__wrapper\");\r\n\r\n if (images.length > 1 && descriptions.length > 1) {\r\n slider.addClass(\"-slider\");\r\n slider.attr(\"data-slider\", sliderId);\r\n\r\n let dotsWrapper = slider.find(\".item__dots\");\r\n\r\n images.each((index, image) => {\r\n image = $(image);\r\n image.attr(\"data-position\", index + 1);\r\n index == 0 ? image.addClass(\"-active\") : \"\";\r\n\r\n let dot = document.createElement(\"div\");\r\n $(dot).addClass(\"dots__item\");\r\n $(dot).attr(\"data-slider\", sliderId);\r\n $(dot).attr(\"data-position\", index + 1);\r\n dotsWrapper.append($(dot));\r\n\r\n index == 0 ? $(dot).addClass(\"-active\") : \"\";\r\n });\r\n\r\n descriptions.each((index, description) => {\r\n description = $(description);\r\n description.attr(\"data-position\", index + 1);\r\n index == 0 ? description.addClass(\"-active\") : \"\";\r\n });\r\n\r\n let controls = slider.find(\".item__controls [data-action]\");\r\n controls.each((index, button) => {\r\n button = $(button);\r\n button.attr(\"data-slider\", sliderId);\r\n });\r\n }\r\n\r\n slider.addClass('-loaded');\r\n });\r\n\r\n initGridPictureSliderDrag();\r\n}\r\n\r\nfunction slideGridPicturesSlider(sliderId, action) {\r\n let slider = $('.content__row[data-slider=\"' + sliderId + '\"]');\r\n let images = slider.find(\".row__item.-image .item__wrapper\");\r\n let descriptions = slider.find(\".row__item.-description .item__wrapper\");\r\n let dots = slider.find(\".dots__item\");\r\n\r\n if (images.length > 1 && descriptions.length > 1) {\r\n let activeImage = images.filter(\".-active\"),\r\n activeImagePosition = activeImage.data(\"position\"),\r\n activeDescription = descriptions.filter(\".-active\"),\r\n activeDescriptionPosition = activeDescription.data(\"position\"),\r\n activeDot = slider.find(\".dots__item.-active\"),\r\n activeDotPosition = activeDot.data(\"position\"),\r\n nextImagePosition,\r\n nextDescriptionPosition,\r\n nextDotPosition;\r\n\r\n if (action == \"next\") {\r\n if (\r\n activeImagePosition == images.length ||\r\n activeDescriptionPosition == descriptions.length\r\n ) {\r\n // Si on arrive à la fin de la boucle on repart au début\r\n nextImagePosition = 1;\r\n nextDescriptionPosition = 1;\r\n nextDotPosition = 1;\r\n } else {\r\n nextImagePosition = activeImagePosition + 1;\r\n nextDescriptionPosition = activeDescriptionPosition + 1;\r\n nextDotPosition = activeDotPosition + 1;\r\n }\r\n } else if (action == \"prev\") {\r\n if (activeImagePosition == 1 || activeDescriptionPosition == 1) {\r\n // Si on arrive au début de la boucle on repart à la fin\r\n nextImagePosition = images.length;\r\n nextDescriptionPosition = descriptions.length;\r\n nextDotPosition = dots.length;\r\n } else {\r\n nextImagePosition = activeImagePosition - 1;\r\n nextDescriptionPosition = activeDescriptionPosition - 1;\r\n nextDotPosition = activeDotPosition - 1;\r\n }\r\n }\r\n\r\n let nextImage = images.filter(\r\n '[data-position = \"' + nextImagePosition + '\"]'\r\n ),\r\n nextDescription = descriptions.filter(\r\n '[data-position = \"' + nextDescriptionPosition + '\"]'\r\n ),\r\n nextDot = dots.filter('[data-position = \"' + nextDotPosition + '\"]');\r\n\r\n activeImage.removeClass(\"-active\");\r\n activeDescription.removeClass(\"-active\");\r\n activeDot.removeClass(\"-active\");\r\n\r\n nextImage.addClass(\"-active\");\r\n nextDescription.addClass(\"-active\");\r\n nextDot.addClass(\"-active\");\r\n }\r\n}\r\n\r\nfunction goToSlideGridPictureSlider(sliderId, slide) {\r\n let slider = $('.grid-pictures .content__row.-slider[data-slider=\"' + sliderId + '\"]')\r\n let activeImage = slider.find('.row__item.-image .item__wrapper.-active');\r\n let activeDescription = slider.find('.row__item.-description .item__wrapper.-active');\r\n let activeDot = slider.find('.row__item.-description .item__dots .dots__item.-active');\r\n let newImage = slider.find('.row__item.-image .item__wrapper[data-position=\"' + slide + '\"]')\r\n let newDescription = slider.find('.row__item.-description .item__wrapper[data-position=\"' + slide + '\"]')\r\n let newDot = slider.find('.row__item.-description .item__dots .dots__item[data-position=\"' + slide + '\"]')\r\n\r\n activeImage.removeClass('-active');\r\n activeDescription.removeClass('-active');\r\n activeDot.removeClass('-active');\r\n\r\n newImage.addClass('-active');\r\n newDescription.addClass('-active');\r\n newDot.addClass('-active');\r\n}\r\n\r\nfunction initGridPictureSliderDrag() {\r\n let draggableElements = $(\".content__row.-slider .row__item\");\r\n let dragStartPosition = 0;\r\n let dragEndPosition = 0;\r\n let slider = draggableElements.closest(\".content__row.-slider\");\r\n let sliderId = slider.data(\"slider\");\r\n let events = {};\r\n let deviceType = getDeviceType();\r\n if (deviceType == \"desktop\") {\r\n events.start = \"mousedown\";\r\n events.end = \"mouseup\";\r\n } else {\r\n events.start = \"touchstart\";\r\n events.end = \"touchend\";\r\n }\r\n draggableElements.on(events.start, (e) => {\r\n if (deviceType == \"desktop\") {\r\n dragStartPosition = e.pageX;\r\n } else {\r\n dragStartPosition = e.originalEvent.touches[0].pageX;\r\n }\r\n });\r\n if (deviceType == \"desktop\") {\r\n draggableElements.on(events.end, (e) => {\r\n dragEndPosition = e.pageX;\r\n // Si le slide est de - de 50px on ne fait rien (si l'utilisateur ne fait pas exprès de slider OU pour éviter les conflits si on clique sur un bouton)\r\n if (Math.abs(dragStartPosition - dragEndPosition) > 50) {\r\n if (dragStartPosition - dragEndPosition > 0) {\r\n slideGridPicturesSlider(sliderId, \"next\");\r\n } else {\r\n slideGridPicturesSlider(sliderId, \"prev\");\r\n }\r\n }\r\n });\r\n } else {\r\n // On ne peut pas utiliser seulement touchend car l'event ne renvoie pas les coordonnées du touch, on est obigés de passer par touchmove\r\n draggableElements.on(\"touchmove\", (e) => {\r\n dragEndPosition = e.originalEvent.touches[0].pageX;\r\n });\r\n draggableElements.on(\"touchend\", (e) => {\r\n // Si on clique sur un bouton on s'arrête là || Si on ne slide pas dragEnd est à 0 donc ça va slider en arrière -> pour éviter ça, si aucun slide, on s'arrète aussi\r\n if (\r\n e.target == slider.find(\".controls__prev\")[0] ||\r\n e.target == slider.find(\".controls__next\")[0] ||\r\n dragEndPosition == 0\r\n ) {\r\n return;\r\n }\r\n if (Math.abs(dragStartPosition - dragEndPosition) > 50) {\r\n if (dragStartPosition - dragEndPosition > 0) {\r\n slideGridPicturesSlider(sliderId, \"next\");\r\n } else {\r\n slideGridPicturesSlider(sliderId, \"prev\");\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n// #endregion\r\n\r\n$(document).ready(() => {\r\n initBannerSliders();\r\n initCardsSections();\r\n initSliderSections();\r\n initProductsSlider();\r\n initSubsectionsEntries();\r\n initEntriesList();\r\n initSimpleImages();\r\n initGridPicturesSlider();\r\n onLoadScrollToElement();\r\n}).on(\"click\", \".item__controls [data-action]\", function (e) {\r\n let action = $(e.target).data(\"action\");\r\n let slider = $(e.target).data(\"slider\");\r\n slideGridPicturesSlider(slider, action);\r\n}).on('click', '.dots__item[data-slider]', function (e) {\r\n let dotClicked = $(e.target);\r\n let sliderId = dotClicked.data(\"slider\")\r\n let slideToGo = dotClicked.data('position')\r\n goToSlideGridPictureSlider(sliderId, slideToGo)\r\n})\r\n\r\nfunction isOverflown(element) {\r\n return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;\r\n}\r\n\r\nfunction getDeviceType() {\r\n const ua = navigator.userAgent;\r\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\r\n return \"tablet\";\r\n }\r\n if (\r\n /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(\r\n ua\r\n )\r\n ) {\r\n return \"mobile\";\r\n }\r\n return \"desktop\";\r\n}\r\n\r\nfunction isMobile() {\r\n let check = false;\r\n (function (a) { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera, 'http://detectmobilebrowser.com/mobile');\r\n return check;\r\n}\r\n\r\nfunction LoadListenerItemSlider(className) {\r\n let items = document.querySelectorAll('.' + className);\r\n if (items !== undefined && items !== null && items.length > 0) {\r\n items.forEach((item) => {\r\n if (isOverflown(item)) {\r\n const slider = item;\r\n slider.classList.add('-overflown');\r\n\r\n //if (!isMobile()) {\r\n if (slider != null) {\r\n let isDown = false;\r\n let startX;\r\n let scrollLeft;\r\n\r\n slider.addEventListener('mousedown', (e) => {\r\n isDown = true;\r\n slider.classList.add('active');\r\n startX = e.pageX - slider.offsetLeft;\r\n scrollLeft = slider.scrollLeft;\r\n cancelMomentumTracking();\r\n });\r\n\r\n\r\n slider.addEventListener('mouseleave', () => {\r\n isDown = false;\r\n slider.classList.remove('active');\r\n });\r\n\r\n\r\n slider.addEventListener('mouseup', () => {\r\n isDown = false;\r\n slider.classList.remove('active');\r\n beginMomentumTracking();\r\n });\r\n\r\n\r\n slider.addEventListener('mousemove', (e) => {\r\n if (!isDown) return;\r\n e.preventDefault();\r\n const x = e.pageX - slider.offsetLeft;\r\n const walk = (x - startX) * 1.5; //scroll-fast\r\n let prevScrollLeft = slider.scrollLeft;\r\n slider.scrollLeft = scrollLeft - walk;\r\n velX = slider.scrollLeft - prevScrollLeft;\r\n });\r\n\r\n // Momentum\r\n let velX = 0;\r\n let momentumID;\r\n\r\n slider.addEventListener('wheel', (e) => {\r\n cancelMomentumTracking();\r\n }, { passive: true });\r\n\r\n function beginMomentumTracking() {\r\n cancelMomentumTracking();\r\n momentumID = requestAnimationFrame(momentumLoop);\r\n }\r\n function cancelMomentumTracking() {\r\n cancelAnimationFrame(momentumID);\r\n }\r\n function momentumLoop() {\r\n slider.scrollLeft += velX;\r\n velX *= 0.95;\r\n if (Math.abs(velX) > 0.5) {\r\n momentumID = requestAnimationFrame(momentumLoop);\r\n }\r\n }\r\n }\r\n //}\r\n }\r\n item.classList.add('-init');\r\n })\r\n }\r\n}\r\n\r\nfunction onLoadScrollToElement() {\r\n const url = window.location;\r\n setTimeout(() => {\r\n if (url.hash !== \"\" && url.hash.includes(\"#\")) {\r\n const selector = url.hash;\r\n const target = document.querySelector(selector);\r\n if (target !== undefined) {\r\n target.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n }, 500)\r\n\r\n}"],"names":["initBannerSliders","let","bannerSliders","document","querySelectorAll","length","forEach","isAutoplay","timeout","timeoutValue","item","querySelector","getAttribute","owl","$","find","owlCarousel","items","touchDrag","lazyLoad","loop","margin","nav","autoplay","animateOut","navText","autoplayTimeout","on","e","trigger","children","target","classList","contains","each","index","dot","initCardsSections","cardsSections","actionButtonWrapper","actionButtonPrevious","actionButtonNext","cards","initCards","section","addEventListener","movePositionCards","initCardsIndicators","indicatorsWrapper","indicators","i","newIndicator","createElement","add","appendChild","setAttribute","firstIndicator","initPositionCards","array","j","style","transfrom","window","innerWidth","transform","zIndex","action","firstCard","lastCard","lastIndicator","activeIndicator","nextIndicator","nextElementSibling","previousIndicator","previousElementSibling","before","remove","after","console","log","dragCards","dragStartX","isItemDragging","device","getDeviceType","eventStart","eventDrag","eventEnd","changedTouches","clientX","offsetX","requestAnimationFrame","setTimeout","initSliderSections","sliderSections","slider","isSliderOverflown","center","mergeFit","autoWidth","checkVisibility","responsive","0","450","sliderStyle","getComputedStyle","sliderWidth","clientWidth","parseInt","paddingRight","gap","itemsWidth","initProductsSlider","productSlidersSections","dots","initSubsectionsEntries","subsectionsEntries","subsectionsTitlesWrapper","subsection","subsectionsTitles","el","elIdSubsection","title","parentNode","subsectionsContent","subsectionContent","paddingLeft","elem","replace","scrollTo","offsetLeft","LoadListenerItemSlider","initEntriesList","entriesList","list","href","button","evt","event","preventDefault","undefined","scrollIntoView","behavior","block","initSimpleImages","simpleImagesSections","imageWrapper","isOverflown","initGridPicturesSlider","sliderId","imagesWrapper","descriptionsWrapper","images","descriptions","addClass","attr","dotsWrapper","image","append","description","initGridPictureSliderDrag","slideGridPicturesSlider","activeImage","filter","activeImagePosition","data","activeDescription","activeDescriptionPosition","activeDot","activeDotPosition","nextImagePosition","nextDescriptionPosition","nextDotPosition","nextImage","nextDescription","nextDot","removeClass","goToSlideGridPictureSlider","slide","newImage","newDescription","newDot","draggableElements","dragStartPosition","dragEndPosition","closest","events","deviceType","start","end","originalEvent","touches","pageX","Math","abs","element","scrollHeight","clientHeight","scrollWidth","ua","navigator","userAgent","test","isMobile","check","a","vendor","opera","substr","className","isDown","startX","scrollLeft","velX","cancelMomentumTracking","momentumID","momentumLoop","prevScrollLeft","walk","cancelAnimationFrame","passive","onLoadScrollToElement","url","location","hash","includes","selector","ready","dotClicked"],"mappings":"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"}