{"version":3,"file":"js/application-bc64fc59f435c4b5683d.js","mappings":"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","sources":["webpack://app/./app/frontend/images/ sync \\.(svg%7Cpng%7Cjpg)$","webpack://app/./app/frontend/images/index.js","webpack://app/./app/frontend/javascripts/welcome.js","webpack://app/./app/frontend/javascripts/menu.js","webpack://app/./app/frontend/javascripts/implication.js","webpack://app/./app/frontend/javascripts/services.js","webpack://app/./app/frontend/javascripts/team.js","webpack://app/./app/frontend/javascripts/partners.js","webpack://app/./app/frontend/javascripts/contact.js","webpack://app/./app/frontend/javascripts/main.js"],"sourcesContent":["var map = {\n\t\"./apple-touch-icon.png\": 5950,\n\t\"./favicon-16x16.png\": 8737,\n\t\"./favicon-32x32.png\": 2977,\n\t\"./hero-2.jpg\": 3207,\n\t\"./hero.jpg\": 8418,\n\t\"./icons/arrow-down.svg\": 3176,\n\t\"./icons/download.svg\": 2400,\n\t\"./icons/hamburger.svg\": 9029,\n\t\"./icons/home.svg\": 3237,\n\t\"./icons/x.svg\": 1160,\n\t\"./implications/implication-0.jpg\": 7465,\n\t\"./implications/implication-1.jpg\": 9676,\n\t\"./implications/implication-2.jpg\": 6123,\n\t\"./implications/implication-3.jpg\": 5966,\n\t\"./implications/implication-4.jpg\": 8853,\n\t\"./implications/implication-5.jpg\": 1240,\n\t\"./implications/implication-6.jpg\": 9911,\n\t\"./implications/implication-7.jpg\": 1626,\n\t\"./michel-antoine.jpg\": 6509,\n\t\"./mood/what-we-do.jpg\": 7051,\n\t\"./mood/who-we-are.jpg\": 7644,\n\t\"./mosaic-2.jpg\": 2731,\n\t\"./mosaic.jpg\": 6734,\n\t\"./partners/agnico-eagle.png\": 6118,\n\t\"./partners/alamos-gold.png\": 6452,\n\t\"./partners/arcelor-mittal.png\": 8248,\n\t\"./partners/asbestos.png\": 8084,\n\t\"./partners/asdr.png\": 5566,\n\t\"./partners/bagama.png\": 7769,\n\t\"./partners/barr.png\": 1751,\n\t\"./partners/barrick.png\": 124,\n\t\"./partners/bgm.png\": 316,\n\t\"./partners/black-iron.png\": 2576,\n\t\"./partners/bumigeb.png\": 4715,\n\t\"./partners/cameco.png\": 3296,\n\t\"./partners/canadian-royalties.png\": 9428,\n\t\"./partners/century.png\": 8330,\n\t\"./partners/cima.png\": 6002,\n\t\"./partners/cliffs.png\": 9373,\n\t\"./partners/detour-gold.png\": 8028,\n\t\"./partners/eldorado-gold.png\": 9581,\n\t\"./partners/goldcorp.png\": 6218,\n\t\"./partners/greenstone.png\": 1892,\n\t\"./partners/iamgold.png\": 355,\n\t\"./partners/imperial.png\": 9803,\n\t\"./partners/jeffrey.png\": 9907,\n\t\"./partners/kinross.png\": 5211,\n\t\"./partners/mason-graphite.png\": 575,\n\t\"./partners/metonor.png\": 20,\n\t\"./partners/mfq.png\": 7324,\n\t\"./partners/mine-canadian-calartic.png\": 5037,\n\t\"./partners/mine-raglan.png\": 8423,\n\t\"./partners/nal-catl.png\": 1862,\n\t\"./partners/nantou.png\": 4437,\n\t\"./partners/niobec.png\": 1540,\n\t\"./partners/nordgold.png\": 8385,\n\t\"./partners/noront.png\": 7490,\n\t\"./partners/nouveau-monde.png\": 4481,\n\t\"./partners/nyrstar.png\": 5253,\n\t\"./partners/orezone.png\": 3527,\n\t\"./partners/osisko.png\": 5000,\n\t\"./partners/pierres-steatites.png\": 3961,\n\t\"./partners/potash-corp.png\": 5082,\n\t\"./partners/rio-tinto-ioc.png\": 1437,\n\t\"./partners/rio-tinto.png\": 5601,\n\t\"./partners/robex.png\": 4396,\n\t\"./partners/semafo.png\": 3863,\n\t\"./partners/sirios.png\": 7601,\n\t\"./partners/snc-lavalin.png\": 2524,\n\t\"./partners/srg-graphite.png\": 2251,\n\t\"./partners/tacora.png\": 3984,\n\t\"./partners/wesdome.png\": 2104,\n\t\"./partners/wsp.png\": 6664,\n\t\"./silhouette.png\": 6192,\n\t\"./soutex.svg\": 6639,\n\t\"./team/michel-bourassa.jpg\": 9869,\n\t\"images/apple-touch-icon.png\": 5950,\n\t\"images/favicon-16x16.png\": 8737,\n\t\"images/favicon-32x32.png\": 2977,\n\t\"images/hero-2.jpg\": 3207,\n\t\"images/hero.jpg\": 8418,\n\t\"images/icons/arrow-down.svg\": 3176,\n\t\"images/icons/download.svg\": 2400,\n\t\"images/icons/hamburger.svg\": 9029,\n\t\"images/icons/home.svg\": 3237,\n\t\"images/icons/x.svg\": 1160,\n\t\"images/implications/implication-0.jpg\": 7465,\n\t\"images/implications/implication-1.jpg\": 9676,\n\t\"images/implications/implication-2.jpg\": 6123,\n\t\"images/implications/implication-3.jpg\": 5966,\n\t\"images/implications/implication-4.jpg\": 8853,\n\t\"images/implications/implication-5.jpg\": 1240,\n\t\"images/implications/implication-6.jpg\": 9911,\n\t\"images/implications/implication-7.jpg\": 1626,\n\t\"images/michel-antoine.jpg\": 6509,\n\t\"images/mood/what-we-do.jpg\": 7051,\n\t\"images/mood/who-we-are.jpg\": 7644,\n\t\"images/mosaic-2.jpg\": 2731,\n\t\"images/mosaic.jpg\": 6734,\n\t\"images/partners/agnico-eagle.png\": 6118,\n\t\"images/partners/alamos-gold.png\": 6452,\n\t\"images/partners/arcelor-mittal.png\": 8248,\n\t\"images/partners/asbestos.png\": 8084,\n\t\"images/partners/asdr.png\": 5566,\n\t\"images/partners/bagama.png\": 7769,\n\t\"images/partners/barr.png\": 1751,\n\t\"images/partners/barrick.png\": 124,\n\t\"images/partners/bgm.png\": 316,\n\t\"images/partners/black-iron.png\": 2576,\n\t\"images/partners/bumigeb.png\": 4715,\n\t\"images/partners/cameco.png\": 3296,\n\t\"images/partners/canadian-royalties.png\": 9428,\n\t\"images/partners/century.png\": 8330,\n\t\"images/partners/cima.png\": 6002,\n\t\"images/partners/cliffs.png\": 9373,\n\t\"images/partners/detour-gold.png\": 8028,\n\t\"images/partners/eldorado-gold.png\": 9581,\n\t\"images/partners/goldcorp.png\": 6218,\n\t\"images/partners/greenstone.png\": 1892,\n\t\"images/partners/iamgold.png\": 355,\n\t\"images/partners/imperial.png\": 9803,\n\t\"images/partners/jeffrey.png\": 9907,\n\t\"images/partners/kinross.png\": 5211,\n\t\"images/partners/mason-graphite.png\": 575,\n\t\"images/partners/metonor.png\": 20,\n\t\"images/partners/mfq.png\": 7324,\n\t\"images/partners/mine-canadian-calartic.png\": 5037,\n\t\"images/partners/mine-raglan.png\": 8423,\n\t\"images/partners/nal-catl.png\": 1862,\n\t\"images/partners/nantou.png\": 4437,\n\t\"images/partners/niobec.png\": 1540,\n\t\"images/partners/nordgold.png\": 8385,\n\t\"images/partners/noront.png\": 7490,\n\t\"images/partners/nouveau-monde.png\": 4481,\n\t\"images/partners/nyrstar.png\": 5253,\n\t\"images/partners/orezone.png\": 3527,\n\t\"images/partners/osisko.png\": 5000,\n\t\"images/partners/pierres-steatites.png\": 3961,\n\t\"images/partners/potash-corp.png\": 5082,\n\t\"images/partners/rio-tinto-ioc.png\": 1437,\n\t\"images/partners/rio-tinto.png\": 5601,\n\t\"images/partners/robex.png\": 4396,\n\t\"images/partners/semafo.png\": 3863,\n\t\"images/partners/sirios.png\": 7601,\n\t\"images/partners/snc-lavalin.png\": 2524,\n\t\"images/partners/srg-graphite.png\": 2251,\n\t\"images/partners/tacora.png\": 3984,\n\t\"images/partners/wesdome.png\": 2104,\n\t\"images/partners/wsp.png\": 6664,\n\t\"images/silhouette.png\": 6192,\n\t\"images/soutex.svg\": 6639,\n\t\"images/team/michel-bourassa.jpg\": 9869\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6947;","// Simple loop to require all image assets used by backend rails app\nfunction importAll(r) {\n r.keys().forEach(r);\n}\n// useSubdirectories=true to include all images subdirectories\nimportAll(require.context('images/', true, /\\.(svg|png|jpg)$/));\n","const CYCLE_DURATION = 5000;\n\nclass Welcome {\n constructor() {\n this.$body = $('body');\n this.$wrap = $('.js-tagline-looper');\n this.count = 0;\n\n if (this.$wrap.length === 0) {\n return;\n }\n\n this.$taglines = this.$wrap.find('.js-tagline-looper-title');\n this.$mainTagline = this.$taglines.filter('.tagline-looper__title--blurred');\n this.$blurredTagline = this.$taglines.not('.tagline-looper__title--blurred');\n this.initialize();\n }\n\n initialize() {\n this.startCycling();\n }\n\n startCycling() {\n window.setInterval(this.cycle.bind(this), CYCLE_DURATION);\n }\n\n cycle() {\n var animClass = 'tagline-looper__title--anim';\n var unblurClass = `${animClass}-unblur`;\n var blurClass = `${animClass}-blur`;\n\n if (this.count === 0) {\n this.$mainTagline.toggleClass(unblurClass);\n this.$blurredTagline.toggleClass(blurClass);\n }\n else {\n this.$taglines.toggleClass(`${unblurClass} ${blurClass}`);\n }\n\n this.$wrap.toggleClass('tagline-looper--alternate');\n this.count++;\n }\n}\n\nexport default Welcome;\n","class Menu {\n constructor() {\n this.$body = $('body');\n this.$menu = $('.js-menu');\n this.$sticky = $('.js-menu__sticky');\n this.$stickyTriggerZone = $('.js-menu__sticky-trigger').last();\n this.$toggler = $('.js-menu-toggler');\n this.staticHeaderHeight = 0;\n this.$window = $(window);\n\n this.initialize();\n }\n\n initialize() {\n this.$body.on('click', this.onBodyClick.bind(this));\n this.$toggler.on('click', this.onTogglerClick.bind(this));\n this.staticHeaderHeight = this.$sticky.height();\n this.$window.on('scroll', this.onWindowScroll.bind(this)).trigger('scroll');\n window.setTimeout(() => this.$sticky.addClass('header-nav--initialized'));\n }\n\n onBodyClick() {\n this.$menu.removeClass('header--open');\n }\n\n onTogglerClick(e) {\n e.stopImmediatePropagation();\n this.$menu.toggleClass('header--open');\n }\n\n onWindowScroll(e) {\n const windowTop = this.$window.scrollTop();\n const $triggerZone = this.$stickyTriggerZone;\n let headerBottom = $triggerZone.offset().top + $triggerZone.outerHeight();\n\n // Prevent short header (without images) from being always condensed\n if (this.staticHeaderHeight < headerBottom) {\n // Remove header height to the headerBottom so the menu\n // is already condensed when it hits the \"next\" content\n headerBottom -= this.staticHeaderHeight;\n }\n\n const shouldStick = windowTop > headerBottom;\n\n this.$sticky.toggleClass('header-nav--condensed', shouldStick);\n }\n}\n\nexport default Menu;\n","class Implication {\n constructor() {\n this.$window = $(window);\n this.$wrap = $('.js-implication');\n\n if (this.$wrap.length === 0) {\n return;\n }\n\n this.$nav = this.$wrap.find('.js-implication-nav');\n this.$navItems = this.$nav.find('.js-implication-nav-item');\n this.navIds = this.$navItems.map((i, e) => $(e).data('nav')).toArray();\n this.$contents = this.$wrap.find('.js-implication-content');\n this.$title = this.$wrap.find('.js-implication-title');\n this.$indicator = this.$wrap.find('.js-implication-indicator');\n this.toneList = this.generateToneList();\n this.positions = [];\n this.initialize();\n }\n\n initialize() {\n this.bindScrollEvent();\n this.bindNavEvents();\n this.$window.on('resize', this.onWindowResize.bind(this)).trigger('resize');\n }\n\n bindScrollEvent() {\n this.$window.on('scroll.implication', this.onWindowScroll.bind(this)).trigger('scroll');\n }\n\n unbindScrollEvent() {\n this.$window.off('scroll.implication');\n }\n\n bindNavEvents() {\n this.$navItems.on('click', this.onNavClick.bind(this));\n }\n\n setActive() {\n let { index, navId } = this.findCurrent();\n const navIndex = this.navIds.indexOf(navId);\n\n if (!index && index !== 0) {\n return;\n }\n\n this.handleActiveContent(index);\n this.handleActiveNav(navIndex);\n this.handleActiveBackground(navIndex);\n this.moveIndicator(navIndex);\n }\n\n handleActiveContent(index) {\n this.$contents.removeClass('implication__content-item--active');\n this.$contents.eq(index).addClass('implication__content-item--active');\n }\n\n handleActiveNav(index) {\n this.$navItems.removeClass('implication-toc__item--active');\n this.$navItems.eq(index).addClass('implication-toc__item--active');\n }\n\n handleActiveBackground(index) {\n this.$wrap.removeClass(this.toneList);\n this.$wrap.addClass(`implication--tone-${index}`);\n }\n\n generateToneList() {\n let toneList = [];\n\n for (let i = 0; i < this.$contents.length; i++) {\n toneList.push(`implication--tone-${i}`);\n }\n\n return toneList.join(' ');\n }\n\n moveIndicator(index) {\n const itemHeight = parseInt(this.$navItems.outerHeight(true));\n this.$indicator.css('top', (itemHeight * index) + (itemHeight / 2));\n }\n\n findCurrent() {\n if (!this.positions || this.positions.length === 0) {\n return {};\n }\n\n const titleBottom = this.$title.offset().top + this.$title.outerHeight();\n let lowestDiffIndex = {};\n let lowestDiff = 0;\n\n this.positions.forEach(function(position, index) {\n let diff = titleBottom - position.top;\n\n if ((diff < 0 && (diff > lowestDiff || !lowestDiff))) {\n lowestDiff = diff;\n lowestDiffIndex = { index, navId: position.navId };\n }\n });\n\n return lowestDiffIndex;\n }\n\n storeImplicationContentsPosition() {\n let positions = [];\n\n const getTop = (i, content) => {\n const $content = $(content);\n return {\n top: $content.offset().top,\n navId: $content.data('nav')\n };\n };\n\n this.positions = this.$contents.map(getTop).toArray();\n }\n\n onWindowScroll() {\n // Handle upper limit\n const implicationOffset = this.$wrap.offset().top;\n const shouldStick = this.$window.scrollTop() >= implicationOffset;\n this.$wrap.toggleClass('implication--fixed', shouldStick);\n\n // Handle lower limit\n const spacer = (this.$window.height() * 0.2); // Represents .implication class top padding\n const navTop = shouldStick ? spacer + this.$window.scrollTop() : this.$nav.offset().top;\n const navBottom = navTop + this.$nav.outerHeight(true);\n const wrapBottom = this.$wrap.offset().top + this.$wrap.outerHeight(true);\n const shouldStickBottom = navBottom + spacer > wrapBottom;\n this.$wrap.toggleClass('implication--fixed-bottom', shouldStickBottom);\n\n // Set active content\n this.setActive();\n }\n\n onWindowResize() {\n this.storeImplicationContentsPosition();\n }\n\n onNavClick(e) {\n e.preventDefault();\n\n const index = this.$navItems.index($(e.currentTarget));\n const wrapPos = this.$wrap.offset().top;\n const parentPos = this.$contents.parent().position().top;\n const currentPos = this.$contents.eq(index).position().top;\n const pos = wrapPos - parentPos + currentPos;\n\n $('html, body').animate({\n scrollTop: pos\n });\n }\n}\n\nexport default Implication;\n","class Services {\n constructor() {\n // Storing dom elements\n this.$wrap = $('.js-services');\n\n if (this.$wrap.length === 0) {\n return;\n }\n\n this.$categories = this.$wrap.find('.js-services-category');\n this.$descriptionsWrap = this.$wrap.find('.js-services-descriptions-wrap');\n this.$descriptions = this.$wrap.find('.js-services-description');\n this.$mobileDescriptions = this.$wrap.find('.js-services-mobile-description');\n this.$fixedMenu = this.$wrap.find('.js-services-fixed-menu');\n this.$title = this.$wrap.find('.js-services-title');\n this.$window = $(window);\n\n // Initial state\n this.$activeContent = this.$descriptions.first();\n this.lastIndex = this.$descriptions.length - 1;\n this.currentCategory = false;\n this.scrollSpacing = 140;\n\n this.initialize();\n }\n\n initialize() {\n this.$categories.on('click', this.onCategoryClick.bind(this));\n this.$mobileDescriptions.on('click', this.onMobileDescriptionClick.bind(this));\n this.$window.on('scroll', this.onWindowScroll.bind(this)).trigger('scroll');\n this.$window.on('resize', this.onWindowResize.bind(this));\n window.setTimeout(() => this.$window.trigger('resize'));\n }\n\n showCategory(index) {\n this.$categories.removeClass('services-categories__item--active');\n\n if (this.isMobileDevice) {\n if (this.currentCategory !== index && index !== false) {\n this.$categories.eq(index).addClass('services-categories__item--active');\n this.currentCategory = index;\n }\n else {\n this.currentCategory = false;\n }\n }\n else {\n // We always want an active category on desktop view\n this.$categories.eq(index).addClass('services-categories__item--active');\n this.currentCategory = index;\n }\n\n this.hideMobileDescriptions();\n this.showDescription(index);\n this.setActive(index);\n }\n\n closeMobileDescription() {\n this.showCategory(false);\n }\n\n showDescription(index) {\n const $active = this.$descriptions.eq(index);\n let destination = 0;\n\n if ($active.length > 0 && !this.isMobileDevice) {\n if (index === 0) {\n destination = this.$wrap.offset().top;\n }\n else {\n destination = $active.offset().top - this.scrollSpacing;\n }\n this.scrollTo(destination + 1);\n }\n\n this.showMobileDescription(index);\n }\n\n scrollTo(scrollTop) {\n const properties = { scrollTop };\n const options = {\n complete: () => {\n this.isManuallyScrolling = false;\n this.setActive();\n }\n };\n\n this.isManuallyScrolling = true;\n $('html, body').animate(properties, options);\n }\n\n showMobileDescription(index) {\n this.hideMobileDescriptions();\n\n if (this.currentMobileDescription !== index && index !== false) {\n this.$mobileDescriptions.eq(index).addClass('services-mobile-description__items--active');\n this.currentMobileDescription = index;\n }\n else {\n this.currentMobileDescription = false;\n }\n }\n\n hideMobileDescriptions() {\n this.$mobileDescriptions.removeClass('services-mobile-description__items--active');\n }\n\n setActive() {\n let index = this.findCurrent();\n\n if ((!index && index !== 0) || this.isMobileDevice) {\n return;\n }\n\n if (this.isManuallyScrolling) {\n return;\n }\n\n this.$categories.removeClass('services-categories__item--active');\n this.$categories.eq(index).addClass('services-categories__item--active');\n\n this.$descriptions.removeClass('services-description__items--active');\n this.$descriptions.eq(index).addClass('services-description__items--active');\n }\n\n findCurrent() {\n if (!this.positions) {\n return 0;\n }\n\n if (this.scrollComplete) {\n return this.lastIndex;\n }\n\n let lowestDiffIndex;\n let lowestDiff = 0;\n\n this.positions.forEach(function(position, index) {\n const diff = this.$window.scrollTop() + this.scrollSpacing - position;\n\n if ((diff > 0 && (diff < lowestDiff || !lowestDiff))) {\n lowestDiff = diff;\n lowestDiffIndex = index;\n }\n }.bind(this));\n\n return lowestDiffIndex;\n }\n\n storeDescriptionPositions() {\n const getTop = (i, content) => $(content).offset().top;\n this.positions = this.$descriptions.map(getTop).toArray();\n }\n\n onCategoryClick(e) {\n e.preventDefault();\n\n const index = this.$categories.index($(e.currentTarget));\n this.showCategory(index);\n }\n\n onMobileDescriptionClick() {\n this.closeMobileDescription();\n }\n\n onWindowResize() {\n this.isMobileDevice = (this.$window.width() < 625);\n this.$descriptions.last().css({\n 'min-height': this.$fixedMenu.height()\n });\n this.storeDescriptionPositions();\n }\n\n onWindowScroll() {\n const servicesTop = this.$wrap.offset().top - parseInt(this.$wrap.css('margin-top'), 10);\n const servicesHeight = this.$wrap.outerHeight(true);\n\n const windowTop = this.$window.scrollTop();\n const windowHeight = this.$window.height();\n\n this.scrollStart = windowTop >= servicesTop;\n this.scrollComplete = windowTop + windowHeight >= servicesTop + servicesHeight;\n\n this.$wrap.toggleClass('services--fixed', this.scrollStart && !this.scrollComplete);\n this.$wrap.toggleClass('services--fixed-bottom', this.scrollComplete);\n\n this.setActive();\n }\n}\n\nexport default Services;\n","const SLIDE_DURATION = 200;\n\nclass Team {\n constructor() {\n this.$wrap = $('.js-team');\n if (this.$wrap.length === 0) {\n return;\n }\n\n this.$team = $('.js-team-members');\n this.$members = this.$team.find('.js-team-member');\n this.$groupedBios = this.$team.find('.js-team-grouped-bio');\n this.slideDuration = SLIDE_DURATION;\n this.$window = $(window);\n\n this.initialize();\n }\n\n initialize() {\n this.$members.on('click', this.onMemberClick.bind(this));\n this.$groupedBios.on('click', this.onGroupedBioClick.bind(this));\n this.$window.on('scroll.team', this.onWindowScroll.bind(this)).trigger('scroll');\n }\n\n toggleMember(index) {\n this.toggleMemberState(index);\n this.toggleGroupedBio(index);\n }\n\n toggleMemberState(index) {\n const $active = this.$members.eq(index);\n\n this.$members.removeClass('member--active');\n\n if ($active && !$active.is(this.$activeMember)) {\n $active.addClass('member--active');\n this.$activeMember = $active;\n this.$team.addClass('team-members--bio-open');\n }\n else {\n this.$activeMember = false;\n this.$team.removeClass('team-members--bio-open');\n }\n }\n\n toggleGroupedBio(index) {\n const $active = this.$groupedBios.eq(index);\n const $old = this.$groupedBios.filter('.member-bios__item--active');\n const $activeWrap = $active.parents('.member-bios');\n const $oldWrap = $old.parents('.member-bios');\n\n // Bio already shown\n if ($old.length > 0) {\n // Clicking on already opened member\n if ($old.is($active)) {\n this.hideGroupedBio($active);\n }\n else {\n if ($activeWrap.is($oldWrap)) {\n this.slideDuration = 0;\n }\n\n // Hide old bio, show new one\n this.hideGroupedBio($old, function() {\n this.showGroupedBio($active);\n }.bind(this));\n }\n }\n else {\n // Nothing to hide, just show the bio\n this.showGroupedBio($active);\n }\n }\n\n hideGroupedBio($bio, onComplete = function() {}) {\n $bio.removeClass('member-bios__item--active');\n $bio.slideUp(this.slideDuration, onComplete);\n }\n\n showGroupedBio($bio) {\n $bio.addClass('member-bios__item--active');\n $bio.slideDown(this.slideDuration);\n this.slideDuration = SLIDE_DURATION;\n }\n\n onMemberClick(e) {\n const index = this.$members.index($(e.currentTarget));\n\n this.toggleMember(index);\n }\n\n onGroupedBioClick(e) {\n const index = this.$groupedBios.index($(e.currentTarget));\n\n this.toggleMember(index);\n }\n\n onWindowScroll() {\n const teamOffset = this.$wrap.offset().top;\n const shouldStick = this.$window.scrollTop() >= teamOffset;\n this.$wrap.toggleClass('team--fixed', shouldStick);\n }\n}\n\nexport default Team;\n","const CYCLE_DURATION = 2000;\n\nclass Partners {\n constructor() {\n this.$wrap = $('.js-partners');\n this.$logos = this.$wrap.find('.js-partner-logo');\n this.$window = $(window);\n this.numLogos = this.$logos.length;\n\n this.current = 0;\n\n this.initialize();\n }\n\n initialize() {\n this.handleInitialState();\n this.startCycling();\n this.$window.on('resize load', this.handleWindowResize.bind(this)).trigger('resize');\n }\n\n handleInitialState() {\n this.$logos.first().addClass('partner-logo--active');\n }\n\n startCycling() {\n window.setInterval(this.cycle.bind(this), CYCLE_DURATION);\n }\n\n cycle() {\n this.$logos.removeClass('partner-logo--active');\n\n this.current++;\n if (this.current >= this.numLogos) {\n this.current = 0;\n }\n\n this.$logos.eq(this.current).addClass('partner-logo--active');\n }\n\n handleWindowResize() {\n const heights = this.$logos.map(function() {\n return $(this).height();\n });\n const maxHeight = Math.max.apply(null, heights);\n this.$wrap.height(maxHeight);\n }\n}\n\nexport default Partners;\n","const WATER_COLOR = '#c9c9c9';\n\nconst MAP_STYLES = [\n {\n elementType: 'geometry',\n stylers: [{ 'color': '#f5f5f5' }]\n },\n {\n elementType: 'labels.icon',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#616161' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ 'color': '#f5f5f5' }]\n },\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'administrative',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#003562' }]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#bdbdbd' }]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'landscape',\n elementType: 'geometry.fill',\n stylers: [{ 'color': '#f9f9f9' }]\n },\n {\n featureType: 'poi',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ 'color': '#eeeeee' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#757575' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ 'color': '#e5e5e5' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#9e9e9e' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ 'color': '#fffffff' }]\n },\n {\n featureType: 'road',\n elementType: 'labels',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#757575' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ 'color': '#dadada' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#616161' }]\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#9e9e9e' }]\n },\n {\n featureType: 'transit',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [{ 'color': '#e5e5e5' }]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{ 'color': '#eeeeee' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ 'color': WATER_COLOR }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text',\n stylers: [{ 'visibility': 'off' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ 'color': '#9e9e9e' }]\n }\n];\n\nconst MARKER_STYLES = {\n path: 'M29.949,28.000 L30.000,28.000 L29.681,28.294 C28.944,29.121 28.129,29.874 27.244,30.544 L17.000,40.000 L6.756,30.544 C5.871,29.874 5.056,29.121 4.319,28.294 L4.000,28.000 L4.051,28.000 C1.529,25.034 0.000,21.198 0.000,17.000 C0.000,7.611 7.611,0.000 17.000,0.000 C26.389,0.000 34.000,7.611 34.000,17.000 C34.000,21.198 32.471,25.034 29.949,28.000 Z',\n fillColor: '#003562',\n fillOpacity: 1,\n strokeWeight: 1,\n strokeColor: '#ffffff'\n};\n\nclass Contact {\n constructor() {\n this.offices = {};\n this.markers = [];\n this.$map = document.getElementById('offices-map');\n\n if (!this.$map) {\n return;\n }\n\n this.initialize();\n }\n\n initialize() {\n $(document).on('contact:mapload', this.handleMapLoad.bind(this));\n $(window).on('resize', this.handleWindowResize.bind(this));\n }\n\n handleMapLoad(event, { offices }) {\n const mapOptions = {\n styles: MAP_STYLES,\n backgroundColor: WATER_COLOR\n };\n\n this.offices = offices;\n this.map = new google.maps.Map(this.$map, mapOptions);\n this.markerBounds = new google.maps.LatLngBounds();\n this.displayLocationMarkers();\n }\n\n triggerFitBounds() {\n this.map.fitBounds(this.markerBounds);\n }\n\n displayLocationMarkers() {\n let icon = MARKER_STYLES;\n icon.anchor = new google.maps.Point(17, 40);\n\n let markers = this.markers;\n const map = this.map;\n\n Object.values(this.offices).forEach(({ lat, lng, link, size }) => {\n const position = new google.maps.LatLng(lat, lng);\n const clickable = !!link;\n icon.scale = (size === 'small') ? 0.6 : 1;\n\n let marker = new google.maps.Marker({ position, map, icon, clickable });\n if (link) {\n marker.addListener('click', () => {\n window.open(link, '_blank');\n });\n }\n markers.push(marker);\n this.markerBounds.extend(position);\n }, this);\n\n this.triggerFitBounds();\n }\n\n handleWindowResize(e) {\n this.triggerFitBounds();\n }\n}\n\nexport default Contact;\n","import 'jquery';\nimport Welcome from '../javascripts/welcome';\nimport Menu from '../javascripts/menu';\nimport Implication from '../javascripts/implication';\nimport Services from '../javascripts/services';\nimport Team from '../javascripts/team';\nimport Partners from '../javascripts/partners';\nimport Contact from '../javascripts/contact';\n\n$(document).ready(() => {\n new Menu();\n new Welcome();\n new Implication();\n new Services();\n new Team();\n new Partners();\n new Contact();\n});\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","r","require","forEach","constructor","this","$body","$","$wrap","count","length","$taglines","find","$mainTagline","filter","$blurredTagline","not","initialize","startCycling","window","setInterval","cycle","bind","animClass","unblurClass","blurClass","toggleClass","$menu","$sticky","$stickyTriggerZone","last","$toggler","staticHeaderHeight","$window","on","onBodyClick","onTogglerClick","height","onWindowScroll","trigger","setTimeout","addClass","removeClass","stopImmediatePropagation","windowTop","scrollTop","$triggerZone","headerBottom","offset","top","outerHeight","shouldStick","$nav","$navItems","navIds","i","data","toArray","$contents","$title","$indicator","toneList","generateToneList","positions","bindScrollEvent","bindNavEvents","onWindowResize","unbindScrollEvent","off","onNavClick","setActive","index","navId","findCurrent","navIndex","indexOf","handleActiveContent","handleActiveNav","handleActiveBackground","moveIndicator","eq","push","join","itemHeight","parseInt","css","titleBottom","lowestDiffIndex","lowestDiff","position","diff","storeImplicationContentsPosition","getTop","content","$content","implicationOffset","spacer","shouldStickBottom","preventDefault","currentTarget","pos","parent","animate","$categories","$descriptionsWrap","$descriptions","$mobileDescriptions","$fixedMenu","$activeContent","first","lastIndex","currentCategory","scrollSpacing","onCategoryClick","onMobileDescriptionClick","showCategory","isMobileDevice","hideMobileDescriptions","showDescription","closeMobileDescription","$active","destination","scrollTo","showMobileDescription","properties","options","complete","isManuallyScrolling","currentMobileDescription","scrollComplete","storeDescriptionPositions","width","servicesTop","servicesHeight","windowHeight","scrollStart","$team","$members","$groupedBios","slideDuration","onMemberClick","onGroupedBioClick","toggleMember","toggleMemberState","toggleGroupedBio","is","$activeMember","$old","$activeWrap","parents","$oldWrap","hideGroupedBio","showGroupedBio","$bio","onComplete","slideUp","slideDown","teamOffset","$logos","numLogos","current","handleInitialState","handleWindowResize","heights","maxHeight","Math","max","apply","WATER_COLOR","MAP_STYLES","elementType","stylers","featureType","MARKER_STYLES","path","fillColor","fillOpacity","strokeWeight","strokeColor","offices","markers","$map","document","getElementById","handleMapLoad","event","mapOptions","styles","backgroundColor","google","maps","Map","markerBounds","LatLngBounds","displayLocationMarkers","triggerFitBounds","fitBounds","icon","anchor","Point","values","lat","lng","link","size","LatLng","clickable","scale","marker","Marker","addListener","open","extend","ready","Menu","Welcome","Implication","Services","Team","Partners","Contact"],"sourceRoot":""}