{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/main.js","webpack:///./assets/js/gallery.js","webpack:///./assets/js/open-video.js","webpack:///./assets/js/bannermenu.js","webpack:///./assets/js/hamburger-menu.js","webpack:///./assets/js/show-on-scroll.js","webpack:///./assets/js/parallax.js","webpack:///./assets/js/tabs.js","webpack:///./assets/js/count-down.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","body","document","getElementsByTagName","images","createHtml","imgUrl","html","insertAdjacentHTML","removeParent","element","addEventListener","galleryView","querySelector","classList","add","parentElement","remove","setImg","url","setAttribute","gallery","allImages","querySelectorAll","Array","from","e","galleryImg","preventDefault","target","contains","getAttribute","imgIndex","clickedElement","imgHref","forEach","image","href","includes","findIndex","this","length","video","changeBtn","submenu","attach","bannerMenu","dataset","listenersAttached","toggle","CMS","$","window","on","hamburger","scroll","requestAnimationFrame","callback","setTimeout","elementsToShow","loop","rect","getBoundingClientRect","top","bottom","innerHeight","documentElement","clientHeight","item","style","backgroundImage","imageParallax","click","parentNode","stopPropagation","tab","displayAnchor","destName","destination","tabId","closest","link","scrollIntoView","behavior","block","substr","location","hash","removeClass","addClass","CountDown","counter","finishDate","countDownDate","Date","getTime","control","updateCount","setInterval","now","distance","days","Math","floor","hours","minutes","seconds","innerHTML","clearInterval"],"mappings":"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","file":"js/main.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './gallery'\nimport './open-video'\nimport './bannermenu'\nimport './hamburger-menu'\nimport './show-on-scroll'\nimport './parallax'\nimport './tabs'\nimport './count-down'\n","/**\n * Control for gallery\n */\nconst body = document.getElementsByTagName('body')[0]\nlet images = []\n/**\n * Create html for view gallery\n * @param {String} imgUrl - image src for open gallery\n */\nfunction createHtml(imgUrl) {\n const html = `\n \n `\n body.insertAdjacentHTML('afterbegin', html)\n}\n\n/**\n * Select parent (view gallery) for remove\n * @param {HTMLElement} element - event on this HTMLElement remove view gallery\n */\nfunction removeParent(element) {\n element.addEventListener('click', () => {\n const galleryView = document.querySelector('.gallery-view')\n galleryView.classList.add('image-hide')\n galleryView.addEventListener('animationend', () => {\n element.parentElement.remove()\n })\n })\n}\n\n/**\n * Remove view gallery\n */\nfunction removeGalleryView() {\n removeParent(document.querySelector('.gallery-close'))\n removeParent(document.querySelector('.gallery-img'))\n}\n\n/**\n * Set new image in view gallery\n * @param {HTMLElement} element - image HMTlElemnt in view gallery\n * @param {Number} url - item from array srcImg\n */\nfunction setImg(element, url) {\n element.setAttribute('src', url)\n}\n\n/**\n * Previus and next image controll\n */\nfunction controllGallery() {\n const galleryView = document.querySelector('.gallery-view'),\n galleryImg = document.querySelector('.gallery-img')\n\n galleryView.addEventListener('click', (e) => {\n const clickedElement = e.target.getAttribute('class')\n let imgIndex = 0,\n imgHref = ''\n\n // Find gallary-img in [images] and set to imgHref\n images.forEach((image) => {\n if (image.href.includes(galleryImg.getAttribute('src'))) {\n imgHref = image.href\n }\n })\n\n // // Find index imgHref in [images]\n imgIndex = images.findIndex((image) => image.href === imgHref)\n\n galleryImg.classList.add('image-change')\n galleryImg.addEventListener('animationend', function() {\n this.classList.remove('image-change')\n })\n\n if (clickedElement === 'gallery-previus') {\n imgIndex < 1\n ? setImg(galleryImg, images[images.length - 1].href)\n : setImg(galleryImg, images[imgIndex - 1].href)\n } else if (clickedElement === 'gallery-next') {\n imgIndex < images.length - 1\n ? setImg(galleryImg, images[imgIndex + 1].href)\n : setImg(galleryImg, images[0].href)\n }\n })\n}\n\naddEventListener('DOMContentLoaded', () => {\n /**\n * Get all url images from gallery to array srcImg\n */\n const gallery = document.querySelector('.gallery')\n const allImages = document.querySelectorAll('.gallery .filer_image_link')\n\n images = Array.from(allImages)\n\n /**\n * Open view gallery\n */\n if (gallery) {\n gallery.addEventListener('click', (e) => {\n e.preventDefault()\n\n if (e.target.classList.contains('filer_image_link')) {\n createHtml(e.target.getAttribute('href'))\n }\n\n if (e.target.classList.contains('filer_image_info') ||\n e.target.classList.contains('filer_image')) {\n createHtml(e.target.parentElement.getAttribute('href'))\n }\n\n if (e.target.classList.contains('title')) {\n createHtml(\n e.target.parentElement.parentElement.getAttribute('href'))\n }\n\n removeGalleryView()\n controllGallery()\n })\n }\n})\n","addEventListener('DOMContentLoaded', () => {\n for (const video of document.querySelectorAll('.video-box')) {\n\n video.querySelector('.play-video').addEventListener('click', () => {\n video.querySelector('.video-open').classList.add('video-box-show')\n })\n\n video.querySelector('.video-close').addEventListener('click', () => {\n video.querySelector('.video-open').classList.remove('video-box-show')\n })\n }\n})\n","/* global CMS */\n\n/**\n * Submenu\n */\n\nfunction changeBtn(submenu) {\n if (submenu.classList.contains('collapsed')) {\n submenu.querySelector('.submenu-hide').classList.remove('show')\n submenu.querySelector('.submenu-show').classList.add('show')\n } else {\n submenu.querySelector('.submenu-hide').classList.add('show')\n submenu.querySelector('.submenu-show').classList.remove('show')\n }\n}\n\n/**\n * Attach event listeners to submenu elements.\n */\nfunction attach() {\n const bannerMenu = document.querySelectorAll('.banner-menu')\n if (bannerMenu) {\n bannerMenu.forEach(submenu => {\n if (submenu.dataset.listenersAttached === 'true') {\n return // Listeners were attached when the page was loaded.\n }\n\n changeBtn(submenu)\n submenu.querySelector('.txt-primary').addEventListener('click', () => {\n submenu.classList.toggle('collapsed')\n changeBtn(submenu)\n })\n\n submenu.dataset.listenersAttached = 'true'\n })\n }\n}\n\n// Attach event listeners when page is loaded.\naddEventListener('DOMContentLoaded', () => attach())\n\n// Attach event listeners when the plugin is inserted.\nif (typeof CMS !== 'undefined') {\n CMS.$(window).on('cms-content-refresh', () => {\n attach()\n })\n}\n","/**\n * Hamburger menu\n *\n */\nconst hamburger = document.querySelector('.hamburger-menu')\nif (hamburger) {\n hamburger.addEventListener('click', () => {\n hamburger.classList.toggle('change')\n document.querySelector('body').classList.toggle('navbar-dropdown-open')\n })\n}\n","/**\n * Scroll Animation\n * Detect request animation frame\n *\n */\nconst IeFallback = callback => window.setTimeout(callback, 1000 / 60),\n scroll = window.requestAnimationFrame || IeFallback,\n elementsToShow = document.querySelectorAll('.show-on-scroll')\n\n// Helper function from: http://stackoverflow.com/a/7557433/274826\nfunction isElementInViewport(el) {\n const rect = el.getBoundingClientRect()\n return (\n (rect.top <= 0 && rect.bottom >= 0)\n ||\n (rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.top <= (window.innerHeight || document.documentElement.clientHeight))\n ||\n (rect.top >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight))\n )\n}\n\nfunction loop() {\n Array.prototype.forEach.call(elementsToShow, (element) => {\n if (isElementInViewport(element)) {\n element.classList.add('is-visible')\n }\n })\n scroll(loop)\n}\n\n// Call the loop for the first time\nloop()\n","/**\n * Parallax background\n *\n */\nconst parallax = document.querySelectorAll('.bg-parallax')\nfor (const item of parallax) {\n item.style.backgroundImage = `url(${item.dataset.imageParallax})`\n}\n","/* global $ */\n\n/**\n * Open first collapse.\n */\nfor (const node of document.querySelectorAll('.collapse-open div[id^=trigger]')) {\n node.click()\n}\n\n/**\n * Don't close all collapse.\n */\nfor (const node of document.querySelectorAll('.collapse-image')) {\n node.addEventListener('click', function(e) {\n if (e.target.parentNode.getAttribute('aria-expanded') === 'true') {\n e.stopPropagation()\n }\n })\n}\n\n/**\n * Open first tab.\n */\nfor (const item of document.querySelectorAll('.nav-tabs li:first-of-type')) {\n item.querySelector('.nav-link').classList.add('active')\n}\n\nfor (const item of document.querySelectorAll('.tab-content .tab-pane:first-of-type')) {\n item.classList.add('active')\n}\n\n/**\n * Close first tab.\n */\nfor (const tab of document.querySelectorAll('.tabs-close')) {\n tab.querySelector('.nav-tabs li:first-of-type .nav-link').classList.remove('active')\n tab.querySelector('.tab-content .tab-pane:first-of-type').classList.remove('active')\n}\n\n/* ***************************************** */\n/* GLOSSARY and other tabs with anchor links */\n/* ***************************************** */\n/*\n * The mechanism expects standard Bootstrap DOM, it means something as follows:\n *
\n * \n *
\n *
\n * Example\n * Link to example\n *
\n *
\n *
\n */\n\n/**\n * Display the tab, which contains an anchor and scroll to the element after a while.\n *\n * @param {string} destName - The destination anchor we want to show.\n */\nfunction displayAnchor(destName) {\n for (const tab of document.querySelectorAll('.tabs')) {\n const tabContent = tab.querySelector('.tab-content')\n const destination = tabContent.querySelector(`a[name=\"${destName}\"]`)\n\n if (destination) {\n const tabId = destination.closest('.tab-pane').getAttribute('id')\n const nav = tab.querySelector('.nav')\n const link = nav.querySelector(`a[href=\"#${tabId}\"]`)\n\n // The animation will be skipped in case the pane is already active\n $(link).tab('show')\n\n // Set timeout to scroll on the element\n setTimeout(() => {\n destination.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n })\n }, 500)\n\n // Break the for cycle\n return\n }\n }\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n\n // Set event listeners for all the anchors inside the glossary (or tabs in general)\n for (const link of document.querySelectorAll('.tabs .tab-content a[href^=\"#\"]')) {\n link.addEventListener('click', () => {\n displayAnchor(link.getAttribute('href').substr(1))\n })\n }\n\n // If there is already a hash in the URL, try to find and display the anchor\n if (window.location.hash) {\n displayAnchor(window.location.hash.substr(1))\n }\n\n // https://getbootstrap.com/docs/3.3/javascript/#tabs-usage\n $('#list-tab a').on('click', e => {\n e.preventDefault()\n $('#list-tab .active').removeClass('active')\n $(this).tab('show')\n $(e.target.parentNode).addClass('active')\n })\n\n})\n","class CountDown {\n constructor(counter) {\n this.counter = counter\n this.finishDate = counter.dataset.finishDate\n // Set the date we're counting to down\n this.countDownDate = new Date(this.finishDate).getTime()\n\n this.control()\n }\n\n control() {\n // Update the count down every 1 second\n const updateCount = setInterval(() => {\n\n // Get today's date and time\n const now = new Date().getTime()\n\n // Find the distance between now and the count down date\n const distance = this.countDownDate - now\n\n // Time calculations for days, hours, minutes and seconds\n const days = Math.floor(distance / (1000 * 60 * 60 * 24))\n const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60))\n const seconds = Math.floor((distance % (1000 * 60)) / 1000)\n\n // Output the result in an element with counter\n this.counter.innerHTML = `

\n ${days}:\n ${hours < '10' ? '0' + hours : hours}:\n ${minutes < '10' ? '0' + minutes : minutes}\n ${seconds < '10' ? '0' + seconds : seconds}\n

`\n\n // If the count down is over, write expired text\n if (distance < 0) {\n clearInterval(updateCount)\n this.counter.innerHTML = `

Date is expired

`\n }\n }, 1000)\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n for (const counter of document.querySelectorAll('.data-count-down')) {\n new CountDown(counter)\n }\n})\n"],"sourceRoot":""}