{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./lib/utils.js","webpack:///./lib/plugin.js","webpack:///./modules/accordion.js","webpack:///./modules/results.js","webpack:///./lib/lodash.custom.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./modules/masthead.js","webpack:///./modules/media.js","webpack:///./modules/standardLevelMasthead.js","webpack:///./modules/socialShare.js","webpack:///./modules/table.js","webpack:///./level.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","buildQuery","data","Array","isArray","forEach","query","push","encodeURIComponent","join","closePlayButton","dataSelector","iconTemplate","dirButton","style","label","getData","url","type","deferred","$","Deferred","ajax","method","dataType","success","resolve","error","jqXHR","textStatus","reject","promise","mql","small","window","matchMedia","medium","large","xlarge","xxlarge","primarynav","queryStringToJSON","qs","pairs","location","search","slice","split","result","pair","decodeURIComponent","toString","JSON","parse","stringify","ready","callbackFunc","document","readyState","addEventListener","attachEvent","scrollToTop","element","duration","animate","scrollTop","offset","top","toggleVideoPlay","e","$target","target","$video","parent","find","children","toggleClass","attr","txt","hasClass","pause","play","plugin","pluginName","className","shortHand","dataName","old","fn","options","this","each","$this","noConflict","Accordion","defaults","easing","extend","init","activate","bindUIActions","_this","$accordions","length","first","slideToggle","on","onClick","onKeyDown","blur","preventDefault","$content","closest","$panel","currentValue","code","keyCode","which","prev","focus","next","results","elem","$results","toggleState","$card","undefined","FUNC_ERROR_TEXT","NAN","nullTag","symbolTag","undefinedTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","self","root","Function","freeExports","nodeType","freeModule","objectProto","nativeObjectToString","symToStringTag","nativeMax","Math","max","nativeMin","min","lodash","baseGetTag","isOwn","tag","unmasked","getRawTag","now","Date","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","timeWaiting","trailingEdge","setTimeout","debounced","isInvoking","arguments","toNumber","isObject","cancel","clearTimeout","flush","isObjectLike","isSymbol","other","valueOf","replace","isBinary","test","throttle","VERSION","define","_","__webpack_amd_options__","g","webpackPolyfill","deprecate","paths","masthead","$masthead","media","$slider","adaptiveHeight","arrows","dots","draggable","slidesToShow","slidesToScroll","speed","rows","nextArrow","prevArrow","responsive","breakpoint","settings","slick","addListener","mq","matches","standardLevelMasthead","$standardLevelMasthead","socialShare","$window","$socialShare","share","toLowerCase","title","getMetaTitle","currentTarget","href","openWindow","pageTitle","hOne","text","trim","ogTitle","val","shareTitle","width","height","leftPosition","screen","topPosition","windowFeatures","open","Table","onResize","onScroll","tableContainerWidth","outerWidth","tableWidth","$wrapper","scrollLeft","scrollWidth","level"],"mappings":"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","file":"level.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n","/**\n * @name buildQuery\n * @param {object} data\n * @returns {string}\n */\nconst buildQuery = function buildQuery(data) {\n\t// Create an array to hold the key/value pairs\n\tlet query = [];\n\n\t// Loop through the data object\n\tfor (let key in data) {\n\t\tif (data.hasOwnProperty(key)) {\n\t\t\tif (Array.isArray(data[key])) {\n\t\t\t\tdata[key].forEach(function (value) {\n\t\t\t\t\tquery.push(key + '=' + encodeURIComponent(value));\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tquery.push(key + '=' + encodeURIComponent(data[key]));\n\t\t\t}\n\t\t}\n\t}\n\n\t// Join each item in the array with an '&' and return the resulting string\n\tquery = query.join('&');\n\n\treturn query;\n};\n\n/**\n * @name closePlayButton\n * @param {string} selector\n */\nconst closePlayButton = function closePlayButton(dataSelector) {\n\treturn ``;\n};\n\n/**\n * @name dirButton\n * @param {string} style\n * @param {string} label\n */\nconst dirButton = function dirButton(style, label) {\n\treturn ``;\n};\n\n/**\n * @name getData\n * @param {string} url\n * @param {string} data\n * @param {string} type\n * @returns {object}\n */\nconst getData = function getData(url, data, type) {\n\tconst deferred = $.Deferred();\n\n\t$.ajax({\n\t\turl: url,\n\t\tmethod: 'GET',\n\t\tdata: data,\n\t\tdataType: type,\n\t\tsuccess(data) {\n\t\t\tdeferred.resolve(data);\n\t\t},\n\t\terror(jqXHR, textStatus) {\n\t\t\tdeferred.reject(textStatus);\n\t\t}\n\t});\n\n\treturn deferred.promise();\n};\n\n/**\n * @name iconTemplate\n * @param {string} name\n */\nconst iconTemplate = function iconTemplate(name) {\n\treturn `\n\t\t\n\t\t\t\n\t\t\n\t`;\n};\n\n/**\n * @name mql\n * @const {object}\n */\nconst mql = {\n\tsmall: window.matchMedia('(min-width: 0px)'),\n\tmedium: window.matchMedia('(min-width: 768px)'),\n\tlarge: window.matchMedia('(min-width: 1024px)'),\n\txlarge: window.matchMedia('(min-width: 1280px)'),\n\txxlarge: window.matchMedia('(min-width: 1440px)'),\n\tprimarynav: window.matchMedia('(min-width: 1366px)'),\n};\n\n/**\n * @name queryStringToOjbect\n * @param {string} qs\n * @returns {object}\n */\nconst queryStringToJSON = function queryStringToJSON(qs) {\n\tqs = qs || window.location.search.slice(1);\n\n\tlet pairs = qs.split('&');\n\tlet result = {};\n\n\tpairs.forEach(function (p) {\n\t\tlet pair = p.split('=');\n\t\tlet key = pair[0];\n\t\tlet value = decodeURIComponent(pair[1] || '');\n\n\t\tif(result[key]) {\n\t\t\tif(Object.prototype.toString.call(result[key]) === '[object Array]') {\n\t\t\t\tresult[key].push(value);\n\t\t\t} else {\n\t\t\t\tresult[key] = [result[key], value];\n\t\t\t}\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\t});\n\n\treturn JSON.parse(JSON.stringify(result));\n};\n\n/**\n * @name ready\n * @param {func} callbackFunc\n * @description On DOM ready, execute callback function\n */\nconst ready = function ready(callbackFunc) {\n\t// Document is ready; call the callback function\n\tif (document.readyState !== 'loading') {\n\t\tcallbackFunc();\n\t// Modern browsers\n\t} else if (document.addEventListener) {\n\t\tdocument.addEventListener('DOMContentLoaded', callbackFunc, false);\n\t// Old IE browsers (IE <= 8)\n\t} else {\n\t\tdocument.attachEvent('onreadystatechange', function () {\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tcallbackFunc();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * @name scrollToTop\n * @param {object} element\n * @param {number} duration\n */\nconst scrollToTop = function scrollToTop(element, duration) {\n\t$('html, body').animate({\n\t\tscrollTop: element.offset().top\n\t}, duration);\n};\n\nconst toggleVideoPlay = function toggleVideoPlay(e) {\n\tconst $target = $(e.target);\n\tconst $video = $target.parent().find('.video-container').children('video')[0];\n\n\t$target.toggleClass('pause-button--is-paused');\n\t$target.attr({\n\t\t'aria-pressed': function(i, txt) {\n\t\t\treturn (txt === 'false') ? 'true' : 'false';\n\t\t},\n\t\t'aria-label': function (i, txt) {\n\t\t\treturn (txt === 'Pause video') ? 'Play video' : 'Pause video';\n\t\t}\n\t});\n\n\tif ($target.hasClass('pause-button--is-paused')) {\n\t\t$video.pause();\n\t} else {\n\t\t$video.play();\n\t}\n};\n\nconst utils = {\n\tbuildQuery,\n\tclosePlayButton,\n\tdirButton,\n\tgetData,\n\ticonTemplate,\n\tmql,\n\tqueryStringToJSON,\n\tready,\n\tscrollToTop,\n\ttoggleVideoPlay,\n};\n\nexport { buildQuery, closePlayButton, dirButton, getData, iconTemplate, mql, queryStringToJSON, ready, scrollToTop, toggleVideoPlay };\nexport { utils as default };","/**\n * Generate a jQuery plugin\n * @name plugin\n * @param pluginName [string] Plugin name\n * @param className [object] Class of the plugin\n * @param shortHand [bool] Generate a shorthand as $.pluginName\n */\nconst plugin = function plugin(pluginName, className, shortHand = false) {\n\tlet dataName = `__${pluginName}`;\n\tlet old = $.fn[pluginName];\n\n\t$.fn[pluginName] = function (options) {\n\t\treturn this.each(function () {\n\t\t\tlet $this = $(this);\n\t\t\tlet data = $this.data(dataName);\n\n\t\t\tif (!data) {\n\t\t\t\t$this.data(dataName, (data = new className(this, options)));\n\t\t\t}\n\n\t\t\tif (typeof options === 'string') {\n\t\t\t\tdata[options]();\n\t\t\t}\n\t\t});\n\t};\n\n\t// - Short hand\n\tif (shortHand) {\n\t\t$[pluginName] = (options) => $({})[pluginName](options);\n\t}\n\n\t// - No conflict\n\t$.fn[pluginName].noConflict = () => $.fn[pluginName] = old;\n}\n\nexport { plugin };","class Accordion {\n\tconstructor(element, options) {\n\t\tthis.defaults = { // Defaults\n\t\t\tduration: 425,\n\t\t\teasing: 'swing'\n\t\t};\n\n\t\tthis.element = element;\n\t\tthis.options = $.extend({}, this.defaults, options);\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.activate();\n\t\tthis.bindUIActions();\n\t}\n\n\tactivate() {\n\t\tconst _this = this; // Context\n\t\tconst $accordions = $(this.element).children('.accordion__panel');\n\n\t\tif ($accordions.length > 0) {\n\t\t\t$accordions.each(function () {\n\t\t\t\tif ($(this).hasClass('accordion__panel--is-active')) {\n\t\t\t\t\t$(this).find('.accordion__title').children('.accordion__trigger').first().attr({\n\t\t\t\t\t\t'aria-expanded': 'true',\n\t\t\t\t\t\t'aria-pressed': 'true'\n\t\t\t\t\t});\n\n\t\t\t\t\t$(this)\n\t\t\t\t\t\t.children('.accordion__content')\n\t\t\t\t\t\t.first()\n\t\t\t\t\t\t.attr('aria-hidden', 'false')\n\t\t\t\t\t\t.slideToggle(_this.options.duration, _this.options.easing);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tbindUIActions() {\n\t\t$(this.element).on('click', '.accordion__trigger', this.onClick.bind(this));\n\n\t\t$(this.element).on('keydown', '.accordion__trigger', this.onKeyDown.bind(this));\n\n\t\t$(this.element).on('mouseleave', '.accordion__trigger', (e) => {\n\t\t\t$(e.target).blur()\n\t\t});\n\t}\n\n\tonClick(e) {\n\t\te.preventDefault();\n\n\t\tconst $content = $(e.target).closest('.accordion__panel').find('.accordion__content').first();\n\t\tconst $panel = $(e.target).closest('.accordion__panel');\n\n\t\t// Current target\n\t\t$(e.target).attr('aria-expanded', (i, currentValue) => (currentValue === 'false') ? 'true' : 'false');\n\t\t$(e.target).attr('aria-pressed', (i, currentValue) => (currentValue === 'false') ? 'true' : 'false');\n\n\t\t// Panel\n\t\t$panel.toggleClass('accordion__panel--is-active');\n\n\t\t// Content\n\t\t$content.attr('aria-hidden', (i, currentValue) => (currentValue === 'true') ? 'false' : 'true');\n\t\t$content.slideToggle(this.options.duration, this.options.easing);\n\t}\n\n\tonKeyDown(e) {\n\t\tconst code = (e.keyCode) ? e.keyCode : e.which;\n\n\t\t// Down arrow\n\t\tif (code === 38) {\n\t\t\t$(e.target).closest('.accordion__panel').prev().find('.accordion__trigger').focus();\n\t\t}\n\n\t\t// Up arrow\n\t\tif (code === 40) {\n\t\t\t$(e.target).closest('.accordion__panel').next().find('.accordion__trigger').focus();\n\t\t}\n\t}\n}\n\nexport { Accordion };","/**\n * Results component.\n * @module components/results\n*/\nconst results = {\n\n\telem: {\n\t\t$results: $('.results')\n\t},\n\n\tinit() {\n\t\tthis.bindUIActions();\n\t},\n\n\tbindUIActions() {\n\t\tthis.elem.$results.on('mouseover mouseout focus blur', '.profile-card__link, .program-card__link', this.toggleState.bind(this));\n\t},\n\n\ttoggleState(e) {\n\t\tconst $target = $(e.target);\n\t\tconst $card = $target.closest('.profile-card, .program-card');\n\n\t\tif ($card.hasClass('profile-card')) {\n\t\t\t$card.toggleClass('profile-card--is-active', ($card.hasClass('profile-card--is-active')) ? false : true);\n\t\t} else if ($card.hasClass('program-card')) {\n\t\t\t$card.toggleClass('program-card--is-active', ($card.hasClass('program-card--is-active')) ? false : true);\n\t\t}\n\t}\n\n};\n\nexport { results };\n","/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash include=\"debounce,throttle\"`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.5';\n\n /** Error message constants. */\n var FUNC_ERROR_TEXT = 'Expected a function';\n\n /** Used as references for various `Number` constants. */\n var NAN = 0 / 0;\n\n /** `Object#toString` result references. */\n var nullTag = '[object Null]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]';\n\n /** Used to match leading and trailing whitespace. */\n var reTrim = /^\\s+|\\s+$/g;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /*--------------------------------------------------------------------------*/\n\n /** Used for built-in method references. */\n var objectProto = Object.prototype;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Built-in value references. */\n var Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeMax = Math.max,\n nativeMin = Math.min;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash() {\n // No operation performed.\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return wrapped values in chain sequences.\n lodash.debounce = debounce;\n lodash.throttle = throttle;\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return unwrapped values in chain sequences.\n lodash.isObject = isObject;\n lodash.isObjectLike = isObjectLike;\n lodash.isSymbol = isSymbol;\n lodash.now = now;\n lodash.toNumber = toNumber;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The semantic version number.\n *\n * @static\n * @memberOf _\n * @type {string}\n */\n lodash.VERSION = VERSION;\n\n /*--------------------------------------------------------------------------*/\n\n // Some AMD build optimizers, like r.js, check for condition patterns like:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose Lodash on the global object to prevent errors when Lodash is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n // Use `_.noConflict` to remove Lodash from the global object.\n root._ = lodash;\n\n // Define as an anonymous module so, through path mapping, it can be\n // referenced as the \"underscore\" module.\n define(function() {\n return lodash;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds it.\n else if (freeModule) {\n // Export for Node.js.\n (freeModule.exports = lodash)._ = lodash;\n // Export for CommonJS support.\n freeExports._ = lodash;\n }\n else {\n // Export to the global object.\n root._ = lodash;\n }\n}.call(this));\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { toggleVideoPlay } from '../lib/utils';\n\n/**\n * Masthead component.\n * @module components/masthead\n*/\nconst masthead = {\n\n\telem: {\n\t\t$masthead: null\n\t},\n\n\tinit() {\n\t\tthis.elem.$masthead = ($('.masthead').length > 0) ? $('.masthead') : null;\n\n\t\tif (this.elem.$masthead === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.elem.$masthead.hasClass('masthead--has-video')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.bindUIActions();\n\t},\n\n\tbindUIActions() {\n\t\tthis.elem.$masthead.on('click', '.pause-button', toggleVideoPlay);\n\t}\n\n};\n\nexport { masthead };","import { dirButton, mql } from '../lib/utils';\n\n/**\n * Media component.\n * @module components/media\n*/\nconst media = {\n\n\telem: {\n\t\t$slider: $('.slider-wrapper--type-image-caption .slider')\n\t},\n\n\toptions: {\n\t\tadaptiveHeight: true,\n\t\tarrows: true,\n\t\tdots: false,\n\t\tdraggable: false,\n\t\tslidesToShow: 1,\n\t\tslidesToScroll: 1,\n\t\tspeed: 425,\n\t\trows: 0,\n\t\tnextArrow: dirButton('', 'Next slide'),\n\t\tprevArrow: dirButton('dir-button--is-prev', 'Previous slide'),\n\t\tresponsive: [\n\t\t\t{\n\t\t\t\tbreakpoint: 767,\n\t\t\t\tsettings: 'unslick'\n\t\t\t}\n\t\t]\n\t},\n\n\tinit() {\n\t\tthis.bindUIActions();\n\t},\n\n\tbindUIActions() {\n\t\tthis.elem.$slider.slick(this.options);\n\t\tthis.elem.$slider.on('mouseleave', '.dir-button', (e) => $(e.target).blur());\n\n\t\tmql.medium.addListener((mq) => {\n\t\t\tif (mq.matches) {\n\t\t\t\tif (!this.elem.$slider.hasClass('slick-initialized')) {\n\t\t\t\t\tthis.elem.$slider.slick(this.options);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n};\n\nexport { media } ;","import { toggleVideoPlay } from '../lib/utils';\n\n/**\n * Masthead component.\n * @module components/standardLevelMasthead\n*/\nconst standardLevelMasthead = {\n\n\telem: {\n\t\t$standardLevelMasthead: null\n\t},\n\n\tinit() {\n\t\tthis.elem.$standardLevelMasthead = ($('.standard-level-masthead').length > 0) ? $('.standard-level-masthead') : null;\n\n\t\tif (this.elem.$standardLevelMasthead === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.elem.$standardLevelMasthead.hasClass('standard-level-masthead--has-video')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.bindUIActions();\n\t},\n\n\tbindUIActions() {\n\t\tthis.elem.$standardLevelMasthead.on('click', '.pause-button', toggleVideoPlay);\n\t}\n\n};\n\nexport { standardLevelMasthead };\n","const socialShare = {\n\n\t$window: $(window),\n\n\telem: {\n\t\t$socialShare: null\n\t},\n\n\tinit: function () {\n\t\tthis.elem.$socialShare = ($('.social-share').length > 0) ? $('.social-share') : null;\n\n\t\tif (this.elem.$socialShare !== null) {\n\t\t\tthis.bindUIActions();\n\t\t}\n\t},\n\n\tbindUIActions: function () {\n\t\tthis.elem.$socialShare.on('click', '.social-media-button', this.share.bind(this));\n\t},\n\n\tshare: function (e) {\n\t\te.preventDefault();\n\n\t\tlet data = $(e.target).data('share').toLowerCase();\n\t\tlet title = this.getMetaTitle();\n\t\tlet url;\n\n\t\tswitch (data) {\n\t\t\tcase 'email':\n\t\t\t\twindow.location = 'mailto:?subject=' + title + '&body=I thought you might find this article interesting: ' + window.location;\n\t\t\t\tbreak;\n\t\t\tcase 'facebook':\n\t\t\t\turl = e.currentTarget + '?u=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(title);\n\t\t\t\tthis.openWindow(600, 700, url);\n\t\t\t\tbreak;\n\t\t\tcase 'linkedin':\n\t\t\t\turl = e.currentTarget + '?mini=true' + '&url=' + encodeURIComponent(window.location.href);\n\t\t\t\tthis.openWindow(600, 700, url);\n\t\t\t\tbreak;\n\t\t\tcase 'twitter':\n\t\t\t\turl = e.currentTarget + '?url=' + encodeURIComponent(window.location.href) + '&text=' + encodeURIComponent(title);\n\t\t\t\tthis.openWindow(450, 275, url);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t},\n\n\tgetMetaTitle: function () {\n\n\t\tlet pageTitle = document.title;\n\t\tlet hOne = $('h1').text().trim();\n\t\tlet $openGraphTitleTag = $('meta[property=\"og:title\"]');\n\t\tlet ogTitle = ($openGraphTitleTag.length > 0) ? $('meta[property=\"og:title\"]').val().trim() : '';\n\n\t\tlet shareTitle = '';\n\n\t\tif (pageTitle !== '') {\n\t\t\tshareTitle = pageTitle;\n\t\t}\n\n\t\tif (hOne !== '') {\n\t\t\tshareTitle = hOne;\n\t\t}\n\n\t\tif (ogTitle !== '') {\n\t\t\tshareTitle = ogTitle;\n\t\t}\n\n\t\treturn shareTitle;\n\n\t},\n\n\topenWindow: function (width, height, url) {\n\t\t// http://stackoverflow.com/questions/12882689/launch-facebook-share-popup-at-center-of-screen\n\t\tlet leftPosition = (window.screen.width / 2) - ((width / 2) + 10);\n\t\tlet topPosition = (window.screen.height / 2) - ((height / 2) + 50);\n\t\tlet windowFeatures = 'status=no,height=' + height + ',width=' + width + ',resizable=yes,left=' + leftPosition + ',top=' + topPosition + ',screenX=' + leftPosition + ',screenY=' + topPosition + ',toolbar=no,menubar=no,scrollbars=no,location=no,directories=no';\n\n\t\twindow.open(url, 'socialshare', windowFeatures);\n\t}\n\n};\n\nexport {socialShare};\n","import { debounce, throttle } from '../lib/lodash.custom';\n\nconst Table = class Table {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.bindUIActions();\n\t\tthis.onResize(); // On page load...\n\t}\n\n\tbindUIActions() {\n\t\t$(window).on('resize', debounce(this.onResize.bind(this), 100));\n\n\t\t$(this.element).find('.table-container').on('scroll', throttle(this.onScroll.bind(this), 100));\n\t}\n\n\tonResize() {\n\t\tlet tableContainerWidth = $(this.element).outerWidth();\n\t\tlet tableWidth = $(this.element).find('table').outerWidth();\n\n\t\tlet $tableWrapper = $(this.element);\n\n\t\t$tableWrapper.toggleClass('table-wrapper--right-shadow', (tableWidth > tableContainerWidth) ? true : false);\n\t}\n\n\tonScroll(e) {\n\t\tlet $target = $(e.target);\n\t\tlet $wrapper = $target.parent('.table-wrapper');\n\n\t\tlet width = $target.outerWidth();\n\t\tlet scrollLeft = $target.scrollLeft();\n\t\tlet scrollWidth = $target[0].scrollWidth;\n\n\t\t$wrapper\n\t\t\t.toggleClass('table-wrapper--left-shadow', (scrollLeft === 0) ? false : true)\n\t\t\t.toggleClass('table-wrapper--right-shadow', ((scrollWidth - width) === scrollLeft) ? false : true);\n\t}\n}\n\nexport { Table };","import { ready } from './lib/utils';\nimport { plugin } from './lib/plugin';\nimport { Accordion } from './modules/accordion.js';\nimport { masthead } from './modules/masthead.js';\nimport { media } from './modules/media.js';\nimport { results } from './modules/results';\nimport { standardLevelMasthead } from './modules/standardLevelMasthead.js';\nimport { socialShare } from './modules/socialShare';\nimport { Table } from './modules/table.js';\n\nconst level = {\n\n\tinit() {\n\t\tplugin('Accordion', Accordion);\n\t\tplugin('Table', Table);\n\n\t\t$('.accordion').Accordion();\n\t\t$('.table-wrapper').Table();\n\n\t\tmasthead.init();\n\t\tmedia.init();\n\t\tresults.init();\n\t\tstandardLevelMasthead.init();\n\t\tsocialShare.init();\n\t}\n\n};\n\nready(function () {\n\tlevel.init();\n});\n"],"sourceRoot":""}