{"version":3,"file":"front.js","sources":["../../sources/javascripts/front/_header.js","../../sources/javascripts/front/_navigation.js","../../sources/javascripts/front/_apply.js","../../sources/javascripts/front/_background.js","../../sources/javascripts/front/_footer.js","../../sources/javascripts/front/_overlay.js"],"sourcesContent":["/**\n** JAVASCRIPTS\n** Name: Header\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelectorAll('.js-header').length > 0) {\n\n\n /**\n ** Variables\n ****************************************/\n\n const $html = document.documentElement;\n const $open = document.querySelector('.js-header-open');\n const $close = document.querySelector('.js-header-close');\n\n var offsetTop = 1;\n var lastScrollPos = 0;\n var ticking = false;\n\n\n /**\n ** Functions\n ****************************************/\n\n function setHeaderState(scrollPos, direction) {\n\n if(scrollPos >= offsetTop) {\n $html.classList.add('header-fixed');\n }\n else {\n $html.classList.remove('header-fixed');\n }\n\n if(direction > 0) {\n $html.classList.add('header-hidden');\n }\n else {\n $html.classList.remove('header-hidden');\n }\n }\n\n\n /**\n ** Events\n ****************************************/\n\n // Open\n $open.addEventListener('click', (event)=>{\n event.preventDefault();\n $html.classList.add('header-open');\n });\n\n // Close\n $close.addEventListener('click', (event)=>{\n event.preventDefault();\n $html.classList.remove('header-open');\n });\n\n // Scroll\n window.addEventListener('scroll', ()=>{\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop;\n var direction = scrollPos > lastScrollPos ? 1 : -1;\n\n if (!ticking) {\n window.requestAnimationFrame(function() {\n setHeaderState(scrollPos, direction);\n ticking = false;\n });\n }\n\n lastScrollPos = (scrollPos <= 0) ? 0 : scrollPos;\n ticking = true;\n });\n\n\n }\n\n})();\n","/**\n** JAVASCRIPTS\n** Name: Navigation\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelectorAll('.js-navigation').length > 0) {\n\n\n /**\n ** Variables\n ****************************************/\n\n const $items = document.querySelectorAll('.js-navigation-item');\n const $links = document.querySelectorAll('.js-navigation-link');\n\n\n /**\n ** Events\n ****************************************/\n\n $links.forEach(($link) => {\n $link.addEventListener('click', (event)=>{\n event.preventDefault();\n\n const $item = $link.closest('.js-navigation-item');\n\n if($item.classList.contains('is-active')) {\n $item.classList.remove('is-active');\n }\n else {\n if(document.querySelector('.js-navigation-item.is-active')) {\n document.querySelector('.js-navigation-item.is-active').classList.remove('is-active');\n }\n $item.classList.add('is-active');\n }\n });\n });\n\n\n /**\n ** Window outside click\n ****************************************/\n\n document.addEventListener('click', (event)=>{\n if(document.querySelector('.js-navigation-item.is-active') &&\n !event.target.classList.contains('js-navigation-link') &&\n !event.target.closest('.js-navigation-link')) {\n document.querySelector('.js-navigation-item.is-active').classList.remove('is-active');\n }\n });\n\n\n }\n\n})();\n","/**\n** JAVASCRIPTS\n** Name: Apply\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelector('.js-apply')) {\n\n\n /**\n ** Variables\n ****************************************/\n\n var checkpoint = 0;\n var ticking = false;\n\n\n /**\n ** Functions\n ****************************************/\n\n function setApplyState() {\n checkpoint = document.querySelector('.js-apply').getBoundingClientRect().top + document.querySelector('.js-apply').offsetHeight - window.innerHeight;\n\n if(checkpoint > 0) {\n if(!document.querySelector('.js-apply').classList.contains('is-fixed')) {\n document.querySelector('.js-apply').classList.add('is-fixed');\n }\n }\n else {\n if(document.querySelector('.js-apply').classList.contains('is-fixed')) {\n document.querySelector('.js-apply').classList.remove('is-fixed');\n }\n }\n }\n\n\n /**\n ** Events\n ****************************************/\n\n // Scroll\n window.addEventListener('scroll', ()=>{\n\n if (!ticking) {\n window.requestAnimationFrame(function() {\n setApplyState();\n ticking = false;\n });\n }\n\n ticking = true;\n });\n\n // Resize\n window.addEventListener('resize', ()=>{\n if (!ticking) {\n window.requestAnimationFrame(function() {\n setApplyState();\n ticking = false;\n });\n }\n\n ticking = true;\n });\n\n // Init\n window.addEventListener('load', ()=> {\n setApplyState();\n });\n\n\n }\n\n})();\n","/**\n** JAVASCRIPTS\n** Name: Background\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelector('.js-background-start') && document.querySelector('.js-background-end')) {\n\n\n /**\n ** Variables\n ****************************************/\n\n let root = document.documentElement;\n\n const $html = document.documentElement;\n const delta = 400;\n\n var scrollPos = window.pageYOffset;\n var startOffset = 0;\n var endOffset = 0;\n var ticking = false;\n\n\n /**\n ** Functions\n ****************************************/\n\n function updateVariables() {\n scrollPos = window.pageYOffset;\n startOffset = document.querySelector('.js-background-start').getBoundingClientRect().top + window.pageYOffset - window.innerHeight / 2;\n endOffset = document.querySelector('.js-background-end').getBoundingClientRect().top + window.pageYOffset + window.innerHeight / 2;\n }\n\n function setBackgroundState(scroll) {\n if(scroll > startOffset && scroll < endOffset) {\n if(scroll < startOffset + delta) {\n var opacity = (scroll - startOffset) / delta;\n root.style.setProperty('--background-opacity', opacity);\n }\n else if(scroll > endOffset - delta) {\n var opacity = (endOffset - scroll) / delta;\n root.style.setProperty('--background-opacity', opacity);\n }\n else {\n root.style.setProperty('--background-opacity', 1);\n }\n }\n else {\n root.style.setProperty('--background-opacity', 0);\n }\n }\n\n\n /**\n ** Events\n ****************************************/\n\n // Scroll\n window.addEventListener('scroll', ()=>{\n scrollPos = window.pageYOffset;\n\n if (!ticking) {\n window.requestAnimationFrame(function() {\n setBackgroundState(scrollPos);\n ticking = false;\n });\n }\n\n ticking = true;\n });\n\n // Resize\n window.addEventListener('resize', ()=>{\n if (!ticking) {\n window.requestAnimationFrame(function() {\n updateVariables();\n ticking = false;\n });\n }\n\n ticking = true;\n });\n\n // Init\n window.addEventListener('load', ()=> {\n root.style.setProperty('--background-opacity', 0);\n updateVariables();\n });\n\n\n }\n\n})();\n","/**\n** JAVASCRIPTS\n** Name: Footer\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelectorAll('.js-footer').length > 0) {\n\n\n /**\n ** Variables\n ****************************************/\n\n const $sections = document.querySelectorAll('.js-footer-section');\n\n var ticking = false;\n\n\n /**\n ** Functions\n ****************************************/\n\n function setSectionsState() {\n if(window.outerWidth >= 960) {\n $sections.forEach(($section) => {\n if(!$section.hasAttribute(\"open\")) {\n $section.setAttribute(\"open\", \"open\");\n }\n });\n }\n else {\n $sections.forEach(($section) => {\n if($section.dataset.open != \"true\" && $section.hasAttribute(\"open\")) {\n $section.removeAttribute(\"open\");\n }\n });\n }\n };\n\n\n /**\n ** Events\n ****************************************/\n\n // Resize\n window.addEventListener('resize', ()=>{\n if (!ticking) {\n window.requestAnimationFrame(function() {\n setSectionsState();\n ticking = false;\n });\n }\n\n ticking = true;\n });\n\n // Init\n setSectionsState();\n\n\n }\n\n})();\n","/**\n** JAVASCRIPTS\n** Name: Overlay\n********************************************************************************/\n\n(function() {\n 'use strict';\n\n\n if(document.querySelector('.js-overlay') && document.querySelector('.js-overlay-close')) {\n\n\n /**\n ** Variables\n ****************************************/\n\n const $overlay = document.querySelector('.js-overlay');\n const $close = document.querySelector('.js-overlay-close');\n\n\n /**\n ** Events\n ****************************************/\n\n document.querySelector('.js-overlay-open').addEventListener('click', (event)=>{\n event.preventDefault();\n $overlay.classList.add('is-active');\n });\n\n $close.addEventListener('click', (event)=>{\n event.preventDefault();\n $overlay.classList.remove('is-active');\n });\n\n\n }\n\n})();\n"],"names":["document","querySelectorAll","length","$html","documentElement","$open","querySelector","$close","lastScrollPos","ticking","setHeaderState","scrollPos","direction","classList","add","remove","addEventListener","event","preventDefault","window","pageYOffset","scrollTop","requestAnimationFrame","forEach","$link","$item","closest","contains","target","setApplyState","getBoundingClientRect","top","offsetHeight","innerHeight","root","delta","startOffset","endOffset","updateVariables","setBackgroundState","scroll","opacity","style","setProperty","$sections","setSectionsState","outerWidth","$section","hasAttribute","setAttribute","dataset","open","removeAttribute","$overlay"],"mappings":"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"}