/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "./webpack/scripts.js");
/******/ })
/************************************************************************/
/******/ ({

/***/ "../src/assets/js/global/components/base/app.js":
/*!******************************************************!*\
  !*** ../src/assets/js/global/components/base/app.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n\r\n/**\r\n * @class KApp\r\n */\r\n\r\nvar KTApp = function() {\r\n    /** @type {object} colors State colors **/\r\n    var colors = {};\r\n\r\n    var initTooltip = function(el) {\r\n        var skin = el.data('skin') ? 'tooltip-' + el.data('skin') : '';\r\n        var width = el.data('width') == 'auto' ? 'tooltop-auto-width' : '';\r\n        var triggerValue = el.data('trigger') ? el.data('trigger') : 'hover';\r\n        var placement = el.data('placement') ? el.data('placement') : 'left';\r\n\r\n        el.tooltip({\r\n            trigger: triggerValue,\r\n            template: '<div class=\"tooltip ' + skin + ' ' + width + '\" role=\"tooltip\">\\\r\n                <div class=\"arrow\"></div>\\\r\n                <div class=\"tooltip-inner\"></div>\\\r\n            </div>'\r\n        });\r\n    }\r\n\r\n    var initTooltips = function() {\r\n        // init bootstrap tooltips\r\n        $('[data-toggle=\"kt-tooltip\"]').each(function() {\r\n            initTooltip($(this));\r\n        });\r\n    }\r\n\r\n    var initPopover = function(el) {\r\n        var skin = el.data('skin') ? 'popover-' + el.data('skin') : '';\r\n        var triggerValue = el.data('trigger') ? el.data('trigger') : 'hover';\r\n\r\n        el.popover({\r\n            trigger: triggerValue,\r\n            template: '\\\r\n            <div class=\"popover ' + skin + '\" role=\"tooltip\">\\\r\n                <div class=\"arrow\"></div>\\\r\n                <h3 class=\"popover-header\"></h3>\\\r\n                <div class=\"popover-body\"></div>\\\r\n            </div>'\r\n        });\r\n    }\r\n\r\n    var initPopovers = function() {\r\n        // init bootstrap popover\r\n        $('[data-toggle=\"kt-popover\"]').each(function() {\r\n            initPopover($(this));\r\n        });\r\n    }\r\n\r\n    var initFileInput = function() {\r\n        // init bootstrap popover\r\n        $('.custom-file-input').on('change', function() {\r\n            var fileName = $(this).val();\r\n            $(this).next('.custom-file-label').addClass(\"selected\").html(fileName);\r\n        });\r\n    }\r\n\r\n    var initPortlet = function(el, options) {\r\n        // init portlet tools\r\n        var el = $(el);\r\n        var portlet = new KTPortlet(el[0], options);\r\n    }\r\n\r\n    var initPortlets = function() {\r\n        // init portlet tools\r\n        $('[data-ktportlet=\"true\"]').each(function() {\r\n            var el = $(this);\r\n\r\n            if (el.data('data-ktportlet-initialized') !== true) {\r\n                initPortlet(el, {});\r\n                el.data('data-ktportlet-initialized', true);\r\n            }\r\n        });\r\n    }\r\n\r\n    var initScroll = function() {\r\n        $('[data-scroll=\"true\"]').each(function() {\r\n            var el = $(this);\r\n            KTUtil.scrollInit(this, {\r\n                mobileNativeScroll: true,\r\n                handleWindowResize: true,\r\n                rememberPosition: (el.data('remember-position') == 'true' ? true : false),\r\n                height: function() {\r\n                    if (KTUtil.isInResponsiveRange('tablet-and-mobile') && el.data('mobile-height')) {\r\n                        return el.data('mobile-height');\r\n                    } else {\r\n                        return el.data('height');\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    var initAlerts = function() {\r\n        // init bootstrap popover\r\n        $('body').on('click', '[data-close=alert]', function() {\r\n            $(this).closest('.alert').hide();\r\n        });\r\n    }\r\n\r\n    var initSticky = function() {\r\n        var sticky = new Sticky('[data-sticky=\"true\"]');\r\n    }\r\n\r\n    var initAbsoluteDropdown = function(context) {\r\n        var dropdownMenu;\r\n\r\n        if (!context) {\r\n            return;\r\n        }\r\n\r\n        $('body').on('show.bs.dropdown', context, function(e) {\r\n        \tdropdownMenu = $(e.target).find('.dropdown-menu');\r\n        \t$('body').append(dropdownMenu.detach());\r\n        \tdropdownMenu.css('display', 'block');\r\n        \tdropdownMenu.position({\r\n        \t\t'my': 'right top',\r\n        \t\t'at': 'right bottom',\r\n        \t\t'of': $(e.relatedTarget),\r\n        \t});\r\n        }).on('hide.bs.dropdown', context, function(e) {\r\n        \t$(e.target).append(dropdownMenu.detach());\r\n        \tdropdownMenu.hide();\r\n        });\r\n    }\r\n\r\n    var initAbsoluteDropdowns = function() {\r\n        $('body').on('show.bs.dropdown', function(e) {\r\n            if ( $(e.target).find(\"[data-attach='body']\").length === 0) {\r\n                return;\r\n            }\r\n\r\n            var dropdownMenu = $(e.target).find('.dropdown-menu');\r\n\r\n            $('body').append(dropdownMenu.detach());\r\n            dropdownMenu.css('display', 'block');\r\n            dropdownMenu.position({\r\n                'my': 'right top',\r\n                'at': 'right bottom',\r\n                'of': $(e.relatedTarget)\r\n            });\r\n        });\r\n\r\n        $('body').on('hide.bs.dropdown', function(e) {\r\n            if ( $(e.target).find(\"[data-attach='body']\").length === 0) {\r\n                return;\r\n            }\r\n\r\n            var dropdownMenu = $(e.target).find('.dropdown-menu');\r\n\r\n            $(e.target).append(dropdownMenu.detach());\r\n            dropdownMenu.hide();\r\n        });\r\n    }\r\n\r\n    return {\r\n        init: function(options) {\r\n            if (options && options.colors) {\r\n                colors = options.colors;\r\n            }\r\n\r\n            KTApp.initComponents();\r\n        },\r\n\r\n        initComponents: function() {\r\n            initScroll();\r\n            initTooltips();\r\n            initPopovers();\r\n            initAlerts();\r\n            initPortlets();\r\n            initFileInput();\r\n            initSticky();\r\n            initAbsoluteDropdowns();\r\n        },\r\n\r\n        initTooltips: function() {\r\n            initTooltips();\r\n        },\r\n\r\n        initTooltip: function(el) {\r\n            initTooltip(el);\r\n        },\r\n\r\n        initPopovers: function() {\r\n            initPopovers();\r\n        },\r\n\r\n        initPopover: function(el) {\r\n            initPopover(el);\r\n        },\r\n\r\n        initPortlet: function(el, options) {\r\n            initPortlet(el, options);\r\n        },\r\n\r\n        initPortlets: function() {\r\n            initPortlets();\r\n        },\r\n\r\n        initSticky: function() {\r\n            initSticky();\r\n        },\r\n\r\n        initAbsoluteDropdown: function(context) {\r\n            initAbsoluteDropdown(context);\r\n        },\r\n\r\n        block: function(target, options) {\r\n            var el = $(target);\r\n\r\n            options = $.extend(true, {\r\n                opacity: 0.05,\r\n                overlayColor: '#000000',\r\n                type: '',\r\n                size: '',\r\n                state: 'brand',\r\n                centerX: true,\r\n                centerY: true,\r\n                message: '',\r\n                shadow: true,\r\n                width: 'auto'\r\n            }, options);\r\n\r\n            var html;\r\n            var version = options.type ? 'kt-spinner--' + options.type : '';\r\n            var state = options.state ? 'kt-spinner--' + options.state : '';\r\n            var size = options.size ? 'kt-spinner--' + options.size : '';\r\n            var spinner = '<div class=\"kt-spinner ' + version + ' ' + state + ' ' + size + '\"></div';\r\n\r\n            if (options.message && options.message.length > 0) {\r\n                var classes = 'blockui ' + (options.shadow === false ? 'blockui' : '');\r\n\r\n                html = '<div class=\"' + classes + '\"><span>' + options.message + '</span><span>' + spinner + '</span></div>';\r\n\r\n                var el = document.createElement('div');\r\n                KTUtil.get('body').prepend(el);\r\n                KTUtil.addClass(el, classes);\r\n                el.innerHTML = '<span>' + options.message + '</span><span>' + spinner + '</span>';\r\n                options.width = KTUtil.actualWidth(el) + 10;\r\n                KTUtil.remove(el);\r\n\r\n                if (target == 'body') {\r\n                    html = '<div class=\"' + classes + '\" style=\"margin-left:-' + (options.width / 2) + 'px;\"><span>' + options.message + '</span><span>' + spinner + '</span></div>';\r\n                }\r\n            } else {\r\n                html = spinner;\r\n            }\r\n\r\n            var params = {\r\n                message: html,\r\n                centerY: options.centerY,\r\n                centerX: options.centerX,\r\n                css: {\r\n                    top: '30%',\r\n                    left: '50%',\r\n                    border: '0',\r\n                    padding: '0',\r\n                    backgroundColor: 'none',\r\n                    width: options.width\r\n                },\r\n                overlayCSS: {\r\n                    backgroundColor: options.overlayColor,\r\n                    opacity: options.opacity,\r\n                    cursor: 'wait',\r\n                    zIndex: '10'\r\n                },\r\n                onUnblock: function() {\r\n                    if (el && el[0]) {\r\n                        KTUtil.css(el[0], 'position', '');\r\n                        KTUtil.css(el[0], 'zoom', '');\r\n                    }\r\n                }\r\n            };\r\n\r\n            if (target == 'body') {\r\n                params.css.top = '50%';\r\n                $.blockUI(params);\r\n            } else {\r\n                var el = $(target);\r\n                el.block(params);\r\n            }\r\n        },\r\n\r\n        unblock: function(target) {\r\n            if (target && target != 'body') {\r\n                $(target).unblock();\r\n            } else {\r\n                $.unblockUI();\r\n            }\r\n        },\r\n\r\n        blockPage: function(options) {\r\n            return KTApp.block('body', options);\r\n        },\r\n\r\n        unblockPage: function() {\r\n            return KTApp.unblock('body');\r\n        },\r\n\r\n        progress: function(target, options) {\r\n            var skin = (options && options.skin) ? options.skin : 'light';\r\n            var alignment = (options && options.alignment) ? options.alignment : 'right';\r\n            var size = (options && options.size) ? ' kt-spinner--' + options.size : '';\r\n            var classes = 'kt-spinner ' + 'kt-spinner--' + skin + ' kt-spinner--' + alignment + size;\r\n\r\n            KTApp.unprogress(target);\r\n            KTUtil.attr(target, 'disabled', true);\r\n\r\n            $(target).addClass(classes);\r\n            $(target).data('progress-classes', classes);\r\n        },\r\n\r\n        unprogress: function(target) {\r\n            $(target).removeClass($(target).data('progress-classes'));\r\n            KTUtil.removeAttr(target, 'disabled');\r\n        },\r\n\r\n        getStateColor: function(name) {\r\n            return colors[\"state\"][name];\r\n        },\r\n\r\n        getBaseColor: function(type, level) {\r\n            return colors[\"base\"][type][level - 1];\r\n        }\r\n    };\r\n}();\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTApp;\r\n}\r\n\r\n// Initialize KTApp class on document ready\r\n$(document).ready(function() {\r\n    KTApp.init(KTAppOptions);\r\n});\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/app.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/avatar.js":
/*!*********************************************************!*\
  !*** ../src/assets/js/global/components/base/avatar.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// plugin setup\r\nvar KTAvatar = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return; \r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Construct\r\n         */\r\n\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('avatar')) {\r\n                the = KTUtil.data(element).get('avatar');\r\n            } else {\r\n                // reset menu\r\n                Plugin.init(options);\r\n\r\n                // build menu\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('avatar', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Init avatar\r\n         */\r\n        init: function(options) {\r\n            the.element = element;\r\n            the.events = [];\r\n\r\n            the.input = KTUtil.find(element, 'input[type=\"file\"]');\r\n            the.holder = KTUtil.find(element, '.kt-avatar__holder');\r\n            the.cancel = KTUtil.find(element, '.kt-avatar__cancel');\r\n            the.src = KTUtil.css(the.holder, 'backgroundImage');\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n        },\r\n\r\n        /**\r\n         * Build Form Wizard\r\n         */\r\n        build: function() {\r\n            // Handle avatar change\r\n            KTUtil.addEvent(the.input, 'change', function(e) {\r\n                e.preventDefault();\r\n\r\n\t            if (the.input && the.input.files && the.input.files[0]) {\r\n\t                var reader = new FileReader();\r\n\t                reader.onload = function(e) {\r\n\t                    KTUtil.css(the.holder, 'background-image', 'url('+e.target.result +')');\r\n\t                }\r\n\t                reader.readAsDataURL(the.input.files[0]);\r\n\r\n\t                KTUtil.addClass(the.element, 'kt-avatar--changed');\r\n\t            }\r\n            });\r\n\r\n            // Handle avatar cancel\r\n            KTUtil.addEvent(the.cancel, 'click', function(e) {\r\n                e.preventDefault();\r\n\r\n\t            KTUtil.removeClass(the.element, 'kt-avatar--changed');\r\n\t            KTUtil.css(the.holder, 'background-image', the.src);\r\n\t            the.input.value = \"\";\r\n            });\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name) {\r\n            //KTUtil.triggerCustomEvent(name);\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n\r\n            return the;\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options \r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n    \r\n    /**\r\n     * Attach event\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Attach event that will be fired once\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    // Construct plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTAvatar;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/avatar.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/dialog.js":
/*!*********************************************************!*\
  !*** ../src/assets/js/global/components/base/dialog.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n\r\n// plugin setup\r\nvar KTDialog = function(options) {\r\n    // Main object\r\n    var the = this;\r\n\r\n    // Get element object\r\n    var element;\r\n    var body = KTUtil.get('body');  \r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        'placement' : 'top center',\r\n        'type'  : 'loader',\r\n        'width' : 100,\r\n        'state' : 'default',\r\n        'message' : 'Loading...' \r\n    };    \r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Construct\r\n         */\r\n\r\n        construct: function(options) {\r\n            Plugin.init(options);\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles subtoggle click toggle\r\n         */\r\n        init: function(options) {\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n            the.state = false;\r\n        },\r\n\r\n        /**\r\n         * Show dialog\r\n         */\r\n        show: function() {\r\n            Plugin.eventTrigger('show');\r\n\r\n            element = document.createElement(\"DIV\");\r\n            KTUtil.setHTML(element, the.options.message);\r\n            \r\n            KTUtil.addClass(element, 'kt-dialog kt-dialog--shown');\r\n            KTUtil.addClass(element, 'kt-dialog--' + the.options.state);\r\n            KTUtil.addClass(element, 'kt-dialog--' + the.options.type); \r\n\r\n            if (the.options.placement == 'top center') {\r\n                KTUtil.addClass(element, 'kt-dialog--top-center');\r\n            }\r\n\r\n            body.appendChild(element);\r\n\r\n            the.state = 'shown';\r\n\r\n            Plugin.eventTrigger('shown');\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Hide dialog\r\n         */\r\n        hide: function() {\r\n            if (element) {\r\n                Plugin.eventTrigger('hide');\r\n\r\n                element.remove();\r\n                the.state = 'hidden';\r\n\r\n                Plugin.eventTrigger('hidden');\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name) {\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;                            \r\n                            return event.handler.call(this, the);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n\r\n            return the;\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options \r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Check shown state \r\n     */\r\n    the.shown = function() {\r\n        return the.state == 'shown';\r\n    };\r\n\r\n    /**\r\n     * Check hidden state \r\n     */\r\n    the.hidden = function() {\r\n        return the.state == 'hidden';\r\n    };\r\n\r\n    /**\r\n     * Show dialog \r\n     */\r\n    the.show = function() {\r\n        return Plugin.show();\r\n    };\r\n\r\n    /**\r\n     * Hide dialog\r\n     */\r\n    the.hide = function() {\r\n        return Plugin.hide();\r\n    };\r\n\r\n    /**\r\n     * Attach event\r\n     * @returns {KTToggle}\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Attach event that will be fired once\r\n     * @returns {KTToggle}\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    // Construct plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTDialog;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/dialog.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/header.js":
/*!*********************************************************!*\
  !*** ../src/assets/js/global/components/base/header.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar KTHeader = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (element === undefined) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        classic: false,\r\n        offset: {\r\n            mobile: 150,\r\n            desktop: 200\r\n        },\r\n        minimize: {\r\n            mobile: false,\r\n            desktop: false\r\n        }\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Run plugin\r\n         * @returns {KTHeader}\r\n         */\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('header')) {\r\n                the = KTUtil.data(element).get('header');\r\n            } else {\r\n                // reset header\r\n                Plugin.init(options);\r\n\r\n                // build header\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('header', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles subheader click toggle\r\n         * @returns {KTHeader}\r\n         */\r\n        init: function(options) {\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n        },\r\n\r\n        /**\r\n         * Reset header\r\n         * @returns {KTHeader}\r\n         */\r\n        build: function() {\r\n            var lastScrollTop = 0;\r\n            var eventTriggerState = true;\r\n            var viewportHeight = KTUtil.getViewPort().height;\r\n            var documentHeight = KTUtil.getDocumentHeight();\r\n\r\n            if (the.options.minimize.mobile === false && the.options.minimize.desktop === false) {\r\n                return;\r\n            }\r\n\r\n            window.addEventListener('scroll', function() {\r\n                var offset = 0, on, off, st;\r\n\r\n                if (KTUtil.isInResponsiveRange('desktop')) {\r\n                    offset = the.options.offset.desktop;\r\n                    on = the.options.minimize.desktop.on;\r\n                    off = the.options.minimize.desktop.off;\r\n                } else if (KTUtil.isInResponsiveRange('tablet-and-mobile')) {\r\n                    offset = the.options.offset.mobile;\r\n                    on = the.options.minimize.mobile.on;\r\n                    off = the.options.minimize.mobile.off;\r\n                }\r\n\r\n                st = KTUtil.getScrollTop();\r\n\r\n                if (\r\n                    (KTUtil.isInResponsiveRange('tablet-and-mobile') && the.options.classic && the.options.classic.mobile) ||\r\n                    (KTUtil.isInResponsiveRange('desktop') && the.options.classic && the.options.classic.desktop)\r\n                ) {\r\n                    if (st > offset) { // down scroll mode\r\n                        KTUtil.addClass(body, on);\r\n                        KTUtil.removeClass(body, off);\r\n\r\n                        if (eventTriggerState) {\r\n                            Plugin.eventTrigger('minimizeOn', the);\r\n                            eventTriggerState = false;\r\n                        }\r\n                    } else { // back scroll mode\r\n                        KTUtil.addClass(body, off);\r\n                        KTUtil.removeClass(body, on);\r\n\r\n                        if (eventTriggerState == false) {\r\n                            Plugin.eventTrigger('minimizeOff', the);\r\n                            eventTriggerState = true;\r\n                        }\r\n                    }\r\n                } else {\r\n                    if (st > offset && lastScrollTop < st) { // down scroll mode\r\n                        KTUtil.addClass(body, on);\r\n                        KTUtil.removeClass(body, off);\r\n\r\n                        if (eventTriggerState) {\r\n                            Plugin.eventTrigger('minimizeOn', the);\r\n                            eventTriggerState = false;\r\n                        }\r\n                    } else { // back scroll mode\r\n                        KTUtil.addClass(body, off);\r\n                        KTUtil.removeClass(body, on);\r\n\r\n                        if (eventTriggerState == false) {\r\n                            Plugin.eventTrigger('minimizeOff', the);\r\n                            eventTriggerState = true;\r\n                        }\r\n                    }\r\n\r\n                    lastScrollTop = st;\r\n                }\r\n            });\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name, args) {\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the, args);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the, args);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options\r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Register event\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    ///////////////////////////////\r\n    // ** Plugin Construction ** //\r\n    ///////////////////////////////\r\n\r\n    // Run plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    // Init done\r\n    init = true;\r\n\r\n    // Return plugin instance\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTHeader;\r\n}\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/header.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/menu.js":
/*!*******************************************************!*\
  !*** ../src/assets/js/global/components/base/menu.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar KTMenu = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        // scrollable area with Perfect Scroll\r\n        scroll: {\r\n            rememberPosition: false\r\n        },\r\n\r\n        // accordion submenu mode\r\n        accordion: {\r\n            slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n            autoScroll: false, // enable auto scrolling(focus) to the clicked menu item\r\n            autoScrollSpeed: 1200,\r\n            expandAll: true // allow having multiple expanded accordions in the menu\r\n        },\r\n\r\n        // dropdown submenu mode\r\n        dropdown: {\r\n            timeout: 500 // timeout in milliseconds to show and hide the hoverable submenu dropdown\r\n        }\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Run plugin\r\n         * @returns {KTMenu}\r\n         */\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('menu')) {\r\n                the = KTUtil.data(element).get('menu');\r\n            } else {\r\n                // reset menu\r\n                Plugin.init(options);\r\n\r\n                // reset menu\r\n                Plugin.reset();\r\n\r\n                // build menu\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('menu', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles submenu click toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        init: function(options) {\r\n            the.events = [];\r\n\r\n            the.eventHandlers = {};\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n            // pause menu\r\n            the.pauseDropdownHoverTime = 0;\r\n\r\n            the.uid = KTUtil.getUniqueID();\r\n        },\r\n\r\n        update: function(options) {\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n            // pause menu\r\n            the.pauseDropdownHoverTime = 0;\r\n\r\n             // reset menu\r\n            Plugin.reset();\r\n\r\n            the.eventHandlers = {};\r\n\r\n            // build menu\r\n            Plugin.build();\r\n\r\n            KTUtil.data(element).set('menu', the);\r\n        },\r\n\r\n        reload: function() {\r\n             // reset menu\r\n            Plugin.reset();\r\n\r\n            // build menu\r\n            Plugin.build();\r\n\r\n            // reset submenu props\r\n            Plugin.resetSubmenuProps();\r\n        },\r\n\r\n        /**\r\n         * Reset menu\r\n         * @returns {KTMenu}\r\n         */\r\n        build: function() {\r\n            // General accordion submenu toggle\r\n            the.eventHandlers['event_1'] = KTUtil.on( element, '.kt-menu__toggle', 'click', Plugin.handleSubmenuAccordion);\r\n\r\n            // Dropdown mode(hoverable)\r\n            if (Plugin.getSubmenuMode() === 'dropdown' || Plugin.isConditionalSubmenuDropdown()) {\r\n                // dropdown submenu - hover toggle\r\n                the.eventHandlers['event_2'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\r\n                the.eventHandlers['event_3'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\r\n\r\n                // dropdown submenu - click toggle\r\n                the.eventHandlers['event_4'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"click\"] > .kt-menu__toggle, [data-ktmenu-submenu-toggle=\"click\"] > .kt-menu__link .kt-menu__toggle', 'click', Plugin.handleSubmenuDropdownClick);\r\n                the.eventHandlers['event_5'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"tab\"] > .kt-menu__toggle, [data-ktmenu-submenu-toggle=\"tab\"] > .kt-menu__link .kt-menu__toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\r\n            }\r\n\r\n            // handle link click\r\n            the.eventHandlers['event_6'] = KTUtil.on(element, '.kt-menu__item > .kt-menu__link:not(.kt-menu__toggle):not(.kt-menu__link--toggle-skip)', 'click', Plugin.handleLinkClick);\r\n\r\n            // Init scrollable menu\r\n            if (the.options.scroll && the.options.scroll.height) {\r\n                Plugin.scrollInit();\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Reset menu\r\n         * @returns {KTMenu}\r\n         */\r\n        reset: function() {\r\n            KTUtil.off( element, 'click', the.eventHandlers['event_1']);\r\n\r\n            // dropdown submenu - hover toggle\r\n            KTUtil.off( element, 'mouseover', the.eventHandlers['event_2']);\r\n            KTUtil.off( element, 'mouseout', the.eventHandlers['event_3']);\r\n\r\n            // dropdown submenu - click toggle\r\n            KTUtil.off( element, 'click', the.eventHandlers['event_4']);\r\n            KTUtil.off( element, 'click', the.eventHandlers['event_5']);\r\n\r\n            // handle link click\r\n            KTUtil.off(element, 'click', the.eventHandlers['event_6']);\r\n        },\r\n\r\n        /**\r\n         * Init scroll menu\r\n         *\r\n        */\r\n        scrollInit: function() {\r\n            if ( the.options.scroll && the.options.scroll.height ) {\r\n                KTUtil.scrollDestroy(element);\r\n                KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition});\r\n            } else {\r\n                KTUtil.scrollDestroy(element);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Update scroll menu\r\n        */\r\n        scrollUpdate: function() {\r\n            if ( the.options.scroll && the.options.scroll.height ) {\r\n                KTUtil.scrollUpdate(element);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Scroll top\r\n        */\r\n        scrollTop: function() {\r\n            if ( the.options.scroll && the.options.scroll.height ) {\r\n                KTUtil.scrollTop(element);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get submenu mode for current breakpoint and menu state\r\n         * @returns {KTMenu}\r\n         */\r\n        getSubmenuMode: function(el) {\r\n            if ( KTUtil.isInResponsiveRange('desktop') ) {\r\n                if (el && KTUtil.hasAttr(el, 'data-ktmenu-submenu-toggle') && KTUtil.attr(el, 'data-ktmenu-submenu-toggle') == 'hover') {\r\n                    return 'dropdown';\r\n                }\r\n\r\n                if ( KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n                    if ( KTUtil.hasClasses(body, the.options.submenu.desktop.state.body) ) {\r\n                        return the.options.submenu.desktop.state.mode;\r\n                    } else {\r\n                        return the.options.submenu.desktop.default;\r\n                    }\r\n                } else if ( KTUtil.isset(the.options.submenu, 'desktop') ) {\r\n                    return the.options.submenu.desktop;\r\n                }\r\n            } else if ( KTUtil.isInResponsiveRange('tablet') && KTUtil.isset(the.options.submenu, 'tablet') ) {\r\n                return the.options.submenu.tablet;\r\n            } else if ( KTUtil.isInResponsiveRange('mobile') && KTUtil.isset(the.options.submenu, 'mobile') ) {\r\n                return the.options.submenu.mobile;\r\n            } else {\r\n                return false;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get submenu mode for current breakpoint and menu state\r\n         * @returns {KTMenu}\r\n         */\r\n        isConditionalSubmenuDropdown: function() {\r\n            if ( KTUtil.isInResponsiveRange('desktop') && KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n                return true;\r\n            } else {\r\n                return false;\r\n            }\r\n        },\r\n\r\n\r\n        /**\r\n         * Reset submenu attributes\r\n         * @returns {KTMenu}\r\n         */\r\n        resetSubmenuProps: function(e) {\r\n            var submenus = KTUtil.findAll(element, '.kt-menu__submenu');\r\n            if ( submenus ) {\r\n                for (var i = 0, len = submenus.length; i < len; i++) {\r\n                    KTUtil.css(submenus[0], 'display', '');\r\n                    KTUtil.css(submenus[0], 'overflow', '');\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Handles submenu hover toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuDrodownHoverEnter: function(e) {\r\n            if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n                return;\r\n            }\r\n\r\n            if ( the.resumeDropdownHover() === false ) {\r\n                return;\r\n            }\r\n\r\n            var item = this;\r\n\r\n            if ( item.getAttribute('data-hover') == '1' ) {\r\n                item.removeAttribute('data-hover');\r\n                clearTimeout( item.getAttribute('data-timeout') );\r\n                item.removeAttribute('data-timeout');\r\n                //Plugin.hideSubmenuDropdown(item, false);\r\n            }\r\n\r\n            // console.log('test!');\r\n\r\n            Plugin.showSubmenuDropdown(item);\r\n        },\r\n\r\n        /**\r\n         * Handles submenu hover toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuDrodownHoverExit: function(e) {\r\n            if ( the.resumeDropdownHover() === false ) {\r\n                return;\r\n            }\r\n\r\n            if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n                return;\r\n            }\r\n\r\n            var item = this;\r\n            var time = the.options.dropdown.timeout;\r\n\r\n            var timeout = setTimeout(function() {\r\n                if ( item.getAttribute('data-hover') == '1' ) {\r\n                    Plugin.hideSubmenuDropdown(item, true);\r\n                }\r\n            }, time);\r\n\r\n            item.setAttribute('data-hover', '1');\r\n            item.setAttribute('data-timeout', timeout);\r\n        },\r\n\r\n        /**\r\n         * Handles submenu click toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuDropdownClick: function(e) {\r\n            if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n                return;\r\n            }\r\n\r\n            var item = this.closest('.kt-menu__item');\r\n\r\n            if ( item.getAttribute('data-ktmenu-submenu-mode') == 'accordion' ) {\r\n                return;\r\n            }\r\n\r\n            if ( KTUtil.hasClass(item, 'kt-menu__item--hover') === false ) {\r\n                KTUtil.addClass(item, 'kt-menu__item--open-dropdown');\r\n                Plugin.showSubmenuDropdown(item);\r\n            } else {\r\n                KTUtil.removeClass(item, 'kt-menu__item--open-dropdown' );\r\n                Plugin.hideSubmenuDropdown(item, true);\r\n            }\r\n\r\n            e.preventDefault();\r\n        },\r\n\r\n        /**\r\n         * Handles tab click toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuDropdownTabClick: function(e) {\r\n            if (Plugin.getSubmenuMode(this) === 'accordion') {\r\n                return;\r\n            }\r\n\r\n            var item = this.closest('.kt-menu__item');\r\n\r\n            if (item.getAttribute('data-ktmenu-submenu-mode') == 'accordion') {\r\n                return;\r\n            }\r\n\r\n            if (KTUtil.hasClass(item, 'kt-menu__item--hover') == false) {\r\n                KTUtil.addClass(item, 'kt-menu__item--open-dropdown');\r\n                Plugin.showSubmenuDropdown(item);\r\n            }\r\n\r\n            e.preventDefault();\r\n        },\r\n\r\n        /**\r\n         * Handles link click\r\n         * @returns {KTMenu}\r\n         */\r\n        handleLinkClick: function(e) {\r\n            var submenu = this.closest('.kt-menu__item.kt-menu__item--submenu'); //\r\n\r\n            var result = Plugin.eventTrigger('linkClick', this, e);\r\n            if (result === false) {\r\n                return;\r\n            }\r\n\r\n            if ( submenu && Plugin.getSubmenuMode(submenu) === 'dropdown' ) {\r\n                Plugin.hideSubmenuDropdowns();\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Handles submenu dropdown close on link click\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuDropdownClose: function(e, el) {\r\n            // exit if its not submenu dropdown mode\r\n            if (Plugin.getSubmenuMode(el) === 'accordion') {\r\n                return;\r\n            }\r\n\r\n            var shown = element.querySelectorAll('.kt-menu__item.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-menu__item--tabs)');\r\n\r\n            // check if currently clicked link's parent item ha\r\n            if (shown.length > 0 && KTUtil.hasClass(el, 'kt-menu__toggle') === false && el.querySelectorAll('.kt-menu__toggle').length === 0) {\r\n                // close opened dropdown menus\r\n                for (var i = 0, len = shown.length; i < len; i++) {\r\n                    Plugin.hideSubmenuDropdown(shown[0], true);\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * helper functions\r\n         * @returns {KTMenu}\r\n         */\r\n        handleSubmenuAccordion: function(e, el) {\r\n            var query;\r\n            var item = el ? el : this;\r\n\r\n            if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.kt-menu__item') ) ) {\r\n                if (query.getAttribute('data-ktmenu-submenu-mode') != 'accordion' ) {\r\n                    e.preventDefault();\r\n                    return;\r\n                }\r\n            }\r\n\r\n            var li = item.closest('.kt-menu__item');\r\n            var submenu = KTUtil.child(li, '.kt-menu__submenu, .kt-menu__inner');\r\n\r\n            if (KTUtil.hasClass(item.closest('.kt-menu__item'), 'kt-menu__item--open-always')) {\r\n                return;\r\n            }\r\n\r\n            if ( li && submenu ) {\r\n                e.preventDefault();\r\n                var speed = the.options.accordion.slideSpeed;\r\n                var hasClosables = false;\r\n\r\n                if ( KTUtil.hasClass(li, 'kt-menu__item--open') === false ) {\r\n                    // hide other accordions\r\n                    if ( the.options.accordion.expandAll === false ) {\r\n                        var subnav = item.closest('.kt-menu__nav, .kt-menu__subnav');\r\n                        var closables = KTUtil.children(subnav, '.kt-menu__item.kt-menu__item--open.kt-menu__item--submenu:not(.kt-menu__item--here):not(.kt-menu__item--open-always)');\r\n\r\n                        if ( subnav && closables ) {\r\n                            for (var i = 0, len = closables.length; i < len; i++) {\r\n                                var el_ = closables[0];\r\n                                var submenu_ = KTUtil.child(el_, '.kt-menu__submenu');\r\n                                if ( submenu_ ) {\r\n                                    KTUtil.slideUp(submenu_, speed, function() {\r\n                                        Plugin.scrollUpdate();\r\n                                        KTUtil.removeClass(el_, 'kt-menu__item--open');\r\n                                    });\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    KTUtil.slideDown(submenu, speed, function() {\r\n                        Plugin.scrollToItem(item);\r\n                        Plugin.scrollUpdate();\r\n\r\n                        Plugin.eventTrigger('submenuToggle', submenu, e);\r\n                    });\r\n\r\n                    KTUtil.addClass(li, 'kt-menu__item--open');\r\n\r\n                } else {\r\n                    KTUtil.slideUp(submenu, speed, function() {\r\n                        Plugin.scrollToItem(item);\r\n                        Plugin.eventTrigger('submenuToggle', submenu, e);\r\n                    });\r\n\r\n                    KTUtil.removeClass(li, 'kt-menu__item--open');\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * scroll to item function\r\n         * @returns {KTMenu}\r\n         */\r\n        scrollToItem: function(item) {\r\n            // handle auto scroll for accordion submenus\r\n            if ( KTUtil.isInResponsiveRange('desktop') && the.options.accordion.autoScroll && element.getAttribute('data-ktmenu-scroll') !== '1' ) {\r\n                KTUtil.scrollTo(item, the.options.accordion.autoScrollSpeed);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Hide submenu dropdown\r\n         * @returns {KTMenu}\r\n         */\r\n        hideSubmenuDropdown: function(item, classAlso) {\r\n            // remove submenu activation class\r\n            if ( classAlso ) {\r\n                KTUtil.removeClass(item, 'kt-menu__item--hover');\r\n                KTUtil.removeClass(item, 'kt-menu__item--active-tab');\r\n            }\r\n\r\n            // clear timeout\r\n            item.removeAttribute('data-hover');\r\n\r\n            if ( item.getAttribute('data-ktmenu-dropdown-toggle-class') ) {\r\n                KTUtil.removeClass(body, item.getAttribute('data-ktmenu-dropdown-toggle-class'));\r\n            }\r\n\r\n            var timeout = item.getAttribute('data-timeout');\r\n            item.removeAttribute('data-timeout');\r\n            clearTimeout(timeout);\r\n        },\r\n\r\n        /**\r\n         * Hide submenu dropdowns\r\n         * @returns {KTMenu}\r\n         */\r\n        hideSubmenuDropdowns: function() {\r\n            var items;\r\n            if ( items = element.querySelectorAll('.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-menu__item--tabs):not([data-ktmenu-submenu-toggle=\"tab\"])') ) {\r\n                for (var j = 0, cnt = items.length; j < cnt; j++) {\r\n                    Plugin.hideSubmenuDropdown(items[j], true);\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * helper functions\r\n         * @returns {KTMenu}\r\n         */\r\n        showSubmenuDropdown: function(item) {\r\n            // close active submenus\r\n            var list = element.querySelectorAll('.kt-menu__item--submenu.kt-menu__item--hover, .kt-menu__item--submenu.kt-menu__item--active-tab');\r\n\r\n            if ( list ) {\r\n                for (var i = 0, len = list.length; i < len; i++) {\r\n                    var el = list[i];\r\n                    if ( item !== el && el.contains(item) === false && item.contains(el) === false ) {\r\n                        Plugin.hideSubmenuDropdown(el, true);\r\n                    }\r\n                }\r\n            }\r\n\r\n            // add submenu activation class\r\n            KTUtil.addClass(item, 'kt-menu__item--hover');\r\n\r\n            if ( item.getAttribute('data-ktmenu-dropdown-toggle-class') ) {\r\n                KTUtil.addClass(body, item.getAttribute('data-ktmenu-dropdown-toggle-class'));\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Handles submenu slide toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        createSubmenuDropdownClickDropoff: function(el) {\r\n            var query;\r\n            var zIndex = (query = KTUtil.child(el, '.kt-menu__submenu') ? KTUtil.css(query, 'z-index') : 0) - 1;\r\n\r\n            var dropoff = document.createElement('<div class=\"kt-menu__dropoff\" style=\"background: transparent; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: ' + zIndex + '\"></div>');\r\n\r\n            body.appendChild(dropoff);\r\n\r\n            KTUtil.addEvent(dropoff, 'click', function(e) {\r\n                e.stopPropagation();\r\n                e.preventDefault();\r\n                KTUtil.remove(this);\r\n                Plugin.hideSubmenuDropdown(el, true);\r\n            });\r\n        },\r\n\r\n        /**\r\n         * Handles submenu hover toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        pauseDropdownHover: function(time) {\r\n            var date = new Date();\r\n\r\n            the.pauseDropdownHoverTime = date.getTime() + time;\r\n        },\r\n\r\n        /**\r\n         * Handles submenu hover toggle\r\n         * @returns {KTMenu}\r\n         */\r\n        resumeDropdownHover: function() {\r\n            var date = new Date();\r\n\r\n            return (date.getTime() > the.pauseDropdownHoverTime ? true : false);\r\n        },\r\n\r\n        /**\r\n         * Reset menu's current active item\r\n         * @returns {KTMenu}\r\n         */\r\n        resetActiveItem: function(item) {\r\n            var list;\r\n            var parents;\r\n\r\n            list = element.querySelectorAll('.kt-menu__item--active');\r\n\r\n            for (var i = 0, len = list.length; i < len; i++) {\r\n                var el = list[0];\r\n                KTUtil.removeClass(el, 'kt-menu__item--active');\r\n                KTUtil.hide( KTUtil.child(el, '.kt-menu__submenu') );\r\n                parents = KTUtil.parents(el, '.kt-menu__item--submenu') || [];\r\n\r\n                for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) {\r\n                    var el_ = parents[i];\r\n                    KTUtil.removeClass(el_, 'kt-menu__item--open');\r\n                    KTUtil.hide( KTUtil.child(el_, '.kt-menu__submenu') );\r\n                }\r\n            }\r\n\r\n            // close open submenus\r\n            if ( the.options.accordion.expandAll === false ) {\r\n                if ( list = element.querySelectorAll('.kt-menu__item--open') ) {\r\n                    for (var i = 0, len = list.length; i < len; i++) {\r\n                        KTUtil.removeClass(parents[0], 'kt-menu__item--open');\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Sets menu's active item\r\n         * @returns {KTMenu}\r\n         */\r\n        setActiveItem: function(item) {\r\n            // reset current active item\r\n            Plugin.resetActiveItem();\r\n\r\n            var parents = KTUtil.parents(item, '.kt-menu__item--submenu') || [];\r\n            for (var i = 0, len = parents.length; i < len; i++) {\r\n                KTUtil.addClass(KTUtil.get(parents[i]), 'kt-menu__item--open');\r\n            }\r\n\r\n            KTUtil.addClass(KTUtil.get(item), 'kt-menu__item--active');\r\n        },\r\n\r\n        /**\r\n         * Returns page breadcrumbs for the menu's active item\r\n         * @returns {KTMenu}\r\n         */\r\n        getBreadcrumbs: function(item) {\r\n            var query;\r\n            var breadcrumbs = [];\r\n            var link = KTUtil.child(item, '.kt-menu__link');\r\n\r\n            breadcrumbs.push({\r\n                text: (query = KTUtil.child(link, '.kt-menu__link-text') ? query.innerHTML : ''),\r\n                title: link.getAttribute('title'),\r\n                href: link.getAttribute('href')\r\n            });\r\n\r\n            var parents = KTUtil.parents(item, '.kt-menu__item--submenu');\r\n            for (var i = 0, len = parents.length; i < len; i++) {\r\n                var submenuLink = KTUtil.child(parents[i], '.kt-menu__link');\r\n\r\n                breadcrumbs.push({\r\n                    text: (query = KTUtil.child(submenuLink, '.kt-menu__link-text') ? query.innerHTML : ''),\r\n                    title: submenuLink.getAttribute('title'),\r\n                    href: submenuLink.getAttribute('href')\r\n                });\r\n            }\r\n\r\n            return  breadcrumbs.reverse();\r\n        },\r\n\r\n        /**\r\n         * Returns page title for the menu's active item\r\n         * @returns {KTMenu}\r\n         */\r\n        getPageTitle: function(item) {\r\n            var query;\r\n\r\n            return (query = KTUtil.child(item, '.kt-menu__link-text') ? query.innerHTML : '');\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name, target, e) {\r\n            for (var i = 0; i < the.events.length; i++ ) {\r\n                var event = the.events[i];\r\n                if ( event.name == name ) {\r\n                    if ( event.one == true ) {\r\n                        if ( event.fired == false ) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, target, e);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, target, e);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n        },\r\n\r\n        removeEvent: function(name) {\r\n            if (the.events[name]) {\r\n                delete the.events[name];\r\n            }\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options\r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Update scroll\r\n     */\r\n    the.scrollUpdate = function() {\r\n        return Plugin.scrollUpdate();\r\n    };\r\n\r\n    /**\r\n     * Re-init scroll\r\n     */\r\n    the.scrollReInit = function() {\r\n        return Plugin.scrollInit();\r\n    };\r\n\r\n    /**\r\n     * Scroll top\r\n     */\r\n    the.scrollTop = function() {\r\n        return Plugin.scrollTop();\r\n    };\r\n\r\n    /**\r\n     * Set active menu item\r\n     */\r\n    the.setActiveItem = function(item) {\r\n        return Plugin.setActiveItem(item);\r\n    };\r\n\r\n    the.reload = function() {\r\n        return Plugin.reload();\r\n    };\r\n\r\n    the.update = function(options) {\r\n        return Plugin.update(options);\r\n    };\r\n\r\n    /**\r\n     * Set breadcrumb for menu item\r\n     */\r\n    the.getBreadcrumbs = function(item) {\r\n        return Plugin.getBreadcrumbs(item);\r\n    };\r\n\r\n    /**\r\n     * Set page title for menu item\r\n     */\r\n    the.getPageTitle = function(item) {\r\n        return Plugin.getPageTitle(item);\r\n    };\r\n\r\n    /**\r\n     * Get submenu mode\r\n     */\r\n    the.getSubmenuMode = function(el) {\r\n        return Plugin.getSubmenuMode(el);\r\n    };\r\n\r\n    /**\r\n     * Hide dropdown\r\n     * @returns {Object}\r\n     */\r\n    the.hideDropdown = function(item) {\r\n        Plugin.hideSubmenuDropdown(item, true);\r\n    };\r\n\r\n    /**\r\n     * Hide dropdowns\r\n     * @returns {Object}\r\n     */\r\n    the.hideDropdowns = function() {\r\n        Plugin.hideSubmenuDropdowns();\r\n    };\r\n\r\n    /**\r\n     * Disable menu for given time\r\n     * @returns {Object}\r\n     */\r\n    the.pauseDropdownHover = function(time) {\r\n        Plugin.pauseDropdownHover(time);\r\n    };\r\n\r\n    /**\r\n     * Disable menu for given time\r\n     * @returns {Object}\r\n     */\r\n    the.resumeDropdownHover = function() {\r\n        return Plugin.resumeDropdownHover();\r\n    };\r\n\r\n    /**\r\n     * Register event\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    the.off = function(name) {\r\n        return Plugin.removeEvent(name);\r\n    };\r\n\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    ///////////////////////////////\r\n    // ** Plugin Construction ** //\r\n    ///////////////////////////////\r\n\r\n    // Run plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    // Handle plugin on window resize\r\n    KTUtil.addResizeHandler(function() {\r\n        if (init) {\r\n            the.reload();\r\n        }\r\n    });\r\n\r\n    // Init done\r\n    init = true;\r\n\r\n    // Return plugin instance\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTMenu;\r\n}\r\n\r\n// Plugin global lazy initialization\r\ndocument.addEventListener(\"click\", function (e) {\r\n    var body = KTUtil.get('body');\r\n    var query;\r\n    if ( query = body.querySelectorAll('.kt-menu__nav .kt-menu__item.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-menu__item--tabs)[data-ktmenu-submenu-toggle=\"click\"]') ) {\r\n        for (var i = 0, len = query.length; i < len; i++) {\r\n            var element = query[i].closest('.kt-menu__nav').parentNode;\r\n\r\n            if ( element ) {\r\n                var the = KTUtil.data(element).get('menu');\r\n\r\n                if ( !the ) {\r\n                    break;\r\n                }\r\n\r\n                if ( !the || the.getSubmenuMode() !== 'dropdown' ) {\r\n                    break;\r\n                }\r\n\r\n                if ( e.target !== element && element.contains(e.target) === false ) {\r\n                    the.hideDropdowns();\r\n                }\r\n            }\r\n        }\r\n    }\r\n});\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/menu.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/offcanvas.js":
/*!************************************************************!*\
  !*** ../src/assets/js/global/components/base/offcanvas.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar KTOffcanvas = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {};\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('offcanvas')) {\r\n                the = KTUtil.data(element).get('offcanvas');\r\n            } else {\r\n                // reset offcanvas\r\n                Plugin.init(options);\r\n                \r\n                // build offcanvas\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('offcanvas', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        init: function(options) {\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n            the.overlay;\r\n\r\n            the.classBase = the.options.baseClass;\r\n            the.classShown = the.classBase + '--on';\r\n            the.classOverlay = the.classBase + '-overlay';\r\n\r\n            the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\r\n        },\r\n\r\n        build: function() {\r\n            // offcanvas toggle\r\n            if (the.options.toggleBy) {\r\n                if (typeof the.options.toggleBy === 'string') { \r\n                    KTUtil.addEvent( the.options.toggleBy, 'click', function(e) {\r\n                        e.preventDefault();\r\n                        Plugin.toggle();\r\n                    }); \r\n                } else if (the.options.toggleBy && the.options.toggleBy[0]) {\r\n                    if (the.options.toggleBy[0].target) {\r\n                        for (var i in the.options.toggleBy) { \r\n                            KTUtil.addEvent( the.options.toggleBy[i].target, 'click', function(e) {\r\n                                e.preventDefault();\r\n                                Plugin.toggle();\r\n                            }); \r\n                        }\r\n                    } else {\r\n                        for (var i in the.options.toggleBy) { \r\n                            KTUtil.addEvent( the.options.toggleBy[i], 'click', function(e) {\r\n                                e.preventDefault();\r\n                                Plugin.toggle();\r\n                            }); \r\n                        }\r\n                    }\r\n                    \r\n                } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n                    KTUtil.addEvent( the.options.toggleBy.target, 'click', function(e) {\r\n                        e.preventDefault();\r\n                        Plugin.toggle();\r\n                    }); \r\n                } \r\n            }\r\n\r\n            // offcanvas close\r\n            var closeBy = KTUtil.get(the.options.closeBy);\r\n            if (closeBy) {\r\n                KTUtil.addEvent(closeBy, 'click', function(e) {\r\n                    e.preventDefault();\r\n                    Plugin.hide();\r\n                });\r\n            }\r\n\r\n            // Window resize\r\n            KTUtil.addResizeHandler(function() {\r\n                if (parseInt(KTUtil.css(element, 'left')) >= 0 || parseInt(KTUtil.css(element, 'right') >= 0) || KTUtil.css(element, 'position') != 'fixed') {\r\n                    KTUtil.css(element, 'opacity', '1');\r\n                }\r\n            });\r\n        },\r\n\r\n        isShown: function(target) {\r\n            return (the.state == 'shown' ? true : false);\r\n        },\r\n\r\n        toggle: function() {;\r\n            Plugin.eventTrigger('toggle'); \r\n\r\n            if (the.state == 'shown') {\r\n                Plugin.hide(this);\r\n            } else {\r\n                Plugin.show(this);\r\n            }\r\n        },\r\n\r\n        show: function(target) {\r\n            if (the.state == 'shown') {\r\n                return;\r\n            }\r\n\r\n            Plugin.eventTrigger('beforeShow');\r\n\r\n            Plugin.togglerClass(target, 'show');\r\n\r\n            // Offcanvas panel\r\n            KTUtil.addClass(body, the.classShown);\r\n            KTUtil.addClass(element, the.classShown);\r\n            KTUtil.css(element, 'opacity', '1');\r\n\r\n            the.state = 'shown';\r\n\r\n            if (the.options.overlay) {\r\n                the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\r\n                KTUtil.addClass(the.overlay, the.classOverlay);\r\n                KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n                    e.stopPropagation();\r\n                    e.preventDefault();\r\n                    Plugin.hide(target);       \r\n                });\r\n            }\r\n\r\n            Plugin.eventTrigger('afterShow');\r\n        },\r\n\r\n        hide: function(target) {\r\n            if (the.state == 'hidden') {\r\n                return;\r\n            }\r\n\r\n            Plugin.eventTrigger('beforeHide');\r\n\r\n            Plugin.togglerClass(target, 'hide');\r\n\r\n            KTUtil.removeClass(body, the.classShown);\r\n            KTUtil.removeClass(element, the.classShown);\r\n\r\n            the.state = 'hidden';\r\n\r\n            if (the.options.overlay && the.overlay) {\r\n                KTUtil.remove(the.overlay);\r\n            }\r\n\r\n            KTUtil.transitionEnd(element, function() {\r\n                KTUtil.css(element, 'opacity', '0');\r\n            });\r\n\r\n            Plugin.eventTrigger('afterHide');\r\n        },\r\n\r\n        togglerClass: function(target, mode) {\r\n            // Toggler\r\n            var id = KTUtil.attr(target, 'id');\r\n            var toggleBy;\r\n\r\n            if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\r\n                for (var i in the.options.toggleBy) {\r\n                    if (the.options.toggleBy[i].target === id) {\r\n                        toggleBy = the.options.toggleBy[i];\r\n                    }        \r\n                }\r\n            } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n                toggleBy = the.options.toggleBy;\r\n            }\r\n\r\n            if (toggleBy) {                \r\n                var el = KTUtil.get(toggleBy.target);\r\n                \r\n                if (mode === 'show') {\r\n                    KTUtil.addClass(el, toggleBy.state);\r\n                }\r\n\r\n                if (mode === 'hide') {\r\n                    KTUtil.removeClass(el, toggleBy.state);\r\n                }\r\n            }\r\n        },\r\n\r\n        eventTrigger: function(name, args) {\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the, args);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the, args);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    the.isShown = function() {\r\n        return Plugin.isShown();\r\n    };\r\n\r\n    the.hide = function() {\r\n        return Plugin.hide();\r\n    };\r\n\r\n    the.show = function() {\r\n        return Plugin.show();\r\n    };\r\n\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    ///////////////////////////////\r\n    // ** Plugin Construction ** //\r\n    ///////////////////////////////\r\n\r\n    // Run plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    // Init done\r\n    init = true;\r\n\r\n    // Return plugin instance\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTOffcanvas;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/offcanvas.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/portlet.js":
/*!**********************************************************!*\
  !*** ../src/assets/js/global/components/base/portlet.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n// plugin setup\r\nvar KTPortlet = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        bodyToggleSpeed: 400,\r\n        tooltips: true,\r\n        tools: {\r\n            toggle: {\r\n                collapse: 'Collapse',\r\n                expand: 'Expand'\r\n            },\r\n            reload: 'Reload',\r\n            remove: 'Remove',\r\n            fullscreen: {\r\n                on: 'Fullscreen',\r\n                off: 'Exit Fullscreen'\r\n            }\r\n        },\r\n        sticky: {\r\n            offset: 300,\r\n            zIndex: 101\r\n        }\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Construct\r\n         */\r\n\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('portlet')) {\r\n                the = KTUtil.data(element).get('portlet');\r\n            } else {\r\n                // reset menu\r\n                Plugin.init(options);\r\n\r\n                // build menu\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('portlet', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Init portlet\r\n         */\r\n        init: function(options) {\r\n            the.element = element;\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n            the.head = KTUtil.child(element, '.kt-portlet__head');\r\n            the.foot = KTUtil.child(element, '.kt-portlet__foot');\r\n\r\n            if (KTUtil.child(element, '.kt-portlet__body')) {\r\n                the.body = KTUtil.child(element, '.kt-portlet__body');\r\n            } else if (KTUtil.child(element, '.kt-form')) {\r\n                the.body = KTUtil.child(element, '.kt-form');\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Build Form Wizard\r\n         */\r\n        build: function() {\r\n            // Remove\r\n            var remove = KTUtil.find(the.head, '[data-ktportlet-tool=remove]');\r\n            if (remove) {\r\n                KTUtil.addEvent(remove, 'click', function(e) {\r\n                    e.preventDefault();\r\n                    Plugin.remove();\r\n                });\r\n            }\r\n\r\n            // Reload\r\n            var reload = KTUtil.find(the.head, '[data-ktportlet-tool=reload]');\r\n            if (reload) {\r\n                KTUtil.addEvent(reload, 'click', function(e) {\r\n                    e.preventDefault();\r\n                    Plugin.reload();\r\n                });\r\n            }\r\n\r\n            // Toggle\r\n            var toggle = KTUtil.find(the.head, '[data-ktportlet-tool=toggle]');\r\n            if (toggle) {\r\n                KTUtil.addEvent(toggle, 'click', function(e) {\r\n                    e.preventDefault();\r\n                    Plugin.toggle();\r\n                });\r\n            }\r\n\r\n            //== Fullscreen\r\n            var fullscreen = KTUtil.find(the.head, '[data-ktportlet-tool=fullscreen]');\r\n            if (fullscreen) {\r\n                KTUtil.addEvent(fullscreen, 'click', function(e) {\r\n                    e.preventDefault();\r\n                    Plugin.fullscreen();\r\n                });\r\n            }\r\n\r\n            Plugin.setupTooltips();\r\n        },\r\n\r\n        /**\r\n         * Enable stickt mode\r\n         */\r\n        initSticky: function() {\r\n            var lastScrollTop = 0;\r\n            var offset = the.options.sticky.offset;\r\n\r\n            if (!the.head) {\r\n                return;\r\n            }\r\n\r\n\t        window.addEventListener('scroll', Plugin.onScrollSticky);\r\n        },\r\n\r\n\t    /**\r\n\t     * Window scroll handle event for sticky portlet\r\n\t     */\r\n\t    onScrollSticky: function(e) {\r\n\t\t    var offset = the.options.sticky.offset;\r\n\r\n\t\t    if(isNaN(offset)) return;\r\n\r\n\t\t    var st = KTUtil.getScrollTop();\r\n\r\n\t\t    if (st >= offset && KTUtil.hasClass(body, 'kt-portlet--sticky') === false) {\r\n\t\t\t    Plugin.eventTrigger('stickyOn');\r\n\r\n\t\t\t    KTUtil.addClass(body, 'kt-portlet--sticky');\r\n\t\t\t    KTUtil.addClass(element, 'kt-portlet--sticky');\r\n\r\n\t\t\t    Plugin.updateSticky();\r\n\r\n\t\t    } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'kt-portlet--sticky')) {\r\n\t\t\t    // back scroll mode\r\n\t\t\t    Plugin.eventTrigger('stickyOff');\r\n\r\n\t\t\t    KTUtil.removeClass(body, 'kt-portlet--sticky');\r\n\t\t\t    KTUtil.removeClass(element, 'kt-portlet--sticky');\r\n\r\n\t\t\t    Plugin.resetSticky();\r\n\t\t    }\r\n\t    },\r\n\r\n        updateSticky: function() {\r\n            if (!the.head) {\r\n                return;\r\n            }\r\n\r\n            var top;\r\n\r\n            if (KTUtil.hasClass(body, 'kt-portlet--sticky')) {\r\n                if (the.options.sticky.position.top instanceof Function) {\r\n                    top = parseInt(the.options.sticky.position.top.call(this, the));\r\n                } else {\r\n                    top = parseInt(the.options.sticky.position.top);\r\n                }\r\n\r\n                var left;\r\n                if (the.options.sticky.position.left instanceof Function) {\r\n                    left = parseInt(the.options.sticky.position.left.call(this, the));\r\n                } else {\r\n                    left = parseInt(the.options.sticky.position.left);\r\n                }\r\n\r\n                var right;\r\n                if (the.options.sticky.position.right instanceof Function) {\r\n                    right = parseInt(the.options.sticky.position.right.call(this, the));\r\n                } else {\r\n                    right = parseInt(the.options.sticky.position.right);\r\n                }\r\n\r\n                KTUtil.css(the.head, 'z-index', the.options.sticky.zIndex);\r\n                KTUtil.css(the.head, 'top', top + 'px');\r\n                KTUtil.css(the.head, 'left', left + 'px');\r\n                KTUtil.css(the.head, 'right', right + 'px');\r\n            }\r\n        },\r\n\r\n        resetSticky: function() {\r\n            if (!the.head) {\r\n                return;\r\n            }\r\n\r\n            if (KTUtil.hasClass(body, 'kt-portlet--sticky') === false) {\r\n                KTUtil.css(the.head, 'z-index', '');\r\n                KTUtil.css(the.head, 'top', '');\r\n                KTUtil.css(the.head, 'left', '');\r\n                KTUtil.css(the.head, 'right', '');\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Remove portlet\r\n         */\r\n        remove: function() {\r\n            if (Plugin.eventTrigger('beforeRemove') === false) {\r\n                return;\r\n            }\r\n\r\n            if (KTUtil.hasClass(body, 'kt-portlet--fullscreen') && KTUtil.hasClass(element, 'kt-portlet--fullscreen')) {\r\n                Plugin.fullscreen('off');\r\n            }\r\n\r\n            Plugin.removeTooltips();\r\n\r\n            KTUtil.remove(element);\r\n\r\n            Plugin.eventTrigger('afterRemove');\r\n        },\r\n\r\n        /**\r\n         * Set content\r\n         */\r\n        setContent: function(html) {\r\n            if (html) {\r\n                the.body.innerHTML = html;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get body\r\n         */\r\n        getBody: function() {\r\n            return the.body;\r\n        },\r\n\r\n        /**\r\n         * Get self\r\n         */\r\n        getSelf: function() {\r\n            return element;\r\n        },\r\n\r\n        /**\r\n         * Setup tooltips\r\n         */\r\n        setupTooltips: function() {\r\n            if (the.options.tooltips) {\r\n                var collapsed = KTUtil.hasClass(element, 'kt-portlet--collapse') || KTUtil.hasClass(element, 'kt-portlet--collapsed');\r\n                var fullscreenOn = KTUtil.hasClass(body, 'kt-portlet--fullscreen') && KTUtil.hasClass(element, 'kt-portlet--fullscreen');\r\n\r\n                //== Remove\r\n                var remove = KTUtil.find(the.head, '[data-ktportlet-tool=remove]');\r\n                if (remove) {\r\n                    var placement = (fullscreenOn ? 'bottom' : 'top');\r\n                    var tip = new Tooltip(remove, {\r\n                        title: the.options.tools.remove,\r\n                        placement: placement,\r\n                        offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n                        trigger: 'hover',\r\n                        template: '<div class=\"tooltip tooltip-portlet tooltip bs-tooltip-' + placement + '\" role=\"tooltip\">\\\r\n                            <div class=\"tooltip-arrow arrow\"></div>\\\r\n                            <div class=\"tooltip-inner\"></div>\\\r\n                        </div>'\r\n                    });\r\n\r\n                    KTUtil.data(remove).set('tooltip', tip);\r\n                }\r\n\r\n                //== Reload\r\n                var reload = KTUtil.find(the.head, '[data-ktportlet-tool=reload]');\r\n                if (reload) {\r\n                    var placement = (fullscreenOn ? 'bottom' : 'top');\r\n                    var tip = new Tooltip(reload, {\r\n                        title: the.options.tools.reload,\r\n                        placement: placement,\r\n                        offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n                        trigger: 'hover',\r\n                        template: '<div class=\"tooltip tooltip-portlet tooltip bs-tooltip-' + placement + '\" role=\"tooltip\">\\\r\n                            <div class=\"tooltip-arrow arrow\"></div>\\\r\n                            <div class=\"tooltip-inner\"></div>\\\r\n                        </div>'\r\n                    });\r\n\r\n                    KTUtil.data(reload).set('tooltip', tip);\r\n                }\r\n\r\n                //== Toggle\r\n                var toggle = KTUtil.find(the.head, '[data-ktportlet-tool=toggle]');\r\n                if (toggle) {\r\n                    var placement = (fullscreenOn ? 'bottom' : 'top');\r\n                    var tip = new Tooltip(toggle, {\r\n                        title: (collapsed ? the.options.tools.toggle.expand : the.options.tools.toggle.collapse),\r\n                        placement: placement,\r\n                        offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n                        trigger: 'hover',\r\n                        template: '<div class=\"tooltip tooltip-portlet tooltip bs-tooltip-' + placement + '\" role=\"tooltip\">\\\r\n                            <div class=\"tooltip-arrow arrow\"></div>\\\r\n                            <div class=\"tooltip-inner\"></div>\\\r\n                        </div>'\r\n                    });\r\n\r\n                    KTUtil.data(toggle).set('tooltip', tip);\r\n                }\r\n\r\n                //== Fullscreen\r\n                var fullscreen = KTUtil.find(the.head, '[data-ktportlet-tool=fullscreen]');\r\n                if (fullscreen) {\r\n                    var placement = (fullscreenOn ? 'bottom' : 'top');\r\n                    var tip = new Tooltip(fullscreen, {\r\n                        title: (fullscreenOn ? the.options.tools.fullscreen.off : the.options.tools.fullscreen.on),\r\n                        placement: placement,\r\n                        offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n                        trigger: 'hover',\r\n                        template: '<div class=\"tooltip tooltip-portlet tooltip bs-tooltip-' + placement + '\" role=\"tooltip\">\\\r\n                            <div class=\"tooltip-arrow arrow\"></div>\\\r\n                            <div class=\"tooltip-inner\"></div>\\\r\n                        </div>'\r\n                    });\r\n\r\n                    KTUtil.data(fullscreen).set('tooltip', tip);\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Setup tooltips\r\n         */\r\n        removeTooltips: function() {\r\n            if (the.options.tooltips) {\r\n                //== Remove\r\n                var remove = KTUtil.find(the.head, '[data-ktportlet-tool=remove]');\r\n                if (remove && KTUtil.data(remove).has('tooltip')) {\r\n                    KTUtil.data(remove).get('tooltip').dispose();\r\n                }\r\n\r\n                //== Reload\r\n                var reload = KTUtil.find(the.head, '[data-ktportlet-tool=reload]');\r\n                if (reload && KTUtil.data(reload).has('tooltip')) {\r\n                    KTUtil.data(reload).get('tooltip').dispose();\r\n                }\r\n\r\n                //== Toggle\r\n                var toggle = KTUtil.find(the.head, '[data-ktportlet-tool=toggle]');\r\n                if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n                    KTUtil.data(toggle).get('tooltip').dispose();\r\n                }\r\n\r\n                //== Fullscreen\r\n                var fullscreen = KTUtil.find(the.head, '[data-ktportlet-tool=fullscreen]');\r\n                if (fullscreen && KTUtil.data(fullscreen).has('tooltip')) {\r\n                    KTUtil.data(fullscreen).get('tooltip').dispose();\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Reload\r\n         */\r\n        reload: function() {\r\n            Plugin.eventTrigger('reload');\r\n        },\r\n\r\n        /**\r\n         * Toggle\r\n         */\r\n        toggle: function() {\r\n            if (KTUtil.hasClass(element, 'kt-portlet--collapse') || KTUtil.hasClass(element, 'kt-portlet--collapsed')) {\r\n                Plugin.expand();\r\n            } else {\r\n                Plugin.collapse();\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Collapse\r\n         */\r\n        collapse: function() {\r\n            if (Plugin.eventTrigger('beforeCollapse') === false) {\r\n                return;\r\n            }\r\n\r\n            KTUtil.slideUp(the.body, the.options.bodyToggleSpeed, function() {\r\n                Plugin.eventTrigger('afterCollapse');\r\n            });\r\n\r\n            KTUtil.addClass(element, 'kt-portlet--collapse');\r\n\r\n            var toggle = KTUtil.find(the.head, '[data-ktportlet-tool=toggle]');\r\n            if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n                KTUtil.data(toggle).get('tooltip').updateTitleContent(the.options.tools.toggle.expand);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Expand\r\n         */\r\n        expand: function() {\r\n            if (Plugin.eventTrigger('beforeExpand') === false) {\r\n                return;\r\n            }\r\n\r\n            KTUtil.slideDown(the.body, the.options.bodyToggleSpeed, function() {\r\n                Plugin.eventTrigger('afterExpand');\r\n            });\r\n\r\n            KTUtil.removeClass(element, 'kt-portlet--collapse');\r\n            KTUtil.removeClass(element, 'kt-portlet--collapsed');\r\n\r\n            var toggle = KTUtil.find(the.head, '[data-ktportlet-tool=toggle]');\r\n            if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n                KTUtil.data(toggle).get('tooltip').updateTitleContent(the.options.tools.toggle.collapse);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * fullscreen\r\n         */\r\n        fullscreen: function(mode) {\r\n            var d = {};\r\n            var speed = 300;\r\n\r\n            if (mode === 'off' || (KTUtil.hasClass(body, 'kt-portlet--fullscreen') && KTUtil.hasClass(element, 'kt-portlet--fullscreen'))) {\r\n                Plugin.eventTrigger('beforeFullscreenOff');\r\n\r\n                KTUtil.removeClass(body, 'kt-portlet--fullscreen');\r\n                KTUtil.removeClass(element, 'kt-portlet--fullscreen');\r\n\r\n                Plugin.removeTooltips();\r\n                Plugin.setupTooltips();\r\n\r\n                if (the.foot) {\r\n                    KTUtil.css(the.body, 'margin-bottom', '');\r\n                    KTUtil.css(the.foot, 'margin-top', '');\r\n                }\r\n\r\n                Plugin.eventTrigger('afterFullscreenOff');\r\n            } else {\r\n                Plugin.eventTrigger('beforeFullscreenOn');\r\n\r\n                KTUtil.addClass(element, 'kt-portlet--fullscreen');\r\n                KTUtil.addClass(body, 'kt-portlet--fullscreen');\r\n\r\n                Plugin.removeTooltips();\r\n                Plugin.setupTooltips();\r\n\r\n\r\n                if (the.foot) {\r\n                    var height1 = parseInt(KTUtil.css(the.foot, 'height'));\r\n                    var height2 = parseInt(KTUtil.css(the.foot, 'height')) + parseInt(KTUtil.css(the.head, 'height'));\r\n                    KTUtil.css(the.body, 'margin-bottom', height1 + 'px');\r\n                    KTUtil.css(the.foot, 'margin-top', '-' + height2 + 'px');\r\n                }\r\n\r\n                Plugin.eventTrigger('afterFullscreenOn');\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name) {\r\n            //KTUtil.triggerCustomEvent(name);\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n\r\n            return the;\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options\r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Remove portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.remove = function() {\r\n        return Plugin.remove(html);\r\n    };\r\n\r\n    /**\r\n     * Remove portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.initSticky = function() {\r\n        return Plugin.initSticky();\r\n    };\r\n\r\n    /**\r\n     * Remove portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.updateSticky = function() {\r\n        return Plugin.updateSticky();\r\n    };\r\n\r\n    /**\r\n     * Remove portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.resetSticky = function() {\r\n        return Plugin.resetSticky();\r\n    };\r\n\r\n\t/**\r\n\t * Destroy sticky portlet\r\n\t */\r\n\tthe.destroySticky = function() {\r\n\t\tPlugin.resetSticky();\r\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\r\n\t};\r\n\r\n    /**\r\n     * Reload portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.reload = function() {\r\n        return Plugin.reload();\r\n    };\r\n\r\n    /**\r\n     * Set portlet content\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.setContent = function(html) {\r\n        return Plugin.setContent(html);\r\n    };\r\n\r\n    /**\r\n     * Toggle portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.toggle = function() {\r\n        return Plugin.toggle();\r\n    };\r\n\r\n    /**\r\n     * Collapse portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.collapse = function() {\r\n        return Plugin.collapse();\r\n    };\r\n\r\n    /**\r\n     * Expand portlet\r\n     * @returns {KTPortlet}\r\n     */\r\n    the.expand = function() {\r\n        return Plugin.expand();\r\n    };\r\n\r\n    /**\r\n     * Fullscreen portlet\r\n     * @returns {MPortlet}\r\n     */\r\n    the.fullscreen = function() {\r\n        return Plugin.fullscreen('on');\r\n    };\r\n\r\n    /**\r\n     * Fullscreen portlet\r\n     * @returns {MPortlet}\r\n     */\r\n    the.unFullscreen = function() {\r\n        return Plugin.fullscreen('off');\r\n    };\r\n\r\n    /**\r\n     * Get portletbody\r\n     * @returns {jQuery}\r\n     */\r\n    the.getBody = function() {\r\n        return Plugin.getBody();\r\n    };\r\n\r\n    /**\r\n     * Get portletbody\r\n     * @returns {jQuery}\r\n     */\r\n    the.getSelf = function() {\r\n        return Plugin.getSelf();\r\n    };\r\n\r\n    /**\r\n     * Attach event\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Attach event that will be fired once\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    // Construct plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTPortlet;\r\n}\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/portlet.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/scrolltop.js":
/*!************************************************************!*\
  !*** ../src/assets/js/global/components/base/scrolltop.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar KTScrolltop = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        offset: 300,\r\n        speed: 600,\r\n        toggleClass: 'kt-scrolltop--on'\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Run plugin\r\n         * @returns {mscrolltop}\r\n         */\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('scrolltop')) {\r\n                the = KTUtil.data(element).get('scrolltop');\r\n            } else {\r\n                // reset scrolltop\r\n                Plugin.init(options);\r\n\r\n                // build scrolltop\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('scrolltop', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles subscrolltop click toggle\r\n         * @returns {mscrolltop}\r\n         */\r\n        init: function(options) {\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n        },\r\n\r\n        build: function() {\r\n            // handle window scroll\r\n            if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) {\r\n                window.addEventListener('touchend', function() {\r\n                    Plugin.handle();\r\n                });\r\n\r\n                window.addEventListener('touchcancel', function() {\r\n                    Plugin.handle();\r\n                });\r\n\r\n                window.addEventListener('touchleave', function() {\r\n                    Plugin.handle();\r\n                });\r\n            } else {\r\n                window.addEventListener('scroll', function() { \r\n                    Plugin.handle();\r\n                });\r\n            }\r\n\r\n            // handle button click \r\n            KTUtil.addEvent(element, 'click', Plugin.scroll);\r\n        },\r\n\r\n        /**\r\n         * Handles scrolltop click scrollTop\r\n         */\r\n        handle: function() {\r\n            var pos = window.pageYOffset; // current vertical position\r\n            if (pos > the.options.offset) {\r\n                KTUtil.addClass(body, the.options.toggleClass);\r\n            } else {\r\n                KTUtil.removeClass(body, the.options.toggleClass);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Handles scrolltop click scrollTop\r\n         */\r\n        scroll: function(e) {\r\n            e.preventDefault();\r\n\r\n            KTUtil.scrollTop(0, the.options.speed);\r\n        },\r\n\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name, args) {\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the, args);\r\n                        }\r\n                    } else {\r\n                       return event.handler.call(this, the, args);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options \r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Get subscrolltop mode\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Set scrolltop content\r\n     * @returns {mscrolltop}\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    ///////////////////////////////\r\n    // ** Plugin Construction ** //\r\n    ///////////////////////////////\r\n\r\n    // Run plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    // Init done\r\n    init = true;\r\n\r\n    // Return plugin instance\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTScrolltop;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/scrolltop.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/toggle.js":
/*!*********************************************************!*\
  !*** ../src/assets/js/global/components/base/toggle.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n\r\n// plugin setup\r\nvar KTToggle = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');  \r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        togglerState: '',\r\n        targetState: ''\r\n    };    \r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Construct\r\n         */\r\n\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('toggle')) {\r\n                the = KTUtil.data(element).get('toggle');\r\n            } else {\r\n                // reset menu\r\n                Plugin.init(options);\r\n\r\n                // build menu\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('toggle', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles subtoggle click toggle\r\n         */\r\n        init: function(options) {\r\n            the.element = element;\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n            the.target = KTUtil.get(the.options.target);\r\n            the.targetState = the.options.targetState;\r\n            the.togglerState = the.options.togglerState;\r\n\r\n            the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\r\n        },\r\n\r\n        /**\r\n         * Setup toggle\r\n         */\r\n        build: function() {\r\n            KTUtil.addEvent(element, 'mouseup', Plugin.toggle);\r\n        },\r\n        \r\n        /**\r\n         * Handles offcanvas click toggle\r\n         */\r\n        toggle: function(e) {\r\n            Plugin.eventTrigger('beforeToggle');\r\n\r\n            if (the.state == 'off') {\r\n                Plugin.toggleOn();\r\n            } else {\r\n                Plugin.toggleOff();\r\n            }\r\n\r\n            Plugin.eventTrigger('afterToggle');\r\n\r\n            e.preventDefault();\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles toggle click toggle\r\n         */\r\n        toggleOn: function() {\r\n            Plugin.eventTrigger('beforeOn');\r\n\r\n            KTUtil.addClass(the.target, the.targetState);\r\n\r\n            if (the.togglerState) {\r\n                KTUtil.addClass(element, the.togglerState);\r\n            }\r\n\r\n            the.state = 'on';\r\n\r\n            Plugin.eventTrigger('afterOn');\r\n\r\n            Plugin.eventTrigger('toggle');\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Handles toggle click toggle\r\n         */\r\n        toggleOff: function() {\r\n            Plugin.eventTrigger('beforeOff');\r\n\r\n            KTUtil.removeClass(the.target, the.targetState);\r\n\r\n            if (the.togglerState) {\r\n                KTUtil.removeClass(element, the.togglerState);\r\n            }\r\n\r\n            the.state = 'off';\r\n\r\n            Plugin.eventTrigger('afterOff');\r\n\r\n            Plugin.eventTrigger('toggle');\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name) {\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;                            \r\n                            return event.handler.call(this, the);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n\r\n            return the;\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options \r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Get toggle state \r\n     */\r\n    the.getState = function() {\r\n        return the.state;\r\n    };\r\n\r\n    /**\r\n     * Toggle \r\n     */\r\n    the.toggle = function() {\r\n        return Plugin.toggle();\r\n    };\r\n\r\n    /**\r\n     * Toggle on \r\n     */\r\n    the.toggleOn = function() {\r\n        return Plugin.toggleOn();\r\n    };\r\n\r\n    /**\r\n     * Toggle off \r\n     */\r\n    the.toggleOff = function() {\r\n        return Plugin.toggleOff();\r\n    };\r\n\r\n    /**\r\n     * Attach event\r\n     * @returns {KTToggle}\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Attach event that will be fired once\r\n     * @returns {KTToggle}\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    // Construct plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTToggle;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/toggle.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/util.js":
/*!*******************************************************!*\
  !*** ../src/assets/js/global/components/base/util.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n/**\r\n * @class KTUtil  base utilize class that privides helper functions\r\n */\r\n\r\n// Polyfills\r\n/**\r\n * Element.matches() polyfill (simple version)\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\r\n */\r\nif (!Element.prototype.matches) {\r\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Element.closest() polyfill\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\r\n */\r\nif (!Element.prototype.closest) {\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\tElement.prototype.closest = function (s) {\r\n\t\tvar el = this;\r\n\t\tvar ancestor = this;\r\n\t\tif (!document.documentElement.contains(el)) return null;\r\n\t\tdo {\r\n\t\t\tif (ancestor.matches(s)) return ancestor;\r\n\t\t\tancestor = ancestor.parentElement;\r\n\t\t} while (ancestor !== null);\r\n\t\treturn null;\r\n\t};\r\n}\r\n\r\n/**\r\n * ChildNode.remove() polyfill\r\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\r\n * @author Chris Ferdinandi\r\n * @license MIT\r\n */\r\n(function (elem) {\r\n\tfor (var i = 0; i < elem.length; i++) {\r\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\r\n\t\twindow[elem[i]].prototype.remove = function () {\r\n\t\t\tthis.parentNode.removeChild(this);\r\n\t\t};\r\n\t}\r\n})(['Element', 'CharacterData', 'DocumentType']);\r\n\r\n//\r\n// requestAnimationFrame polyfill by Erik Möller.\r\n//  With fixes from Paul Irish and Tino Zijdel\r\n//\r\n//  http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n//  http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n//\r\n//  MIT license\r\n//\r\n(function() {\r\n    var lastTime = 0;\r\n    var vendors = ['webkit', 'moz'];\r\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n        window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n        window.cancelAnimationFrame =\r\n            window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n    }\r\n\r\n    if (!window.requestAnimationFrame)\r\n        window.requestAnimationFrame = function(callback) {\r\n            var currTime = new Date().getTime();\r\n            var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n            var id = window.setTimeout(function() {\r\n                callback(currTime + timeToCall);\r\n            }, timeToCall);\r\n            lastTime = currTime + timeToCall;\r\n            return id;\r\n        };\r\n\r\n    if (!window.cancelAnimationFrame)\r\n        window.cancelAnimationFrame = function(id) {\r\n            clearTimeout(id);\r\n        };\r\n}());\r\n\r\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\r\n(function(arr) {\r\n    arr.forEach(function(item) {\r\n        if (item.hasOwnProperty('prepend')) {\r\n            return;\r\n        }\r\n        Object.defineProperty(item, 'prepend', {\r\n            configurable: true,\r\n            enumerable: true,\r\n            writable: true,\r\n            value: function prepend() {\r\n                var argArr = Array.prototype.slice.call(arguments),\r\n                    docFrag = document.createDocumentFragment();\r\n\r\n                argArr.forEach(function(argItem) {\r\n                    var isNode = argItem instanceof Node;\r\n                    docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n                });\r\n\r\n                this.insertBefore(docFrag, this.firstChild);\r\n            }\r\n        });\r\n    });\r\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\r\n\r\n// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nvar KTUtil = function() {\r\n    var resizeHandlers = [];\r\n\r\n    /** @type {object} breakpoints The device width breakpoints **/\r\n    var breakpoints = {\r\n        sm: 544, // Small screen / phone\r\n        md: 768, // Medium screen / tablet\r\n        lg: 1024, // Large screen / desktop\r\n        xl: 1200 // Extra large screen / wide desktop\r\n    };\r\n\r\n    /**\r\n     * Handle window resize event with some\r\n     * delay to attach event handlers upon resize complete\r\n     */\r\n    var _windowResizeHandler = function() {\r\n        var _runResizeHandlers = function() {\r\n            // reinitialize other subscribed elements\r\n            for (var i = 0; i < resizeHandlers.length; i++) {\r\n                var each = resizeHandlers[i];\r\n                each.call();\r\n            }\r\n        };\r\n\r\n        var timeout = false; // holder for timeout id\r\n        var delay = 250; // delay after event is \"complete\" to run callback\r\n\r\n        window.addEventListener('resize', function() {\r\n            clearTimeout(timeout);\r\n            timeout = setTimeout(function() {\r\n                _runResizeHandlers();\r\n            }, delay); // wait 50ms until window resize finishes.\r\n        });\r\n    };\r\n\r\n    return {\r\n        /**\r\n         * Class main initializer.\r\n         * @param {object} options.\r\n         * @returns null\r\n         */\r\n        //main function to initiate the theme\r\n        init: function(options) {\r\n            if (options && options.breakpoints) {\r\n                breakpoints = options.breakpoints;\r\n            }\r\n\r\n            _windowResizeHandler();\r\n        },\r\n\r\n        /**\r\n         * Adds window resize event handler.\r\n         * @param {function} callback function.\r\n         */\r\n        addResizeHandler: function(callback) {\r\n            resizeHandlers.push(callback);\r\n        },\r\n\r\n        /**\r\n         * Removes window resize event handler.\r\n         * @param {function} callback function.\r\n         */\r\n        removeResizeHandler: function(callback) {\r\n            for (var i = 0; i < resizeHandlers.length; i++) {\r\n                if (callback === resizeHandlers[i]) {\r\n                    delete resizeHandlers[i];\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Trigger window resize handlers.\r\n         */\r\n        runResizeHandlers: function() {\r\n            _runResizeHandlers();\r\n        },\r\n\r\n        resize: function() {\r\n            if (typeof(Event) === 'function') {\r\n                // modern browsers\r\n                window.dispatchEvent(new Event('resize'));\r\n            } else {\r\n                // for IE and other old browsers\r\n                // causes deprecation warning on modern browsers\r\n                var evt = window.document.createEvent('UIEvents');\r\n                evt.initUIEvent('resize', true, false, window, 0);\r\n                window.dispatchEvent(evt);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get GET parameter value from URL.\r\n         * @param {string} paramName Parameter name.\r\n         * @returns {string}\r\n         */\r\n        getURLParam: function(paramName) {\r\n            var searchString = window.location.search.substring(1),\r\n                i, val, params = searchString.split(\"&\");\r\n\r\n            for (i = 0; i < params.length; i++) {\r\n                val = params[i].split(\"=\");\r\n                if (val[0] == paramName) {\r\n                    return unescape(val[1]);\r\n                }\r\n            }\r\n\r\n            return null;\r\n        },\r\n\r\n        /**\r\n         * Checks whether current device is mobile touch.\r\n         * @returns {boolean}\r\n         */\r\n        isMobileDevice: function() {\r\n            return (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\r\n        },\r\n\r\n        /**\r\n         * Checks whether current device is desktop.\r\n         * @returns {boolean}\r\n         */\r\n        isDesktopDevice: function() {\r\n            return KTUtil.isMobileDevice() ? false : true;\r\n        },\r\n\r\n        /**\r\n         * Gets browser window viewport size. Ref:\r\n         * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\r\n         * @returns {object}\r\n         */\r\n        getViewPort: function() {\r\n            var e = window,\r\n                a = 'inner';\r\n            if (!('innerWidth' in window)) {\r\n                a = 'client';\r\n                e = document.documentElement || document.body;\r\n            }\r\n\r\n            return {\r\n                width: e[a + 'Width'],\r\n                height: e[a + 'Height']\r\n            };\r\n        },\r\n\r\n        /**\r\n         * Checks whether given device mode is currently activated.\r\n         * @param {string} mode Responsive mode name(e.g: desktop,\r\n         *     desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n         * @returns {boolean}\r\n         */\r\n        isInResponsiveRange: function(mode) {\r\n            var breakpoint = this.getViewPort().width;\r\n\r\n            if (mode == 'general') {\r\n                return true;\r\n            } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\r\n                return true;\r\n            } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\r\n                return true;\r\n            } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\r\n                return true;\r\n            } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\r\n                return true;\r\n            } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\r\n                return true;\r\n            } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        },\r\n\r\n        /**\r\n         * Generates unique ID for give prefix.\r\n         * @param {string} prefix Prefix for generated ID\r\n         * @returns {boolean}\r\n         */\r\n        getUniqueID: function(prefix) {\r\n            return prefix + Math.floor(Math.random() * (new Date()).getTime());\r\n        },\r\n\r\n        /**\r\n         * Gets window width for give breakpoint mode.\r\n         * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\r\n         * @returns {number}\r\n         */\r\n        getBreakpoint: function(mode) {\r\n            return breakpoints[mode];\r\n        },\r\n\r\n        /**\r\n         * Checks whether object has property matchs given key path.\r\n         * @param {object} obj Object contains values paired with given key path\r\n         * @param {string} keys Keys path seperated with dots\r\n         * @returns {object}\r\n         */\r\n        isset: function(obj, keys) {\r\n            var stone;\r\n\r\n            keys = keys || '';\r\n\r\n            if (keys.indexOf('[') !== -1) {\r\n                throw new Error('Unsupported object path notation.');\r\n            }\r\n\r\n            keys = keys.split('.');\r\n\r\n            do {\r\n                if (obj === undefined) {\r\n                    return false;\r\n                }\r\n\r\n                stone = keys.shift();\r\n\r\n                if (!obj.hasOwnProperty(stone)) {\r\n                    return false;\r\n                }\r\n\r\n                obj = obj[stone];\r\n\r\n            } while (keys.length);\r\n\r\n            return true;\r\n        },\r\n\r\n        /**\r\n         * Gets highest z-index of the given element parents\r\n         * @param {object} el jQuery element object\r\n         * @returns {number}\r\n         */\r\n        getHighestZindex: function(el) {\r\n            var elem = KTUtil.get(el),\r\n                position, value;\r\n\r\n            while (elem && elem !== document) {\r\n                // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n                // This makes behavior of this function consistent across browsers\r\n                // WebKit always returns auto if the element is positioned\r\n                position = KTUtil.css(elem, 'position');\r\n\r\n                if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\r\n                    // IE returns 0 when zIndex is not specified\r\n                    // other browsers return a string\r\n                    // we ignore the case of nested elements with an explicit value of 0\r\n                    // <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\r\n                    value = parseInt(KTUtil.css(elem, 'z-index'));\r\n\r\n                    if (!isNaN(value) && value !== 0) {\r\n                        return value;\r\n                    }\r\n                }\r\n\r\n                elem = elem.parentNode;\r\n            }\r\n\r\n            return null;\r\n        },\r\n\r\n        /**\r\n         * Checks whether the element has any parent with fixed positionfreg\r\n         * @param {object} el jQuery element object\r\n         * @returns {boolean}\r\n         */\r\n        hasFixedPositionedParent: function(el) {\r\n            var position;\r\n\r\n            while (el && el !== document) {\r\n                position = KTUtil.css(el, 'position');\r\n\r\n                if (position === \"fixed\") {\r\n                    return true;\r\n                }\r\n\r\n                el = el.parentNode;\r\n            }\r\n\r\n            return false;\r\n        },\r\n\r\n        /**\r\n         * Simulates delay\r\n         */\r\n        sleep: function(milliseconds) {\r\n            var start = new Date().getTime();\r\n            for (var i = 0; i < 1e7; i++) {\r\n                if ((new Date().getTime() - start) > milliseconds) {\r\n                    break;\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Gets randomly generated integer value within given min and max range\r\n         * @param {number} min Range start value\r\n         * @param {number} max Range end value\r\n         * @returns {number}\r\n         */\r\n        getRandomInt: function(min, max) {\r\n            return Math.floor(Math.random() * (max - min + 1)) + min;\r\n        },\r\n\r\n        /**\r\n         * Checks whether Angular library is included\r\n         * @returns {boolean}\r\n         */\r\n        isAngularVersion: function() {\r\n            return window.Zone !== undefined ? true : false;\r\n        },\r\n\r\n        // jQuery Workarounds\r\n\r\n        // Deep extend:  $.extend(true, {}, objA, objB);\r\n        deepExtend: function(out) {\r\n            out = out || {};\r\n\r\n            for (var i = 1; i < arguments.length; i++) {\r\n                var obj = arguments[i];\r\n\r\n                if (!obj)\r\n                    continue;\r\n\r\n                for (var key in obj) {\r\n                    if (obj.hasOwnProperty(key)) {\r\n                        if (typeof obj[key] === 'object')\r\n                            out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n                        else\r\n                            out[key] = obj[key];\r\n                    }\r\n                }\r\n            }\r\n\r\n            return out;\r\n        },\r\n\r\n        // extend:  $.extend({}, objA, objB);\r\n        extend: function(out) {\r\n            out = out || {};\r\n\r\n            for (var i = 1; i < arguments.length; i++) {\r\n                if (!arguments[i])\r\n                    continue;\r\n\r\n                for (var key in arguments[i]) {\r\n                    if (arguments[i].hasOwnProperty(key))\r\n                        out[key] = arguments[i][key];\r\n                }\r\n            }\r\n\r\n            return out;\r\n        },\r\n\r\n        get: function(query) {\r\n            var el;\r\n\r\n            if (query === document) {\r\n                return document;\r\n            }\r\n\r\n            if (!!(query && query.nodeType === 1)) {\r\n                return query;\r\n            }\r\n\r\n            if (el = document.getElementById(query)) {\r\n                return el;\r\n            } else if (el = document.getElementsByTagName(query)) {\r\n                return el[0];\r\n            } else if (el = document.getElementsByClassName(query)) {\r\n                return el[0];\r\n            } else {\r\n                return null;\r\n            }\r\n        },\r\n\r\n        getByID: function(query) {\r\n            if (!!(query && query.nodeType === 1)) {\r\n                return query;\r\n            }\r\n\r\n            return document.getElementById(query);\r\n        },\r\n\r\n        getByTag: function(query) {\r\n            var el;\r\n\r\n            if (el = document.getElementsByTagName(query)) {\r\n                return el[0];\r\n            } else {\r\n                return null;\r\n            }\r\n        },\r\n\r\n        getByClass: function(query) {\r\n            var el;\r\n\r\n            if (el = document.getElementsByClassName(query)) {\r\n                return el[0];\r\n            } else {\r\n                return null;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Checks whether the element has given classes\r\n         * @param {object} el jQuery element object\r\n         * @param {string} Classes string\r\n         * @returns {boolean}\r\n         */\r\n        hasClasses: function(el, classes) {\r\n            if (!el) {\r\n                return;\r\n            }\r\n\r\n            var classesArr = classes.split(\" \");\r\n\r\n            for (var i = 0; i < classesArr.length; i++) {\r\n                if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            return true;\r\n        },\r\n\r\n        hasClass: function(el, className) {\r\n            if (!el) {\r\n                return;\r\n            }\r\n\r\n            return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\r\n        },\r\n\r\n        addClass: function(el, className) {\r\n            if (!el || typeof className === 'undefined') {\r\n                return;\r\n            }\r\n\r\n            var classNames = className.split(' ');\r\n\r\n            if (el.classList) {\r\n                for (var i = 0; i < classNames.length; i++) {\r\n                    if (classNames[i] && classNames[i].length > 0) {\r\n                        el.classList.add(KTUtil.trim(classNames[i]));\r\n                    }\r\n                }\r\n            } else if (!KTUtil.hasClass(el, className)) {\r\n                for (var x = 0; x < classNames.length; x++) {\r\n                    el.className += ' ' + KTUtil.trim(classNames[x]);\r\n                }\r\n            }\r\n        },\r\n\r\n        removeClass: function(el, className) {\r\n          if (!el || typeof className === 'undefined') {\r\n                return;\r\n            }\r\n\r\n            var classNames = className.split(' ');\r\n\r\n            if (el.classList) {\r\n                for (var i = 0; i < classNames.length; i++) {\r\n                    el.classList.remove(KTUtil.trim(classNames[i]));\r\n                }\r\n            } else if (KTUtil.hasClass(el, className)) {\r\n                for (var x = 0; x < classNames.length; x++) {\r\n                    el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\r\n                }\r\n            }\r\n        },\r\n\r\n        triggerCustomEvent: function(el, eventName, data) {\r\n            var event;\r\n            if (window.CustomEvent) {\r\n                event = new CustomEvent(eventName, {\r\n                    detail: data\r\n                });\r\n            } else {\r\n                event = document.createEvent('CustomEvent');\r\n                event.initCustomEvent(eventName, true, true, data);\r\n            }\r\n\r\n            el.dispatchEvent(event);\r\n        },\r\n\r\n        triggerEvent: function(node, eventName) {\r\n            // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\r\n            var doc;\r\n            if (node.ownerDocument) {\r\n                doc = node.ownerDocument;\r\n            } else if (node.nodeType == 9) {\r\n                // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\r\n                doc = node;\r\n            } else {\r\n                throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\r\n            }\r\n\r\n            if (node.dispatchEvent) {\r\n                // Gecko-style approach (now the standard) takes more work\r\n                var eventClass = \"\";\r\n\r\n                // Different events have different event classes.\r\n                // If this switch statement can't map an eventName to an eventClass,\r\n                // the event firing is going to fail.\r\n                switch (eventName) {\r\n                case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\r\n                case \"mouseenter\":\r\n                case \"mouseleave\":\r\n                case \"mousedown\":\r\n                case \"mouseup\":\r\n                    eventClass = \"MouseEvents\";\r\n                    break;\r\n\r\n                case \"focus\":\r\n                case \"change\":\r\n                case \"blur\":\r\n                case \"select\":\r\n                    eventClass = \"HTMLEvents\";\r\n                    break;\r\n\r\n                default:\r\n                    throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\r\n                    break;\r\n                }\r\n                var event = doc.createEvent(eventClass);\r\n\r\n                var bubbles = eventName == \"change\" ? false : true;\r\n                event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\r\n\r\n                event.synthetic = true; // allow detection of synthetic events\r\n                // The second parameter says go ahead with the default action\r\n                node.dispatchEvent(event, true);\r\n            } else if (node.fireEvent) {\r\n                // IE-old school style\r\n                var event = doc.createEventObject();\r\n                event.synthetic = true; // allow detection of synthetic events\r\n                node.fireEvent(\"on\" + eventName, event);\r\n            }\r\n        },\r\n\r\n        index: function( elm ){\r\n            elm = KTUtil.get(elm);\r\n            var c = elm.parentNode.children, i = 0;\r\n            for(; i < c.length; i++ )\r\n                if( c[i] == elm ) return i;\r\n        },\r\n\r\n        trim: function(string) {\r\n            return string.trim();\r\n        },\r\n\r\n        eventTriggered: function(e) {\r\n            if (e.currentTarget.dataset.triggered) {\r\n                return true;\r\n            } else {\r\n                e.currentTarget.dataset.triggered = true;\r\n\r\n                return false;\r\n            }\r\n        },\r\n\r\n        remove: function(el) {\r\n            if (el && el.parentNode) {\r\n                el.parentNode.removeChild(el);\r\n            }\r\n        },\r\n\r\n        find: function(parent, query) {\r\n            parent = KTUtil.get(parent);\r\n            if (parent) {\r\n                return parent.querySelector(query);\r\n            }\r\n        },\r\n\r\n        findAll: function(parent, query) {\r\n            parent = KTUtil.get(parent);\r\n            if (parent) {\r\n                return parent.querySelectorAll(query);\r\n            }\r\n        },\r\n\r\n        insertAfter: function(el, referenceNode) {\r\n            return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n        },\r\n\r\n        parents: function(elem, selector) {\r\n            // Element.matches() polyfill\r\n            if (!Element.prototype.matches) {\r\n                Element.prototype.matches =\r\n                    Element.prototype.matchesSelector ||\r\n                    Element.prototype.mozMatchesSelector ||\r\n                    Element.prototype.msMatchesSelector ||\r\n                    Element.prototype.oMatchesSelector ||\r\n                    Element.prototype.webkitMatchesSelector ||\r\n                    function(s) {\r\n                        var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n                            i = matches.length;\r\n                        while (--i >= 0 && matches.item(i) !== this) {}\r\n                        return i > -1;\r\n                    };\r\n            }\r\n\r\n            // Set up a parent array\r\n            var parents = [];\r\n\r\n            // Push each parent element to the array\r\n            for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n                if (selector) {\r\n                    if (elem.matches(selector)) {\r\n                        parents.push(elem);\r\n                    }\r\n                    continue;\r\n                }\r\n                parents.push(elem);\r\n            }\r\n\r\n            // Return our parent array\r\n            return parents;\r\n        },\r\n\r\n        children: function(el, selector, log) {\r\n            if (!el || !el.childNodes) {\r\n                return;\r\n            }\r\n\r\n            var result = [],\r\n                i = 0,\r\n                l = el.childNodes.length;\r\n\r\n            for (var i; i < l; ++i) {\r\n                if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\r\n                    result.push(el.childNodes[i]);\r\n                }\r\n            }\r\n\r\n            return result;\r\n        },\r\n\r\n        child: function(el, selector, log) {\r\n            var children = KTUtil.children(el, selector, log);\r\n\r\n            return children ? children[0] : null;\r\n        },\r\n\r\n        matches: function(el, selector, log) {\r\n            var p = Element.prototype;\r\n            var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\r\n                return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\r\n            };\r\n\r\n            if (el && el.tagName) {\r\n                return f.call(el, selector);\r\n            } else {\r\n                return false;\r\n            }\r\n        },\r\n\r\n        data: function(element) {\r\n            element = KTUtil.get(element);\r\n\r\n            return {\r\n                set: function(name, data) {\r\n                    if (element === undefined) {\r\n                        return;\r\n                    }\r\n\r\n                    if (element.customDataTag === undefined) {\r\n                        window.KTUtilElementDataStoreID++;\r\n                        element.customDataTag = window.KTUtilElementDataStoreID;\r\n                    }\r\n\r\n                    if (window.KTUtilElementDataStore[element.customDataTag] === undefined) {\r\n                        window.KTUtilElementDataStore[element.customDataTag] = {};\r\n                    }\r\n\r\n                    window.KTUtilElementDataStore[element.customDataTag][name] = data;\r\n                },\r\n\r\n                get: function(name) {\r\n                    if (element === undefined) {\r\n                        return;\r\n                    }\r\n\r\n                    if (element.customDataTag === undefined) {\r\n                        return null;\r\n                    }\r\n\r\n                    return this.has(name) ? window.KTUtilElementDataStore[element.customDataTag][name] : null;\r\n                },\r\n\r\n                has: function(name) {\r\n                    if (element === undefined) {\r\n                        return false;\r\n                    }\r\n\r\n                    if (element.customDataTag === undefined) {\r\n                        return false;\r\n                    }\r\n\r\n                    return (window.KTUtilElementDataStore[element.customDataTag] && window.KTUtilElementDataStore[element.customDataTag][name]) ? true : false;\r\n                },\r\n\r\n                remove: function(name) {\r\n                    if (element && this.has(name)) {\r\n                        delete window.KTUtilElementDataStore[element.customDataTag][name];\r\n                    }\r\n                }\r\n            };\r\n        },\r\n\r\n        outerWidth: function(el, margin) {\r\n            var width;\r\n\r\n            if (margin === true) {\r\n                width = parseFloat(el.offsetWidth);\r\n                width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\r\n\r\n                return parseFloat(width);\r\n            } else {\r\n                width = parseFloat(el.offsetWidth);\r\n\r\n                return width;\r\n            }\r\n        },\r\n\r\n        offset: function(elem) {\r\n            var rect, win;\r\n            elem = KTUtil.get(elem);\r\n\r\n            if ( !elem ) {\r\n                return;\r\n            }\r\n\r\n            // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n            // Support: IE <=11 only\r\n            // Running getBoundingClientRect on a\r\n            // disconnected node in IE throws an error\r\n\r\n            if ( !elem.getClientRects().length ) {\r\n                return { top: 0, left: 0 };\r\n            }\r\n\r\n            // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n            rect = elem.getBoundingClientRect();\r\n            win = elem.ownerDocument.defaultView;\r\n\r\n            return {\r\n                top: rect.top + win.pageYOffset,\r\n                left: rect.left + win.pageXOffset\r\n            };\r\n        },\r\n\r\n        height: function(el) {\r\n            return KTUtil.css(el, 'height');\r\n        },\r\n\r\n        visible: function(el) {\r\n            return !(el.offsetWidth === 0 && el.offsetHeight === 0);\r\n        },\r\n\r\n        attr: function(el, name, value) {\r\n            el = KTUtil.get(el);\r\n\r\n            if (el == undefined) {\r\n                return;\r\n            }\r\n\r\n            if (value !== undefined) {\r\n                el.setAttribute(name, value);\r\n            } else {\r\n                return el.getAttribute(name);\r\n            }\r\n        },\r\n\r\n        hasAttr: function(el, name) {\r\n            el = KTUtil.get(el);\r\n\r\n            if (el == undefined) {\r\n                return;\r\n            }\r\n\r\n            return el.getAttribute(name) ? true : false;\r\n        },\r\n\r\n        removeAttr: function(el, name) {\r\n            el = KTUtil.get(el);\r\n\r\n            if (el == undefined) {\r\n                return;\r\n            }\r\n\r\n            el.removeAttribute(name);\r\n        },\r\n\r\n        animate: function(from, to, duration, update, easing, done) {\r\n            /**\r\n             * TinyAnimate.easings\r\n             *  Adapted from jQuery Easing\r\n             */\r\n            var easings = {};\r\n            var easing;\r\n\r\n            easings.linear = function(t, b, c, d) {\r\n                return c * t / d + b;\r\n            };\r\n\r\n            easing = easings.linear;\r\n\r\n            // Early bail out if called incorrectly\r\n            if (typeof from !== 'number' ||\r\n                typeof to !== 'number' ||\r\n                typeof duration !== 'number' ||\r\n                typeof update !== 'function') {\r\n                return;\r\n            }\r\n\r\n            // Create mock done() function if necessary\r\n            if (typeof done !== 'function') {\r\n                done = function() {};\r\n            }\r\n\r\n            // Pick implementation (requestAnimationFrame | setTimeout)\r\n            var rAF = window.requestAnimationFrame || function(callback) {\r\n                window.setTimeout(callback, 1000 / 50);\r\n            };\r\n\r\n            // Animation loop\r\n            var canceled = false;\r\n            var change = to - from;\r\n\r\n            function loop(timestamp) {\r\n                var time = (timestamp || +new Date()) - start;\r\n\r\n                if (time >= 0) {\r\n                    update(easing(time, from, change, duration));\r\n                }\r\n                if (time >= 0 && time >= duration) {\r\n                    update(to);\r\n                    done();\r\n                } else {\r\n                    rAF(loop);\r\n                }\r\n            }\r\n\r\n            update(from);\r\n\r\n            // Start animation loop\r\n            var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\r\n\r\n            rAF(loop);\r\n        },\r\n\r\n        actualCss: function(el, prop, cache) {\r\n            el = KTUtil.get(el);\r\n            var css = '';\r\n\r\n            if (el instanceof HTMLElement === false) {\r\n                return;\r\n            }\r\n\r\n            if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n                var value;\r\n\r\n                // the element is hidden so:\r\n                // making the el block so we can meassure its height but still be hidden\r\n                css = el.style.cssText;\r\n                el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\r\n\r\n                if (prop == 'width') {\r\n                    value = el.offsetWidth;\r\n                } else if (prop == 'height') {\r\n                    value = el.offsetHeight;\r\n                }\r\n\r\n                el.style.cssText = css;\r\n\r\n                // store it in cache\r\n                el.setAttribute('kt-hidden-' + prop, value);\r\n\r\n                return parseFloat(value);\r\n            } else {\r\n                // store it in cache\r\n                return parseFloat(el.getAttribute('kt-hidden-' + prop));\r\n            }\r\n        },\r\n\r\n        actualHeight: function(el, cache) {\r\n            return KTUtil.actualCss(el, 'height', cache);\r\n        },\r\n\r\n        actualWidth: function(el, cache) {\r\n            return KTUtil.actualCss(el, 'width', cache);\r\n        },\r\n\r\n        getScroll: function(element, method) {\r\n            // The passed in `method` value should be 'Top' or 'Left'\r\n            method = 'scroll' + method;\r\n            return (element == window || element == document) ? (\r\n                self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\r\n                (browserSupportsBoxModel && document.documentElement[method]) ||\r\n                document.body[method]\r\n            ) : element[method];\r\n        },\r\n\r\n        css: function(el, styleProp, value) {\r\n            el = KTUtil.get(el);\r\n\r\n            if (!el) {\r\n                return;\r\n            }\r\n\r\n            if (value !== undefined) {\r\n                el.style[styleProp] = value;\r\n            } else {\r\n                var defaultView = (el.ownerDocument || document).defaultView;\r\n                // W3C standard way:\r\n                if (defaultView && defaultView.getComputedStyle) {\r\n                    // sanitize property name to css notation\r\n                    // (hyphen separated words eg. font-Size)\r\n                    styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n                    return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n                } else if (el.currentStyle) { // IE\r\n                    // sanitize property name to camelCase\r\n                    styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\r\n                        return letter.toUpperCase();\r\n                    });\r\n                    value = el.currentStyle[styleProp];\r\n                    // convert other units to pixels on IE\r\n                    if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\r\n                        return (function(value) {\r\n                            var oldLeft = el.style.left,\r\n                                oldRsLeft = el.runtimeStyle.left;\r\n                            el.runtimeStyle.left = el.currentStyle.left;\r\n                            el.style.left = value || 0;\r\n                            value = el.style.pixelLeft + \"px\";\r\n                            el.style.left = oldLeft;\r\n                            el.runtimeStyle.left = oldRsLeft;\r\n                            return value;\r\n                        })(value);\r\n                    }\r\n                    return value;\r\n                }\r\n            }\r\n        },\r\n\r\n        slide: function(el, dir, speed, callback, recalcMaxHeight) {\r\n            if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\r\n                return;\r\n            }\r\n\r\n            speed = (speed ? speed : 600);\r\n            var calcHeight = KTUtil.actualHeight(el);\r\n            var calcPaddingTop = false;\r\n            var calcPaddingBottom = false;\r\n\r\n            if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\r\n                KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\r\n            }\r\n\r\n            if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\r\n                KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\r\n            }\r\n\r\n            if (KTUtil.data(el).has('slide-padding-top')) {\r\n                calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\r\n            }\r\n\r\n            if (KTUtil.data(el).has('slide-padding-bottom')) {\r\n                calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\r\n            }\r\n\r\n            if (dir == 'up') { // up\r\n                el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n                if (calcPaddingTop) {\r\n                    KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n                        el.style.paddingTop = (calcPaddingTop - value) + 'px';\r\n                    }, 'linear');\r\n                }\r\n\r\n                if (calcPaddingBottom) {\r\n                    KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n                        el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\r\n                    }, 'linear');\r\n                }\r\n\r\n                KTUtil.animate(0, calcHeight, speed, function(value) {\r\n                    el.style.height = (calcHeight - value) + 'px';\r\n                }, 'linear', function() {\r\n                    callback();\r\n                    el.style.height = '';\r\n                    el.style.display = 'none';\r\n                });\r\n\r\n\r\n            } else if (dir == 'down') { // down\r\n                el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n                if (calcPaddingTop) {\r\n                    KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n                        el.style.paddingTop = value + 'px';\r\n                    }, 'linear', function() {\r\n                        el.style.paddingTop = '';\r\n                    });\r\n                }\r\n\r\n                if (calcPaddingBottom) {\r\n                    KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n                        el.style.paddingBottom = value + 'px';\r\n                    }, 'linear', function() {\r\n                        el.style.paddingBottom = '';\r\n                    });\r\n                }\r\n\r\n                KTUtil.animate(0, calcHeight, speed, function(value) {\r\n                    el.style.height = value + 'px';\r\n                }, 'linear', function() {\r\n                    callback();\r\n                    el.style.height = '';\r\n                    el.style.display = '';\r\n                    el.style.overflow = '';\r\n                });\r\n            }\r\n        },\r\n\r\n        slideUp: function(el, speed, callback) {\r\n            KTUtil.slide(el, 'up', speed, callback);\r\n        },\r\n\r\n        slideDown: function(el, speed, callback) {\r\n            KTUtil.slide(el, 'down', speed, callback);\r\n        },\r\n\r\n        show: function(el, display) {\r\n            if (typeof el !== 'undefined') {\r\n                el.style.display = (display ? display : 'block');\r\n            }\r\n        },\r\n\r\n        hide: function(el) {\r\n            if (typeof el !== 'undefined') {\r\n                el.style.display = 'none';\r\n            }\r\n        },\r\n\r\n        addEvent: function(el, type, handler, one) {\r\n            el = KTUtil.get(el);\r\n            if (typeof el !== 'undefined') {\r\n                el.addEventListener(type, handler);\r\n            }\r\n        },\r\n\r\n        removeEvent: function(el, type, handler) {\r\n            el = KTUtil.get(el);\r\n            el.removeEventListener(type, handler);\r\n        },\r\n\r\n        on: function(element, selector, event, handler) {\r\n            if (!selector) {\r\n                return;\r\n            }\r\n\r\n            var eventId = KTUtil.getUniqueID('event');\r\n\r\n            window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\r\n                var targets = element.querySelectorAll(selector);\r\n                var target = e.target;\r\n\r\n                while (target && target !== element) {\r\n                    for (var i = 0, j = targets.length; i < j; i++) {\r\n                        if (target === targets[i]) {\r\n                            handler.call(target, e);\r\n                        }\r\n                    }\r\n\r\n                    target = target.parentNode;\r\n                }\r\n            }\r\n\r\n            KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n            return eventId;\r\n        },\r\n\r\n        off: function(element, event, eventId) {\r\n            if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\r\n                return;\r\n            }\r\n\r\n            KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n            delete window.KTUtilDelegatedEventHandlers[eventId];\r\n        },\r\n\r\n        one: function onetime(el, type, callback) {\r\n            el = KTUtil.get(el);\r\n\r\n            el.addEventListener(type, function callee(e) {\r\n                // remove event\r\n                if (e.target && e.target.removeEventListener) {\r\n                    e.target.removeEventListener(e.type, callee);\r\n                }\r\n\r\n                // call handler\r\n                return callback(e);\r\n            });\r\n        },\r\n\r\n        hash: function(str) {\r\n            var hash = 0,\r\n                i, chr;\r\n\r\n            if (str.length === 0) return hash;\r\n            for (i = 0; i < str.length; i++) {\r\n                chr = str.charCodeAt(i);\r\n                hash = ((hash << 5) - hash) + chr;\r\n                hash |= 0; // Convert to 32bit integer\r\n            }\r\n\r\n            return hash;\r\n        },\r\n\r\n        animateClass: function(el, animationName, callback) {\r\n            var animation;\r\n            var animations = {\r\n                animation: 'animationend',\r\n                OAnimation: 'oAnimationEnd',\r\n                MozAnimation: 'mozAnimationEnd',\r\n                WebkitAnimation: 'webkitAnimationEnd',\r\n                msAnimation: 'msAnimationEnd',\r\n            };\r\n\r\n            for (var t in animations) {\r\n                if (el.style[t] !== undefined) {\r\n                    animation = animations[t];\r\n                }\r\n            }\r\n\r\n            KTUtil.addClass(el, 'animated ' + animationName);\r\n\r\n            KTUtil.one(el, animation, function() {\r\n                KTUtil.removeClass(el, 'animated ' + animationName);\r\n            });\r\n\r\n            if (callback) {\r\n                KTUtil.one(el, animation, callback);\r\n            }\r\n        },\r\n\r\n        transitionEnd: function(el, callback) {\r\n            var transition;\r\n            var transitions = {\r\n                transition: 'transitionend',\r\n                OTransition: 'oTransitionEnd',\r\n                MozTransition: 'mozTransitionEnd',\r\n                WebkitTransition: 'webkitTransitionEnd',\r\n                msTransition: 'msTransitionEnd'\r\n            };\r\n\r\n            for (var t in transitions) {\r\n                if (el.style[t] !== undefined) {\r\n                    transition = transitions[t];\r\n                }\r\n            }\r\n\r\n            KTUtil.one(el, transition, callback);\r\n        },\r\n\r\n        animationEnd: function(el, callback) {\r\n            var animation;\r\n            var animations = {\r\n                animation: 'animationend',\r\n                OAnimation: 'oAnimationEnd',\r\n                MozAnimation: 'mozAnimationEnd',\r\n                WebkitAnimation: 'webkitAnimationEnd',\r\n                msAnimation: 'msAnimationEnd'\r\n            };\r\n\r\n            for (var t in animations) {\r\n                if (el.style[t] !== undefined) {\r\n                    animation = animations[t];\r\n                }\r\n            }\r\n\r\n            KTUtil.one(el, animation, callback);\r\n        },\r\n\r\n        animateDelay: function(el, value) {\r\n            var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n            for (var i = 0; i < vendors.length; i++) {\r\n                KTUtil.css(el, vendors[i] + 'animation-delay', value);\r\n            }\r\n        },\r\n\r\n        animateDuration: function(el, value) {\r\n            var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n            for (var i = 0; i < vendors.length; i++) {\r\n                KTUtil.css(el, vendors[i] + 'animation-duration', value);\r\n            }\r\n        },\r\n\r\n        scrollTo: function(target, offset, duration) {\r\n            var duration = duration ? duration : 500;\r\n            var target = KTUtil.get(target);\r\n            var targetPos = target ? KTUtil.offset(target).top : 0;\r\n            var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n            var from, to;\r\n\r\n            if (targetPos > scrollPos) {\r\n                from = targetPos;\r\n                to = scrollPos;\r\n            } else {\r\n                from = scrollPos;\r\n                to = targetPos;\r\n            }\r\n\r\n            if (offset) {\r\n                to += offset;\r\n            }\r\n\r\n            KTUtil.animate(from, to, duration, function(value) {\r\n                document.documentElement.scrollTop = value;\r\n                document.body.parentNode.scrollTop = value;\r\n                document.body.scrollTop = value;\r\n            }); //, easing, done\r\n        },\r\n\r\n        scrollTop: function(offset, duration) {\r\n            KTUtil.scrollTo(null, offset, duration);\r\n        },\r\n\r\n        isArray: function(obj) {\r\n            return obj && Array.isArray(obj);\r\n        },\r\n\r\n        ready: function(callback) {\r\n            if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\r\n                callback();\r\n            } else {\r\n                document.addEventListener('DOMContentLoaded', callback);\r\n            }\r\n        },\r\n\r\n        isEmpty: function(obj) {\r\n            for (var prop in obj) {\r\n                if (obj.hasOwnProperty(prop)) {\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            return true;\r\n        },\r\n\r\n        numberString: function(nStr) {\r\n            nStr += '';\r\n            var x = nStr.split('.');\r\n            var x1 = x[0];\r\n            var x2 = x.length > 1 ? '.' + x[1] : '';\r\n            var rgx = /(\\d+)(\\d{3})/;\r\n            while (rgx.test(x1)) {\r\n                x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n            }\r\n            return x1 + x2;\r\n        },\r\n\r\n        detectIE: function() {\r\n            var ua = window.navigator.userAgent;\r\n\r\n            // Test values; Uncomment to check result …\r\n\r\n            // IE 10\r\n            // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n            // IE 11\r\n            // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n            // Edge 12 (Spartan)\r\n            // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n            // Edge 13\r\n            // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n            var msie = ua.indexOf('MSIE ');\r\n            if (msie > 0) {\r\n                // IE 10 or older => return version number\r\n                return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n            }\r\n\r\n            var trident = ua.indexOf('Trident/');\r\n            if (trident > 0) {\r\n                // IE 11 => return version number\r\n                var rv = ua.indexOf('rv:');\r\n                return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n            }\r\n\r\n            var edge = ua.indexOf('Edge/');\r\n            if (edge > 0) {\r\n                // Edge (IE 12+) => return version number\r\n                return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n            }\r\n\r\n            // other browser\r\n            return false;\r\n        },\r\n\r\n        isRTL: function() {\r\n            return (KTUtil.attr(KTUtil.get('html'), 'direction') == 'rtl');\r\n        },\r\n\r\n        //\r\n\r\n        // Scroller\r\n        scrollInit: function(element, options) {\r\n            if(!element) return;\r\n            // Define init function\r\n            function init() {\r\n                var ps;\r\n                var height;\r\n\r\n                if (options.height instanceof Function) {\r\n                    height = parseInt(options.height.call());\r\n                } else {\r\n                    height = parseInt(options.height);\r\n                }\r\n\r\n                // Destroy scroll on table and mobile modes\r\n                if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isInResponsiveRange('tablet-and-mobile')) {\r\n                    ps = KTUtil.data(element).get('ps');\r\n                    if (ps) {\r\n                        if (options.resetHeightOnDestroy) {\r\n                            KTUtil.css(element, 'height', 'auto');\r\n                        } else {\r\n                            KTUtil.css(element, 'overflow', 'auto');\r\n                            if (height > 0) {\r\n                                KTUtil.css(element, 'height', height + 'px');\r\n                            }\r\n                        }\r\n\r\n                        ps.destroy();\r\n                        ps = KTUtil.data(element).remove('ps');\r\n                    } else if (height > 0){\r\n                        KTUtil.css(element, 'overflow', 'auto');\r\n                        KTUtil.css(element, 'height', height + 'px');\r\n                    }\r\n\r\n                    return;\r\n                }\r\n\r\n                if (height > 0) {\r\n                    KTUtil.css(element, 'height', height + 'px');\r\n                }\r\n\r\n                if (options.desktopNativeScroll) {\r\n                    KTUtil.css(element, 'overflow', 'auto');\r\n                    return;\r\n                }\r\n\r\n                // Init scroll\r\n                KTUtil.css(element, 'overflow', 'hidden');\r\n\r\n                ps = KTUtil.data(element).get('ps');\r\n                if (ps) {\r\n                    ps.update();\r\n                } else {\r\n                    KTUtil.addClass(element, 'kt-scroll');\r\n                    ps = new PerfectScrollbar(element, {\r\n                        wheelSpeed: 0.5,\r\n                        swipeEasing: true,\r\n                        wheelPropagation: (options.windowScroll === false ? false : true),\r\n                        minScrollbarLength: 40,\r\n                        maxScrollbarLength: 300,\r\n                        suppressScrollX: KTUtil.attr(element, 'data-scroll-x') != 'true' ? true : false\r\n                    });\r\n\r\n                    KTUtil.data(element).set('ps', ps);\r\n                }\r\n\r\n                // Remember scroll position in cookie\r\n                var uid = KTUtil.attr(element, 'id');\r\n\r\n                if (options.rememberPosition === true && Cookies && uid) {\r\n                    if (Cookies.get(uid)) {\r\n                        var pos = parseInt(Cookies.get(uid));\r\n\r\n                        if (pos > 0) {\r\n                            element.scrollTop = pos;\r\n                        }\r\n                    }\r\n\r\n                    element.addEventListener('ps-scroll-y', function() {\r\n                        Cookies.set(uid, element.scrollTop);\r\n                    });\r\n                }\r\n            }\r\n\r\n            // Init\r\n            init();\r\n\r\n            // Handle window resize\r\n            if (options.handleWindowResize) {\r\n                KTUtil.addResizeHandler(function() {\r\n                    init();\r\n                });\r\n            }\r\n        },\r\n\r\n        scrollUpdate: function(element) {\r\n            var ps = KTUtil.data(element).get('ps');\r\n            if (ps) {\r\n                ps.update();\r\n            }\r\n        },\r\n\r\n        scrollUpdateAll: function(parent) {\r\n            var scrollers = KTUtil.findAll(parent, '.ps');\r\n            for (var i = 0, len = scrollers.length; i < len; i++) {\r\n                KTUtil.scrollerUpdate(scrollers[i]);\r\n            }\r\n        },\r\n\r\n        scrollDestroy: function(element) {\r\n            var ps = KTUtil.data(element).get('ps');\r\n            if (ps) {\r\n                ps.destroy();\r\n                ps = KTUtil.data(element).remove('ps');\r\n            }\r\n        },\r\n\r\n        setHTML: function(el, html) {\r\n            if (KTUtil.get(el)) {\r\n                KTUtil.get(el).innerHTML = html;\r\n            }\r\n        },\r\n\r\n        getHTML: function(el) {\r\n            if (KTUtil.get(el)) {\r\n                return KTUtil.get(el).innerHTML;\r\n            }\r\n        },\r\n\r\n        getDocumentHeight: function() {\r\n            var body = document.body;\r\n            var html = document.documentElement;\r\n\r\n            return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\r\n        },\r\n\r\n        getScrollTop: function() {\r\n            return  (document.scrollingElement || document.documentElement).scrollTop;\r\n        }\r\n    }\r\n}();\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTUtil;\r\n}\r\n\r\n// Initialize KTUtil class on document ready\r\nKTUtil.ready(function() {\r\n    KTUtil.init();\r\n});\r\n\r\n// CSS3 Transitions only after page load(.kt-page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n    KTUtil.removeClass(KTUtil.get('body'), 'kt-page--loading');\r\n}\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/util.js?");

/***/ }),

/***/ "../src/assets/js/global/components/base/wizard.js":
/*!*********************************************************!*\
  !*** ../src/assets/js/global/components/base/wizard.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// plugin setup\r\nvar KTWizard = function(elementId, options) {\r\n    // Main object\r\n    var the = this;\r\n    var init = false;\r\n\r\n    // Get element object\r\n    var element = KTUtil.get(elementId);\r\n    var body = KTUtil.get('body');\r\n\r\n    if (!element) {\r\n        return;\r\n    }\r\n\r\n    // Default options\r\n    var defaultOptions = {\r\n        startStep: 1,\r\n        clickableSteps: true\r\n    };\r\n\r\n    ////////////////////////////\r\n    // ** Private Methods  ** //\r\n    ////////////////////////////\r\n\r\n    var Plugin = {\r\n        /**\r\n         * Construct\r\n         */\r\n\r\n        construct: function(options) {\r\n            if (KTUtil.data(element).has('wizard')) {\r\n                the = KTUtil.data(element).get('wizard');\r\n            } else {\r\n                // reset menu\r\n                Plugin.init(options);\r\n\r\n                // build menu\r\n                Plugin.build();\r\n\r\n                KTUtil.data(element).set('wizard', the);\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Init wizard\r\n         */\r\n        init: function(options) {\r\n            the.element = element;\r\n            the.events = [];\r\n\r\n            // merge default and user defined options\r\n            the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n            // Elements\r\n            the.steps = KTUtil.findAll(element, '[data-ktwizard-type=\"step\"]');\r\n\r\n            the.btnSubmit = KTUtil.find(element, '[data-ktwizard-type=\"action-submit\"]');\r\n            the.btnNext = KTUtil.find(element, '[data-ktwizard-type=\"action-next\"]');\r\n            the.btnPrev = KTUtil.find(element, '[data-ktwizard-type=\"action-prev\"]');\r\n            the.btnLast = KTUtil.find(element, '[data-ktwizard-type=\"action-last\"]');\r\n            the.btnFirst = KTUtil.find(element, '[data-ktwizard-type=\"action-first\"]');\r\n\r\n            // Variables\r\n            the.events = [];\r\n            the.currentStep = 1;\r\n            the.stopped = false;\r\n            the.totalSteps = the.steps.length;\r\n\r\n            // Init current step\r\n            if (the.options.startStep > 1) {\r\n                Plugin.goTo(the.options.startStep);\r\n            }\r\n\r\n            // Init UI\r\n            Plugin.updateUI();\r\n        },\r\n\r\n        /**\r\n         * Build Form Wizard\r\n         */\r\n        build: function() {\r\n            // Next button event handler\r\n            KTUtil.addEvent(the.btnNext, 'click', function(e) {\r\n                e.preventDefault();\r\n                Plugin.goTo(Plugin.getNextStep(), true);\r\n            });\r\n\r\n            // Prev button event handler\r\n            KTUtil.addEvent(the.btnPrev, 'click', function(e) {\r\n                e.preventDefault();\r\n                Plugin.goTo(Plugin.getPrevStep(), true);\r\n            });\r\n\r\n            // First button event handler\r\n            KTUtil.addEvent(the.btnFirst, 'click', function(e) {\r\n                e.preventDefault();\r\n                Plugin.goTo(Plugin.getFirstStep(), true);\r\n            });\r\n\r\n            // Last button event handler\r\n            KTUtil.addEvent(the.btnLast, 'click', function(e) {\r\n                e.preventDefault();\r\n                Plugin.goTo(Plugin.getLastStep(), true);\r\n            });\r\n\r\n            if (the.options.clickableSteps === true) {\r\n                KTUtil.on(element, '[data-ktwizard-type=\"step\"]', 'click', function() {\r\n                    var index = KTUtil.index(this) + 1;\r\n                    if (index !== the.currentStep) {\r\n                        Plugin.goTo(index, true);\r\n                    }\r\n                });\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Handles wizard click wizard\r\n         */\r\n        goTo: function(number, eventHandle) {\r\n            // Skip if this step is already shown\r\n            if (number === the.currentStep || number > the.totalSteps || number < 0) {\r\n                return;\r\n            }\r\n\r\n            // Validate step number\r\n            if (number) {\r\n                number = parseInt(number);\r\n            } else {\r\n                number = Plugin.getNextStep();\r\n            }\r\n\r\n            // Before next and prev events\r\n            var callback;\r\n\r\n            if (eventHandle === true) {\r\n                if (number > the.currentStep) {\r\n                    callback = Plugin.eventTrigger('beforeNext');\r\n                } else {\r\n                    callback = Plugin.eventTrigger('beforePrev');\r\n                }\r\n            }\r\n\r\n            // Skip if stopped\r\n            if (the.stopped === true) {\r\n                the.stopped = false;\r\n                return;\r\n            }\r\n\r\n            // Continue if no exit\r\n            if (callback !== false) {\r\n                // Before change\r\n                if (eventHandle === true) {\r\n                    Plugin.eventTrigger('beforeChange');\r\n                }\r\n\r\n                // Set current step\r\n                the.currentStep = number;\r\n\r\n                Plugin.updateUI();\r\n\r\n                // Trigger change event\r\n                if (eventHandle === true) {\r\n                    Plugin.eventTrigger('change');\r\n                }\r\n            }\r\n\r\n            // After next and prev events\r\n            if (eventHandle === true) {\r\n                if (number > the.startStep) {\r\n                    Plugin.eventTrigger('afterNext');\r\n                } else {\r\n                    Plugin.eventTrigger('afterPrev');\r\n                }\r\n            }\r\n\r\n            return the;\r\n        },\r\n\r\n        /**\r\n         * Cancel\r\n         */\r\n        stop: function() {\r\n            the.stopped = true;\r\n        },\r\n\r\n        /**\r\n         * Resume\r\n         */\r\n        start: function() {\r\n            the.stopped = false;\r\n        },\r\n\r\n        /**\r\n         * Check last step\r\n         */\r\n        isLastStep: function() {\r\n            return the.currentStep === the.totalSteps;\r\n        },\r\n\r\n        /**\r\n         * Check first step\r\n         */\r\n        isFirstStep: function() {\r\n            return the.currentStep === 1;\r\n        },\r\n\r\n        /**\r\n         * Check between step\r\n         */\r\n        isBetweenStep: function() {\r\n            return Plugin.isLastStep() === false && Plugin.isFirstStep() === false;\r\n        },\r\n\r\n        /**\r\n         * Go to the first step\r\n         */\r\n        updateUI: function() {\r\n            var stepType = '';\r\n            var index = the.currentStep - 1;\r\n\r\n            if (Plugin.isLastStep()) {\r\n                stepType = 'last';\r\n            } else if (Plugin.isFirstStep()) {\r\n                stepType = 'first';\r\n            } else {\r\n                stepType = 'between';\r\n            }\r\n\r\n            KTUtil.attr(the.element, 'data-ktwizard-state', stepType);\r\n\r\n            // Steps\r\n            var steps = KTUtil.findAll(the.element, '[data-ktwizard-type=\"step\"]');\r\n\r\n            if (steps && steps.length > 0) {\r\n                for (var i = 0, len = steps.length; i < len; i++) {\r\n                    if (i == index) {\r\n                        KTUtil.attr(steps[i], 'data-ktwizard-state', 'current');\r\n                    } else {\r\n                        if (i < index) {\r\n                            KTUtil.attr(steps[i], 'data-ktwizard-state', 'done');\r\n                        } else {\r\n                            KTUtil.attr(steps[i], 'data-ktwizard-state', 'pending');\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            // Steps Info\r\n            var stepsInfo = KTUtil.findAll(the.element, '[data-ktwizard-type=\"step-info\"]');\r\n            if (stepsInfo &&stepsInfo.length > 0) {\r\n                for (var i = 0, len = stepsInfo.length; i < len; i++) {\r\n                    if (i == index) {\r\n                        KTUtil.attr(stepsInfo[i], 'data-ktwizard-state', 'current');\r\n                    } else {\r\n                        KTUtil.removeAttr(stepsInfo[i], 'data-ktwizard-state');\r\n                    }\r\n                }\r\n            }\r\n\r\n            // Steps Content\r\n            var stepsContent = KTUtil.findAll(the.element, '[data-ktwizard-type=\"step-content\"]');\r\n            if (stepsContent&& stepsContent.length > 0) {\r\n                for (var i = 0, len = stepsContent.length; i < len; i++) {\r\n                    if (i == index) {\r\n                        KTUtil.attr(stepsContent[i], 'data-ktwizard-state', 'current');\r\n                    } else {\r\n                        KTUtil.removeAttr(stepsContent[i], 'data-ktwizard-state');\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get next step\r\n         */\r\n        getNextStep: function() {\r\n            if (the.totalSteps >= (the.currentStep + 1)) {\r\n                return the.currentStep + 1;\r\n            } else {\r\n                return the.totalSteps;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get prev step\r\n         */\r\n        getPrevStep: function() {\r\n            if ((the.currentStep - 1) >= 1) {\r\n                return the.currentStep - 1;\r\n            } else {\r\n                return 1;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Trigger events\r\n         */\r\n        eventTrigger: function(name, nested) {\r\n            //KTUtil.triggerCustomEvent(name);\r\n            for (var i = 0; i < the.events.length; i++) {\r\n                var event = the.events[i];\r\n                if (event.name == name) {\r\n                    if (event.one == true) {\r\n                        if (event.fired == false) {\r\n                            the.events[i].fired = true;\r\n                            return event.handler.call(this, the);\r\n                        }\r\n                    } else {\r\n                        return event.handler.call(this, the);\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        addEvent: function(name, handler, one) {\r\n            the.events.push({\r\n                name: name,\r\n                handler: handler,\r\n                one: one,\r\n                fired: false\r\n            });\r\n\r\n            return the;\r\n        }\r\n    };\r\n\r\n    //////////////////////////\r\n    // ** Public Methods ** //\r\n    //////////////////////////\r\n\r\n    /**\r\n     * Set default options\r\n     */\r\n\r\n    the.setDefaults = function(options) {\r\n        defaultOptions = options;\r\n    };\r\n\r\n    /**\r\n     * Go to the next step\r\n     */\r\n    the.goNext = function(eventHandle) {\r\n        return Plugin.goTo(Plugin.getNextStep(), eventHandle);\r\n    };\r\n\r\n    /**\r\n     * Go to the prev step\r\n     */\r\n    the.goPrev = function(eventHandle) {\r\n        return Plugin.goTo(Plugin.getPrevStep(),eventHandle);\r\n    };\r\n\r\n    /**\r\n     * Go to the last step\r\n     */\r\n    the.goLast = function(eventHandle) {\r\n        return Plugin.goTo(Plugin.getLastStep(), eventHandle);\r\n    };\r\n\r\n    /**\r\n     * Go to the first step\r\n     */\r\n    the.goFirst = function(eventHandle) {\r\n        return Plugin.goTo(Plugin.getFirstStep(), eventHandle);\r\n    };\r\n\r\n    /**\r\n     * Go to a step\r\n     */\r\n    the.goTo = function(number, eventHandle) {\r\n        return Plugin.goTo(number, eventHandle);\r\n    };\r\n\r\n    /**\r\n     * Cancel step\r\n     */\r\n    the.stop = function() {\r\n        return Plugin.stop();\r\n    };\r\n\r\n    /**\r\n     * Resume step\r\n     */\r\n    the.start = function() {\r\n        return Plugin.start();\r\n    };\r\n\r\n    /**\r\n     * Get current step number\r\n     */\r\n    the.getStep = function() {\r\n        return the.currentStep;\r\n    };\r\n\r\n    /**\r\n     * Check last step\r\n     */\r\n    the.isLastStep = function() {\r\n        return Plugin.isLastStep();\r\n    };\r\n\r\n    /**\r\n     * Check first step\r\n     */\r\n    the.isFirstStep = function() {\r\n        return Plugin.isFirstStep();\r\n    };\r\n\r\n    /**\r\n     * Attach event\r\n     */\r\n    the.on = function(name, handler) {\r\n        return Plugin.addEvent(name, handler);\r\n    };\r\n\r\n    /**\r\n     * Attach event that will be fired once\r\n     */\r\n    the.one = function(name, handler) {\r\n        return Plugin.addEvent(name, handler, true);\r\n    };\r\n\r\n    // Construct plugin\r\n    Plugin.construct.apply(the, [options]);\r\n\r\n    return the;\r\n};\r\n\r\n// webpack support\r\nif ( true && typeof module.exports !== 'undefined') {\r\n    module.exports = KTWizard;\r\n}\r\n\n\n//# sourceURL=webpack:///../src/assets/js/global/components/base/wizard.js?");

/***/ }),

/***/ "../src/assets/js/global/layout/layout.js":
/*!************************************************!*\
  !*** ../src/assets/js/global/layout/layout.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar KTLayout = function() {\r\n    var body;\r\n\r\n    var header;\r\n    var headerMenu;\r\n    var headerMenuOffcanvas;\r\n    var mobileHeaderTopbarToggle;\r\n\r\n    var asideMenu;\r\n    var asideMenuOffcanvas;\r\n\r\n    var scrollTop;\r\n\r\n    var pageStickyPortlet;\r\n\r\n    // Header\r\n    var initHeader = function() {\r\n        var tmp;\r\n        var headerEl = KTUtil.get('kt_header');\r\n        var options = {\r\n            classic: {\r\n                desktop: true,\r\n                mobile: false\r\n            },\r\n            offset: {},\r\n            minimize: {}\r\n        };\r\n\r\n        options.minimize.mobile = false;\r\n\r\n        if (KTUtil.attr(headerEl, 'data-ktheader-minimize') == 'on') {\r\n            options.minimize.desktop = {};\r\n            options.minimize.desktop.on = 'kt-header--minimize';\r\n            options.offset.desktop = parseInt(KTUtil.css(headerEl, 'height')) - 10;\r\n        } else {\r\n            options.minimize.desktop = false;\r\n        }\r\n\r\n        header = new KTHeader('kt_header', options);\r\n\r\n        if (asideMenu) {\r\n            header.on('minimizeOn', function() {\r\n                asideMenu.scrollReInit();\r\n            });\r\n\r\n            header.on('minimizeOff', function() {\r\n                asideMenu.scrollReInit();\r\n            });\r\n        }        \r\n    }\r\n\r\n    // Header Menu\r\n    var initHeaderMenu = function() {\r\n        // init aside left offcanvas\r\n        headerMenuOffcanvas = new KTOffcanvas('kt_header_menu_wrapper', {\r\n            overlay: true,\r\n            baseClass: 'kt-header-menu-wrapper',\r\n            closeBy: 'kt_header_menu_mobile_close_btn',\r\n            toggleBy: {\r\n                target: 'kt_header_mobile_toggler',\r\n                state: 'kt-header-mobile__toolbar-toggler--active'\r\n            }\r\n        });\r\n\r\n        headerMenu = new KTMenu('kt_header_menu', {\r\n            submenu: {\r\n                desktop: 'dropdown',\r\n                tablet: 'accordion',\r\n                mobile: 'accordion'\r\n            },\r\n            accordion: {\r\n                slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n                expandAll: false // allow having multiple expanded accordions in the menu\r\n            }\r\n        });\r\n    }\r\n\r\n    // Header Topbar\r\n    var initHeaderTopbar = function() {\r\n        mobileHeaderTopbarToggle = new KTToggle('kt_header_mobile_topbar_toggler', {\r\n            target: 'body',\r\n            targetState: 'kt-header__topbar--mobile-on',\r\n            togglerState: 'kt-header-mobile__toolbar-topbar-toggler--active'\r\n        });\r\n    }\r\n\r\n    // Aside\r\n    var initAside = function() {\r\n        // init aside left offcanvas\r\n        var asidBrandHover = false;\r\n        var aside = KTUtil.get('kt_aside');\r\n        var asideBrand = KTUtil.get('kt_aside_brand');\r\n        var asideOffcanvasClass = KTUtil.hasClass(aside, 'kt-aside--offcanvas-default') ? 'kt-aside--offcanvas-default' : 'kt-aside';\r\n\r\n        asideMenuOffcanvas = new KTOffcanvas('kt_aside', {\r\n            baseClass: asideOffcanvasClass,\r\n            overlay: true,\r\n            closeBy: 'kt_aside_close_btn',\r\n            toggleBy: {\r\n                target: 'kt_aside_mobile_toggler',\r\n                state: 'kt-header-mobile__toolbar-toggler--active'\r\n            }\r\n        });\r\n\r\n        // Handle minimzied aside hover\r\n        if (KTUtil.hasClass(body, 'kt-aside--fixed')) {\r\n            var insideTm;\r\n            var outsideTm;\r\n\r\n            KTUtil.addEvent(aside, 'mouseenter', function(e) {\r\n                e.preventDefault();\r\n\r\n                if (KTUtil.isInResponsiveRange('desktop') === false) {\r\n                    return;\r\n                }\r\n\r\n                if (outsideTm) {\r\n                    clearTimeout(outsideTm);\r\n                    outsideTm = null;\r\n                }\r\n\r\n                insideTm = setTimeout(function() {\r\n                    if (KTUtil.hasClass(body, 'kt-aside--minimize') && KTUtil.isInResponsiveRange('desktop')) {\r\n                        KTUtil.removeClass(body, 'kt-aside--minimize');\r\n                        \r\n                        // Minimizing class\r\n                        KTUtil.addClass(body, 'kt-aside--minimizing');\r\n                        KTUtil.transitionEnd(body, function() {\r\n                            KTUtil.removeClass(body, 'kt-aside--minimizing');\r\n                        });\r\n\r\n                        // Hover class\r\n                        KTUtil.addClass(body, 'kt-aside--minimize-hover');\r\n                        asideMenu.scrollUpdate();\r\n                        asideMenu.scrollTop();\r\n                    }\r\n                }, 50);\r\n            });\r\n\r\n            KTUtil.addEvent(aside, 'mouseleave', function(e) {\r\n                e.preventDefault();\r\n\r\n                if (KTUtil.isInResponsiveRange('desktop') === false) {\r\n                    return;\r\n                }\r\n\r\n                if (insideTm) {\r\n                    clearTimeout(insideTm);\r\n                    insideTm = null;\r\n                }\r\n\r\n                outsideTm = setTimeout(function() {\r\n                    if (KTUtil.hasClass(body, 'kt-aside--minimize-hover') && KTUtil.isInResponsiveRange('desktop')) {\r\n                        KTUtil.removeClass(body, 'kt-aside--minimize-hover');\r\n                        KTUtil.addClass(body, 'kt-aside--minimize');\r\n\r\n                        // Minimizing class\r\n                        KTUtil.addClass(body, 'kt-aside--minimizing');\r\n                        KTUtil.transitionEnd(body, function() {\r\n                            KTUtil.removeClass(body, 'kt-aside--minimizing');\r\n                        });\r\n\r\n                        // Hover class\r\n                        asideMenu.scrollUpdate();\r\n                        asideMenu.scrollTop();\r\n                    }\r\n                }, 100);\r\n            });\r\n        }\r\n    }\r\n\r\n    // Aside menu\r\n    var initAsideMenu = function() {\r\n        // Init aside menu\r\n        var menu = KTUtil.get('kt_aside_menu');\r\n        var menuDesktopMode = (KTUtil.attr(menu, 'data-ktmenu-dropdown') === '1' ? 'dropdown' : 'accordion');\r\n\r\n        // Init scrollable menu container\r\n        var scroll;\r\n        if (KTUtil.attr(menu, 'data-ktmenu-scroll') === '1') {\r\n            scroll = {\r\n                rememberPosition: true, // remember position on page reload\r\n                height: function() {  // calculate available scrollable area height\r\n                    var height;\r\n\r\n                    if (KTUtil.isInResponsiveRange('desktop')) {\r\n                        height = parseInt(KTUtil.getViewPort().height) - parseInt(KTUtil.actualHeight('kt_header', false));\r\n                        height = height - parseInt(KTUtil.css(menu, 'marginTop')) - parseInt(KTUtil.css(menu, 'marginBottom'));\r\n                    } else {\r\n                        height = parseInt(KTUtil.getViewPort().height);\r\n                    }\r\n\r\n                    return height;\r\n                }\r\n            };\r\n        }\r\n\r\n        // Init aside menu\r\n        asideMenu = new KTMenu('kt_aside_menu', {\r\n            // vertical scroll\r\n            scroll: scroll,\r\n\r\n            // submenu setup\r\n            submenu: {\r\n                desktop: menuDesktopMode,\r\n                tablet: 'accordion', // menu set to accordion in tablet mode\r\n                mobile: 'accordion' // menu set to accordion in mobile mode\r\n            },\r\n\r\n            //accordion setup\r\n            accordion: {\r\n                expandAll: false // allow having multiple expanded accordions in the menu\r\n            }\r\n        });       \r\n    }\r\n\r\n    // Scrolltop\r\n    var initScrolltop = function() {\r\n        var scrolltop = new KTScrolltop('kt_scrolltop', {\r\n            offset: 200,\r\n            speed: 400\r\n        });\r\n    }\r\n\r\n    // Init page sticky portlet\r\n    var initPageStickyPortlet = function() {\r\n        return new KTPortlet('kt_page_portlet', {\r\n            sticky: {\r\n                offset: parseInt(KTUtil.css( KTUtil.get('kt_header'), 'height')),\r\n                zIndex: 90,\r\n                position: {\r\n                    top: function() {\r\n                        var pos = 0;\r\n\r\n                        if (KTUtil.isInResponsiveRange('desktop')) {\r\n                            if (KTUtil.hasClass(body, 'kt-header--fixed')) {\r\n                                pos = pos + parseInt(KTUtil.css( KTUtil.get('kt_header'), 'height') );\r\n                            }\r\n                        } else {\r\n                            if (KTUtil.hasClass(body, 'kt-header-mobile--fixed')) {\r\n                                pos = pos + parseInt(KTUtil.css( KTUtil.get('kt_header_mobile'), 'height') );\r\n                            }\r\n                        }    \r\n                        \r\n                        return pos;                         \r\n                    },\r\n                    left: function(portlet) {\r\n\t\t\t\t\t\tvar porletEl = portlet.getSelf();      \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\treturn KTUtil.offset(porletEl).left;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tright: function(portlet) {\r\n\t\t\t\t\t\tvar porletEl = portlet.getSelf();      \r\n\r\n\t\t\t\t\t\tvar portletWidth = parseInt(KTUtil.css(porletEl, 'width'));\r\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(KTUtil.get('body'), 'width'));\r\n\t\t\t\t\t\tvar portletOffsetLeft = KTUtil.offset(porletEl).left;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\treturn bodyWidth - portletWidth - portletOffsetLeft;\r\n\t\t\t\t\t}\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    return {\r\n        init: function() {\r\n            body = KTUtil.get('body');\r\n\r\n            this.initHeader();\r\n            this.initAside();\r\n            this.initPageStickyPortlet();\r\n\r\n            // Non functional links notice(can be removed in production)\r\n            $('#kt_aside_menu, #kt_header_menu').on('click', '.kt-menu__link[href=\"#\"]:not(.kt-menu__toggle)', function(e) {\r\n                swal(\"\", \"You have clicked on a non-functional dummy link!\");\r\n\r\n                e.preventDefault();\r\n            });\r\n        },\r\n\r\n        initHeader: function() {\r\n            initHeader();\r\n            initHeaderMenu();\r\n            initHeaderTopbar();\r\n            initScrolltop();\r\n        },\r\n\r\n        initAside: function() { \r\n            initAside();\r\n            initAsideMenu();\r\n        },\r\n\r\n        getAsideMenu: function() {\r\n            return asideMenu;\r\n        },\r\n\r\n        initPageStickyPortlet: function() {\r\n            if (!KTUtil.get('kt_page_portlet')) {\r\n                return;\r\n            }\r\n            \r\n            pageStickyPortlet = initPageStickyPortlet();\r\n            pageStickyPortlet.initSticky();\r\n            \r\n            KTUtil.addResizeHandler(function(){\r\n                pageStickyPortlet.updateSticky();\r\n            });\r\n\r\n            initPageStickyPortlet();\r\n        },\r\n\r\n        closeMobileAsideMenuOffcanvas: function() {\r\n            if (KTUtil.isMobileDevice()) {\r\n                asideMenuOffcanvas.hide();\r\n            }\r\n        },\r\n\r\n        closeMobileHeaderMenuOffcanvas: function() {\r\n            if (KTUtil.isMobileDevice()) {\r\n                headerMenuOffcanvas.hide();\r\n            }\r\n        }\r\n    };\r\n}();\r\n\r\n// webpack support\r\nif (true) {\r\n    module.exports = KTLayout;\r\n}\r\n\r\n// Init on page load completed\r\nKTUtil.ready(function() {\r\n    KTLayout.init();\r\n});\n\n//# sourceURL=webpack:///../src/assets/js/global/layout/layout.js?");

/***/ }),

/***/ "../src/assets/js/global/layout/lib.js":
/*!*********************************************!*\
  !*** ../src/assets/js/global/layout/lib.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Class definition\r\nvar KTLib = function() {\r\n\r\n    return {\r\n        initMiniChart: function(src, data, color, border, fill, tooltip) {\r\n            if (src.length == 0) {\r\n                return;\r\n            }\r\n\r\n            // set default values\r\n            fill = (typeof fill !== 'undefined') ? fill : false;\r\n            tooltip = (typeof tooltip !== 'undefined') ? tooltip : false;\r\n\r\n            var config = {\r\n                type: 'line',\r\n                data: {\r\n                    labels: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\"],\r\n                    datasets: [{\r\n                        label: \"\",\r\n                        borderColor: color,\r\n                        borderWidth: border,\r\n                        pointHoverRadius: 4,\r\n                        pointHoverBorderWidth: 4,\r\n                        pointBackgroundColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n                        pointBorderColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n                        pointHoverBackgroundColor: KTApp.getStateColor('brand'),\r\n                        pointHoverBorderColor: Chart.helpers.color('#000000').alpha(0.1).rgbString(),\r\n                        fill: fill,\r\n                        backgroundColor: color,\r\n                        data: data,\r\n                    }]\r\n                },\r\n                options: {\r\n                    title: {\r\n                        display: false,\r\n                    },\r\n                    tooltips: (tooltip ? {\r\n                        enabled: true,\r\n                        intersect: false,\r\n                        mode: 'nearest',\r\n                        bodySpacing: 5,\r\n                        yPadding: 10,\r\n                        xPadding: 10, \r\n                        caretPadding: 0,\r\n                        displayColors: false,\r\n                        backgroundColor: KTApp.getStateColor('brand'),\r\n                        titleFontColor: '#ffffff', \r\n                        cornerRadius: 4,\r\n                        footerSpacing: 0,\r\n                        titleSpacing: 0\r\n                    } : false),\r\n                    legend: {\r\n                        display: false,\r\n                        labels: {\r\n                            usePointStyle: false\r\n                        }\r\n                    },\r\n                    responsive: false,\r\n                    maintainAspectRatio: true,\r\n                    hover: {\r\n                        mode: 'index'\r\n                    },\r\n                    scales: {\r\n                        xAxes: [{\r\n                            display: false,\r\n                            gridLines: false,\r\n                            scaleLabel: {\r\n                                display: false,\r\n                                labelString: 'Month'\r\n                            }\r\n                        }],\r\n                        yAxes: [{\r\n                            display: false,\r\n                            gridLines: false,\r\n                            scaleLabel: {\r\n                                display: false,\r\n                                labelString: 'Month'\r\n                            }\r\n                        }]\r\n                    },\r\n\r\n                    elements: {\r\n                        line: {\r\n                            tension: 0.5\r\n                        },\r\n                        point: {\r\n                            radius: 2,\r\n                            borderWidth: 4\r\n                        },\r\n                    },\r\n\r\n                    layout: {\r\n                        padding: {\r\n                            left: 6,\r\n                            right: 0,\r\n                            top: 4,\r\n                            bottom: 0\r\n                        }\r\n                    }\r\n                }\r\n            };\r\n\r\n            var chart = new Chart(src, config);\r\n        },\r\n\r\n        initMediumChart: function(src, data, max, color, border) {\r\n            if (!document.getElementById(src)) {\r\n                return;\r\n            }\r\n\r\n            var border = border ? border : 2;\r\n\r\n            // Main chart\r\n            var ctx = document.getElementById(src).getContext(\"2d\");\r\n\r\n            var gradient = ctx.createLinearGradient(0, 0, 0, 100);\r\n            gradient.addColorStop(0, Chart.helpers.color(color).alpha(0.3).rgbString());\r\n            gradient.addColorStop(1, Chart.helpers.color(color).alpha(0).rgbString());\r\n\r\n            var mainConfig = {\r\n                type: 'line',\r\n                data: {\r\n                    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October'],\r\n                    datasets: [{\r\n                        label: 'Orders',\r\n                        borderColor: color,\r\n                        borderWidth: border,\r\n                        backgroundColor: gradient,\r\n                        pointBackgroundColor: KTApp.getStateColor('brand'),\r\n                        data: data,\r\n                    }]\r\n                },\r\n                options: {\r\n                    responsive: true,\r\n                    maintainAspectRatio: false,\r\n                    title: {\r\n                        display: false,\r\n                        text: 'Stacked Area'\r\n                    },\r\n                    tooltips: {\r\n                        enabled: true,\r\n                        intersect: false,\r\n                        mode: 'nearest',\r\n                        bodySpacing: 5,\r\n                        yPadding: 10,\r\n                        xPadding: 10, \r\n                        caretPadding: 0,\r\n                        displayColors: false,\r\n                        backgroundColor: KTApp.getStateColor('brand'),\r\n                        titleFontColor: '#ffffff', \r\n                        cornerRadius: 4,\r\n                        footerSpacing: 0,\r\n                        titleSpacing: 0\r\n                    },\r\n                    legend: {\r\n                        display: false,\r\n                        labels: {\r\n                            usePointStyle: false\r\n                        }\r\n                    },\r\n                    hover: {\r\n                        mode: 'index'\r\n                    },\r\n                    scales: {\r\n                        xAxes: [{\r\n                            display: false,\r\n                            scaleLabel: {\r\n                                display: false,\r\n                                labelString: 'Month'\r\n                            },\r\n                            ticks: {\r\n                                display: false,\r\n                                beginAtZero: true,\r\n                            }\r\n                        }],\r\n                        yAxes: [{\r\n                            display: false,\r\n                            scaleLabel: {\r\n                                display: false,\r\n                                labelString: 'Value'\r\n                            },\r\n                            gridLines: {\r\n                                color: '#eef2f9',\r\n                                drawBorder: false,\r\n                                offsetGridLines: true,\r\n                                drawTicks: false\r\n                            },\r\n                            ticks: {\r\n                                max: max,\r\n                                display: false,\r\n                                beginAtZero: true\r\n                            }\r\n                        }]\r\n                    },\r\n                    elements: {\r\n                        point: {\r\n                            radius: 0,\r\n                            borderWidth: 0,\r\n                            hoverRadius: 0,\r\n                            hoverBorderWidth: 0\r\n                        }\r\n                    },\r\n                    layout: {\r\n                        padding: {\r\n                            left: 0,\r\n                            right: 0,\r\n                            top: 0,\r\n                            bottom: 0\r\n                        }\r\n                    }\r\n                }\r\n            };\r\n\r\n            var chart = new Chart(ctx, mainConfig);\r\n\r\n            // Update chart on window resize\r\n            KTUtil.addResizeHandler(function() {\r\n                chart.update();\r\n            });\r\n        }\r\n    };\r\n}();\r\n\r\n// webpack support\r\nif (true) {\r\n    module.exports = KTLib;\r\n}\n\n//# sourceURL=webpack:///../src/assets/js/global/layout/lib.js?");

/***/ }),

/***/ "./webpack/scripts.js":
/*!****************************!*\
  !*** ./webpack/scripts.js ***!
  \****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\n\r\n/**\r\n * Define the output of this file. The output of CSS and JS file will be auto detected.\r\n *\r\n * @output js/scripts.bundle\r\n */\r\n\r\n// Keentheme\"s plugins\r\nwindow.KTUtil = __webpack_require__(/*! ../../src/assets/js/global/components/base/util */ \"../src/assets/js/global/components/base/util.js\");\r\nwindow.KTApp = __webpack_require__(/*! ../../src/assets/js/global/components/base/app */ \"../src/assets/js/global/components/base/app.js\");\r\nwindow.KTAvatar = __webpack_require__(/*! ../../src/assets/js/global/components/base/avatar */ \"../src/assets/js/global/components/base/avatar.js\");\r\nwindow.KTDialog = __webpack_require__(/*! ../../src/assets/js/global/components/base/dialog */ \"../src/assets/js/global/components/base/dialog.js\");\r\nwindow.KTHeader = __webpack_require__(/*! ../../src/assets/js/global/components/base/header */ \"../src/assets/js/global/components/base/header.js\");\r\nwindow.KTMenu = __webpack_require__(/*! ../../src/assets/js/global/components/base/menu */ \"../src/assets/js/global/components/base/menu.js\");\r\nwindow.KTOffcanvas = __webpack_require__(/*! ../../src/assets/js/global/components/base/offcanvas */ \"../src/assets/js/global/components/base/offcanvas.js\");\r\nwindow.KTPortlet = __webpack_require__(/*! ../../src/assets/js/global/components/base/portlet */ \"../src/assets/js/global/components/base/portlet.js\");\r\nwindow.KTScrolltop = __webpack_require__(/*! ../../src/assets/js/global/components/base/scrolltop */ \"../src/assets/js/global/components/base/scrolltop.js\");\r\nwindow.KTToggle = __webpack_require__(/*! ../../src/assets/js/global/components/base/toggle */ \"../src/assets/js/global/components/base/toggle.js\");\r\nwindow.KTWizard = __webpack_require__(/*! ../../src/assets/js/global/components/base/wizard */ \"../src/assets/js/global/components/base/wizard.js\");\r\n\r\n// Layout scripts\r\nwindow.KTLayout = __webpack_require__(/*! ../../src/assets/js/global/layout/layout */ \"../src/assets/js/global/layout/layout.js\");\r\nwindow.KTLib = __webpack_require__(/*! ../../src/assets/js/global/layout/lib */ \"../src/assets/js/global/layout/lib.js\");\n\n//# sourceURL=webpack:///./webpack/scripts.js?");

/***/ })

/******/ });