{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./modules/navbar/navbar.js","webpack:///./scripts/app.js","webpack:///./modules/dropdown/dropdown.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","navbar","$","addClass","navbarToggler","document","querySelectorAll","forEach","item","addEventListener","event","preventDefault","hasClass","removeClass","scrollTop","navbarElement","querySelector","navbarShowHidetPixels","clientHeight","scrollPos","navbarShowHide","scrollingElement","offsetTop","windowY","scrollY","classList","add","remove","navbarScrollCheck","contains","jQuery","require","imagesLoaded","gsap","registerPlugin","ScrollTrigger","jQueryBridget","Masonry","Packery","bridget","fn","exists","this","config","nullTargetWarn","modal","defaults","clickClose","escapeClose","fadeDuration","fadeDelay","showClose","spinnerHtml","blockerClass","deviceType","ua","navigator","userAgent","test","myLazyLoad","HomeBeforeAfterSlider","updateSlider","e","beforeAfter","style","transition","getBoundingClientRect","left","width","position","type","pageX","changedTouches","getElementById","beforeAfterContinuousSlider","imgs","len","counter","incrementCounter","flickityBeforeAfterAutoscroll","flickityBeforeAfterAutoscrollEl","Flickity","autoPlay","prevNextButtons","pageDots","draggable","wrapAround","freeScroll","freeScrollFriction","x","flickityBeforeAfterAutoscrollUpdate","slides","slideableWidth","selectedIndex","dragEndRestingSelect","updateSelectedSlide","settle","requestAnimationFrame","beforeAfterContinuousSliderStart","setTimeout","el","ImagesliderApp","img","complete","myW","parentElement","mediaOnEnter","media","videoElement","find","videoSrc","src","load","play","mediaOnLeave","pause","myapp","on","LazyLoad","unobserve_entered","elements_selector","thomDropdown","videoPlay","itemVideo","videoStop","featuresItemStart","$this","featuresSliderFlkty","next","featuresSlider","featuresPager","featuresPagerDot","cellSelector","fade","lazyLoad","ready","timeline","scrollTrigger","trigger","start","end","onEnter","onEnterBack","onLeave","each","onLeaveBack","index","children","onclick","select","slider","materialsSlider","materialsPager","materialsPagerDot","materialsSliderFlkty","sectorsSlider","sectorsSliderWrap","sectorsSliderItem","itemW","innerWidth","matchMedia","matches","instance","height","offsetHeight","to","xPercent","ease","pin","scrub","snap","animFadeInEl","utils","toArray","set","autoAlpha","yPercent","animFadeInAnim","duration","paused","once","self","progress","animScrollUpEl","animScrollDownEl","scale","animZoomOutEl","winScrolled","winHeight","innerHeight","animate","menuEnterTimer","menuLeaveTimer","clearTimeout","$thisForm","css","values","$name","attr","$value","val","ajax","url","success","error","html","message","show","hide","OPEN","close","projectsFiltersBtn","projectsFiltersLabel","area","text","portfolioFiltersBtn","portfolioFiltersLabel","portfolioProjectsMsnry","packery","itemSelector","percentPosition","initLayout","horizontalOrder","transitionDuration","update","refresh","element","ImageCompare","controlShadow","addCircle","addCircleBlur","hoverStart","smoothingAmount","mount","_createResizeClass","createMethods","FlickityResize","resize","offset","top","analyticsUpdate","barba","use","barbaCss","hooks","AFTER_CLOSE","$anchor","enter","href","newHTML","textStatus","jqXHR","headTags","join","appendTo","newmenu","js","container","eval","innerHTML","xhr","ajaxOptions","thrownError","alert","status","statusText","beforeLeave","leave","theme","beforeEnter","dataset","firstElementChild","setAttribute","removeAttr","getAll","kill","afterEnter","hash","location","init","timeout","cacheIgnore","prefetchIgnore","debug","mob_nav","elem","not","scrollbar","elems","elems_n","elems_H","elems_max","isNumeric","outerHeight","mCustomScrollbar","dropdown","getElementsByClassName","_"],"mappings":"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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([112,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\n * Navbar\n */\n\n// import PerfectScrollbar from 'perfect-scrollbar';\n// import 'perfect-scrollbar/css/perfect-scrollbar.css';\n\nexport function navbar () {\n // Debounce function which waits 10ms before firing. We use it so we don't fire events like crazy during long scroll sessions\n\n function debounce (func, wait = 10, immediate = true) {\n let timeout\n return function () {\n let context = this\n let args = arguments\n let later = function () {\n timeout = null\n if (!immediate) func.apply(context, args)\n }\n let callNow = immediate && !timeout\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n if (callNow) func.apply(context, args)\n }\n }\n\n $('.navbar').addClass('tween');\n\n // Show menu overlay when click the navbar toggler\n const navbarToggler = document.querySelectorAll('.js-navbar-toggler');\n var windowScrollTop = 0;\n // menu button\n if (navbarToggler) {\n navbarToggler.forEach(function(item) {\n item.addEventListener('click', function (event) {\n event.preventDefault();\n if($('body').hasClass('navbar--opened')){\n $('body').removeClass('navbar--opened');\n // resetPosition(windowScrollTop)\n } else {\n windowScrollTop = $(window).scrollTop();\n $('body').addClass('navbar--opened');\n // manteinPosition(windowScrollTop);\n }\n });\n });\n \n }\n\n function headerIsonstage () {\n if(document.querySelector('.js-navbar').classList.contains('on-stage', 'out-stage')){\n return true;\n }\n }\n\n const navbarElement = document.querySelector('.js-navbar')\n const navbarShowHidetPixels = navbarElement.clientHeight;\n let scrollPos = 0;\n\n function navbarShowHide () {\n var scrolled = document.scrollingElement.scrollTop;\n var position = navbarElement.offsetTop;\n if (scrolled > (position + navbarShowHidetPixels / 4)) {\n let windowY = window.scrollY\n navbarElement.classList.add('out-stage');\n if (windowY < scrollPos) {\n // Scrolling UP\n navbarElement.classList.add('on-stage');\n // console.log('S. UP')\n } else {\n // Scrolling DOWN\n navbarElement.classList.remove('on-stage');\n // console.log('S. DOWN')\n }\n scrollPos = windowY\n \n // navbarElement.classList.remove('expose_nav');\n } else {\n navbarElement.classList.remove('on-stage', 'out-stage');\n }\n }\n\n function manteinPosition (windowScrollTop) {\n $('.wrapper').css({\n 'overflow': 'hidden',\n 'height': $(window).height(),\n 'width': $(window).width(),\n 'position': 'fixed'\n });\n\n $('.main').css({\n 'position': 'relative',\n 'top': -windowScrollTop\n });\n\n $(window).scrollTop(0);\n }\n\n function resetPosition (windowScrollTop) {\n $('.wrapper').removeAttr('style');\n $('.main').removeAttr('style');\n window.scrollBy(0, windowScrollTop);\n navbarScrollCheck ();\n } \n\n // Navbar slides out of view when scrolling down and slides back in when scrolling up\n // Based on https://dev.to/changoman/showhide-element-on-scroll-w-vanilla-js-3odm\n function navbarScrollCheck () {\n if (navbarElement) {\n if (navbarElement.classList.contains('navbar--fixed-showhide') && !$('body').hasClass('navbar--opened')) {\n navbarAddScrollListener()\n }\n }\n }\n function navbarAddScrollListener() {\n window.addEventListener('scroll', navbarShowHide)\n }\n navbarScrollCheck();\n\n // $(document).on('mousemove', function(event) {\n // var threshold = navbarElement.clientHeight * 1.5;\n // if(event.clientY > threshold) {\n // navbarElement.classList.remove('expose_nav');\n // } else {\n // if(!navbarElement.classList.contains('out-stage')){\n // navbarElement.classList.add('expose_nav');\n // }\n // }\n // });\n}\n\nexport default navbar\n","/**\n * @title App\n * @description Application entry point\n */\n\n// Jquery\nwindow.jQuery = $;\nwindow.$ = $;\njQuery = $;\n\n// Barba - pages transition\nimport barba from \"@barba/core\";\nimport barbaCss from \"@barba/css\";\n\nimport Flickity from \"flickity\";\nimport \"flickity/css/flickity.css\";\nrequire(\"flickity-fade\");\nrequire('flickity-imagesloaded');\n\n// Modal\nimport modal from \"jquery-modal\";\n\n// Lazyload image\nimport LazyLoad from \"vanilla-lazyload\";\n\n// Components\nimport spinner from \"./components/spinner\";\n\n// Forma validation\nrequire('jquery-form');\nrequire('jquery-validation');\nrequire('jquery-validation-unobtrusive');\n\nvar imagesLoaded = require(\"imagesloaded\");\n// require(\"jquery.resizeend\");\n\n// import hoverIntent from \"jquery-hoverintent\";\nimport SimpleBar from 'simplebar';\n\n// Modules\n\nimport navbar from \"../modules/navbar/navbar\";\nimport thomDropdown from \"../modules/dropdown/dropdown\";\nimport {gsap} from \"gsap\";\nimport { ScrollTrigger } from \"gsap/ScrollTrigger\";\ngsap.registerPlugin(ScrollTrigger);\n\nvar jQueryBridget = require('jquery-bridget');\nvar Masonry = require('masonry-layout');\njQueryBridget( 'masonry', Masonry, $ );\n\nvar Packery = require(\"packery\");\n$.bridget(\"packery\", Packery, $);\n\nimport ImageCompare from \"image-compare-viewer\";\n\n// import lightGallery from \"lightgallery\";\n// import \"lg-video\";\n\n// exist element\n$.fn.exists = function () {\n return this.length !== 0;\n};\n\ngsap.config({\n nullTargetWarn: false\n});\n\n// Modal default options\n$.modal.defaults = {\n clickClose: true,\n escapeClose: true,\n fadeDuration: 250,\n fadeDelay: 1.1,\n showClose: false,\n spinnerHtml: '
',\n blockerClass: \"jquery-modal\"\n}\n\nconst deviceType = () => {\n const ua = navigator.userAgent;\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\n return \"tablet\";\n }\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\n return \"mobile\";\n }\n return \"desktop\";\n};\n\nvar myLazyLoad;\n\nfunction HomeBeforeAfterSlider(){\n function ImagesliderApp(el) {\n el.addEventListener(\"mousemove\", updateSlider.bind(this));\n el.addEventListener(\"touchstart\", updateSlider.bind(this));\n el.addEventListener(\"touchmove\", updateSlider.bind(this));\n }\n \n function updateSlider(e) {\n beforeAfter.querySelector(\".before-after--clipping-wrapper\").style.transition = 'initial';\n const rightImageContainer = beforeAfter.querySelector(\".before-after--wrapper\");\n const {\n left,\n width\n } = rightImageContainer.getBoundingClientRect();\n const pageX = e.type == \"mousemove\" ? e.pageX : e.changedTouches[0].pageX;\n const position = ((pageX - left) / width) * 100;\n \n if (position < 100 && position > 0) {\n beforeAfter.querySelector(\".before-after--clipping-wrapper\").style.width = `${position}%`;\n beforeAfter.querySelector(\".handlebar_wrapper\").style.left = `${position}%`;\n }\n }\n \n var beforeAfter = document.getElementById(\"beforeAfter\");\n var beforeAfterContinuousSlider = beforeAfter.querySelectorAll('.before-after--continuous-slider');\n\n function beforeAfterContinuousSliderStart(){\n for(var i = 0; i < beforeAfterContinuousSlider.length; i++){\n let flickityBeforeAfterAutoscrollTickerSpeed = 1.5;\n let flickityBeforeAfterAutoscroll = null;\n var flickityBeforeAfterAutoscrollEl = beforeAfterContinuousSlider[i].querySelector('.js-slideshow');\n var myReq;\n \n let flickityBeforeAfterAutoscrollUpdate = () => { \n if (flickityBeforeAfterAutoscroll.slides) {\n flickityBeforeAfterAutoscroll.x = (flickityBeforeAfterAutoscroll.x - flickityBeforeAfterAutoscrollTickerSpeed) % flickityBeforeAfterAutoscroll.slideableWidth;\n flickityBeforeAfterAutoscroll.selectedIndex = flickityBeforeAfterAutoscroll.dragEndRestingSelect();\n flickityBeforeAfterAutoscroll.updateSelectedSlide();\n flickityBeforeAfterAutoscroll.settle(flickityBeforeAfterAutoscroll.x);\n } \n myReq = window.requestAnimationFrame(flickityBeforeAfterAutoscrollUpdate);\n };\n\n flickityBeforeAfterAutoscroll = new Flickity(flickityBeforeAfterAutoscrollEl, {\n autoPlay: false,\n prevNextButtons: false,\n pageDots: false,\n draggable: false,\n wrapAround: true,\n freeScroll: true,\n freeScrollFriction: 0.03,\n imagesLoaded: true\n });\n\n flickityBeforeAfterAutoscroll.x = 0;\n\n if(deviceType() === \"mobile\" && $(flickityBeforeAfterAutoscrollEl).hasClass('stop-mobile')){\n \n } else {\n flickityBeforeAfterAutoscrollUpdate();\n }\n }\n }\n\n let imgs = beforeAfter.querySelectorAll('img');\n let len = imgs.length;\n let counter = 0;\n [].forEach.call(imgs, function( img ) {\n if(img.complete){\n var myW = img.width;\n if(!beforeAfter.classList.contains('portfolioDett')){\n img.parentElement.style.width = myW + 'px';\n }\n incrementCounter();\n } else {\n img.addEventListener( 'load', incrementCounter, false );\n }\n });\n\n function incrementCounter() {\n counter++;\n if ( counter === len ) {\n if(!beforeAfter.classList.contains('portfolioDett')){\n beforeAfterContinuousSliderStart();\n }\n setTimeout(function(){\n beforeAfter.classList.add(\"load\");\n if ( deviceType() !== \"mobile\" && deviceType() !== \"tablet\") {\n ImagesliderApp(beforeAfter);\n }\n }, 800) \n }\n }\n}\n// Media Enter / Leave - Play / Pause\nlet mediaOnEnter = (media) => {\n var videoElement = media.find(\".video--item\")[0];\n var videoSrc = media.find(\".video--item\").data('src');\n\n if(videoElement.src == null || videoElement.src === ''){\n videoElement.src = videoSrc;\n videoElement.load();\n videoElement.addEventListener(\"loadeddata\", function(){\n media.addClass('is-playing');\n videoElement.play();\n });\n } else {\n media.addClass('is-playing');\n videoElement.play();\n }\n}\nlet mediaOnLeave = (media) => {\n var videoElement = media.find(\".video--item\")[0];\n\n media.removeClass('is-playing');\n videoElement.pause();\n}\n\n// Start APP\nfunction myapp() {\n\n $('img')\n .on('dragstart', function(event) { \n event.preventDefault(); \n })\n .on('contextmenu', function(e) {\n return false;\n });\n \n myLazyLoad = null;\n myLazyLoad = new LazyLoad({\n unobserve_entered: true,\n elements_selector: \".lazy\",\n });\n\n // Dropdown è resa globale\n window.thomDropdown = thomDropdown;\n thomDropdown();\n \n // Before and After\n if(typeof(document.querySelector(\".before-after\")) != 'undefined' && document.querySelector(\".before-after\") != null){\n HomeBeforeAfterSlider()\n }\n\n // Home Features Slider \n if(typeof(document.querySelector(\".td-features--slider\")) != 'undefined' && document.querySelector(\".td-features--slider\") != null){\n const featuresSlider = document.querySelector(\".td-features--slider .slideshow\");\n var featuresPager = document.querySelector(\".td-features--title .slider-dots\");\n var featuresPagerDot = featuresPager.querySelectorAll(\".td-features--title .slider-dots li\");\n \n var featuresSliderFlkty = new Flickity( featuresSlider, {\n autoPlay: 0,\n cellSelector: '.item',\n // draggable: false,\n fade: true,\n prevNextButtons: false,\n pageDots: false,\n lazyLoad: true,\n on: {\n ready: function() {\n featuresPagerDot[0].classList.add('is-selected');\n }\n }\n });\n\n var featuresSliderTl = gsap.timeline({\n scrollTrigger: {\n trigger: document.querySelector(\".td-features\"),\n start: \"top 80%\",\n end: \"bottom 15%\",\n // markers: true,\n onEnter: function(){\n featuresItemStart($(\".td-features--slider .slideshow .item.is-selected\"));\n },\n onEnterBack: function(){\n featuresItemStart($(\".td-features--slider .slideshow .item.is-selected\"));\n },\n onLeave: function(){\n $(\".td-features--slider .slideshow .item\").each(function(){\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n });\n },\n onLeaveBack: function(){\n $(\".td-features--slider .slideshow .item\").each(function(){\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n });\n },\n }\n });\n\n featuresSliderFlkty.on('change', function(index) {\n $(\".td-features--slider .slideshow .item\").each(function(){\n if($(this).hasClass('is-selected')){\n featuresItemStart($(this));\n } else {\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n }\n });\n });\n\n featuresSliderFlkty.on( 'select', function( index ) {\n featuresPager.querySelector('.is-selected').classList.remove('is-selected');\n featuresPagerDot[index].classList.add('is-selected');\n });\n\n for (var i = 0; i < featuresPager.children.length; i++) {\n (function(index){\n featuresPager.children[i].onclick = function(){\n featuresSliderFlkty.select(index);\n }\n })(i);\n }\n\n function videoPlay(item, itemVideo){\n item.addClass('is-playing');\n itemVideo.play();\n }\n\n function videoStop(item, itemVideo){\n item.removeClass('is-playing');\n itemVideo.pause();\n }\n\n function featuresItemStart(item){\n var $this = item;\n if($this.find(\".video\").length > 0){\n var videoElement = $this.find(\".video\")[0];\n \n if(!$this.hasClass('videoloaded')){\n let videoSrc = $this.find(\".video\").data('src');\n videoElement.src = videoSrc;\n videoElement.load();\n videoElement.addEventListener('canplay', (event) => {\n $this.addClass('videoloaded');\n videoPlay($this, videoElement);\n });\n videoElement.addEventListener('ended', (event) => {\n featuresSliderFlkty.next(true, false);\n });\n }else{\n videoPlay($this, videoElement);\n }\n }\n }\n }\n\n // Home Materials Slider \n if(typeof(document.querySelector(\".td-materials\")) != 'undefined' && document.querySelector(\".td-materials\") != null){\n var materialsSliderWrap = document.querySelectorAll(\".td-materials .td-materials--slider\");\n \n materialsSliderWrap.forEach((slider) => {\n var materialsSlider = slider.querySelector(\".slideshow\");\n var materialsPager = slider.querySelector(\".slider-dots\");\n var materialsPagerDot = materialsPager.querySelectorAll(\"li\");\n\n var materialsSliderFlkty = new Flickity( materialsSlider, {\n autoPlay: 0,\n cellSelector: '.item',\n fade: true,\n prevNextButtons: false,\n pageDots: false,\n on: {\n ready: function() {\n materialsPagerDot[0].classList.add('is-selected');\n }\n }\n });\n\n materialsSliderFlkty.on( 'select', function( index ) {\n materialsPager.querySelector('.is-selected').classList.remove('is-selected');\n materialsPagerDot[index].classList.add('is-selected');\n });\n \n for (var i = 0; i < materialsPagerDot.length; i++) {\n (function(index){\n materialsPagerDot[i].onclick = function(){\n materialsSliderFlkty.select(index);\n }\n })(i);\n }\n })\n\n }\n\n // Home Sectors Slider \n if(typeof(document.querySelector(\".td-sectors--slider\")) != 'undefined' && document.querySelector(\".td-sectors--slider\") != null){\n var sectorsSlider = document.querySelector(\".td-sectors .td-sectors--slider\");\n var sectorsSliderWrap = sectorsSlider.querySelector(\".td-sectors--slider--wrap\");\n var sectorsSliderItem = sectorsSliderWrap.querySelectorAll(\".item\");\n var itemW = (window.innerWidth * 90) / 100;\n if ( matchMedia('screen and (min-width: 768px)').matches ) {\n itemW = (window.innerWidth * 65) / 100;\n }\n if ( matchMedia('screen and (min-width: 960px)').matches ) {\n itemW = (window.innerWidth * 45) / 100;\n }\n sectorsSliderWrap.style.width = itemW * sectorsSliderItem.length + 'px';\n \n imagesLoaded( sectorsSliderItem[0], function( instance ) {\n sectorsSlider.style.height = sectorsSliderItem[0].offsetHeight + 'px';\n });\n\n gsap.to(sectorsSliderItem, {\n xPercent: -100 * (sectorsSliderItem.length - 2),\n ease: \"power1.inOut\",\n scrollTrigger: {\n trigger: \".td-sectors\",\n pin: true,\n scrub: 1,\n snap: 1 / (sectorsSliderItem.length - 2),\n end: \"+=\"+ itemW * sectorsSliderItem.length +\"\"\n }\n });\n\n }\n\n // Fade in animation\n const animFadeInEl = gsap.utils.toArray('.anim__fadeIn');\n // Set things up\n gsap.set(animFadeInEl, {autoAlpha: 0, yPercent: 5});\n animFadeInEl.forEach((el, i) => {\n // Set up your animation\n const animFadeInAnim = gsap.to(el, {duration: 1, autoAlpha: 1, yPercent: 0, paused: true});\n // Use callbacks to control the state of the animation\n ScrollTrigger.create({\n trigger: el,\n start: \"top 90%\",\n end: \"bottom 90%\",\n once: true,\n // markers: true,\n onEnter: self => {\n // If it's scrolled past, set the state\n // If it's scrolled to, play it\n self.progress === 1 ? animFadeInAnim.progress(1) : animFadeInAnim.play()\n }\n });\n });\n\n // Scroll Up in animation\n const animScrollUpEl = gsap.utils.toArray('.anim__scrollUp');\n ScrollTrigger.matchMedia({\"(min-width:640px)\": function() {\n animScrollUpEl.forEach((el, i) => {\n let animScrollUpTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"top bottom\",\n end: \"bottom 8%\",\n scrub: 0.5,\n // markers: true\n }\n });\n animScrollUpTl.to(el, {\n yPercent: -5,\n ease: \"power1.inOut\"\n })\n });\n }\n })\n\n // Scroll Down in animation\n const animScrollDownEl = gsap.utils.toArray('.anim__scrollDown');\n ScrollTrigger.matchMedia({\"(min-width:640px)\": function() {\n animScrollDownEl.forEach((el, i) => {\n let animScrollDownTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"top bottom\",\n end: \"bottom 8%\",\n scrub: 1,\n // markers: true\n }\n });\n animScrollDownTl.to(el, {\n yPercent: 5,\n ease: \"power1.inOut\"\n })\n });\n }\n })\n\n // Image ZoomIn animation\n const animZoomInEl = gsap.utils.toArray('.anim__zoomIn');\n animZoomInEl.forEach((el, i) => {\n let animZoomInTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"center bottom\",\n end: \"center top\",\n scrub: 1,\n // markers: true\n }\n });\n animZoomInTl.to(el, {\n scale: 1.1,\n ease: \"power1.inOut\"\n })\n });\n\n // Image ZoomOut animation\n const animZoomOutEl = gsap.utils.toArray('.anim__zoomOut');\n gsap.set(animZoomOutEl, {scale: 1.1});\n animZoomOutEl.forEach((el, i) => {\n let animZoomOutTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"center bottom\",\n end: \"center top\",\n scrub: 1,\n // markers: true\n }\n });\n animZoomOutTl.to(el, {\n scale: 1,\n ease: \"power1.inOut\"\n })\n });\n\n // GO TOP BUTTON\n if($('.show-backtotop').exists() && $('.go-top').exists()){\n window.addEventListener('scroll', function(){\n var winScrolled = window.scrollY;\n var winHeight = window.innerHeight;\n if(winScrolled > winHeight + winHeight/2){\n $('.go-top').addClass('show');\n }else{\n $('.go-top').removeClass('show');\n }\n })\n\n $('.go-top').on('click', function(){\n $(\"html,body\").animate(\n {\n scrollTop: 0,\n },\n 600\n );\n })\n }\n\n // video media / Scrolltrigger\n if($('.media').exists()){\n $('.media').each(function(){\n var $this = $(this);\n\n if($this.find(\".video--item\").length > 0){ \n\n if($this.hasClass('media--hover')){\n var showDelay = 300;\n var hideDelay = 400;\n var menuEnterTimer;\n var menuLeaveTimer;\n\n $this.on('mouseenter', function() {\n clearTimeout(menuLeaveTimer); \n menuEnterTimer = setTimeout(function() {\n mediaOnEnter($this);\n }, showDelay);\n });\n\n // triggered when user's mouse leaves the menu item\n $this.on('mouseleave', function() {\n clearTimeout(menuEnterTimer);\n menuLeaveTimer = setTimeout(function() {\n mediaOnLeave($this);\n }, hideDelay);\n });\n }else{\n\n var mediaTl = gsap.timeline({\n scrollTrigger: {\n trigger: $this[0],\n start: \"top 80%\",\n end: \"bottom 10%\",\n // markers: true,\n onEnter: function(){\n mediaOnEnter($this)\n },\n onEnterBack: function(){\n mediaOnEnter($this)\n },\n onLeave: function(){\n mediaOnLeave($this)\n },\n onLeaveBack: function(){\n mediaOnLeave($this)\n }\n }\n });\n }\n }\n })\n }\n\n if ($('#contactRequestForm').exists()) {\n var $thisForm = $('#contactRequestForm');\n $('.thom-form__error', $thisForm).css('display', 'none');\n\n $thisForm.on('submit', function() {\n\n $('button[type=\"submit\"]', $thisForm).addClass('clicked');\n\n // Create a object and assign all fields name and value.\n var values = {};\n\n $('[name]', $thisForm).each(function() {\n var $thisForm = $(this),\n $name = $thisForm.attr('name'),\n $value = $thisForm.val();\n values[$name] = $value;\n });\n\n // Make Request\n $.ajax({\n url: $thisForm.attr('action'),\n type: 'POST',\n data: values,\n success: function success(data) {\n if (data.error == true) {\n $('.thom-form__error', $thisForm).html(data.message);\n $('.thom-form__error', $thisForm).show();\n } else {\n $('.thom-form__error', $thisForm).hide();\n var successModal = $('#modal-contactRequestForm-success').modal({\n blockerClass: \"modal-alert\"\n });\n\n successModal.on($.modal.OPEN, function(event, modal) {\n setTimeout(function(){\n $.modal.close();\n\n $('[name]', $thisForm).each(function() {\n $(this).val('');\n });\n }, 3000)\n })\n }\n $('button[type=\"submit\"]', $thisForm).removeClass('clicked');\n },\n error: function error() {\n $('.thom-form__error', $thisForm).show();\n $('.thom-form__error', $thisForm).html('Sorry, an error occurred.');\n $('button[type=\"submit\"]', $thisForm).removeClass('clicked');\n }\n });\n return false;\n });\n }\n\n // Projects Filters\n if ($('.projects--list .filters').exists()) {\n var projectsFiltersBtn = $('.projects--list .filters *[data-filter]');\n var projectsFiltersLabel = $('.projects--list .filters .thom-dropdown--label span');\n\n projectsFiltersBtn.on('click', function(){\n var area = $(this).data('filter');\n \n projectsFiltersBtn.removeClass('selected');\n $(this).addClass('selected');\n projectsFiltersLabel.text($(this).find('span').text());\n\n if(area !== \"all\"){\n $('.projects--list').find('.item').hide();\n $('.projects--list').find('.item[data-area='+ area +']').show();\n } else {\n $('.projects--list').find('.item').show();\n }\n \n })\n }\n\n // Portfolio Filters\n if ($('.portfolio--list .filters').exists()) {\n var portfolioFiltersBtn = $('.portfolio--list .filters *[data-filter]');\n var portfolioFiltersLabel = $('.portfolio--list .filters .thom-dropdown--label span');\n\n portfolioFiltersBtn.on('click', function(){\n var area = $(this).data('filter');\n \n portfolioFiltersBtn.removeClass('selected');\n $(this).addClass('selected');\n portfolioFiltersLabel.text($(this).find('span').text());\n\n if(area !== \"all\"){\n $('.portfolio--list').find('.item').hide();\n $('.portfolio--list').find('.item[data-area='+ area +']').show();\n } else {\n $('.portfolio--list').find('.item').show();\n }\n \n })\n }\n\n if ($('.portfolio--projects .grid').exists()) {\n // var portfolioProjectsMsnry = $('.portfolio--projects .grid').masonry({\n // itemSelector: '.item',\n // percentPosition: true,\n // initLayout: false,\n // horizontalOrder: true\n // });\n\n // portfolioProjectsMsnry.imagesLoaded().progress(function () {\n // portfolioProjectsMsnry.masonry('layout');\n // })\n\n // portfolioProjectsMsnry.on('layoutComplete', function( items ) {\n // myLazyLoad.update();\n // ScrollTrigger.refresh();\n // });\n\n var portfolioProjectsMsnry = $('.portfolio--projects .grid').packery({\n itemSelector: '.item',\n percentPosition: true,\n initLayout: false,\n horizontalOrder: true,\n transitionDuration: 0\n });\n\n portfolioProjectsMsnry.imagesLoaded().progress(function () {\n portfolioProjectsMsnry.packery('layout');\n })\n portfolioProjectsMsnry.packery('on', 'layoutComplete', function() {\n myLazyLoad.update();\n // portfolioProjectsMsnry.packery();\n ScrollTrigger.refresh();\n });\n }\n\n if ($('.portfolio--beforeAfter').exists()) {\n let element = document.querySelector(\"#portfolio-compare\");\n let viewer = new ImageCompare(element, {\n controlShadow: false,\n addCircle: true,\n addCircleBlur: true,\n hoverStart: true,\n smoothingAmount: 300,\n }).mount();\n }\n\n // add this code for Flickity Resize\n Flickity.prototype._createResizeClass = function () {\n this.element.classList.add(\"flickity-resize\");\n };\n Flickity.createMethods.push(\"_createResizeClass\");\n var FlickityResize = Flickity.prototype.resize;\n if ($(\".flickity-resize\").exists()) {\n Flickity.prototype.resize = function () {\n var $this = this;\n $(\".flickity-resize\").each(function () {\n $this.element.classList.remove(\"flickity-resize\");\n FlickityResize.call($this);\n $this.element.classList.add(\"flickity-resize\");\n });\n }\n }\n\n // scrollto\n $('[data-scrollto]').on('click', function(){\n var el = $(this).data('scrollto');\n $(\"html,body\").animate(\n {\n scrollTop: $('#' + el).offset().top,\n },\n 600\n );\n });\n\n // update analytics\n if (typeof analyticsUpdate === \"function\") {\n analyticsUpdate();\n }\n}\n\n// BARBA JS\n// start script\nbarba.use(barbaCss);\n\n// define a global hook\nbarba.hooks.once((data) => {\n navbar();\n myapp();\n\n // Remove appended div to modal after close\n $(document).on($.modal.AFTER_CLOSE, function (event, modal) {\n $(\".ajax-load.modal\").remove();\n });\n\n // Analytics update\n $(document).on($.modal.OPEN, function (event, modal) {\n $(modal.$anchor).find(\".close-modal\").attr(\"data-barba-prevent\", \"self\");\n });\n\n $(\".page-transition\").removeClass(\"show\");\n});\n\n\nbarba.hooks.enter((data) => {\n // console.log(\"enter\");\n $.ajax({\n url: data.next.url.href,\n success: function (newHTML, textStatus, jqXHR) {\n // Meta update\n var headTags = [\n \"meta[name='keywords']\",\n \"meta[name='description']\",\n \"meta[property^='og']\",\n \"meta[name^='twitter']\",\n \"meta[itemprop]\",\n \"link[itemprop]\",\n \"link[rel='prev']\",\n \"link[rel='next']\",\n \"link[rel='canonical']\",\n ].join(\",\");\n $(\"head\").find(headTags).remove();\n $(newHTML).find(headTags).appendTo(\"head\");\n\n // Menu Change\n var newmenu = $(newHTML).find(\".navbar__collapse\").html();\n $(\".navbar .navbar__collapse\").html(newmenu);\n\n // script variables\n let js = data.next.container.querySelectorAll('main script');\n if(js != null){\n js.forEach((item) => {\n eval(item.innerHTML);\n });\n }\n\n myapp();\n },\n error: function (xhr, ajaxOptions, thrownError) {\n alert(xhr.status)\n alert(xhr.statusText)\n // alert(thrownError)\n },\n complete: function () {\n },\n });\n});\n\nbarba.hooks.beforeLeave((data) => {\n // console.log(\"beforeLeave\");\n // spinner().show();\n $(\".page-transition\").addClass(\"animIn\");\n\n // document.querySelector('.js-navbar').classList.remove('on-stage', 'out-stage');\n // navbar().navbarAddScrollListener;\n})\n\nbarba.hooks.leave((data) => {\n // this hook will be called for each transitions\n // console.log(\"leave 1\");\n $.modal.close(); \n});\n\nconst theme = {\n value: window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\ntheme.value = theme.value === 'light' ? 'dark' : 'light';\n\nbarba.hooks.beforeEnter((data) => {\n // console.log(data)\n\n theme.value = data.next.container.dataset.theme;\n document.firstElementChild.setAttribute('data-theme', theme.value);\n \n\n $(\".wrapper\").removeAttr(\"style\");\n $(\".main\").removeAttr(\"style\");\n\n $(\"body\").removeClass(\"navbar--opened\");\n \n $(\"html,body\").animate({\n scrollTop: 0,\n }, 0);\n\n $(\".navbar\").removeClass(\"out-stage, on-stage--ico-menu, tween\");\n \n ScrollTrigger.getAll().forEach(t => {\n // console.log(t)\n t.kill()\n });\n\n});\n\nbarba.hooks.afterEnter((data) => {\n\n // spinner().hide();\n $(\".navbar\").addClass(\"tween\");\n $(\".page-transition\").removeClass(\"animIn\");\n\n var hash = $(location).attr('hash');\n if(hash){\n $(\"html,body\").animate({\n scrollTop: $(hash).offset().top,\n },400);\n }\n});\n\n// Basic default transition, with no rules and minimal hooks…\nbarba.init({\n timeout: 5000,\n cacheIgnore: true,\n prefetchIgnore: true,\n debug: false\n});\n","// THOM Dropdown\n// import hoverIntent from \"jquery-hoverintent\";\nimport mCustomScrollbar from \"malihu-custom-scrollbar-plugin\";\nimport mousewheel from \"jquery-mousewheel\";\n\nexport function thomDropdown () {\n\t/* MOBILE Action */\n\tvar mob_nav = function (elem) {\n\t\t$(elem).find('.thom-dropdown--label').on('click', function (e) {\n\t\t\te.preventDefault();\n\t\t\t$('.thom-dropdown').not(elem).removeClass('is-open');\n\n\t\t\tif ($(elem).hasClass('is-open')) {\n\t\t\t\t$(elem).removeClass('is-open');\n\t\t\t} else {\n\t\t\t\t$(elem).addClass('is-open');\n\t\t\t}\n\n\t\t\tscrollbar(elem);\n\t\t\treturn false;\n\t\t});\n\t}\n\n\t/* Control for scrollbar */\n\tvar scrollbar = function (elem) {\n\t\tvar elems = $(elem).find('.thom-dropdown--options-item');\n\t\tvar elems_n = elems.length;\n\t\tvar elems_H = 0;\n\t\tvar elems_max = $(elem).data('max');\n\n\t\telems.not('.thom-search--filter-btn').on('click', function () {\n\t\t\tclose(elem);\n\t\t})\n\n\t\tif ($.isNumeric(elems_max) && elems_n > elems_max) {\n\n\t\t\tif (elems.length > elems_max) {\n\t\t\t\telems.each(function (i) {\n\t\t\t\t\telems_H += $(this).outerHeight(true);\n\t\t\t\t\tif (! --elems_max) {\n\t\t\t\t\t\t$(elem).find('.thom-dropdown--options').height(elems_H).css('overflow', 'hidden');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ($(elem).find('.thom-dropdown--options').hasClass('mCustomScrollbar')) {\n\t\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar(\"update\");\n\t\t\t} else {\n\t\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar();\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Close Select */\n\tvar close = function (elem) {\n\t\t$(elem).removeClass('is-open');\n\t\tif ($(elem).find('.mCustomScrollbar')) {\n\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar(\"destroy\");\n\t\t}\n\t};\n\n\tlet dropdown = document.getElementsByClassName('thom-dropdown');\n\tfor( var i = 0; i <= dropdown.length; i++) {\n\t\tvar _ = dropdown[i];\n\t\tif (_) {\n\t\t\tmob_nav(_);\n\t\t}\n\t}\n}\nexport default thomDropdown\n"],"sourceRoot":""}