{"version":3,"sources":["common.js","asideCounters/AsideCounters.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.js","counter/Counter.js","cursor/Cursor.js","figurePortfolio/FigurePortfolio.js","figureProperty/figureProperty.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/lockScroll.js","sectionComposition/SectionComposition.js","sectionContent/SectionContent.js","sectionHalfScreenSlider/SectionHalfScreenSlider.js","sectionHeadingsSlider/SectionHeadingsSlider.js","sectionIntro/SectionIntro.js","sectionMasthead/SectionMasthead.js","sectionNavProjects/sectionNavProjects.js","sectionTextSlider/SectionTextSlider.js","slider/SliderBackgrounds.js","slider/renderSliderCounter.js","sliderHalfScreen/sliderHalfScreen.js","sliderImages/SliderImages.js","sliderHeadings/SliderHeadings.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"],"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;ACtGA;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5EA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5CA;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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;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;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;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","file":"components.js","sourcesContent":["window.$document = $(document);\nwindow.$pageWrapper = $('.page-wrapper');\nwindow.$pageHeader = $('.header__wrapper-overlay-menu');\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');\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}\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\n$document.ready(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(doSplitText($document))\n\t\t\t.then(setLines($document))\n\t\t\t.then(function () {\n\t\t\t\twindow.SMController.enabled(true);\n\t\t\t\twindow.SMController.update(true);\n\t\t\t\tinitComponents($document);\n\t\t\t});\n\n\t});\n\n\tnew PJAX();\n\twindow.PageHeader = new Header();\n\tnew ProjectBackgrounds();\n\tnew MenuOverlay();\n\twindow.InteractiveCursor = new Cursor();\n\n});\n\nfunction initComponents($scope = $document) {\n\n\tnew SmoothScroll();\n\tlazyLoad($scope);\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\t$('.js-video').magnificPopup();\n\n}\n","/* ======================================================================== */\n/* 1. 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/* 2. 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]');\n\n\t\tif (!$img.length) {\n\t\t\tresolve(true);\n\t\t}\n\n\t\tvar\n\t\t\t$clone = $img.clone(),\n\t\t\timgPosition = $img.get(0).getBoundingClientRect();\n\n\t\ttl.timeScale(1.25);\n\n\t\ttl\n\t\t\t.set($clone, {\n\t\t\t\tposition: 'fixed',\n\t\t\t\ttop: imgPosition.top,\n\t\t\t\tleft: imgPosition.left,\n\t\t\t\twidth: imgPosition.width,\n\t\t\t\theight: imgPosition.height,\n\t\t\t\tclassName: '+=of-cover',\n\t\t\t\tzIndex: 300\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\t$targetBackground.addClass('selected');\n\t\t\t\t$clone.appendTo(window.$body);\n\t\t\t})\n\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\tautoAlpha: 0\n\t\t\t})\n\t\t\t.to($clone, 1.2, {\n\t\t\t\ttransition: 'none',\n\t\t\t\ttransform: 'none',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: '100%',\n\t\t\t\theight: '100%',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t})\n\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\tscaleX: 1,\n\t\t\t\tzIndex: 400,\n\t\t\t\tautoAlpha: 1\n\t\t\t})\n\t\t\t.add(function () {\n\n\t\t\t\t// remove clonned image\n\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\t$clone.remove();\n\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 3. 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\tif (!$selectedBackground.length || !$nextBgWrapper.length) {\n\t\t\tresolve(true);\n\t\t}\n\n\t\tvar\n\t\t\t$nextBg = $nextBgWrapper.find('.art-parallax__bg'),\n\t\t\t$nextOverlay = $nextMasthead.find('.section-masthead__overlay'),\n\t\t\tnextBgWrapperPosition = $nextBgWrapper.get(0).getBoundingClientRect(),\n\t\t\ttransformMatrix = $nextBg.css('transform');\n\n\t\ttl.timeScale(1.25);\n\t\twindow.scrollTo(0, 0);\n\n\t\tif ($nextOverlay.length) {\n\n\t\t\ttl.to(window.$backgroundsOverlay, 0.6, {\n\t\t\t\tautoAlpha: 0.6,\n\t\t\t\tease: Expo.easeInOut\n\t\t\t}, '0');\n\n\t\t} else {\n\n\t\t\ttl.set(window.$backgroundsOverlay, {\n\t\t\t\tautoAlpha: 0\n\t\t\t}, '0');\n\n\t\t}\n\n\t\ttl.add([\n\t\t\t\tTweenMax.to(window.$wrapperBackgrounds, 1.2, {\n\t\t\t\t\ttop: nextBgWrapperPosition.top,\n\t\t\t\t\tleft: nextBgWrapperPosition.left,\n\t\t\t\t\twidth: nextBgWrapperPosition.width,\n\t\t\t\t\theight: nextBgWrapperPosition.height,\n\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t}),\n\t\t\t\tTweenMax.to($selectedBackground, 1.2, {\n\t\t\t\t\ttransition: 'none',\n\t\t\t\t\ttransform: transformMatrix,\n\t\t\t\t\tease: Expo.easeInOut,\n\t\t\t\t})\n\t\t\t], '0')\n\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\tautoAlpha: 0\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 4. PJAX Finish Loading */\n/* ======================================================================== */\nfunction PJAXFinishLoading(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\ttl = new TimelineMax();\n\n\t\ttl\n\t\t\t.add(function () {\n\t\t\t\twindow.SMController.enabled(true);\n\t\t\t\twindow.SMController.update(true);\n\t\t\t})\n\t\t\t.set(window.$body, {\n\t\t\t\tclassName: '-=body_lock-scroll'\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\twindow.InteractiveCursor.finishLoading();\n\t\t\t})\n\t\t\t.set(window.$preloader, {\n\t\t\t\tautoAlpha: 0\n\t\t\t})\n\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tzIndex: -1,\n\t\t\t\tclearProps: 'width,height,left,right,top,bottom,backgroundColor',\n\t\t\t})\n\t\t\t.set(window.$backgroundsOverlay, {\n\t\t\t\tautoAlpha: 1\n\t\t\t})\n\t\t\t.set(window.$backgrounds, {\n\t\t\t\ttransition: '',\n\t\t\t\tclearProps: 'transform,width,height',\n\t\t\t\tclassName: '-=selected',\n\t\t\t})\n\t\t\t.set(window.$backgrounds, {\n\t\t\t\tclassName: '-=active',\n\t\t\t})\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '-=lockhover'\n\t\t\t}, '0.6')\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '-=intransition'\n\t\t\t}, '0.6')\n\t\t\t.add(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 5. PJAX Init New Page */\n/* ======================================================================== */\nfunction PJAXInitNewPage(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$nextContainer = $(data.next.container);\n\n\t\ttl\n\t\t\t.add(function () {\n\n\t\t\t\t// clear & re-init ScrollMagic\n\t\t\t\twindow.SMController.destroy(true);\n\t\t\t\twindow.SMController = new ScrollMagic.Controller();\n\n\t\t\t\t// split text lines in new container\n\t\t\t\tdoSplitText($nextContainer).then(setLines($nextContainer)).then(function () {\n\n\t\t\t\t\t// scroll to the top\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\t\t}, 100);\n\n\t\t\t\t\t// re-init components\n\t\t\t\t\tinitComponents($nextContainer);\n\t\t\t\t\twindow.SMController.enabled(false);\n\n\t\t\t\t});\n\n\t\t\t\t// change header color if needed\n\t\t\t\tswitch (data.next.namespace) {\n\t\t\t\t\tcase 'light':\n\t\t\t\t\t\t{\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\tcase 'dark':\n\t\t\t\t\t\t{\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}\n\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 6. PJAX Prepare Transition */\n/* ======================================================================== */\nfunction PJAXPrepareTransition(data) {\n\n\treturn new Promise(function (resolve, reject) {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$trigger = $(data.trigger);\n\n\t\ttl\n\t\t\t.add(function () {\n\t\t\t\twindow.InteractiveCursor.drawLoading();\n\t\t\t})\n\t\t\t.set(window.$curtains, {\n\t\t\t\tscaleX: 0,\n\t\t\t\ttransformOrigin: 'left center',\n\t\t\t})\n\t\t\t.set(window.$preloader, {\n\t\t\t\tautoAlpha: 1\n\t\t\t})\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '+=intransition'\n\t\t\t})\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '+=lockhover'\n\t\t\t})\n\t\t\t.set($trigger, {\n\t\t\t\tclassName: '+=selected'\n\t\t\t})\n\t\t\t.add(function () {\n\t\t\t\tresolve(true);\n\t\t\t});\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 7. 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, 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($target, 1.2, {\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(window.$wrapperBackgrounds, 1.2, {\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.6')\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/* 8. 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/* 9. 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\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\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: '10vw',\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/* 10. 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/* 11. 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/* 12. 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');\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}\n\n\t\t\t\ttl\n\t\t\t\t\t.add(tlClose, '0')\n\t\t\t\t\t// .add(function () {\n\t\t\t\t\t// \tlockScroll(false);\n\t\t\t\t\t// }, '0.4')\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/* 13. 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\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/* 14. 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/* 15. Cursor */\n/* ======================================================================== */\nvar Cursor = function () {\n\n\tvar $cursor = $('#js-cursor');\n\n\tthis.drawLoading = function () {\n\t\tdrawLoading();\n\t};\n\n\tthis.finishLoading = function () {\n\t\tfinishLoading();\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('svg'),\n\t\t$inner = $follower.find('#inner'),\n\t\t$outter = $follower.find('#outter'),\n\t\t$triggers = $('#js-burger, a'),\n\t\tposX = 0,\n\t\tposY = 0,\n\t\tmouseX = 0,\n\t\tmouseY = 0;\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 += (mouseX - posX) / 6;\n\t\t\t\tposY += (mouseY - posY) / 6;\n\n\t\t\t\tTweenMax.set($cursor, {\n\t\t\t\t\tleft: posX,\n\t\t\t\t\ttop: posY,\n\t\t\t\t\t// opacity: .5\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\tmouseX = e.pageX;\n\t\t\tmouseY = e.pageY;\n\t\t});\n\n\t\t$document.on('mouseenter', 'a, #js-burger', 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', 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', '.slider__arrow, .slider__dot, .social__item a, .section-video__link', 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\t// ease: Elastic.easeOut.config(1, 0.4),\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', '.slider__arrow, .slider__dot, .social__item a, .section-video__link', 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\t// delay: 0.3\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\t// delay: 0.3\n\t\t\t\t});\n\n\t\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, 1.2, {\n\t\t\t\tdrawSVG: '0%',\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.6, {\n\t\t\t\tautoAlpha: 0\n\t\t\t}, '0')\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/* 16. 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/* 17. figureProperty */\n/* ======================================================================== */\n// var FigureProperty = function ($target) {\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\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})\n// \t\t\t.add(animateLines($target), '0.4');\n\n// \t\tcreateOSScene($target, tl);\n\n// \t}\n\n// }\n","/* ======================================================================== */\n/* 18. 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\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} 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});\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\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$currentField.removeClass(INPUT_FOCUSED);\n\t\t\t\t$currentControlWrap.removeClass(INPUT_FOCUSED);\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/* 19. 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/* 20. grid */\n/* ======================================================================== */\nvar Grid = function ($grid = $('.js-grid')) {\n\n\tif (!$grid.length) {\n\t\treturn;\n\t}\n\n\tthis.masonryGrid = $grid.masonry({\n\t\titemSelector: '.js-grid__item',\n\t\tcolumnWidth: '.js-grid__sizer',\n\t\tpercentPosition: true\n\t});\n\n}\n","/* ======================================================================== */\n/* 21. 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\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\tOPEN_CLASS = 'header__burger_opened';\n\n\tclickBurger();\n\n\tfunction setOverlayMenu() {\n\n\t\tTweenMax.set(window.$overlay, {\n\t\t\tscaleX: 0,\n\t\t\tautoAlpha: 0,\n\t\t\tclassName: '-=opened',\n\t\t\t// z: 0.01,\n\t\t\t// force3D: true\n\t\t});\n\n\t\tTweenMax.set([$submenu, $submenuButton], {\n\t\t\tautoAlpha: 0\n\t\t});\n\n\t\tTweenMax.set($submenu, {\n\t\t\tclassName: '-=opened'\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\t\thideWords($menuLinks, 0, 0, '-100px');\n\t\thideWords($submenuLinks, 0, 0, '-30px');\n\t\t$allLinks.removeClass('selected');\n\t}\n\n\tfunction closeOverlayMenu(hideBackgrounds) {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\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.set(window.$overlay, {\n\t\t\t\tclassName: '+=intransition',\n\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\tzIndex: 500,\n\t\t\t\t// z: 0.01,\n\t\t\t\t// force3D: true\n\t\t\t}, '0')\n\t\t\t.set(window.$wrapperBackgrounds, {\n\t\t\t\ttransformOrigin: 'right center',\n\t\t\t\tzIndex: 100,\n\t\t\t}, '0')\n\t\t\t.set($burger, {\n\t\t\t\tclassName: '-=header__burger_opened'\n\t\t\t}, '0')\n\t\t\t.set($pageWrapper, {\n\t\t\t\tx: '-5vw',\n\t\t\t\tforce3D: true,\n\t\t\t\ttransformOrigin: 'right center',\n\t\t\t}, '0')\n\t\t\t.add(hideWords($menuLinks, 1.2, 0.01, '100px', true, 'start'), '0')\n\t\t\t.add(hideWords($submenuLinksCurrent, 1.2, 0.01, '30px', true, 'start'), '0')\n\t\t\t.add(hideLines($widgets), '0')\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.to($pageWrapper, 2.4, {\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.4')\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')\n\t\t\t.fromTo($headerLeft, 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.4')\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '-=opened'\n\t\t\t}, '1')\n\t\t\t.add(function () {\n\t\t\t\tlockScroll(false);\n\t\t\t}, '0')\n\t\t\t.add(function () {\n\t\t\t\tsetOverlayMenu();\n\t\t\t}, '2')\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '-=intransition'\n\t\t\t});\n\n\n\t};\n\n\tfunction openOverlayMenu() {\n\n\t\tvar\n\t\t\ttl = new TimelineMax(),\n\t\t\t$pageWrapper = $('.page-wrapper');\n\n\t\ttl\n\t\t\t.add(function () {\n\t\t\t\tsetOverlayMenu();\n\t\t\t})\n\t\t\t.set(window.$overlay, {\n\t\t\t\tclassName: '+=intransition',\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.set(window.$overlay, {\n\t\t\t\tclassName: '+=opened'\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\t// autoAlpha: 0,\n\t\t\t\ttransformOrigin: 'left center',\n\t\t\t\tease: Expo.easeInOut\n\t\t\t})\n\t\t\t.to($headerLeft, 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), '1.2')\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '-=intransition'\n\t\t\t}, '1.2')\n\t\t\t.add(function () {\n\t\t\t\tlockScroll(true);\n\t\t\t});\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/* 22. 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\tvar instance = $images.Lazy({\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\tvar instanceBackgrounds = $backgrounds.Lazy({\n\t\t\t\tchainable: false\n\t\t\t});\n\n\t\t\t// update lazy load instance when smooth scroll is enabled\n\t\t\tif (window.SB !== undefined && instance.config && instance.config('delay') !== 0) {\n\n\t\t\t\twindow.SB.addListener(function () {\n\t\t\t\t\tinstance.update(true);\n\t\t\t\t\tinstanceBackgrounds.update(true);\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tresolve(true);\n\n\t\t});\n\t};\n\n}\n","/* ======================================================================== */\n/* 23. 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$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\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.set($overlay, {\n\t\t\t\tclassName: '+=intransition',\n\t\t\t}, '0')\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '+=lockhover',\n\t\t\t}, '0')\n\t\t\t.set($submenu, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t}, '0')\n\t\t\t.add(hideWords($currentLinks, 1.2, 0, '50px', true, '0'))\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}, '-=0.6')\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '-=lockhover',\n\t\t\t}, '-=1.2')\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '-=intransition',\n\t\t\t}, '-=0.6');\n\n\t\t$submenus.removeClass(OPEN_CLASS);\n\t\t$submenu.not($menu).addClass(OPEN_CLASS);\n\n\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\ttl.to($submenuButton, 0.3, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tx: '0px'\n\t\t\t}, '-=1.2');\n\t\t} else {\n\t\t\ttl.to($submenuButton, 0.3, {\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tx: '-10px'\n\t\t\t}, '-=1.2');\n\t\t}\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.set($overlay, {\n\t\t\t\tclassName: '+=intransition',\n\t\t\t})\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '+=lockhover',\n\t\t\t})\n\t\t\t.set($submenu, {\n\t\t\t\tzIndex: -1\n\t\t\t})\n\t\t\t.add(hideWords($submenuLinks, 0.6, 0.005, '-50px'))\n\t\t\t.add(animateWords($currentLinks), '-=0.3')\n\t\t\t.set($submenu, {\n\t\t\t\tautoAlpha: 0\n\t\t\t})\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '-=intransition',\n\t\t\t}, '-=0.6')\n\t\t\t.set($overlay, {\n\t\t\t\tclassName: '-=lockhover',\n\t\t\t}, '-=0.6');\n\n\t\t$submenus.removeClass(OPEN_CLASS);\n\t\t$currentMenu.not($menu).addClass(OPEN_CLASS);\n\n\t\tif ($submenus.hasClass(OPEN_CLASS)) {\n\t\t\tTweenMax.to($submenuButton, 0.3, {\n\t\t\t\tautoAlpha: 1,\n\t\t\t\tx: '0px'\n\t\t\t});\n\t\t} else {\n\n\t\t\tTweenMax.to($submenuButton, 0.3, {\n\t\t\t\tautoAlpha: 0,\n\t\t\t\tx: '-10px'\n\t\t\t});\n\n\t\t}\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}\n","/* ======================================================================== */\n/* 24. 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\tvar scene = new 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\t// update scene when smooth scroll is enabled\n\t\tif (window.SB !== undefined) {\n\n\t\t\twindow.SB.addListener(function () {\n\t\t\t\tscene.refresh();\n\t\t\t});\n\n\t\t}\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 25. 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\tresolve(true);\n\t\t\t}, '0.3');\n\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 26. ProjectBackgrounds */\n/* ======================================================================== */\nvar ProjectBackgrounds = function () {\n\n\tif (!window.$backgrounds.length) {\n\t\treturn;\n\t}\n\n\t$document\n\t\t.on('mouseenter touchstart', '.header a[data-post-id]', 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', '.header a[data-post-id]', function () {\n\n\t\t\twindow.$backgrounds.filter('.active').removeClass('active');\n\n\t\t})\n\t\t.on('click', 'a[data-post-id]', function () {\n\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('selected');\n\n\t\t});\n\n}\n","/* ======================================================================== */\n/* 27. SmoothScroll */\n/* ======================================================================== */\nvar SmoothScroll = function () {\n\n\tvar $smoothScroll = $('#js-smooth-scroll');\n\n\t// don't launch on mobiles\n\tif (!$smoothScroll.length || Modernizr.touchevents) {\n\t\treturn;\n\t}\n\n\t$smoothScroll.addClass('smooth-scroll');\n\n\twindow.SB = Scrollbar.init($smoothScroll[0], {\n\t\trenderByPixels: true,\n\t\tdamping: 0.05\n\t});\n\n}\n","/* ======================================================================== */\n/* 28. 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}));\n\t}\n\n\tmasterTL.add(tl);\n\n\tmasterTL.add(function () {\n\t\t$el.attr('data-os-animation', 'animated');\n\t});\n\n\tvar scene = new $.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\t// update scene when smooth scroll is enabled\n\tif (window.SB !== undefined) {\n\n\t\twindow.SB.addListener(function () {\n\t\t\tscene.refresh();\n\t\t});\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 29. lockScroll */\n/* ======================================================================== */\nfunction lockScroll(enabled) {\n\n\tvar\n\t\t$window = $(window),\n\t\tlastTop = $window.scrollTop();\n\n\tif (enabled === true) {\n\n\t\tTweenMax.set(window.$body, {\n\t\t\tclassName: '+=body_lock-scroll',\n\t\t\ttop: -lastTop\n\t\t});\n\n\t} else {\n\n\t\tvar\n\t\t\toffset = parseInt(window.$body.css('top'), 10),\n\t\t\toffsetValue = Math.abs(offset);\n\n\t\tTweenMax.set(window.$body, {\n\t\t\tclassName: '-=body_lock-scroll',\n\t\t\ttop: ''\n\t\t});\n\n\t\t$window.scrollTop(offsetValue);\n\n\t}\n\n}\n","/* ======================================================================== */\n/* 30. 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/* 31. 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.02, '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.8')\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.8');\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/* 32. 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/* 33. 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.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/* 34. 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/* 35. 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/* 36. 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 $backgrounds = $target.find('.section-nav-projects__background');\n\n\t$document\n\t\t.on('mouseenter touchstart', '.section-nav-projects__inner[data-post-id]', 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', '.section-nav-projects__inner[data-post-id]', function () {\n\n\t\t\t$backgrounds.filter('.active').removeClass('active');\n\n\t\t})\n\t\t.on('click', 'a[data-post-id]', 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) {\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/* 37. 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/* 38. SliderBackgrounds */\n/* ======================================================================== */\nvar SliderBackgrounds = function ($backgrounds) {\n\n\tvar $sliders = $('.section-headings-slider');\n\n\t$document\n\t\t.on('mouseenter touchstart', '.slider a[data-slide-id]', 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\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', '.slider a[data-slide-id]', function () {\n\n\t\t\t$backgrounds.filter('.active').removeClass('active');\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', '.slider a[data-slide-id]', 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) {\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/* 39. 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});\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('
');\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/* 40. 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\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\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\tdisableOnInteraction: true\n\t\t\t},\n\t\t\tdirection: 'vertical',\n\t\t\tpreloadImages: true,\n\t\t\tlazy: {\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\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.width * 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\ttransition: swiper.params.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\ttouchStart: function () {\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].querySelector('.slider-halfscreen__bg'), {\n\t\t\t\t\t\t\t\ttransition: '',\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\tsimulateTouch: false,\n\t\t\teffect: 'fade',\n\t\t\tfadeEffect: {\n\t\t\t\tcrossFade: true\n\t\t\t},\n\t\t\tmousewheel: {\n\t\t\t\teventsTarged: '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\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: false,\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\t\tsliderContent\n\t\t\t.on('slideNextTransitionStart', function () {\n\n\t\t\t\tvar\n\t\t\t\t\t$activeSlide = $(sliderContent.slides[sliderContent.activeIndex]),\n\t\t\t\t\t$activeHeading = $activeSlide.find($heading),\n\t\t\t\t\t$activeDescription = $activeSlide.find($description);\n\n\t\t\t\ttl.clear();\n\n\t\t\t\t$heading.each(function () {\n\t\t\t\t\ttl\n\t\t\t\t\t\t.add(hideWords($(this), 0.3, 0.02, '50px', true), '0')\n\t\t\t\t\t\t.add(hideWords($(this), '0', '0', '-50px'));\n\t\t\t\t});\n\n\t\t\t\t$description.each(function () {\n\t\t\t\t\ttl.add(hideLines($(this), 0.6, 0.01, '100%', true), '0');\n\t\t\t\t});\n\n\t\t\t\ttl\n\t\t\t\t\t.add(animateWords($activeHeading, 1.2, 0.02, true))\n\t\t\t\t\t.add(animateLines($activeDescription, 1.2, 0.01, true), '-=1.2');\n\n\t\t\t})\n\t\t\t.on('slidePrevTransitionStart', function () {\n\n\t\t\t\tvar\n\t\t\t\t\t$activeSlide = $(sliderContent.slides[sliderContent.activeIndex]),\n\t\t\t\t\t$activeHeading = $activeSlide.find($heading),\n\t\t\t\t\t$activeDescription = $activeSlide.find($description);\n\n\t\t\t\ttl.clear();\n\n\t\t\t\t$heading.each(function () {\n\t\t\t\t\ttl\n\t\t\t\t\t\t.add(hideWords($(this), 0.3, 0.02, '-50px', false), '0')\n\t\t\t\t\t\t.add(hideWords($(this), '0', '0', '50px'));\n\t\t\t\t});\n\n\t\t\t\t$description.each(function () {\n\t\t\t\t\ttl.add(hideLines($(this), 0.6, 0.01, '100%', true), '0');\n\t\t\t\t});\n\n\t\t\t\ttl\n\t\t\t\t\t.add(animateWords($activeHeading, 1.2, 0.02, false))\n\t\t\t\t\t.add(animateLines($activeDescription, 1.2, 0.01), '-=1.2');\n\n\t\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/* 41. 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') || false,\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\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\t// update height after images are loaded\n\t\tslider.on('lazyImageReady', function () {\n\t\t\tslider.update();\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/* 42. 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\ttl = new TimelineMax(),\n\t\tslider = new Swiper($slider, {\n\t\t\tsimulateTouch: false,\n\t\t\teffect: 'fade',\n\t\t\tfadeEffect: {\n\t\t\t\tcrossFade: true\n\t\t\t},\n\t\t\tspeed: 1200,\n\t\t\tcenteredSlides: true,\n\t\t\tmousewheel: {\n\t\t\t\teventsTarged: '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\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\n\t\t.on('slideNextTransitionStart', function () {\n\n\t\t\tvar\n\t\t\t\t$activeSlide = $(slider.slides[slider.activeIndex]),\n\t\t\t\t$activeHeading = $activeSlide.find($heading);\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, '50px', true), '0')\n\t\t\t\t\t.add(hideWords($(this), '0', '0', '-50px'))\n\t\t\t});\n\n\t\t\ttl.add(animateWords($activeHeading, 1.2, 0.02, true));\n\n\t\t})\n\t\t.on('slidePrevTransitionStart', function () {\n\n\t\t\tvar\n\t\t\t\t$activeSlide = $(slider.slides[slider.activeIndex]),\n\t\t\t\t$activeHeading = $activeSlide.find($heading);\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, '-50px', false), '0')\n\t\t\t\t\t.add(hideWords($(this), '0', '0', '50px'))\n\t\t\t});\n\n\t\t\ttl.add(animateWords($activeHeading, 1.2, 0.02, false));\n\n\t\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/* 43. 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\t\t\tsliderItems.update();\n\t\t});\n\n\t\tsliderItems.controller.control = sliderHeader;\n\t\tsliderHeader.controller.control = sliderItems;\n\n\t});\n\n}\n","/* ======================================================================== */\n/* 44. SliderText */\n/* ======================================================================== */\nvar SliderText = function ($slider) {\n\n\tif (!$slider.length) {\n\t\treturn;\n\t}\n\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: {\n\t\t\t\teventsTarged: '.page-wrapper',\n\t\t\t\treleaseOnEdges: true,\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\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/* 45. 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/* 46. 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.6');\n\n\t};\n\n\treturn tl;\n\n}\n","/* ======================================================================== */\n/* 47. 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/* 48. doSplitText */\n/* ======================================================================== */\nfunction doSplitText($target) {\n\n\tvar\n\t\t$words = $($target).find('.split-text'),\n\t\t$chars = $($target).find('.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\t// linesClass: 'split-chars__line',\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/* 49. 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/* 50. 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/* 51. 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/* 52. setLines */\n/* ======================================================================== */\nfunction setLines($target = $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"]}