{"version":3,"sources":["bundle.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","root","factory","define","amd","Headroom","this","features","bind","classList","document","documentElement","rAF","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","Debouncer","callback","ticking","elem","options","extend","object","arguments","key","obj","result","replacement","nodeType","lastKnownScrollY","tolerance","Object","down","up","classes","offset","scroller","initialised","onPin","onUnpin","onTop","onNotTop","onBottom","onNotBottom","prototype","constructor","update","requestTick","rafCallback","handleEvent","init","cutsTheMustard","debouncer","add","initial","setTimeout","attachEvent","destroy","hasOwnProperty","remove","removeEventListener","getScrollY","addEventListener","unpin","contains","pinned","unpinned","pin","top","notTop","bottom","notBottom","undefined","pageYOffset","scrollTop","body","parentNode","getViewportHeight","innerHeight","clientHeight","getElementPhysicalHeight","elm","Math","max","offsetHeight","getScrollerPhysicalHeight","getDocumentHeight","scrollHeight","getElementHeight","getScrollerHeight","isOutOfBounds","currentScrollY","pastTop","pastBottom","toleranceExceeded","direction","abs","shouldUnpin","scrollingDown","pastOffset","shouldPin","scrollingUp","scrollDirection","2","./diversity/apps","./diversity/components","./diversity/directives","3","firstScriptTag","tag","diversityStore","Vuex","Store","state","showVideo","slidesPaused","mutations","closeVideo","loadVideo","videoId","pauseSlides","playSlides","getElementById","Vue","el","data","hero","json","quotes","statsSection","affinityGroups","globalDiversity","connect","forwardThinking","activeGroup","shouldShowQuote","shouldShowSource","shouldSlideGreenBars","shouldSlideStatLine","shouldShowStatTagline","shouldShowBottomQuote","shouldShowBottomSource","shouldSlideOrangeBars","percentComplete","player","created","createElement","src","getElementsByTagName","insertBefore","computed","stats","map","stat","min","number","tagline","$store","watch","startVideo","methods","getNumber","parseInt","openModal","group","closeModal","shouldShowModal","showQuote","message","inView","initQuote","self","showSource","initSource","slideGreenBars","slideStatLine","showStatTagline","initStatTagline","showBottomQuote","initBottomQuote","showBottomSource","initBottomSource","slideOrangeBars","countNumbers","setInterval","clearInterval","duration","pauseAndCloseVideoPlayer","commit","pauseVideo","console","log","getVideoData","video_id","loadVideoById","playVideo","YT","Player","host","frameborder","height","width","playerVars","autoplay","showinfo","events","onReady","onStateChange","store","4","./home","./read-more","./variables","5","readMore","$ReadMore","$","$trigger","find","$contentCollapsed","labelCollapsed","labelExpanded","visibility","activeClass","animationSpeed","scrollUpOnCollapse","bindEvents","_self","on","ev","preventDefault","toggleVisibility","collapseContent","expandContent","slideDown","stickyShare","attr","focus","addClass","text","slideUp","removeClass","animate","6","setupValues","mqMobile","globalVars","device","isIpad","isIphone","elementStates","headerHeight","elements","$siteHeader","isMobile","isMobileLandscape","isTabletMax","outerHeight","magicController","ScrollMagic","Controller","sceneCollection","tableLanscape","innerWidth","ceil","matchMedia","matches","addListener","changed","navigator","userAgent","match","windowResize","callbacks","running","resize","runCallbacks","forEach","push","addCallback","7","component","props","carousel","activeSlide","slideMove","mounted","interval","nextTick","nextSlide","slideLength","slides","isPaused","index","switchSlides","slideBackward","previousSlide","isInterval","afterLeave","skipToSlide","8","9","./diversity-carousel","./global-carousel","./language-menu","./navigation","./setup-fixed-header","./site-header","./toggle-menu","10","language_menu","menu","querySelector","menu_button","menu_links","querySelectorAll","menu_options","getAttribute","open_menu","close_menu","setAttribute","set_focus","11","navigation","siteheader","nav_container","search_container","nav_secondary","toggle_nav","toggle_subnav","toggle_search","which","close_nav","close_active_subnavs","close_search","close_all","pause_hero_carousel","hero_flkty","pausePlayer","unpausePlayer","get_cookie_object","cookie","search_toggle_button","search_form","search_input","open_search","blur","nav_toggle_button","open_nav","removeAttribute","sub_nav_links","sub_nav_link","bind_links","event_binding","target","close_subnav","open_subnav","currentTarget","target_subnav","nextElementSibling","link","subnav","12","animateHeaderOffset","fixedHeaderClass","rAFTicker","requestTicker","windowScrollLogic","$headerEl","13","header","search","is_nav_open","subnav_open","$siteSearchInput","query","val","landingPage","location","href","encodeURIComponent","keyCode","$peopleSearchInput","peopleLanding","$capabilitiesSearchInput","capabilitiesLanding","headroom.js","14","ToggleMenu","toggleEl","classOptions","$toggleMenu","$expandableMenu","expandableMenu","classNames","triggerClass","showOptions","navOptionsClass","selectedOptionClass","navOptions","updateToggleLabel","updateMobileLabel","$navNode","updateNavState","$navOption","parent","toggleMenu","stopPropagation","15","apply","dup","16","./scrollwatch","17","directive","sections","states","aboveScreen","aboveMiddle","belowMiddle","belowScreen","inserted","element","_ref","name","value","addScrollListeners","onScroll","unbind","_ref2","removeFromSections","removeScrollListeners","supportsPassiveListening","passive","defineProperty","get","ignore","section","oldState","getStateOf","old","new","filter","notElement","elementY","getElementY","windowTop","getWindowTop","windowMiddle","getWindowMiddle","windowBottom","getWindowBottom","getBoundingClientRect","getWindowHeight","elementBounds"],"mappings":"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","file":"bundle.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i this.getScrollerHeight();\n \n return pastTop || pastBottom;\n },\n \n /**\n * determines if the tolerance has been exceeded\n * @param {int} currentScrollY the current scroll y position\n * @return {bool} true if tolerance exceeded, false otherwise\n */\n toleranceExceeded : function (currentScrollY, direction) {\n return Math.abs(currentScrollY-this.lastKnownScrollY) >= this.tolerance[direction];\n },\n \n /**\n * determine if it is appropriate to unpin\n * @param {int} currentScrollY the current y scroll position\n * @param {bool} toleranceExceeded has the tolerance been exceeded?\n * @return {bool} true if should unpin, false otherwise\n */\n shouldUnpin : function (currentScrollY, toleranceExceeded) {\n var scrollingDown = currentScrollY > this.lastKnownScrollY,\n pastOffset = currentScrollY >= this.offset;\n \n return scrollingDown && pastOffset && toleranceExceeded;\n },\n \n /**\n * determine if it is appropriate to pin\n * @param {int} currentScrollY the current y scroll position\n * @param {bool} toleranceExceeded has the tolerance been exceeded?\n * @return {bool} true if should pin, false otherwise\n */\n shouldPin : function (currentScrollY, toleranceExceeded) {\n var scrollingUp = currentScrollY < this.lastKnownScrollY,\n pastOffset = currentScrollY <= this.offset;\n \n return (scrollingUp && toleranceExceeded) || pastOffset;\n },\n \n /**\n * Handles updating the state of the widget\n */\n update : function() {\n var currentScrollY = this.getScrollY(),\n scrollDirection = currentScrollY > this.lastKnownScrollY ? 'down' : 'up',\n toleranceExceeded = this.toleranceExceeded(currentScrollY, scrollDirection);\n \n if(this.isOutOfBounds(currentScrollY)) { // Ignore bouncy scrolling in OSX\n return;\n }\n \n if (currentScrollY <= this.offset ) {\n this.top();\n } else {\n this.notTop();\n }\n \n if(currentScrollY + this.getViewportHeight() >= this.getScrollerHeight()) {\n this.bottom();\n }\n else {\n this.notBottom();\n }\n \n if(this.shouldUnpin(currentScrollY, toleranceExceeded)) {\n this.unpin();\n }\n else if(this.shouldPin(currentScrollY, toleranceExceeded)) {\n this.pin();\n }\n \n this.lastKnownScrollY = currentScrollY;\n }\n };\n /**\n * Default options\n * @type {Object}\n */\n Headroom.options = {\n tolerance : {\n up : 0,\n down : 0\n },\n offset : 0,\n scroller: window,\n classes : {\n pinned : 'headroom--pinned',\n unpinned : 'headroom--unpinned',\n top : 'headroom--top',\n notTop : 'headroom--not-top',\n bottom : 'headroom--bottom',\n notBottom : 'headroom--not-bottom',\n initial : 'headroom'\n }\n };\n Headroom.cutsTheMustard = typeof features !== 'undefined' && features.rAF && features.bind && features.classList;\n\n return Headroom;\n}));\n},{}],2:[function(require,module,exports){\n'use strict';\n\nrequire('./diversity/directives');\nrequire('./diversity/components');\nrequire('./diversity/apps');\n\n},{\"./diversity/apps\":4,\"./diversity/components\":9,\"./diversity/directives\":16}],3:[function(require,module,exports){\n'use strict';\n\nvar diversityStore = new Vuex.Store({\n state: {\n showVideo: undefined,\n slidesPaused: undefined\n },\n mutations: {\n closeVideo: function closeVideo(state) {\n state.showVideo = undefined;\n // state.slidesPaused = undefined;\n },\n loadVideo: function loadVideo(state, videoId) {\n state.showVideo = videoId;\n state.slidesPaused = true;\n },\n pauseSlides: function pauseSlides(state) {\n state.slidesPaused = true;\n },\n playSlides: function playSlides(state) {\n state.slidesPaused = undefined;\n }\n }\n});\n\nmodule.exports = document.getElementById('homeDiversityApp') ? new Vue({\n el: '#homeDiversityApp',\n data: {\n hero: window.json.hero,\n quotes: window.json.quotes,\n statsSection: window.json.statsSection,\n affinityGroups: window.json.affinityGroups,\n globalDiversity: window.json.globalDiversity,\n connect: window.json.connect,\n forwardThinking: window.json.forwardThinking,\n activeGroup: undefined,\n shouldShowQuote: false,\n shouldShowSource: false,\n shouldSlideGreenBars: false,\n shouldSlideStatLine: false,\n shouldShowStatTagline: false,\n shouldShowBottomQuote: false,\n shouldShowBottomSource: false,\n shouldSlideOrangeBars: false,\n percentComplete: 0,\n player: undefined,\n slidesPaused: false\n },\n created: loadAPI(),\n computed: {\n stats: function stats() {\n return this.statsSection.stats.map(function (stat) {\n return {\n min: 0,\n max: stat.number,\n tagline: stat.tagline\n };\n });\n },\n showVideo: function showVideo() {\n this.slidesPaused = this.$store.state.slidesPaused;\n return this.$store.state.showVideo;\n }\n },\n watch: {\n showVideo: function showVideo() {\n if (this.showVideo !== undefined) {\n this.startVideo(this.showVideo);\n }\n }\n },\n methods: {\n getNumber: function getNumber(stat) {\n return parseInt(stat.max * this.percentComplete);\n // return parseInt(stat.min + ((stat.max - stat.min) * this.percentComplete))\n },\n openModal: function openModal(group) {\n this.activeGroup = group;\n },\n closeModal: function closeModal() {\n this.activeGroup = undefined;\n },\n shouldShowModal: function shouldShowModal() {\n return this.activeGroup != undefined;\n },\n showQuote: function showQuote(message) {\n if (this.shouldShowQuote === false && message.inView) {\n this.shouldShowQuote = true;\n }\n },\n initQuote: function initQuote(message) {\n var self = this;\n setTimeout(function () {\n self.showQuote(message);\n }, 800);\n },\n showSource: function showSource(message) {\n if (this.shouldShowSource === false && message.inView) {\n this.shouldShowSource = true;\n }\n },\n initSource: function initSource(message) {\n var self = this;\n setTimeout(function () {\n self.showSource(message);\n }, 1000);\n },\n slideGreenBars: function slideGreenBars(message) {\n if (this.shouldSlideGreenBars === false && message.inView) {\n this.shouldSlideGreenBars = true;\n }\n },\n slideStatLine: function slideStatLine(message) {\n if (this.shouldSlideStatLine === false && message.inView) {\n this.shouldSlideStatLine = true;\n }\n },\n showStatTagline: function showStatTagline(message) {\n if (this.shouldShowStatTagline === false && message.inView) {\n this.shouldShowStatTagline = true;\n }\n },\n initStatTagline: function initStatTagline(message) {\n var self = this;\n setTimeout(function () {\n self.showStatTagline(message);\n }, 1500);\n },\n showBottomQuote: function showBottomQuote(message) {\n if (this.shouldShowBottomQuote === false && message.inView) {\n this.shouldShowBottomQuote = true;\n }\n },\n initBottomQuote: function initBottomQuote(message) {\n var self = this;\n setTimeout(function () {\n self.showBottomQuote(message);\n }, 800);\n },\n showBottomSource: function showBottomSource(message) {\n if (this.shouldShowBottomSource === false && message.inView) {\n this.shouldShowBottomSource = true;\n }\n },\n initBottomSource: function initBottomSource(message) {\n var self = this;\n setTimeout(function () {\n self.showBottomSource(message);\n }, 1000);\n },\n slideOrangeBars: function slideOrangeBars(message) {\n if (this.shouldSlideOrangeBars === false && message.inView) {\n this.shouldSlideOrangeBars = true;\n }\n },\n countNumbers: function countNumbers(message) {\n var duration = 1500;\n var self = this;\n\n var addPercent = function addPercent() {\n if (self.percentComplete >= 1) {\n self.percentComplete = 1;\n clearInterval(this);\n } else {\n self.percentComplete += 0.01;\n }\n };\n\n if (this.percentComplete === 0 && message.inView) {\n setInterval(addPercent, duration / 100);\n }\n },\n pauseAndCloseVideoPlayer: function pauseAndCloseVideoPlayer() {\n this.$store.commit('closeVideo');\n if (this.player) this.player.pauseVideo();else console.log(\"No video available\");\n },\n startVideo: function startVideo(videoId) {\n if (this.player) {\n if (this.player.getVideoData().video_id !== videoId) this.player.loadVideoById(videoId);\n this.player.playVideo();\n } else {\n this.player = new YT.Player('video-iframe', {\n videoId: videoId,\n host: 'https://www.youtube.com',\n frameborder: 0,\n height: '390',\n width: '640',\n playerVars: { autoplay: 1, showinfo: 0 },\n events: {\n 'onReady': function onReady() {},\n 'onStateChange': function onStateChange() {}\n }\n });\n }\n }\n },\n store: diversityStore\n}) : undefined;\n\nfunction loadAPI() {\n var firstScriptTag;\n var tag = document.createElement('script');\n\n tag.src = 'https://www.youtube.com/iframe_api';\n firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n}\n\n},{}],4:[function(require,module,exports){\n'use strict';\n\nrequire('./home');\nrequire('./variables');\nrequire('./read-more');\n\n},{\"./home\":3,\"./read-more\":5,\"./variables\":6}],5:[function(require,module,exports){\n'use strict';\n\nvar readMore = {\n\n init: function init() {\n this.$ReadMore = $('.js-read-more');\n if (this.$ReadMore) {\n this.$trigger = this.$ReadMore.find('.js-toggle-btn');\n this.$contentCollapsed = this.$ReadMore.find('.js-full-copy');\n this.labelCollapsed = this.$contentCollapsed.data('label-more');\n this.labelExpanded = this.$contentCollapsed.data('label-less');\n this.visibility = false;\n this.activeClass = 'is-expanded';\n this.animationSpeed = 350;\n this.scrollUpOnCollapse = false;\n\n this.bindEvents();\n }\n },\n bindEvents: function bindEvents() {\n\n var _self = this;\n\n this.scrollUpOnCollapse = this.$ReadMore.data('scroll-on-collapse');\n\n _self.$trigger.on('click', function (ev) {\n ev.preventDefault();\n\n _self.toggleVisibility();\n });\n },\n toggleVisibility: function toggleVisibility() {\n this.visibility === true ? this.collapseContent() : this.expandContent();\n },\n expandContent: function expandContent() {\n this.visibility = true;\n\n this.$contentCollapsed.slideDown(this.animationSpeed, function () {\n if (window.stickyShare !== undefined) {\n window.stickyShare.update();\n }\n }).attr('aria-expanded', true).attr('aria-hidden', false).attr('tabindex', -1).focus();\n\n this.$trigger.addClass(this.activeClass).attr('aria-expanded', true).find('.btn-ghost-label').text(this.labelExpanded);\n },\n collapseContent: function collapseContent() {\n\n var _self = this;\n\n this.visibility = false;\n\n this.$contentCollapsed.slideUp(this.animationSpeed, function () {\n if (window.stickyShare !== undefined) {\n window.stickyShare.update();\n }\n }).attr('aria-expanded', false).attr('aria-hidden', true).attr('tabindex', -1);\n\n this.$trigger.removeClass(this.activeClass).attr('aria-expanded', false).find('.btn-ghost-label').text(_self.labelCollapsed);\n\n if (this.scrollUpOnCollapse) {\n $('body,html').animate({ scrollTop: this.$ReadMore.offset().top }, this.animationSpeed);\n }\n }\n};\n\nreadMore.init();\n\nmodule.exports = readMore;\n\n},{}],6:[function(require,module,exports){\n'use strict';\n\nvar globalVars = {\n\n device: {\n isIpad: null,\n isIphone: null\n },\n\n elementStates: {\n headerHeight: null\n },\n\n elements: {\n $siteHeader: $('.js-site-header')\n },\n\n isMobile: false,\n isMobileLandscape: false,\n isTabletMax: false\n};\n\nvar setupValues,\n\n//responsive media query function\nmqMobile;\n\nglobalVars.elementStates = {\n headerHeight: globalVars.elements.$siteHeader.outerHeight()\n};\n\n//setup globalMagicController\nglobalVars.magicController = new ScrollMagic.Controller();\n\nglobalVars.sceneCollection = {};\n\nsetupValues = function setupValues(tableLanscape) {\n\n globalVars.tableLanscape = tableLanscape;\n globalVars.isTabletMax = window.innerWidth < 901 ? true : false;\n globalVars.isMobile = window.innerWidth < 767 ? true : false;\n globalVars.isMobileLandscape = window.innerWidth < 630 ? true : false;\n\n globalVars.elementStates.headerHeight = Math.ceil(globalVars.elements.$siteHeader.outerHeight());\n};\n\n//make sure this matches css\nmqMobile = window.matchMedia('(max-width: 1024px)');\n\nmqMobile.matches ? setupValues(true) : setupValues(false);\n\nmqMobile.addListener(function (changed) {\n changed.matches ? setupValues(true) : setupValues(false);\n});\n\nnavigator.userAgent.match(/iPhone/i) ? globalVars.device.isIphone = true : globalVars.device.isIphone = false;\nnavigator.userAgent.match(/iPod/i) ? globalVars.device.isIpad = true : globalVars.device.isIpad = false;\n\nglobalVars.windowResize = function () {\n\n var callbacks = [],\n running = false;\n\n // fired on resize event\n function resize() {\n\n if (!running) {\n running = true;\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(runCallbacks);\n } else {\n setTimeout(runCallbacks, 66);\n }\n }\n }\n\n // run the actual callbacks\n function runCallbacks() {\n\n callbacks.forEach(function (callback) {\n callback();\n });\n\n running = false;\n }\n\n // adds callback to loop\n function addCallback(callback) {\n\n if (callback) {\n callbacks.push(callback);\n }\n }\n\n return {\n // public method to add additional callback\n add: function add(callback) {\n if (!callbacks.length) {\n window.addEventListener('resize', resize);\n }\n addCallback(callback);\n }\n };\n}();\n\nmodule.exports = globalVars;\n\n},{}],7:[function(require,module,exports){\n'use strict';\n\nVue.component('diversity-carousel', {\n props: [\"interval\"],\n data: function data() {\n return {\n carousel: window.json.carousel,\n activeSlide: 0,\n slideMove: 'forward'\n };\n },\n mounted: function mounted() {\n var self = this;\n if (this.interval >= 500) {\n setInterval(function () {\n Vue.nextTick(function () {\n self.nextSlide(true);\n });\n }, this.interval);\n }\n },\n computed: {\n slideLength: function slideLength() {\n return this.carousel.slides.length;\n },\n isPaused: function isPaused() {\n return this.$store.state.slidesPaused;\n }\n },\n methods: {\n activeClass: function activeClass(index) {\n return this.activeSlide ? true : false;\n },\n switchSlides: function switchSlides(slideBackward) {\n slideBackward = slideBackward ? slideBackward : false;\n this.$store.commit('pauseSlides');\n if (slideBackward) {\n this.previousSlide();\n } else {\n this.nextSlide();\n }\n },\n nextSlide: function nextSlide(isInterval) {\n if (!this.isPaused || !isInterval) {\n this.slideMove = 'forward';\n this.activeSlide + 1 == this.slideLength ? this.activeSlide = 0 : this.activeSlide++;\n }\n },\n previousSlide: function previousSlide() {\n this.slideMove = 'backward';\n\n this.activeSlide == 0 ? this.activeSlide = this.slideLength - 1 : this.activeSlide--;\n },\n playVideo: function playVideo(videoId) {\n this.$store.commit('loadVideo', videoId);\n },\n afterLeave: function afterLeave(el) {\n //force class removal\n el.classList.remove('slide-leave-to');\n },\n pauseVideo: function pauseVideo() {\n if (this.isPaused) {\n this.$store.commit('playSlides');\n } else {\n this.$store.commit('pauseSlides');\n }\n },\n skipToSlide: function skipToSlide(index) {\n this.$store.commit('pauseSlides');\n this.activeSlide = index;\n }\n }\n});\n\n},{}],8:[function(require,module,exports){\n'use strict';\n\nVue.component('globalCarousel', {\n props: [\"interval\"],\n data: function data() {\n return {\n globalDiversity: window.json.globalDiversity,\n activeSlide: 0,\n slideMove: 'forward'\n };\n },\n mounted: function mounted() {\n var self = this;\n if (this.interval >= 500) {\n setInterval(function () {\n self.nextSlide();\n }, this.interval);\n }\n },\n computed: {\n slideLength: function slideLength() {\n return this.globalDiversity.slides.length;\n }\n },\n methods: {\n activeClass: function activeClass(index) {\n return this.activeSlide ? true : false;\n },\n nextSlide: function nextSlide() {\n this.slideMove = 'forward';\n\n this.activeSlide + 1 == this.slideLength ? this.activeSlide = 0 : this.activeSlide++;\n },\n previousSlide: function previousSlide() {\n this.slideMove = 'backward';\n\n this.activeSlide == 0 ? this.activeSlide = this.slideLength - 1 : this.activeSlide--;\n }\n }\n});\n\n},{}],9:[function(require,module,exports){\n'use strict';\n\nrequire('./diversity-carousel');\nrequire('./global-carousel');\nrequire('./site-header');\nrequire('./variables');\nrequire('./setup-fixed-header');\nrequire('./toggle-menu');\nrequire('./navigation');\nrequire('./language-menu');\n\n},{\"./diversity-carousel\":7,\"./global-carousel\":8,\"./language-menu\":10,\"./navigation\":11,\"./setup-fixed-header\":12,\"./site-header\":13,\"./toggle-menu\":14,\"./variables\":15}],10:[function(require,module,exports){\n'use strict';\n\nvar language_menu = {\n\n init: function init() {\n this.menu = document.querySelector('.js-language-menu');\n this.menu_button = document.querySelector('.js-language-menu__button');\n this.menu_links = document.querySelectorAll('.language-menu__link');\n this.menu_options = document.querySelector('.language-menu__options');\n\n if (!this.menu || !this.menu_button) {\n return;\n }\n\n this.menu_button.addEventListener('click', function (e) {\n e.preventDefault();\n\n if (language_menu.menu_options.getAttribute('aria-hidden') === 'true') {\n language_menu.open_menu();\n } else {\n language_menu.close_menu();\n }\n });\n },\n\n open_menu: function open_menu() {\n this.menu.classList.add('is-open');\n this.menu_options.setAttribute('aria-hidden', false);\n this.menu_button.setAttribute('aria-expanded', true);\n this.set_focus('0');\n },\n\n close_menu: function close_menu() {\n this.menu.classList.remove('is-open');\n this.menu_options.setAttribute('aria-hidden', true);\n this.menu_button.setAttribute('aria-expanded', false);\n this.set_focus('-1');\n },\n\n set_focus: function set_focus(state) {\n\n for (var i = 0; i < this.menu_links.length; i++) {\n var link = this.menu_links[i];\n var tabindex = link.setAttribute('tabindex', state);\n }\n }\n};\n\nlanguage_menu.init();\n\nmodule.exports = language_menu;\n\n},{}],11:[function(require,module,exports){\n'use strict';\n\nvar navigation = {\n\n init: function init() {\n this.siteheader = document.querySelector('.siteheader');\n this.nav_container = document.querySelector('.nav');\n this.search_container = document.querySelector('.globalsearch');\n this.nav_secondary = document.querySelector('#nav-secondary');\n\n if (!this.nav_container) {\n return;\n }\n\n this.toggle_nav.init();\n this.toggle_subnav.init();\n this.toggle_search.init();\n\n //esc key event\n document.addEventListener('keyup', function (e) {\n if (e.which === 27) {\n navigation.toggle_nav.close_nav();\n navigation.toggle_subnav.close_active_subnavs();\n navigation.toggle_search.close_search();\n }\n });\n },\n\n close_all: function close_all() {\n navigation.toggle_nav.close_nav();\n navigation.toggle_subnav.close_active_subnavs();\n navigation.toggle_search.close_search();\n },\n\n pause_hero_carousel: function pause_hero_carousel(state) {\n\n if (window.hero_flkty) {\n if (state) {\n window.hero_flkty.pausePlayer();\n } else {\n window.hero_flkty.unpausePlayer();\n }\n }\n },\n\n get_cookie_object: function get_cookie_object() {\n if (!this.cookie) {\n this.cookie = document.querySelector('#usercentrics-button');\n }\n },\n\n toggle_search: {\n\n init: function init() {\n\n this.search_toggle_button = document.querySelector('.js-search-toggle');\n this.search_form = document.querySelector('.js-globalsearch__form');\n this.search_input = document.querySelector('#global-search-box');\n\n if (!navigation.search_container) {\n return;\n }\n\n this.search_toggle_button.addEventListener('click', function (e) {\n e.preventDefault();\n\n if (navigation.search_container.classList.contains('is-open')) {\n navigation.toggle_search.close_search();\n } else {\n navigation.toggle_search.open_search();\n navigation.toggle_search.search_toggle_button.blur();\n }\n });\n },\n\n open_search: function open_search() {\n\n this.search_toggle_button.classList.add('is-active');\n navigation.search_container.classList.add('is-open');\n\n // set focus\n this.search_input.focus();\n\n // set aria\n this.search_form.setAttribute('aria-hidden', 'false');\n this.search_toggle_button.setAttribute('aria-expanded', 'true');\n\n // close subnav and secondary navs\n navigation.toggle_subnav.close_active_subnavs();\n navigation.toggle_nav.close_nav();\n\n // pause carousel\n navigation.pause_hero_carousel(true);\n },\n\n close_search: function close_search() {\n\n this.search_toggle_button.classList.remove('is-active');\n this.search_toggle_button.blur();\n\n // set aria\n this.search_form.setAttribute('aria-hidden', 'true');\n this.search_toggle_button.setAttribute('aria-expanded', 'false');\n\n if (navigation.search_container) {\n navigation.search_container.classList.remove('is-open');\n }\n\n // un pause carousel\n navigation.pause_hero_carousel(false);\n }\n },\n\n toggle_nav: {\n\n init: function init() {\n\n this.nav_toggle_button = document.querySelector('.js-nav-toggle');\n\n if (!this.nav_toggle_button) {\n return;\n }\n\n this.nav_toggle_button.addEventListener('click', function (e) {\n e.preventDefault();\n\n if (navigation.nav_container.classList.contains('is-open')) {\n navigation.toggle_nav.close_nav();\n } else {\n navigation.toggle_nav.open_nav();\n }\n });\n },\n\n open_nav: function open_nav() {\n\n this.nav_toggle_button.classList.add('is-active');\n // navigation.nav_container.classList.add('nav--has-transition');\n navigation.nav_container.classList.add('is-open');\n\n // set focus\n if (window.matchMedia && window.matchMedia('(min-width: 1200px)').matches) {\n navigation.nav_secondary.setAttribute('tabindex', '-1');\n navigation.nav_secondary.focus();\n } else if (window.matchMedia && window.matchMedia('(max-width: 1000px)').matches) {\n navigation.get_cookie_object();\n navigation.cookie.classList.add('hide-cookie');\n }\n\n // close subnavs\n navigation.toggle_subnav.close_active_subnavs();\n\n // close search\n navigation.toggle_search.close_search();\n\n // pause carousel\n navigation.pause_hero_carousel(true);\n },\n\n close_nav: function close_nav() {\n\n if (!this.nav_toggle_button) {\n return;\n }\n\n this.nav_toggle_button.classList.remove('is-active');\n // navigation.nav_container.classList.remove('nav--has-transition');\n navigation.nav_container.classList.remove('is-open');\n navigation.nav_secondary.removeAttribute('tabindex');\n\n if (window.matchMedia && window.matchMedia('(max-width: 1000px)').matches) {\n navigation.get_cookie_object();\n navigation.cookie.classList.remove('hide-cookie');\n }\n\n // un pause carousel\n navigation.pause_hero_carousel(false);\n }\n },\n\n toggle_subnav: {\n\n init: function init() {\n this.sub_nav_links = document.querySelectorAll('.js-nav-has-subnav');\n\n //sub nav link event\n for (var i = 0; i < this.sub_nav_links.length; i++) {\n var sub_nav_link = this.sub_nav_links[i];\n navigation.toggle_subnav.bind_links(sub_nav_link);\n }\n },\n\n bind_links: function bind_links(sub_nav_link) {\n\n var event_binding = function event_binding(target) {\n // this.close_active_subnavs(target);\n // this.open_subnav(target);\n\n if (target.classList.contains('is-active')) {\n navigation.toggle_subnav.close_subnav(target);\n } else {\n navigation.toggle_subnav.open_subnav(target);\n }\n };\n\n sub_nav_link.addEventListener('click', function (e) {\n var target = e.currentTarget;\n\n if (window.matchMedia && window.matchMedia('(min-width: 1200px)').matches) {\n e.preventDefault();\n event_binding(target);\n }\n });\n\n sub_nav_link.addEventListener('keydown', function (e) {\n var target = e.currentTarget;\n\n if (e.which !== 32) {\n return;\n }\n\n if (window.matchMedia && window.matchMedia('(min-width: 1200px)').matches) {\n e.preventDefault();\n event_binding(target);\n }\n });\n },\n\n open_subnav: function open_subnav(target) {\n var target_subnav = target.nextElementSibling;\n\n // close secondary nav\n navigation.toggle_nav.close_nav();\n\n // close search\n navigation.toggle_search.close_search();\n\n // close open subnavs\n navigation.toggle_subnav.close_active_subnavs(target);\n\n // open subnav\n target.classList.add('is-active');\n target_subnav.classList.add('is-open');\n\n // pause carousel\n navigation.pause_hero_carousel(true);\n },\n\n close_subnav: function close_subnav(target) {\n var target_subnav = target.nextElementSibling;\n\n // close subnav\n target.blur();\n target.classList.remove('is-active');\n target_subnav.classList.remove('is-open');\n\n // unpause carousel\n navigation.pause_hero_carousel(false);\n },\n\n close_active_subnavs: function close_active_subnavs(target) {\n // close open subnavs\n for (var i = 0; i < this.sub_nav_links.length; i++) {\n\n var link = this.sub_nav_links[i];\n\n if (target !== link) {\n var subnav = link.nextElementSibling;\n link.classList.remove('is-active');\n subnav.classList.remove('is-open');\n link.blur();\n }\n }\n }\n }\n};\n\nnavigation.init();\n\nmodule.exports = navigation;\n\n},{}],12:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function () {\n\n var $siteHeader, animateHeaderOffset, pageOffset, fixedHeaderClass, rAFTicker;\n\n //pull in global vars\n\n fixedHeaderClass = 'setup-fixed-header';\n\n /*=============================================\r\n = REquestion animation Frame =\r\n =============================================*/\n function setupWindowOffsets() {\n animateHeaderOffset = 500;\n }\n\n function attachScrollEvent() {\n // only listen for scroll events\n window.addEventListener('scroll', requestTicker, false);\n }\n\n function removeScrollEvent() {\n //remove ScrollEvent\n window.removeEventListener('scroll', requestTicker, false);\n }\n\n function requestTicker() {\n if (!rAFTicker) {\n requestAnimationFrame(windowScrollLogic);\n rAFTicker = true;\n }\n }\n\n function windowScrollLogic() {\n pageOffset = window.pageYOffset;\n\n if (pageOffset >= animateHeaderOffset) {\n $siteHeader.addClass(fixedHeaderClass);\n } else {\n $siteHeader.removeClass(fixedHeaderClass);\n }\n\n rAFTicker = false;\n }\n\n return {\n //method to initialize script\n init: function init($headerEl) {\n $siteHeader = $headerEl;\n\n setupWindowOffsets();\n attachScrollEvent();\n }\n };\n}();\n\n},{}],13:[function(require,module,exports){\n'use strict';\n\nwindow.Headroom = require('headroom.js');\n\nvar header = {\n\n init: function init() {\n this.siteheader = document.querySelector('.siteheader');\n this.navigation = document.querySelector('#site-navigation');\n this.search = document.querySelector('.globalsearch');\n\n if (!this.siteheader) {\n return;\n }\n\n var headroom = new Headroom(this.siteheader, {\n offset: 300,\n classes: {\n initial: 'siteheader--headroom',\n pinned: 'siteheader--pinned',\n unpinned: 'siteheader--unpinned',\n top: 'siteheader--top',\n notTop: 'siteheader--not-top',\n bottom: 'siteheader--bottom',\n notBottom: 'siteheader--not-bottom'\n },\n onUnpin: function onUnpin() {\n //close all nav items\n\n if (header.is_nav_open()) {\n //don't unpin if nav/subnav or search is open\n this.elem.classList.remove(this.classes.unpinned);\n this.elem.classList.add(this.classes.pinned);\n } else {\n this.elem.classList.add(this.classes.unpinned);\n this.elem.classList.remove(this.classes.pinned);\n }\n },\n tolerance: {\n up: 5,\n down: 0\n }\n });\n headroom.init();\n },\n is_nav_open: function is_nav_open() {\n\n var subnav_open = document.querySelector('.nav__sub.is-open');\n\n // test nav\n if (this.navigation.classList.contains('is-open')) {\n return true;\n } else if (this.search.classList.contains('is-open')) {\n return true;\n } else if (subnav_open) {\n return true;\n } else {\n return false;\n }\n }\n};\n\nvar $siteSearchInput = $('#global-search-box');\nvar $siteSearchButton = $('#global-search-button');\n\n$siteSearchButton.on('click', function () {\n var query = $siteSearchInput.val();\n var landingPage = $siteSearchInput.attr('data-landing');\n window.location.href = landingPage + '?query=' + encodeURIComponent(query);\n return false;\n});\n\n$siteSearchInput.on('keyup', function (e) {\n if (e.keyCode == 13) {\n var query = $siteSearchInput.val();\n var landingPage = $siteSearchInput.attr('data-landing');\n window.location.href = landingPage + '?query=' + encodeURIComponent(query);\n return false;\n }\n});\n\nvar $peopleSearchInput = $('#people-search-input');\nvar $peopleSearchButton = $('#people-search-button');\n\n$peopleSearchButton.on('click', function () {\n var query = $peopleSearchInput.val();\n var peopleLanding = $peopleSearchInput.attr('data-landing');\n window.location.href = peopleLanding + '?keyword=' + encodeURIComponent(query);\n return false;\n});\n\n$peopleSearchInput.on('keyup', function (e) {\n if (e.keyCode == 13) {\n var query = $peopleSearchInput.val();\n var peopleLanding = $peopleSearchInput.attr('data-landing');\n window.location.href = peopleLanding + '?keyword=' + encodeURIComponent(query);\n return false;\n }\n});\n\nvar $capabilitiesSearchInput = $('#capabilities-search-input');\nvar $capabilitiesSearchButton = $('#capabilities-search-button');\n\n$capabilitiesSearchButton.on('click', function () {\n var query = $capabilitiesSearchInput.val();\n var capabilitiesLanding = $capabilitiesSearchInput.attr('data-landing');\n window.location.href = capabilitiesLanding + '?page=1&scroll=550&keyword=' + encodeURIComponent(query);\n return false;\n});\n\n$capabilitiesSearchInput.on('keyup', function (e) {\n if (e.keyCode == 13) {\n var query = $capabilitiesSearchInput.val();\n var capabilitiesLanding = $capabilitiesSearchInput.attr('data-landing');\n window.location.href = capabilitiesLanding + '?page=1&scroll=550&keyword=' + encodeURIComponent(query);\n return false;\n }\n});\n\nheader.init();\n\nmodule.exports = header;\n\n},{\"headroom.js\":1}],14:[function(require,module,exports){\n'use strict';\n\nfunction ToggleMenu(toggleEl, classOptions) {\n\n this.$toggleMenu = toggleEl;\n this.$expandableMenu = this.$toggleMenu.find('.' + classOptions.expandableMenu);\n\n this.classNames = classOptions || {\n triggerClass: 'js-trigger',\n expandableMenu: 'js-menu',\n showOptions: 'show-menu',\n navOptionsClass: 'js-option',\n selectedOptionClass: 'is-selected',\n navOptions: 'js-nav',\n updateToggleLabel: false\n };\n\n this.bindEvents();\n}\n\nToggleMenu.prototype.updateMobileLabel = function mobileLabel($navNode) {\n this.$toggleMenu.find('.' + this.classNames.triggerClass).text($navNode.text());\n};\n\nToggleMenu.prototype.updateNavState = function updateClasses($navOption) {\n\n this.$toggleMenu.find('.' + this.classNames.selectedOptionClass).removeClass(this.classNames.selectedOptionClass);\n\n $navOption.parent().addClass(this.classNames.selectedOptionClass);\n\n if (this.classNames.updateToggleLabel) {\n\n this.updateMobileLabel($navOption);\n }\n};\n\nToggleMenu.prototype.toggleMenu = function toggleMenu() {\n var _self = this;\n\n if (_self.$toggleMenu.data('is-expanded')) {\n\n _self.$toggleMenu.removeClass(_self.classNames.showOptions);\n\n _self.$toggleMenu.attr('aria-expanded', false).data('is-expanded', false);\n\n var $trigger = $('.' + _self.classNames.triggerClass);\n $trigger.attr('aria-expanded', false);\n\n var $expandableMenu = $('.' + _self.classNames.expandableMenu);\n $expandableMenu.attr('aria-hidden', true);\n\n var $navOptions = $('.' + _self.classNames.navOptions);\n $navOptions.attr('tabindex', -1);\n } else {\n _self.$toggleMenu.addClass(_self.classNames.showOptions);\n\n _self.$toggleMenu.attr('aria-expanded', true).data('is-expanded', true);\n\n var $trigger = $('.' + _self.classNames.triggerClass);\n $trigger.attr('aria-expanded', true);\n\n var $expandableMenu = $('.' + _self.classNames.expandableMenu);\n $expandableMenu.attr('aria-hidden', false);\n\n var $navOptions = $('.' + _self.classNames.navOptions);\n $navOptions.attr('tabindex', 1);\n }\n};\n\nToggleMenu.prototype.bindEvents = function bind() {\n var _self = this;\n\n //set data attribute to keep track of if toggle is expanded or not\n if (typeof _self.$toggleMenu.data('is-expanded') === 'undefined') {\n\n _self.$toggleMenu.data('is-expanded', false);\n }\n\n if (_self.$toggleMenu.data('is-expanded')) {\n\n //set active class if expanded by default\n _self.$toggleMenu.addClass(_self.classNames.showOptions);\n }\n\n //Initialize event listeners to the toggle button and navigation items\n _self.$toggleMenu.on('click.toggleMenu', '.' + _self.classNames.triggerClass, function (ev) {\n ev.stopPropagation();\n\n _self.toggleMenu();\n });\n\n if (_self.classNames.navOptionsClass) {\n _self.$toggleMenu.on('click.toggleMenuButtons', '.' + _self.classNames.navOptionsClass, function (ev) {\n ev.stopPropagation();\n\n _self.toggleMenu();\n _self.updateNavState($(this));\n });\n }\n};\n\nmodule.exports = ToggleMenu;\n\n},{}],15:[function(require,module,exports){\narguments[4][6][0].apply(exports,arguments)\n},{\"dup\":6}],16:[function(require,module,exports){\n'use strict';\n\nrequire('./scrollwatch');\n\n},{\"./scrollwatch\":17}],17:[function(require,module,exports){\n'use strict';\n\nVue.directive('scrollwatch', {\n data: {\n sections: [],\n states: {\n aboveScreen: 'aboveScreen',\n aboveMiddle: 'aboveMiddle',\n belowMiddle: 'belowMiddle',\n belowScreen: 'belowScreen'\n }\n },\n inserted: function inserted(element, _ref) {\n var name = _ref.name,\n value = _ref.value;\n\n var self = Vue.directive(name);\n\n if (self.data.sections.length === 0) {\n self.addScrollListeners();\n }\n\n self.data.sections.push({\n element: element,\n onStateChange: value,\n state: undefined\n });\n\n self.onScroll();\n },\n unbind: function unbind(element, _ref2) {\n var name = _ref2.name;\n\n var self = Vue.directive(name);\n\n self.removeFromSections(element);\n\n if (self.data.sections.length === 0) {\n self.removeScrollListeners();\n }\n },\n addScrollListeners: function addScrollListeners() {\n window.addEventListener('scroll', this.onScroll, this.supportsPassiveListening() ? { passive: true } : false);\n },\n removeScrollListeners: function removeScrollListeners() {\n window.removeEventListener('scroll', this.onScroll);\n },\n supportsPassiveListening: function supportsPassiveListening() {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', { get: function get() {\n return true;\n } }));\n return true;\n } catch (ignore) {\n return false;\n }\n },\n onScroll: function onScroll() {\n var self = Vue.directive('scrollwatch');\n\n self.data.sections.forEach(function (section) {\n var oldState = section.state;\n section.state = self.getStateOf(section.element);\n\n if (section.state !== oldState) {\n section.onStateChange({\n old: oldState,\n new: section.state,\n el: section.element,\n inView: self.inView(section.element)\n });\n }\n });\n },\n removeFromSections: function removeFromSections(element) {\n this.data.sections = this.data.sections.filter(this.notElement(element));\n },\n\n notElement: function notElement(element) {\n return function (section) {\n return section.element !== element;\n };\n },\n getStateOf: function getStateOf(element) {\n var elementY = this.getElementY(element);\n var windowTop = this.getWindowTop();\n var windowMiddle = this.getWindowMiddle();\n var windowBottom = this.getWindowBottom();\n var states = this.data.states;\n\n return elementY > windowBottom ? states.belowScreen : elementY > windowMiddle ? states.belowMiddle : elementY > windowTop ? states.aboveMiddle : states.aboveScreen;\n },\n getElementY: function getElementY(element) {\n return element.getBoundingClientRect().top + this.getWindowTop();\n },\n getWindowTop: function getWindowTop() {\n return window.pageYOffset;\n },\n getWindowMiddle: function getWindowMiddle() {\n return this.getWindowTop() + this.getWindowHeight() / 2;\n },\n getWindowBottom: function getWindowBottom() {\n return this.getWindowTop() + this.getWindowHeight();\n },\n getWindowHeight: function getWindowHeight() {\n return window.innerHeight;\n },\n inView: function inView(element) {\n var elementBounds = element.getBoundingClientRect();\n return elementBounds.bottom > 0 && elementBounds.top < this.getWindowHeight();\n }\n});\n\n},{}]},{},[2]);\n"]}