{"version":3,"sources":["webpack:///./src/js/animations.js","webpack:///./src/js/parallax.js","webpack:///./src/js/notices.js","webpack:///./src/js/dialog.js","webpack:///./src/js/app.js","webpack:///./src/js/calculator.js","webpack:///./src/js/filter.js","webpack:///./src/js/gallery.js","webpack:///./src/js/im-gallery.js","webpack:///./src/js/menu.js","webpack:///./src/js/profiles.js","webpack:///./src/js/site-by-brighter.js","webpack:///./src/js/testimonials.js"],"names":["document","addEventListener","querySelectorAll","forEach","el","gsap","scrollTrigger","trigger","start","opacity","translateY","ease","duration","once","toggleClass","layers","querySelector","y","scale","scrub","notice","noticeId","getAttribute","expiresDays","parseFloat","close","setAttribute","Cookies","expires","e","isbot","navigator","userAgent","undefined","removeAttribute","dialog","A11yDialog","getElementById","show","dialogId","dialogEl","on","element","event","video","src","objectFitImages","ScrollTrigger","id","controlled","open","hidden","innerHTML","replace","preventDefault","console","log","window","lightGallery","plugins","lgThumbnail","speed","licenseKey","container","dynamic","hash","closable","download","showMaximizeIcon","allowMediaOverlap","appendSubHtmlTo","dynamicEl","openGallery","click","scrollY","classList","add","remove","replaceFileLinks","enrolmentCalculatorForm","data","URLSearchParams","FormData","url","location","href","fetch","method","body","then","response","text","html","doc","DOMParser","parseFromString","err","enrolmentCalculator","filterLoadUrl","currentUrl","keepUrl","title","textContent","history","pushState","filterInit","filterSearch","jumpToUrl","params","Object","query","type","val","value","toggle","globalParamsOrder","rootUrl","sep","key","hasOwnProperty","indexOf","urlQuery","length","encodeURIComponent","filterLoadMore","delay","callback","ms","timer","context","this","args","arguments","clearTimeout","setTimeout","apply","state","reload","cbdSearchForm","gal","items","Array","from","navItems","children","mobNavItems","imageItems","dataset","go","clicked","next","index","i","String","Boolean","mobGo","prev","touchstartX","touchstartY","touchendX","touchendY","changedTouches","screenX","screenY","direction","delx","dely","Math","abs","handleGesture","prevIndex","findIndex","nextIndex","track","overlay","image","play","controls","pause","pauseAll","offsetX","offsetLeft","innerWidth","offsetWidth","style","left","menuButton","pages","indicator","nav","searchButton","searchForm","main","bg","menuInterval","menuDelay","isMenuOpen","contains","page","active","hasAttribute","clearInterval","focus","contract","expand","height","offsetHeight","hoverIf","condition","setInterval","target","parentNode","expandIfMobile","bind","matchMedia","matches","closest","hoverIfDesktop","expandHoverIfDesktop","contractIfDesktop","back","closeButton","toggleButton","a","init","ua","iOS","match","webkit","iOSSafari","isSafari","test","parentElement","expandable","scrollHeight","display","windowWidth","siteByBrighter","d","createElement","className","top","clientY","clientX","appendChild","removeChild","navNext","navPrev","currentItem","setHeight","containerHeight"],"mappings":"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","file":"/js/app.js","sourcesContent":["import { gsap } from 'gsap';\n\nexport function fadeInOnScroll(elements) {\n elements.forEach(el => {\n gsap.from(el, {\n scrollTrigger: {\n trigger: el,\n start: 'top bottom',\n },\n opacity: 0,\n translateY: 50,\n ease: 'power1.out',\n duration: 1,\n });\n });\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n // Animate some elements fading in on scroll\n fadeInOnScroll(\n document.querySelectorAll('.fade-in-children > *')\n );\n\n // Add .is-scrolled-in class to some elements when they reach the viewport\n document.querySelectorAll('.hero').forEach(el => {\n gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: 'top bottom',\n once: true,\n toggleClass: 'is-scrolled-in'\n },\n });\n });\n\n});\n","import { gsap } from 'gsap';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n // Scrolling parallax effect for heroes\n document.querySelectorAll('.hero').forEach(el => {\n const layers = el.querySelector('.hero__layers');\n\n gsap.set(layers, { y: -170, scale: 1.05 });\n gsap.to(layers, {\n y: 170,\n ease: 'none',\n scrollTrigger: {\n trigger: el,\n scrub: true,\n }\n });\n });\n\n // Scrolling parallax effect for banners\n document.querySelectorAll('.banner').forEach(el => {\n const layers = el.querySelector('.banner__layers');\n\n gsap.set(layers, { y: -100, scale: 1.10 });\n gsap.to(layers, {\n y: 100,\n ease: 'none',\n scrollTrigger: {\n trigger: el,\n scrub: true,\n }\n });\n });\n\n // Scrolling parallax effect for fingerprint\n document.querySelectorAll('.fingerprint').forEach(el => {\n\n gsap.set(el, { y: -100, scale: 1.05 });\n gsap.to(el, {\n y: 100,\n ease: 'none',\n scrollTrigger: {\n trigger: el,\n scrub: true,\n }\n });\n });\n\n // Scrolling parallax effect for section images\n document.querySelectorAll('.section__image img').forEach(el => {\n\n gsap.set(el, { y: 0, scale: 1.15 });\n gsap.to(el, {\n y: 0,\n scale: 1,\n ease: 'none',\n scrollTrigger: {\n trigger: el,\n scrub: true,\n }\n });\n });\n\n});\n","import Cookies from 'js-cookie';\nimport isbot from 'isbot';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n document.querySelectorAll('.site-notice').forEach(notice => {\n\n const noticeId = notice.getAttribute('id');\n const expiresHours = notice.getAttribute('data-expires') ? parseFloat(notice.getAttribute('data-expires')) : 2;\n const expiresDays = expiresHours / 24;\n\n function init() {\n if (!isbot(navigator.userAgent)) {\n if (Cookies.get(noticeId) == undefined) {\n open();\n }\n }\n }\n\n function open() {\n notice.removeAttribute('hidden');\n }\n\n function close() {\n notice.setAttribute('hidden', 'true');\n Cookies.set(noticeId, 1, { expires: expiresDays });\n }\n\n if (notice.querySelector('.site-notice__close')) {\n notice.querySelector('.site-notice__close').addEventListener('click', (e) => {\n close();\n });\n }\n\n if (notice.querySelector('.site-notice__dismiss')) {\n notice.querySelector('.site-notice__dismiss').addEventListener('click', (e) => {\n close();\n });\n }\n\n init();\n\n\n });\n});\n","import A11yDialog from 'a11y-dialog';\nimport Cookies from 'js-cookie';\nimport isbot from 'isbot';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.querySelectorAll('.dialog-container').forEach(el => {\n\n const noticeId = el.getAttribute('id');\n const expiresHours = el.getAttribute('data-expires') ? parseFloat(el.getAttribute('data-expires')) : 2;\n const expiresDays = expiresHours / 24;\n const dialog = new A11yDialog(el, document.getElementById('main'));\n\n function init() {\n if (!isbot(navigator.userAgent)) {\n if (expiresDays && Cookies.get(noticeId) == undefined) {\n dialog.show();\n Cookies.set(noticeId, 1, { expires: expiresDays });\n }\n }\n }\n\n init();\n\n // Add any event handlers here...\n // See https://github.com/edenspiekermann/a11y-dialog#js-api\n });\n\n document.querySelectorAll('[data-controls-dialog]').forEach(el => {\n\n const dialogId = el.getAttribute('aria-controls');\n const dialogEl = document.querySelector('#' + dialogId);\n const dialog = new A11yDialog(dialogEl, document.getElementById('main'));\n\n el.addEventListener('click', (e) => {\n dialog.show();\n });\n\n dialog.on('hide', function (element, event) {\n const video = element.querySelector('iframe');\n // console.log(video);\n if (video) {\n var src = video.src;\n video.src = src;\n }\n })\n\n });\n});\n","import 'lazysizes';\nimport objectFitImages from 'object-fit-images';\nimport { gsap } from 'gsap';\n// import { MotionPathPlugin } from 'gsap/MotionPathPlugin';\nimport { ScrollTrigger } from 'gsap/ScrollTrigger';\n// import { SlowMo } from 'gsap/EasePack';\nimport lightGallery from 'lightgallery';\nimport lgThumbnail from 'lightgallery/plugins/thumbnail'\nimport lgZoom from 'lightgallery/plugins/zoom'\n\nimport './animations';\nimport './menu';\nimport './parallax';\nimport './gallery';\nimport './im-gallery';\nimport './testimonials';\nimport './filter';\nimport './calculator';\nimport './profiles';\nimport './notices';\nimport './dialog';\nimport './site-by-brighter';\n\nobjectFitImages();\n\ngsap.registerPlugin(ScrollTrigger);\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n /**\n * Initialize aria visibility toggles.\n *\n * Usage:\n * \n *
Dropdown
\n */\n document.querySelectorAll('[aria-expanded][aria-controls]').forEach(el => {\n el.addEventListener('click', e => {\n const id = el.getAttribute('aria-controls');\n const controlled = document.getElementById(id);\n const open = controlled.getAttribute('aria-hidden') !== 'false';\n\n controlled.setAttribute('aria-hidden', open ? 'false' : 'true');\n controlled.hidden = !open;\n\n document.querySelectorAll(`[aria-controls=\"${id}\"]`).forEach(el => {\n el.setAttribute('aria-expanded', open ? 'true' : 'false');\n });\n\n if (open) {\n el.innerHTML = el.innerHTML.replace('Show', 'Hide');\n } else {\n el.innerHTML = el.innerHTML.replace('Hide', 'Show');\n }\n\n e.preventDefault();\n });\n });\n\n // init light gallery\n document.querySelectorAll('.lightgallery').forEach(el => {\n console.log(window['lightGalleryItems' + el.getAttribute('data-id')]);\n // const lgContainer = el.getElementById('inline-gallery-container');\n const inlineGallery = lightGallery(el, {\n plugins: [lgThumbnail],\n speed: 500,\n licenseKey: 'E5D46190-EE13412F-B22CC7F8-29F8C471',\n\n container: el,\n dynamic: true,\n hash: false,\n closable: false,\n download: false,\n showMaximizeIcon: true,\n allowMediaOverlap: false,\n // controls: false,\n appendSubHtmlTo: '.lg-item',\n dynamicEl: window['lightGalleryItems' + el.getAttribute('data-id')]\n });\n inlineGallery.openGallery();\n });\n\n\n // init block links\n document.querySelectorAll('.block-link').forEach(el => {\n el.addEventListener('click', function(e) {\n el.querySelector('a').click();\n });\n });\n\n});\n\ndocument.addEventListener('scroll', function(e) {\n if (window.scrollY > 0) {\n document.querySelector('#main').classList.add('is-scrolled-off-top');\n } else {\n document.querySelector('#main').classList.remove('is-scrolled-off-top');\n }\n});\n\n\n//* parent portal link replacement =================================================== */\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n if (replaceFileLinks) {\n\n function isFile(pathname) {\n return pathname.split('/').pop().indexOf('.') > -1;\n }\n\n function isExternalLink(url) {\n const tmp = document.createElement('a');\n tmp.href = url;\n return tmp.host !== window.location.host;\n };\n\n var siteUrl = \"\";\n // var internalLinks = document.querySelectorAll(\"a[href^='\"+siteUrl+\"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']\");\n var allLinks = document.querySelectorAll('a');\n\n // if (allLinks) {\n // allLinks.forEach(link => {\n // var url = link.getAttribute('href');\n // if (isFile(url)) {\n // link.setAttribute('href', siteUrl + '/view-resource/?url=' + url);\n // }\n // });\n // }\n\n }\n\n});\n","\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n function enrolmentCalculator(el) {\n\n document.querySelector('.filter-results').classList.add('is-loading');\n\n const data = new URLSearchParams(new FormData(el));\n const url = el.getAttribute('action') ?? window.location.href;\n\n fetch(url, {\n method: 'post',\n body: data,\n })\n .then(function(response) {\n return response.text();\n })\n .then(function(html) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(html, \"text/html\");\n\n document.querySelector('.filter-results').innerHTML = doc.querySelector('.filter-results').innerHTML;\n document.querySelector('.filter-results').classList.remove('is-loading');\n\n })\n .catch(function(err) {\n console.log('Failed to fetch page: ', err);\n });\n\n }\n\n // calculator search filter\n const enrolmentCalculatorForm = document.getElementById('enrolment-calculator');\n if (enrolmentCalculatorForm) {\n enrolmentCalculatorForm.addEventListener('submit', function(event) {\n enrolmentCalculator(enrolmentCalculatorForm);\n event.preventDefault();\n return false;\n });\n }\n\n\n});\n","\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n window.addEventListener('popstate', function (event) {\n if (history.state && history.state.id === 'filter') {\n location.reload();\n }\n }, false);\n\n function filterLoadUrl(url) {\n\n document.querySelector('.filter-results').classList.add('is-loading');\n\n currentUrl = url;\n\n fetch(url)\n .then(function(response) {\n return response.text();\n })\n .then(function(html) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(html, \"text/html\");\n\n // push state\n if (typeof keepUrl == 'undefined') {\n var title = doc.querySelector('title').textContent;\n window.history.pushState({\n id: 'filter'\n }, title, url);\n document.title = title;\n }\n\n document.querySelector('.filter-results').innerHTML = doc.querySelector('.filter-results').innerHTML;\n document.querySelector('.filter-results').classList.remove('is-loading');\n\n // init filter\n filterInit();\n\n // activate block links\n document.querySelectorAll('.block-link').forEach(el => {\n el.addEventListener('click', function(e) {\n el.querySelector('a').click();\n });\n });\n\n })\n .catch(function(err) {\n console.log('Failed to fetch page: ', err);\n });\n\n }\n\n function filterSearch(jumpToUrl = false) {\n\n var params = new Object();\n var query = new Object();\n\n // loop through inputs to find values\n document.querySelectorAll('.filter').forEach(el => {\n if (el.querySelector('.input')) {\n var id = el.getAttribute('data-id');\n var type = el.getAttribute('data-type');\n var val = el.querySelector('.input').value;\n if (val) {\n if (type == 'query') {\n query[id] = val;\n } else {\n params[id] = val;\n }\n }\n el.classList.toggle('is-active', val);\n }\n });\n\n // make url\n var globalParamsOrder = ['month', 'issue', 'school', 'category', 'page'];\n var url = rootUrl;\n var sep = '';\n globalParamsOrder.forEach(key => {\n if (params[key] !== undefined) {\n url += sep + key;\n sep = '/';\n url += sep + params[key];\n }\n });\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n if (params[key] !== undefined && globalParamsOrder.indexOf(key) == -1) {\n url += sep + key;\n sep = '/';\n url += sep + params[key];\n }\n }\n }\n url += sep;\n\n // add query string\n var sep = '';\n var urlQuery = '';\n for (var key in query) {\n if (query.hasOwnProperty(key)) {\n if (query[key] !== undefined && query[key].length) {\n urlQuery += sep + key + '=' + encodeURIComponent(query[key]);\n sep = '&';\n }\n }\n }\n if (urlQuery.length) {\n urlQuery = '?' + urlQuery;\n url = url + urlQuery;\n }\n\n if (url !== currentUrl) {\n\n if (jumpToUrl) {\n window.location.href = url;\n } else {\n filterLoadUrl(url);\n }\n\n }\n\n return false;\n\n }\n\n function filterInit() {\n const filterLoadMore = document.querySelector('[data-action=\"filterLoadMore\"]');\n if (filterLoadMore) {\n filterLoadMore.addEventListener('click', function(event) {\n\n var url = filterLoadMore.getAttribute('href');\n filterLoadUrl(url);\n\n event.preventDefault();\n\n });\n }\n }\n\n filterInit();\n\n // filter keyword input delay\n function delay(callback, ms) {\n var timer = 0;\n return function() {\n var context = this, args = arguments;\n clearTimeout(timer);\n timer = setTimeout(function () {\n callback.apply(context, args);\n }, ms || 0);\n };\n }\n\n document.querySelectorAll('.filters:not(.filters--form) .filter .input').forEach(el => {\n el.addEventListener('keydown', delay(function(event) {\n filterSearch();\n }, 500));\n el.addEventListener('change', delay(function(event) {\n filterSearch();\n }, 500));\n });\n\n // business directory search filter\n const cbdSearchForm = document.getElementById('business-directory-search');\n if (cbdSearchForm) {\n cbdSearchForm.addEventListener('submit', function(event) {\n filterSearch(true);\n event.preventDefault();\n return false;\n });\n }\n\n\n});\n","document.addEventListener('DOMContentLoaded', () => {\n\n document.querySelectorAll('.gallery').forEach(gal => {\n\n const container = gal.querySelector('.gallery__items');\n\n if (! container) return;\n\n const items = Array.from(gal.querySelectorAll('.gallery__slide'));\n const navItems = gal.querySelector('.gallery__buttons') ? Array.from(gal.querySelector('.gallery__buttons').children) : false;\n const mobNavItems = gal.querySelectorAll('.gallery__slide-toggle') ? Array.from(gal.querySelectorAll('.gallery__slide-toggle')) : false;\n const imageItems = gal.querySelector('.gallery__summary-image') ? Array.from(gal.querySelector('.gallery__summary-image').children) : false;\n\n items[0].dataset.start = '';\n setTimeout(() => delete items[0].dataset.start);\n\n function go(index) {\n for (let i = 0; i < items.length; i++) {\n items[i].hidden = index !== i;\n if (navItems) {\n setTimeout(() => {\n navItems[i].setAttribute('aria-selected', String(index === i));\n }, 50);\n }\n }\n }\n\n function mobGo(index) {\n for (let i = 0; i < items.length; i++) {\n items[i].hidden = index !== i;\n imageItems[i].setAttribute('aria-hidden', String(index !== i));\n imageItems[i].hidden = Boolean(index !== i);\n if (mobNavItems) {\n // setTimeout(() => {\n mobNavItems[i].setAttribute('aria-selected', String(index === i));\n // }, 50);\n }\n }\n }\n\n function prev() {\n const prevIndex = items.findIndex(el => ! el.hidden) - 1;\n go(prevIndex < 0 ? items.length - 1 : prevIndex);\n }\n\n function next() {\n const nextIndex = items.findIndex(el => ! el.hidden) + 1;\n go(nextIndex >= items.length ? 0 : nextIndex);\n }\n\n if (navItems) {\n navItems.forEach(el => {\n el.addEventListener('focus', (e) => {\n go(navItems.indexOf(el));\n el.dataset.clicked = '';\n e.preventDefault();\n });\n el.addEventListener('mouseover', (e) => {\n go(navItems.indexOf(el));\n el.dataset.clicked = '';\n e.preventDefault();\n });\n el.addEventListener('animationend', next);\n });\n }\n\n if (mobNavItems) {\n mobNavItems.forEach(el => {\n el.addEventListener('click', (e) => {\n mobGo(mobNavItems.indexOf(el));\n el.dataset.clicked = '';\n e.preventDefault();\n });\n el.addEventListener('animationend', next);\n });\n }\n\n if (gal.querySelector('.gallery__nav-next')) {\n gal.querySelector('.gallery__nav-next').addEventListener('click', (e) => {\n next();\n });\n }\n\n if (gal.querySelector('.gallery__nav-prev')) {\n gal.querySelector('.gallery__nav-prev').addEventListener('click', (e) => {\n prev();\n });\n }\n\n document.addEventListener('keydown', function(event) {\n if (event.key === 'ArrowRight') {\n next();\n event.preventDefault();\n } else if (event.key === 'ArrowLeft') {\n prev();\n event.preventDefault();\n }\n });\n\n let touchstartX = 0;\n let touchstartY = 0;\n let touchendX = 0;\n let touchendY = 0;\n\n function handleGesture(touchstartX, touchstartY, touchendX, touchendY) {\n const delx = touchendX - touchstartX;\n const dely = touchendY - touchstartY;\n if(Math.abs(delx) > Math.abs(dely)){\n if(delx > 0) return \"right\"\n else return \"left\"\n }\n else if(Math.abs(delx) < Math.abs(dely)){\n if(dely > 0) return \"down\"\n else return \"up\"\n }\n else return \"tap\"\n }\n\n gal.addEventListener('touchstart', function(event) {\n touchstartX = event.changedTouches[0].screenX;\n touchstartY = event.changedTouches[0].screenY;\n }, false);\n\n gal.addEventListener('touchend', function(event) {\n touchendX = event.changedTouches[0].screenX;\n touchendY = event.changedTouches[0].screenY;\n let direction = handleGesture(touchstartX, touchstartY, touchendX, touchendY);\n if (direction == 'right') {\n next();\n } else if (direction == 'left') {\n prev();\n }\n }, false);\n\n\n });\n});\n","document.addEventListener('DOMContentLoaded', () => {\n\n document.querySelectorAll('.im-gallery').forEach(gal => {\n\n const track = gal.querySelector('.im-gallery__track');\n\n if (! track) return;\n\n const items = Array.from(gal.querySelectorAll('.im-gallery-item'));\n const navItems = gal.querySelector('.im-gallery__buttons') ? Array.from(gal.querySelector('.im-gallery__buttons').children) : false;\n\n items[0].dataset.start = '';\n setTimeout(() => delete items[0].dataset.start);\n\n function go(index) {\n pauseAll();\n const offsetX = (items[index].offsetLeft - ((window.innerWidth - items[index].offsetWidth) / 2)) * -1;\n track.style.left = offsetX + 'px';\n for (let i = 0; i < items.length; i++) {\n items[i].hidden = index !== i;\n if (navItems) {\n setTimeout(() => {\n navItems[i].setAttribute('aria-selected', String(index === i));\n }, 50);\n }\n }\n }\n\n function prev() {\n const prevIndex = items.findIndex(el => ! el.hidden) - 1;\n go(prevIndex < 0 ? items.length - 1 : prevIndex);\n }\n\n function next() {\n const nextIndex = items.findIndex(el => ! el.hidden) + 1;\n go(nextIndex >= items.length ? 0 : nextIndex);\n }\n\n function pauseAll() {\n for (let i = 0; i < items.length; i++) {\n const video = items[i].querySelector('.im-gallery-item__video');\n video.pause();\n video.controls = false;\n items[i].classList.remove('im-gallery-item--playing');\n gal.classList.remove('im-gallery--playing');\n }\n }\n\n function play(index) {\n for (let i = 0; i < items.length; i++) {\n const video = items[i].querySelector('.im-gallery-item__video');\n const image = items[i].querySelector('.im-gallery-item__image');\n if (i == index) {\n video.play();\n video.controls = true;\n items[i].classList.add('im-gallery-item--playing');\n image.remove();\n } else {\n video.pause();\n video.controls = false;\n items[i].classList.remove('im-gallery-item--playing');\n }\n gal.classList.add('im-gallery--playing');\n }\n }\n\n if (items) {\n items.forEach(el => {\n const overlay = el.querySelector('.im-gallery-item__overlay');\n if (overlay) {\n overlay.addEventListener('click', (e) => {\n play(items.indexOf(el));\n e.preventDefault();\n });\n }\n });\n }\n\n if (navItems) {\n navItems.forEach(el => {\n el.addEventListener('click', (e) => {\n go(navItems.indexOf(el));\n el.dataset.clicked = '';\n e.preventDefault();\n });\n // el.addEventListener('mouseover', (e) => {\n // go(navItems.indexOf(el));\n // el.dataset.clicked = '';\n // e.preventDefault();\n // });\n el.addEventListener('animationend', next);\n });\n }\n\n if (gal.querySelector('.im-gallery__nav-button--next')) {\n gal.querySelector('.im-gallery__nav-button--next').addEventListener('click', (e) => {\n next();\n });\n }\n\n if (gal.querySelector('.im-gallery__nav-button--prev')) {\n gal.querySelector('.im-gallery__nav-button--prev').addEventListener('click', (e) => {\n prev();\n });\n }\n\n document.addEventListener('keydown', function(event) {\n if (event.key === 'ArrowRight') {\n next();\n event.preventDefault();\n } else if (event.key === 'ArrowLeft') {\n prev();\n event.preventDefault();\n }\n });\n\n let touchstartX = 0;\n let touchstartY = 0;\n let touchendX = 0;\n let touchendY = 0;\n\n function handleGesture(touchstartX, touchstartY, touchendX, touchendY) {\n const delx = touchendX - touchstartX;\n const dely = touchendY - touchstartY;\n if(Math.abs(delx) > Math.abs(dely)){\n if(delx > 0) return \"right\"\n else return \"left\"\n }\n else if(Math.abs(delx) < Math.abs(dely)){\n if(dely > 0) return \"down\"\n else return \"up\"\n }\n else return \"tap\"\n }\n\n gal.addEventListener('touchstart', function(event) {\n touchstartX = event.changedTouches[0].screenX;\n touchstartY = event.changedTouches[0].screenY;\n }, false);\n\n gal.addEventListener('touchend', function(event) {\n touchendX = event.changedTouches[0].screenX;\n touchendY = event.changedTouches[0].screenY;\n let direction = handleGesture(touchstartX, touchstartY, touchendX, touchendY);\n if (direction == 'left') {\n next();\n } else if (direction == 'right') {\n prev();\n }\n }, false);\n\n go(0);\n\n\n });\n});\n","document.addEventListener('DOMContentLoaded', () => {\n\n const menuButton = document.querySelector('[aria-controls=sitemenu]');\n const pages = document.querySelectorAll('.site-menu__pages > li');\n const indicator = document.querySelector('.site-menu__indicator');\n const nav = document.querySelector('.site-menu');\n const closeButton = document.querySelector('.site-menu__close');\n const parentLoungeButton = document.querySelector('[aria-controls=parent-lounge]');\n const parentLoungeQuick = document.querySelector('[aria-controls=parent-lounge-quick]');\n const parentLoungeQuickLinks = document.querySelector('#parent-lounge-quick');\n const searchButton = document.querySelector('[aria-controls=search]');\n const searchForm = document.querySelector('#header-search-form');\n const main = document.querySelector('#main');\n const bg = document.querySelector('.site-menu__bg');\n const menuDelayCap = 70;\n var menuInterval = null;\n var menuDelay = 0;\n\n menuButton.addEventListener('click', () => {\n main.classList.toggle('is-menu-open');\n if (isMenuOpen()) {\n menuButton.querySelector('.icon use').setAttribute('href', '#close');\n menuButton.querySelector('.visually-hidden').innerHTML = 'Close';\n } else {\n menuButton.querySelector('.icon use').setAttribute('href', '#menu');\n menuButton.querySelector('.visually-hidden').innerHTML = 'Open';\n }\n });\n\n function isMenuOpen() {\n return main.classList.contains('is-menu-open') === true;\n }\n\n // When the escape key is pressed, close the menu.\n document.addEventListener('keydown', e => {\n if (isMenuOpen() && e.key === 'Escape') {\n main.classList.remove('is-menu-open');\n nav.classList.remove('is-expanded');\n pages.forEach(page => {\n const active = false;\n if (page.hasAttribute('aria-expanded')) {\n page.setAttribute('aria-expanded', String(active));\n page.querySelector(':scope > .site-menu__section').setAttribute('aria-hidden', String(!active));\n page.querySelector(':scope > .site-menu__section').hidden = !active;\n }\n });\n clearInterval(menuInterval);\n menuDelay = 0;\n }\n });\n\n if (searchButton) {\n searchButton.addEventListener('click', (e) => {\n const active = true;\n searchButton.setAttribute('aria-expanded', String(active));\n searchButton.setAttribute('aria-hidden', String(active));\n searchButton.hidden = active;\n searchForm.setAttribute('aria-expanded', String(active));\n searchForm.setAttribute('aria-hidden', String(!active));\n searchForm.hidden = !active;\n searchForm.querySelector('input').focus();\n e.preventDefault();\n });\n }\n\n // if (parentLoungeButton) {\n // parentLoungeButton.addEventListener('click', (e) => {\n // document.querySelector('[data-id=parent-lounge] .site-menu__link').click();\n // e.preventDefault();\n // });\n // }\n\n // if (parentLoungeQuick) {\n // var parentLoungeQuickActive = false;\n // parentLoungeQuick.addEventListener('click', (e) => {\n // parentLoungeQuickActive = !parentLoungeQuickActive;\n // console.log(parentLoungeQuickActive);\n // parentLoungeQuick.setAttribute('aria-expanded', String(parentLoungeQuickActive));\n // parentLoungeQuickLinks.setAttribute('aria-hidden', String(!parentLoungeQuickActive));\n // parentLoungeQuickLinks.hidden = !parentLoungeQuickActive;\n // // document.querySelector('.btn-hover__menu#parent-lounge').click();\n // e.preventDefault();\n // });\n // }\n\n pages.forEach(el => {\n\n const resizeBg = () => {\n\n var height = el.querySelector(':scope > .site-menu__section').offsetHeight;\n height += document.querySelector('.site-header').offsetHeight;\n bg.style.height = height + 'px';\n\n }\n\n const toggle = (e) => {\n\n clearInterval(menuInterval);\n menuDelay = 0;\n if (e.target.parentNode.parentNode.getAttribute('aria-expanded') === 'true') {\n contract();\n } else {\n expand();\n }\n e.preventDefault();\n return false;\n\n };\n\n const contract = () => {\n\n main.classList.remove('is-menu-open');\n nav.classList.remove('is-expanded');\n\n pages.forEach(page => {\n const active = false;\n if (page.hasAttribute('aria-expanded')) {\n page.setAttribute('aria-expanded', String(active));\n page.querySelector(':scope > .site-menu__section').setAttribute('aria-hidden', String(!active));\n page.querySelector(':scope > .site-menu__section').hidden = !active;\n }\n });\n\n if (searchButton) {\n searchButton.setAttribute('aria-expanded', String(false));\n if (el.hasAttribute('aria-expanded')) {\n el.setAttribute('aria-expanded', false);\n el.querySelector(':scope > .site-menu__section').setAttribute('aria-hidden', true);\n el.querySelector(':scope > .site-menu__section').hidden = true;\n }\n }\n\n };\n\n const expand = () => {\n\n menuDelay = menuDelayCap;\n\n main.classList.add('is-menu-open');\n nav.classList.add('is-expanded');\n\n pages.forEach(page => {\n const active = page === el;\n if (page.hasAttribute('aria-expanded')) {\n page.setAttribute('aria-expanded', String(active));\n page.querySelector(':scope > .site-menu__section').setAttribute('aria-hidden', String(!active));\n page.querySelector(':scope > .site-menu__section').hidden = !active;\n }\n });\n\n resizeBg();\n };\n\n const hover = () => {\n\n // Position the indicator element over the top of the active page.\n Object.assign(indicator.style, {\n left: el.offsetLeft+'px',\n width: el.offsetWidth+'px'\n });\n indicator.classList.add('is-active');\n };\n\n const hoverIf = (condition, e) => {\n if (condition(e)) {\n clearInterval(menuInterval);\n menuDelay = menuDelayCap;\n menuInterval = setInterval(() => {\n if (menuDelay > 0) {\n menuDelay -= 1;\n if (menuDelay <= 0) {\n if (e.target.parentNode.hasAttribute('aria-expanded')) {\n expand();\n } else {\n contract();\n }\n }\n }\n }, 1);\n }\n };\n\n const leaveA = () => {\n clearInterval(menuInterval);\n menuDelay = 0;\n indicator.classList.remove('is-active');\n };\n\n const leave = () => {\n clearInterval(menuInterval);\n menuDelay = 0;\n indicator.classList.remove('is-active');\n };\n\n const expandIf = (condition, e) => {\n if (condition(e)) {\n expand();\n e.preventDefault();\n }\n };\n\n const expandHoverIf = (condition, e) => {\n if (condition(e) && (menuDelay <= 0 || !isMenuOpen()) ) {\n if (e.target.parentNode.hasAttribute('aria-expanded')) {\n expand();\n } else {\n contract();\n }\n e.preventDefault();\n }\n };\n\n const contractIf = (condition, e) => {\n clearInterval(menuInterval);\n menuDelay = 0;\n if (condition(e)) {\n contract();\n e.preventDefault();\n }\n };\n\n const expandIfMobile = expandIf.bind(undefined, e => {\n return window.matchMedia(\"(max-width: 1200px)\").matches && e.target.closest('.site-menu__li').hasAttribute('aria-expanded');\n });\n\n const hoverIfMobile = hoverIf.bind(undefined, e => {\n return window.matchMedia(\"(max-width: 1200px)\").matches;\n });\n\n const hoverIfDesktop = hoverIf.bind(undefined, e => {\n return window.matchMedia(\"(min-width: 1200px)\").matches;\n });\n\n const expandHoverIfDesktop = expandHoverIf.bind(undefined, e => {\n return window.matchMedia(\"(min-width: 1200px)\").matches;\n });\n\n const contractIfDesktop = contractIf.bind(undefined, e => {\n return window.matchMedia(\"(min-width: 1200px)\").matches;\n });\n\n const back = el.querySelector('.site-menu__back > button');\n if (back) {\n back.addEventListener('click', () => {\n nav.classList.remove('is-expanded');\n el.setAttribute('aria-expanded', 'false');\n el.querySelector('.site-menu__section').setAttribute('aria-hidden', String(true));\n el.querySelector('.site-menu__section').hidden = true;\n });\n }\n\n const closeButton = el.querySelector('.site-menu__close');\n if (closeButton) {\n closeButton.addEventListener('click', contract);\n }\n\n const toggleButton = el.querySelector('.site-menu__link-toggle');\n if (toggleButton) {\n toggleButton.addEventListener('click', toggle);\n }\n\n const a = el.querySelector(':scope > a');\n a.addEventListener('click', expandIfMobile);\n // a.addEventListener('mouseenter', hoverIfMobile);\n a.addEventListener('mouseleave', leaveA);\n // a.addEventListener('focus', hoverIfMobile);\n nav.addEventListener('mouseleave', leave);\n\n a.addEventListener('mouseenter', hoverIfDesktop);\n a.addEventListener('mouseenter', expandHoverIfDesktop);\n nav.addEventListener('mouseleave', contractIfDesktop);\n\n contract();\n });\n});\n","\nfunction init() {\n var ua = window.navigator.userAgent;\n var iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);\n var webkit = !!ua.match(/WebKit/i);\n var iOSSafari = iOS && webkit && !ua.match(/CriOS/i);\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n document.querySelectorAll('.profile__btn').forEach(el => {\n\n const controlled = el.parentElement.querySelector('.profile__text');\n var expandable = false;\n\n if (iOSSafari || isSafari) {\n const parentElement = el.parentElement.parentElement;\n parentElement.classList.add('profile--fallback');\n expandable = true;\n } else {\n expandable = controlled.offsetHeight < controlled.scrollHeight;\n }\n\n el.addEventListener('click', e => {\n const open = controlled.getAttribute('aria-expanded') !== 'false';\n\n controlled.setAttribute('aria-expanded', open ? 'false' : 'true');\n el.setAttribute('aria-expanded', open ? 'false' : 'true');\n el.textContent = open ? 'Read more' : 'Read less';\n\n e.preventDefault();\n });\n\n if (expandable) {\n el.style.display = 'inline-block';\n } else {\n el.style.display = 'none';\n }\n\n\n });\n\n}\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n init();\n var windowWidth = window.innerWidth\n\n window.addEventListener('resize', function(e) {\n if (window.innerWidth != windowWidth) {\n\n // Update the window width for next time\n windowWidth = window.innerWidth\n\n init();\n\n }\n });\n});\n","function clickEffect(e){\n var d=document.createElement('div');\n d.className='clicker';\n d.style.top=e.clientY+\"px\";d.style.left=e.clientX+\"px\";\n for (i=0; i<8; i++) {\n d.appendChild(document.createElement('span'));\n }\n document.body.appendChild(d);\n d.addEventListener('animationend',function(){d.parentElement.removeChild(d);}.bind(this));\n}\nconst siteByBrighter = document.querySelector('.site-by-brighter');\nif (siteByBrighter) {\n siteByBrighter.addEventListener('click', clickEffect);\n}\n","document.addEventListener('DOMContentLoaded', () => {\n\n document.querySelectorAll('.testimonials').forEach(el => {\n\n const container = el.querySelector('.testimonials__main');\n if (! container) return;\n\n const items = Array.from(container.querySelectorAll('.testimonial'));\n const navNext = el.querySelector('.testimonials__nav-btn--right');\n const navPrev = el.querySelector('.testimonials__nav-btn--left');\n var currentItem = 0;\n\n function setHeight() {\n containerHeight = 0;\n for (let i = 0; i < items.length; i++) {\n containerHeight = (items[i].offsetHeight > containerHeight) ? items[i].offsetHeight : containerHeight;\n }\n container.style.height = containerHeight + 'px';\n }\n\n function go() {\n let itemHeight = 0;\n for (let i = 0; i < items.length; i++) {\n items[i].hidden = currentItem !== i;\n if (currentItem == i) {\n // console.log(items[i].offsetHeight);\n // container.style.height = items[i].offsetHeight + 'px';\n }\n }\n }\n\n function next() {\n currentItem = (currentItem == items.length - 1) ? 0 : currentItem + 1;\n }\n\n function prev() {\n currentItem = (currentItem == 0) ? items.length - 1 : currentItem - 1;\n }\n\n navNext.addEventListener('click', (e) => {\n next();\n go();\n e.preventDefault();\n });\n\n navPrev.addEventListener('click', (e) => {\n prev();\n go();\n e.preventDefault();\n });\n\n setHeight();\n\n window.addEventListener('resize', function(event) {\n setHeight();\n }, true);\n\n });\n\n});\n"],"sourceRoot":""}