text: /*
   * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
   * This devtool is neither made for production nor for readable output files.
   * It uses "eval()" calls to create a separate source file in the browser devtools.
   * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
   * or disable the default devtool with "devtool: false".
   * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
   */
  /******/ (() => { // webpackBootstrap
  /******/ 	var __webpack_modules__ = ({
  
  /***/ "./src/sass/main.scss":
  /*!****************************!*\
    !*** ./src/sass/main.scss ***!
    \****************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"../css/app.css\");\n\n//# sourceURL=webpack://Constellation/./src/sass/main.scss?");
  
  /***/ }),
  
  /***/ "./src/js/main.js":
  /*!************************!*\
    !*** ./src/js/main.js ***!
    \************************/
  /***/ (() => {
  
  eval("/*\n Helios by HTML5 UP\n html5up.net | @ajlkn\n Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)\n */\n\n(function ($) {\n\n    var $window = $(window),\n            $body = $('body'),\n            settings = {\n\n                // Carousels\n                carousels: {\n                    speed: 4,\n                    fadeIn: true,\n                    fadeDelay: 250\n                },\n\n            };\n\n    // Breakpoints.\n    breakpoints({\n        wide: ['1281px', '1680px'],\n        normal: ['961px', '1280px'],\n        narrow: ['841px', '960px'],\n        narrower: ['737px', '840px'],\n        mobile: [null, '736px']\n    });\n\n    // Play initial animations on page load.\n    $window.on('load', function () {\n        window.setTimeout(function () {\n            $body.removeClass('is-preload');\n        }, 100);\n    });\n\n    // Dropdowns.\n    $('#nav > ul').dropotron({\n        mode: 'fade',\n        speed: 350,\n        noOpenerFade: true,\n        alignment: 'center'\n    });\n\n    // Scrolly.\n    $('.scrolly').scrolly();\n\n    // Nav.\n\n    // Button.\n    $(\n            '<div id=\"navButton\">' +\n            '<a href=\"#navPanel\" class=\"toggle\"></a>' +\n            '</div>'\n            )\n            .appendTo($body);\n\n    // Panel.\n    $(\n            '<div id=\"navPanel\">' +\n            '<nav>' +\n            $('#nav').navList() +\n            '</nav>' +\n            '</div>'\n            )\n            .appendTo($body)\n            .panel({\n                delay: 500,\n                hideOnClick: true,\n                hideOnSwipe: true,\n                resetScroll: true,\n                resetForms: true,\n                target: $body,\n                visibleClass: 'navPanel-visible'\n            });\n\n    // Carousels.\n    $('.carousel').each(function () {\n\n        var $t = $(this),\n                $forward = $('<span class=\"forward\"></span>'),\n                $backward = $('<span class=\"backward\"></span>'),\n                $reel = $t.children('.reel'),\n                $items = $reel.children('article');\n\n        var pos = 0,\n                leftLimit,\n                rightLimit,\n                itemWidth,\n                reelWidth,\n                timerId;\n\n        // Items.\n        if (settings.carousels.fadeIn) {\n\n            $items.addClass('loading');\n\n            $t.scrollex({\n                mode: 'middle',\n                top: '-20vh',\n                bottom: '-20vh',\n                enter: function () {\n\n                    var timerId,\n                            limit = $items.length - Math.ceil($window.width() / itemWidth);\n\n                    timerId = window.setInterval(function () {\n                        var x = $items.filter('.loading'), xf = x.first();\n\n                        if (x.length <= limit) {\n\n                            window.clearInterval(timerId);\n                            $items.removeClass('loading');\n                            return;\n\n                        }\n\n                        xf.removeClass('loading');\n\n                    }, settings.carousels.fadeDelay);\n\n                }\n            });\n\n        }\n\n        // Main.\n        $t._update = function () {\n            pos = 0;\n            rightLimit = (-1 * reelWidth) + $window.width();\n            leftLimit = 0;\n            $t._updatePos();\n        };\n\n        $t._updatePos = function () {\n            $reel.css('transform', 'translate(' + pos + 'px, 0)');\n        };\n\n        // Forward.\n        $forward\n                .appendTo($t)\n                .hide()\n                .mouseenter(function (e) {\n                    timerId = window.setInterval(function () {\n                        pos -= settings.carousels.speed;\n\n                        if (pos <= rightLimit)\n                        {\n                            window.clearInterval(timerId);\n                            pos = rightLimit;\n                        }\n\n                        $t._updatePos();\n                    }, 10);\n                })\n                .mouseleave(function (e) {\n                    window.clearInterval(timerId);\n                });\n\n        // Backward.\n        $backward\n                .appendTo($t)\n                .hide()\n                .mouseenter(function (e) {\n                    timerId = window.setInterval(function () {\n                        pos += settings.carousels.speed;\n\n                        if (pos >= leftLimit) {\n\n                            window.clearInterval(timerId);\n                            pos = leftLimit;\n\n                        }\n\n                        $t._updatePos();\n                    }, 10);\n                })\n                .mouseleave(function (e) {\n                    window.clearInterval(timerId);\n                });\n\n        // Init.\n        $window.on('load', function () {\n\n            reelWidth = $reel[0].scrollWidth;\n\n            if (browser.mobile) {\n\n                $reel\n                        .css('overflow-y', 'hidden')\n                        .css('overflow-x', 'scroll')\n                        .scrollLeft(0);\n                $forward.hide();\n                $backward.hide();\n\n            } else {\n\n                $reel\n                        .css('overflow', 'visible')\n                        .scrollLeft(0);\n                $forward.show();\n                $backward.show();\n\n            }\n\n            $t._update();\n\n            $window.on('resize', function () {\n                reelWidth = $reel[0].scrollWidth;\n                $t._update();\n            }).trigger('resize');\n\n        });\n\n    });\n\n})(jQuery);\n\n//# sourceURL=webpack://Constellation/./src/js/main.js?");
  
  /***/ }),
  
  /***/ "./src/js/util.js":
  /*!************************!*\
    !*** ./src/js/util.js ***!
    \************************/
  /***/ (() => {
  
  eval("(function ($) {\n\n    /**\n     * Generate an indented list of links from a nav. Meant for use with panel().\n     * @return {jQuery} jQuery object.\n     */\n    $.fn.navList = function () {\n\n        var $this = $(this);\n        $a = $this.find('a'),\n                b = [];\n\n        $a.each(function () {\n\n            var $this = $(this),\n                    indent = Math.max(0, $this.parents('li').length - 1),\n                    href = $this.attr('href'),\n                    target = $this.attr('target');\n\n            b.push(\n                    '<a ' +\n                    'class=\"link depth-' + indent + '\"' +\n                    ((typeof target !== 'undefined' && target != '') ? ' target=\"' + target + '\"' : '') +\n                    ((typeof href !== 'undefined' && href != '') ? ' href=\"' + href + '\"' : '') +\n                    '>' +\n                    '<span class=\"indent-' + indent + '\"></span>' +\n                    $this.text() +\n                    '</a>'\n                    );\n\n        });\n\n        return b.join('');\n\n    };\n\n    /**\n     * Panel-ify an element.\n     * @param {object} userConfig User config.\n     * @return {jQuery} jQuery object.\n     */\n    $.fn.panel = function (userConfig) {\n\n        // No elements?\n        if (this.length == 0)\n            return $this;\n\n        // Multiple elements?\n        if (this.length > 1) {\n\n            for (var i = 0; i < this.length; i++)\n                $(this[i]).panel(userConfig);\n\n            return $this;\n\n        }\n\n        // Vars.\n        var $this = $(this),\n                $body = $('body'),\n                $window = $(window),\n                id = $this.attr('id'),\n                config;\n\n        // Config.\n        config = $.extend({\n\n            // Delay.\n            delay: 0,\n\n            // Hide panel on link click.\n            hideOnClick: false,\n\n            // Hide panel on escape keypress.\n            hideOnEscape: false,\n\n            // Hide panel on swipe.\n            hideOnSwipe: false,\n\n            // Reset scroll position on hide.\n            resetScroll: false,\n\n            // Reset forms on hide.\n            resetForms: false,\n\n            // Side of viewport the panel will appear.\n            side: null,\n\n            // Target element for \"class\".\n            target: $this,\n\n            // Class to toggle.\n            visibleClass: 'visible'\n\n        }, userConfig);\n\n        // Expand \"target\" if it's not a jQuery object already.\n        if (typeof config.target != 'jQuery')\n            config.target = $(config.target);\n\n        // Panel.\n\n        // Methods.\n        $this._hide = function (event) {\n\n            // Already hidden? Bail.\n            if (!config.target.hasClass(config.visibleClass))\n                return;\n\n            // If an event was provided, cancel it.\n            if (event) {\n\n                event.preventDefault();\n                event.stopPropagation();\n\n            }\n\n            // Hide.\n            config.target.removeClass(config.visibleClass);\n\n            // Post-hide stuff.\n            window.setTimeout(function () {\n\n                // Reset scroll position.\n                if (config.resetScroll)\n                    $this.scrollTop(0);\n\n                // Reset forms.\n                if (config.resetForms)\n                    $this.find('form').each(function () {\n                        this.reset();\n                    });\n\n            }, config.delay);\n\n        };\n\n        // Vendor fixes.\n        $this\n                .css('-ms-overflow-style', '-ms-autohiding-scrollbar')\n                .css('-webkit-overflow-scrolling', 'touch');\n\n        // Hide on click.\n        if (config.hideOnClick) {\n\n            $this.find('a')\n                    .css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');\n\n            $this\n                    .on('click', 'a', function (event) {\n\n                        var $a = $(this),\n                                href = $a.attr('href'),\n                                target = $a.attr('target');\n\n                        if (!href || href == '#' || href == '' || href == '#' + id)\n                            return;\n\n                        // Cancel original event.\n                        event.preventDefault();\n                        event.stopPropagation();\n\n                        // Hide panel.\n                        $this._hide();\n\n                        // Redirect to href.\n                        window.setTimeout(function () {\n\n                            if (target == '_blank')\n                                window.open(href);\n                            else\n                                window.location.href = href;\n\n                        }, config.delay + 10);\n\n                    });\n\n        }\n\n        // Event: Touch stuff.\n        $this.on('touchstart', function (event) {\n\n            $this.touchPosX = event.originalEvent.touches[0].pageX;\n            $this.touchPosY = event.originalEvent.touches[0].pageY;\n\n        })\n\n        $this.on('touchmove', function (event) {\n\n            if ($this.touchPosX === null\n                    || $this.touchPosY === null)\n                return;\n\n            var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,\n                    diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,\n                    th = $this.outerHeight(),\n                    ts = ($this.get(0).scrollHeight - $this.scrollTop());\n\n            // Hide on swipe?\n            if (config.hideOnSwipe) {\n\n                var result = false,\n                        boundary = 20,\n                        delta = 50;\n\n                switch (config.side) {\n\n                    case 'left':\n                        result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);\n                        break;\n\n                    case 'right':\n                        result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));\n                        break;\n\n                    case 'top':\n                        result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);\n                        break;\n\n                    case 'bottom':\n                        result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));\n                        break;\n\n                    default:\n                        break;\n\n                }\n\n                if (result) {\n\n                    $this.touchPosX = null;\n                    $this.touchPosY = null;\n                    $this._hide();\n\n                    return false;\n\n                }\n\n            }\n\n            // Prevent vertical scrolling past the top or bottom.\n            if (($this.scrollTop() < 0 && diffY < 0)\n                    || (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {\n\n                event.preventDefault();\n                event.stopPropagation();\n\n            }\n\n        });\n\n        // Event: Prevent certain events inside the panel from bubbling.\n        $this.on('click touchend touchstart touchmove', function (event) {\n            event.stopPropagation();\n        });\n\n        // Event: Hide panel if a child anchor tag pointing to its ID is clicked.\n        $this.on('click', 'a[href=\"#' + id + '\"]', function (event) {\n\n            event.preventDefault();\n            event.stopPropagation();\n\n            config.target.removeClass(config.visibleClass);\n\n        });\n\n        // Body.\n\n        // Event: Hide panel on body click/tap.\n        $body.on('click touchend', function (event) {\n            $this._hide(event);\n        });\n\n        // Event: Toggle.\n        $body.on('click', 'a[href=\"#' + id + '\"]', function (event) {\n\n            event.preventDefault();\n            event.stopPropagation();\n\n            config.target.toggleClass(config.visibleClass);\n\n        });\n\n        // Window.\n\n        // Event: Hide on ESC.\n        if (config.hideOnEscape)\n            $window.on('keydown', function (event) {\n\n                if (event.keyCode == 27)\n                    $this._hide(event);\n\n            });\n\n        return $this;\n\n    };\n\n    /**\n     * Apply \"placeholder\" attribute polyfill to one or more forms.\n     * @return {jQuery} jQuery object.\n     */\n    $.fn.placeholder = function () {\n\n        // Browser natively supports placeholders? Bail.\n        if (typeof (document.createElement('input')).placeholder != 'undefined')\n            return $(this);\n\n        // No elements?\n        if (this.length == 0)\n            return $this;\n\n        // Multiple elements?\n        if (this.length > 1) {\n\n            for (var i = 0; i < this.length; i++)\n                $(this[i]).placeholder();\n\n            return $this;\n\n        }\n\n        // Vars.\n        var $this = $(this);\n\n        // Text, TextArea.\n        $this.find('input[type=text],textarea')\n                .each(function () {\n\n                    var i = $(this);\n\n                    if (i.val() == ''\n                            || i.val() == i.attr('placeholder'))\n                        i\n                                .addClass('polyfill-placeholder')\n                                .val(i.attr('placeholder'));\n\n                })\n                .on('blur', function () {\n\n                    var i = $(this);\n\n                    if (i.attr('name').match(/-polyfill-field$/))\n                        return;\n\n                    if (i.val() == '')\n                        i\n                                .addClass('polyfill-placeholder')\n                                .val(i.attr('placeholder'));\n\n                })\n                .on('focus', function () {\n\n                    var i = $(this);\n\n                    if (i.attr('name').match(/-polyfill-field$/))\n                        return;\n\n                    if (i.val() == i.attr('placeholder'))\n                        i\n                                .removeClass('polyfill-placeholder')\n                                .val('');\n\n                });\n\n        // Password.\n        $this.find('input[type=password]')\n                .each(function () {\n\n                    var i = $(this);\n                    var x = $(\n                            $('<div>')\n                            .append(i.clone())\n                            .remove()\n                            .html()\n                            .replace(/type=\"password\"/i, 'type=\"text\"')\n                            .replace(/type=password/i, 'type=text')\n                            );\n\n                    if (i.attr('id') != '')\n                        x.attr('id', i.attr('id') + '-polyfill-field');\n\n                    if (i.attr('name') != '')\n                        x.attr('name', i.attr('name') + '-polyfill-field');\n\n                    x.addClass('polyfill-placeholder')\n                            .val(x.attr('placeholder')).insertAfter(i);\n\n                    if (i.val() == '')\n                        i.hide();\n                    else\n                        x.hide();\n\n                    i\n                            .on('blur', function (event) {\n\n                                event.preventDefault();\n\n                                var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');\n\n                                if (i.val() == '') {\n\n                                    i.hide();\n                                    x.show();\n\n                                }\n\n                            });\n\n                    x\n                            .on('focus', function (event) {\n\n                                event.preventDefault();\n\n                                var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');\n\n                                x.hide();\n\n                                i\n                                        .show()\n                                        .focus();\n\n                            })\n                            .on('keypress', function (event) {\n\n                                event.preventDefault();\n                                x.val('');\n\n                            });\n\n                });\n\n        // Events.\n        $this\n                .on('submit', function () {\n\n                    $this.find('input[type=text],input[type=password],textarea')\n                            .each(function (event) {\n\n                                var i = $(this);\n\n                                if (i.attr('name').match(/-polyfill-field$/))\n                                    i.attr('name', '');\n\n                                if (i.val() == i.attr('placeholder')) {\n\n                                    i.removeClass('polyfill-placeholder');\n                                    i.val('');\n\n                                }\n\n                            });\n\n                })\n                .on('reset', function (event) {\n\n                    event.preventDefault();\n\n                    $this.find('select')\n                            .val($('option:first').val());\n\n                    $this.find('input,textarea')\n                            .each(function () {\n\n                                var i = $(this),\n                                        x;\n\n                                i.removeClass('polyfill-placeholder');\n\n                                switch (this.type) {\n\n                                    case 'submit':\n                                    case 'reset':\n                                        break;\n\n                                    case 'password':\n                                        i.val(i.attr('defaultValue'));\n\n                                        x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');\n\n                                        if (i.val() == '') {\n                                            i.hide();\n                                            x.show();\n                                        } else {\n                                            i.show();\n                                            x.hide();\n                                        }\n\n                                        break;\n\n                                    case 'checkbox':\n                                    case 'radio':\n                                        i.attr('checked', i.attr('defaultValue'));\n                                        break;\n\n                                    case 'text':\n                                    case 'textarea':\n                                        i.val(i.attr('defaultValue'));\n\n                                        if (i.val() == '') {\n                                            i.addClass('polyfill-placeholder');\n                                            i.val(i.attr('placeholder'));\n                                        }\n\n                                        break;\n\n                                    default:\n                                        i.val(i.attr('defaultValue'));\n                                        break;\n\n                                }\n                            });\n\n                });\n\n        return $this;\n\n    };\n\n    /**\n     * Moves elements to/from the first positions of their respective parents.\n     * @param {jQuery} $elements Elements (or selector) to move.\n     * @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.\n     */\n    $.prioritize = function ($elements, condition) {\n\n        var key = '__prioritize';\n\n        // Expand $elements if it's not already a jQuery object.\n        if (typeof $elements != 'jQuery')\n            $elements = $($elements);\n\n        // Step through elements.\n        $elements.each(function () {\n\n            var $e = $(this), $p,\n                    $parent = $e.parent();\n\n            // No parent? Bail.\n            if ($parent.length == 0)\n                return;\n\n            // Not moved? Move it.\n            if (!$e.data(key)) {\n\n                // Condition is false? Bail.\n                if (!condition)\n                    return;\n\n                // Get placeholder (which will serve as our point of reference for when this element needs to move back).\n                $p = $e.prev();\n\n                // Couldn't find anything? Means this element's already at the top, so bail.\n                if ($p.length == 0)\n                    return;\n\n                // Move element to top of parent.\n                $e.prependTo($parent);\n\n                // Mark element as moved.\n                $e.data(key, $p);\n\n            }\n\n            // Moved already?\n            else {\n\n                // Condition is true? Bail.\n                if (condition)\n                    return;\n\n                $p = $e.data(key);\n\n                // Move element back to its original location (using our placeholder).\n                $e.insertAfter($p);\n\n                // Unmark element as moved.\n                $e.removeData(key);\n\n            }\n\n        });\n\n    };\n\n})(jQuery);\n\n//# sourceURL=webpack://Constellation/./src/js/util.js?");
  
  /***/ })
  
  /******/ 	});
  /************************************************************************/
  /******/ 	// The require scope
  /******/ 	var __webpack_require__ = {};
  /******/ 	
  /************************************************************************/
  /******/ 	/* webpack/runtime/define property getters */
  /******/ 	(() => {
  /******/ 		// define getter functions for harmony exports
  /******/ 		__webpack_require__.d = (exports, definition) => {
  /******/ 			for(var key in definition) {
  /******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  /******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  /******/ 				}
  /******/ 			}
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/global */
  /******/ 	(() => {
  /******/ 		__webpack_require__.g = (function() {
  /******/ 			if (typeof globalThis === 'object') return globalThis;
  /******/ 			try {
  /******/ 				return this || new Function('return this')();
  /******/ 			} catch (e) {
  /******/ 				if (typeof window === 'object') return window;
  /******/ 			}
  /******/ 		})();
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/hasOwnProperty shorthand */
  /******/ 	(() => {
  /******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/make namespace object */
  /******/ 	(() => {
  /******/ 		// define __esModule on exports
  /******/ 		__webpack_require__.r = (exports) => {
  /******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 			}
  /******/ 			Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/publicPath */
  /******/ 	(() => {
  /******/ 		var scriptUrl;
  /******/ 		if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
  /******/ 		var document = __webpack_require__.g.document;
  /******/ 		if (!scriptUrl && document) {
  /******/ 			if (document.currentScript)
  /******/ 				scriptUrl = document.currentScript.src
  /******/ 			if (!scriptUrl) {
  /******/ 				var scripts = document.getElementsByTagName("script");
  /******/ 				if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
  /******/ 			}
  /******/ 		}
  /******/ 		// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
  /******/ 		// or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
  /******/ 		if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
  /******/ 		scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
  /******/ 		__webpack_require__.p = scriptUrl;
  /******/ 	})();
  /******/ 	
  /************************************************************************/
  /******/ 	
  /******/ 	// startup
  /******/ 	// Load entry module and return exports
  /******/ 	// This entry module can't be inlined because the eval devtool is used.
  /******/ 	__webpack_modules__["./src/js/util.js"](0, {}, __webpack_require__);
  /******/ 	__webpack_modules__["./src/js/main.js"](0, {}, __webpack_require__);
  /******/ 	var __webpack_exports__ = {};
  /******/ 	__webpack_modules__["./src/sass/main.scss"](0, __webpack_exports__, __webpack_require__);
  /******/ 	
  /******/ })()
  ;