{"version":3,"sources":["common-theme.js","PJAX/PJAX Animate Clonned Image.js","PJAX/PJAX Animate Masthead.js","PJAX/PJAX Finish Loading.js","PJAX/PJAX Init New Page.js","PJAX/PJAX Prepare Transition.js","PJAX/PJAX Transition Fullscreen Slider.js","PJAX/PJAX Transition General.js","PJAX/PJAX Transition Halfscreen Slider.js","PJAX/PJAX Transition Masonry Grid.js","PJAX/PJAX Transition Nav Projects.js","PJAX/PJAX Transition Overlay Menu.js","PJAX/PJAX Update Admin Bar.js","PJAX/PJAX Update Body Classes.js","PJAX/PJAX Update Head.js","PJAX/PJAX Update Header Classes.js","PJAX/PJAX Update Language Switcher.js","PJAX/PJAX Update Trackers.js","PJAX/PJAX Wait Container Images.js","PJAX/PJAX.js","asideCounters/AsideCounters.js","counter/Counter.js","cursor/Cursor.js","debounce/debounce.js","figurePortfolio/FigurePortfolio.js","figureProperty/figureProperty.js","fixMobileBarHeight/fixMobileBarHeight.js","form/Form.js","gmap/gmap.js","grid/grid.js","header/Header.js","lazy/lazyLoad.js","menuOverlay/MenuOverlay.js","parallax/parallax.js","preloader/Preloader.js","projectBackgrounds/ProjectBackgrounds.js","scroll/SmoothScroll.js","scroll/createOSScene.js","scroll/getScrollTop.js","scroll/lockScroll.js","scroll/restoreScrollTop.js","scroll/scrollToVeryTop.js","sectionComposition/SectionComposition.js","sectionContent/SectionContent.js","sectionHeadingsSlider/SectionHeadingsSlider.js","sectionHalfScreenSlider/SectionHalfScreenSlider.js","sectionIntro/SectionIntro.js","sectionMasthead/SectionMasthead.js","sectionNavProjects/sectionNavProjects.js","sectionTextSlider/SectionTextSlider.js","slider/SliderBackgrounds.js","slider/renderSliderCounter.js","sliderHalfScreen/sliderHalfScreen.js","sliderHeadings/SliderHeadings.js","sliderImages/SliderImages.js","sliderTestimonials/SliderTestimonials.js","sliderText/SliderText.js","social/social.js","splitText/animateLines.js","splitText/animateWords.js","splitText/doSplitText.js","splitText/hideLines.js","splitText/hideWords.js","splitText/hideWordsVertical.js","splitText/setLines.js","elementor.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"components.js","sourcesContent":["/**\n * Try to use high performance GPU on dual-GPU systems\n */\ndocument.getElementById('js-webgl').getContext('webgl', {\n\tpowerPreference: 'high-performance'\n});\n\nwindow.$document = $(document);\nwindow.$window = $(window);\nwindow.$html = $('html');\nwindow.$pageWrapper = $('.page-wrapper');\nwindow.$pageHeader = $('.header__wrapper-overlay-menu');\nwindow.$barbaWrapper = $('[data-barba=\"wrapper\"]');\nwindow.$body = $('body');\nwindow.$wrapperBackgrounds = $('.project-backgrounds');\nwindow.$backgroundsOverlay = $('.project-backgrounds__overlay');\nwindow.$overlay = $('.header__wrapper-overlay-menu');\nwindow.$backgrounds = $('.project-backgrounds__background');\nwindow.$backgroundLinks = $('a[data-post-id]');\nwindow.$burger = $('#js-burger');\nwindow.$header = $('.header');\nwindow.$preloader = $('.preloader');\nwindow.$curtains = $('.preloader__curtain');\nwindow.$spinner = $('.js-spinner');\nwindow.lastTop = 0;\n\n/**\n * Default Theme Options\n * Used to prevent errors if there is\n * no data provided from backend\n */\n\nif (typeof window.theme === 'undefined') {\n\twindow.theme = {\n\t\ttypography: {\n\t\t\tfontPrimary: 'Poppins',\n\t\t\tfontSecondary: 'Oswald'\n\t\t},\n\t\tcustomPreventRules: '',\n\t\tsmoothScroll: {\n\t\t\tdamping: 0.06,\n\t\t\trenderByPixels: true,\n\t\t\tcontinuousScrolling: false,\n\t\t\tplugins: {\n\t\t\t\tedgeEasing: true\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * ScrollMagic Setup\n */\nwindow.SMController = new ScrollMagic.Controller();\nwindow.SMController.enabled(false);\nwindow.SMSceneTriggerHook = 0.8;\nwindow.SMSceneReverse = false;\n\n/**\n * Theme Fonts\n */\nwindow.fontPrimaryObserver = new FontFaceObserver(window.theme.typography.fontPrimary);\nwindow.fontSecondaryObserver = new FontFaceObserver(window.theme.typography.fontSecondary);\n\n/**\n * Don't save scroll position\n * after AJAX transition\n */\nif ('scrollRestoration' in history) {\n\thistory.scrollRestoration = 'manual';\n}\n\nwindow.$window.on('load', function () {\n\n\tPreloader().then(function () {\n\n\t\t/**\n\t\t * Split text only after ensuring\n\t\t * that fonts are rendered\n\t\t */\n\t\tPromise\n\t\t\t.all([window.fontPrimaryObserver.load(), window.fontSecondaryObserver.load()])\n\t\t\t.then(function () {\n\t\t\t\treturn doSplitText();\n\t\t\t})\n\t\t\t.then(function () {\n\t\t\t\treturn setLines();\n\t\t\t})\n\t\t\t.then(function () {\n\t\t\t\tinitComponents(window.$document);\n\t\t\t\twindow.SMController.enabled(true);\n\t\t\t\twindow.SMController.update(true);\n\t\t\t});\n\n\t});\n\n\tnew PJAX();\n\tnew ProjectBackgrounds();\n\twindow.InteractiveCursor = new Cursor();\n\n});\n\nfunction initComponents($scope = window.$document) {\n\n\tnew SmoothScroll();\n\n\twindow.PageHeader = new Header();\n\n\tif (typeof window.PageMenu === 'undefined') {\n\t\twindow.PageMenu = new MenuOverlay();\n\t}\n\n\tnew Parallax($scope);\n\tnew Grid();\n\tnew Form();\n\tnew SliderImages($scope);\n\tnew SliderTestimonials($scope);\n\tnew AsideCounters($scope);\n\tnew GMap($scope);\n\tnew SectionMasthead($scope);\n\tnew SectionContent($scope);\n\tnew SectionIntro($scope);\n\tnew SectionTextSlider($scope);\n\tnew SectionHeadingsSlider($scope);\n\tnew SectionHalfScreenSlider($scope)\n\tnew SectionNavProjects($scope)\n\tnew SectionComposition($scope);\n\tnew FigurePortfolio($scope);\n\tnew FigureProperty($scope);\n\t$('.js-video').magnificPopup();\n\tlazyLoad($scope);\n\tfixMobileBarHeight();\n\n\t// custom JS code\n\tif (window.theme.customJSInit) {\n\t\ttry {\n\t\t\twindow.eval(window.theme.customJSInit);\n\t\t} catch (error) {\n\t\t\tconsole.warn(error);\n\t\t}\n\t}\n\n}\n","/* ======================================================================== */\n/* 1. PJAX Animate Clonned Image */\n/* ======================================================================== */\nfunction PJAXAnimateClonnedImage(data, $customPositionElement) {\n\n\treturn new Promise(function (resolve, reject) {\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$trigger = $(data.trigger),\n\t\t\t$postId = $trigger.data('post-id'),\n\t\t\t$targetBackground = window.$backgrounds.filter('[data-background-for=' + $postId + ']'),\n\t\t\t$img = $customPositionElement ? $customPositionElement : $trigger.find('img[src], video[src]');\n\n\t\tif (!$img.length) {\n\t\t\tresolve(true);\n\t\t} else {\n\n\t\t\tvar\n\t\t\t\t$clone = $img.clone(),\n\t\t\t\timgPosition = $img.get(0).getBoundingClientRect();\n\n\n\t\t\ttl\n\t\t\t\t.set($clone, {\n\t\t\t\t\tposition: 'fixed',\n\t\t\t\t\ttop: imgPosition.top,\n\t\t\t\t\tleft: imgPosition.left,\n\t\t\t\t\twidth: imgPosition.width,\n\t\t\t\t\theight: imgPosition.height,\n\t\t\t\t\tclassName: '+=of-cover',\n\t\t\t\t\tzIndex: 300\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\t$targetBackground.addClass('selected');\n\t\t\t\t\t$clone.appendTo(window.$barbaWrapper);\n\t\t\t\t})\n\t\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.to($clone, 1.2, {\n\t\t\t\t\ttransition: 'none',\n\t\t\t\t\ttransform: 'none',\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\twidth: '100vw',\n\t\t\t\t\theight: '100vh',\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t})\n\t\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tzIndex: 400,\n\t\t\t\t\tautoAlpha: 1\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\n\t\t\t\t\t// scroll window to the top\n\t\t\t\t\tscrollToVeryTop();\n\n\t\t\t\t\t// Safari fix of jumping/flashing window\n\t\t\t\t\tsetTimeout(function () {\n\n\t\t\t\t\t\t// remove clonned image\n\t\t\t\t\t\t$clone.remove();\n\t\t\t\t\t\tresolve(true);\n\n\t\t\t\t\t}, 100);\n\n\t\t\t\t});\n\n\t\t}\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 2. PJAX Animate Masthead */\n/* ======================================================================== */\nfunction PJAXAnimateMasthead(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\t$nextContainer = $(data.next.container),\n\t\t\t$nextMasthead = $nextContainer.find('.section-masthead').first(),\n\t\t\t$nextBgWrapper = $nextMasthead.find('.section-masthead__background'),\n\t\t\ttl = new TimelineMax(),\n\t\t\t$selectedBackground = window.$backgrounds.filter('.selected');\n\n\t\tscrollToVeryTop();\n\n\t\tif (!$selectedBackground.length || !$nextBgWrapper.length) {\n\t\t\tresolve(true);\n\t\t} else {\n\n\t\t\tvar $nextOverlay = $nextMasthead.find('.section-masthead__overlay:not(.d-none)');\n\n\t\t\tif ($nextOverlay.length) {\n\n\t\t\t\ttl.to(window.$backgroundsOverlay, 0.6, {\n\t\t\t\t\tautoAlpha: 0.6,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0');\n\n\t\t\t} else {\n\n\t\t\t\ttl.set(window.$backgroundsOverlay, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t}, '0');\n\n\t\t\t}\n\n\t\t\t$nextMasthead.imagesLoaded(function () {\n\n\t\t\t\tvar\n\t\t\t\t\t$nextBgWrapper = $nextMasthead.find('.section-masthead__background'),\n\t\t\t\t\t$nextBg = $nextBgWrapper.find('.art-parallax__bg'),\n\t\t\t\t\tnextBgWrapperPosition = $nextBgWrapper.get(0).getBoundingClientRect(),\n\t\t\t\t\ttransformMatrix = $nextBg.css('transform');\n\n\t\t\t\ttl\n\t\t\t\t\t.add([\n\t\t\t\t\t\tTweenMax.to(window.$wrapperBackgrounds, 1.2, {\n\t\t\t\t\t\t\ttop: nextBgWrapperPosition.top,\n\t\t\t\t\t\t\tleft: nextBgWrapperPosition.left,\n\t\t\t\t\t\t\twidth: nextBgWrapperPosition.width,\n\t\t\t\t\t\t\theight: nextBgWrapperPosition.height,\n\t\t\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tTweenMax.to($selectedBackground, 1.2, {\n\t\t\t\t\t\t\ttransition: 'none',\n\t\t\t\t\t\t\ttransform: transformMatrix,\n\t\t\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\t\t})\n\t\t\t\t\t], '0')\n\t\t\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\t\t\tautoAlpha: 0\n\t\t\t\t\t})\n\t\t\t\t\t.add(function () {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\n\t\t\t});\n\n\t\t}\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 3. PJAX Finish Loading */\n/* ======================================================================== */\nfunction PJAXFinishLoading(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\twindow.SMController.enabled(true);\n\t\twindow.SMController.update(true);\n\t\twindow.$backgrounds.removeClass('selected active');\n\t\twindow.$header.removeClass('header_lock-submenus');\n\t\twindow.InteractiveCursor.finishLoading();\n\t\tlockScroll(false);\n\n\t\tTweenMax.to(window.$spinner, 1.2, {\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t\tTweenMax.set(window.$preloader, {\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t\tTweenMax.set(window.$wrapperBackgrounds, {\n\t\t\tautoAlpha: 0,\n\t\t\tzIndex: -1,\n\t\t\tclearProps: 'width,height,left,right,top,bottom,backgroundColor',\n\t\t});\n\n\t\tTweenMax.set(window.$backgroundsOverlay, {\n\t\t\tautoAlpha: 1\n\t\t});\n\n\t\tTweenMax.set(window.$backgrounds, {\n\t\t\ttransition: '',\n\t\t\tclearProps: 'transform,width,height',\n\t\t});\n\n\t\t$('.dialog-lightbox-widget').remove();\n\n\t\tsetTimeout(function () {\n\t\t\twindow.$overlay.removeClass('intransition lockhover opened');\n\t\t}, 300);\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 4. PJAX Init New Page */\n/* ======================================================================== */\nfunction PJAXInitNewPage(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tPromise.all([\n\t\t\tPJAXUpdateAdminBar(data),\n\t\t\tPJAXUpdateLanguageSwitcher(data),\n\t\t\tPJAXUpdateBodyClasses(data),\n\t\t\tPJAXUpdateHeaderClasses(data),\n\t\t\tPJAXUpdateHead(data),\n\t\t]).then(function () {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$nextContainer = $(data.next.container);\n\n\t\t\ttl\n\t\t\t\t.add(function () {\n\n\t\t\t\t\t// re-init Contact Form 7\n\t\t\t\t\tif (typeof wpcf7 !== 'undefined') {\n\t\t\t\t\t\twpcf7.initForm(jQuery('.wpcf7-form'));\n\t\t\t\t\t}\n\n\t\t\t\t\t// clear & re-init ScrollMagic\n\t\t\t\t\twindow.SMController.destroy(true);\n\t\t\t\t\twindow.SMController = new ScrollMagic.Controller();\n\n\t\t\t\t\t// split text lines in new container\n\t\t\t\t\tdoSplitText($nextContainer).then(setLines($nextContainer)).then(function () {\n\n\t\t\t\t\t\t// scroll to the top\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tscrollToVeryTop();\n\t\t\t\t\t\t}, 100);\n\n\t\t\t\t\t\tif (typeof window.elementorFrontend !== 'undefined') {\n\t\t\t\t\t\t\telementorFrontend.init();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// re-init components\n\t\t\t\t\t\tinitComponents($nextContainer);\n\t\t\t\t\t\twindow.SMController.enabled(false);\n\n\t\t\t\t\t\t// update ad trackers\n\t\t\t\t\t\tPJAXUpdateTrackers();\n\n\t\t\t\t\t});\n\n\t\t\t\t\t// change header color if needed\n\t\t\t\t\tswitch (data.next.namespace) {\n\t\t\t\t\t\tcase 'light': {\n\t\t\t\t\t\t\twindow.$header.removeClass('header_white').addClass('header_black');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 'dark': {\n\t\t\t\t\t\t\twindow.$header.removeClass('header_black').addClass('header_white');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$nextContainer.removeClass('page-wrapper_hidden');\n\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\t});\n\n}\n","/* ======================================================================== */\n/* 5. PJAX Prepare Transition */\n/* ======================================================================== */\nfunction PJAXPrepareTransition(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar $trigger = $(data.trigger);\n\n\t\twindow.$document.off('click');\n\t\twindow.InteractiveCursor.drawLoading();\n\t\twindow.$overlay.addClass('intransition lockhover');\n\t\t$trigger.addClass('selected');\n\n\t\tTweenMax.set(window.$curtains, {\n\t\t\tscaleX: 0,\n\t\t\ttransformOrigin: 'left center'\n\t\t});\n\n\t\tTweenMax.set(window.$preloader, {\n\t\t\tautoAlpha: 1\n\t\t});\n\n\t\tTweenMax.to(window.$spinner, 0.6, {\n\t\t\tautoAlpha: 1\n\t\t});\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 6. PJAX Transition Fullscreen Slider */\n/* ======================================================================== */\nvar PJAXTransitionFullscreenSlider = {\n\tname: 'fullscreenSlider',\n\tcustom: ({\n\t\tcurrent,\n\t\tnext,\n\t\ttrigger\n\t}) => {\n\t\treturn $(trigger).data('pjax-link') == 'fullscreenSlider';\n\t},\n\tbefore: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tbeforeLeave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$target = $('.section-fullscreen-slider'),\n\t\t\t\t$backgroundOverlay = $target.find('.slider__background-overlay');\n\n\t\t\ttl\n\t\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\t\tzIndex: -1,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t})\n\t\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.to($backgroundOverlay, 0.6, {\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0')\n\t\t\t\t.to($target, 1.2, {\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0.6')\n\t\t\t\t.to(window.$wrapperBackgrounds, 0.3, {\n\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\tzIndex: 400,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0.3')\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\n\t},\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateMasthead(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n}\n","/* ======================================================================== */\n/* 7. PJAX Transition General */\n/* ======================================================================== */\nvar PJAXTransitionGeneral = {\n\n\tbefore() {\n\t\twindow.InteractiveCursor.drawLoading();\n\t},\n\n\tbeforeLeave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\tleave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$currentContainer = $(data.current.container);\n\n\t\t\ttl.timeScale(1.5);\n\n\t\t\tif (!$overlay.hasClass('opened')) {\n\n\t\t\t\ttl.to($currentContainer, 1.2, {\n\t\t\t\t\tx: '10vw',\n\t\t\t\t\tforce3D: true,\n\t\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t\ttl\n\t\t\t\t\t.to($curtains, 0.6, {\n\t\t\t\t\t\tscaleX: 1,\n\t\t\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0.2');\n\n\t\t\t}\n\n\t\t\ttl\n\t\t\t\t.add(function () {\n\t\t\t\t\twindow.$header.removeClass('header_black').addClass('header_white');\n\t\t\t\t}, '0')\n\t\t\t\t.add(function () {\n\t\t\t\t\t$currentContainer.remove();\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\n\t},\n\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$nextContainer = $(data.next.container),\n\t\t\t\t$nextMasthead = $nextContainer.find('.section-masthead').first(),\n\t\t\t\t$nextBg = $nextMasthead.find('.section-masthead__background .art-parallax__bg');\n\n\t\t\ttl\n\t\t\t\t.set($burger, {\n\t\t\t\t\tclassName: '-=header__burger_opened'\n\t\t\t\t})\n\t\t\t\t.set($nextContainer, {\n\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\tx: '-5vw',\n\t\t\t\t\tforce3D: true,\n\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t});\n\n\t\t\t// animate (close) header if it's opened\n\t\t\tif (window.$pageHeader.hasClass('opened')) {\n\n\t\t\t\tvar tlClose = $nextBg.length ? window.PageHeader.hideOverlayMenu(false) : window.PageHeader.hideOverlayMenu(true);\n\n\t\t\t\ttl\n\t\t\t\t\t.add(tlClose, '0')\n\t\t\t\t\t.set(window.$overlay, {\n\t\t\t\t\t\tclassName: '+=intransition'\n\t\t\t\t\t})\n\t\t\t\t\t.to($nextContainer, 1.2, {\n\t\t\t\t\t\tx: '0vw',\n\t\t\t\t\t\tforce3D: true,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t});\n\n\t\t\t} else {\n\n\t\t\t\ttl\n\t\t\t\t\t.to($nextContainer, 1.2, {\n\t\t\t\t\t\tx: '0vw',\n\t\t\t\t\t\tforce3D: true,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t})\n\t\t\t\t\t.to(window.$curtains, 0.6, {\n\t\t\t\t\t\tscaleX: 0,\n\t\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0.3');\n\n\t\t\t}\n\n\t\t\ttl\n\t\t\t\t.set(window.$overlay, {\n\t\t\t\t\tclassName: '+=intransition'\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t}, '-=0.3');\n\n\n\t\t});\n\n\t},\n\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 8. PJAX Transition Halfscreen Slider */\n/* ======================================================================== */\nvar PJAXTransitionHalfscreenSlider = {\n\tname: 'halfscreenSlider',\n\tcustom: ({\n\t\tcurrent,\n\t\tnext,\n\t\ttrigger\n\t}) => {\n\t\treturn $(trigger).data('pjax-link') == 'halfscreenSlider';\n\t},\n\tbefore: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tbeforeLeave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\tshift = '10vw',\n\t\t\t\t$sliderMain = $('.slider-halfscreen'),\n\t\t\t\t$sliderContent = $('.slider-halfscreen__content'),\n\t\t\t\t$wrapperImg = $('.slider-halfscreen__images-slide.swiper-slide-active .slider-halfscreen__images-slide-inner'),\n\t\t\t\t$mobileOverlay = $('.slider-halfscreen__overlay'),\n\t\t\t\t$customPositionElement = $('.slider-halfscreen__images-slide.swiper-slide-active .slider-halfscreen__bg');\n\n\t\t\tif ($sliderMain.hasClass('flex-lg-row-reverse')) {\n\t\t\t\tshift = '-10vw';\n\t\t\t}\n\n\t\t\ttl\n\t\t\t\t.to($wrapperImg, 0.6, {\n\t\t\t\t\tscale: 1\n\t\t\t\t})\n\t\t\t\t.to($sliderContent, 1.2, {\n\t\t\t\t\tx: shift,\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0.6')\n\t\t\t\t.to($mobileOverlay, 0.6, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t}, '0')\n\t\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\t\tzIndex: 400,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t})\n\t\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tPJAXAnimateClonnedImage(data, $customPositionElement).then(function () {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\t\t\t\t}, '0.6');\n\n\t\t});\n\n\t},\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateMasthead(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n}\n","/* ======================================================================== */\n/* 9. PJAX Transition Masonry Grid */\n/* ======================================================================== */\nvar PJAXTransitionMasonryGrid = {\n\tname: 'masonryGrid',\n\tcustom: ({\n\t\tcurrent,\n\t\tnext,\n\t\ttrigger\n\t}) => {\n\t\treturn $(trigger).data('pjax-link') == 'masonryGrid';\n\t},\n\tbefore: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tbeforeLeave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateClonnedImage(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\t\t\t\tresolve(true)\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateMasthead(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n}\n","/* ======================================================================== */\n/* 10. PJAX Transition Nav Projects */\n/* ======================================================================== */\nvar PJAXTransitionNavProjects = {\n\tname: 'navProjects',\n\tcustom: ({\n\t\tcurrent,\n\t\tnext,\n\t\ttrigger\n\t}) => {\n\t\treturn $(trigger).data('pjax-link') == 'navProjects';\n\t},\n\tbefore: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tbeforeLeave: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$customPositionElement = $('.section-nav-projects__backgrounds'),\n\t\t\t\t$inner = $('.section-nav-projects__inner'),\n\t\t\t\t$backgroundOverlay = $('.section-nav-projects__overlay');\n\n\t\t\ttl\n\t\t\t\t.to($inner, 0.3, {\n\t\t\t\t\ttransition: 'none',\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t}, '0')\n\t\t\t\t.to($backgroundOverlay, 0.3, {\n\t\t\t\t\ttransition: 'none',\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t}, '0')\n\t\t\t\t.add(function () {\n\t\t\t\t\tPJAXAnimateClonnedImage(data, $customPositionElement).then(function () {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t});\n\n\t},\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateMasthead(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n}\n","/* ======================================================================== */\n/* 11. PJAX Transition Overlay Menu */\n/* ======================================================================== */\nvar PJAXTransitionOverlayMenu = {\n\tname: 'overlayMenu',\n\tcustom: ({\n\t\tcurrent,\n\t\tnext,\n\t\ttrigger\n\t}) => {\n\t\treturn $(trigger).data('pjax-link') == 'overlayMenu';\n\t},\n\n\tbefore: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXPrepareTransition(data).then(function () {\n\t\t\t\tlockScroll(false);\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\tenter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXInitNewPage(data).then(function () {\n\n\t\t\t\tvar\n\t\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t\t$nextContainer = $(data.next.container),\n\t\t\t\t\t$nextMasthead = $nextContainer.find('.section-masthead').first(),\n\t\t\t\t\t$nextBg = $nextMasthead.find('.section-masthead__background .art-parallax__bg'),\n\t\t\t\t\ttlClose = $nextBg.length ? window.PageHeader.hideOverlayMenu(false) : window.PageHeader.hideOverlayMenu(true),\n\t\t\t\t\t$nextOverlay = $nextMasthead.find('.section-masthead__overlay:not(.d-none)');\n\n\t\t\t\tif ($nextBg.length) {\n\n\t\t\t\t\tif ($nextOverlay.length) {\n\n\t\t\t\t\t\ttl.to(window.$backgroundsOverlay, 1.2, {\n\t\t\t\t\t\t\tautoAlpha: 0.6,\n\t\t\t\t\t\t\ttransition: 'none',\n\t\t\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\ttl.to(window.$backgroundsOverlay, 1.2, {\n\t\t\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\t\t\ttransition: 'none',\n\t\t\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tscrollToVeryTop();\n\t\t\t\t\twindow.lastTop = 0;\n\t\t\t\t}\n\n\t\t\t\ttl\n\t\t\t\t\t.add(tlClose, '0')\n\t\t\t\t\t.to($nextContainer, 1.2, {\n\t\t\t\t\t\tx: '0vw',\n\t\t\t\t\t\tforce3D: true,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0.4')\n\t\t\t\t\t.set(window.$preloader, {\n\t\t\t\t\t\tautoAlpha: 0\n\t\t\t\t\t})\n\t\t\t\t\t.set(window.$overlay, {\n\t\t\t\t\t\tclassName: '+=intransition'\n\t\t\t\t\t})\n\t\t\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\t\t\tbackgroundColor: 'transparent'\n\t\t\t\t\t})\n\t\t\t\t\t.add(function () {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\n\t\t\t});\n\n\t\t});\n\n\t},\n\n\tafterEnter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXAnimateMasthead(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t},\n\tafter: (data) => {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tPJAXFinishLoading(data).then(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t\t});\n\n\t}\n}\n","/* ======================================================================== */\n/* 12. PJAX Update Admin Bar */\n/* ======================================================================== */\nfunction PJAXUpdateAdminBar(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar $currentBar = $('#wpadminbar');\n\n\t\tif (!$currentBar.length) {\n\t\t\tresolve(true);\n\t\t\treturn;\n\t\t}\n\n\t\tvar\n\t\t\trawHTML = $.parseHTML(data.next.html),\n\t\t\t$newBar = $(rawHTML).filter('#wpadminbar');\n\n\t\t$newBar.find('.hide-if-no-customize').removeClass('hide-if-no-customize');\n\t\t$currentBar.replaceWith($newBar);\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 13. PJAX Update Body Classes */\n/* ======================================================================== */\nfunction PJAXUpdateBodyClasses(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\tregexp = /\\/gi,\n\t\t\tmatch = regexp.exec(data.next.html);\n\n\t\tif (!match || !match[1]) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.body.setAttribute('class', match[1]);\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 14. PJAX Update Head */\n/* ======================================================================== */\nfunction PJAXUpdateHead(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\thead = document.head,\n\t\t\tnewPageRawHead = data.next.html.match(/]*>([\\s\\S.]*)<\\/head>/i)[0],\n\t\t\tnewPageHead = document.createElement('head');\n\n\t\tnewPageHead.innerHTML = newPageRawHead;\n\n\t\tvar headTags = [\n\t\t\t'meta[name=\"keywords\"]',\n\t\t\t'meta[name=\"description\"]',\n\t\t\t'meta[property^=\"og\"]',\n\t\t\t'meta[name^=\"twitter\"]',\n\t\t\t'meta[itemprop]',\n\t\t\t'link[itemprop]',\n\t\t\t'link[rel=\"prev\"]',\n\t\t\t'link[rel=\"next\"]',\n\t\t\t'link[rel=\"canonical\"]',\n\t\t\t'link[rel=\"alternate\"]',\n\t\t\t'link[rel=\"shortlink\"]',\n\t\t\t'link[id*=\"elementor\"]',\n\t\t\t'link[id*=\"eael\"]', // Essential Addons plugin post CSS\n\t\t\t'style[id*=\"elementor\"]',\n\t\t\t'style[id*=\"eael\"]', // Essential Addons plugin inline CSS\n\t\t].join(',');\n\n\t\tvar\n\t\t\toldHeadTags = head.querySelectorAll(headTags),\n\t\t\tnewHeadTags = newPageHead.querySelectorAll(headTags),\n\t\t\tpageStyles = document.querySelectorAll('link[rel=\"stylesheet\"]'),\n\t\t\tnewStylesLoaded = [];\n\n\t\t// flag all current page styles as loaded\n\t\tfor (var i = 0; i < pageStyles.length; i++) {\n\t\t\tpageStyles[i].isLoaded = true;\n\t\t}\n\n\t\t// append new and remove old tags\n\t\tfor (var i = 0; i < newHeadTags.length; i++) {\n\n\t\t\tif (typeof oldHeadTags[i] !== 'undefined') {\n\t\t\t\thead.insertBefore(newHeadTags[i], oldHeadTags[i].nextElementSibling);\n\t\t\t\thead.removeChild(oldHeadTags[i]);\n\t\t\t} else {\n\t\t\t\thead.insertBefore(newHeadTags[i], newHeadTags[i - 1]);\n\t\t\t}\n\n\t\t}\n\n\t\t// page now has new styles\n\t\tpageStyles = document.querySelectorAll('link[rel=\"stylesheet\"]');\n\n\t\t// listen for 'load' only on elements which are not loaded yet\n\t\tfor (var i = 0; i < pageStyles.length; i++) {\n\n\t\t\tif (!pageStyles[i].isLoaded) {\n\n\t\t\t\tvar promise = new Promise(function (resolve) {\n\n\t\t\t\t\tpageStyles[i].addEventListener('load', function (e) {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\n\t\t\t\t});\n\n\t\t\t\tnewStylesLoaded.push(promise);\n\n\t\t\t}\n\n\t\t}\n\n\t\t// load all new page styles\n\t\tPromise.all(newStylesLoaded).then(function () {\n\t\t\tresolve(true);\n\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 15. PJAX Update Header Classes */\n/* ======================================================================== */\nfunction PJAXUpdateHeaderClasses(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\tregexp = /\\/gi,\n\t\t\tmatch = regexp.exec(data.next.html);\n\n\t\tif (!match || !match[1]) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelector('header').setAttribute('class', match[1]);\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 16. PJAX Update Language Switcher */\n/* ======================================================================== */\nfunction PJAXUpdateLanguageSwitcher(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar $currentSwitcher = $('.lang-switcher');\n\n\t\tif (!$currentSwitcher.length) {\n\t\t\tresolve(true);\n\t\t\treturn;\n\t\t}\n\n\t\tvar\n\t\t\trawHTML = $.parseHTML(data.next.html),\n\t\t\t$newSwitcher = $(rawHTML).find('.lang-switcher');\n\n\t\t$currentSwitcher.replaceWith($newSwitcher);\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 17. PJAX Update Trackers */\n/* ======================================================================== */\nfunction PJAXUpdateTrackers() {\n\n\tupdateGA();\n\tupdateFBPixel();\n\tupdateYaMetrika();\n\n\t/**\n\t * Google Analytics\n\t */\n\tfunction updateGA() {\n\n\t\tif (typeof gtag === 'function') {\n\n\t\t\tif (window.gaData && Object.keys(window.gaData)[0] !== 'undefined') {\n\n\t\t\t\tvar\n\t\t\t\t\ttrackingID = Object.keys(window.gaData)[0],\n\t\t\t\t\tpageRelativePath = (window.location.href).replace(window.location.origin, '');\n\n\t\t\t\tgtag('js', new Date());\n\t\t\t\tgtag('config', trackingID, {\n\t\t\t\t\t'page_title': document.title,\n\t\t\t\t\t'page_path': pageRelativePath\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Facebook Pixel\n\t */\n\tfunction updateFBPixel() {\n\n\t\tif (typeof fbq === 'function') {\n\t\t\tfbq('track', 'PageView');\n\t\t}\n\n\t}\n\n\t/**\n\t * Yandex Metrika\n\t */\n\tfunction updateYaMetrika() {\n\n\t\tif (typeof ym === 'function') {\n\n\t\t\tvar trackingID = getYmTrackingNumber();\n\n\t\t\tym(trackingID, 'hit', window.location.href, {\n\t\t\t\ttitle: document.title\n\t\t\t});\n\n\t\t}\n\n\t\tfunction getYmTrackingNumber() {\n\n\t\t\tif (typeof window.Ya !== 'undefined' && typeof window.Ya.Metrika2) {\n\t\t\t\treturn window.Ya.Metrika2.counters()[0].id || null;\n\t\t\t}\n\n\t\t\tif (typeof window.Ya !== 'undefined' && typeof window.Ya.Metrika) {\n\t\t\t\treturn window.Ya.Metrika.counters()[0].id || null;\n\t\t\t}\n\n\t\t\treturn null;\n\n\t\t}\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 18. PJAX Wait Container Images */\n/* ======================================================================== */\nfunction PJAXWaitContainerImages(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\t$nextContainer = $(data.next.container),\n\t\t\t$nextMasthead = $nextContainer.find('.section-masthead');\n\n\t\t/**\n\t\t * We can't wait infinitely for the images\n\t\t * so let's proceed further anyway\n\t\t */\n\t\tsetTimeout(function () {\n\t\t\tresolve(true);\n\t\t}, 3000);\n\n\t\t$nextMasthead.imagesLoaded().always({\n\t\t\tbackground: true\n\t\t}, function (elements) {\n\n\t\t\t/**\n\t\t\t * small delay to avoid any problems\n\t\t\t * with masthead image size calculation\n\t\t\t */\n\t\t\tsetTimeout(function () {\n\t\t\t\tresolve(true);\n\t\t\t}, 150);\n\n\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 19. PJAX */\n/* ======================================================================== */\nvar PJAX = function () {\n\n\tvar $barbaWrapper = $('[data-barba=\"wrapper\"]');\n\n\tif (!$barbaWrapper.length) {\n\t\treturn;\n\t}\n\n\tbarba.init({\n\n\t\ttimeout: 6000,\n\n\t\t// don't trigger barba for links outside wrapper \n\t\tprevent: ({\n\t\t\tel\n\t\t}) => {\n\n\t\t\tvar\n\t\t\t\t$el = $(el),\n\t\t\t\texludeRules = [\n\t\t\t\t\t'[data-elementor-open-lightbox]', // Elementor Lightbox Gallery\n\t\t\t\t\t'[data-elementor-lightbox-slideshow]', // Elementor Pro Gallery\n\t\t\t\t\t'.lang-switcher a' // Polylang & WPML language switcher\n\t\t\t\t];\n\n\t\t\t// elementor preview\n\t\t\tif (typeof elementor === 'object') {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// clicked on elementor ouside barba wrapper\n\t\t\tif ($el.closest($barbaWrapper).length < 1) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// custom rules from WordPress Customizer\n\t\t\tif (window.theme.customPreventRules) {\n\t\t\t\texludeRules.push(window.theme.customPreventRules);\n\t\t\t}\n\n\t\t\t// check against array of rules to prevent\n\t\t\treturn $el.is(exludeRules.join(','));\n\n\t\t},\n\t\t// custom transitions\n\t\ttransitions: [\n\t\t\tPJAXTransitionGeneral,\n\t\t\tPJAXTransitionMasonryGrid,\n\t\t\tPJAXTransitionFullscreenSlider,\n\t\t\tPJAXTransitionHalfscreenSlider,\n\t\t\tPJAXTransitionOverlayMenu,\n\t\t\tPJAXTransitionNavProjects,\n\t\t]\n\n\t});\n\n\n}\n","/* ======================================================================== */\n/* 20. AsideCounters */\n/* ======================================================================== */\nvar AsideCounters = function ($scope = $document) {\n\n\tvar $target = $scope.find('.aside-counters');\n\n\tif (!$target.length) {\n\t\treturn;\n\t}\n\n\tvar $counter = $scope.find('.js-counter');\n\n\t$counter.each(function () {\n\n\t\tnew Counter($(this));\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 21. Counter */\n/* ======================================================================== */\nvar Counter = function ($target) {\n\n\tvar $num = $target.find('.js-counter__number');\n\n\tif (!$target.length || !$num.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\tnumberStart = $target.data('counter-start') || 0,\n\t\tnumberTarget = $target.data('counter-target') || 100,\n\t\tanimDuration = $target.data('counter-duration') || 4,\n\t\tcounter = {\n\t\t\tval: numberStart\n\t\t};\n\n\tsetCounterUp();\n\tanimateCounterUp();\n\n\tfunction setCounterUp() {\n\n\t\tvar value = numberStart.toFixed(0);\n\n\t\tif (value < 10) {\n\t\t\tvalue = '0' + value;\n\t\t}\n\n\t\t$num.text(value);\n\n\t}\n\n\tfunction animateCounterUp() {\n\n\t\tvar tl = new TimelineMax();\n\t\tvar value;\n\n\t\ttl.to(counter, animDuration, {\n\t\t\tval: numberTarget.toFixed(0),\n\t\t\tease: Power4.easeOut,\n\t\t\tonUpdate: function () {\n\t\t\t\tvalue = counter.val.toFixed(0);\n\t\t\t\tif (value < 10) {\n\t\t\t\t\tvalue = '0' + value;\n\t\t\t\t}\n\t\t\t\t$num.text(value);\n\t\t\t}\n\t\t});\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 22. Cursor */\n/* ======================================================================== */\nvar Cursor = function () {\n\n\tvar\n\t\tself = this,\n\t\t$cursor = $('#js-cursor');\n\n\tthis.drawLoading = function () {\n\t\twindow.$barbaWrapper.addClass('cursor-progress');\n\t\tdrawLoading();\n\t};\n\n\tthis.finishLoading = function () {\n\t\twindow.$barbaWrapper.removeClass('cursor-progress');\n\t\tfinishLoading();\n\t};\n\n\tthis.mouseX = 0;\n\tthis.mouseY = 0;\n\n\tthis.update = function () {\n\t\tself.mouseX = self.mouseX + pageXOffset;\n\t\tself.mouseY = self.mouseY + pageYOffset;\n\t}\n\n\t// don't launch on mobiles\n\tif (!$cursor.length || Modernizr.touchevents) {\n\t\treturn;\n\t}\n\n\tvar\n\t\ttl = new TimelineMax(),\n\t\t$follower = $('.cursor__follower'),\n\t\t$inner = $follower.find('#inner'),\n\t\t$outter = $follower.find('#outter'),\n\t\t$cursorArrowLeft = $cursor.find('.cursor__arrow_left'),\n\t\t$cursorArrowRight = $cursor.find('.cursor__arrow_right'),\n\t\toffset = parseInt(window.$html.css('marginTop'), 10),\n\t\tposX = 0,\n\t\tposY = 0,\n\t\thideCursorElements = [\n\t\t\t'.slider__arrow',\n\t\t\t'.slider__dot',\n\t\t\t'.social__item a',\n\t\t\t'.section-video__link',\n\t\t\t'.grid__item-link',\n\t\t\t'.section-nav-projects__inner'\n\t\t];\n\n\tstart();\n\n\tfunction start() {\n\n\t\tif (!$cursor.length || Modernizr.touchevents) {\n\t\t\treturn;\n\t\t}\n\n\t\tTweenMax.set($cursor, {\n\t\t\tdisplay: 'block',\n\t\t\ty: '-50%',\n\t\t\tx: '-50%'\n\t\t});\n\n\t\tTweenMax.to({}, 0.01, {\n\t\t\trepeat: -1,\n\t\t\tonRepeat: function () {\n\n\t\t\t\tposX += (self.mouseX - posX) / 6;\n\t\t\t\tposY += (self.mouseY - posY - offset) / 6;\n\n\t\t\t\tTweenMax.set($cursor, {\n\t\t\t\t\tleft: posX,\n\t\t\t\t\ttop: posY + offset,\n\t\t\t\t});\n\n\t\t\t}\n\t\t});\n\n\t\tTweenMax.set($outter, {\n\t\t\tdrawSVG: '0%',\n\t\t});\n\n\t\t$document.on('mousemove', function (e) {\n\t\t\tself.mouseX = e.clientX;\n\t\t\tself.mouseY = e.clientY;\n\t\t});\n\n\t\t$document.on('mouseenter', 'a, #js-burger, #js-submenu-back', function () {\n\n\t\t\t\tTweenMax.to($cursor, 1.2, {\n\t\t\t\t\tscale: 1.5,\n\t\t\t\t\tease: Elastic.easeOut.config(1, 0.4),\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($inner, 0.6, {\n\t\t\t\t\topacity: 1\n\t\t\t\t});\n\n\t\t\t})\n\t\t\t.on('mouseleave', 'a, #js-burger, #js-submenu-back', function () {\n\n\t\t\t\tTweenMax.to($cursor, 1.2, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tease: Elastic.easeOut.config(1, 0.4),\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($inner, 0.6, {\n\t\t\t\t\topacity: .6\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t$document.on('mouseenter', hideCursorElements.join(','), function () {\n\n\t\t\t\tTweenMax.to($cursor, 0.3, {\n\t\t\t\t\tscale: 0,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($inner, 0.3, {\n\t\t\t\t\topacity: 1\n\t\t\t\t});\n\n\t\t\t})\n\t\t\t.on('mouseleave', hideCursorElements.join(','), function () {\n\n\t\t\t\tTweenMax.to($cursor, 1.2, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tease: Elastic.easeOut.config(1, 0.4),\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($inner, 0.6, {\n\t\t\t\t\topacity: .6,\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t// draggable slider arrows\n\t\t$document.on('mouseenter', '.slider_draggable', function () {\n\t\t\tTweenMax.to($cursorArrowLeft, 0.3, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tx: -20\n\t\t\t});;\n\t\t\tTweenMax.to($cursorArrowRight, 0.3, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tx: 20\n\t\t\t});\n\t\t}).on('mouseleave', '.slider_draggable', function () {\n\t\t\tTweenMax.to([$cursorArrowLeft, $cursorArrowRight], 0.3, {\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tx: 0\n\t\t\t});\n\t\t});\n\n\t}\n\n\tfunction drawLoading() {\n\n\t\tif (!$cursor.length || Modernizr.touchevents) {\n\t\t\treturn;\n\t\t}\n\n\t\ttl\n\t\t\t.stop().clear().play()\n\t\t\t.add(TweenMax.to($cursor, 1.2, {\n\t\t\t\tscale: 1.5,\n\t\t\t\tease: Elastic.easeOut.config(1, 0.4)\n\t\t\t}))\n\t\t\t.fromTo($outter, 3, {\n\t\t\t\tdrawSVG: '0%',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, {\n\t\t\t\tdrawSVG: '100%',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0');\n\n\t}\n\n\tfunction finishLoading() {\n\n\t\tif (!$cursor.length || Modernizr.touchevents) {\n\t\t\treturn;\n\t\t}\n\n\t\ttl.stop().clear().play()\n\t\t\t.to($outter, 0.6, {\n\t\t\t\tdrawSVG: '100%',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t})\n\t\t\t.to($outter, 0.3, {\n\t\t\t\tautoAlpha: 0\n\t\t\t})\n\t\t\t.set($outter, {\n\t\t\t\tdrawSVG: '0%',\n\t\t\t\tautoAlpha: 1\n\t\t\t})\n\t\t\t.to($cursor, 1.2, {\n\t\t\t\tscale: 1,\n\t\t\t\tease: Elastic.easeOut.config(1, 0.4),\n\t\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 23. debounce */\n/* ======================================================================== */\nfunction debounce(func, wait, immediate) {\n\tvar timeout;\n\treturn function () {\n\t\tvar context = this,\n\t\t\targs = arguments;\n\t\tvar later = function () {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tvar callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n};\n","/* ======================================================================== */\n/* 24. FigurePortfolio */\n/* ======================================================================== */\nvar FigurePortfolio = function ($scope) {\n\n\tvar $target = $scope.find('.figure-portfolio');\n\n\t$target.each(function () {\n\n\t\tvar\n\t\t\t$current = $(this),\n\t\t\t$img = $current.find('img'),\n\t\t\ttransformMatrix = $img.css('transform');\n\n\t\t$current\n\t\t\t.on('mouseenter', function () {\n\t\t\t\tTweenMax.to($img, 0.6, {\n\t\t\t\t\ttransform: 'none',\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on('mouseleave', function () {\n\t\t\t\tTweenMax.to($img, 0.6, {\n\t\t\t\t\ttransform: transformMatrix,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t})\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 25. figureProperty */\n/* ======================================================================== */\nvar FigureProperty = function ($scope) {\n\n\tvar $target = $scope.find('.figure-property[data-os-animation]');\n\n\tif (!$target.length) {\n\t\treturn;\n\t}\n\n\tvar $headline = $target.find('.figure-property__headline');\n\n\tprepare();\n\tanimate();\n\n\tfunction prepare() {\n\n\t\tTweenMax.set($headline, {\n\t\t\tscaleX: 0,\n\t\t\ttransformOrigin: 'left center'\n\t\t});\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\ttl.add(animateLines($target, 1.2, 0.01));\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 26. fixMobileBarHeight */\n/* ======================================================================== */\nfunction fixMobileBarHeight() {\n\n\tvar vh;\n\n\t/**\n\t * Initial set\n\t */\n\tcreateStyleElement();\n\tsetVh();\n\n\t/**\n\t * Resize handling (with debounce)\n\t */\n\t$(window).on('resize', debounce(function () {\n\t\tsetVh();\n\t}, 250));\n\n\t/**\n\t * 100vh elements height correction\n\t */\n\tfunction setVh() {\n\n\t\tvh = window.innerHeight * 0.01;\n\n\t\t$('#rubenz-fix-bar').html(':root { --fix-bar-vh: ' + vh + 'px; }\\n');\n\n\t}\n\n\tfunction createStyleElement() {\n\n\t\tif (!$('#rubenz-fix-bar').length) {\n\t\t\t$('head').append('');\n\t\t}\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 27. Form */\n/* ======================================================================== */\nvar Form = function () {\n\n\tfloatLabels();\n\tajaxForm();\n\n\tfunction floatLabels() {\n\n\t\tvar\n\t\t\tINPUT_CLASS = '.input-float__input',\n\t\t\tINPUT_NOT_EMPTY = 'input-float__input_not-empty',\n\t\t\tINPUT_FOCUSED = 'input-float__input_focused';\n\n\t\tif (!$(INPUT_CLASS).length) {\n\t\t\treturn;\n\t\t}\n\n\t\t$(INPUT_CLASS).each(function () {\n\n\t\t\tvar\n\t\t\t\t$currentField = $(this),\n\t\t\t\t$currentControlWrap = $currentField.parent('.wpcf7-form-control-wrap');\n\n\t\t\t// not empty value\n\t\t\tif ($currentField.val()) {\n\t\t\t\t$currentField.addClass(INPUT_NOT_EMPTY);\n\t\t\t\t$currentControlWrap.addClass(INPUT_NOT_EMPTY);\n\t\t\t\t// empty value\n\t\t\t} else {\n\t\t\t\t$currentField.removeClass([INPUT_FOCUSED, INPUT_NOT_EMPTY]);\n\t\t\t\t$currentControlWrap.removeClass([INPUT_FOCUSED, INPUT_NOT_EMPTY]);\n\t\t\t}\n\n\t\t\t// has placeholder & empty value\n\t\t\tif ($currentField.attr('placeholder') && !$currentField.val()) {\n\t\t\t\t$currentField.addClass(INPUT_NOT_EMPTY);\n\t\t\t\t$currentControlWrap.addClass(INPUT_NOT_EMPTY);\n\t\t\t}\n\n\t\t});\n\n\t\t$(document).on('focusin', INPUT_CLASS, function () {\n\n\t\t\tvar\n\t\t\t\t$currentField = $(this),\n\t\t\t\t$currentControlWrap = $currentField.parent('.wpcf7-form-control-wrap');\n\n\t\t\t$currentField.addClass(INPUT_FOCUSED).removeClass(INPUT_NOT_EMPTY);\n\t\t\t$currentControlWrap.addClass(INPUT_FOCUSED).removeClass(INPUT_NOT_EMPTY);\n\n\t\t}).on('focusout', INPUT_CLASS, function () {\n\n\t\t\tvar\n\t\t\t\t$currentField = $(this),\n\t\t\t\t$currentControlWrap = $currentField.parent('.wpcf7-form-control-wrap');\n\n\t\t\t// not empty value\n\t\t\tif ($currentField.val()) {\n\t\t\t\t$currentField.removeClass(INPUT_FOCUSED).addClass(INPUT_NOT_EMPTY);\n\t\t\t\t$currentControlWrap.removeClass(INPUT_FOCUSED).addClass(INPUT_NOT_EMPTY);\n\t\t\t} else {\n\t\t\t\t// has placeholder & empty value\n\t\t\t\tif ($currentField.attr('placeholder')) {\n\t\t\t\t\t$currentField.addClass(INPUT_NOT_EMPTY);\n\t\t\t\t\t$currentControlWrap.addClass(INPUT_NOT_EMPTY);\n\t\t\t\t}\n\t\t\t\t$currentField.removeClass(INPUT_FOCUSED);\n\t\t\t\t$currentControlWrap.removeClass(INPUT_FOCUSED);\n\n\t\t\t}\n\n\t\t});\n\n\t}\n\n\tfunction ajaxForm() {\n\n\t\tvar $form = $('.js-ajax-form');\n\n\t\tif (!$form.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t$form.validate({\n\t\t\terrorElement: 'span',\n\t\t\terrorPlacement: function (error, element) {\n\t\t\t\terror.appendTo(element.parent()).addClass('form__error');\n\t\t\t},\n\t\t\tsubmitHandler: function (form) {\n\t\t\t\tajaxSubmit(form);\n\t\t\t}\n\t\t});\n\n\t\tfunction ajaxSubmit(form) {\n\n\t\t\t$.ajax({\n\t\t\t\ttype: $form.attr('method'),\n\t\t\t\turl: $form.attr('action'),\n\t\t\t\tdata: $form.serialize()\n\t\t\t}).done(function () {\n\t\t\t\talert($form.attr('data-message-success'));\n\t\t\t\t$form.trigger('reset');\n\t\t\t\tfloatLabels();\n\t\t\t}).fail(function () {\n\t\t\t\talert($form.attr('data-message-error'));\n\t\t\t});\n\t\t}\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 28. gmap */\n/* ======================================================================== */\nvar GMap = function ($scope) {\n\n\tvar\n\t\t$wrapper = $scope.find('.gmap'),\n\t\tprevInfoWindow = false;\n\n\tif (typeof google === 'undefined' || typeof google.maps === 'undefined') {\n\t\treturn;\n\t}\n\n\tcreateMap($wrapper);\n\n\t/**\n\t * \n\t * @param {Map jQuery Object} $wrapper \n\t */\n\tfunction createMap($wrapper) {\n\n\t\tvar $mapContainer = $wrapper.find('.gmap__container');\n\n\t\tif (!$mapContainer.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar\n\t\t\t$markers = $wrapper.find('.gmap__marker'),\n\t\t\tZOOM = parseInt($wrapper.attr('data-gmap-zoom')),\n\t\t\tSNAZZY_STYLES = $wrapper.attr('data-gmap-snazzy-styles');\n\n\t\tvar argsMap = {\n\t\t\tcenter: new google.maps.LatLng(0, 0),\n\t\t\tzoom: ZOOM,\n\t\t\tscrollwheel: false\n\t\t};\n\n\t\tif (SNAZZY_STYLES) {\n\n\t\t\ttry {\n\t\t\t\tSNAZZY_STYLES = JSON.parse(SNAZZY_STYLES);\n\t\t\t\t$.extend(argsMap, {\n\t\t\t\t\tstyles: SNAZZY_STYLES\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Google Map: Invalid Snazzy Styles');\n\t\t\t}\n\n\t\t};\n\n\t\tvar map = new google.maps.Map($mapContainer[0], argsMap);\n\n\t\tmap.markers = [];\n\n\t\t$markers.each(function () {\n\t\t\tcreateMarker($(this), map);\n\t\t});\n\n\t\tcenterMap(ZOOM, map);\n\n\t}\n\n\t/**\n\t * \n\t * @param {Marker jQuery object} $marker \n\t * @param {Google Map Instance} map\n\t */\n\tfunction createMarker($marker, map) {\n\n\t\tif (!$marker.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar\n\t\t\tMARKER_LAT = parseFloat($marker.attr('data-marker-lat')),\n\t\t\tMARKER_LON = parseFloat($marker.attr('data-marker-lon')),\n\t\t\tMARKER_IMG = $marker.attr('data-marker-img'),\n\t\t\tMARKER_WIDTH = $marker.attr('data-marker-width'),\n\t\t\tMARKER_HEIGHT = $marker.attr('data-marker-height'),\n\t\t\tMARKER_CONTENT = $marker.attr('data-marker-content');\n\n\t\t/**\n\t\t * Marker\n\t\t */\n\t\tvar argsMarker = {\n\t\t\tposition: new google.maps.LatLng(MARKER_LAT, MARKER_LON),\n\t\t\tmap: map\n\t\t};\n\n\t\tif (MARKER_IMG) {\n\n\t\t\t$.extend(argsMarker, {\n\t\t\t\ticon: {\n\t\t\t\t\turl: MARKER_IMG\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\n\t\tif (MARKER_IMG && MARKER_WIDTH && MARKER_HEIGHT) {\n\n\t\t\t$.extend(argsMarker.icon, {\n\t\t\t\tscaledSize: new google.maps.Size(MARKER_WIDTH, MARKER_HEIGHT)\n\t\t\t});\n\n\t\t}\n\n\t\tvar marker = new google.maps.Marker(argsMarker)\n\n\t\tmap.markers.push(marker);\n\n\t\t/**\n\t\t * Info Window (Content)\n\t\t */\n\t\tif (MARKER_CONTENT) {\n\n\t\t\tvar infoWindow = new google.maps.InfoWindow({\n\t\t\t\tcontent: MARKER_CONTENT\n\t\t\t});\n\n\t\t\tmarker.addListener('click', function () {\n\n\t\t\t\tif (prevInfoWindow) {\n\t\t\t\t\tprevInfoWindow.close();\n\t\t\t\t}\n\n\t\t\t\tprevInfoWindow = infoWindow;\n\n\t\t\t\tinfoWindow.open(map, marker);\n\n\t\t\t});\n\n\t\t}\n\n\t}\n\n\t/**\n\t * \n\t * @param {Map Zoom} zoom \n\t * @param {Google Map Instance} map\n\t */\n\tfunction centerMap(zoom, map) {\n\n\t\tvar\n\t\t\tbounds = new google.maps.LatLngBounds(),\n\t\t\tnewZoom;\n\n\t\t$.each(map.markers, function () {\n\n\t\t\tvar item = this;\n\n\t\t\tif (typeof item.position === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnewZoom = new google.maps.LatLng(item.position.lat(), item.position.lng());\n\t\t\tbounds.extend(newZoom);\n\n\t\t});\n\n\t\tif (map.markers.length == 1) {\n\n\t\t\tmap.setCenter(bounds.getCenter());\n\t\t\tmap.setZoom(zoom);\n\n\t\t} else {\n\n\t\t\tmap.fitBounds(bounds);\n\n\t\t}\n\t}\n\n}\n","/* ======================================================================== */\n/* 29. grid */\n/* ======================================================================== */\nvar Grid = function ($grid = $('.js-grid')) {\n\n\tif (!$grid.length) {\n\t\treturn;\n\t}\n\n\tvar $filter = $grid.parent().find('.js-filter');\n\n\tthis.masonryGrid = $grid.isotope({\n\t\titemSelector: '.js-grid__item',\n\t\tcolumnWidth: '.js-grid__sizer',\n\t\tpercentPosition: true\n\t});\n\n\t$grid.imagesLoaded(function () {\n\t\t$grid.isotope('layout');\n\t});\n\n\tif ($filter.length) {\n\n\t\tvar $filterItems = $filter.find('.js-filter__item');\n\n\t\t$grid.isotope();\n\n\t\t$filterItems.on('click', function (e) {\n\n\t\t\te.preventDefault();\n\n\t\t\tvar\n\t\t\t\t$el = $(this),\n\t\t\t\tfilterBy = $el.data('filter');\n\n\t\t\t$filterItems.removeClass('filter__item_active');\n\t\t\t$el.addClass('filter__item_active');\n\n\t\t\t$grid.isotope({\n\t\t\t\titemSelector: '.js-grid__item',\n\t\t\t\tcolumnWidth: '.js-grid__sizer',\n\t\t\t\thorizontalOrder: true,\n\t\t\t\tfilter: filterBy\n\t\t\t});\n\n\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 30. Header */\n/* ======================================================================== */\nvar Header = function () {\n\n\tvar $overlay = $('.header__wrapper-overlay-menu');\n\n\tif (!$overlay.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\ttl = new TimelineMax(),\n\t\t$menuLinks = $overlay.find('.menu-overlay > li > a'),\n\t\t$allLinks = $overlay.find('a'),\n\t\t$submenu = $overlay.find('.menu-overlay .sub-menu'),\n\t\t$submenuButton = $('#js-submenu-back'),\n\t\t$submenuLinks = $submenu.find('> li > a'),\n\t\t$overlayWidgets = $overlay.find('.header__wrapper-overlay-widgets'),\n\t\t$widgets = $overlay.find('.figure-property'),\n\t\t$headerLeft = $('.header__col-left'),\n\t\t$langSwitcher = $('.lang-switcher'),\n\t\tOPEN_CLASS = 'header__burger_opened',\n\t\t$adminBar = $('#wpadminbar');\n\n\tclickBurger();\n\tprepare();\n\tsetOverlayMenu();\n\tcorrectAbsoluteHeader();\n\n\tfunction prepare() {\n\n\t\tTweenMax.set($menuLinks.find('.split-chars__char'), {\n\t\t\tx: '-100px',\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t\tTweenMax.set($submenuLinks.find('.split-chars__char'), {\n\t\t\tx: '-30px',\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t}\n\n\tfunction correctAbsoluteHeader() {\n\n\t\tvar barHeight = $adminBar.height() || 0;\n\n\t\tif (typeof window.SB !== 'undefined' && window.$header.hasClass('header_absolute')) {\n\n\t\t\tTweenMax.to(window.$header, 0.6, {\n\t\t\t\ttop: -barHeight\n\t\t\t});\n\n\t\t\twindow.SB.addListener(function (scrollbar) {\n\t\t\t\tTweenMax.set(window.$header, {\n\t\t\t\t\ttop: -scrollbar.offset.y - barHeight\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t}\n\n\tfunction setOverlayMenu() {\n\n\t\tgetScrollTop();\n\t\twindow.$overlay.removeClass('intransition lockhover opened');\n\t\t$submenu.removeClass('opened');\n\t\t$allLinks.removeClass('selected');\n\n\t\tTweenMax.set(window.$overlay, {\n\t\t\tscaleX: 0,\n\t\t\tautoAlpha: 0,\n\t\t});\n\n\t\tTweenMax.set([$submenu, $submenuButton], {\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t\tTweenMax.set($overlayWidgets, {\n\t\t\tscaleY: 0,\n\t\t\ttransformOrigin: 'bottom center',\n\t\t});\n\n\t\tTweenMax.set(window.$wrapperBackgrounds, {\n\t\t\tclearProps: 'width,height,left,right,top,bottom,backgroundColor',\n\t\t});\n\n\t\tsetLines($overlayWidgets);\n\n\t}\n\n\tfunction closeOverlayMenu(hideBackgrounds) {\n\n\t\tvar\n\t\t\t$submenuLinksCurrent = $submenu.filter('.opened').find($submenuLinks),\n\t\t\t$pageWrapper = $('.page-wrapper'),\n\t\t\t$layers = [];\n\n\t\t$layers.push(window.$overlay);\n\n\t\tif (hideBackgrounds == true) {\n\t\t\t$layers.push(window.$wrapperBackgrounds);\n\t\t}\n\n\t\ttl.timeScale(1.5);\n\n\t\treturn tl\n\t\t\t.clear()\n\t\t\t.add([\n\t\t\t\tTweenMax.set(window.$overlay, {\n\t\t\t\t\tclassName: '+=intransition',\n\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t\tzIndex: 500\n\t\t\t\t}),\n\t\t\t\tTweenMax.set(window.$wrapperBackgrounds, {\n\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t\tzIndex: 100,\n\t\t\t\t}),\n\t\t\t\tTweenMax.set($burger, {\n\t\t\t\t\tclassName: '-=header__burger_opened'\n\t\t\t\t}),\n\t\t\t\tTweenMax.set($pageWrapper, {\n\t\t\t\t\tclearProps: 'overflow,height',\n\t\t\t\t\tx: '-5vw',\n\t\t\t\t\tforce3D: true,\n\t\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\t}),\n\t\t\t\tfunction () {\n\t\t\t\t\trestoreScrollTop();\n\t\t\t\t}\n\t\t\t])\n\t\t\t.add([\n\t\t\t\thideWords($menuLinks, 1.2, 0.01, '100px', true, 'start'),\n\t\t\t\thideWords($submenuLinksCurrent, 1.2, 0.01, '30px', true, 'start'),\n\t\t\t\thideLines($widgets, 0.6),\n\t\t\t], '0.3')\n\t\t\t.to($overlayWidgets, 0.6, {\n\t\t\t\tscaleY: 0,\n\t\t\t\ttransformOrigin: 'top center',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '1')\n\t\t\t.to($layers, 1.2, {\n\t\t\t\tscaleX: 0,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '1')\n\t\t\t.fromTo($pageWrapper, 2.4, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t}, {\n\t\t\t\tx: '0vw',\n\t\t\t\tforce3D: true,\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tease: Expo.easeInOut,\n\t\t\t}, '0.3')\n\t\t\t.to($submenuButton, 0.6, {\n\t\t\t\tx: '-10px',\n\t\t\t\tautoAlpha: 0\n\t\t\t}, '0.3')\n\t\t\t.fromTo([$headerLeft, $langSwitcher], 2.4, {\n\t\t\t\tx: '-50px',\n\t\t\t}, {\n\t\t\t\tx: '0px',\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0.3')\n\t\t\t.add(function () {\n\t\t\t\tsetOverlayMenu();\n\t\t\t\tprepare();\n\t\t\t});\n\n\t};\n\n\tfunction openOverlayMenu() {\n\n\t\tvar\n\t\t\t$pageWrapper = $('.page-wrapper');\n\n\t\ttl.timeScale(1);\n\n\t\ttl\n\t\t\t.clear()\n\t\t\t.add(function () {\n\t\t\t\tgetScrollTop();\n\t\t\t\twindow.$overlay.addClass('intransition opened');\n\t\t\t})\n\t\t\t.set(window.$overlay, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\tzIndex: 500\n\t\t\t})\n\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\tscaleX: 0,\n\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tzIndex: 100,\n\t\t\t})\n\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\tautoAlpha: 0.6\n\t\t\t})\n\t\t\t.to($pageWrapper, 1.2, {\n\t\t\t\tx: '10vw',\n\t\t\t\tforce3D: true,\n\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\tease: Expo.easeInOut,\n\t\t\t\tonComplete: function () {\n\t\t\t\t\tTweenMax.set($pageWrapper, {\n\t\t\t\t\t\tautoAlpha: 0\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.to([$headerLeft, $langSwitcher], 1.2, {\n\t\t\t\tx: '50px',\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0')\n\t\t\t.to([window.$overlay, window.$wrapperBackgrounds], 0.6, {\n\t\t\t\tscaleX: 1,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0.2')\n\t\t\t.add(animateWords($menuLinks, 1.8, 0.01, true, false, '-=1.5'), '0.6')\n\t\t\t.to($overlayWidgets, 1.2, {\n\t\t\t\tscaleY: 1,\n\t\t\t\tease: Expo.easeInOut,\n\t\t\t}, '0.6')\n\t\t\t.add(animateLines($widgets), '0.8')\n\t\t\t.add(function () {\n\t\t\t\twindow.$overlay.removeClass('intransition');\n\t\t\t}, '0.9');\n\n\t};\n\n\tfunction clickBurger() {\n\n\t\twindow.$burger.off().on('click', function (e) {\n\n\t\t\te.preventDefault();\n\n\t\t\tif (!$overlay.hasClass('intransition')) {\n\n\t\t\t\tif (window.$burger.hasClass(OPEN_CLASS)) {\n\t\t\t\t\tcloseOverlayMenu(true);\n\t\t\t\t\twindow.$burger.removeClass(OPEN_CLASS);\n\t\t\t\t} else {\n\t\t\t\t\topenOverlayMenu();\n\t\t\t\t\twindow.$burger.addClass(OPEN_CLASS);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t});\n\n\t}\n\n\tthis.hideOverlayMenu = function (hideBackgrounds) {\n\n\t\treturn closeOverlayMenu(hideBackgrounds);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 31. lazyLoad */\n/* ======================================================================== */\nfunction lazyLoad($scope = document, $elements = $document.find('.lazy')) {\n\n\tvar $images = $elements.find('img[data-src]');\n\tvar $backgrounds = $scope.find('.lazy-bg[data-src]');\n\n\tsetResponsivePaddingBottom($images).then(loadImages());\n\n\tfunction setResponsivePaddingBottom($images) {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\t$images.each(function () {\n\n\t\t\t\tvar\n\t\t\t\t\t$el = $(this),\n\t\t\t\t\telWidth = $el.attr('width'),\n\t\t\t\t\telHeight = $el.attr('height');\n\n\t\t\t\t// we need both width and height of element\n\t\t\t\t// to calculate proper value for \"padding-bottom\" hack\n\t\t\t\tif (!elWidth || !elHeight) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar elPB = (elHeight / elWidth) * 100 + '%';\n\n\t\t\t\t$el.removeAttr('width').removeAttr('height').removeAttr('src');\n\n\t\t\t\t$el.parent().css({\n\t\t\t\t\t'padding-bottom': elPB,\n\t\t\t\t\t'animation-name': 'loading',\n\t\t\t\t\t'width': '100%',\n\t\t\t\t\t'height': '0'\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t\tresolve();\n\n\t\t});\n\n\t};\n\n\tfunction loadImages() {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\t$images.Lazy({\n\t\t\t\tthreshold: 1000,\n\t\t\t\tchainable: false,\n\t\t\t\tafterLoad: function (el) {\n\n\t\t\t\t\t$(el).parent().css({\n\t\t\t\t\t\t'padding-bottom': '',\n\t\t\t\t\t\t'width': '',\n\t\t\t\t\t\t'height': '',\n\t\t\t\t\t\t'animation-name': 'none',\n\t\t\t\t\t\t'background-color': 'initial'\n\t\t\t\t\t});\n\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tnew Grid();\n\t\t\t\t\t}, 300);\n\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t\t$backgrounds.Lazy({\n\t\t\t\tthreshold: 1000,\n\t\t\t\tchainable: false\n\t\t\t});\n\n\t\t\tresolve(true);\n\n\t\t});\n\t};\n\n}\n","/* ======================================================================== */\n/* 32. MenuOverlay */\n/* ======================================================================== */\nvar MenuOverlay = function () {\n\n\tvar $menu = $('.js-menu-overlay');\n\n\tif (!$menu.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\t$overlay = $('.header__wrapper-overlay-menu'),\n\t\t$widgets = $overlay.find('.figure-property'),\n\t\t$links = $menu.find('.menu-item-has-children > a'),\n\t\t$allLinks = $menu.find('a'),\n\t\t$submenus = $menu.find('.sub-menu'),\n\t\t$submenuButton = $('#js-submenu-back'),\n\t\tOPEN_CLASS = 'opened',\n\t\tSELECTED_CLASS = 'selected',\n\t\tHOVER_CLASS = 'menu-overlay_hover',\n\t\ttl = new TimelineMax();\n\n\tfunction openSubmenu($submenu, $currentMenu) {\n\n\t\tvar\n\t\t\t$currentLinks = $currentMenu.find('> li > a .menu-overlay__item-wrapper'),\n\t\t\t$submenuLinks = $submenu.find('> li > a .menu-overlay__item-wrapper');\n\n\t\ttl\n\t\t\t.clear()\n\t\t\t.add([\n\t\t\t\tTweenMax.set($submenu, {\n\t\t\t\t\tautoAlpha: 1\n\t\t\t\t}),\n\t\t\t\tfunction () {\n\t\t\t\t\t$overlay.addClass('intransition lockhover');\n\n\t\t\t\t\t$submenus.removeClass(OPEN_CLASS);\n\t\t\t\t\t$submenu.not($menu).addClass(OPEN_CLASS);\n\n\t\t\t\t\tif (Modernizr.mq('(max-width: 991px)')) {\n\n\t\t\t\t\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\t\t\t\t\thideLines($widgets, 0.6);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanimateLines($widgets);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\t\t\t\ttl.to($submenuButton, 0.3, {\n\t\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\t\tx: '0px'\n\t\t\t\t\t\t}, '-=1.2');\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttl.to($submenuButton, 0.3, {\n\t\t\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\t\t\tx: '-10px'\n\t\t\t\t\t\t}, '-=1.2');\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t], '0')\n\t\t\t.add(hideWords($currentLinks, 1.2, 0, '50px', true, '0.2'))\n\t\t\t.add(animateWords($submenuLinks, 1.2, 0.005), '-=0.6')\n\t\t\t.set($submenu, {\n\t\t\t\tzIndex: 100\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\t$allLinks.removeClass(SELECTED_CLASS);\n\t\t\t\t$overlay.removeClass('intransition lockhover');\n\t\t\t}, '-=0.6');\n\n\t}\n\n\tfunction closeSubmenu($submenu, $currentMenu) {\n\n\t\tvar\n\t\t\t$currentLinks = $currentMenu.find('> li > a .menu-overlay__item-wrapper'),\n\t\t\t$submenuLinks = $submenu.find('> li > a .menu-overlay__item-wrapper');\n\n\t\ttl\n\t\t\t.clear()\n\t\t\t.add([\n\t\t\t\tTweenMax.set($submenu, {\n\t\t\t\t\tzIndex: -1\n\t\t\t\t}),\n\t\t\t\tfunction () {\n\n\t\t\t\t\t$overlay.addClass('intransition lockhover');\n\n\t\t\t\t\t$submenus.removeClass(OPEN_CLASS);\n\t\t\t\t\t$currentMenu.not($menu).addClass(OPEN_CLASS);\n\n\t\t\t\t\tif (Modernizr.mq('(max-width: 991px)')) {\n\n\t\t\t\t\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\t\t\t\t\thideLines($widgets, 0.6);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanimateLines($widgets);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\t\t\t\tTweenMax.to($submenuButton, 0.3, {\n\t\t\t\t\t\t\tautoAlpha: 1,\n\t\t\t\t\t\t\tx: '0px'\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tTweenMax.to($submenuButton, 0.3, {\n\t\t\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\t\t\tx: '-10px'\n\t\t\t\t\t\t});\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t])\n\t\t\t.add(hideWords($submenuLinks, 0.6, 0.005, '-50px'))\n\t\t\t.add(animateWords($currentLinks), '-=0.6')\n\t\t\t.add([\n\t\t\t\tTweenMax.set($submenu, {\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t}),\n\t\t\t\tfunction () {\n\t\t\t\t\t$overlay.removeClass('intransition lockhover');\n\t\t\t\t}\n\t\t\t], '-=0.6');\n\n\t}\n\n\t$links.on('click', function (e) {\n\n\t\te.preventDefault();\n\n\t\tif (!$overlay.hasClass('intransition')) {\n\t\t\tvar\n\t\t\t\t$el = $(this),\n\t\t\t\t$currentMenu = $el.parents('ul'),\n\t\t\t\t$submenu = $el.next('.sub-menu');\n\n\t\t\t$el.addClass(SELECTED_CLASS);\n\n\t\t\topenSubmenu($submenu, $currentMenu);\n\t\t}\n\n\t});\n\n\t$submenuButton.on('click', function (e) {\n\n\t\te.preventDefault();\n\n\t\tif (!$overlay.hasClass('intransition')) {\n\t\t\tvar\n\t\t\t\t$openedMenu = $submenus.filter('.' + OPEN_CLASS),\n\t\t\t\t$prevMenu = $openedMenu.parent('li').parent('ul');\n\n\t\t\tcloseSubmenu($openedMenu, $prevMenu);\n\t\t}\n\n\t});\n\n\t$allLinks\n\t\t.on('mouseenter touchstart', function () {\n\t\t\tif ($submenus.filter('.opened').length) {\n\t\t\t\t$submenus.filter('.opened').addClass(HOVER_CLASS);\n\t\t\t} else {\n\t\t\t\t$menu.addClass(HOVER_CLASS);\n\t\t\t}\n\t\t})\n\t\t.on('mouseleave touchend', function () {\n\t\t\t$('.menu-overlay_hover').removeClass(HOVER_CLASS);\n\t\t});\n\n}\n","/* ======================================================================== */\n/* 33. parallax */\n/* ======================================================================== */\nvar Parallax = function ($scope) {\n\n\tvar $wrapper = $scope.find('[data-art-parallax]');\n\n\tif (!$wrapper.length) {\n\t\treturn;\n\t}\n\n\t$wrapper.each(function () {\n\n\t\tvar\n\t\t\t$current = $(this),\n\t\t\t$img = $current.find('img, .art-parallax__bg'),\n\t\t\tfactor = parseFloat($current.data('art-parallax-factor')) || 0.3,\n\t\t\tfactorTo = Math.abs(factor) * 100,\n\t\t\tfactorFrom = -1 * factor * 100,\n\t\t\tfactorScale = 1 + Math.abs(factor),\n\t\t\tsceneDuration = window.innerHeight + $current.height();\n\n\t\tif ($img.is('img')) {\n\t\t\tsceneDuration = window.innerHeight + $current.parent().height();\n\t\t}\n\n\t\tif (!$img.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (factorFrom > 0) {\n\t\t\tfactorScale = factorScale * factorScale;\n\t\t\tfactorTo = factor * 100;\n\t\t}\n\n\t\tvar tl = new TimelineMax();\n\n\t\tTweenMax.set($img, {\n\t\t\tscale: factorScale,\n\t\t\ttransformOrigin: 'center center',\n\t\t\tforce3D: true,\n\t\t\trotationZ: 0.01,\n\t\t\tease: Expo.easeInOut\n\t\t});\n\n\t\ttl.fromTo($img, 0.3, {\n\t\t\ty: factorFrom + '%',\n\t\t\tforce3D: true,\n\t\t\tease: Linear.easeNone,\n\t\t}, {\n\t\t\ty: factorTo + '%',\n\t\t\tforce3D: true,\n\t\t\tease: Linear.easeNone,\n\t\t});\n\n\t\tnew ScrollMagic.Scene({\n\t\t\t\ttriggerElement: $current,\n\t\t\t\ttriggerHook: 1,\n\t\t\t\tduration: sceneDuration\n\t\t\t})\n\t\t\t.setTween(tl)\n\t\t\t.addTo(window.SMController)\n\t\t\t.update(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 34. Preloader */\n/* ======================================================================== */\nfunction Preloader() {\n\n\tvar tl = new TimelineMax();\n\n\treturn new Promise(function (resolve) {\n\n\t\ttl\n\t\t\t.add(function () {\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\twindow.$pageWrapper.removeClass('page-wrapper_hidden');\n\t\t\t\t}, 100);\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 35. ProjectBackgrounds */\n/* ======================================================================== */\nvar ProjectBackgrounds = function () {\n\n\tif (!window.$backgrounds.length) {\n\t\treturn;\n\t}\n\n\tvar $ajaxLinks = $('a[data-post-id]');\n\n\twindow.$header.find($ajaxLinks)\n\t\t.on('mouseenter touchstart', function () {\n\t\t\tvar\n\t\t\t\tpostId = $(this).data('post-id'),\n\t\t\t\t$targetBackground = window.$backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\t\tif (!$targetBackground.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.$backgrounds.filter('active').removeClass('active');\n\t\t\t$targetBackground.addClass('active');\n\n\t\t})\n\t\t.on('mouseleave touchend', function () {\n\n\t\t\twindow.$backgrounds.filter('.active').removeClass('active');\n\n\t\t});\n\n\t$ajaxLinks.on('click', function () {\n\n\t\tvar\n\t\t\tpostId = $(this).data('post-id'),\n\t\t\t$targetBackground = window.$backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\tif (!$targetBackground.length) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow.$backgrounds.filter('active').removeClass('active');\n\t\t$targetBackground.addClass('selected');\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 36. SmoothScroll */\n/* ======================================================================== */\nvar SmoothScroll = function () {\n\n\tvar\n\t\t$smoothScroll = $('.js-smooth-scroll'),\n\t\t$WPadminBar = $('#wpadminbar');\n\n\tif (!$smoothScroll.length) {\n\t\treturn;\n\t}\n\n\t// don't launch in Elementor edit mode\n\tif (typeof elementor != 'undefined') {\n\t\treturn;\n\t}\n\n\t// don't launch on mobiles\n\tif (Modernizr.touchevents && !$smoothScroll.hasClass('js-smooth-scroll_enable-mobile')) {\n\t\treturn;\n\t}\n\n\t$smoothScroll.addClass('smooth-scroll');\n\n\tif (window.theme.smoothScroll.plugins.edgeEasing) {\n\t\tScrollbar.use(window.EdgeEasingPlugin);\n\t}\n\n\twindow.SB = Scrollbar.init($smoothScroll[0], window.theme.smoothScroll);\n\n\t// Emit native scroll event to window\n\tif (typeof window.SB !== 'undefined') {\n\n\t\tvar scrollEvt = new CustomEvent('scroll');\n\n\t\twindow.SB.addListener(function (e) {\n\t\t\twindow.pageYOffset = e.offset.y;\n\t\t\twindow.pageXOffset = e.offset.x;\n\t\t\twindow.dispatchEvent(scrollEvt);\n\t\t});\n\n\t}\n\n\t// prevent double scroll because of the offset created\n\t// by WordPress.menu-overlay .sub-menu admin bar\n\tif (typeof window.SB !== 'undefined' && $WPadminBar.length) {\n\n\t\twindow.$html.css({\n\t\t\toverflow: 'hidden'\n\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 37. createOSScene */\n/* ======================================================================== */\nfunction createOSScene($el, tl, $customTrigger, noReveal) {\n\n\tvar\n\t\t$trigger = $el,\n\t\tmasterTL = new TimelineMax();\n\n\tif ($customTrigger && $customTrigger.length) {\n\t\t$trigger = $customTrigger;\n\t}\n\n\tif (!noReveal) {\n\t\t// reveal hidden element first\n\t\tmasterTL.add(TweenMax.set($el, {\n\t\t\tautoAlpha: 1\n\t\t}), '0');\n\t}\n\n\tmasterTL.add(tl, '0');\n\n\tmasterTL.add(function () {\n\t\t$el.attr('data-os-animation', 'animated');\n\t});\n\n\tnew $.ScrollMagic.Scene({\n\t\t\ttriggerElement: $trigger,\n\t\t\ttriggerHook: window.SMSceneTriggerHook,\n\t\t\treverse: window.SMSceneReverse\n\t\t})\n\t\t.setTween(masterTL)\n\t\t.addTo(window.SMController);\n\n}\n","/* ======================================================================== */\n/* 38. getScrollTop */\n/* ======================================================================== */\nfunction getScrollTop() {\n\n\tif (window.SB !== undefined) {\n\t\twindow.lastTop = window.SB.scrollTop;\n\t} else {\n\t\twindow.lastTop = Math.max(document.body.scrollTop, document.documentElement.scrollTop);\n\t}\n\n\treturn window.lastTop;\n}\n","/* ======================================================================== */\n/* 39. lockScroll */\n/* ======================================================================== */\nfunction lockScroll(lock) {\n\n\tvar LOCK_CLASS = 'body_lock-scroll';\n\n\tif (lock) {\n\n\t\tif (typeof window.SB !== 'undefined') {\n\n\t\t\twindow.SB.updatePluginOptions('lockscroll', {\n\t\t\t\tlock: true\n\t\t\t});\n\n\t\t}\n\n\t\twindow.$body.addClass(LOCK_CLASS);\n\n\t}\n\n\tif (!lock) {\n\n\t\twindow.$body.removeClass(LOCK_CLASS);\n\n\t\tif (typeof window.SB !== 'undefined') {\n\n\t\t\twindow.SB.updatePluginOptions('lockscroll', {\n\t\t\t\tlock: false\n\t\t\t});\n\n\t\t}\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 40. restoreScrollTop */\n/* ======================================================================== */\nfunction restoreScrollTop() {\n\n\tif (window.SB !== undefined) {\n\n\t\tsetTimeout(function () {\n\t\t\twindow.SB.scrollTop = window.lastTop;\n\t\t}, 100);\n\n\t} else {\n\n\t\t$('html, body').animate({\n\t\t\tscrollTop: window.lastTop\n\t\t}, 100);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 41. scrollToVeryTop */\n/* ======================================================================== */\nfunction scrollToVeryTop() {\n\n\twindow.scrollTo(0, 0);\n\n\t// safari fix\n\ttry {\n\t\twindow.top.scrollTo(0, 0);\n\t} catch (error) {\n\n\t}\n\n\tif (window.SB !== undefined) {\n\t\twindow.SB.scrollTop = 0;\n\t}\n\n}\n","/* ======================================================================== */\n/* 42. SectionComposition */\n/* ======================================================================== */\nvar SectionComposition = function ($scope) {\n\n\tvar $target = $scope.find('.section-composition__content[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\t$target.each(function () {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$current = $(this),\n\t\t\t$headlineProperty = $current.find('.figure-property__headline'),\n\t\t\t$property = $current.find('.figure-property');\n\n\t\tprepare();\n\t\tanimate();\n\n\t\tfunction prepare() {\n\n\t\t\tTweenMax.set($headlineProperty, {\n\t\t\t\tscaleX: 0,\n\t\t\t\ttransformOrigin: 'left center'\n\t\t\t});\n\n\t\t}\n\n\t\tfunction animate() {\n\n\t\t\ttl\n\t\t\t\t.to($headlineProperty, 1.2, {\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\ttransformOrigin: 'left center'\n\t\t\t\t})\n\t\t\t\t.add(animateLines($property, 0.8, 0.03), '-=1.2');\n\n\t\t\tcreateOSScene($current, tl, $property);\n\n\t\t}\n\n\t})\n\n}\n","/* ======================================================================== */\n/* 43. SectionContent */\n/* ======================================================================== */\nvar SectionContent = function ($scope) {\n\n\tvar $target = $scope.find('.section-content[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\t$target.each(function () {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$current = $(this),\n\t\t\t$headline = $current.find('.section__headline'),\n\t\t\t$headlineProperty = $current.find('.figure-property__headline'),\n\t\t\t$heading = $current.find('h2'),\n\t\t\t$subheading = $current.find('h3'),\n\t\t\t$property = $current.find('.figure-property');\n\n\t\tprepare();\n\t\tanimate();\n\n\t\tfunction prepare() {\n\n\t\t\thideWords($heading, 0.6, 0.01, '50px');\n\n\t\t\tTweenMax.set($headlineProperty, {\n\t\t\t\tscaleX: 0,\n\t\t\t\ttransformOrigin: 'left center'\n\t\t\t});\n\n\t\t\tTweenMax.set($headline, {\n\t\t\t\tscaleX: 0,\n\t\t\t\ttransformOrigin: 'left center'\n\t\t\t});\n\n\t\t}\n\n\t\tfunction animate() {\n\n\t\t\tif ($heading.length) {\n\n\t\t\t\ttl.add(animateWords($heading));\n\n\t\t\t}\n\t\t\tif ($headline.length) {\n\n\t\t\t\ttl.to($headline, 1.2, {\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t}, '0');\n\n\t\t\t}\n\n\t\t\tif ($subheading.length) {\n\n\t\t\t\ttl.add(animateLines($subheading, 1.2, 0.01), '0')\n\n\t\t\t}\n\n\t\t\tif ($property.length) {\n\n\t\t\t\t$property.each(function () {\n\t\t\t\t\ttl.add(animateLines($(this), 1.2, 0.01), '-=1.2');\n\t\t\t\t\ttl.to($(this).find($headlineProperty), 1.2, {\n\t\t\t\t\t\tscaleX: 1,\n\t\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t\t\ttransformOrigin: 'left center'\n\t\t\t\t\t}, '0');\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tcreateOSScene($current, tl);\n\n\t\t}\n\n\t})\n\n}\n","/* ======================================================================== */\n/* 44. SectionHeadingsSlider */\n/* ======================================================================== */\nvar SectionHeadingsSlider = function ($scope) {\n\n\tvar $target = $scope.find('.section-headings-slider[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$slider = $target.find('.js-slider-headings'),\n\t\t$counter = $slider.find('.slider-headings__counter'),\n\t\t$heading = $slider.find('h2'),\n\t\t$prev = $slider.find('.slider-headings__arrow_prev .slider__arrow-inner'),\n\t\t$next = $slider.find('.slider-headings__arrow_next .slider__arrow-inner'),\n\t\t$dots = $slider.find('.slider__dots'),\n\t\t$backgrounds = $slider.find('.slider__background');\n\n\tprepare().then(function () {\n\t\tanimate();\n\t})\n\n\tfunction prepare() {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar tl = new TimelineMax();\n\n\t\t\ttl\n\t\t\t\t.add(function () {\n\t\t\t\t\tnew SliderHeadings($slider);\n\t\t\t\t})\n\t\t\t\t.set($prev, {\n\t\t\t\t\tx: '-50px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.set($next, {\n\t\t\t\t\tx: '50px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.add(hideWords($heading, '0', '0', '-100px'))\n\t\t\t\t.set($counter, {\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t})\n\t\t\t\t.set($dots, {\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\ty: '50px'\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\ttl\n\t\t\t.add(animateWords($slider.find('.swiper-slide-active h2'), 1.2, 0.02, true), '0')\n\t\t\t.add(animateLines($slider.find('.swiper-slide-active p'), 1.2, 0.01), '0.3')\n\t\t\t.to([$prev, $next], 1.2, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tx: '0px'\n\t\t\t}, '0')\n\t\t\t.to($dots, 1.2, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ty: '0px'\n\t\t\t}, '0')\n\t\t\t.to($counter, 1.2, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t}, '0.3')\n\t\t\t.add(function () {\n\t\t\t\tnew SliderBackgrounds($backgrounds);\n\t\t\t}, '0.6');\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n\n}\n","/* ======================================================================== */\n/* 45. SectionHalfScreenSlider */\n/* ======================================================================== */\nvar SectionHalfScreenSlider = function ($scope) {\n\n\tvar $target = $scope.find('.section-halfscreen-slider[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$slider = $target.find('.js-slider-halfscreen'),\n\t\t$wrapperImg = $('.slider-halfscreen__images-slide .slider-halfscreen__images-slide-inner'),\n\t\t$heading = $slider.find('h2'),\n\t\t$description = $slider.find('p'),\n\t\t$link = $slider.find('.slider-halfscreen__link span'),\n\t\t$linkLine = $slider.find('.slider-halfscreen__link-line'),\n\t\t$prev = $slider.find('.slider-halfscreen__arrow_prev .slider__arrow-inner'),\n\t\t$next = $slider.find('.slider-halfscreen__arrow_next .slider__arrow-inner');\n\n\tprepare().then(function () {\n\t\tanimate();\n\t});\n\n\tfunction prepare() {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar tl = new TimelineMax();\n\n\t\t\ttl\n\t\t\t\t.add(function () {\n\t\t\t\t\tnew SliderHalfScreen($slider);\n\t\t\t\t})\n\t\t\t\t.set($prev, {\n\t\t\t\t\ty: '-50px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.set($next, {\n\t\t\t\t\ty: '50px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.set($wrapperImg, {\n\t\t\t\t\tautoAlpha: 0,\n\t\t\t\t\tscale: 1.1\n\t\t\t\t})\n\t\t\t\t.add(hideWords($link, '0', '0', '30px'))\n\t\t\t\t.set($linkLine, {\n\t\t\t\t\tscaleX: 0,\n\t\t\t\t\ttransformOrigin: 'left center'\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tsetLines($description);\n\t\t\t\t})\n\t\t\t\t.add(hideWords($heading, '0', '0', '-50px'))\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\ttl\n\t\t\t.add(animateWords($slider.find('.swiper-slide-active h2'), 1.2, 0.02, true), '0')\n\t\t\t.add(animateLines($slider.find('.swiper-slide-active p'), 1.2, 0.01), '0.6')\n\t\t\t.add(animateWords($link, 1.2, 0.02), '1.2')\n\t\t\t.to($linkLine, 1.2, {\n\t\t\t\tscaleX: 1,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '1.2')\n\t\t\t.to($wrapperImg, 1.2, {\n\t\t\t\tscale: 1,\n\t\t\t}, '0.3')\n\t\t\t.to($wrapperImg, 1.2, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t}, '0.3')\n\t\t\t.to([$prev, $next], 1.2, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ty: '0px'\n\t\t\t}, '0');\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n\n}\n","/* ======================================================================== */\n/* 46. SectionIntro */\n/* ======================================================================== */\nvar SectionIntro = function ($scope) {\n\n\tvar $target = $scope.find('.section-intro[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$headline = $target.find('.section-intro__headline'),\n\t\t$heading = $target.find('h1');\n\n\tprepare();\n\tanimate();\n\n\tfunction prepare() {\n\n\t\tTweenMax.set($headline, {\n\t\t\tscaleX: 0,\n\t\t\ttransformOrigin: 'left center'\n\t\t});\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\ttl\n\t\t\t.add(animateLines($heading, 1.2, 0.01))\n\t\t\t.to($headline, 0.6, {\n\t\t\t\tscaleX: 1,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0.3')\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 47. SectionMasthead */\n/* ======================================================================== */\nvar SectionMasthead = function ($scope) {\n\n\tvar $target = $scope.find('.section-masthead[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$headline = $target.find('.section__headline'),\n\t\t$heading = $target.find('h1'),\n\t\t$subheading = $target.find('h2'),\n\t\t$properties = $target.find('.figure-property');\n\n\tprepare();\n\tanimate();\n\n\tfunction prepare() {\n\n\t\tTweenMax.set($headline, {\n\t\t\tscaleX: 0,\n\t\t\ttransformOrigin: 'left center'\n\t\t});\n\n\t\thideWords($heading, 0, 0);\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\t// if ($headline.length) {\n\n\t\ttl.to($headline, 1.2, {\n\t\t\tscaleX: 1,\n\t\t\tease: Expo.easeInOut\n\t\t}, '0');\n\n\t\t// }\n\n\t\t// if ($heading.length) {\n\t\ttl.add(animateWords($heading, 1.2, 0.03, true), '0');\n\t\t// }\n\n\t\t// if ($subheading.length) {\n\t\ttl.add(animateLines($subheading, 1.2, 0.01), '0.6');\n\t\t// }\n\n\t\t// if ($properties.length) {\n\t\ttl.add(animateLines($properties, 1.2, 0.02), '0.6');\n\t\t// }\n\n\t\t// if ($overlay.length) {\n\t\t// \ttl.to($overlay, 1.2, {\n\t\t// \t\topacity: initialOpacity,\n\t\t// \t\tease: Expo.easeInOut\n\t\t// \t}, '0');\n\t\t// }\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 48. sectionNavProjects */\n/* ======================================================================== */\nvar SectionNavProjects = function ($scope) {\n\n\tvar $target = $scope.find('.section-nav-projects');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$backgrounds = $target.find('.section-nav-projects__background'),\n\t\t$ajaxLinks = $target.find('.section-nav-projects__inner[data-post-id]');\n\n\t$ajaxLinks\n\t\t.on('mouseenter touchstart', function () {\n\t\t\tvar\n\t\t\t\tpostId = $(this).data('post-id'),\n\t\t\t\t$targetBackground = $backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\t\tif (!$targetBackground.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$backgrounds.filter('active').removeClass('active');\n\t\t\t$targetBackground.addClass('active');\n\n\t\t})\n\t\t.on('mouseleave touchend', function () {\n\n\t\t\t$backgrounds.filter('.active').removeClass('active');\n\n\t\t})\n\t\t.on('click', function () {\n\n\t\t\tvar\n\t\t\t\tpostId = $(this).data('post-id'),\n\t\t\t\t$targetBackground = $backgrounds.filter('[data-background-for=\"' + postId + '\"]'),\n\t\t\t\t$targetBackgroundGlobal = window.$backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\t\tif (!$targetBackground.length || typeof elementor != 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$backgrounds.filter('active').removeClass('active');\n\t\t\t$targetBackgroundGlobal.addClass('selected');\n\t\t\t$targetBackground.addClass('selected');\n\n\t\t\tif ($targetBackground.is('video')) {\n\t\t\t\t$targetBackground.get(0).play();\n\t\t\t}\n\n\t\t});\n\n}\n","/* ======================================================================== */\n/* 49. SectionTextSlider */\n/* ======================================================================== */\nvar SectionTextSlider = function ($scope) {\n\n\tvar $target = $scope.find('.section-text-slider[data-os-animation]');\n\n\tif (!$target.length) {\n\n\t\treturn;\n\n\t}\n\n\tvar\n\t\t$slider = $target.find('.js-slider-text'),\n\t\t$backgrounds = $slider.find('.slider__background'),\n\t\t$helper = $target.find('.slider-text__helper'),\n\t\t$helperNormal = $target.find('.slider-text__helper-label-normal'),\n\t\t$helperView = $target.find('.slider-text__helper-label-view'),\n\t\t$helperIconLeft = $slider.find('.slider-text__helper-icon_left'),\n\t\t$helperIconRight = $slider.find('.slider-text__helper-icon_right');\n\n\tprepare().then(function () {\n\t\tanimate();\n\t});\n\n\tfunction prepare() {\n\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tvar tl = new TimelineMax();\n\n\t\t\ttl\n\t\t\t\t.set($helper, {\n\t\t\t\t\ty: '20px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t})\n\t\t\t\t.set($target.find('.slider-text__line'), {\n\t\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\t\tscaleX: 0\n\t\t\t\t})\n\t\t\t\t.add(hideWords($target.find('h2'), '0', '0', '-30px', true))\n\t\t\t\t.add(hideWords($target.find('.slider-text__counter'), '0', '0', '-30px', true))\n\t\t\t\t.add(hideWordsVertical($helperNormal, '0', '0', '10px'))\n\t\t\t\t.add(hideWordsVertical($helperView, '0', '0', '10px'))\n\t\t\t\t.add(function () {\n\t\t\t\t\tnew SliderText($slider);\n\t\t\t\t})\n\t\t\t\t.add(function () {\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\n\t\t});\n\n\t}\n\n\tfunction animate() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\ttl\n\t\t\t.to($helper, 0.6, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\ty: '0px'\n\t\t\t})\n\t\t\t.add(animateWords($target.find('.slider-text__counter'), 1.2, 0.01, true), '0')\n\t\t\t.add(animateWords($helperNormal, 0.6, 0.01, true), '0')\n\t\t\t.add(animateWords($target.find('.slider-text__upper h2'), 1.2, 0.01), '0')\n\t\t\t.add(animateWords($target.find('.slider-text__lower h2'), 1.2, 0.01), '0')\n\t\t\t.staggerTo($target.find('.slider-text__line'), 1.2, {\n\t\t\t\tscaleX: 1,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, 0.01, '0')\n\t\t\t.add(function () {\n\t\t\t\thoverBackgrounds();\n\t\t\t\tnew SliderBackgrounds($backgrounds);\n\t\t\t}, '0.6');\n\n\n\t\tcreateOSScene($target, tl);\n\n\t}\n\n\tfunction hoverBackgrounds() {\n\n\t\tvar tl = new TimelineMax();\n\n\t\t$document\n\t\t\t.on('mouseenter touchstart', '.slider-text a[data-slide-id]', function () {\n\n\t\t\t\ttl\n\t\t\t\t\t.clear()\n\t\t\t\t\t.set($helper, {\n\t\t\t\t\t\tclassName: '+=color-white'\n\t\t\t\t\t})\n\t\t\t\t\t.to($helperIconLeft, 0.6, {\n\t\t\t\t\t\tx: '30px',\n\t\t\t\t\t\trotation: 180,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0')\n\t\t\t\t\t.to($helperIconRight, 0.6, {\n\t\t\t\t\t\tx: '-30px',\n\t\t\t\t\t\trotation: 180,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0')\n\t\t\t\t\t.add(hideWordsVertical($helperNormal, 0.6, 0.01, '30px', true), '0')\n\t\t\t\t\t.add(animateWords($helperView, 0.6, 0.01, true), '-=0.6');\n\n\t\t\t})\n\t\t\t.on('mouseleave touchend', '.slider-text a[data-slide-id]', function () {\n\n\t\t\t\ttl\n\t\t\t\t\t.clear()\n\t\t\t\t\t.set($helper, {\n\t\t\t\t\t\tclassName: '-=color-white'\n\t\t\t\t\t})\n\t\t\t\t\t.to($helperIconLeft, 0.6, {\n\t\t\t\t\t\tx: '0px',\n\t\t\t\t\t\trotation: 0,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0')\n\t\t\t\t\t.to($helperIconRight, 0.6, {\n\t\t\t\t\t\tx: '0px',\n\t\t\t\t\t\trotation: 0,\n\t\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t\t}, '0')\n\t\t\t\t\t.add(hideWordsVertical($helperView, 0.6, 0.01, '-30px'), '0')\n\t\t\t\t\t.add(animateWords($helperNormal, 0.6, 0.01), '-=0.6');\n\n\t\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 50. SliderBackgrounds */\n/* ======================================================================== */\nvar SliderBackgrounds = function ($backgrounds) {\n\n\tvar\n\t\t$sliders = $('.section-headings-slider'),\n\t\t$ajaxLinks = $('.slider [data-slide-id]');\n\n\t$ajaxLinks\n\t\t.on('mouseenter touchstart', function () {\n\t\t\tvar\n\t\t\t\tpostId = $(this).data('slide-id'),\n\t\t\t\t$targetBackground = $backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\t\tif (!$targetBackground.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$targetBackground.addClass('active');\n\n\t\t\t// don't do anything on dark pages\n\t\t\tif ($('.page-wrapper').attr('data-barba-namespace') == 'dark') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.$header.removeClass('header_black').addClass('header_white');\n\t\t\t$sliders.addClass('color-white');\n\n\t\t})\n\t\t.on('mouseleave touchend', function () {\n\n\t\t\t$backgrounds.filter('.active').removeClass('active');\n\n\t\t\t// don't do anything on dark pages\n\t\t\tif ($('.page-wrapper').attr('data-barba-namespace') == 'dark') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.$header.removeClass('header_white').addClass('header_black');\n\t\t\t$sliders.removeClass('color-white');\n\n\t\t})\n\t\t.on('click', function () {\n\n\t\t\tvar\n\t\t\t\tpostId = $(this).data('slide-id'),\n\t\t\t\t$targetBackground = $backgrounds.filter('[data-background-for=\"' + postId + '\"]'),\n\t\t\t\t$targetBackgroundGlobal = window.$backgrounds.filter('[data-background-for=\"' + postId + '\"]');\n\n\t\t\tif (!$targetBackground.length || typeof elementor != 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$backgrounds.filter('active').removeClass('active');\n\t\t\t$targetBackgroundGlobal.addClass('selected');\n\t\t\t$targetBackground.addClass('selected');\n\n\t\t});\n\n}\n","/* ======================================================================== */\n/* 51. renderSliderCounter */\n/* ======================================================================== */\nfunction renderSliderCounter(sliderMain, sliderCounter, slideClass, elTotal) {\n\n\tif (!sliderMain.slides.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\tnumOfSlides = sliderMain.slides.length,\n\t\tstartSlides = 1,\n\t\tprefixCurrent = '00',\n\t\tprefixTotal = numOfSlides >= 10 ? '0' : '00';\n\n\tvar counter = new Swiper(sliderCounter, {\n\t\tdirection: 'vertical',\n\t\tsimulateTouch: false,\n\t\tallowTouchMove: false\n\t});\n\n\tcounter.removeAllSlides();\n\n\tfor (var index = startSlides; index <= numOfSlides; index++) {\n\n\t\tif (index >= 10) {\n\n\t\t\tprefixCurrent = '0';\n\n\t\t}\n\n\t\tcounter.appendSlide('
' + prefixCurrent + index + '
');\n\n\t}\n\n\n\t$(elTotal).html(prefixTotal + numOfSlides);\n\n\tsliderMain.controller.control = counter;\n\tcounter.controller.control = sliderMain;\n}\n","/* ======================================================================== */\n/* 52. sliderHalfScreen */\n/* ======================================================================== */\nvar SliderHalfScreen = function ($slider) {\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\t$heading = $slider.find('h2'),\n\t\t$description = $slider.find('p'),\n\t\t$link = $slider.find('.slider-halfscreen__wrapper-link'),\n\t\ttl = new TimelineMax(),\n\t\t$sliderImg = $slider.find('.js-slider-halfscreen__images'),\n\t\t$sliderContent = $slider.find('.js-slider-halfscreen__content'),\n\t\toverlapFactor = $sliderImg.data('overlap-factor') || 0;\n\n\tcreateSliders();\n\thoverLinks();\n\n\tfunction createSliders() {\n\n\t\tvar sliderImg = new Swiper($sliderImg, {\n\t\t\tdirection: 'vertical',\n\t\t\tpreloadImages: true,\n\t\t\tlazy: {\n\t\t\t\tloadPrevNextAmount: 3,\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t},\n\t\t\tspeed: $sliderImg.data('speed') || 1200,\n\t\t\tsimulateTouch: false,\n\t\t\tallowTouchMove: true,\n\t\t\twatchSlidesProgress: true,\n\t\t\ton: {\n\t\t\t\tprogress: function () {\n\t\t\t\t\tvar swiper = this;\n\t\t\t\t\tfor (var i = 0; i < swiper.slides.length; i++) {\n\n\t\t\t\t\t\tvar slideProgress = swiper.slides[i].progress,\n\t\t\t\t\t\t\tinnerOffset = swiper.height * overlapFactor,\n\t\t\t\t\t\t\tinnerTranslate = slideProgress * innerOffset;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tTweenMax.set(swiper.slides[i].querySelector('.slider-halfscreen__bg'), {\n\t\t\t\t\t\t\t\ty: innerTranslate + 'px',\n\t\t\t\t\t\t\t\trotationZ: 0.01,\n\t\t\t\t\t\t\t\tforce3D: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsetTransition: function (speed) {\n\t\t\t\t\tvar swiper = this;\n\t\t\t\t\tfor (var i = 0; i < swiper.slides.length; i++) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tTweenMax.set(swiper.slides[i], {\n\t\t\t\t\t\t\t\ttransition: speed + 'ms',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tTweenMax.set(swiper.slides[i].querySelector('.slider-halfscreen__bg'), {\n\t\t\t\t\t\t\t\ttransition: speed + 'ms',\n\t\t\t\t\t\t\t\trotationZ: 0.01,\n\t\t\t\t\t\t\t\tforce3D: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tvar sliderContent = new Swiper($sliderContent, {\n\t\t\tdirection: 'vertical',\n\t\t\teffect: 'fade',\n\t\t\tfadeEffect: {\n\t\t\t\tcrossFade: true\n\t\t\t},\n\t\t\tautoplay: {\n\t\t\t\tenabled: $sliderImg.data('autoplay-enabled') || false,\n\t\t\t\tdelay: $sliderImg.data('autoplay-delay') || 6000,\n\t\t\t},\n\t\t\tmousewheel: $sliderImg.data('mousewheel-enabled') ? {\n\t\t\t\teventsTarged: $sliderImg.data('mousewheel-target') || '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\n\t\t\t} : false,\n\t\t\tkeyboard: {\n\t\t\t\tenabled: $sliderImg.data('keyboard-enabled') || false\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tnextEl: '.js-slider-halfscreen__next',\n\t\t\t\tprevEl: '.js-slider-halfscreen__prev',\n\t\t\t},\n\t\t\tspeed: $sliderImg.data('speed') || 1200,\n\t\t\tallowTouchMove: true,\n\t\t\tsimulateTouch: true,\n\t\t\tbreakpoints: {\n\t\t\t\t992: {\n\t\t\t\t\tautoHeight: true\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\n\t\tsliderContent.on('slideChange', () => {\n\n\t\t\tif (sliderContent.realIndex > sliderContent.previousIndex) {\n\t\t\t\tslideChangeTransition('next');\n\t\t\t}\n\n\t\t\tif (sliderContent.realIndex < sliderContent.previousIndex) {\n\t\t\t\tslideChangeTransition('prev');\n\t\t\t}\n\n\t\t});\n\n\t\tfunction slideChangeTransition(direction = 'next') {\n\n\t\t\tvar\n\t\t\t\t$activeSlide = $(sliderContent.slides[sliderContent.realIndex]),\n\t\t\t\t$activeHeading = $activeSlide.find($heading),\n\t\t\t\t$activeLink = $activeSlide.find($link),\n\t\t\t\t$activeDescription = $activeSlide.find($description);\n\n\t\t\ttl.clear();\n\n\t\t\t$heading.each(function () {\n\t\t\t\ttl\n\t\t\t\t\t.add(hideWords($(this), 0.3, 0.02, direction === 'next' ? '50px' : '-50px', direction === 'next' ? true : false), '0')\n\t\t\t\t\t.add(hideWords($heading, '0', '0', direction === 'next' ? '-50px' : '50px'));\n\t\t\t});\n\n\t\t\t$description.each(function () {\n\t\t\t\ttl.add(hideLines($(this), 0.6, 0.01, '100%', true), '0');\n\t\t\t});\n\n\t\t\t$link.each(function () {\n\t\t\t\ttl.to($(this), 0.6, {\n\t\t\t\t\ty: '15px',\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t}, '0');\n\t\t\t});\n\n\t\t\ttl\n\t\t\t\t.add(animateWords($activeHeading, 1.2, 0.02, direction === 'next' ? true : false))\n\t\t\t\t.add(animateLines($activeDescription, 1.2, 0.01, direction === 'next' ? true : false), '-=1.2')\n\t\t\t\t.to($activeLink, 0.6, {\n\t\t\t\t\ty: '0px',\n\t\t\t\t\tautoAlpha: 1\n\t\t\t\t}, '-=1.2');\n\n\t\t}\n\n\t\tsliderImg.controller.control = sliderContent;\n\t\tsliderContent.controller.control = sliderImg;\n\n\t}\n\n\tfunction hoverLinks() {\n\n\t\t$document\n\t\t\t.on('mouseenter touchstart', '.slider-halfscreen__link', function () {\n\n\t\t\t\tvar $targetBackground = $sliderImg.find('.swiper-slide-active .slider-halfscreen__images-slide-inner'),\n\t\t\t\t\t$linkLine = $sliderContent.find('.swiper-slide-active .slider-halfscreen__link-line');\n\n\t\t\t\tif (!$targetBackground.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tTweenMax.to($targetBackground, 0.6, {\n\t\t\t\t\tscale: 1.05,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($linkLine, 0.6, {\n\t\t\t\t\twidth: '70px',\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t})\n\t\t\t.on('mouseleave touchend', '.slider-halfscreen__link', function () {\n\n\t\t\t\tvar $targetBackground = $sliderImg.find('.swiper-slide-active .slider-halfscreen__images-slide-inner'),\n\t\t\t\t\t$linkLine = $sliderContent.find('.swiper-slide-active .slider-halfscreen__link-line');\n\n\t\t\t\tif (!$targetBackground.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tTweenMax.to($targetBackground, 0.6, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t\tTweenMax.to($linkLine, 0.6, {\n\t\t\t\t\twidth: '60px',\n\t\t\t\t\tease: Expo.easeInOut\n\t\t\t\t});\n\n\t\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 53. SliderHeadings */\n/* ======================================================================== */\nvar SliderHeadings = function ($slider) {\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\n\tvar\n\t\t$heading = $slider.find('h2'),\n\t\t$description = $slider.find('p'),\n\t\ttl = new TimelineMax(),\n\t\tslider = new Swiper($slider, {\n\t\t\tsimulateTouch: false,\n\t\t\tallowTouchMove: true,\n\t\t\teffect: 'fade',\n\t\t\tfadeEffect: {\n\t\t\t\tcrossFade: true\n\t\t\t},\n\t\t\tspeed: $slider.data('speed') || 1200,\n\t\t\tautoplay: {\n\t\t\t\tenabled: $slider.data('autoplay-enabled') || false,\n\t\t\t\tdelay: $slider.data('autoplay-delay') || 6000,\n\t\t\t},\n\t\t\tcenteredSlides: true,\n\t\t\tmousewheel: $slider.data('mousewheel-enabled') ? {\n\t\t\t\teventsTarged: $slider.data('mousewheel-target') || '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\n\t\t\t} : false,\n\t\t\tkeyboard: {\n\t\t\t\tenabled: $slider.data('keyboard-enabled') || false\n\t\t\t},\n\t\t\tpagination: {\n\t\t\t\tel: '.js-slider-headings__dots',\n\t\t\t\ttype: 'bullets',\n\t\t\t\tbulletElement: 'div',\n\t\t\t\tclickable: true,\n\t\t\t\tbulletClass: 'slider__dot',\n\t\t\t\tbulletActiveClass: 'slider__dot_active'\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tnextEl: '.js-slider-headings__next',\n\t\t\t\tprevEl: '.js-slider-headings__prev',\n\t\t\t},\n\t\t\tbreakpoints: {\n\t\t\t\t768: {\n\t\t\t\t\tslidesPerView: 1,\n\t\t\t\t\tcenteredSlides: true,\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\tslider.on('slideChange', () => {\n\n\t\tif (slider.realIndex > slider.previousIndex) {\n\t\t\tslideChangeTransition('next');\n\t\t}\n\n\t\tif (slider.realIndex < slider.previousIndex) {\n\t\t\tslideChangeTransition('prev');\n\t\t}\n\n\t});\n\n\tfunction slideChangeTransition(direction = 'next') {\n\n\t\tvar\n\t\t\t$activeSlide = $(slider.slides[slider.realIndex]),\n\t\t\t$activeDescription = $activeSlide.find($description),\n\t\t\t$activeHeading = $activeSlide.find($heading);\n\n\t\ttl.clear();\n\n\t\t$heading.each(function () {\n\t\t\ttl\n\t\t\t\t.add(hideWords($(this), 0.3, 0.02, direction === 'next' ? '50px' : '-50px', direction === 'next' ? true : false), '0')\n\t\t\t\t.add(hideWords($heading, '0', '0', direction === 'next' ? '-50px' : '50px'))\n\t\t});\n\n\t\t$description.each(function () {\n\t\t\ttl.add(hideLines($(this), 0.6, 0.01, '100%', true), '0');\n\t\t});\n\n\t\ttl\n\t\t\t.add(animateWords($activeHeading, 1.2, 0.02, direction === 'next' ? true : false))\n\t\t\t.add(animateLines($activeDescription, 1.2, 0.01, direction === 'next' ? true : false), '-=1.2');\n\n\t}\n\n\trenderSliderCounter(\n\t\tslider,\n\t\t$slider.find('.js-slider-headings-counter-current'),\n\t\t'slider-headings__counter-number',\n\t\t''\n\t);\n\n}\n","/* ======================================================================== */\n/* 54. SliderImages */\n/* ======================================================================== */\nvar SliderImages = function ($scope) {\n\n\tvar $slider = $scope.find('.js-slider-images');\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\n\t$slider.each(function () {\n\n\t\tvar $current = $(this);\n\n\t\tvar\n\t\t\tbreakpoints = {},\n\t\t\tlg = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.lg - 1 : 1024,\n\t\t\tmd = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.md - 1 : 767;\n\n\t\tbreakpoints[lg] = {\n\t\t\tslidesPerView: $current.data('slides-per-view-tablet') || 1.33,\n\t\t\tspaceBetween: $current.data('space-between-tablet') || 30,\n\t\t\tcenteredSlides: $current.data('centered-slides-tablet') || true,\n\t\t};\n\t\tbreakpoints[md] = {\n\t\t\tslidesPerView: $current.data('slides-per-view-mobile') || 1.33,\n\t\t\tspaceBetween: $current.data('space-between-mobile') || 30,\n\t\t\tcenteredSlides: $current.data('centered-slides-mobile') || true,\n\t\t};\n\n\t\tvar slider = new Swiper($current, {\n\t\t\tautoHeight: $current.data('auto-height') || true,\n\t\t\tspeed: $current.data('speed') || 1200,\n\t\t\tpreloadImages: false,\n\t\t\tlazy: {\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t},\n\t\t\tobserver: true,\n\t\t\twatchSlidesProgress: true,\n\t\t\twatchSlidesVisibility: true,\n\t\t\tcenteredSlides: $current.data('centered-slides') || false,\n\t\t\tslidesPerView: $current.data('slides-per-view') || 1.5,\n\t\t\tautoplay: {\n\t\t\t\tenabled: $current.data('autoplay-enabled') || false,\n\t\t\t\tdelay: $current.data('autoplay-delay') || 6000,\n\t\t\t},\n\t\t\tspaceBetween: $current.data('space-between') || 80,\n\t\t\tpagination: {\n\t\t\t\tel: '.js-slider-images-progress',\n\t\t\t\ttype: 'progressbar',\n\t\t\t\tprogressbarFillClass: 'slider__progressbar-fill',\n\t\t\t\trenderProgressbar: function (progressbarFillClass) {\n\t\t\t\t\treturn '
'\n\t\t\t\t}\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tnextEl: '.js-slider-images__next',\n\t\t\t\tprevEl: '.js-slider-images__prev',\n\t\t\t},\n\t\t\tbreakpoints: breakpoints\n\t\t});\n\n\t\tslider\n\t\t\t// update height after images are loaded\n\t\t\t.on('lazyImageReady', function () {\n\t\t\t\tslider.update();\n\t\t\t})\n\t\t\t// cursor position adjustment\n\t\t\t.on('touchMove', function (e) {\n\t\t\t\tif (typeof window.InteractiveCursor !== 'undefined') {\n\t\t\t\t\twindow.InteractiveCursor.mouseX = e.clientX;\n\t\t\t\t\twindow.InteractiveCursor.mouseY = e.clientY;\n\t\t\t\t}\n\t\t\t});\n\n\t\t// update height after images are loaded\n\t\tslider.on('lazyImageReady', function () {\n\t\t\tslider.update();\n\t\t});\n\n\t\t$slider.imagesLoaded().progress({\n\t\t\tbackground: true\n\t\t}, function (e) {\n\t\t\tsetTimeout(function () {\n\t\t\t\tslider.update();\n\t\t\t}, 300);\n\t\t});\n\n\t\trenderSliderCounter(\n\t\t\tslider,\n\t\t\t$current.find('.js-slider-images-counter-current'),\n\t\t\t'',\n\t\t\t$current.find('.js-slider-images-counter-total')\n\t\t);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 55. SliderTestimonials */\n/* ======================================================================== */\nvar SliderTestimonials = function ($scope) {\n\n\tvar $slider = $scope.find('.js-slider-testimonials');\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\n\t$slider.each(function () {\n\n\t\tvar\n\t\t\t$current = $(this).find('.js-slider-testimonials__items'),\n\t\t\t$header = $(this).find('.js-slider-testimonials__header');\n\n\t\tvar sliderItems = new Swiper($current, {\n\t\t\tautoHeight: true,\n\t\t\tautoplay: {\n\t\t\t\tenabled: $current.data('autoplay-enabled') || false,\n\t\t\t\tdelay: $current.data('autoplay-delay') || 6000,\n\t\t\t},\n\t\t\tspeed: $current.data('speed') || 1200,\n\t\t\tpreloadImages: false,\n\t\t\tlazy: {\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadOnTransitionStart: true\n\t\t\t},\n\t\t\twatchSlidesProgress: true,\n\t\t\twatchSlidesVisibility: true,\n\t\t\tpagination: {\n\t\t\t\tel: '.js-slider-testimonials__dots',\n\t\t\t\ttype: 'bullets',\n\t\t\t\tbulletElement: 'div',\n\t\t\t\tclickable: true,\n\t\t\t\tbulletClass: 'slider__dot',\n\t\t\t\tbulletActiveClass: 'slider__dot_active'\n\t\t\t},\n\t\t});\n\n\t\tvar sliderHeader = new Swiper($header, {\n\t\t\tslideToClickedSlide: true,\n\t\t\tslidesPerView: 4.5,\n\t\t\tcenteredSlides: true,\n\t\t\tspeed: $current.data('speed') || 1200,\n\t\t\tautoplay: {\n\t\t\t\tenabled: $current.data('autoplay-enabled') || false,\n\t\t\t\tdelay: $current.data('autoplay-delay') || 6000,\n\t\t\t},\n\t\t\tbreakpoints: {\n\t\t\t\t1200: {\n\t\t\t\t\tslidesPerView: 3.5\n\t\t\t\t},\n\t\t\t\t767: {\n\t\t\t\t\tslidesPerView: 2\n\t\t\t\t},\n\t\t\t\t480: {\n\t\t\t\t\tslidesPerView: 1\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// update height after images are loaded\n\t\tsliderItems.on('lazyImageReady', function () {\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tsliderItems.update();\n\t\t\t}, 300);\n\n\t\t});\n\n\t\tsliderItems.controller.control = sliderHeader;\n\t\tsliderHeader.controller.control = sliderItems;\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 56. SliderText */\n/* ======================================================================== */\nvar SliderText = function ($slider) {\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\tconsole.log($slider.data('mousewheel-enabled'));\n\tvar\n\t\t$upper = $slider.find('.js-slider-text__upper'),\n\t\t$lower = $slider.find('.js-slider-text__lower'),\n\t\toptions = {\n\t\t\tspeed: 2000,\n\t\t\tslidesPerView: 'auto',\n\t\t\tcenteredSlides: true,\n\t\t\tloop: true,\n\t\t\ttouchRatio: 2,\n\t\t\tmousewheel: $slider.data('mousewheel-enabled') ? {\n\t\t\t\teventsTarged: $slider.data('mousewheel-target') || '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\n\t\t\t} : false,\n\t\t\tbreakpoints: {\n\t\t\t\t768: {\n\t\t\t\t\tslidesPerView: 1,\n\t\t\t\t\tcenteredSlides: true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tcontroller: {\n\t\t\t\tby: 'container'\n\t\t\t}\n\t\t};\n\n\tvar sliderUpper = new Swiper($upper, options);\n\tvar sliderLower = new Swiper($lower, options);\n\n\tsliderUpper.controller.control = sliderLower;\n\tsliderLower.controller.control = sliderUpper;\n\n}\n","/* ======================================================================== */\n/* 57. social */\n/* ======================================================================== */\nvar Social = function () {\n\n\tvar $elements = $('.social__item a');\n\n\tif (!$elements.length) {\n\t\treturn;\n\t}\n\n\tvar circle = new Circle();\n\n\t$elements.each(function () {\n\t\tcircle.animate($(this));\n\t});\n\n}\n","/* ======================================================================== */\n/* 58. animateLines */\n/* ======================================================================== */\nfunction animateLines($target, duration = 1.2, stagger = 0.02) {\n\n\tvar\n\t\ttl = new TimelineMax(),\n\t\t$headlineProperty = $target.find('.figure-property__headline'),\n\t\t$words = $target.find('.split-text__word');\n\n\tif ($headlineProperty.length) {\n\n\t\ttl\n\t\t\t.to($headlineProperty, duration, {\n\t\t\t\tease: Expo.easeOut,\n\t\t\t\tscaleX: 1\n\t\t\t}, '0');\n\n\t}\n\n\tif ($words.length) {\n\n\t\ttl\n\t\t\t.staggerTo($words, duration, {\n\t\t\t\ty: '0%',\n\t\t\t\tease: Power3.easeOut,\n\t\t\t\tautoAlpha: 1,\n\t\t\t}, stagger, '0.3');\n\n\t};\n\n\treturn tl;\n\n}\n","/* ======================================================================== */\n/* 59. animateWords */\n/* ======================================================================== */\nfunction animateWords($target, duration = 1.2, stagger = 0.01, reverse, masterStagger) {\n\n\tvar masterTL = new TimelineMax();\n\n\tif ($target.length) {\n\n\t\t$target.each(function () {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$chars = $(this).find('.split-chars__char');\n\n\t\t\tif (reverse) {\n\t\t\t\t$chars = $chars.get().reverse();\n\t\t\t}\n\n\t\t\tif (!masterStagger) {\n\t\t\t\tmasterStagger = '-=' + duration;\n\t\t\t}\n\n\t\t\ttl.staggerTo($chars, duration, {\n\t\t\t\tx: '0px',\n\t\t\t\ty: '0px',\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tease: Power4.easeOut\n\t\t\t}, stagger);\n\n\t\t\tmasterTL.add(tl, masterStagger);\n\n\t\t});\n\n\t};\n\n\treturn masterTL;\n\n}\n","/* ======================================================================== */\n/* 60. doSplitText */\n/* ======================================================================== */\nfunction doSplitText($target = window.$document) {\n\n\tvar\n\t\t$words = $target.find('[data-os-animation] .split-text'),\n\t\t$chars = $target.find('[data-os-animation] .split-chars');\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tif ($words.length) {\n\n\t\t\tTweenMax.set($words, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t});\n\n\t\t\tnew SplitText($words, {\n\t\t\t\ttype: 'words, lines',\n\t\t\t\tlinesClass: 'split-text__line',\n\t\t\t\twordsClass: 'split-text__word',\n\t\t\t});\n\n\t\t}\n\n\t\tif ($chars.length) {\n\n\t\t\tTweenMax.set($chars, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t});\n\n\t\t\tnew SplitText($chars, {\n\t\t\t\ttype: 'words, chars',\n\t\t\t\twordsClass: 'split-text__word',\n\t\t\t\tcharsClass: 'split-chars__char'\n\t\t\t});\n\n\n\t\t}\n\n\t\tresolve(true);\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 61. hideLines */\n/* ======================================================================== */\nfunction hideLines($target, duration = 0.6, stagger = 0.02, offset = '-100%', reverse) {\n\n\tvar\n\t\ttl = new TimelineMax(),\n\t\t$words = $target.find('.split-text__word');\n\n\tif (reverse) {\n\t\t$words = $words.get().reverse();\n\t}\n\n\tif ($words.length) {\n\n\t\ttl.staggerTo($words, duration, {\n\t\t\ty: offset\n\t\t}, stagger);\n\n\t};\n\n\treturn tl;\n\n}\n","/* ======================================================================== */\n/* 62. hideWords */\n/* ======================================================================== */\nfunction hideWords($target, duration = 0.6, stagger = 0.02, offset = '-30px', reverse, masterStagger, direction = 'x') {\n\n\tvar masterTL = new TimelineMax();\n\n\tif ($target.length) {\n\n\t\t$target.each(function () {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$chars = $(this).find('.split-chars__char'),\n\t\t\t\toptions = {};\n\n\t\t\tif (reverse) {\n\t\t\t\t$chars = $chars.get().reverse();\n\t\t\t}\n\n\t\t\tif (!masterStagger) {\n\t\t\t\tmasterStagger = '-=' + duration;\n\t\t\t}\n\n\t\t\tif (direction == 'x') {\n\t\t\t\toptions = {\n\t\t\t\t\tx: offset,\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\toptions = {\n\t\t\t\t\ty: offset,\n\t\t\t\t\tautoAlpha: 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttl.staggerTo($chars, duration, options, stagger);\n\n\t\t\tmasterTL.add(tl, masterStagger);\n\t\t});\n\n\t};\n\n\treturn masterTL;\n\n}\n","/* ======================================================================== */\n/* 63. hideWordsVertical */\n/* ======================================================================== */\nfunction hideWordsVertical($target, duration = 0.6, stagger = 0.02, offset = '-30px', reverse, masterStagger) {\n\n\tvar masterTL = new TimelineMax();\n\n\tif ($target.length) {\n\n\t\t$target.each(function () {\n\n\t\t\tvar\n\t\t\t\ttl = new TimelineMax(),\n\t\t\t\t$chars = $(this).find('.split-chars__char');\n\n\t\t\tif (reverse) {\n\t\t\t\t$chars = $chars.get().reverse();\n\t\t\t}\n\n\t\t\tif (!masterStagger) {\n\t\t\t\tmasterStagger = '-=' + duration;\n\t\t\t}\n\n\t\t\ttl.staggerTo($chars, duration, {\n\t\t\t\ty: offset,\n\t\t\t\tautoAlpha: 0\n\t\t\t}, stagger);\n\n\t\t\tmasterTL.add(tl, masterStagger);\n\t\t});\n\n\t};\n\n\treturn masterTL;\n\n}\n","/* ======================================================================== */\n/* 64. setLines */\n/* ======================================================================== */\nfunction setLines($target = window.$document, direction = 'vertical') {\n\n\tvar\n\t\t$words = $target.find('.split-text .split-text__word'),\n\t\t$chars = $target.find('.split-chars .split-text__char');\n\n\tif (direction == 'vertical') {\n\n\t\tTweenMax.set($words, {\n\t\t\ty: '100%',\n\t\t});\n\n\t\tTweenMax.set($chars, {\n\t\t\ty: '100%',\n\t\t});\n\n\t} else {\n\n\t\tTweenMax.set($chars, {\n\t\t\tx: '50px',\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 65. elementor */\n/* ======================================================================== */\n/**\n * Elementor Preview\n */\nif (typeof elementor !== 'undefined') {\n\n\t/**\n\t * Reload Elementor Preview\n\t */\n\tfunction reloadPreview(openedPageAfter, openedTabAfter, openedSectionAfter) {\n\n\t\telementor.saver.update({\n\t\t\tonSuccess: function () {\n\n\t\t\t\telementor.reloadPreview();\n\t\t\t\telementor.once('preview:loaded', function () {\n\n\t\t\t\t\tif (openedPageAfter) {\n\t\t\t\t\t\telementor.getPanelView().setPage(openedPageAfter);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (openedTabAfter) {\n\t\t\t\t\t\telementor.getPanelView().getCurrentPageView().activeTab = openedTabAfter;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (openedSectionAfter) {\n\t\t\t\t\t\telementor.getPanelView().getCurrentPageView().activateSection(openedSectionAfter);\n\n\t\t\t\t\t}\n\n\t\t\t\t\telementor.getPanelView().getCurrentPageView().render();\n\n\t\t\t\t});\n\n\t\t\t}\n\t\t});\n\n\t}\n\n\twindow.$window.on('elementor/frontend/init', function () {\n\n\t\telementorFrontend.hooks.addAction('frontend/element_ready/global', function ($scope) {\n\t\t\tinitComponents($scope);\n\t\t});\n\n\t\tvar colorThemesLight = [\n\t\t\t'bg-white',\n\t\t\t'bg-light',\n\t\t\t'bg-light-grey',\n\t\t\t'bg-blue-grey',\n\t\t\t'bg-blue-grey-dark'\n\t\t];\n\n\t\tvar colorThemesDark = [\n\t\t\t'bg-black',\n\t\t\t'bg-dark',\n\t\t\t'bg-dark-2'\n\t\t];\n\n\t\tvar\n\t\t\t$masthead = $('.section-masthead'),\n\t\t\t$mastheadInner = $masthead.find('.section-masthead__inner'),\n\t\t\t$mastheadHeader = $masthead.find('.section-masthead__header'),\n\t\t\t$mastheadBackground = $masthead.find('.section-masthead__background'),\n\t\t\t$mastheadProperties = $masthead.find('.section-masthead__properties'),\n\t\t\t$mastheadOverlay = $masthead.find('.section-masthead__overlay');\n\n\t\t/**\n\t\t * Page Main Color Theme\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_main_color_theme', function (newval) {\n\n\t\t\twindow.$pageWrapper.removeClass(colorThemesLight.join(' ')).removeClass(colorThemesDark.join(' ')).addClass(newval);\n\n\t\t\tif ($.inArray(newval, colorThemesDark) > -1) {\n\t\t\t\twindow.$header.addClass('header_white');\n\t\t\t\twindow.$pageWrapper.addClass('color-white').attr('data-barba-namespace', 'dark');\n\t\t\t} else {\n\t\t\t\twindow.$header.removeClass('header_white');\n\t\t\t\twindow.$pageWrapper.removeClass('color-white').attr('data-barba-namespace', 'light')\n\t\t\t}\n\n\t\t});\n\n\t\t/**\n\t\t * Page Masthead Layout\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_masthead_layout', function (newval) {\n\t\t\t// reloadPreview('page_settings', 'settings', 'header_section');\n\n\t\t\tvar classContent = elementor.settings.page.model.attributes.page_masthead_alignment;\n\t\t\tvar classBackground = elementor.settings.page.model.attributes.page_masthead_image_layout;\n\t\t\tvar classProperties;\n\n\t\t\tswitch (classContent) {\n\t\t\t\tcase 'text-left':\n\t\t\t\t\tclassProperties = ' justify-content-lg-start ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text-center':\n\t\t\t\t\tclassProperties = ' justify-content-lg-center ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text-right':\n\t\t\t\t\tclassProperties = ' justify-content-lg-end ';\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tswitch (newval) {\n\t\t\t\tcase 'content_top': {\n\t\t\t\t\t$masthead.attr('class', 'section section-masthead section_pt');\n\t\t\t\t\t$mastheadInner.attr('class', 'section-masthead__inner');\n\t\t\t\t\t$mastheadBackground.attr('class', 'section section-masthead__background section-masthead__background_bottom ' + classBackground);\n\t\t\t\t\t$mastheadProperties.attr('class', 'row section-masthead__properties ' + classProperties + classContent);\n\t\t\t\t\t$mastheadOverlay.attr('class', 'overlay overlay_dark section-masthead__overlay d-none');\n\t\t\t\t\t$mastheadHeader.attr('class', 'row section-masthead__header ' + classContent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'halfscreen_content_left': {\n\t\t\t\t\t$masthead.attr('class', 'section section-masthead section-masthead_fullheight section-fullheight section-masthead_fullheight-halfscreen');\n\t\t\t\t\t$mastheadInner.attr('class', 'section-masthead__inner section-fullheight__inner');\n\t\t\t\t\t$mastheadBackground.attr('class', 'section section-masthead__background section-masthead__background_fullscreen');\n\t\t\t\t\t$mastheadProperties.attr('class', 'row section-masthead__properties section-masthead__properties_bottom' + classProperties + classContent);\n\t\t\t\t\t$mastheadOverlay.attr('class', 'overlay overlay_dark section-masthead__overlay d-none');\n\t\t\t\t\t$mastheadHeader.attr('class', 'row section-masthead__header ' + classContent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'halfscreen_content_right': {\n\t\t\t\t\t$masthead.attr('class', 'section section-masthead section-masthead_fullheight section-fullheight section-masthead_fullheight-halfscreen section-masthead_fullheight-halfscreen-reverse');\n\t\t\t\t\t$mastheadInner.attr('class', 'section-masthead__inner section-fullheight__inner');\n\t\t\t\t\t$mastheadBackground.attr('class', 'section section-masthead__background section-masthead__background_fullscreen');\n\t\t\t\t\t$mastheadProperties.attr('class', 'row section-masthead__properties section-masthead__properties_bottom ' + classProperties + classContent);\n\t\t\t\t\t$mastheadOverlay.attr('class', 'overlay overlay_dark section-masthead__overlay d-none');\n\t\t\t\t\t$mastheadHeader.attr('class', 'row section-masthead__header ' + classContent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'fullscreen': {\n\t\t\t\t\t$masthead.attr('class', 'section section-masthead section-masthead_fullheight section-fullheight color-white');\n\t\t\t\t\t$mastheadInner.attr('class', 'section-masthead__inner section-fullheight__inner');\n\t\t\t\t\t$mastheadBackground.attr('class', 'section section-masthead__background section-masthead__background_fullscreen');\n\t\t\t\t\t$mastheadProperties.attr('class', 'row section-masthead__properties section-masthead__properties_bottom ' + classProperties + classContent);\n\t\t\t\t\t$mastheadOverlay.attr('class', 'overlay overlay_dark section-masthead__overlay');\n\t\t\t\t\t$mastheadHeader.attr('class', 'row section-masthead__header ' + classContent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t});\n\n\n\t\t/**\n\t\t * Page Masthead Image Alignment\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_masthead_image_layout', function (newval) {\n\t\t\t$mastheadBackground.removeClass('section_w-container-left section_w-container-right container section').addClass(newval);\n\t\t});\n\n\t\t/**\n\t\t * Page Masthead Content Alignment\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_masthead_alignment', function (newval) {\n\n\t\t\tvar classProperties;\n\n\t\t\t$mastheadHeader.attr('class', 'row section-masthead__header ' + newval);\n\n\t\t\t$mastheadProperties.removeClass('justify-content-lg-start justify-content-lg-center justify-content-lg-end text-left text-center text-right');\n\n\t\t\tswitch (newval) {\n\t\t\t\tcase 'text-left':\n\t\t\t\t\tclassProperties = ' justify-content-lg-start text-left';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text-center':\n\t\t\t\t\tclassProperties = ' justify-content-lg-center text-center';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text-right':\n\t\t\t\t\tclassProperties = ' justify-content-lg-end text-right';\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t$mastheadProperties.addClass(classProperties);\n\n\t\t});\n\n\t\t/**\n\t\t * Menu Style\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_menu_style', function (newval) {\n\t\t\treloadPreview('page_settings', 'settings', 'header_section');\n\t\t});\n\n\t\t/**\n\t\t * Page Footer\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_footer_settings', function (newval) {\n\t\t\treloadPreview('page_settings', 'settings', 'footer_section');\n\t\t});\n\n\t\t/**\n\t\t * Hide Footer\n\t\t */\n\t\telementor.settings.page.addChangeCallback('page_footer_hide', function (newval) {\n\t\t\treloadPreview('page_settings', 'settings', 'footer_section');\n\t\t});\n\n\t});\n\n}\n"]}