diff --git a/.travis.yml b/.travis.yml index 18c5fc8f8..a9416bb4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,15 +3,14 @@ language: node_js env: - CXX=g++-4.8 node_js: - - 0.10 - 4 - - 5 + - 6 services: - mongodb addons: apt: sources: - - mongodb-3.0-precise + - mongodb-3.2-precise - ubuntu-toolchain-r-test packages: - mongodb-org-server @@ -21,7 +20,6 @@ addons: before_install: - npm install -g grunt - npm install -g grunt-cli - - gem install sass script: - npm test diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..46bcc29e8 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,30 @@ +# Change Log + +## [Unreleased](https://github.com/polonel/trudesk/tree/HEAD) + +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.6...HEAD) + +**Fixed bugs:** + +- Users still receive email after account disabled [\#6](https://github.com/polonel/trudesk/issues/6) +- Delete / Disable account fires twice [\#5](https://github.com/polonel/trudesk/issues/5) +- Set Assignee Permissions are incorrect [\#2](https://github.com/polonel/trudesk/issues/2) +- Crash when fails to connect to mail server [\#1](https://github.com/polonel/trudesk/issues/1) + +**Merged pull requests:** + +- Develop to Master [\#4](https://github.com/polonel/trudesk/pull/4) ([polonel](https://github.com/polonel)) + +## [0.1.6](https://github.com/polonel/trudesk/tree/0.1.6) (2016-01-25) +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.5...0.1.6) + +## [0.1.5](https://github.com/polonel/trudesk/tree/0.1.5) (2015-12-28) +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.4...0.1.5) + +## [0.1.4](https://github.com/polonel/trudesk/tree/0.1.4) (2015-11-07) +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.3...0.1.4) + +## [0.1.3](https://github.com/polonel/trudesk/tree/0.1.3) (2015-10-28) +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.2...0.1.3) + +## [0.1.2](https://github.com/polonel/trudesk/tree/0.1.2) (2015-08-24) \ No newline at end of file diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 78be44c95..000000000 --- a/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "http://rubygems.org" -ruby '2.0.0' -gem "sass" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 5260e4e96..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,10 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - sass (3.4.5) - -PLATFORMS - ruby - -DEPENDENCIES - sass \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000000000..afe5ff03c --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright 2014-2016 Chris Brame + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md index 4de6f2252..9ae0bc6f6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Trudesk](http://trudesk.io/TD_Black.png)](http://trudesk.io/) +

@@ -7,31 +7,29 @@ [http://trudesk.io](http://trudesk.io/) -TruDesk is an open source help desk solution stil in active development. +TruDesk is an open source help desk solution still in active development. Built on [Node.JS](http://nodejs.org) and [MongoDB](http://www.mongodb.org). -###Requirements -+ Node.JS v4.2.2 or later -+ MongoDB 2.6 or later -+ Ruby 2.0.0 or later -+ __Sass__ Gem Installed +### Requirements ++ Node.JS v6.3.0 or later ++ MongoDB 3.2 or later -###Install & Run +### Install & Run 1. Clone the repo using: ```git clone http://www.github.com/polonel/trudesk``` 2. Install dependencies: ```npm install``` 3. Run the install script: ```./trudesk setup``` 4. Start the server: ```npm start``` 5. Navigate to: ```http://localhost:8118``` -###Documentation +### Documentation To build the documentation run ```grunt builddocs```. The documentation after build is located in: - ```{repo folder}/docs``` - ```{repo folder}/apidocs``` -###Help +### Help if you like what you see here, and want to help support the work being done, you could: + Contribute code, issues and pull requests @@ -40,17 +38,18 @@ if you like what you see here, and want to help support the work being done, you -###License -Copyright 2015 Chris Brame +### License - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + Copyright 2014-2016 Chris Brame + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/app.js b/app.js index 16104d2a8..9e44b758f 100644 --- a/app.js +++ b/app.js @@ -13,10 +13,10 @@ var async = require('async'), path = require('path'), fs = require('fs'), winston = require('winston'), - wConfig = require('winston/lib/winston/config'), nconf = require('nconf'), - NodeCache = require('node-cache'), - pkg = require('./package.json'); + pkg = require('./package.json'), + ws = require('./src/webserver'); + global.forks = []; @@ -45,6 +45,16 @@ winston.err = function (err) { winston.error(err.stack); }; +process.on('message', function(msg) { + if (msg == 'shutdown') { + console.log('Closing all connections...'); + + if (ws.server) + ws.server.close(); + process.exit(0); + } +}); + if (!process.env.FORK) { winston.info(' . .o8 oooo'); winston.info(' .o8 "888 `888'); @@ -60,29 +70,6 @@ if (!process.env.FORK) { winston.info('Time: ' + new Date()); } -//CLUSTER STUFF -//var cluster = require('cluster'); -//if (cluster.isMaster) { -// var numWorkers = require('os').cpus().length; -// winston.info('Master cluster setting up ' + numWorkers + ' workers...'); -// -// for (var i = 0; i < numWorkers; i++) { -// cluster.fork({FORK: 1}); -// } -// -// cluster.on('online', function(worker) { -// winston.debug('Worker ' + worker.process.pid + ' is online'); -// }); -// -// cluster.on('exit', function(worker, code, signal) { -// winston.warn('Worker ' + worker.process.pid + ' crashed with code: ' + code); -// winston.info('Starting a new worker'); -// cluster.fork({FORK: 1}); -// }); -//} else { -// -//} - var configFile = path.join(__dirname, '/config.json'), configExists; @@ -116,6 +103,15 @@ if (process.env.HEROKU) { start(); } +if (nconf.get('install') || !configExists && !process.env.HEROKU) { + var ws = require('./src/webserver'); + ws.installServer(function() { + return winston.info('Trudesk Install Server Running...'); + }); + + return; +} + if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) { start(); } else if (nconf.get('setup') || nconf.get('install') || !configExists && !process.env.HEROKU) { @@ -181,7 +177,6 @@ function dbCallback(err, db) { if (err) { return start(); } - var ws = require('./src/webserver'); ws.init(db, function(err) { if (err) { @@ -212,12 +207,46 @@ function dbCallback(err, db) { }, function(next) { //Start Task Runners - var taskrunner = require('./src/taskrunner'); + require('./src/taskrunner'); next(); }, function(next) { + //var pm2 = require('pm2'); + //pm2.connect(true, function(err) { + // if (err) throw err; + // pm2.start({ + // script: path.join(__dirname, '/src/cache/index.js'), + // name: 'trudesk:cache', + // output: path.join(__dirname, '/logs/cache.log'), + // error: path.join(__dirname, '/logs/cache.log'), + // env: { + // FORK: 1, + // NODE_ENV: global.env + // } + // }, function(err) { + // pm2.disconnect(); + // if (err) throw err; + // + // process.on('message', function(message) { + // if (message.data.cache) { + // var nodeCache = require('./src/cache/node-cache'); + // global.cache = new nodeCache({ + // data: message.data.cache.data, + // checkperiod: 0 + // }); + // } + // }); + // + // next(); + // }); + //}); + var fork = require('child_process').fork; - var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env } } ); + var n; + if (process.env.MONGOHQ_URL) + n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env, MONGOHQ_URL: process.env.MONGOHQ_URL } } ); + else + n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env } } ); global.forks.push({name: 'cache', fork: n}); @@ -231,17 +260,7 @@ function dbCallback(err, db) { } }); - // - //n.on('exit', function (code, signal) { - // console.log('Child exited:', code, signal); - //}); - next(); - //winston.debug('Initializing Cache...'); - //var cache = require('./src/cache'); - //cache.init(function() { - // next(); - //}); } ], function() { winston.info("TruDesk Ready"); diff --git a/package.json b/package.json index e826fa3fe..d3887817e 100644 --- a/package.json +++ b/package.json @@ -10,79 +10,82 @@ "coverage": "mocha --recursive --require blanket -R html-cov > coverage.html" }, "dependencies": { - "apn": "^1.7.3", - "async": "^1.2.1", - "bcrypt": "^0.8.2", - "body-parser": "^1.12.3", - "busboy": "^0.2.9", - "chance": "^0.8.0", + "ansi_up": "^1.3.0", + "apn": "^1.7.6", + "async": "^2.0.0", + "bcrypt": "^0.8.7", + "body-parser": "^1.15.2", + "busboy": "^0.2.13", + "chance": "^1.0.3", "clone": "^1.0.2", "coffee-script": "^1.10.0", "connect-flash": "^0.1.1", - "connect-mongo": "^0.8.1", - "cookie": "^0.2.3", - "cookie-parser": "^1.3.4", + "connect-mongo": "^1.2.1", + "cookie": "^0.3.1", + "cookie-parser": "^1.4.3", "daemon": "^1.1.0", - "debug": "^2.1.3", + "debug": "^2.2.0", "dive": "^0.5.0", - "email-templates": "^2.0.1", - "express": "^4.12.3", - "express-hbs": "^0.8.4", - "express-session": "^1.11.1", - "grunt": "^0.4.5", - "grunt-apidoc": "^0.10.1", - "grunt-contrib-cssmin": "^0.14.0", - "grunt-contrib-requirejs": "^0.4.4", + "email-templates": "^2.3.2", + "express": "^4.14.0", + "express-hbs": "^1.0.2", + "express-session": "^1.14.0", + "file-tail": "^0.3.0", + "grunt": "^1.0.1", + "grunt-apidoc": "^0.11.0", + "grunt-contrib-cssmin": "^1.0.1", + "grunt-contrib-requirejs": "^1.0.0", "grunt-contrib-uglify": "^0.11.0", - "grunt-jsdoc": "^1.0.0", + "grunt-jsdoc": "^2.1.0", "grunt-sass": "^1.2.0", - "grunt-shell": "^1.1.2", + "grunt-shell": "^1.3.0", "handlebars": "^4.0.5", - "imap": "^0.8.14", - "kerberos": "0.0.17", - "lodash": "^3.7.0", + "imap": "^0.8.17", + "kerberos": "0.0.21", + "lodash": "^4.13.1", "logrotate-stream": "^0.2.5", - "mailparser": "^0.5.1", - "marked": "^0.3.3", - "matchdep": "^1.0.0", - "moment": "^2.10.2", - "mongoose": "4.2.7", - "mongoose-deep-populate": "2.0.3", - "morgan": "^1.5.2", - "nconf": "^0.8.2", - "node-cache": "^3.1.0", - "nodemailer": "^1.3.4", - "passport": "^0.3.0", + "mailparser": "^0.6.1", + "marked": "^0.3.5", + "matchdep": "^1.0.1", + "moment": "2.10.2", + "mongoose": "4.5.3", + "mongoose-deep-populate": "3.0.0", + "morgan": "^1.7.0", + "nconf": "^0.8.4", + "node-cache": "^3.2.1", + "node-sass": "^3.8.0", + "nodemailer": "^2.5.0", + "passport": "^0.3.2", "passport-http": "^0.3.0", "passport-local": "^1.0.0", - "passport.socketio": "^3.5.1", - "prompt": "^0.2.14", + "passport.socketio": "^3.6.2", + "pm2": "^1.1.3", + "prompt": "^1.0.0", "request": "^2.67.0", - "serve-favicon": "^2.2.0", - "socket.io": "^1.3.5", - "socket.io-client": "^1.3.5", - "uglify-js": "^2.4.20", + "serve-favicon": "^2.3.0", + "socket.io": "^1.4.8", + "socket.io-client": "^1.4.8", + "uglify-js": "^2.7.0", "underscore": "^1.8.3", - "underscore.string": "^3.0.3", + "underscore.string": "^3.3.4", "unzip": "^0.1.11", "util": "^0.10.3", - "winston": "^2.1.1" + "winston": "^2.2.0" }, "devDependencies": { - "blanket": "1.1.7", + "blanket": "1.2.3", "chai": "*", - "coveralls": "^2.11.3", - "grunt-contrib-uglify": "^0.11.1", - "grunt-contrib-watch": "^0.6.1", - "grunt-cssc": "^0.2.6", - "grunt-express-server": "^0.5.1", - "grunt-htmlhint": "^0.9.12-fix", - "grunt-parallel": "^0.4.1", + "coveralls": "^2.11.11", + "grunt-contrib-uglify": "^1.0.1", + "grunt-contrib-watch": "^1.0.0", + "grunt-express-server": "^0.5.3", + "grunt-htmlhint": "^0.9.13", + "grunt-parallel": "^0.5.1", "mocha": "*", - "mocha-lcov-reporter": "1.0.0", - "request": "^2.60.0", - "superagent": "^1.2.0", - "supertest": "^1.0.1" + "mocha-lcov-reporter": "1.2.0", + "request": "^2.73.0", + "superagent": "^2.0.0", + "supertest": "^1.2.0" }, "config": { "blanket": { diff --git a/public/css/app.css b/public/css/app.css index 52e92a37b..35ef58f92 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -34,6 +34,8 @@ pre { border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } + pre br { + display: none !important; } pre code { display: inline; font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; @@ -165,6 +167,9 @@ input[type="file"], input[type="checkbox"], input[type="radio"], select { padding-left: 15px !important; padding-right: 15px !important; } +.padding-right-15 { + padding-right: 15px !important; } + .padtop20 { padding-top: 20px !important; } @@ -1731,18 +1736,21 @@ div#accountsTable_wrapper { margin-right: 10px; font-size: 14px; } -.ticket-assignee-wrap { +.ticket-assignee-wrap, +.tag-info-wrap { padding-left: 30px; padding-top: 30px; margin-bottom: 40px; } - .ticket-assignee-wrap.tru-card { + .ticket-assignee-wrap.tru-card, + .tag-info-wrap.tru-card { background: white; padding: 5px 15px 15px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; margin: 30px; } - .ticket-assignee-wrap h4 { + .ticket-assignee-wrap h4, + .tag-info-wrap h4 { font-family: "Roboto", "Open Sans", sans-serif; font-size: 14px; color: #8e98a2; @@ -1828,17 +1836,18 @@ div#accountsTable_wrapper { box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; } - .ticket-details select { - background: inherit; + .ticket-details select, .ticket-details select:focus { + -webkit-appearance: none; + background: url("data:image/svg+xml;utf8,"); + background-position: 100% 50%; + background-repeat: no-repeat; border: none; border-bottom: 1px solid #CCC; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; - padding: 0 4px 0 0; } - .ticket-details .input-box { - padding-top: 3px; - padding-bottom: 3px; } + padding: 0; } + .ticket-details .input-box, .ticket-details .tag-list { display: block; padding: 0; @@ -1852,6 +1861,7 @@ div#accountsTable_wrapper { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; } + .ticket-details .input-box .item, .ticket-details .tag-list .item { display: inline-block; float: left; @@ -1865,10 +1875,14 @@ div#accountsTable_wrapper { border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } + .ticket-details .input-box .item.orange, .ticket-details .tag-list .item.orange { background: #db5334; } + .ticket-details .input-box .item:last-of-type, .ticket-details .tag-list .item:last-of-type { margin-bottom: 2px; } + .ticket-details .input-box { + margin-bottom: 15px; } .history-items { height: 185px; @@ -4712,6 +4726,12 @@ div.dataTables_wrapper { .md-switch.md-blue label input[type=checkbox]:checked + .lever:after { background-color: #2196f3; } +.md-switch.md-green label input[type=checkbox]:checked + .lever { + background-color: #55d97e; } + +.md-switch.md-green label input[type=checkbox]:checked + .lever:after { + background-color: #29b955; } + .md-switch label .lever { content: ""; display: inline-block; @@ -5568,15 +5588,15 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { .md-fab.md-fab-accent { background: #E74C3C; } .md-fab.md-fab-success { - background: #7cb342; } + background: #29b955; } .md-fab.md-fab-success > i { color: #fff; } .md-fab.md-fab-danger { - background: #e53935; } + background: #d32f2f; } .md-fab.md-fab-danger > i { color: #fff; } .md-fab.md-fab-primary { - background: #2196f3; } + background: #2196F3; } .md-fab.md-fab-primary > i { color: #fff; } .md-fab.md-fab-warning { @@ -5887,7 +5907,7 @@ a.waves-effect .waves-ripple { background: rgba(0, 0, 0, 0.5); -webkit-transition: opacity 250ms ease-out; transition: opacity 250ms ease-out; - overflow: auto !important; } + overflow: hidden !important; } .uk-modal.uk-modal-no-backdrop { background: transparent; } diff --git a/public/css/app.min.css b/public/css/app.min.css index 31acd7541..bdb434ba8 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1,7 +1,7 @@ -@charset "UTF-8";@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700,800,300,600);@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,500,700);@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);@import url(https://fonts.googleapis.com/icon?family=Material+Icons);blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,pre code,td,th,ul{margin:0}pre,pre code{word-wrap:normal}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.action-link i,.tru-icon,.waves-effect{-webkit-tap-highlight-color:transparent}.fc .fc-toolbar button,.md-btn,.uk-badge,.uk-button{text-shadow:none}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{background:#f7f8fa;overflow:hidden;font-family:Roboto,"Open Sans",sans-serif;height:100%}a{text-decoration:none!important;color:#1e88e5}a:active,a:focus,a:hover{color:#1976d2}pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#F7F7F7;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}pre code{display:inline;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace;color:#333;max-width:initial;padding:0;overflow:initial;line-height:inherit;background-color:transparent;border:0;white-space:pre;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}h6,p{line-height:1.6}.left,.right{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:400;font-style:normal;margin-top:.2rem;margin-bottom:.5rem}h6{font-size:1rem}p{margin-bottom:1.25rem}hr{border:none;height:1px;background:#ddd;width:100%}img{display:inline-block;vertical-align:middle}label{font-size:.875rem;color:#4d4d4d;cursor:pointer;display:block;font-weight:400;line-height:1.5;margin-bottom:0}table tr td,table tr th{padding:.5625rem .625rem;text-align:left}table tbody tr td,table tbody tr th,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.125rem}input[type=checkbox]+label,input[type=radio]+label{margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type=checkbox],input[type=radio],input[type=file],select{margin:0 0 1rem}.accent-text{color:#E74C3C!important}.right{float:right}.left{float:left}.noborder{border:none!important}.no-border-top{border-top:0!important}.nomargin{margin:0!important}.nomargin-left-right{margin-left:0!important;margin-right:0!important}.nomargin-top{margin-top:0!important}.marginright20{margin-right:20px!important}.marginright30{margin-right:30px!important}.marginleft5{margin-left:5px!important}.marginright5{margin-right:5px!important}.padding-left-right-15{padding-left:15px!important;padding-right:15px!important}.padtop20{padding-top:20px!important}.padright20{padding-right:20px!important}.padleft30{padding-left:30px!important}.nopadding,.vishide{padding:0!important}.nopadding-right{padding-right:0!important}.nopadding-left{padding-left:0!important}.nopadding-top{padding-top:0!important}.nopadding-bottom{padding-bottom:0!important}.noshadow{box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.no-overflow-x{overflow-x:hidden!important}.relative{position:relative!important}.hide{display:none!important}.vishide{visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;font-size:0!important;border:0!important;margin:0!important}.font-weight-300{font-weight:300!important}.cursor-pointer{cursor:default!important}.cursor-pointer:hover{cursor:pointer!important}.btn-success{background:#29b955!important;color:#fff!important}.btn-success:hover{background:#40d56e!important}.button-group>li{float:left;margin:0}a.blackLink{color:#000!important}a.hoverUnderline:hover{text-decoration:underline!important}.profilePic{width:50px;height:50px;border:none}.page-content-left,.page-title-border-right{border-right:1px solid #dadada}.profilePic img{height:50px;width:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.page-title,.page-title-right{height:70px;background:#f7f8fa;border-top:2px solid #f7f8fa;box-shadow:2px 2px 2px 0 rgba(44,62,80,.1);padding:0 15px 0 35px;font-family:Roboto,sans-serif}.page-content,.page-content-left,.page-content-right{border-top:1px solid #dadada}.page-title p,.page-title-right p{font-size:30px;margin:0;line-height:68px;color:#3c3c3c;font-weight:300}.page-title p.left,.page-title-right p.left{line-height:68px}.page-title-right.page-title-small p,.page-title.page-title-small p{font-size:28px}.page-title-shadow{box-shadow:0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15)!important}.f-dropdown,.panel.trupanel{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-title-border-bottom{border-bottom:1px solid #dadada}.page-content{background:#f7f8fa}.page-content-right{background:#FFF}.page-content-left{background:#f7f8fa}.fa-large{font-size:24px;line-height:26px}span.user-offline,span.user-online{display:block;height:17px;width:17px;position:absolute;right:2px;bottom:-4px;background:#29b955;line-height:1;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;border:2px solid #fff}span.user-offline{background:#9e9e9e}span.user-status-large{height:25px;width:25px;border-width:3px}.button:focus,.button:hover,button:focus,button:hover{background-color:#e43725}a.button,button{color:#fff;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;outline:0}a.button.dropdown,button.dropdown{padding-right:40px}a.button.dropdown:after,button.dropdown:after{width:auto;height:auto;right:12px;top:10px;font-family:FontAwesome;content:"\f078";border:none;font-size:12px}a.button:hover,button:hover{background:#e43725;color:#fff}a.button i,button i{font-weight:400;margin-right:10px;font-size:14px}.f-dropdown{background:#fff;border:#bac6df}.f-dropdown.noarrow:after,.f-dropdown.noarrow:before{border:none}.f-dropdown.xtiny{max-width:150px}.panel hr{margin:0}.panel.trupanel{background:#FFF;border:#d9d9d9;transition:all 280ms ease-in-out;-webkit-transition:all 280ms ease-in-out}.action-link,.action-link:active,.action-link:focus,.action-link:hover,.action-link:visited{background:0 0}.panel.trupanel:hover:not(.no-hover-shadow){box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}#flotTip,div.ptooltip-box{max-width:150px;min-height:45px;box-shadow:1px 1px 1px rgba(0,0,0,.3)}.panel .panel-body{padding:15px}.tru-card-content{padding:16px}.tru-card-content h2{font-size:24px;font-weight:500;line-height:30px;color:#444}.action-link{padding:0;border:none;margin:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.action-link:last-child{margin-right:10px}.action-link i{color:#727272;padding:6px 0 0;margin:4px 4px 0 0;font-size:22px;cursor:pointer;width:32px!important;height:32px!important;text-align:center;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.action-link i:hover{background:#d6d8dc}.top-bar-section ul.uk-topbar{display:block;width:100%;margin-right:-5px!important}.top-bar-section ul.uk-topbar li{float:none!important;width:100%!important;background:#f5f5f5!important;line-height:1.4em!important;height:auto!important}.top-bar-section ul.uk-topbar a{display:block;width:100%;background:#f5f5f5!important;line-height:1.4em!important;padding:5px 15px!important;color:#212121!important}.top-bar-section ul.uk-topbar a:hover{background:rgba(0,0,0,.085)!important;color:#212121!important}.disconnected{z-index:10000;border:none;background:rgba(0,0,0,.76);position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}.page-center{position:absolute;top:50%;left:50%;text-align:center;transform:translate(-50%,-50%)}.overlay-message,.overlay-message>p{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:32px;color:#fff}#pieChart g[class$='_arc'] path,#pieChart g[class$='_labels-inner'] text{cursor:pointer}@media only screen and (min-width:40.063em) and (max-width:64em){.page-right-content{padding:0 0 0 55px!important}}#page-content-inner{padding:24px 24px 100px}div.ptooltip-box-wrap{display:none;position:absolute;left:50%;bottom:35px;margin-left:-75px;z-index:99999;opacity:.95}div.ptooltip-box{position:relative;width:150px;background:#223140;text-align:center;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3)}div.ptooltip-box:after,div.ptooltip-box:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}div.ptooltip-box:before{border-width:11px;margin-left:-11px}div.ptooltip-box:after{border-width:5px;margin-left:-5px}div.ptooltip-box span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}.uk-modal span,div.ptooltip-box span:last-child{margin-bottom:0}div.ptooltip-box span:first-child{font-weight:600}div.ptooltip-box span span{display:inline!important}.alert-message{position:absolute;top:50px;left:50%;width:380px;height:55px;background:red;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.largeProfilePic,.mediumProfilePic{border:2px solid #fff;background:0 0;position:relative;width:256px;height:256px;overflow:hidden}.largeProfilePic img,.mediumProfilePic img{width:256px;height:256px}.mediumProfilePic,.mediumProfilePic img{width:128px;height:128px}.mediumProfilePic{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.profilePicHover{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all 280ms cubic-bezier(.4,0,.2,1)}.profilePicHover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}div.hoverAction{position:absolute;bottom:-256px;left:0;width:100%;height:256px;opacity:.72;background:#000;text-align:center;color:#fff;z-index:300}div.hoverAction span{display:inline-block;padding-top:0;font-weight:300;font-size:20px;line-height:256px}.uk-modal h2,.uk-modal h5{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.uk-modal .chosen-container-multi .chosen-choices{border:1px solid #dfe4ef;background:#f3f5f9;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal .chosen-container-multi .chosen-drop{background:#fff;border-color:#dfe4ef}.uk-modal span{font-size:.875rem;color:#4d4d4d;font-weight:400;line-height:1.5}.uk-modal button:not(.md-btn),.uk-modal input,.uk-modal textarea{font-size:14px;font-family:Roboto,"Open Sans",sans-serif}.uk-modal span.uk-badge{color:#fff}.uk-modal input,.uk-modal textarea{color:#3d4854;resize:none;background:#f3f5f9;border:1px solid #dfe4ef;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-sizing:border-box;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal input:active,.uk-modal input:focus,.uk-modal textarea:active,.uk-modal textarea:focus{background:#fafafa;border-color:#dfe4ef;outline:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal button:not(.md-btn){color:#fff;font-weight:300;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal button:not(.md-btn):active,.uk-modal button:not(.md-btn):focus{outline:0}.uk-modal button:not(.md-btn).cancel{background:#cdd5e4;color:#59606d}.uk-modal button:not(.md-btn).cancel:active,.uk-modal button:not(.md-btn).cancel:hover{background:#c3cddf}.uk-modal button:not(.md-btn).red{background:#F95E56;color:#fff!important;font-weight:500}.uk-modal button:not(.md-btn).red:active,.uk-modal button:not(.md-btn).red:hover{background:#f72f25}.pagination{margin-right:8px}.pagination .pagination-info{font-family:Roboto,"Open Sans",sans-serif;font-size:13px;font-weight:300;float:left;display:inline-block;margin-right:10px;padding-top:23px}.pagination .button-group{list-style:none;float:left;padding-left:0;margin:0}.pagination .button-group li .btn{max-height:30px;height:30px;margin-right:0;padding:0 16px;background:#FFF;overflow:hidden;border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;color:#595f69;line-height:30px}.pagination .button-group li .btn i{margin-right:0;line-height:30px}.pagination .button-group li .btn i.material-icons{font-size:20px;line-height:30px}.pagination .button-group li .btn span{display:inline-block;margin-top:5px}.pagination .button-group li:last-child .btn{border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0}.pagination .button-group li.active .btn{background:#E74C3C}.datepicker td span.active,.datepicker td.active.day,.datepicker td.active.year{background:#ea6153}.top-bar,.top-bar-section ul li,.top-nav{background:#42464d;height:75px;line-height:75px}.top-bar .title-area .logo,.top-bar .title-area .logo svg,.top-nav .title-area .logo,.top-nav .title-area .logo svg{height:75px}.top-bar .title-area .logo svg path,.top-nav .title-area .logo svg path{fill:#FFF}.top-bar .title-area .logo svg circle,.top-nav .title-area .logo svg circle{fill:#E74C3C}.top-bar{padding:0 15px}.top-menu{height:75px}.top-bar-section ul li{color:#222;position:relative}.top-bar-section ul li a{background:#42464d!important;color:#FFF!important;padding-top:15px!important;padding-bottom:8px!important}.top-bar-section ul li a:hover,.top-bar-section ul li.top-bar-icon a:hover,.top-bar-section ul li.top-bar-icon a:hover i,.top-bar-section ul li.top-bar-icon:hover,.top-bar-section ul li.top-bar-icon:hover i{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon{overflow:hidden;padding-right:8px}.top-bar-section ul li.top-bar-icon,.top-bar-section ul li.top-bar-icon a{font-size:30px;font-family:FontAwesome,sans-serif}.top-bar-section ul li.top-bar-icon a:hover svg,.top-bar-section ul li.top-bar-icon:hover svg{fill:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button,.top-bar-section ul li.top-bar-icon button{border:none;outline:0;background:0 0;color:#FFF;padding:0 5px;margin:0;height:auto;top:auto;cursor:pointer}.top-bar-section ul li.top-bar-icon a button:hover,.top-bar-section ul li.top-bar-icon button:hover{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button i,.top-bar-section ul li.top-bar-icon button i{margin-right:0}.top-bar-section ul li.top-bar-icon a i,.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon i,.top-bar-section ul li.top-bar-icon svg{color:#FFF;font-style:normal;font-size:30px;fill:#FFF}.top-bar-section ul li.top-bar-icon a i.material-icons,.top-bar-section ul li.top-bar-icon a svg.material-icons,.top-bar-section ul li.top-bar-icon i.material-icons,.top-bar-section ul li.top-bar-icon svg.material-icons{margin-top:5px;line-height:70px}.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon svg{width:32px!important;height:32px!important;vertical-align:middle}.top-bar-section ul li.top-bar-icon a span.label,.top-bar-section ul li.top-bar-icon span.label{display:block;color:#fff;height:20px;width:20px;font-size:9px;font-family:Roboto,"Open Sans",sans-serif;font-weight:700;padding:5px 0;position:absolute;right:0;bottom:15px;background:#E74C3C;background:rgba(231,76,60,.9);text-align:center;text-decoration:none;line-height:1;white-space:nowrap;margin-bottom:auto;vertical-align:middle}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a:hover,.comments-wrapper .initial-issue a.comment-email-link:hover,.comments-wrapper .initial-issue a:hover,.comments-wrapper .ticket-comment a.comment-email-link:hover,.comments-wrapper .ticket-comment a:hover,.comments-wrapper .ticket-reply a.comment-email-link:hover,.comments-wrapper .ticket-reply a:hover,.ticket-assignee .ticket-assignee-details a:active:hover,.ticket-assignee .ticket-assignee-details a:active:hover:focus,.ticket-assignee .ticket-assignee-details a:focus:hover,.ticket-assignee .ticket-assignee-details a:focus:hover:focus,.ticket-assignee .ticket-assignee-details a:hover,.ticket-assignee .ticket-assignee-details a:hover:focus{text-decoration:underline}.top-bar-section ul li.top-bar-icon a{padding:0!important}.top-bar-section ul li.profile-area{font-family:Roboto,"Open Sans",sans-serif;font-size:18px;color:#FFF!important;margin-left:10px}.top-bar-section ul li.profile-area:before{content:"\E5D4";font-family:'Material Icons';font-style:normal;font-weight:400;color:#FFF;font-size:30px;position:absolute;left:-10px;top:0}.top-bar-section ul li.profile-area span{display:inline-block;margin:0 20px 0 15px;color:#fff!important}.top-bar-section ul li.profile-area span:hover{color:inherit}.top-bar-section ul li.profile-area a.profile-pic{display:inline-block;width:auto;background:0 0!important;padding:0!important;line-height:10px!important}.top-bar-section ul li.profile-area img{width:50px;height:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.notifications{width:300px!important;height:auto!important}.p-dropdown{visibility:hidden;opacity:0;z-index:99999;background:#fff;border:1px solid rgba(100,100,100,.4);box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.p-dropdown:after,.p-dropdown:before{content:" ";bottom:100%;left:260px;border:solid transparent;height:0;width:0;position:absolute;pointer-events:none}.p-dropdown:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:8px;margin-left:-8px}.p-dropdown:before{border-color:rgba(100,100,100,0);border-bottom-color:#646464;border-width:9px;margin-left:-9px}.p-dropdown.p-dropdown-left:after,.p-dropdown.p-dropdown-left:before{left:25px}.p-dropdown.pDropOpen{visibility:visible;opacity:1}.p-dropdown ul{list-style:none;display:block;float:left;margin:0;padding:0;font-size:12px}div.actions{width:100%;height:auto;border-bottom:1px solid rgba(100,100,100,.4);line-height:24px;font-size:12px;color:#000;font-family:Roboto,sans-serif}div.actions a{width:100%;padding:5px 10px}div.actions strong{margin-left:8px}#mail-notifications,#notifications,#online-Users,.p-dropdown{max-height:400px;position:absolute;left:-9999px}#mail-notifications .mail-Messages,#mail-notifications .notifications-Messages,#mail-notifications .online-Users-List,#notifications .mail-Messages,#notifications .notifications-Messages,#notifications .online-Users-List,#online-Users .mail-Messages,#online-Users .notifications-Messages,#online-Users .online-Users-List,.p-dropdown .mail-Messages,.p-dropdown .notifications-Messages,.p-dropdown .online-Users-List{float:left;max-height:320px;overflow-x:hidden;overflow-y:auto}#mail-notifications .mail-Messages ul,#mail-notifications .notifications-Messages ul,#mail-notifications .online-Users-List ul,#notifications .mail-Messages ul,#notifications .notifications-Messages ul,#notifications .online-Users-List ul,#online-Users .mail-Messages ul,#online-Users .notifications-Messages ul,#online-Users .online-Users-List ul,.p-dropdown .mail-Messages ul,.p-dropdown .notifications-Messages ul,.p-dropdown .online-Users-List ul{float:left;height:100%}#mail-notifications li,#notifications li,#online-Users li,.p-dropdown li{width:100%;background:#fff!important;border-bottom:1px solid rgba(100,100,100,.4);height:72px;max-height:80px;line-height:normal}#mail-notifications li:hover,#notifications li:hover,#online-Users li:hover,.p-dropdown li:hover{background:#f3f5f9!important}#mail-notifications li:last-child,#notifications li:last-child,#online-Users li:last-child,.p-dropdown li:last-child{border-bottom:none}#mail-notifications li .messageNotification,#notifications li .messageNotification,#online-Users li .messageNotification,.p-dropdown li .messageNotification{display:block;width:100%;height:71px;padding:10px!important;background:#fff!important;line-height:normal!important;font-size:12px;color:#000!important;position:relative}#mail-notifications li .messageNotification:hover,#notifications li .messageNotification:hover,#online-Users li .messageNotification:hover,.p-dropdown li .messageNotification:hover{background:0 0!important;color:#000!important}#mail-notifications li .messageNotification .messageUnread,#notifications li .messageNotification .messageUnread,#online-Users li .messageNotification .messageUnread,.p-dropdown li .messageNotification .messageUnread{width:16px;height:16px;font-size:12px;font-family:FontAwesome;color:#646464;position:absolute;top:8px;right:3px}#mail-notifications li .messageNotification .messageUnread:before,#notifications li .messageNotification .messageUnread:before,#online-Users li .messageNotification .messageUnread:before,.p-dropdown li .messageNotification .messageUnread:before{content:"\f111"}#mail-notifications li .messageNotification .messageUnread.read:before,#notifications li .messageNotification .messageUnread.read:before,#online-Users li .messageNotification .messageUnread.read:before,.p-dropdown li .messageNotification .messageUnread.read:before{content:"\f10c"}#mail-notifications li .messageNotification div.messageAuthor,#mail-notifications li .messageNotification div.messageDate,#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageAuthor,#notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageAuthor,#online-Users li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageAuthor,.p-dropdown li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageSnippet{margin-left:60px;margin-bottom:3px}#mail-notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageDate{color:#646464!important}#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageSnippet{width:218px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#mail-notifications li .messageNotification i,#notifications li .messageNotification i,#online-Users li .messageNotification i,.p-dropdown li .messageNotification i{display:block;width:50px;font-size:25px;line-height:59px;text-align:center;color:#000;background:0 0!important}#mail-notifications li .messageNotification i.warn,#notifications li .messageNotification i.warn,#online-Users li .messageNotification i.warn,.p-dropdown li .messageNotification i.warn{color:#e7a13c}#mail-notifications li .messageNotification i.green,#notifications li .messageNotification i.green,#online-Users li .messageNotification i.green,.p-dropdown li .messageNotification i.green{color:#29b955}#mail-notifications li .messageNotification i.red,#notifications li .messageNotification i.red,#online-Users li .messageNotification i.red,.p-dropdown li .messageNotification i.red{color:#b92929}#mail-notifications li .messageNotification i.blue,#notifications li .messageNotification i.blue,#online-Users li .messageNotification i.blue,.p-dropdown li .messageNotification i.blue{color:#017ebc}#mail-notifications.p-dropdown-small,#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-small,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-small,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-small,.p-dropdown.p-dropdown-xsmall{width:240px!important}#mail-notifications.p-dropdown-small:after,#mail-notifications.p-dropdown-small:before,#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-small:after,#notifications.p-dropdown-small:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-small:after,#online-Users.p-dropdown-small:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-small:after,.p-dropdown.p-dropdown-small:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:215px}#mail-notifications.p-dropdown-small div.notifications-Messages,#mail-notifications.p-dropdown-small div.notifications-Messages ul,#mail-notifications.p-dropdown-xsmall div.notifications-Messages,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul,#notifications.p-dropdown-small div.notifications-Messages,#notifications.p-dropdown-small div.notifications-Messages ul,#notifications.p-dropdown-xsmall div.notifications-Messages,#notifications.p-dropdown-xsmall div.notifications-Messages ul,#online-Users.p-dropdown-small div.notifications-Messages,#online-Users.p-dropdown-small div.notifications-Messages ul,#online-Users.p-dropdown-xsmall div.notifications-Messages,#online-Users.p-dropdown-xsmall div.notifications-Messages ul,.p-dropdown.p-dropdown-small div.notifications-Messages,.p-dropdown.p-dropdown-small div.notifications-Messages ul,.p-dropdown.p-dropdown-xsmall div.notifications-Messages,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul{width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages ul li,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul li,#notifications.p-dropdown-small div.notifications-Messages ul li,#notifications.p-dropdown-xsmall div.notifications-Messages ul li,#online-Users.p-dropdown-small div.notifications-Messages ul li,#online-Users.p-dropdown-xsmall div.notifications-Messages ul li,.p-dropdown.p-dropdown-small div.notifications-Messages ul li,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul li{height:40px;width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#mail-notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-small div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-xsmall div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-small div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-xsmall div.notifications-Messages a.messageNotification{height:100%;padding-bottom:0!important}#mail-notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-small div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-small div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageIcon i{width:25px;height:25px;line-height:25px;font-size:20px}#mail-notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-small div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-small div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageAuthor{margin-left:40px;padding-top:3px}#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-xsmall{width:140px!important}#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:120px}.sidebar{background:#e6e7e8;color:#3f444c;width:215px;position:fixed;top:75px;left:0;bottom:0;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1)}@media only screen and (min-width:40.063em) and (max-width:64em){.sidebar{position:absolute;top:75px;left:0;width:55px;max-width:55px;z-index:9999;overflow:hidden}}ul.side-nav,ul.side-nav-sub{list-style:none;line-height:1.6;display:block;margin:0;padding:.875rem 0}ul.side-nav hr,ul.side-nav-sub hr{margin:5px 0;background:#ccc}ul.side-nav li,ul.side-nav-sub li{font-size:14px;font-family:Roboto,sans-serif;margin:0;font-weight:400}ul.side-nav li.active>a,ul.side-nav-sub li.active>a{border-left:2px solid #E74C3C;font-family:Roboto,sans-serif!important;background:#595f69!important;color:#fff!important}ul.side-nav li.active>a i,ul.side-nav li.active>a svg,ul.side-nav-sub li.active>a i,ul.side-nav-sub li.active>a svg{color:#fff;fill:#fff}ul.side-nav li.active>a:after,ul.side-nav-sub li.active>a:after{width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent #f7f8fa transparent transparent;content:"";position:absolute;top:50%;margin-top:-9px;right:0}ul.side-nav a,ul.side-nav-sub a{padding:0 .875rem 0 60px!important;color:#3f444c!important;border-left:2px solid #e6e7e8;position:relative;line-height:48px;height:48px}ul.side-nav a:not(.button),ul.side-nav-sub a:not(.button){display:block;margin:0}ul.side-nav a span,ul.side-nav-sub a span{padding-bottom:5px}ul.side-nav a:hover,ul.side-nav-sub a:hover{border-left:2px solid #E74C3C;background:#d2d3d6!important}ul.side-nav a:hover i,ul.side-nav a:hover svg,ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#3f444c;fill:#3f444c}ul.side-nav a:hover i.icon-accounts,ul.side-nav a:hover svg.icon-accounts,ul.side-nav-sub a:hover i.icon-accounts,ul.side-nav-sub a:hover svg.icon-accounts{background-position:0 -24px}ul.side-nav a:hover i.icon-groups,ul.side-nav a:hover svg.icon-groups,ul.side-nav-sub a:hover i.icon-groups,ul.side-nav-sub a:hover svg.icon-groups{background-position:0 -22px}ul.side-nav a:hover i.icon-invoices,ul.side-nav a:hover svg.icon-invoices,ul.side-nav-sub a:hover i.icon-invoices,ul.side-nav-sub a:hover svg.icon-invoices{background-position:0 -20px}ul.side-nav a i,ul.side-nav a svg,ul.side-nav-sub a i,ul.side-nav-sub a svg{line-height:26px;margin-right:15px;color:#3f444c;margin-top:5px;position:absolute;top:5px;left:15px;fill:#3f444c}ul.side-nav-sub{list-style:none;background:#dfe0e2;box-shadow:none;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);margin:0;padding:10px 0;overflow:hidden;display:none}ul.side-nav-sub.subMenuOpen{display:block}ul.side-nav-sub hr{margin:15px 20px;border:none;height:1px;background:#9c9fa5}ul.side-nav-sub li{margin:5px 0}ul.side-nav-sub li.active a{background:#dfe0e2!important;color:#000!important;font-weight:700;border:none;border-right:1px solid rgba(0,0,0,.1)}ul.side-nav-sub li.active a:after{content:none}ul.side-nav-sub li.active a:hover{background:#d2d3d6!important}ul.side-nav-sub li.active a i,ul.side-nav-sub li.active a svg{color:#000!important;fill:#000!important}ul.side-nav-sub li.active a .fa-sub-icon{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub li.active a .fa-sub-icon.material-icons{font-size:24px}ul.side-nav-sub li.active a .icon-inbox{background-position:0 -18px}ul.side-nav-sub li.active a .icon-sent{background-position:-16px -17px}ul.side-nav-sub li.active a .icon-trash{background-position:-32px -16px}ul.side-nav-sub li.active a .icon-check{background-position:0 -16px}ul.side-nav-sub a{border:none;font-weight:300;padding-left:62px!important;line-height:30px;height:30px!important;color:#595959}.message-folder,.message-items li.unread .message-from,.message-items li.unread .message-subject{font-weight:600}ul.side-nav-sub a i,ul.side-nav-sub a svg{color:#595959!important;fill:#595959!important}ul.side-nav-sub a:hover{border:none;color:#222!important;background:#d2d3d6!important}ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#222!important;fill:#222!important}ul.side-nav-sub a:hover .icon-inbox{background-position:0 -18px}ul.side-nav-sub a:hover .icon-sent{background-position:-16px -17px}ul.side-nav-sub a:hover .icon-trash{background-position:-32px -16px}ul.side-nav-sub a:hover .icon-check{background-position:0 -16px}ul.side-nav-sub a .fa-sub-icon,ul.side-nav-sub a svg{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub a .fa-sub-icon.material-icons,ul.side-nav-sub a svg.material-icons{font-size:24px}.icon-check,.icon-inbox,.icon-sent,.icon-trash{width:16px;height:16px;background:url(/img/inbox.png) no-repeat;position:absolute;top:3px!important;left:20px!important}.icon-check{background-image:url(/img/tickets_submenu.png)}.icon-sent{background-position:-16px 0}.icon-trash{background-position:-32px 0;left:22px!important}.icon-accounts{width:18px;height:24px;background:url(/img/accounts.png) no-repeat}.icon-groups{width:22px;height:22px;background:url(/img/groups.png) no-repeat}.icon-invoices{width:24px;height:20px;background:url(/img/invoices.png) no-repeat;top:10px!important}.message-list{padding:0!important}@media only screen and (min-width:40.063em) and (max-width:64em){.message-list{padding:0 0 0 55px!important}}.message-items{list-style:none;background:#f7f8fa;min-height:100%;padding:0;margin:0;border-top:1px solid #dadada;border-right:1px solid #dadada;overflow:auto}.message-items li{height:85px;padding-top:17px;padding-left:32px;border-bottom:1px solid #dadada;position:relative}.message-items li:hover{background:#fff;cursor:pointer}.message-items li.message-folder:hover{background:#f7f8fa;cursor:default}.message-items li.active{background:#fff}.message-items li.active:before,.message-items li.message-tag:before{content:"";width:3px;height:100%;position:absolute;bottom:0;top:0;left:0;border-left:4px solid #E74C3C}.message-items li.message-tag-blue:before{border-left:4px solid #2980b9!important}.message-folder{line-height:85px;padding-top:0!important;font-size:24px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C}.message-folder:hover{background:inherit!important}.invoice-date,.message-date{position:absolute;top:20px;right:20px;color:#8891a3;font-size:12px;font-family:"Source Sans Pro",sans-serif}.invoice-date,.invoice-overdue{font-family:Roboto,sans-serif}.invoice-date{top:17px}.invoice-overdue{position:absolute;top:40px;right:20px;color:#fff;background:#d32f2f;padding:0 10px;font-size:11px;font-weight:300;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.invoice-name,.message-from{display:inline-block;font-family:"Source Sans Pro",sans-serif;color:#3c3c3c;font-size:14px;padding-left:8px}.invoice-name,.invoice-payee,.message-subject{font-family:Roboto,sans-serif}.invoice-name{font-weight:500;padding-left:0}.invoice-payee,.message-subject{display:block;padding-left:25px;font-size:14px;color:#3c3c3c}.message-header h1,.message-header h5,.message-header span{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.invoice-payee{padding-left:0;padding-top:5px}.message-content{background:#fff}.message-header{border-bottom:1px solid #dadada;padding:20px 30px 30px;position:relative}.message-header h1,.message-header h5{display:block;font-size:30px;color:#3d4854;margin-bottom:5px}.message-header h5{display:inline-block;font-size:14px}.message-header span{display:inline-block;width:40px;margin-right:5px;padding-left:3px;color:#888;font-size:14px}.message-profile-image{height:96px;width:96px;max-height:100%;float:left;margin-right:25px}.message-profile-image img{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}input[type=checkbox].poloCheckbox{visibility:hidden}input[type=checkbox].poloCheckbox+label{display:inline-block;height:14px;width:16px;background:url(/img/checkbox.png) no-repeat;cursor:pointer;position:absolute;top:19px;left:5px}input[type=checkbox]:checked.poloCheckbox+label{background-position:0 -14px}.message{padding:30px 30px 30px 60px;overflow:auto}.message p{font-size:14px;font-weight:400;line-height:30px;margin-bottom:40px;color:#222}.button-group li.active>a,.button-group li.active>button{background:#E74C3C;color:#fff}.button-group a.btn,.button-group button{display:block;color:#5a5f68;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:inherit;border-left:none!important;border-color:transparent;line-height:inherit}.button-group a.btn:active,.button-group a.btn:focus,.button-group button:active,.button-group button:focus{outline:0}.button-group a.btn:hover,.button-group button:hover{background:#E74C3C;color:#fff}.button-group a.btn i,.button-group button i{font-weight:400;margin-right:10px;font-size:14px}.icon-button{display:block;color:#5a5f68;padding:0;background:inherit;margin:20px 0 0}.icon-button:hover{color:#E74C3C}.icon-button i{font-size:24px}@media only screen and (min-width:40.063em) and (max-width:64em){.ticketContent{padding:0 0 0 55px!important}}.accountList,.ticketList{overflow:hidden}div#accountsTable_wrapper,div#ticketTable_wrapper{margin-bottom:0}.ticket-status span{display:block;width:65px;line-height:25px;height:25px;text-align:center;font-size:12px;font-weight:300;font-family:Roboto,sans-serif;color:#fff;background:#CCC;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn,.ticket-assignee .ticket-assignee-details h3,.ticket-assignee-wrap h4{font-family:Roboto,"Open Sans",sans-serif}.ticket-status-open,.ticket-status.ticket-open span{background:#d32f2f!important}.ticket-status-new,.ticket-status.ticket-new span{background:#29b955!important}.ticket-status-pending,.ticket-status.ticket-pending span{background:#2196F3!important}.ticket-status-closed,.ticket-status.ticket-closed span{background:#CCC!important}.ticket-priority{border-left:10px solid transparent}.ticket-priority.ticket-priority-2{border-color:#8e24aa}.ticket-priority.ticket-priority-3{border-color:#e65100}.floating-ticket-status{position:absolute;top:22px;right:18px}.floating-ticket-status .ticket-status span{font-weight:500}.floating-ticket-status #statusSelect{transition:all .4s cubic-bezier(.4,0,.2,1);height:0;overflow:hidden;opacity:0}.floating-ticket-status #statusSelect.hide{display:block!important;height:0!important;opacity:0!important}.floating-ticket-status #statusSelect.shown{height:124px!important;opacity:1!important}#statusSelect{position:absolute;top:28px;left:-5px;padding:5px;background:#fff;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;z-index:999}#statusSelect ul{margin:0;padding:0;list-style:none}#statusSelect ul li{margin-bottom:3px;cursor:pointer}.page-actions .print-ticket a{display:inline-block;margin:19px;color:#707989;font-size:14px;font-weight:300}.page-actions .print-ticket a:hover{color:#59606d}.page-actions .print-ticket i{display:inline-block;margin-right:8px;font-size:18px}.page-top-comments .active>a,.page-top-comments .active>button{background:#cad2e2}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn{background:#c8cfdd;display:block;color:#484848;font-weight:400;font-size:12px;margin:18px 5px 0 0;padding:6px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;height:28px;line-height:14px}.page-top-comments a.btn:hover,.page-top-comments button.btn:hover,.page-top-comments button:hover{background:#b8c1d3}.page-top-comments a.btn i,.page-top-comments button i,.page-top-comments button.btn i{font-weight:400;margin-right:10px;font-size:14px}.ticket-assignee-wrap{padding-left:30px;padding-top:30px;margin-bottom:40px}.ticket-assignee-wrap.tru-card{background:#fff;padding:5px 15px 15px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;margin:30px}.ticket-assignee-wrap h4{font-size:14px;color:#8e98a2;margin-bottom:10px}.ticket-assignee{line-height:1}.ticket-assignee img{float:left;display:block;width:50px;height:50px;margin-left:5px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.ticket-assignee .ticket-assignee-details{padding-left:75px}.ticket-assignee .ticket-assignee-details h3{font-size:14px;color:#3d4854;margin:0 0 7px;line-height:normal}.ticket-assignee .ticket-assignee-details a,.ticket-assignee .ticket-assignee-details a:active,.ticket-assignee .ticket-assignee-details a:focus{display:block;font:400 12px/15px Roboto,"Open Sans",sans-serif;color:#76797e;margin:0 0 2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .initial-issue h3,.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply .attachments,.comments-wrapper .ticket-reply h3,.comments-wrapper .ticket-reply time,.ticket-assignee .ticket-assignee-details span,.ticket-details,.ticket-details .input-box,.ticket-details .tag-list,.ticket-details .tag-list .item,.ticket-details input,.ticket-details label,.ticket-details select{font-family:Roboto,"Open Sans",sans-serif}.ticket-assignee .ticket-assignee-details span{font-size:12px;color:#76797e;margin:0 0 3px}.ticket-details{display:block;min-height:150px;background:#fff;border:1px solid #d3d9e4;margin:0 15px 30px!important;padding:15px!important;font-size:12px;color:#76797e;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details label{font-size:12px;color:#76797e;margin-bottom:3px}.ticket-details .input-box,.ticket-details .tag-list,.ticket-details input,.ticket-details select{font-size:12px;height:25px;width:97%;padding:5px 10px;margin-bottom:12px;color:#484848;background:#f3f5f9;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details .input-box:focus,.ticket-details .tag-list:focus,.ticket-details input:focus,.ticket-details select:focus{outline:0;border-color:#bec4d0;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details select{background:inherit;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;padding:0 4px 0 0}.ticket-details .input-box{padding-top:3px;padding-bottom:3px}.ticket-details .tag-list{display:block;padding:0;height:auto;min-height:25px;max-height:none;margin-bottom:5px;background:inherit;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.ticket-details .tag-list .item{display:inline-block;float:left;font-size:12px;padding:0 8px;margin:2px 0 0 2px;max-height:20px;background:#3498db;color:#fff;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details .tag-list .item.orange{background:#db5334}.ticket-details .tag-list .item:last-of-type{margin-bottom:2px}.history-items{height:185px;width:100%}.history-items .history-item{border-bottom:1px solid #ddd;margin-bottom:10px}.history-items .history-item em,.history-items .history-item p{font-size:11px;line-height:13px;margin-bottom:7px;color:#76797e}.history-items .history-item time{font-size:11px;font-weight:600;line-height:13px}.history-items .history-item em{display:block;font-style:normal}.history-items .history-item em span{font-weight:600}.history-items .history-item p{font-weight:400;margin-top:3px;display:inline-block}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment,.comments-wrapper .ticket-reply{padding:20px 20px 15px 25px;border-bottom:none}.comments-wrapper .initial-issue img,.comments-wrapper .ticket-comment img,.comments-wrapper .ticket-reply img{display:block;float:left;height:50px;width:50px;margin-left:10px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.comments-wrapper .initial-issue .issue-text,.comments-wrapper .ticket-comment .issue-text,.comments-wrapper .ticket-reply .issue-text{padding-left:85px}.comments-wrapper .initial-issue h3,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-reply h3{margin:0 0 5px;font-size:18px;font-weight:600;color:#3d4854}.comments-wrapper .initial-issue a,.comments-wrapper .initial-issue a.comment-email-link,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-comment a.comment-email-link,.comments-wrapper .ticket-reply a,.comments-wrapper .ticket-reply a.comment-email-link{display:inline-block;font-size:12px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C;margin-left:2px}.comments-wrapper .initial-issue a,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-reply a{font-size:14px}.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply time{font-size:12px;color:#76797e;display:block;margin-bottom:4px;margin-left:2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-reply .attachments{margin:0 0 25px;font-size:12px;color:#76797e;list-style:none;display:inline-block}.comments-wrapper .initial-issue .attachments li,.comments-wrapper .ticket-comment .attachments li,.comments-wrapper .ticket-reply .attachments li{position:relative;padding-left:15px;margin-right:8px;display:inline-block}.comments-wrapper .initial-issue .attachments li:before,.comments-wrapper .ticket-comment .attachments li:before,.comments-wrapper .ticket-reply .attachments li:before{content:"\f016";font-family:FontAwesome;position:absolute;top:0;left:0;padding-right:.5em;color:#76797e}.comments-wrapper .initial-issue .attachments a,.comments-wrapper .ticket-comment .attachments a,.comments-wrapper .ticket-reply .attachments a{font-size:12px;color:#6a6c71}.comments-wrapper .initial-issue p,.comments-wrapper .ticket-comment p,.comments-wrapper .ticket-reply p{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;line-height:20px}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment{position:relative}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .initial-issue .comment-actions,.comments-wrapper .initial-issue .edit-issue,.comments-wrapper .ticket-comment .add-attachment,.comments-wrapper .ticket-comment .comment-actions,.comments-wrapper .ticket-comment .edit-issue{position:absolute;right:25px;top:15px;font-weight:600;font-size:14px;line-height:normal;cursor:pointer;display:none;color:#8699ac}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .ticket-comment .add-attachment{right:55px}.comments-wrapper .initial-issue:hover .add-attachment,.comments-wrapper .initial-issue:hover .comment-actions,.comments-wrapper .initial-issue:hover .edit-issue,.comments-wrapper .ticket-comment:hover .add-attachment,.comments-wrapper .ticket-comment:hover .comment-actions,.comments-wrapper .ticket-comment:hover .edit-issue{display:block}.comments-wrapper .initial-issue .comment-actions div,.comments-wrapper .ticket-comment .comment-actions div{float:right;display:inline-block;margin:0 5px}.comments-wrapper .initial-issue .comment-box,.comments-wrapper .initial-issue .edit-comment-box,.comments-wrapper .initial-issue .edit-issue-box,.comments-wrapper .ticket-comment .comment-box,.comments-wrapper .ticket-comment .edit-comment-box,.comments-wrapper .ticket-comment .edit-issue-box,.comments-wrapper .ticket-reply .comment-box,.comments-wrapper .ticket-reply .edit-comment-box,.comments-wrapper .ticket-reply .edit-issue-box{width:100%;display:block;padding-left:85px;margin-bottom:1rem}.comments-wrapper .initial-issue .comment-box textarea,.comments-wrapper .initial-issue .edit-comment-box textarea,.comments-wrapper .initial-issue .edit-issue-box textarea,.comments-wrapper .ticket-comment .comment-box textarea,.comments-wrapper .ticket-comment .edit-comment-box textarea,.comments-wrapper .ticket-comment .edit-issue-box textarea,.comments-wrapper .ticket-reply .comment-box textarea,.comments-wrapper .ticket-reply .edit-comment-box textarea,.comments-wrapper .ticket-reply .edit-issue-box textarea{width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;resize:none;border-color:#dfe4ef;border-width:0 0 1px;background:inherit;padding:8px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.comments-wrapper .initial-issue .comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-issue-box textarea.uk-form-danger{border-color:#d32f2f!important;background:0 0!important}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .initial-issue button[type=submit],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-comment button[type=submit],.comments-wrapper .ticket-reply button[type=reset],.comments-wrapper .ticket-reply button[type=submit]{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#fff;padding:3px 15px;background:#E74C3C;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-weight:400}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .initial-issue button[type=submit]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=submit]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=submit]:hover{background:#e43725}.comments-wrapper .initial-issue button[type=reset]:active,.comments-wrapper .initial-issue button[type=reset]:focus,.comments-wrapper .initial-issue button[type=submit]:active,.comments-wrapper .initial-issue button[type=submit]:focus,.comments-wrapper .ticket-comment button[type=reset]:active,.comments-wrapper .ticket-comment button[type=reset]:focus,.comments-wrapper .ticket-comment button[type=submit]:active,.comments-wrapper .ticket-comment button[type=submit]:focus,.comments-wrapper .ticket-reply button[type=reset]:active,.comments-wrapper .ticket-reply button[type=reset]:focus,.comments-wrapper .ticket-reply button[type=submit]:active,.comments-wrapper .ticket-reply button[type=submit]:focus{outline:0}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-reply button[type=reset]{background:#cdd5e4}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover{background:#acb9d2}span.uk-form-danger{font-size:11px;background:0 0!important;border:none!important;font-weight:600}.initial-issue,.ticket-comment{border-bottom:1px solid #dfe4ef!important}form.form label,form.ticket-form label{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:400;color:#2c3e50;margin-bottom:3px;display:inline-block}form.form input,form.form select,form.form textarea,form.ticket-form input,form.ticket-form select,form.ticket-form textarea{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#223140;background:#eceff6;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:1px solid #9aa1ad}form.form input:focus,form.form select:focus,form.form textarea:focus,form.ticket-form input:focus,form.ticket-form select:focus,form.ticket-form textarea:focus{background:#fdfefe;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;outline:0}form.form textarea,form.ticket-form textarea{resize:none}input[type=text][disabled]{color:gray;background:#dbe0ee}.dt-borderTop{border-top:1px solid #dadada}.dt-borderBottom{border-bottom:1px solid #dadada}.dataTables_scrollHeadInner{width:100%!important;padding-right:0!important}.dataTables_scrollHeadInner .pDataTable{width:100%!important}.dataTables_scrollBody .pDataTable thead{border:none}.pDataTable,table.dataTable thead{border-bottom:1px solid #dadada}.pDataTable.stripe tr:nth-of-type(even){background:#f7f7f7}.pDataTable.stripe tr:nth-of-type(even):hover{cursor:pointer;background:#f7f8fa}.pDataTable tr{height:52px;padding-right:15px}.pDataTable tbody tr{background:#fff}.pDataTable tbody tr:hover{cursor:pointer;background:#f5f5f6}.pDataTable tbody tr.ticket-new td{font-weight:600}.pDataTable tbody tr.ticket-closed td{font-weight:300;color:#95a1af}.pDataTable tbody tr td{position:relative}.pDataTable tbody tr td label{top:39%;left:5px}.pDataTable tbody tr td.group{background:#e9ecf2}.pDataTable tbody tr td.group:hover{cursor:default}.pDataTable tbody tr td.group span:before{content:"Status ";font-weight:600}.pDataTable .dataTables_empty{font-family:Roboto,"Open Sans",sans-serif;font-size:16px;font-weight:300;padding-top:17px}table.dataTable{margin-top:0!important}table.dataTable thead{background:#f7f8fa;font-family:Roboto,"Open Sans",sans-serif;text-transform:uppercase;border-top:1px solid #dadada;border-right:none;border-left:none}table.dataTable thead .sorting:last-child,table.dataTable thead .sorting_asc:last-child,table.dataTable thead .sorting_desc:last-child{background-position:right 15px center}table.dataTable thead tr th{font-size:12px;color:#55616e;font-weight:400}table.dataTable tbody tr td{font-family:Roboto,"Open Sans",sans-serif;color:#55616e;font-weight:400;font-size:14px}div.dataTables_wrapper{background:#f7f8fa;margin-bottom:0}div.dataTables_wrapper .dataTables_filter{float:right}div.dataTables_wrapper .dataTables_filter input,div.dataTables_wrapper .dataTables_filter label{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:13px;margin-right:5px}div.dataTables_wrapper .dataTables_filter input{margin:7px 15px 7px 7px;height:30px;padding:8px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}div.dataTables_wrapper .dataTables_filter input:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.server-row{margin:25px 0 0!important}.server-box{max-height:290px;background:#fff;margin-bottom:25px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-webkit-box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-moz-box-shadow:0 1px 3px 0 rgba(44,62,80,.2)}.server-box .server-title{height:40px;background:#29b955;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.server-box .server-title.server-status-red{background:#b92929}.server-box .server-title.server-status-green{background:#29b955}.server-box .server-title.server-status-orange{background:#e77c3c}.server-box .server-title p{display:block;width:100%;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;text-align:center;color:#fff;line-height:40px}.server-box .server-content{max-height:250px}.server-box .server-content .row:first-child{padding:25px 20px 15px}.server-box .server-content .row{padding:7px 20px}.server-box .server-content p{color:#2c3e50;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;margin-bottom:0}.server-box .server-ping p:before{content:" ";display:inline-block;width:20px;height:5px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:#29b955;margin-right:10px;vertical-align:middle}.server-box .server-ping p:after{content:"ms"}.server-box .server-ping.ping-status-green p:before{background:#29b955}.server-box .server-ping.ping-status-orange p:before{background:#e77c3c}.server-box .server-ping.ping-status-red p:before,.server-box .server-ping.ping-status-timeout p:before{background:#b92929}.server-box .server-ping.ping-status-timeout p:after{content:''}.server-box .server-col-left p{font-weight:500}.server-box .server-col-right p{text-align:right}.server-box .server-services{margin-bottom:15px}.server-box .server-services .server-services-list{float:left;display:block;list-style:none;margin:0;padding:0;width:100%;height:10px;background:#d5dae6;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.server-box .server-services .server-services-list li{float:left;position:relative;border-right:2px solid #fff;width:35px;height:100%;cursor:pointer}.server-box .server-services .server-services-list li:first-child{border-radius:5px 0 0 5px;-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px}.server-box .server-services .server-services-list li:first-child.green{border-left:2px solid #29b955}.server-box .server-services .server-services-list li:first-child.orange{border-left:2px solid #e77c3c}.server-box .server-services .server-services-list li:first-child.red{border-left:2px solid #b92929}.server-box .server-services .server-services-list li.green{background:#29b955}.server-box .server-services .server-services-list li.orange{background:#e77c3c}.server-box .server-services .server-services-list li.red{background:#b92929}.server-box .server-services .server-services-list li span{display:block;font-size:0;height:100%;width:100%}.chat-bar,.chat-dock{position:fixed;height:0;width:100%;left:0;bottom:0}.chat-dock{right:0;z-index:300}.chat-dock .chat-box-wrapper{position:relative;display:block}.chat-dock .chat-box-wrapper .chat-box-position{position:relative;top:-280px;left:0}.chat-dock .chat-box-wrapper .chat-box{float:right;margin-right:15px;width:260px;height:280px;background:#f3f5f9;z-index:300;border:1px solid rgba(100,100,100,.4);border-bottom:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.chat-dock .chat-box-wrapper .chat-box .chat-box-title{display:block;background:#223140;height:29px;border:1px solid transparent;cursor:pointer;box-shadow:0 0 0 1px #223140;-webkit-box-shadow:0 0 0 1px #223140;-moz-box-shadow:0 0 0 1px #223140;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4{font-size:14px;margin:5px 8px 3px;font-family:"Source Sans Pro",sans-serif}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons{line-height:29px;margin-right:7px;font-size:14px}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a{color:#bac3c6}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a:hover{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-text{display:block;cursor:text;max-height:77px;overflow-x:hidden;overflow-y:auto;padding:7px 49px 4px 5px;position:relative;background:#fff;line-height:16px;height:auto;border-top:1px solid #c9d0da}.chat-dock .chat-box-wrapper .chat-box textarea{resize:none;display:block;border:none;margin:0;min-height:16px;outline:0;padding:0;width:100%;font-size:12px;line-height:normal;overflow:hidden;max-width:100%;white-space:pre-wrap;word-wrap:break-word;height:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chat-dock .chat-box-wrapper .chat-box textarea:focus{background:inherit}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages{background:#edeff4;height:220px;width:100%;border-top:1px solid #223140;padding:7px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message{margin-bottom:10px;position:relative;min-height:35px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user{min-height:25px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper{margin-left:60px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper .chat-text{background:#E74C3C;color:#fff;float:right}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile{height:34px;width:34px;position:absolute;left:5px;display:block}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile img{height:34px;width:34px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper{display:block;margin-left:45px;float:left;max-width:175px;width:100%}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text{display:block;width:auto;max-width:175px;background:#fff;float:left;margin-left:6px;border:1px solid rgba(0,0,0,.18);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;color:#3e454c;min-height:14px;padding:4px 6px 3px 5px;position:relative;text-align:left;word-break:break-word}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text:after{content:'';position:absolute;width:8px;height:13px;top:5px;right:100%;background:url(/img/chat-arrow.png) no-repeat #fff;background-size:auto}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text .chat-text-inner{text-align:left;font-size:12px;min-height:16px;line-height:1.28em}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text.chat-text-user:after{content:'';position:absolute;width:8px;height:13px;top:5px;left:100%;background:url(/img/chat-arrow.png) 0 -13px no-repeat #E74C3C}.circle-chart-wrapper{margin-bottom:15px}.circle-chart-caption{width:100%;text-align:center;margin-bottom:25px}.circle-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:500}.circle-chart-caption span img{display:inline-block;margin-left:7px;margin-right:7px;position:relative;top:-1px}#ticketLines .flot-x-axis{top:10px!important}#ticketLines .flot-y-axis div:first-child{display:none;visibility:hidden}.chart-caption h4{font-weight:400;display:block;font-size:16px;text-align:center;color:#3e5871;font-family:Roboto,"Open Sans",sans-serif;margin:0}.donutchart .chart-value,.donutchart-caption{font-family:"Roboto Condensed",sans-serif;font-weight:700;color:#444}.donutchart-wrapper{position:relative;width:33.333333%;text-align:center;float:left;margin-bottom:30px}.donutchart{position:relative;display:inline-block;height:150px;width:150px;text-align:center;margin:0 auto}.donutchart canvas{position:absolute;top:0;left:0}.donutchart .chart-value{position:relative;display:inline-block;line-height:125px;z-index:2;font-size:48px;text-align:center}.donutchart .chart-value.percent{padding-right:22px}.donutchart .chart-value.percent:after{content:'%';position:absolute;right:0;top:38px;margin-left:.1em;font-size:30px;line-height:normal}.donutchart-caption{position:absolute;top:85px;left:0;width:100%;font-size:22px;text-align:center!important;font-variant:small-caps}.bar-chart-wrapper{position:relative;padding-bottom:10px;width:100%;margin:0 auto}.bar-chart-wrapper .bar-chart{position:relative;width:350px;margin:0 auto 40px;text-align:center}.bar-chart-wrapper .bar-chart .bar{position:relative;display:inline-block;float:left;width:15px;height:170px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;background:#e3e5e8;margin-right:10px}.bar-chart-wrapper .bar-chart .bar .bar-track{position:absolute;bottom:0;left:0;content:'';display:block;height:100px;width:100%;background:#E74C3C;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li,.bar-chart-wrapper .bar-chart .bar .bar-label{color:#444;font-weight:700;text-align:center;width:15px;font-variant:small-caps;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}.bar-chart-wrapper .bar-chart .bar .bar-track:hover{background:#c43627}.bar-chart-wrapper .bar-chart .bar .bar-label{position:absolute;bottom:-20px;left:0}.bar-chart-wrapper .bar-axis ul.x-axis,.bar-chart-wrapper .bar-axis ul.y-axis{margin:0;padding:0;position:absolute;bottom:0;left:40px;list-style:none}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li{margin-right:6px}.bar-chart-wrapper .bar-axis ul.y-axis{left:-35px;bottom:0;height:170px}.bar-chart-wrapper .bar-axis ul.y-axis li{position:relative;text-align:right;width:auto;margin:0 0 17px;font-family:Roboto,"Open Sans",sans-serif}#flotTip,.bar-chart-caption span{text-align:center;font-weight:500}.bar-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}#flotTip{width:150px;background:#223140!important;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);color:#fff;font-family:"source sans pro",sans-serif;font-size:12px}#flotTip:after,#flotTip:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}#flotTip:before{border-width:11px;margin-left:-11px}#flotTip:after{border-width:5px;margin-left:-5px}#flotTip span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}#flotTip span:last-child,.fc .fc-toolbar,.fc .fc-widget-header table{margin-bottom:0}#flotTip span:first-child{font-weight:600}#flotTip span span{display:inline!important}.fc{font-family:"open sans",sans-serif;padding:0 15px 0 30px}.fc .fc-toolbar h2{display:inline-block;font-size:24px;height:65px;line-height:65px;color:#344b61}.fc .fc-toolbar button{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;border-color:rgba(0,0,0,.1);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);outline:0}.fc .fc-toolbar button:hover{background:#ea6153;color:#fff}.fc table{background:#e5e8f0}.fc .fc-content-skeleton table{background:0 0}.fc.fc-unthemed .fc-popover,.fc.fc-unthemed .fc-row,.fc.fc-unthemed hr,.fc.fc-unthemed tbody,.fc.fc-unthemed td,.fc.fc-unthemed th,.fc.fc-unthemed thead{border-color:#b5bbc9}.fc.fc-unthemed thead{background:#c4c9d4}.fc.fc-unthemed .fc-bg .fc-today{background:#fff}.fc .fc-event,.fc .fc-event .fc-content{background:#E74C3C}.fc .fc-event{border-color:#e43725}.search-container{max-height:300px;height:auto;width:100%;vertical-align:middle;white-space:nowrap}.search-container .chosen-container,.search-container input[type=text],.search-container select{width:100%;float:left;padding-right:49px}.search-container input[type=text][disabled]{background:#eceff6}.search-container .chosen-container .chosen-choices{border:1px solid #9aa1ad;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.search-container .chosen-container-multi .chosen-choices li.search-choice{padding:0 25px 0 7px;background:#a7b5d5}.search-container .chosen-container-multi .chosen-choices li.search-choice span{color:#fff;line-height:27px}.search-container .chosen-container .chosen-results li.highlighted{background:#b8c3dd;color:#55616e}.search-container button{padding:5px 10px;height:36px;width:50px;margin-left:-50px;background:#d0d8e9;border:1px solid #9aa1ad;border-left:none;border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;z-index:999;cursor:pointer;position:relative}.search-container button i{color:#55616e}.chosen-container .chosen-drop{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container .chosen-results li.highlighted{background:#ea6153}.chosen-container-single .chosen-single{background:#f3f5f9;border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-size:12px}.chosen-container-single .chosen-drop{background:#e2e7f1;border-color:#bec4d0;border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;font-size:12px}.chosen-container-single .chosen-drop .chosen-results li{line-height:normal;font-size:12px;padding:3px 4px}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;background-image:none}.chosen-container-multi{width:100%!important}.chosen-container-multi .chosen-choices{border:1px solid #9aa1ad;background:#eceff6;min-height:2.3125rem!important}.chosen-container-multi .chosen-choices li.search-choice{background:#ea6153;border:none;color:#fff;font-size:13px;padding:3px 25px 3px 10px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span{color:#fff}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:9px;right:5px}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:32px;margin-left:2px}#gMembers_chosen li.search-choice,#gSendMailTo_chosen li.search-choice{padding:8px 25px 8px 8px}.chosen-container-active .chosen-choices{border:1px solid #9aa1ad;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.onoffswitch{position:relative;width:85px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch.subscribeSwitch{width:100px!important}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block!important;margin:auto!important;overflow:hidden;cursor:pointer;border:1px solid #dae0ec;border-radius:5px;width:100%!important}.onoffswitch-inner{display:block;width:200%;margin-left:-100%;transition:margin .3s ease-in 0s}.onoffswitch-inner:after,.onoffswitch-inner:before{display:block;float:left;width:50%;height:28px;padding:0;line-height:28px;font-size:11px;font-family:Trebuchet,Arial,sans-serif;font-weight:700;box-sizing:border-box}.onoffswitch-inner:before{content:"Refresh";padding-left:7px;background-color:#E74C3C;color:#FFF}.subscribeSwitch-inner:before{content:"Subscribe";background-color:#29b955}.onSwitch-inner:before{content:"On";background-color:#29b955}.onoffswitch-inner:after{content:"OFF";padding-right:7px;background-color:#f5f5f5;color:#999;text-align:right}.onoffswitch-switch{display:block;width:28px;margin:0;background:#fff;position:absolute;top:0;bottom:0;right:57px;border:1px solid #dae0ec;border-radius:5px;transition:all .3s ease-in 0s}.onoffswitch-switch.subscribeSwitch-switch{right:72px}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:-2px}.mGraph .mg-histogram .axis text,.mGraph .mg-x-axis text,.mGraph .mg-y-axis text{font-size:11px}.mGraph .mg-active-datapoint{font-size:13px}.mGraph-panel{padding-bottom:20px}.mGraph .mg-line1-color{stroke:#29b955}.mGraph .mg-area1-color{fill:#2ece5f}.mGraph.graph-blue .mg-line1-color{stroke:#1976d2}.mGraph.graph-blue .mg-area1-color{fill:#378fe7}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red.lighten-5{background-color:#FFEBEE!important}.red-text.text-lighten-5{color:#FFEBEE!important}.red.lighten-4{background-color:#FFCDD2!important}.red-text.text-lighten-4{color:#FFCDD2!important}.red.lighten-3{background-color:#EF9A9A!important}.red-text.text-lighten-3{color:#EF9A9A!important}.red.lighten-2{background-color:#E57373!important}.red-text.text-lighten-2{color:#E57373!important}.red.lighten-1{background-color:#EF5350!important}.red-text.text-lighten-1{color:#EF5350!important}.red{background-color:#F44336!important}.red-text{color:#F44336!important}.red.darken-1{background-color:#E53935!important}.red-text.text-darken-1{color:#E53935!important}.red.darken-2{background-color:#D32F2F!important}.red-text.text-darken-2{color:#D32F2F!important}.red.darken-3{background-color:#C62828!important}.red-text.text-darken-3{color:#C62828!important}.red.darken-4{background-color:#B71C1C!important}.red-text.text-darken-4{color:#B71C1C!important}.red.accent-1{background-color:#FF8A80!important}.red-text.text-accent-1{color:#FF8A80!important}.red.accent-2{background-color:#FF5252!important}.red-text.text-accent-2{color:#FF5252!important}.red.accent-3{background-color:#FF1744!important}.red-text.text-accent-3{color:#FF1744!important}.red.accent-4{background-color:#D50000!important}.red-text.text-accent-4{color:#D50000!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue.lighten-5{background-color:#E3F2FD!important}.blue-text.text-lighten-5{color:#E3F2FD!important}.blue.lighten-4{background-color:#BBDEFB!important}.blue-text.text-lighten-4{color:#BBDEFB!important}.blue.lighten-3{background-color:#90CAF9!important}.blue-text.text-lighten-3{color:#90CAF9!important}.blue.lighten-2{background-color:#64B5F6!important}.blue-text.text-lighten-2{color:#64B5F6!important}.blue.lighten-1{background-color:#42A5F5!important}.blue-text.text-lighten-1{color:#42A5F5!important}.blue{background-color:#2196F3!important}.blue-text{color:#2196F3!important}.blue.darken-1{background-color:#1E88E5!important}.blue-text.text-darken-1{color:#1E88E5!important}.blue.darken-2{background-color:#1976D2!important}.blue-text.text-darken-2{color:#1976D2!important}.blue.darken-3{background-color:#1565C0!important}.blue-text.text-darken-3{color:#1565C0!important}.blue.darken-4{background-color:#0D47A1!important}.blue-text.text-darken-4{color:#0D47A1!important}.blue.accent-1{background-color:#82B1FF!important}.blue-text.text-accent-1{color:#82B1FF!important}.blue.accent-2{background-color:#448AFF!important}.blue-text.text-accent-2{color:#448AFF!important}.blue.accent-3{background-color:#2979FF!important}.blue-text.text-accent-3{color:#2979FF!important}.blue.accent-4{background-color:#2962FF!important}.blue-text.text-accent-4{color:#2962FF!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green.lighten-5{background-color:#E8F5E9!important}.green-text.text-lighten-5{color:#E8F5E9!important}.green.lighten-4{background-color:#C8E6C9!important}.green-text.text-lighten-4{color:#C8E6C9!important}.green.lighten-3{background-color:#A5D6A7!important}.green-text.text-lighten-3{color:#A5D6A7!important}.green.lighten-2{background-color:#81C784!important}.green-text.text-lighten-2{color:#81C784!important}.green.lighten-1{background-color:#66BB6A!important}.green-text.text-lighten-1{color:#66BB6A!important}.green{background-color:#4CAF50!important}.green-text{color:#4CAF50!important}.green.darken-1{background-color:#43A047!important}.green-text.text-darken-1{color:#43A047!important}.green.darken-2{background-color:#388E3C!important}.green-text.text-darken-2{color:#388E3C!important}.green.darken-3{background-color:#2E7D32!important}.green-text.text-darken-3{color:#2E7D32!important}.green.darken-4{background-color:#1B5E20!important}.green-text.text-darken-4{color:#1B5E20!important}.green.accent-1{background-color:#B9F6CA!important}.green-text.text-accent-1{color:#B9F6CA!important}.green.accent-2{background-color:#69F0AE!important}.green-text.text-accent-2{color:#69F0AE!important}.green.accent-3{background-color:#00E676!important}.green-text.text-accent-3{color:#00E676!important}.green.accent-4{background-color:#00C853!important}.green-text.text-accent-4{color:#00C853!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.shades.black{background-color:#000!important}.shades-text.text-black{color:#000!important}.shades.white{background-color:#FFF!important}.shades-text.text-white{color:#FFF!important}.shades.transparent{background-color:transparent!important}.shades-text.text-transparent{color:transparent!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#FFF!important}.white-text{color:#FFF!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}.md-switch,.md-switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-switch label{cursor:pointer}.md-switch label input[type=checkbox]{opacity:0;width:0;height:0}.md-switch label input[type=checkbox]:checked+.lever{background-color:#ef8b80}.md-switch label input[type=checkbox]:checked+.lever:after{background-color:#E74C3C}.md-switch.md-blue label input[type=checkbox]:checked+.lever{background-color:#6ab8f7}.md-switch.md-blue label input[type=checkbox]:checked+.lever:after{background-color:#2196f3}.md-switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#ccc;border-radius:15px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.md-switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#fff;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(255,255,255,.1)}input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.md-switch label input[type=checkbox]:checked+.lever:after{left:24px}.md-switch input[type=checkbox][disabled]+.lever{cursor:default}.md-switch label input[type=checkbox][disabled]+.lever:after,.md-switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#ccc}.md-btn{background:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-height:31px;min-width:70px;padding:2px 16px;text-align:center;text-transform:uppercase;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);color:#212121;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;display:inline-block;vertical-align:middle;font:500 14px/31px Roboto,sans-serif!important;margin-bottom:0!important}.md-btn:active,.md-btn:focus,.md-btn:hover,.uk-button-dropdown.uk-open>.md-btn{background:#fff;outline:0;text-decoration:none;color:#212121;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-btn:active,.uk-button-dropdown.uk-open>.md-btn{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-btn-flat{box-shadow:none!important;background:0 0}.md-btn-flat:focus,.md-btn-flat:hover{background:rgba(153,153,153,.2)}.md-btn-flat:active{background:rgba(153,153,153,.4)}.md-btn-flat-danger,.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{color:#e53935}.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{background:#fceaea}.md-btn-flat-primary,.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{color:#1976d2}.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{background:#e3f2fd}.md-btn-flat-success,.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{color:#7cb342}.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{background:#e1efd2}.md-btn-flat-warning,.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{color:#ffa000}.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{background:#ffeccc}.md-btn-flat.disabled{background:0 0!important}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover{background:#e53935;color:#fff}.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover{background:#2196f3;color:#fff}.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover{background:#7cb342;color:#fff}.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover{background:#ffa000;color:#fff}.md-btn.disabled,.md-btn.disabled:active,.md-btn.disabled:focus,.md-btn.disabled:hover{color:#a8a8a8;background:#eaeaea;box-shadow:none!important;cursor:default;pointer-events:none}.md-btn-small{line-height:27px!important;min-width:14px;font-size:11px!important}.md-btn-large{line-height:42px!important;font-size:16px!important}.md-btn::-moz-focus-inner{border:0;padding:0}.md-btn+.md-btn{margin-left:8px}.md-btn-block{width:100%}.md-btn+.md-btn-group{margin-left:16px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;visibility:hidden}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:30px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;margin-right:8px;margin-left:0;-khtml-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:'';position:absolute;left:0;top:0;margin:5px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio]:not(:checked)+label:before{border-radius:50%;border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{border-radius:50%;border:2px solid #5a5a5a;z-index:-1;transform:scale(0)}[type=radio]:checked+label:before{border-radius:50%;border:2px solid transparent}[type=radio]:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(1.02)}[type=radio].with-gap:checked+label:before{border-radius:50%;border:2px solid #1976D2}[type=radio].with-gap:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(.5)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#BDBDBD}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0!important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-control,.selectize-control.plugin-remove_button [data-value]{position:relative}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;border-radius:0 2px 2px 0;box-sizing:border-box}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:inherit}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0 0}.selectize-dropdown{line-height:18px}.selectize-input{color:#303030;background:#eef1f7;cursor:text;border:1px solid #d8dde6;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box}.selectize-input input{color:#303030;line-height:18px}.selectize-control.single .selectize-input.input-active{background:#f7f8fa;display:inline-block}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#f7f8fa}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;background:#e0e0e0;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#eef1f7;border:0 solid #eef1f7}.selectize-input>input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0!important;text-indent:0!important;border:0!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;box-shadow:none!important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:0!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;border:1px solid #d8dde6;background:#f7f8fa;margin:-1px 0 0;border-top:0 none;box-sizing:border-box;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden;padding:5px 8px}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.selectize-input,.selectize-input.focus{border-radius:0;box-shadow:none}.selectize-dropdown .optgroup-header{padding:5px 8px;background:#f7f8fa;cursor:default}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .active{background-color:#f5fafd}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,.5)}.selectize-white .selectize-input,.selectize-white .selectize-input.input-active{background:#fff!important;border-width:0 0 1px}.selectize-white .selectize-input.input-active{border-color:#E74C3C}.selectize-dropdown.selectize-white{background:#fff!important}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{display:block;position:absolute;top:50%;width:0;height:0}.selectize-input.dropdown-active:before,.selectize-input.focus:before,.selectize-input:before{display:none}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent grey}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px!important}.selectize-control.multi .selectize-input .item-icon,.selectize-dropdown.multi .item-icon{margin-right:4px}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-input{border-color:rgba(0,0,0,.12);line-height:25px;padding:6px 8px}.md-input-danger .selectize-input{border-color:#e53935}.selectize-dropdown{margin-top:-40px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#212121;z-index:1210}.selectize-dropdown [data-selectable]{padding-top:11px;padding-bottom:10px;font-size:15px}.selectize-dropdown .active{background:rgba(0,0,0,.085);color:inherit}.selectize-dropdown .optgroup-header{font-size:14px;color:#aaa;padding-top:8px}.selectize-dropdown.selectize_fs{z-index:9999}.selectize-control .selectize-input{min-height:40px}.selectize-control.multi .selectize-input{line-height:21px}.selectize-control.multi .selectize-input>div{border-radius:18px;padding:3px 8px 2px;font-size:14px}.selectize-control.multi .selectize-input .selectize-input.has-items{padding:4px}.selectize-control.multi .selectize-input input{height:26px;font-size:15px}.selectize-control.plugin-remove_button [data-value]{padding-right:32px!important}.selectize-control.plugin-remove_button [data-value] .remove{border:none;width:auto;padding:4px 10px 0 0}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:0 0}.selectize-control.plugin-remove_button [data-value] .remove:after{color:#727272;content:'\e5cd';font-family:"Material Icons";font-size:18px}.selectize-control.single{height:40px;margin-top:0}.selectize-control.single .selectize-input{border-width:0 0 1px;padding:8px 8px 9px}.selectize-control.single .selectize-input:after{border:none!important;content:'\e5c5';font-family:"Material Icons";font-size:28px;margin-top:-12px!important;right:28px;color:rgba(0,0,0,.3)}.selectize-control.single .selectize-input .item,.selectize-control.single .selectize-input input{font-size:15px;font-family:Roboto,sans-serif}.selectize_fix{overflow:hidden;height:0;width:100%}.selectize-control.single .selectize-input>input{height:26px!important}.tru-card{background:#FFF;position:relative;border:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.tru-card.tru-card-hover{transition:all 280ms cubic-bezier(.4,0,.2,1)}.tru-card.tru-card-hover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.tru-card .tru-card-head{height:165px;position:relative;border-bottom:1px solid rgba(0,0,0,.12)}.tru-card .tru-card-head.tru-card-head-admin,.tru-card .tru-card-head.tru-card-head-deleted{background:#3498db}.tru-card .tru-card-head.tru-card-head-admin .tru-card-head-text,.tru-card .tru-card-head.tru-card-head-deleted .tru-card-head-text{color:#fff}.tru-card .tru-card-head.tru-card-head-admin .tru-icon,.tru-card .tru-card-head.tru-card-head-deleted .tru-icon{color:#fff!important}.tru-card .tru-card-head.tru-card-head-deleted{background:#d32f2f!important}.tru-card .tru-card-head-menu{position:absolute;right:8px;top:8px}.tru-card .tru-card-head-avatar{width:82px;height:82px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;margin-top:16px;border:2px solid #fff;display:inline-block}.md-fab,.tru-icon{border-radius:50%;cursor:pointer}.tru-card .tru-card-head-text{padding:8px 16px 16px;font:500 16px/22px Roboto,"Open Sans",sans-serif;color:#212121;margin:0}.tru-card .tru-card-head-text span{display:block;font:400 12px/18px Roboto,"Open Sans",sans-serif;margin-top:-2px}.tru-card .tru-card-content{padding:16px}.tru-card.tru-card-overlay{overflow:hidden;padding-bottom:50px}.tru-card.tru-card-overlay .tru-card-content{height:165px;overflow:hidden;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content{position:absolute;top:100%;left:0;right:0;padding:0 16px;margin-top:-50px;border-top:1px solid rgba(0,0,0,.12);text-align:left;bottom:0;background:#eef1f7;z-index:10;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);font:300 14px/1.42857143 Roboto,"Open Sans",sans-serif}.md-fab,.tru-icon{text-align:center}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3,.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h4{margin:0;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;padding-right:40px;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3{font:300 22px/48px Roboto,"Open Sans",sans-serif}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header .tru-icon{position:absolute;top:8px;right:8px}.tru-icon{font-size:24px;line-height:32px!important;height:32px!important;width:32px!important;color:#727272;-webkit-border-radius:50%;-moz-border-radius:50%;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out}.tru-icon:focus,.tru-icon:hover{background:rgba(0,0,0,.08);color:#212121}.tru-card.tru-card-overlay-active .tru-card-overlay-content{top:-1px;margin-top:0}.tru-list{margin:0;font-size:12px;padding:0}.tru-list *,.tru-list:after,.tru-list:before{box-sizing:border-box}.tru-list>li{list-style:none}.tru-list .uk-nestable-list>li,.tru-list>li{min-height:48px;padding:8px 4px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.12);position:relative}.tru-list .uk-nestable-list>li:last-child,.tru-list>li:last-child{border-bottom:none}.tru-list .uk-nestable-list>li .tru-list-content,.tru-list>li .tru-list-content{overflow:hidden}.tru-list .uk-nestable-list>li .tru-list-content .tru-list-heading,.tru-list>li .tru-list-content .tru-list-heading{margin:0;font:500 14px/1.42857143 Roboto,"Open Sans",sans-serif;display:block;overflow:hidden;padding-bottom:1px}.tru-list a,.tru-list a:active,.tru-list a:focus{color:#E74C3C}.tru-list a:active:hover,.tru-list a:focus:hover,.tru-list a:hover{color:#ed7669}.epc_chart{display:block;position:relative}.epc_chart .epc_chart_icon{position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:129px;display:block}.epc_chart .epc_chart_icon i{color:#727272;font-size:48px;vertical-align:middle}.md-fab{box-sizing:border-box;width:64px;height:64px;background:#fff;color:#727272;display:block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border:none;position:relative}.md-fab:active,.md-fab:focus,.md-fab:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-fab>i{font-size:36px;line-height:64px;height:inherit;width:inherit;position:absolute;left:0;top:0;color:#727272}.md-fab.md-fab-danger>i,.md-fab.md-fab-primary>i,.md-fab.md-fab-success>i,.md-fab.md-fab-warning>i{color:#fff}.md-fab.md-fab-accent{background:#E74C3C}.md-fab.md-fab-success{background:#7cb342}.md-fab.md-fab-danger{background:#e53935}.md-fab.md-fab-primary{background:#2196f3}.md-fab.md-fab-warning{background:#ffa000}.md-fab.md-fab-small{width:48px;height:48px;border-radius:50%}.md-fab.md-fab-small>i{line-height:48px;height:inherit;width:inherit;font-size:24px}.md-fab-speed-dial .md-fab-action-close{display:none}.md-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:1004;-webkit-transition:margin 280ms cubic-bezier(.4,0,.2,1);transition:margin 280ms cubic-bezier(.4,0,.2,1)}.md-fab-wrapper>.md-fab+.md-fab{margin-top:16px}.md-fab-wrapper.md-fab-in-card{position:absolute}@media only screen and (max-width:767px){.md-fab-wrapper{bottom:20px;right:20px}}.md-fab-speed-dial .md-fab-wrapper-small{position:absolute;bottom:80px;right:8px;min-height:48px;width:48px;z-index:-1}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small{-webkit-transform:scale(0);transform:scale(0);opacity:0;position:absolute;right:0}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2){bottom:64px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3){bottom:128px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4){bottom:192px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5){bottom:256px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6){bottom:320px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7){bottom:384px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8){bottom:448px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-speed-dial.md-fab-active .md-fab-small{-webkit-transform:scale(1);transform:scale(1);opacity:1;z-index:10}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-toolbar{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-toolbar>i{cursor:pointer}.md-fab-toolbar-actions{visibility:hidden;white-space:nowrap;padding:0 10px;overflow:hidden;box-sizing:border-box}.md-fab-toolbar-actions a,.md-fab-toolbar-actions button{display:block;float:left;opacity:0;margin:0 0 0 16px;height:64px;width:48px;box-sizing:border-box;-webkit-transition:opacity 280ms cubic-bezier(.4,0,.2,1);transition:opacity 280ms cubic-bezier(.4,0,.2,1);background:0 0;border:none;outline:0;cursor:pointer}.md-fab-sheet.md-fab-animated,.md-fab-toolbar.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-toolbar-actions a a:first-child,.md-fab-toolbar-actions a button:first-child,.md-fab-toolbar-actions button a:first-child,.md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar-actions .material-icons{font-size:36px;line-height:64px}.md-fab-toolbar.md-fab-animated>i{display:none}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions{visibility:visible}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions button{opacity:1}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button{height:48px;width:36px;padding:0;margin:0 0 0 8px}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a button:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons{font-size:24px;line-height:48px;height:inherit}.md-fab-sheet{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-sheet>i,.waves-effect{cursor:pointer}.md-fab-sheet-actions{visibility:hidden;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:4px 0}.md-fab-sheet-actions>a{display:block;opacity:0;padding:4px 16px;box-sizing:border-box;font:400 16px/32px Roboto,sans-serif;text-align:left;color:#212121}.md-fab-sheet-actions>a:hover{color:#212121}.md-fab-sheet-actions .material-icons{font-size:24px;margin-right:8px;vertical-align:-6px}.md-fab-sheet.md-fab-animated>i{display:none}.md-fab-sheet.md-fab-active .md-fab-sheet-actions{visibility:visible}.md-fab-sheet.md-fab-active .md-fab-sheet-actions>a{opacity:1}.sidebar_secondary_active .md-fab-wrapper{margin-right:264px}@media only screen and (max-width:767px){.sidebar_secondary_active .md-fab-wrapper{margin-right:280px}}/*! +@charset "UTF-8";@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700,800,300,600);@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,500,700);@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);@import url(https://fonts.googleapis.com/icon?family=Material+Icons);blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,pre code,td,th,ul{margin:0}pre,pre code{word-wrap:normal}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.action-link i,.tru-icon,.waves-effect{-webkit-tap-highlight-color:transparent}.fc .fc-toolbar button,.md-btn,.uk-badge,.uk-button{text-shadow:none}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{background:#f7f8fa;overflow:hidden;font-family:Roboto,"Open Sans",sans-serif;height:100%}a{text-decoration:none!important;color:#1e88e5}a:active,a:focus,a:hover{color:#1976d2}pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#F7F7F7;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}pre br{display:none!important}pre code{display:inline;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace;color:#333;max-width:initial;padding:0;overflow:initial;line-height:inherit;background-color:transparent;border:0;white-space:pre;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}h6,p{line-height:1.6}.left,.right{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:400;font-style:normal;margin-top:.2rem;margin-bottom:.5rem}h6{font-size:1rem}p{margin-bottom:1.25rem}hr{border:none;height:1px;background:#ddd;width:100%}img{display:inline-block;vertical-align:middle}label{font-size:.875rem;color:#4d4d4d;cursor:pointer;display:block;font-weight:400;line-height:1.5;margin-bottom:0}table tr td,table tr th{padding:.5625rem .625rem;text-align:left}.padding-left-right-15,.padding-right-15{padding-right:15px!important}table tbody tr td,table tbody tr th,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.125rem}input[type=checkbox]+label,input[type=radio]+label{margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type=checkbox],input[type=radio],input[type=file],select{margin:0 0 1rem}.accent-text{color:#E74C3C!important}.right{float:right}.left{float:left}.noborder{border:none!important}.no-border-top{border-top:0!important}.nomargin{margin:0!important}.nomargin-left-right{margin-left:0!important;margin-right:0!important}.nomargin-top{margin-top:0!important}.marginright20{margin-right:20px!important}.marginright30{margin-right:30px!important}.marginleft5{margin-left:5px!important}.marginright5{margin-right:5px!important}.padding-left-right-15{padding-left:15px!important}.padtop20{padding-top:20px!important}.padright20{padding-right:20px!important}.padleft30{padding-left:30px!important}.nopadding,.vishide{padding:0!important}.nopadding-right{padding-right:0!important}.nopadding-left{padding-left:0!important}.nopadding-top{padding-top:0!important}.nopadding-bottom{padding-bottom:0!important}.noshadow{box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.no-overflow-x{overflow-x:hidden!important}.relative{position:relative!important}.hide{display:none!important}.vishide{visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;font-size:0!important;border:0!important;margin:0!important}.font-weight-300{font-weight:300!important}.cursor-pointer{cursor:default!important}.cursor-pointer:hover{cursor:pointer!important}.btn-success{background:#29b955!important;color:#fff!important}.btn-success:hover{background:#40d56e!important}.button-group>li{float:left;margin:0}a.blackLink{color:#000!important}a.hoverUnderline:hover{text-decoration:underline!important}.profilePic{width:50px;height:50px;border:none}.page-content-left,.page-title-border-right{border-right:1px solid #dadada}.profilePic img{height:50px;width:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.page-title,.page-title-right{height:70px;background:#f7f8fa;border-top:2px solid #f7f8fa;box-shadow:2px 2px 2px 0 rgba(44,62,80,.1);padding:0 15px 0 35px;font-family:Roboto,sans-serif}.page-content,.page-content-left,.page-content-right{border-top:1px solid #dadada}.page-title p,.page-title-right p{font-size:30px;margin:0;line-height:68px;color:#3c3c3c;font-weight:300}.page-title p.left,.page-title-right p.left{line-height:68px}.page-title-right.page-title-small p,.page-title.page-title-small p{font-size:28px}.page-title-shadow{box-shadow:0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15)!important}.f-dropdown,.panel.trupanel{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-title-border-bottom{border-bottom:1px solid #dadada}.page-content{background:#f7f8fa}.page-content-right{background:#FFF}.page-content-left{background:#f7f8fa}.fa-large{font-size:24px;line-height:26px}span.user-offline,span.user-online{display:block;height:17px;width:17px;position:absolute;right:2px;bottom:-4px;background:#29b955;line-height:1;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;border:2px solid #fff}span.user-offline{background:#9e9e9e}span.user-status-large{height:25px;width:25px;border-width:3px}.button:focus,.button:hover,button:focus,button:hover{background-color:#e43725}a.button,button{color:#fff;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;outline:0}a.button.dropdown,button.dropdown{padding-right:40px}a.button.dropdown:after,button.dropdown:after{width:auto;height:auto;right:12px;top:10px;font-family:FontAwesome;content:"\f078";border:none;font-size:12px}a.button:hover,button:hover{background:#e43725;color:#fff}a.button i,button i{font-weight:400;margin-right:10px;font-size:14px}.f-dropdown{background:#fff;border:#bac6df}.f-dropdown.noarrow:after,.f-dropdown.noarrow:before{border:none}.f-dropdown.xtiny{max-width:150px}.panel hr{margin:0}.panel.trupanel{background:#FFF;border:#d9d9d9;transition:all 280ms ease-in-out;-webkit-transition:all 280ms ease-in-out}.action-link,.action-link:active,.action-link:focus,.action-link:hover,.action-link:visited{background:0 0}.panel.trupanel:hover:not(.no-hover-shadow){box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}#flotTip,div.ptooltip-box{max-width:150px;min-height:45px;box-shadow:1px 1px 1px rgba(0,0,0,.3)}.panel .panel-body{padding:15px}.tru-card-content{padding:16px}.tru-card-content h2{font-size:24px;font-weight:500;line-height:30px;color:#444}.action-link{padding:0;border:none;margin:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.action-link:last-child{margin-right:10px}.action-link i{color:#727272;padding:6px 0 0;margin:4px 4px 0 0;font-size:22px;cursor:pointer;width:32px!important;height:32px!important;text-align:center;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.action-link i:hover{background:#d6d8dc}.top-bar-section ul.uk-topbar{display:block;width:100%;margin-right:-5px!important}.top-bar-section ul.uk-topbar li{float:none!important;width:100%!important;background:#f5f5f5!important;line-height:1.4em!important;height:auto!important}.top-bar-section ul.uk-topbar a{display:block;width:100%;background:#f5f5f5!important;line-height:1.4em!important;padding:5px 15px!important;color:#212121!important}.top-bar-section ul.uk-topbar a:hover{background:rgba(0,0,0,.085)!important;color:#212121!important}.disconnected{z-index:10000;border:none;background:rgba(0,0,0,.76);position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}.page-center{position:absolute;top:50%;left:50%;text-align:center;transform:translate(-50%,-50%)}.overlay-message,.overlay-message>p{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:32px;color:#fff}#pieChart g[class$='_arc'] path,#pieChart g[class$='_labels-inner'] text{cursor:pointer}@media only screen and (min-width:40.063em) and (max-width:64em){.page-right-content{padding:0 0 0 55px!important}}#page-content-inner{padding:24px 24px 100px}div.ptooltip-box-wrap{display:none;position:absolute;left:50%;bottom:35px;margin-left:-75px;z-index:99999;opacity:.95}div.ptooltip-box{position:relative;width:150px;background:#223140;text-align:center;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3)}div.ptooltip-box:after,div.ptooltip-box:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}div.ptooltip-box:before{border-width:11px;margin-left:-11px}div.ptooltip-box:after{border-width:5px;margin-left:-5px}div.ptooltip-box span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}.uk-modal span,div.ptooltip-box span:last-child{margin-bottom:0}div.ptooltip-box span:first-child{font-weight:600}div.ptooltip-box span span{display:inline!important}.alert-message{position:absolute;top:50px;left:50%;width:380px;height:55px;background:red;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.largeProfilePic,.mediumProfilePic{border:2px solid #fff;background:0 0;position:relative;width:256px;height:256px;overflow:hidden}.largeProfilePic img,.mediumProfilePic img{width:256px;height:256px}.mediumProfilePic,.mediumProfilePic img{width:128px;height:128px}.mediumProfilePic{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.profilePicHover{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all 280ms cubic-bezier(.4,0,.2,1)}.profilePicHover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}div.hoverAction{position:absolute;bottom:-256px;left:0;width:100%;height:256px;opacity:.72;background:#000;text-align:center;color:#fff;z-index:300}div.hoverAction span{display:inline-block;padding-top:0;font-weight:300;font-size:20px;line-height:256px}.uk-modal h2,.uk-modal h5{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.uk-modal .chosen-container-multi .chosen-choices{border:1px solid #dfe4ef;background:#f3f5f9;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal .chosen-container-multi .chosen-drop{background:#fff;border-color:#dfe4ef}.uk-modal span{font-size:.875rem;color:#4d4d4d;font-weight:400;line-height:1.5}.uk-modal button:not(.md-btn),.uk-modal input,.uk-modal textarea{font-size:14px;font-family:Roboto,"Open Sans",sans-serif}.uk-modal span.uk-badge{color:#fff}.uk-modal input,.uk-modal textarea{color:#3d4854;resize:none;background:#f3f5f9;border:1px solid #dfe4ef;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-sizing:border-box;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal input:active,.uk-modal input:focus,.uk-modal textarea:active,.uk-modal textarea:focus{background:#fafafa;border-color:#dfe4ef;outline:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal button:not(.md-btn){color:#fff;font-weight:300;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal button:not(.md-btn):active,.uk-modal button:not(.md-btn):focus{outline:0}.uk-modal button:not(.md-btn).cancel{background:#cdd5e4;color:#59606d}.uk-modal button:not(.md-btn).cancel:active,.uk-modal button:not(.md-btn).cancel:hover{background:#c3cddf}.uk-modal button:not(.md-btn).red{background:#F95E56;color:#fff!important;font-weight:500}.uk-modal button:not(.md-btn).red:active,.uk-modal button:not(.md-btn).red:hover{background:#f72f25}.pagination{margin-right:8px}.pagination .pagination-info{font-family:Roboto,"Open Sans",sans-serif;font-size:13px;font-weight:300;float:left;display:inline-block;margin-right:10px;padding-top:23px}.pagination .button-group{list-style:none;float:left;padding-left:0;margin:0}.pagination .button-group li .btn{max-height:30px;height:30px;margin-right:0;padding:0 16px;background:#FFF;overflow:hidden;border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;color:#595f69;line-height:30px}.pagination .button-group li .btn i{margin-right:0;line-height:30px}.pagination .button-group li .btn i.material-icons{font-size:20px;line-height:30px}.pagination .button-group li .btn span{display:inline-block;margin-top:5px}.pagination .button-group li:last-child .btn{border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0}.pagination .button-group li.active .btn{background:#E74C3C}.datepicker td span.active,.datepicker td.active.day,.datepicker td.active.year{background:#ea6153}.top-bar,.top-bar-section ul li,.top-nav{background:#42464d;height:75px;line-height:75px}.top-bar .title-area .logo,.top-bar .title-area .logo svg,.top-nav .title-area .logo,.top-nav .title-area .logo svg{height:75px}.top-bar .title-area .logo svg path,.top-nav .title-area .logo svg path{fill:#FFF}.top-bar .title-area .logo svg circle,.top-nav .title-area .logo svg circle{fill:#E74C3C}.top-bar{padding:0 15px}.top-menu{height:75px}.top-bar-section ul li{color:#222;position:relative}.top-bar-section ul li a{background:#42464d!important;color:#FFF!important;padding-top:15px!important;padding-bottom:8px!important}.top-bar-section ul li a:hover,.top-bar-section ul li.top-bar-icon a:hover,.top-bar-section ul li.top-bar-icon a:hover i,.top-bar-section ul li.top-bar-icon:hover,.top-bar-section ul li.top-bar-icon:hover i{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon{overflow:hidden;padding-right:8px}.top-bar-section ul li.top-bar-icon,.top-bar-section ul li.top-bar-icon a{font-size:30px;font-family:FontAwesome,sans-serif}.top-bar-section ul li.top-bar-icon a:hover svg,.top-bar-section ul li.top-bar-icon:hover svg{fill:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button,.top-bar-section ul li.top-bar-icon button{border:none;outline:0;background:0 0;color:#FFF;padding:0 5px;margin:0;height:auto;top:auto;cursor:pointer}.top-bar-section ul li.top-bar-icon a button:hover,.top-bar-section ul li.top-bar-icon button:hover{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button i,.top-bar-section ul li.top-bar-icon button i{margin-right:0}.top-bar-section ul li.top-bar-icon a i,.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon i,.top-bar-section ul li.top-bar-icon svg{color:#FFF;font-style:normal;font-size:30px;fill:#FFF}.top-bar-section ul li.top-bar-icon a i.material-icons,.top-bar-section ul li.top-bar-icon a svg.material-icons,.top-bar-section ul li.top-bar-icon i.material-icons,.top-bar-section ul li.top-bar-icon svg.material-icons{margin-top:5px;line-height:70px}.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon svg{width:32px!important;height:32px!important;vertical-align:middle}.top-bar-section ul li.top-bar-icon a span.label,.top-bar-section ul li.top-bar-icon span.label{display:block;color:#fff;height:20px;width:20px;font-size:9px;font-family:Roboto,"Open Sans",sans-serif;font-weight:700;padding:5px 0;position:absolute;right:0;bottom:15px;background:#E74C3C;background:rgba(231,76,60,.9);text-align:center;text-decoration:none;line-height:1;white-space:nowrap;margin-bottom:auto;vertical-align:middle}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a:hover,.comments-wrapper .initial-issue a.comment-email-link:hover,.comments-wrapper .initial-issue a:hover,.comments-wrapper .ticket-comment a.comment-email-link:hover,.comments-wrapper .ticket-comment a:hover,.comments-wrapper .ticket-reply a.comment-email-link:hover,.comments-wrapper .ticket-reply a:hover,.ticket-assignee .ticket-assignee-details a:active:hover,.ticket-assignee .ticket-assignee-details a:active:hover:focus,.ticket-assignee .ticket-assignee-details a:focus:hover,.ticket-assignee .ticket-assignee-details a:focus:hover:focus,.ticket-assignee .ticket-assignee-details a:hover,.ticket-assignee .ticket-assignee-details a:hover:focus{text-decoration:underline}.top-bar-section ul li.top-bar-icon a{padding:0!important}.top-bar-section ul li.profile-area{font-family:Roboto,"Open Sans",sans-serif;font-size:18px;color:#FFF!important;margin-left:10px}.top-bar-section ul li.profile-area:before{content:"\E5D4";font-family:'Material Icons';font-style:normal;font-weight:400;color:#FFF;font-size:30px;position:absolute;left:-10px;top:0}.top-bar-section ul li.profile-area span{display:inline-block;margin:0 20px 0 15px;color:#fff!important}.top-bar-section ul li.profile-area span:hover{color:inherit}.top-bar-section ul li.profile-area a.profile-pic{display:inline-block;width:auto;background:0 0!important;padding:0!important;line-height:10px!important}.top-bar-section ul li.profile-area img{width:50px;height:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.notifications{width:300px!important;height:auto!important}.p-dropdown{visibility:hidden;opacity:0;z-index:99999;background:#fff;border:1px solid rgba(100,100,100,.4);box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.p-dropdown:after,.p-dropdown:before{content:" ";bottom:100%;left:260px;border:solid transparent;height:0;width:0;position:absolute;pointer-events:none}.p-dropdown:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:8px;margin-left:-8px}.p-dropdown:before{border-color:rgba(100,100,100,0);border-bottom-color:#646464;border-width:9px;margin-left:-9px}.p-dropdown.p-dropdown-left:after,.p-dropdown.p-dropdown-left:before{left:25px}.p-dropdown.pDropOpen{visibility:visible;opacity:1}.p-dropdown ul{list-style:none;display:block;float:left;margin:0;padding:0;font-size:12px}div.actions{width:100%;height:auto;border-bottom:1px solid rgba(100,100,100,.4);line-height:24px;font-size:12px;color:#000;font-family:Roboto,sans-serif}div.actions a{width:100%;padding:5px 10px}div.actions strong{margin-left:8px}#mail-notifications,#notifications,#online-Users,.p-dropdown{max-height:400px;position:absolute;left:-9999px}#mail-notifications .mail-Messages,#mail-notifications .notifications-Messages,#mail-notifications .online-Users-List,#notifications .mail-Messages,#notifications .notifications-Messages,#notifications .online-Users-List,#online-Users .mail-Messages,#online-Users .notifications-Messages,#online-Users .online-Users-List,.p-dropdown .mail-Messages,.p-dropdown .notifications-Messages,.p-dropdown .online-Users-List{float:left;max-height:320px;overflow-x:hidden;overflow-y:auto}#mail-notifications .mail-Messages ul,#mail-notifications .notifications-Messages ul,#mail-notifications .online-Users-List ul,#notifications .mail-Messages ul,#notifications .notifications-Messages ul,#notifications .online-Users-List ul,#online-Users .mail-Messages ul,#online-Users .notifications-Messages ul,#online-Users .online-Users-List ul,.p-dropdown .mail-Messages ul,.p-dropdown .notifications-Messages ul,.p-dropdown .online-Users-List ul{float:left;height:100%}#mail-notifications li,#notifications li,#online-Users li,.p-dropdown li{width:100%;background:#fff!important;border-bottom:1px solid rgba(100,100,100,.4);height:72px;max-height:80px;line-height:normal}#mail-notifications li:hover,#notifications li:hover,#online-Users li:hover,.p-dropdown li:hover{background:#f3f5f9!important}#mail-notifications li:last-child,#notifications li:last-child,#online-Users li:last-child,.p-dropdown li:last-child{border-bottom:none}#mail-notifications li .messageNotification,#notifications li .messageNotification,#online-Users li .messageNotification,.p-dropdown li .messageNotification{display:block;width:100%;height:71px;padding:10px!important;background:#fff!important;line-height:normal!important;font-size:12px;color:#000!important;position:relative}#mail-notifications li .messageNotification:hover,#notifications li .messageNotification:hover,#online-Users li .messageNotification:hover,.p-dropdown li .messageNotification:hover{background:0 0!important;color:#000!important}#mail-notifications li .messageNotification .messageUnread,#notifications li .messageNotification .messageUnread,#online-Users li .messageNotification .messageUnread,.p-dropdown li .messageNotification .messageUnread{width:16px;height:16px;font-size:12px;font-family:FontAwesome;color:#646464;position:absolute;top:8px;right:3px}#mail-notifications li .messageNotification .messageUnread:before,#notifications li .messageNotification .messageUnread:before,#online-Users li .messageNotification .messageUnread:before,.p-dropdown li .messageNotification .messageUnread:before{content:"\f111"}#mail-notifications li .messageNotification .messageUnread.read:before,#notifications li .messageNotification .messageUnread.read:before,#online-Users li .messageNotification .messageUnread.read:before,.p-dropdown li .messageNotification .messageUnread.read:before{content:"\f10c"}#mail-notifications li .messageNotification div.messageAuthor,#mail-notifications li .messageNotification div.messageDate,#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageAuthor,#notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageAuthor,#online-Users li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageAuthor,.p-dropdown li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageSnippet{margin-left:60px;margin-bottom:3px}#mail-notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageDate{color:#646464!important}#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageSnippet{width:218px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#mail-notifications li .messageNotification i,#notifications li .messageNotification i,#online-Users li .messageNotification i,.p-dropdown li .messageNotification i{display:block;width:50px;font-size:25px;line-height:59px;text-align:center;color:#000;background:0 0!important}#mail-notifications li .messageNotification i.warn,#notifications li .messageNotification i.warn,#online-Users li .messageNotification i.warn,.p-dropdown li .messageNotification i.warn{color:#e7a13c}#mail-notifications li .messageNotification i.green,#notifications li .messageNotification i.green,#online-Users li .messageNotification i.green,.p-dropdown li .messageNotification i.green{color:#29b955}#mail-notifications li .messageNotification i.red,#notifications li .messageNotification i.red,#online-Users li .messageNotification i.red,.p-dropdown li .messageNotification i.red{color:#b92929}#mail-notifications li .messageNotification i.blue,#notifications li .messageNotification i.blue,#online-Users li .messageNotification i.blue,.p-dropdown li .messageNotification i.blue{color:#017ebc}#mail-notifications.p-dropdown-small,#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-small,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-small,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-small,.p-dropdown.p-dropdown-xsmall{width:240px!important}#mail-notifications.p-dropdown-small:after,#mail-notifications.p-dropdown-small:before,#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-small:after,#notifications.p-dropdown-small:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-small:after,#online-Users.p-dropdown-small:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-small:after,.p-dropdown.p-dropdown-small:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:215px}#mail-notifications.p-dropdown-small div.notifications-Messages,#mail-notifications.p-dropdown-small div.notifications-Messages ul,#mail-notifications.p-dropdown-xsmall div.notifications-Messages,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul,#notifications.p-dropdown-small div.notifications-Messages,#notifications.p-dropdown-small div.notifications-Messages ul,#notifications.p-dropdown-xsmall div.notifications-Messages,#notifications.p-dropdown-xsmall div.notifications-Messages ul,#online-Users.p-dropdown-small div.notifications-Messages,#online-Users.p-dropdown-small div.notifications-Messages ul,#online-Users.p-dropdown-xsmall div.notifications-Messages,#online-Users.p-dropdown-xsmall div.notifications-Messages ul,.p-dropdown.p-dropdown-small div.notifications-Messages,.p-dropdown.p-dropdown-small div.notifications-Messages ul,.p-dropdown.p-dropdown-xsmall div.notifications-Messages,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul{width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages ul li,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul li,#notifications.p-dropdown-small div.notifications-Messages ul li,#notifications.p-dropdown-xsmall div.notifications-Messages ul li,#online-Users.p-dropdown-small div.notifications-Messages ul li,#online-Users.p-dropdown-xsmall div.notifications-Messages ul li,.p-dropdown.p-dropdown-small div.notifications-Messages ul li,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul li{height:40px;width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#mail-notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-small div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-xsmall div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-small div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-xsmall div.notifications-Messages a.messageNotification{height:100%;padding-bottom:0!important}#mail-notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-small div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-small div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageIcon i{width:25px;height:25px;line-height:25px;font-size:20px}#mail-notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-small div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-small div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageAuthor{margin-left:40px;padding-top:3px}#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-xsmall{width:140px!important}#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:120px}.sidebar{background:#e6e7e8;color:#3f444c;width:215px;position:fixed;top:75px;left:0;bottom:0;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1)}@media only screen and (min-width:40.063em) and (max-width:64em){.sidebar{position:absolute;top:75px;left:0;width:55px;max-width:55px;z-index:9999;overflow:hidden}}ul.side-nav,ul.side-nav-sub{list-style:none;line-height:1.6;display:block;margin:0;padding:.875rem 0}ul.side-nav hr,ul.side-nav-sub hr{margin:5px 0;background:#ccc}ul.side-nav li,ul.side-nav-sub li{font-size:14px;font-family:Roboto,sans-serif;margin:0;font-weight:400}ul.side-nav li.active>a,ul.side-nav-sub li.active>a{border-left:2px solid #E74C3C;font-family:Roboto,sans-serif!important;background:#595f69!important;color:#fff!important}ul.side-nav li.active>a i,ul.side-nav li.active>a svg,ul.side-nav-sub li.active>a i,ul.side-nav-sub li.active>a svg{color:#fff;fill:#fff}ul.side-nav li.active>a:after,ul.side-nav-sub li.active>a:after{width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent #f7f8fa transparent transparent;content:"";position:absolute;top:50%;margin-top:-9px;right:0}ul.side-nav a,ul.side-nav-sub a{padding:0 .875rem 0 60px!important;color:#3f444c!important;border-left:2px solid #e6e7e8;position:relative;line-height:48px;height:48px}ul.side-nav a:not(.button),ul.side-nav-sub a:not(.button){display:block;margin:0}ul.side-nav a span,ul.side-nav-sub a span{padding-bottom:5px}ul.side-nav a:hover,ul.side-nav-sub a:hover{border-left:2px solid #E74C3C;background:#d2d3d6!important}ul.side-nav a:hover i,ul.side-nav a:hover svg,ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#3f444c;fill:#3f444c}ul.side-nav a:hover i.icon-accounts,ul.side-nav a:hover svg.icon-accounts,ul.side-nav-sub a:hover i.icon-accounts,ul.side-nav-sub a:hover svg.icon-accounts{background-position:0 -24px}ul.side-nav a:hover i.icon-groups,ul.side-nav a:hover svg.icon-groups,ul.side-nav-sub a:hover i.icon-groups,ul.side-nav-sub a:hover svg.icon-groups{background-position:0 -22px}ul.side-nav a:hover i.icon-invoices,ul.side-nav a:hover svg.icon-invoices,ul.side-nav-sub a:hover i.icon-invoices,ul.side-nav-sub a:hover svg.icon-invoices{background-position:0 -20px}ul.side-nav a i,ul.side-nav a svg,ul.side-nav-sub a i,ul.side-nav-sub a svg{line-height:26px;margin-right:15px;color:#3f444c;margin-top:5px;position:absolute;top:5px;left:15px;fill:#3f444c}ul.side-nav-sub{list-style:none;background:#dfe0e2;box-shadow:none;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);margin:0;padding:10px 0;overflow:hidden;display:none}ul.side-nav-sub.subMenuOpen{display:block}ul.side-nav-sub hr{margin:15px 20px;border:none;height:1px;background:#9c9fa5}ul.side-nav-sub li{margin:5px 0}ul.side-nav-sub li.active a{background:#dfe0e2!important;color:#000!important;font-weight:700;border:none;border-right:1px solid rgba(0,0,0,.1)}ul.side-nav-sub li.active a:after{content:none}ul.side-nav-sub li.active a:hover{background:#d2d3d6!important}ul.side-nav-sub li.active a i,ul.side-nav-sub li.active a svg{color:#000!important;fill:#000!important}ul.side-nav-sub li.active a .fa-sub-icon{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub li.active a .fa-sub-icon.material-icons{font-size:24px}ul.side-nav-sub li.active a .icon-inbox{background-position:0 -18px}ul.side-nav-sub li.active a .icon-sent{background-position:-16px -17px}ul.side-nav-sub li.active a .icon-trash{background-position:-32px -16px}ul.side-nav-sub li.active a .icon-check{background-position:0 -16px}ul.side-nav-sub a{border:none;font-weight:300;padding-left:62px!important;line-height:30px;height:30px!important;color:#595959}.message-folder,.message-items li.unread .message-from,.message-items li.unread .message-subject{font-weight:600}ul.side-nav-sub a i,ul.side-nav-sub a svg{color:#595959!important;fill:#595959!important}ul.side-nav-sub a:hover{border:none;color:#222!important;background:#d2d3d6!important}ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#222!important;fill:#222!important}ul.side-nav-sub a:hover .icon-inbox{background-position:0 -18px}ul.side-nav-sub a:hover .icon-sent{background-position:-16px -17px}ul.side-nav-sub a:hover .icon-trash{background-position:-32px -16px}ul.side-nav-sub a:hover .icon-check{background-position:0 -16px}ul.side-nav-sub a .fa-sub-icon,ul.side-nav-sub a svg{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub a .fa-sub-icon.material-icons,ul.side-nav-sub a svg.material-icons{font-size:24px}.icon-check,.icon-inbox,.icon-sent,.icon-trash{width:16px;height:16px;background:url(/img/inbox.png) no-repeat;position:absolute;top:3px!important;left:20px!important}.icon-check{background-image:url(/img/tickets_submenu.png)}.icon-sent{background-position:-16px 0}.icon-trash{background-position:-32px 0;left:22px!important}.icon-accounts{width:18px;height:24px;background:url(/img/accounts.png) no-repeat}.icon-groups{width:22px;height:22px;background:url(/img/groups.png) no-repeat}.icon-invoices{width:24px;height:20px;background:url(/img/invoices.png) no-repeat;top:10px!important}.message-list{padding:0!important}@media only screen and (min-width:40.063em) and (max-width:64em){.message-list{padding:0 0 0 55px!important}}.message-items{list-style:none;background:#f7f8fa;min-height:100%;padding:0;margin:0;border-top:1px solid #dadada;border-right:1px solid #dadada;overflow:auto}.message-items li{height:85px;padding-top:17px;padding-left:32px;border-bottom:1px solid #dadada;position:relative}.message-items li:hover{background:#fff;cursor:pointer}.message-items li.message-folder:hover{background:#f7f8fa;cursor:default}.message-items li.active{background:#fff}.message-items li.active:before,.message-items li.message-tag:before{content:"";width:3px;height:100%;position:absolute;bottom:0;top:0;left:0;border-left:4px solid #E74C3C}.message-items li.message-tag-blue:before{border-left:4px solid #2980b9!important}.message-folder{line-height:85px;padding-top:0!important;font-size:24px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C}.message-folder:hover{background:inherit!important}.invoice-date,.message-date{position:absolute;top:20px;right:20px;color:#8891a3;font-size:12px;font-family:"Source Sans Pro",sans-serif}.invoice-date,.invoice-overdue{font-family:Roboto,sans-serif}.invoice-date{top:17px}.invoice-overdue{position:absolute;top:40px;right:20px;color:#fff;background:#d32f2f;padding:0 10px;font-size:11px;font-weight:300;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.invoice-name,.message-from{display:inline-block;font-family:"Source Sans Pro",sans-serif;color:#3c3c3c;font-size:14px;padding-left:8px}.invoice-name,.invoice-payee,.message-subject{font-family:Roboto,sans-serif}.invoice-name{font-weight:500;padding-left:0}.invoice-payee,.message-subject{display:block;padding-left:25px;font-size:14px;color:#3c3c3c}.message-header h1,.message-header h5,.message-header span{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.invoice-payee{padding-left:0;padding-top:5px}.message-content{background:#fff}.message-header{border-bottom:1px solid #dadada;padding:20px 30px 30px;position:relative}.message-header h1,.message-header h5{display:block;font-size:30px;color:#3d4854;margin-bottom:5px}.message-header h5{display:inline-block;font-size:14px}.message-header span{display:inline-block;width:40px;margin-right:5px;padding-left:3px;color:#888;font-size:14px}.message-profile-image{height:96px;width:96px;max-height:100%;float:left;margin-right:25px}.message-profile-image img{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}input[type=checkbox].poloCheckbox{visibility:hidden}input[type=checkbox].poloCheckbox+label{display:inline-block;height:14px;width:16px;background:url(/img/checkbox.png) no-repeat;cursor:pointer;position:absolute;top:19px;left:5px}input[type=checkbox]:checked.poloCheckbox+label{background-position:0 -14px}.message{padding:30px 30px 30px 60px;overflow:auto}.message p{font-size:14px;font-weight:400;line-height:30px;margin-bottom:40px;color:#222}.button-group li.active>a,.button-group li.active>button{background:#E74C3C;color:#fff}.button-group a.btn,.button-group button{display:block;color:#5a5f68;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:inherit;border-left:none!important;border-color:transparent;line-height:inherit}.button-group a.btn:active,.button-group a.btn:focus,.button-group button:active,.button-group button:focus{outline:0}.button-group a.btn:hover,.button-group button:hover{background:#E74C3C;color:#fff}.button-group a.btn i,.button-group button i{font-weight:400;margin-right:10px;font-size:14px}.icon-button{display:block;color:#5a5f68;padding:0;background:inherit;margin:20px 0 0}.icon-button:hover{color:#E74C3C}.icon-button i{font-size:24px}@media only screen and (min-width:40.063em) and (max-width:64em){.ticketContent{padding:0 0 0 55px!important}}.accountList,.ticketList{overflow:hidden}div#accountsTable_wrapper,div#ticketTable_wrapper{margin-bottom:0}.ticket-status span{display:block;width:65px;line-height:25px;height:25px;text-align:center;font-size:12px;font-weight:300;font-family:Roboto,sans-serif;color:#fff;background:#CCC;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn,.tag-info-wrap h4,.ticket-assignee .ticket-assignee-details h3,.ticket-assignee-wrap h4{font-family:Roboto,"Open Sans",sans-serif}.ticket-status-open,.ticket-status.ticket-open span{background:#d32f2f!important}.ticket-status-new,.ticket-status.ticket-new span{background:#29b955!important}.ticket-status-pending,.ticket-status.ticket-pending span{background:#2196F3!important}.ticket-status-closed,.ticket-status.ticket-closed span{background:#CCC!important}.ticket-priority{border-left:10px solid transparent}.ticket-priority.ticket-priority-2{border-color:#8e24aa}.ticket-priority.ticket-priority-3{border-color:#e65100}.floating-ticket-status{position:absolute;top:22px;right:18px}.floating-ticket-status .ticket-status span{font-weight:500}.floating-ticket-status #statusSelect{transition:all .4s cubic-bezier(.4,0,.2,1);height:0;overflow:hidden;opacity:0}.floating-ticket-status #statusSelect.hide{display:block!important;height:0!important;opacity:0!important}.floating-ticket-status #statusSelect.shown{height:124px!important;opacity:1!important}#statusSelect{position:absolute;top:28px;left:-5px;padding:5px;background:#fff;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;z-index:999}#statusSelect ul{margin:0;padding:0;list-style:none}#statusSelect ul li{margin-bottom:3px;cursor:pointer}.page-actions .print-ticket a{display:inline-block;margin:19px;color:#707989;font-size:14px;font-weight:300}.page-actions .print-ticket a:hover{color:#59606d}.page-actions .print-ticket i{display:inline-block;margin-right:8px;font-size:18px}.page-top-comments .active>a,.page-top-comments .active>button{background:#cad2e2}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn{background:#c8cfdd;display:block;color:#484848;font-weight:400;font-size:12px;margin:18px 5px 0 0;padding:6px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;height:28px;line-height:14px}.page-top-comments a.btn:hover,.page-top-comments button.btn:hover,.page-top-comments button:hover{background:#b8c1d3}.page-top-comments a.btn i,.page-top-comments button i,.page-top-comments button.btn i{font-weight:400;margin-right:10px;font-size:14px}.tag-info-wrap,.ticket-assignee-wrap{padding-left:30px;padding-top:30px;margin-bottom:40px}.tag-info-wrap.tru-card,.ticket-assignee-wrap.tru-card{background:#fff;padding:5px 15px 15px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;margin:30px}.tag-info-wrap h4,.ticket-assignee-wrap h4{font-size:14px;color:#8e98a2;margin-bottom:10px}.ticket-assignee{line-height:1}.ticket-assignee img{float:left;display:block;width:50px;height:50px;margin-left:5px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.ticket-assignee .ticket-assignee-details{padding-left:75px}.ticket-assignee .ticket-assignee-details h3{font-size:14px;color:#3d4854;margin:0 0 7px;line-height:normal}.ticket-assignee .ticket-assignee-details a,.ticket-assignee .ticket-assignee-details a:active,.ticket-assignee .ticket-assignee-details a:focus{display:block;font:400 12px/15px Roboto,"Open Sans",sans-serif;color:#76797e;margin:0 0 2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .initial-issue h3,.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply .attachments,.comments-wrapper .ticket-reply h3,.comments-wrapper .ticket-reply time,.ticket-assignee .ticket-assignee-details span,.ticket-details,.ticket-details .input-box,.ticket-details .input-box .item,.ticket-details .tag-list,.ticket-details .tag-list .item,.ticket-details input,.ticket-details label,.ticket-details select{font-family:Roboto,"Open Sans",sans-serif}.ticket-assignee .ticket-assignee-details span{font-size:12px;color:#76797e;margin:0 0 3px}.ticket-details{display:block;min-height:150px;background:#fff;border:1px solid #d3d9e4;margin:0 15px 30px!important;padding:15px!important;font-size:12px;color:#76797e;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details label{font-size:12px;color:#76797e;margin-bottom:3px}.ticket-details .input-box,.ticket-details .tag-list,.ticket-details input,.ticket-details select{font-size:12px;height:25px;width:97%;padding:5px 10px;margin-bottom:12px;color:#484848;background:#f3f5f9;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details .input-box:focus,.ticket-details .tag-list:focus,.ticket-details input:focus,.ticket-details select:focus{outline:0;border-color:#bec4d0;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details select,.ticket-details select:focus{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") 100% 50% no-repeat;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;padding:0}.ticket-details .input-box,.ticket-details .tag-list{display:block;padding:0;height:auto;min-height:25px;max-height:none;margin-bottom:5px;background:inherit;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.ticket-details .input-box .item,.ticket-details .tag-list .item{display:inline-block;float:left;font-size:12px;padding:0 8px;margin:2px 0 0 2px;max-height:20px;background:#3498db;color:#fff;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details .input-box .item.orange,.ticket-details .tag-list .item.orange{background:#db5334}.ticket-details .input-box .item:last-of-type,.ticket-details .tag-list .item:last-of-type{margin-bottom:2px}.ticket-details .input-box{margin-bottom:15px}.history-items{height:185px;width:100%}.history-items .history-item{border-bottom:1px solid #ddd;margin-bottom:10px}.history-items .history-item em,.history-items .history-item p{font-size:11px;line-height:13px;margin-bottom:7px;color:#76797e}.history-items .history-item time{font-size:11px;font-weight:600;line-height:13px}.history-items .history-item em{display:block;font-style:normal}.history-items .history-item em span{font-weight:600}.history-items .history-item p{font-weight:400;margin-top:3px;display:inline-block}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment,.comments-wrapper .ticket-reply{padding:20px 20px 15px 25px;border-bottom:none}.comments-wrapper .initial-issue img,.comments-wrapper .ticket-comment img,.comments-wrapper .ticket-reply img{display:block;float:left;height:50px;width:50px;margin-left:10px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.comments-wrapper .initial-issue .issue-text,.comments-wrapper .ticket-comment .issue-text,.comments-wrapper .ticket-reply .issue-text{padding-left:85px}.comments-wrapper .initial-issue h3,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-reply h3{margin:0 0 5px;font-size:18px;font-weight:600;color:#3d4854}.comments-wrapper .initial-issue a,.comments-wrapper .initial-issue a.comment-email-link,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-comment a.comment-email-link,.comments-wrapper .ticket-reply a,.comments-wrapper .ticket-reply a.comment-email-link{display:inline-block;font-size:12px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C;margin-left:2px}.comments-wrapper .initial-issue a,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-reply a{font-size:14px}.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply time{font-size:12px;color:#76797e;display:block;margin-bottom:4px;margin-left:2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-reply .attachments{margin:0 0 25px;font-size:12px;color:#76797e;list-style:none;display:inline-block}.comments-wrapper .initial-issue .attachments li,.comments-wrapper .ticket-comment .attachments li,.comments-wrapper .ticket-reply .attachments li{position:relative;padding-left:15px;margin-right:8px;display:inline-block}.comments-wrapper .initial-issue .attachments li:before,.comments-wrapper .ticket-comment .attachments li:before,.comments-wrapper .ticket-reply .attachments li:before{content:"\f016";font-family:FontAwesome;position:absolute;top:0;left:0;padding-right:.5em;color:#76797e}.comments-wrapper .initial-issue .attachments a,.comments-wrapper .ticket-comment .attachments a,.comments-wrapper .ticket-reply .attachments a{font-size:12px;color:#6a6c71}.comments-wrapper .initial-issue p,.comments-wrapper .ticket-comment p,.comments-wrapper .ticket-reply p{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;line-height:20px}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment{position:relative}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .initial-issue .comment-actions,.comments-wrapper .initial-issue .edit-issue,.comments-wrapper .ticket-comment .add-attachment,.comments-wrapper .ticket-comment .comment-actions,.comments-wrapper .ticket-comment .edit-issue{position:absolute;right:25px;top:15px;font-weight:600;font-size:14px;line-height:normal;cursor:pointer;display:none;color:#8699ac}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .ticket-comment .add-attachment{right:55px}.comments-wrapper .initial-issue:hover .add-attachment,.comments-wrapper .initial-issue:hover .comment-actions,.comments-wrapper .initial-issue:hover .edit-issue,.comments-wrapper .ticket-comment:hover .add-attachment,.comments-wrapper .ticket-comment:hover .comment-actions,.comments-wrapper .ticket-comment:hover .edit-issue{display:block}.comments-wrapper .initial-issue .comment-actions div,.comments-wrapper .ticket-comment .comment-actions div{float:right;display:inline-block;margin:0 5px}.comments-wrapper .initial-issue .comment-box,.comments-wrapper .initial-issue .edit-comment-box,.comments-wrapper .initial-issue .edit-issue-box,.comments-wrapper .ticket-comment .comment-box,.comments-wrapper .ticket-comment .edit-comment-box,.comments-wrapper .ticket-comment .edit-issue-box,.comments-wrapper .ticket-reply .comment-box,.comments-wrapper .ticket-reply .edit-comment-box,.comments-wrapper .ticket-reply .edit-issue-box{width:100%;display:block;padding-left:85px;margin-bottom:1rem}.comments-wrapper .initial-issue .comment-box textarea,.comments-wrapper .initial-issue .edit-comment-box textarea,.comments-wrapper .initial-issue .edit-issue-box textarea,.comments-wrapper .ticket-comment .comment-box textarea,.comments-wrapper .ticket-comment .edit-comment-box textarea,.comments-wrapper .ticket-comment .edit-issue-box textarea,.comments-wrapper .ticket-reply .comment-box textarea,.comments-wrapper .ticket-reply .edit-comment-box textarea,.comments-wrapper .ticket-reply .edit-issue-box textarea{width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;resize:none;border-color:#dfe4ef;border-width:0 0 1px;background:inherit;padding:8px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.comments-wrapper .initial-issue .comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-issue-box textarea.uk-form-danger{border-color:#d32f2f!important;background:0 0!important}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .initial-issue button[type=submit],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-comment button[type=submit],.comments-wrapper .ticket-reply button[type=reset],.comments-wrapper .ticket-reply button[type=submit]{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#fff;padding:3px 15px;background:#E74C3C;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-weight:400}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .initial-issue button[type=submit]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=submit]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=submit]:hover{background:#e43725}.comments-wrapper .initial-issue button[type=reset]:active,.comments-wrapper .initial-issue button[type=reset]:focus,.comments-wrapper .initial-issue button[type=submit]:active,.comments-wrapper .initial-issue button[type=submit]:focus,.comments-wrapper .ticket-comment button[type=reset]:active,.comments-wrapper .ticket-comment button[type=reset]:focus,.comments-wrapper .ticket-comment button[type=submit]:active,.comments-wrapper .ticket-comment button[type=submit]:focus,.comments-wrapper .ticket-reply button[type=reset]:active,.comments-wrapper .ticket-reply button[type=reset]:focus,.comments-wrapper .ticket-reply button[type=submit]:active,.comments-wrapper .ticket-reply button[type=submit]:focus{outline:0}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-reply button[type=reset]{background:#cdd5e4}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover{background:#acb9d2}span.uk-form-danger{font-size:11px;background:0 0!important;border:none!important;font-weight:600}.initial-issue,.ticket-comment{border-bottom:1px solid #dfe4ef!important}form.form label,form.ticket-form label{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:400;color:#2c3e50;margin-bottom:3px;display:inline-block}form.form input,form.form select,form.form textarea,form.ticket-form input,form.ticket-form select,form.ticket-form textarea{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#223140;background:#eceff6;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:1px solid #9aa1ad}form.form input:focus,form.form select:focus,form.form textarea:focus,form.ticket-form input:focus,form.ticket-form select:focus,form.ticket-form textarea:focus{background:#fdfefe;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;outline:0}form.form textarea,form.ticket-form textarea{resize:none}input[type=text][disabled]{color:gray;background:#dbe0ee}.dt-borderTop{border-top:1px solid #dadada}.dt-borderBottom{border-bottom:1px solid #dadada}.dataTables_scrollHeadInner{width:100%!important;padding-right:0!important}.dataTables_scrollHeadInner .pDataTable{width:100%!important}.dataTables_scrollBody .pDataTable thead{border:none}.pDataTable,table.dataTable thead{border-bottom:1px solid #dadada}.pDataTable.stripe tr:nth-of-type(even){background:#f7f7f7}.pDataTable.stripe tr:nth-of-type(even):hover{cursor:pointer;background:#f7f8fa}.pDataTable tr{height:52px;padding-right:15px}.pDataTable tbody tr{background:#fff}.pDataTable tbody tr:hover{cursor:pointer;background:#f5f5f6}.pDataTable tbody tr.ticket-new td{font-weight:600}.pDataTable tbody tr.ticket-closed td{font-weight:300;color:#95a1af}.pDataTable tbody tr td{position:relative}.pDataTable tbody tr td label{top:39%;left:5px}.pDataTable tbody tr td.group{background:#e9ecf2}.pDataTable tbody tr td.group:hover{cursor:default}.pDataTable tbody tr td.group span:before{content:"Status ";font-weight:600}.pDataTable .dataTables_empty{font-family:Roboto,"Open Sans",sans-serif;font-size:16px;font-weight:300;padding-top:17px}table.dataTable{margin-top:0!important}table.dataTable thead{background:#f7f8fa;font-family:Roboto,"Open Sans",sans-serif;text-transform:uppercase;border-top:1px solid #dadada;border-right:none;border-left:none}table.dataTable thead .sorting:last-child,table.dataTable thead .sorting_asc:last-child,table.dataTable thead .sorting_desc:last-child{background-position:right 15px center}table.dataTable thead tr th{font-size:12px;color:#55616e;font-weight:400}table.dataTable tbody tr td{font-family:Roboto,"Open Sans",sans-serif;color:#55616e;font-weight:400;font-size:14px}div.dataTables_wrapper{background:#f7f8fa;margin-bottom:0}div.dataTables_wrapper .dataTables_filter{float:right}div.dataTables_wrapper .dataTables_filter input,div.dataTables_wrapper .dataTables_filter label{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:13px;margin-right:5px}div.dataTables_wrapper .dataTables_filter input{margin:7px 15px 7px 7px;height:30px;padding:8px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}div.dataTables_wrapper .dataTables_filter input:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.server-row{margin:25px 0 0!important}.server-box{max-height:290px;background:#fff;margin-bottom:25px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-webkit-box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-moz-box-shadow:0 1px 3px 0 rgba(44,62,80,.2)}.server-box .server-title{height:40px;background:#29b955;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.server-box .server-title.server-status-red{background:#b92929}.server-box .server-title.server-status-green{background:#29b955}.server-box .server-title.server-status-orange{background:#e77c3c}.server-box .server-title p{display:block;width:100%;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;text-align:center;color:#fff;line-height:40px}.server-box .server-content{max-height:250px}.server-box .server-content .row:first-child{padding:25px 20px 15px}.server-box .server-content .row{padding:7px 20px}.server-box .server-content p{color:#2c3e50;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;margin-bottom:0}.server-box .server-ping p:before{content:" ";display:inline-block;width:20px;height:5px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:#29b955;margin-right:10px;vertical-align:middle}.server-box .server-ping p:after{content:"ms"}.server-box .server-ping.ping-status-green p:before{background:#29b955}.server-box .server-ping.ping-status-orange p:before{background:#e77c3c}.server-box .server-ping.ping-status-red p:before,.server-box .server-ping.ping-status-timeout p:before{background:#b92929}.server-box .server-ping.ping-status-timeout p:after{content:''}.server-box .server-col-left p{font-weight:500}.server-box .server-col-right p{text-align:right}.server-box .server-services{margin-bottom:15px}.server-box .server-services .server-services-list{float:left;display:block;list-style:none;margin:0;padding:0;width:100%;height:10px;background:#d5dae6;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.server-box .server-services .server-services-list li{float:left;position:relative;border-right:2px solid #fff;width:35px;height:100%;cursor:pointer}.server-box .server-services .server-services-list li:first-child{border-radius:5px 0 0 5px;-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px}.server-box .server-services .server-services-list li:first-child.green{border-left:2px solid #29b955}.server-box .server-services .server-services-list li:first-child.orange{border-left:2px solid #e77c3c}.server-box .server-services .server-services-list li:first-child.red{border-left:2px solid #b92929}.server-box .server-services .server-services-list li.green{background:#29b955}.server-box .server-services .server-services-list li.orange{background:#e77c3c}.server-box .server-services .server-services-list li.red{background:#b92929}.server-box .server-services .server-services-list li span{display:block;font-size:0;height:100%;width:100%}.chat-bar,.chat-dock{position:fixed;height:0;width:100%;left:0;bottom:0}.chat-dock{right:0;z-index:300}.chat-dock .chat-box-wrapper{position:relative;display:block}.chat-dock .chat-box-wrapper .chat-box-position{position:relative;top:-280px;left:0}.chat-dock .chat-box-wrapper .chat-box{float:right;margin-right:15px;width:260px;height:280px;background:#f3f5f9;z-index:300;border:1px solid rgba(100,100,100,.4);border-bottom:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.chat-dock .chat-box-wrapper .chat-box .chat-box-title{display:block;background:#223140;height:29px;border:1px solid transparent;cursor:pointer;box-shadow:0 0 0 1px #223140;-webkit-box-shadow:0 0 0 1px #223140;-moz-box-shadow:0 0 0 1px #223140;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4{font-size:14px;margin:5px 8px 3px;font-family:"Source Sans Pro",sans-serif}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons{line-height:29px;margin-right:7px;font-size:14px}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a{color:#bac3c6}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a:hover{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-text{display:block;cursor:text;max-height:77px;overflow-x:hidden;overflow-y:auto;padding:7px 49px 4px 5px;position:relative;background:#fff;line-height:16px;height:auto;border-top:1px solid #c9d0da}.chat-dock .chat-box-wrapper .chat-box textarea{resize:none;display:block;border:none;margin:0;min-height:16px;outline:0;padding:0;width:100%;font-size:12px;line-height:normal;overflow:hidden;max-width:100%;white-space:pre-wrap;word-wrap:break-word;height:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chat-dock .chat-box-wrapper .chat-box textarea:focus{background:inherit}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages{background:#edeff4;height:220px;width:100%;border-top:1px solid #223140;padding:7px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message{margin-bottom:10px;position:relative;min-height:35px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user{min-height:25px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper{margin-left:60px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper .chat-text{background:#E74C3C;color:#fff;float:right}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile{height:34px;width:34px;position:absolute;left:5px;display:block}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile img{height:34px;width:34px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper{display:block;margin-left:45px;float:left;max-width:175px;width:100%}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text{display:block;width:auto;max-width:175px;background:#fff;float:left;margin-left:6px;border:1px solid rgba(0,0,0,.18);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;color:#3e454c;min-height:14px;padding:4px 6px 3px 5px;position:relative;text-align:left;word-break:break-word}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text:after{content:'';position:absolute;width:8px;height:13px;top:5px;right:100%;background:url(/img/chat-arrow.png) no-repeat #fff;background-size:auto}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text .chat-text-inner{text-align:left;font-size:12px;min-height:16px;line-height:1.28em}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text.chat-text-user:after{content:'';position:absolute;width:8px;height:13px;top:5px;left:100%;background:url(/img/chat-arrow.png) 0 -13px no-repeat #E74C3C}.circle-chart-wrapper{margin-bottom:15px}.circle-chart-caption{width:100%;text-align:center;margin-bottom:25px}.circle-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:500}.circle-chart-caption span img{display:inline-block;margin-left:7px;margin-right:7px;position:relative;top:-1px}#ticketLines .flot-x-axis{top:10px!important}#ticketLines .flot-y-axis div:first-child{display:none;visibility:hidden}.chart-caption h4{font-weight:400;display:block;font-size:16px;text-align:center;color:#3e5871;font-family:Roboto,"Open Sans",sans-serif;margin:0}.donutchart .chart-value,.donutchart-caption{font-family:"Roboto Condensed",sans-serif;font-weight:700;color:#444}.donutchart-wrapper{position:relative;width:33.333333%;text-align:center;float:left;margin-bottom:30px}.donutchart{position:relative;display:inline-block;height:150px;width:150px;text-align:center;margin:0 auto}.donutchart canvas{position:absolute;top:0;left:0}.donutchart .chart-value{position:relative;display:inline-block;line-height:125px;z-index:2;font-size:48px;text-align:center}.donutchart .chart-value.percent{padding-right:22px}.donutchart .chart-value.percent:after{content:'%';position:absolute;right:0;top:38px;margin-left:.1em;font-size:30px;line-height:normal}.donutchart-caption{position:absolute;top:85px;left:0;width:100%;font-size:22px;text-align:center!important;font-variant:small-caps}.bar-chart-wrapper{position:relative;padding-bottom:10px;width:100%;margin:0 auto}.bar-chart-wrapper .bar-chart{position:relative;width:350px;margin:0 auto 40px;text-align:center}.bar-chart-wrapper .bar-chart .bar{position:relative;display:inline-block;float:left;width:15px;height:170px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;background:#e3e5e8;margin-right:10px}.bar-chart-wrapper .bar-chart .bar .bar-track{position:absolute;bottom:0;left:0;content:'';display:block;height:100px;width:100%;background:#E74C3C;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li,.bar-chart-wrapper .bar-chart .bar .bar-label{color:#444;font-weight:700;text-align:center;width:15px;font-variant:small-caps;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}.bar-chart-wrapper .bar-chart .bar .bar-track:hover{background:#c43627}.bar-chart-wrapper .bar-chart .bar .bar-label{position:absolute;bottom:-20px;left:0}.bar-chart-wrapper .bar-axis ul.x-axis,.bar-chart-wrapper .bar-axis ul.y-axis{margin:0;padding:0;position:absolute;bottom:0;left:40px;list-style:none}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li{margin-right:6px}.bar-chart-wrapper .bar-axis ul.y-axis{left:-35px;bottom:0;height:170px}.bar-chart-wrapper .bar-axis ul.y-axis li{position:relative;text-align:right;width:auto;margin:0 0 17px;font-family:Roboto,"Open Sans",sans-serif}#flotTip,.bar-chart-caption span{text-align:center;font-weight:500}.bar-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}#flotTip{width:150px;background:#223140!important;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);color:#fff;font-family:"source sans pro",sans-serif;font-size:12px}#flotTip:after,#flotTip:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}#flotTip:before{border-width:11px;margin-left:-11px}#flotTip:after{border-width:5px;margin-left:-5px}#flotTip span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}#flotTip span:last-child,.fc .fc-toolbar,.fc .fc-widget-header table{margin-bottom:0}#flotTip span:first-child{font-weight:600}#flotTip span span{display:inline!important}.fc{font-family:"open sans",sans-serif;padding:0 15px 0 30px}.fc .fc-toolbar h2{display:inline-block;font-size:24px;height:65px;line-height:65px;color:#344b61}.fc .fc-toolbar button{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;border-color:rgba(0,0,0,.1);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);outline:0}.fc .fc-toolbar button:hover{background:#ea6153;color:#fff}.fc table{background:#e5e8f0}.fc .fc-content-skeleton table{background:0 0}.fc.fc-unthemed .fc-popover,.fc.fc-unthemed .fc-row,.fc.fc-unthemed hr,.fc.fc-unthemed tbody,.fc.fc-unthemed td,.fc.fc-unthemed th,.fc.fc-unthemed thead{border-color:#b5bbc9}.fc.fc-unthemed thead{background:#c4c9d4}.fc.fc-unthemed .fc-bg .fc-today{background:#fff}.fc .fc-event,.fc .fc-event .fc-content{background:#E74C3C}.fc .fc-event{border-color:#e43725}.search-container{max-height:300px;height:auto;width:100%;vertical-align:middle;white-space:nowrap}.search-container .chosen-container,.search-container input[type=text],.search-container select{width:100%;float:left;padding-right:49px}.search-container input[type=text][disabled]{background:#eceff6}.search-container .chosen-container .chosen-choices{border:1px solid #9aa1ad;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.search-container .chosen-container-multi .chosen-choices li.search-choice{padding:0 25px 0 7px;background:#a7b5d5}.search-container .chosen-container-multi .chosen-choices li.search-choice span{color:#fff;line-height:27px}.search-container .chosen-container .chosen-results li.highlighted{background:#b8c3dd;color:#55616e}.search-container button{padding:5px 10px;height:36px;width:50px;margin-left:-50px;background:#d0d8e9;border:1px solid #9aa1ad;border-left:none;border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;z-index:999;cursor:pointer;position:relative}.search-container button i{color:#55616e}.chosen-container .chosen-drop{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container .chosen-results li.highlighted{background:#ea6153}.chosen-container-single .chosen-single{background:#f3f5f9;border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-size:12px}.chosen-container-single .chosen-drop{background:#e2e7f1;border-color:#bec4d0;border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;font-size:12px}.chosen-container-single .chosen-drop .chosen-results li{line-height:normal;font-size:12px;padding:3px 4px}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;background-image:none}.chosen-container-multi{width:100%!important}.chosen-container-multi .chosen-choices{border:1px solid #9aa1ad;background:#eceff6;min-height:2.3125rem!important}.chosen-container-multi .chosen-choices li.search-choice{background:#ea6153;border:none;color:#fff;font-size:13px;padding:3px 25px 3px 10px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span{color:#fff}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:9px;right:5px}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:32px;margin-left:2px}#gMembers_chosen li.search-choice,#gSendMailTo_chosen li.search-choice{padding:8px 25px 8px 8px}.chosen-container-active .chosen-choices{border:1px solid #9aa1ad;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.onoffswitch{position:relative;width:85px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch.subscribeSwitch{width:100px!important}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block!important;margin:auto!important;overflow:hidden;cursor:pointer;border:1px solid #dae0ec;border-radius:5px;width:100%!important}.onoffswitch-inner{display:block;width:200%;margin-left:-100%;transition:margin .3s ease-in 0s}.onoffswitch-inner:after,.onoffswitch-inner:before{display:block;float:left;width:50%;height:28px;padding:0;line-height:28px;font-size:11px;font-family:Trebuchet,Arial,sans-serif;font-weight:700;box-sizing:border-box}.onoffswitch-inner:before{content:"Refresh";padding-left:7px;background-color:#E74C3C;color:#FFF}.subscribeSwitch-inner:before{content:"Subscribe";background-color:#29b955}.onSwitch-inner:before{content:"On";background-color:#29b955}.onoffswitch-inner:after{content:"OFF";padding-right:7px;background-color:#f5f5f5;color:#999;text-align:right}.onoffswitch-switch{display:block;width:28px;margin:0;background:#fff;position:absolute;top:0;bottom:0;right:57px;border:1px solid #dae0ec;border-radius:5px;transition:all .3s ease-in 0s}.onoffswitch-switch.subscribeSwitch-switch{right:72px}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:-2px}.mGraph .mg-histogram .axis text,.mGraph .mg-x-axis text,.mGraph .mg-y-axis text{font-size:11px}.mGraph .mg-active-datapoint{font-size:13px}.mGraph-panel{padding-bottom:20px}.mGraph .mg-line1-color{stroke:#29b955}.mGraph .mg-area1-color{fill:#2ece5f}.mGraph.graph-blue .mg-line1-color{stroke:#1976d2}.mGraph.graph-blue .mg-area1-color{fill:#378fe7}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red.lighten-5{background-color:#FFEBEE!important}.red-text.text-lighten-5{color:#FFEBEE!important}.red.lighten-4{background-color:#FFCDD2!important}.red-text.text-lighten-4{color:#FFCDD2!important}.red.lighten-3{background-color:#EF9A9A!important}.red-text.text-lighten-3{color:#EF9A9A!important}.red.lighten-2{background-color:#E57373!important}.red-text.text-lighten-2{color:#E57373!important}.red.lighten-1{background-color:#EF5350!important}.red-text.text-lighten-1{color:#EF5350!important}.red{background-color:#F44336!important}.red-text{color:#F44336!important}.red.darken-1{background-color:#E53935!important}.red-text.text-darken-1{color:#E53935!important}.red.darken-2{background-color:#D32F2F!important}.red-text.text-darken-2{color:#D32F2F!important}.red.darken-3{background-color:#C62828!important}.red-text.text-darken-3{color:#C62828!important}.red.darken-4{background-color:#B71C1C!important}.red-text.text-darken-4{color:#B71C1C!important}.red.accent-1{background-color:#FF8A80!important}.red-text.text-accent-1{color:#FF8A80!important}.red.accent-2{background-color:#FF5252!important}.red-text.text-accent-2{color:#FF5252!important}.red.accent-3{background-color:#FF1744!important}.red-text.text-accent-3{color:#FF1744!important}.red.accent-4{background-color:#D50000!important}.red-text.text-accent-4{color:#D50000!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue.lighten-5{background-color:#E3F2FD!important}.blue-text.text-lighten-5{color:#E3F2FD!important}.blue.lighten-4{background-color:#BBDEFB!important}.blue-text.text-lighten-4{color:#BBDEFB!important}.blue.lighten-3{background-color:#90CAF9!important}.blue-text.text-lighten-3{color:#90CAF9!important}.blue.lighten-2{background-color:#64B5F6!important}.blue-text.text-lighten-2{color:#64B5F6!important}.blue.lighten-1{background-color:#42A5F5!important}.blue-text.text-lighten-1{color:#42A5F5!important}.blue{background-color:#2196F3!important}.blue-text{color:#2196F3!important}.blue.darken-1{background-color:#1E88E5!important}.blue-text.text-darken-1{color:#1E88E5!important}.blue.darken-2{background-color:#1976D2!important}.blue-text.text-darken-2{color:#1976D2!important}.blue.darken-3{background-color:#1565C0!important}.blue-text.text-darken-3{color:#1565C0!important}.blue.darken-4{background-color:#0D47A1!important}.blue-text.text-darken-4{color:#0D47A1!important}.blue.accent-1{background-color:#82B1FF!important}.blue-text.text-accent-1{color:#82B1FF!important}.blue.accent-2{background-color:#448AFF!important}.blue-text.text-accent-2{color:#448AFF!important}.blue.accent-3{background-color:#2979FF!important}.blue-text.text-accent-3{color:#2979FF!important}.blue.accent-4{background-color:#2962FF!important}.blue-text.text-accent-4{color:#2962FF!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green.lighten-5{background-color:#E8F5E9!important}.green-text.text-lighten-5{color:#E8F5E9!important}.green.lighten-4{background-color:#C8E6C9!important}.green-text.text-lighten-4{color:#C8E6C9!important}.green.lighten-3{background-color:#A5D6A7!important}.green-text.text-lighten-3{color:#A5D6A7!important}.green.lighten-2{background-color:#81C784!important}.green-text.text-lighten-2{color:#81C784!important}.green.lighten-1{background-color:#66BB6A!important}.green-text.text-lighten-1{color:#66BB6A!important}.green{background-color:#4CAF50!important}.green-text{color:#4CAF50!important}.green.darken-1{background-color:#43A047!important}.green-text.text-darken-1{color:#43A047!important}.green.darken-2{background-color:#388E3C!important}.green-text.text-darken-2{color:#388E3C!important}.green.darken-3{background-color:#2E7D32!important}.green-text.text-darken-3{color:#2E7D32!important}.green.darken-4{background-color:#1B5E20!important}.green-text.text-darken-4{color:#1B5E20!important}.green.accent-1{background-color:#B9F6CA!important}.green-text.text-accent-1{color:#B9F6CA!important}.green.accent-2{background-color:#69F0AE!important}.green-text.text-accent-2{color:#69F0AE!important}.green.accent-3{background-color:#00E676!important}.green-text.text-accent-3{color:#00E676!important}.green.accent-4{background-color:#00C853!important}.green-text.text-accent-4{color:#00C853!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.shades.black{background-color:#000!important}.shades-text.text-black{color:#000!important}.shades.white{background-color:#FFF!important}.shades-text.text-white{color:#FFF!important}.shades.transparent{background-color:transparent!important}.shades-text.text-transparent{color:transparent!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#FFF!important}.white-text{color:#FFF!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}.md-switch,.md-switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-switch label{cursor:pointer}.md-switch label input[type=checkbox]{opacity:0;width:0;height:0}.md-switch label input[type=checkbox]:checked+.lever{background-color:#ef8b80}.md-switch label input[type=checkbox]:checked+.lever:after{background-color:#E74C3C}.md-switch.md-blue label input[type=checkbox]:checked+.lever{background-color:#6ab8f7}.md-switch.md-blue label input[type=checkbox]:checked+.lever:after{background-color:#2196f3}.md-switch.md-green label input[type=checkbox]:checked+.lever{background-color:#55d97e}.md-switch.md-green label input[type=checkbox]:checked+.lever:after{background-color:#29b955}.md-switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#ccc;border-radius:15px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.md-switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#fff;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(255,255,255,.1)}input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.md-switch label input[type=checkbox]:checked+.lever:after{left:24px}.md-switch input[type=checkbox][disabled]+.lever{cursor:default}.md-switch label input[type=checkbox][disabled]+.lever:after,.md-switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#ccc}.md-btn{background:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-height:31px;min-width:70px;padding:2px 16px;text-align:center;text-transform:uppercase;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);color:#212121;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;display:inline-block;vertical-align:middle;font:500 14px/31px Roboto,sans-serif!important;margin-bottom:0!important}.md-btn:active,.md-btn:focus,.md-btn:hover,.uk-button-dropdown.uk-open>.md-btn{background:#fff;outline:0;text-decoration:none;color:#212121;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-btn:active,.uk-button-dropdown.uk-open>.md-btn{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-btn-flat{box-shadow:none!important;background:0 0}.md-btn-flat:focus,.md-btn-flat:hover{background:rgba(153,153,153,.2)}.md-btn-flat:active{background:rgba(153,153,153,.4)}.md-btn-flat-danger,.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{color:#e53935}.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{background:#fceaea}.md-btn-flat-primary,.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{color:#1976d2}.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{background:#e3f2fd}.md-btn-flat-success,.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{color:#7cb342}.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{background:#e1efd2}.md-btn-flat-warning,.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{color:#ffa000}.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{background:#ffeccc}.md-btn-flat.disabled{background:0 0!important}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover{background:#e53935;color:#fff}.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover{background:#2196f3;color:#fff}.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover{background:#7cb342;color:#fff}.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover{background:#ffa000;color:#fff}.md-btn.disabled,.md-btn.disabled:active,.md-btn.disabled:focus,.md-btn.disabled:hover{color:#a8a8a8;background:#eaeaea;box-shadow:none!important;cursor:default;pointer-events:none}.md-btn-small{line-height:27px!important;min-width:14px;font-size:11px!important}.md-btn-large{line-height:42px!important;font-size:16px!important}.md-btn::-moz-focus-inner{border:0;padding:0}.md-btn+.md-btn{margin-left:8px}.md-btn-block{width:100%}.md-btn+.md-btn-group{margin-left:16px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;visibility:hidden}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:30px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;margin-right:8px;margin-left:0;-khtml-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:'';position:absolute;left:0;top:0;margin:5px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio]:not(:checked)+label:before{border-radius:50%;border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{border-radius:50%;border:2px solid #5a5a5a;z-index:-1;transform:scale(0)}[type=radio]:checked+label:before{border-radius:50%;border:2px solid transparent}[type=radio]:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(1.02)}[type=radio].with-gap:checked+label:before{border-radius:50%;border:2px solid #1976D2}[type=radio].with-gap:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(.5)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#BDBDBD}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0!important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-control,.selectize-control.plugin-remove_button [data-value]{position:relative}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;border-radius:0 2px 2px 0;box-sizing:border-box}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:inherit}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0 0}.selectize-dropdown{line-height:18px}.selectize-input{color:#303030;background:#eef1f7;cursor:text;border:1px solid #d8dde6;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box}.selectize-input input{color:#303030;line-height:18px}.selectize-control.single .selectize-input.input-active{background:#f7f8fa;display:inline-block}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#f7f8fa}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;background:#e0e0e0;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#eef1f7;border:0 solid #eef1f7}.selectize-input>input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0!important;text-indent:0!important;border:0!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;box-shadow:none!important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:0!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;border:1px solid #d8dde6;background:#f7f8fa;margin:-1px 0 0;border-top:0 none;box-sizing:border-box;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden;padding:5px 8px}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.selectize-input,.selectize-input.focus{border-radius:0;box-shadow:none}.selectize-dropdown .optgroup-header{padding:5px 8px;background:#f7f8fa;cursor:default}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .active{background-color:#f5fafd}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,.5)}.selectize-white .selectize-input,.selectize-white .selectize-input.input-active{background:#fff!important;border-width:0 0 1px}.selectize-white .selectize-input.input-active{border-color:#E74C3C}.selectize-dropdown.selectize-white{background:#fff!important}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{display:block;position:absolute;top:50%;width:0;height:0}.selectize-input.dropdown-active:before,.selectize-input.focus:before,.selectize-input:before{display:none}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent grey}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px!important}.selectize-control.multi .selectize-input .item-icon,.selectize-dropdown.multi .item-icon{margin-right:4px}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-input{border-color:rgba(0,0,0,.12);line-height:25px;padding:6px 8px}.md-input-danger .selectize-input{border-color:#e53935}.selectize-dropdown{margin-top:-40px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#212121;z-index:1210}.selectize-dropdown [data-selectable]{padding-top:11px;padding-bottom:10px;font-size:15px}.selectize-dropdown .active{background:rgba(0,0,0,.085);color:inherit}.selectize-dropdown .optgroup-header{font-size:14px;color:#aaa;padding-top:8px}.selectize-dropdown.selectize_fs{z-index:9999}.selectize-control .selectize-input{min-height:40px}.selectize-control.multi .selectize-input{line-height:21px}.selectize-control.multi .selectize-input>div{border-radius:18px;padding:3px 8px 2px;font-size:14px}.selectize-control.multi .selectize-input .selectize-input.has-items{padding:4px}.selectize-control.multi .selectize-input input{height:26px;font-size:15px}.selectize-control.plugin-remove_button [data-value]{padding-right:32px!important}.selectize-control.plugin-remove_button [data-value] .remove{border:none;width:auto;padding:4px 10px 0 0}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:0 0}.selectize-control.plugin-remove_button [data-value] .remove:after{color:#727272;content:'\e5cd';font-family:"Material Icons";font-size:18px}.selectize-control.single{height:40px;margin-top:0}.selectize-control.single .selectize-input{border-width:0 0 1px;padding:8px 8px 9px}.selectize-control.single .selectize-input:after{border:none!important;content:'\e5c5';font-family:"Material Icons";font-size:28px;margin-top:-12px!important;right:28px;color:rgba(0,0,0,.3)}.selectize-control.single .selectize-input .item,.selectize-control.single .selectize-input input{font-size:15px;font-family:Roboto,sans-serif}.selectize_fix{overflow:hidden;height:0;width:100%}.selectize-control.single .selectize-input>input{height:26px!important}.tru-card{background:#FFF;position:relative;border:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.tru-card.tru-card-hover{transition:all 280ms cubic-bezier(.4,0,.2,1)}.tru-card.tru-card-hover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.tru-card .tru-card-head{height:165px;position:relative;border-bottom:1px solid rgba(0,0,0,.12)}.tru-card .tru-card-head.tru-card-head-admin,.tru-card .tru-card-head.tru-card-head-deleted{background:#3498db}.tru-card .tru-card-head.tru-card-head-admin .tru-card-head-text,.tru-card .tru-card-head.tru-card-head-deleted .tru-card-head-text{color:#fff}.tru-card .tru-card-head.tru-card-head-admin .tru-icon,.tru-card .tru-card-head.tru-card-head-deleted .tru-icon{color:#fff!important}.tru-card .tru-card-head.tru-card-head-deleted{background:#d32f2f!important}.tru-card .tru-card-head-menu{position:absolute;right:8px;top:8px}.tru-card .tru-card-head-avatar{width:82px;height:82px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;margin-top:16px;border:2px solid #fff;display:inline-block}.md-fab,.tru-icon{border-radius:50%;cursor:pointer}.tru-card .tru-card-head-text{padding:8px 16px 16px;font:500 16px/22px Roboto,"Open Sans",sans-serif;color:#212121;margin:0}.tru-card .tru-card-head-text span{display:block;font:400 12px/18px Roboto,"Open Sans",sans-serif;margin-top:-2px}.tru-card .tru-card-content{padding:16px}.tru-card.tru-card-overlay{overflow:hidden;padding-bottom:50px}.tru-card.tru-card-overlay .tru-card-content{height:165px;overflow:hidden;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content{position:absolute;top:100%;left:0;right:0;padding:0 16px;margin-top:-50px;border-top:1px solid rgba(0,0,0,.12);text-align:left;bottom:0;background:#eef1f7;z-index:10;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);font:300 14px/1.42857143 Roboto,"Open Sans",sans-serif}.md-fab,.tru-icon{text-align:center}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3,.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h4{margin:0;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;padding-right:40px;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3{font:300 22px/48px Roboto,"Open Sans",sans-serif}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header .tru-icon{position:absolute;top:8px;right:8px}.tru-icon{font-size:24px;line-height:32px!important;height:32px!important;width:32px!important;color:#727272;-webkit-border-radius:50%;-moz-border-radius:50%;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out}.tru-icon:focus,.tru-icon:hover{background:rgba(0,0,0,.08);color:#212121}.tru-card.tru-card-overlay-active .tru-card-overlay-content{top:-1px;margin-top:0}.tru-list{margin:0;font-size:12px;padding:0}.tru-list *,.tru-list:after,.tru-list:before{box-sizing:border-box}.tru-list>li{list-style:none}.tru-list .uk-nestable-list>li,.tru-list>li{min-height:48px;padding:8px 4px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.12);position:relative}.tru-list .uk-nestable-list>li:last-child,.tru-list>li:last-child{border-bottom:none}.tru-list .uk-nestable-list>li .tru-list-content,.tru-list>li .tru-list-content{overflow:hidden}.tru-list .uk-nestable-list>li .tru-list-content .tru-list-heading,.tru-list>li .tru-list-content .tru-list-heading{margin:0;font:500 14px/1.42857143 Roboto,"Open Sans",sans-serif;display:block;overflow:hidden;padding-bottom:1px}.tru-list a,.tru-list a:active,.tru-list a:focus{color:#E74C3C}.tru-list a:active:hover,.tru-list a:focus:hover,.tru-list a:hover{color:#ed7669}.epc_chart{display:block;position:relative}.epc_chart .epc_chart_icon{position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:129px;display:block}.epc_chart .epc_chart_icon i{color:#727272;font-size:48px;vertical-align:middle}.md-fab{box-sizing:border-box;width:64px;height:64px;background:#fff;color:#727272;display:block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border:none;position:relative}.md-fab:active,.md-fab:focus,.md-fab:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-fab>i{font-size:36px;line-height:64px;height:inherit;width:inherit;position:absolute;left:0;top:0;color:#727272}.md-fab.md-fab-danger>i,.md-fab.md-fab-primary>i,.md-fab.md-fab-success>i,.md-fab.md-fab-warning>i{color:#fff}.md-fab.md-fab-accent{background:#E74C3C}.md-fab.md-fab-success{background:#29b955}.md-fab.md-fab-danger{background:#d32f2f}.md-fab.md-fab-primary{background:#2196F3}.md-fab.md-fab-warning{background:#ffa000}.md-fab.md-fab-small{width:48px;height:48px;border-radius:50%}.md-fab.md-fab-small>i{line-height:48px;height:inherit;width:inherit;font-size:24px}.md-fab-speed-dial .md-fab-action-close{display:none}.md-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:1004;-webkit-transition:margin 280ms cubic-bezier(.4,0,.2,1);transition:margin 280ms cubic-bezier(.4,0,.2,1)}.md-fab-wrapper>.md-fab+.md-fab{margin-top:16px}.md-fab-wrapper.md-fab-in-card{position:absolute}@media only screen and (max-width:767px){.md-fab-wrapper{bottom:20px;right:20px}}.md-fab-speed-dial .md-fab-wrapper-small{position:absolute;bottom:80px;right:8px;min-height:48px;width:48px;z-index:-1}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small{-webkit-transform:scale(0);transform:scale(0);opacity:0;position:absolute;right:0}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2){bottom:64px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3){bottom:128px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4){bottom:192px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5){bottom:256px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6){bottom:320px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7){bottom:384px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8){bottom:448px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-speed-dial.md-fab-active .md-fab-small{-webkit-transform:scale(1);transform:scale(1);opacity:1;z-index:10}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-toolbar{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-toolbar>i{cursor:pointer}.md-fab-toolbar-actions{visibility:hidden;white-space:nowrap;padding:0 10px;overflow:hidden;box-sizing:border-box}.md-fab-toolbar-actions a,.md-fab-toolbar-actions button{display:block;float:left;opacity:0;margin:0 0 0 16px;height:64px;width:48px;box-sizing:border-box;-webkit-transition:opacity 280ms cubic-bezier(.4,0,.2,1);transition:opacity 280ms cubic-bezier(.4,0,.2,1);background:0 0;border:none;outline:0;cursor:pointer}.md-fab-sheet.md-fab-animated,.md-fab-toolbar.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-toolbar-actions a a:first-child,.md-fab-toolbar-actions a button:first-child,.md-fab-toolbar-actions button a:first-child,.md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar-actions .material-icons{font-size:36px;line-height:64px}.md-fab-toolbar.md-fab-animated>i{display:none}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions{visibility:visible}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions button{opacity:1}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button{height:48px;width:36px;padding:0;margin:0 0 0 8px}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a button:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons{font-size:24px;line-height:48px;height:inherit}.md-fab-sheet{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-sheet>i,.waves-effect{cursor:pointer}.md-fab-sheet-actions{visibility:hidden;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:4px 0}.md-fab-sheet-actions>a{display:block;opacity:0;padding:4px 16px;box-sizing:border-box;font:400 16px/32px Roboto,sans-serif;text-align:left;color:#212121}.md-fab-sheet-actions>a:hover{color:#212121}.md-fab-sheet-actions .material-icons{font-size:24px;margin-right:8px;vertical-align:-6px}.md-fab-sheet.md-fab-animated>i{display:none}.md-fab-sheet.md-fab-active .md-fab-sheet-actions{visibility:visible}.md-fab-sheet.md-fab-active .md-fab-sheet-actions>a{opacity:1}.sidebar_secondary_active .md-fab-wrapper{margin-right:264px}@media only screen and (max-width:767px){.sidebar_secondary_active .md-fab-wrapper{margin-right:280px}}/*! ** Waves v0.7.4 ** http://fian.my.id/Waves ** ** Copyright 2014 Alfiana E. Sibuea and other contributors ** Released under the MIT license - ** https: */.waves-effect{position:relative;overflow:hidden}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;opacity:0;background:rgba(0,0,0,.2);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.45)}.waves-effect.md-btn-flat{background:0 0}.waves-effect.waves-default .waves-ripple{background:rgba(153,153,153,.2)}.waves-effect.md-btn-flat-primary .waves-ripple{background:rgba(33,150,243,.4)}.waves-effect.md-btn-flat-accent .waves-ripple{background:rgba(231,76,60,.4)}.waves-effect.md-btn-flat-danger .waves-ripple{background:rgba(229,57,53,.4)}.waves-effect.md-btn-flat-warning .waves-ripple{background:rgba(255,160,0,.4)}.waves-effect.md-btn-flat-success .waves-ripple{background:rgba(124,179,66,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-transition:all .3s;transition:all .3s}.waves-block{display:block}a.waves-effect .waves-ripple{z-index:-1}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after{clear:both}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.showbox{position:absolute;top:0;bottom:0;left:0;right:0;padding:5%}.loader{position:relative;margin:0 auto;width:100px}#loader-wrapper,.circular{top:0;left:0;right:0;width:100%;height:100%;position:absolute;bottom:0}.loader:before{content:'';display:block;padding-top:100%}.circular{animation:rotate 2s linear infinite;transform-origin:center center;margin:auto}.path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes color{0%,100%,40%,66%,80%,90%{stroke:#eee}}#loader-wrapper{background:#ddd;z-index:999999}@keyframes bounceC{0%,100%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-700%)}}@keyframes bounce{0%{-webkit-transform:scaleY(.6) translateY(50%)}50%{-webkit-transform:scaleY(1.02) translateY(-10%)}100%{-webkit-transform:scaleY(.7) translateY(40%)}}.t path{animation:bounce .7s infinite alternate ease-in-out;-webkit-animation:bounce .7s infinite alternate ease-in-out}.t circle{-webkit-animation:bounceC .7s infinite alternate ease-in-out}p{font-family:Roboto,"Open Sans",sans-serif;font-size:22px;font-weight:300;color:#fff}.test-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-wrapper{width:100%;height:100%}.loader-wrapper svg.t{position:absolute;top:0;left:30%;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:13px 100%;transform:scale(1.5)}.loader-wrapper svg.t circle{fill:#E74C3C}.loader-wrapper svg.t path{transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}.loader-wrapper svg path{fill:#323232}.shadow{animation:expand .35s infinite alternate ease-in-out;-webkit-animation:expand .35s infinite alternate ease-in-out}.shadow-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes expand{0%{opacity:.5}100%{opacity:.2}}.c3-chart-arc text{font-size:10px!important}.tru-card-intro{transform:scale(0);opacity:.02}input:not([type]),input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],select,textarea{outline:0}select[disabled]{-moz-appearance:none;-webkit-appearance:none}select[disabled]::-ms-expand{display:none}input:not([type]).md-input,input[type=text].md-input,input[type=password].md-input,input[type=datetime].md-input,input[type=datetime-local].md-input,input[type=date].md-input,input[type=month].md-input,input[type=time].md-input,input[type=week].md-input,input[type=number].md-input,input[type=email].md-input,input[type=url].md-input,input[type=search].md-input,input[type=tel].md-input,input[type=color].md-input,select.md-input,textarea.md-input{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);font:400 15px/18px Roboto,sans-serif;box-shadow:inset 0 -1px 0 transparent;box-sizing:border-box;padding:12px 4px;background:0 0;width:100%;display:block}input:not([type]).md-input.md-input-danger,input[type=text].md-input.md-input-danger,input[type=password].md-input.md-input-danger,input[type=datetime].md-input.md-input-danger,input[type=datetime-local].md-input.md-input-danger,input[type=date].md-input.md-input-danger,input[type=month].md-input.md-input-danger,input[type=time].md-input.md-input-danger,input[type=week].md-input.md-input-danger,input[type=number].md-input.md-input-danger,input[type=email].md-input.md-input-danger,input[type=url].md-input.md-input-danger,input[type=search].md-input.md-input-danger,input[type=tel].md-input.md-input-danger,input[type=color].md-input.md-input-danger,select.md-input.md-input-danger,textarea.md-input.md-input-danger{border-color:#e53935}input:not([type]).md-input.md-input-danger:focus,input[type=text].md-input.md-input-danger:focus,input[type=password].md-input.md-input-danger:focus,input[type=datetime].md-input.md-input-danger:focus,input[type=datetime-local].md-input.md-input-danger:focus,input[type=date].md-input.md-input-danger:focus,input[type=month].md-input.md-input-danger:focus,input[type=time].md-input.md-input-danger:focus,input[type=week].md-input.md-input-danger:focus,input[type=number].md-input.md-input-danger:focus,input[type=email].md-input.md-input-danger:focus,input[type=url].md-input.md-input-danger:focus,input[type=search].md-input.md-input-danger:focus,input[type=tel].md-input.md-input-danger:focus,input[type=color].md-input.md-input-danger:focus,select.md-input.md-input-danger:focus,textarea.md-input.md-input-danger:focus{border-bottom-color:#e53935}input:not([type]).md-input.md-input-success,input[type=text].md-input.md-input-success,input[type=password].md-input.md-input-success,input[type=datetime].md-input.md-input-success,input[type=datetime-local].md-input.md-input-success,input[type=date].md-input.md-input-success,input[type=month].md-input.md-input-success,input[type=time].md-input.md-input-success,input[type=week].md-input.md-input-success,input[type=number].md-input.md-input-success,input[type=email].md-input.md-input-success,input[type=url].md-input.md-input-success,input[type=search].md-input.md-input-success,input[type=tel].md-input.md-input-success,input[type=color].md-input.md-input-success,select.md-input.md-input-success,textarea.md-input.md-input-success{border-color:#7cb342}input:not([type]).md-input.md-input-success:focus,input[type=text].md-input.md-input-success:focus,input[type=password].md-input.md-input-success:focus,input[type=datetime].md-input.md-input-success:focus,input[type=datetime-local].md-input.md-input-success:focus,input[type=date].md-input.md-input-success:focus,input[type=month].md-input.md-input-success:focus,input[type=time].md-input.md-input-success:focus,input[type=week].md-input.md-input-success:focus,input[type=number].md-input.md-input-success:focus,input[type=email].md-input.md-input-success:focus,input[type=url].md-input.md-input-success:focus,input[type=search].md-input.md-input-success:focus,input[type=tel].md-input.md-input-success:focus,input[type=color].md-input.md-input-success:focus,select.md-input.md-input-success:focus,textarea.md-input.md-input-success:focus{border-bottom-color:#7cb342}input:not([type]).md-input:focus,input[type=text].md-input:focus,input[type=password].md-input:focus,input[type=datetime].md-input:focus,input[type=datetime-local].md-input:focus,input[type=date].md-input:focus,input[type=month].md-input:focus,input[type=time].md-input:focus,input[type=week].md-input:focus,input[type=number].md-input:focus,input[type=email].md-input:focus,input[type=url].md-input:focus,input[type=search].md-input:focus,input[type=tel].md-input:focus,input[type=color].md-input:focus,select.md-input:focus,textarea.md-input:focus{background:0 0;border-color:rgba(0,0,0,.12)}input:not([type]).md-input-small,input[type=text].md-input-small,input[type=password].md-input-small,input[type=datetime].md-input-small,input[type=datetime-local].md-input-small,input[type=date].md-input-small,input[type=month].md-input-small,input[type=time].md-input-small,input[type=week].md-input-small,input[type=number].md-input-small,input[type=email].md-input-small,input[type=url].md-input-small,input[type=search].md-input-small,input[type=tel].md-input-small,input[type=color].md-input-small,select.md-input-small,textarea.md-input-small{padding:4px}.md-input-width-small{min-width:80px!important}.md-input-width-medium{min-width:160px!important}.md-input-width-large{min-width:320px!important}textarea.md-input{min-height:80px;resize:none;overflow:hidden;-webkit-transition:height .2s ease-out;transition:height .2s ease-out;line-height:24px}.md-input-wrapper{position:relative;padding-top:4px;width:100%;display:block}.md-input-wrapper .md-input-bar{display:block;position:absolute;bottom:0;left:0;width:100%}.md-input-wrapper .md-input-bar:after,.md-input-wrapper .md-input-bar:before{content:'';display:block;position:absolute;bottom:0;width:0;height:2px;background:#E74C3C;-webkit-transition:width .4s cubic-bezier(.4,0,.2,1);transition:width .4s cubic-bezier(.4,0,.2,1)}.md-input-wrapper .md-input-bar:before{left:50%}.md-input-wrapper .md-input-bar:after{right:50%}.md-input-wrapper>label{color:#727272;position:absolute;top:16px;left:4px;right:0;pointer-events:none;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.md-input-wrapper+*{margin-top:10px}.md-input-wrapper.md-input-wrapper-disabled>label{color:rgba(0,0,0,.26)}.md-input-wrapper.has-error>label{color:#d32f2f}.md-input-wrapper.has-error .md-input-bar{bottom:20px}.md-input-wrapper-count{padding-bottom:24px}.md-input-wrapper-count .md-input-bar{bottom:24px}.md-input-wrapper-count .text-count-wrapper{font-size:12px;position:absolute;right:0;bottom:0;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.md-input-wrapper-count>.md-input-wrapper-count .text-count-wrapper{position:absolute;bottom:0;right:0}.md-input-filled>label,.md-input-focus>label{top:-6px;font-size:12px}.md-input-filled.md-input-wrapper-count .text-count-wrapper,.md-input-focus.md-input-wrapper-count .text-count-wrapper{opacity:1}.md-input-focus .md-input-bar:after,.md-input-focus .md-input-bar:before{width:50%}.md-input-wrapper-danger .md-input-bar:after,.md-input-wrapper-danger .md-input-bar:before{background:#e53935}.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper{color:#e53935}.md-input-wrapper-success .md-input-bar:after,.md-input-wrapper-success .md-input-bar:before{background:#7cb342}.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper{color:#7cb342}.md-form-group{position:relative}label.md-label{color:#999;padding:0 6px;font-size:11px}.uk-grid-small{margin-top:15px!important}.uk-subnav-pill li a{transition:background-color .5s ease;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-subnav-pill li:not(.uk-active)>a:hover{background:#fff}.uk-badge,.uk-subnav-pill>.uk-active>*{background:#E74C3C}.uk-badge{padding:2px 6px;border:none;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;font-size:11px;line-height:15px;font-weight:400}.uk-badge.uk-badge-blue{background:#2196F3}.uk-badge.uk-badge-success{background:#29b955}.uk-badge.uk-badge-warning{background:#ffa000}.uk-badge.uk-badge-danger{background:#e53935}.uk-progress{background:#fff}.uk-margin-medium-bottom{margin-bottom:24px!important}.uk-margin-medium-top{margin-top:24px!important}.uk-margin-medium-left{margin-left:24px!important}.uk-margin-medium-right{margin-right:24px!important}.uk-padding-medium-sides{padding-left:24px!important;padding-right:24px!important}.uk-padding-small-sides{padding-left:12px!important;padding-right:12px!important}.uk-dropdown{background:#f5f5f5}.uk-dropdown.uk-datepicker{opacity:1;z-index:99999;transform:scale(1,1);-webkit-transform:scale(1,1)}.uk-button.uk-button-accent{background:#E74C3C;color:#fff;transition:all .4s ease;border:none;font:400 14px/16px "Source Sans Pro",sans-serif;text-shadow:none}.uk-button.uk-button-accent:active,.uk-button.uk-button-accent:focus,.uk-button.uk-button-accent:hover{color:#fff;background:#ea6153}table,table thead,table tr.alt,table tr.even,table tr:nth-of-type(even){background:inherit}.title-shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}table{table-layout:auto;border-collapse:collapse;border-spacing:0;border:none}.img-caption{position:absolute;left:0;padding:14px;background:#42464d;color:#e0e0e0;height:100px;width:100%;top:auto;bottom:0;opacity:0;transform:translateY(100%);transition:transform .4s,opacity .1s .3s}.img-caption h3{margin:0 0 14px;padding:0;color:#fff;font-size:14px;font-weight:300}.img-caption span{font-style:italic;font-size:12px;line-height:14px;font-weight:300;color:rgba(255,255,255,.5)}.img-caption span:before{content:"Note: "}.img-caption a{text-align:center;padding:5px 10px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;display:inline-block;background:#ed4e6e;color:#fff;position:absolute;bottom:20px;right:20px}.hoverEffect.mediumProfilePic,.largeProfilePic.hoverEffect{overflow:hidden}.hoverEffect.mediumProfilePic img,.largeProfilePic.hoverEffect img{transition:transform .4s}.no-touch .hoverEffect:hover img{transform:translateY(-55px)}.no-touch .hoverEffect:hover .img-caption{opacity:1;transform:translateY(0);transition:transform .4s,opacity .1s}.uk-dropdown.uk-datepicker{background:#f7f8fa}.uk-datepicker-nav{background:#595f69}.uk-datepicker-nav .uk-form-select,.uk-datepicker-nav a,.uk-datepicker-nav a:hover{color:#fff}.uk-datepicker-nav .uk-form-select option{color:#222}.uk-form-danger{background:0 0!important}.uk-datepicker-table a.uk-active{background:#595f69;color:#fff} \ No newline at end of file + ** https: */.waves-effect{position:relative;overflow:hidden}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;opacity:0;background:rgba(0,0,0,.2);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.45)}.waves-effect.md-btn-flat{background:0 0}.waves-effect.waves-default .waves-ripple{background:rgba(153,153,153,.2)}.waves-effect.md-btn-flat-primary .waves-ripple{background:rgba(33,150,243,.4)}.waves-effect.md-btn-flat-accent .waves-ripple{background:rgba(231,76,60,.4)}.waves-effect.md-btn-flat-danger .waves-ripple{background:rgba(229,57,53,.4)}.waves-effect.md-btn-flat-warning .waves-ripple{background:rgba(255,160,0,.4)}.waves-effect.md-btn-flat-success .waves-ripple{background:rgba(124,179,66,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-transition:all .3s;transition:all .3s}.waves-block{display:block}a.waves-effect .waves-ripple{z-index:-1}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:hidden!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after{clear:both}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.showbox{position:absolute;top:0;bottom:0;left:0;right:0;padding:5%}.loader{position:relative;margin:0 auto;width:100px}#loader-wrapper,.circular{top:0;left:0;right:0;width:100%;height:100%;position:absolute;bottom:0}.loader:before{content:'';display:block;padding-top:100%}.circular{animation:rotate 2s linear infinite;transform-origin:center center;margin:auto}.path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes color{0%,100%,40%,66%,80%,90%{stroke:#eee}}#loader-wrapper{background:#ddd;z-index:999999}@keyframes bounceC{0%,100%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-700%)}}@keyframes bounce{0%{-webkit-transform:scaleY(.6) translateY(50%)}50%{-webkit-transform:scaleY(1.02) translateY(-10%)}100%{-webkit-transform:scaleY(.7) translateY(40%)}}.t path{animation:bounce .7s infinite alternate ease-in-out;-webkit-animation:bounce .7s infinite alternate ease-in-out}.t circle{-webkit-animation:bounceC .7s infinite alternate ease-in-out}p{font-family:Roboto,"Open Sans",sans-serif;font-size:22px;font-weight:300;color:#fff}.test-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-wrapper{width:100%;height:100%}.loader-wrapper svg.t{position:absolute;top:0;left:30%;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:13px 100%;transform:scale(1.5)}.loader-wrapper svg.t circle{fill:#E74C3C}.loader-wrapper svg.t path{transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}.loader-wrapper svg path{fill:#323232}.shadow{animation:expand .35s infinite alternate ease-in-out;-webkit-animation:expand .35s infinite alternate ease-in-out}.shadow-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes expand{0%{opacity:.5}100%{opacity:.2}}.c3-chart-arc text{font-size:10px!important}.tru-card-intro{transform:scale(0);opacity:.02}input:not([type]),input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],select,textarea{outline:0}select[disabled]{-moz-appearance:none;-webkit-appearance:none}select[disabled]::-ms-expand{display:none}input:not([type]).md-input,input[type=text].md-input,input[type=password].md-input,input[type=datetime].md-input,input[type=datetime-local].md-input,input[type=date].md-input,input[type=month].md-input,input[type=time].md-input,input[type=week].md-input,input[type=number].md-input,input[type=email].md-input,input[type=url].md-input,input[type=search].md-input,input[type=tel].md-input,input[type=color].md-input,select.md-input,textarea.md-input{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);font:400 15px/18px Roboto,sans-serif;box-shadow:inset 0 -1px 0 transparent;box-sizing:border-box;padding:12px 4px;background:0 0;width:100%;display:block}input:not([type]).md-input.md-input-danger,input[type=text].md-input.md-input-danger,input[type=password].md-input.md-input-danger,input[type=datetime].md-input.md-input-danger,input[type=datetime-local].md-input.md-input-danger,input[type=date].md-input.md-input-danger,input[type=month].md-input.md-input-danger,input[type=time].md-input.md-input-danger,input[type=week].md-input.md-input-danger,input[type=number].md-input.md-input-danger,input[type=email].md-input.md-input-danger,input[type=url].md-input.md-input-danger,input[type=search].md-input.md-input-danger,input[type=tel].md-input.md-input-danger,input[type=color].md-input.md-input-danger,select.md-input.md-input-danger,textarea.md-input.md-input-danger{border-color:#e53935}input:not([type]).md-input.md-input-danger:focus,input[type=text].md-input.md-input-danger:focus,input[type=password].md-input.md-input-danger:focus,input[type=datetime].md-input.md-input-danger:focus,input[type=datetime-local].md-input.md-input-danger:focus,input[type=date].md-input.md-input-danger:focus,input[type=month].md-input.md-input-danger:focus,input[type=time].md-input.md-input-danger:focus,input[type=week].md-input.md-input-danger:focus,input[type=number].md-input.md-input-danger:focus,input[type=email].md-input.md-input-danger:focus,input[type=url].md-input.md-input-danger:focus,input[type=search].md-input.md-input-danger:focus,input[type=tel].md-input.md-input-danger:focus,input[type=color].md-input.md-input-danger:focus,select.md-input.md-input-danger:focus,textarea.md-input.md-input-danger:focus{border-bottom-color:#e53935}input:not([type]).md-input.md-input-success,input[type=text].md-input.md-input-success,input[type=password].md-input.md-input-success,input[type=datetime].md-input.md-input-success,input[type=datetime-local].md-input.md-input-success,input[type=date].md-input.md-input-success,input[type=month].md-input.md-input-success,input[type=time].md-input.md-input-success,input[type=week].md-input.md-input-success,input[type=number].md-input.md-input-success,input[type=email].md-input.md-input-success,input[type=url].md-input.md-input-success,input[type=search].md-input.md-input-success,input[type=tel].md-input.md-input-success,input[type=color].md-input.md-input-success,select.md-input.md-input-success,textarea.md-input.md-input-success{border-color:#7cb342}input:not([type]).md-input.md-input-success:focus,input[type=text].md-input.md-input-success:focus,input[type=password].md-input.md-input-success:focus,input[type=datetime].md-input.md-input-success:focus,input[type=datetime-local].md-input.md-input-success:focus,input[type=date].md-input.md-input-success:focus,input[type=month].md-input.md-input-success:focus,input[type=time].md-input.md-input-success:focus,input[type=week].md-input.md-input-success:focus,input[type=number].md-input.md-input-success:focus,input[type=email].md-input.md-input-success:focus,input[type=url].md-input.md-input-success:focus,input[type=search].md-input.md-input-success:focus,input[type=tel].md-input.md-input-success:focus,input[type=color].md-input.md-input-success:focus,select.md-input.md-input-success:focus,textarea.md-input.md-input-success:focus{border-bottom-color:#7cb342}input:not([type]).md-input:focus,input[type=text].md-input:focus,input[type=password].md-input:focus,input[type=datetime].md-input:focus,input[type=datetime-local].md-input:focus,input[type=date].md-input:focus,input[type=month].md-input:focus,input[type=time].md-input:focus,input[type=week].md-input:focus,input[type=number].md-input:focus,input[type=email].md-input:focus,input[type=url].md-input:focus,input[type=search].md-input:focus,input[type=tel].md-input:focus,input[type=color].md-input:focus,select.md-input:focus,textarea.md-input:focus{background:0 0;border-color:rgba(0,0,0,.12)}input:not([type]).md-input-small,input[type=text].md-input-small,input[type=password].md-input-small,input[type=datetime].md-input-small,input[type=datetime-local].md-input-small,input[type=date].md-input-small,input[type=month].md-input-small,input[type=time].md-input-small,input[type=week].md-input-small,input[type=number].md-input-small,input[type=email].md-input-small,input[type=url].md-input-small,input[type=search].md-input-small,input[type=tel].md-input-small,input[type=color].md-input-small,select.md-input-small,textarea.md-input-small{padding:4px}.md-input-width-small{min-width:80px!important}.md-input-width-medium{min-width:160px!important}.md-input-width-large{min-width:320px!important}textarea.md-input{min-height:80px;resize:none;overflow:hidden;-webkit-transition:height .2s ease-out;transition:height .2s ease-out;line-height:24px}.md-input-wrapper{position:relative;padding-top:4px;width:100%;display:block}.md-input-wrapper .md-input-bar{display:block;position:absolute;bottom:0;left:0;width:100%}.md-input-wrapper .md-input-bar:after,.md-input-wrapper .md-input-bar:before{content:'';display:block;position:absolute;bottom:0;width:0;height:2px;background:#E74C3C;-webkit-transition:width .4s cubic-bezier(.4,0,.2,1);transition:width .4s cubic-bezier(.4,0,.2,1)}.md-input-wrapper .md-input-bar:before{left:50%}.md-input-wrapper .md-input-bar:after{right:50%}.md-input-wrapper>label{color:#727272;position:absolute;top:16px;left:4px;right:0;pointer-events:none;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.md-input-wrapper+*{margin-top:10px}.md-input-wrapper.md-input-wrapper-disabled>label{color:rgba(0,0,0,.26)}.md-input-wrapper.has-error>label{color:#d32f2f}.md-input-wrapper.has-error .md-input-bar{bottom:20px}.md-input-wrapper-count{padding-bottom:24px}.md-input-wrapper-count .md-input-bar{bottom:24px}.md-input-wrapper-count .text-count-wrapper{font-size:12px;position:absolute;right:0;bottom:0;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.md-input-wrapper-count>.md-input-wrapper-count .text-count-wrapper{position:absolute;bottom:0;right:0}.md-input-filled>label,.md-input-focus>label{top:-6px;font-size:12px}.md-input-filled.md-input-wrapper-count .text-count-wrapper,.md-input-focus.md-input-wrapper-count .text-count-wrapper{opacity:1}.md-input-focus .md-input-bar:after,.md-input-focus .md-input-bar:before{width:50%}.md-input-wrapper-danger .md-input-bar:after,.md-input-wrapper-danger .md-input-bar:before{background:#e53935}.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper{color:#e53935}.md-input-wrapper-success .md-input-bar:after,.md-input-wrapper-success .md-input-bar:before{background:#7cb342}.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper{color:#7cb342}.md-form-group{position:relative}label.md-label{color:#999;padding:0 6px;font-size:11px}.uk-grid-small{margin-top:15px!important}.uk-subnav-pill li a{transition:background-color .5s ease;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-subnav-pill li:not(.uk-active)>a:hover{background:#fff}.uk-badge,.uk-subnav-pill>.uk-active>*{background:#E74C3C}.uk-badge{padding:2px 6px;border:none;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;font-size:11px;line-height:15px;font-weight:400}.uk-badge.uk-badge-blue{background:#2196F3}.uk-badge.uk-badge-success{background:#29b955}.uk-badge.uk-badge-warning{background:#ffa000}.uk-badge.uk-badge-danger{background:#e53935}.uk-progress{background:#fff}.uk-margin-medium-bottom{margin-bottom:24px!important}.uk-margin-medium-top{margin-top:24px!important}.uk-margin-medium-left{margin-left:24px!important}.uk-margin-medium-right{margin-right:24px!important}.uk-padding-medium-sides{padding-left:24px!important;padding-right:24px!important}.uk-padding-small-sides{padding-left:12px!important;padding-right:12px!important}.uk-dropdown{background:#f5f5f5}.uk-dropdown.uk-datepicker{opacity:1;z-index:99999;transform:scale(1,1);-webkit-transform:scale(1,1)}.uk-button.uk-button-accent{background:#E74C3C;color:#fff;transition:all .4s ease;border:none;font:400 14px/16px "Source Sans Pro",sans-serif;text-shadow:none}.uk-button.uk-button-accent:active,.uk-button.uk-button-accent:focus,.uk-button.uk-button-accent:hover{color:#fff;background:#ea6153}table,table thead,table tr.alt,table tr.even,table tr:nth-of-type(even){background:inherit}.title-shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}table{table-layout:auto;border-collapse:collapse;border-spacing:0;border:none}.img-caption{position:absolute;left:0;padding:14px;background:#42464d;color:#e0e0e0;height:100px;width:100%;top:auto;bottom:0;opacity:0;transform:translateY(100%);transition:transform .4s,opacity .1s .3s}.img-caption h3{margin:0 0 14px;padding:0;color:#fff;font-size:14px;font-weight:300}.img-caption span{font-style:italic;font-size:12px;line-height:14px;font-weight:300;color:rgba(255,255,255,.5)}.img-caption span:before{content:"Note: "}.img-caption a{text-align:center;padding:5px 10px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;display:inline-block;background:#ed4e6e;color:#fff;position:absolute;bottom:20px;right:20px}.hoverEffect.mediumProfilePic,.largeProfilePic.hoverEffect{overflow:hidden}.hoverEffect.mediumProfilePic img,.largeProfilePic.hoverEffect img{transition:transform .4s}.no-touch .hoverEffect:hover img{transform:translateY(-55px)}.no-touch .hoverEffect:hover .img-caption{opacity:1;transform:translateY(0);transition:transform .4s,opacity .1s}.uk-dropdown.uk-datepicker{background:#f7f8fa}.uk-datepicker-nav{background:#595f69}.uk-datepicker-nav .uk-form-select,.uk-datepicker-nav a,.uk-datepicker-nav a:hover{color:#fff}.uk-datepicker-nav .uk-form-select option{color:#222}.uk-form-danger{background:0 0!important}.uk-datepicker-table a.uk-active{background:#595f69;color:#fff} \ No newline at end of file diff --git a/public/uploads/users/aProfile_chris.brame.jpg b/public/uploads/users/aProfile_chris.brame.jpg deleted file mode 100644 index 78de6dd61..000000000 Binary files a/public/uploads/users/aProfile_chris.brame.jpg and /dev/null differ diff --git a/rBuild.js b/rBuild.js index eef4423ab..00081e8de 100644 --- a/rBuild.js +++ b/rBuild.js @@ -56,7 +56,9 @@ modules: [ 'pages/messages', 'pages/reports', 'pages/singleTicket', - 'pages/tickets' + 'pages/tickets', + 'pages/notices', + 'pages/settings' ], shim: { angular: { diff --git a/runner.js b/runner.js index 8e92279a4..2d84c9964 100644 --- a/runner.js +++ b/runner.js @@ -1,215 +1,24 @@ -/* - . .o8 oooo - .o8 "888 `888 - .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo - 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' - 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. - 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. - "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o - ======================================================================== - Created: 02/10/2015 - Author: Chris Brame - - **/ - -'use strict'; - -var nconf = require('nconf'), - fs = require('fs'), - url = require('url'), - path = require('path'), - fork = require('child_process').fork, - - async = require('async'), - logrotate = require('logrotate-stream'), - - pkg = require('./package.json'), - - pidFilePath = __dirname + '/pidfile', - output = logrotate({ file: __dirname + '/logs/app.log', size: '1m', keep: 3, compress: true }), - silent = process.env.NODE_ENV !== 'development', - numProcs, - workers = [], - - Runner = { - timesStarted: 0 - }; - -Runner.init = function(callback) { - if (silent) { - console.log = function(value) { - output.write(value + '\n'); - }; - } - - process.on('SIGHUP', Runner.restart); - process.on('SIGUSR2', Runner.reload); - process.on('SIGTERM', Runner.stop); - callback(); -}; - -Runner.addWorkerEvents = function(worker) { - worker.on('exit', function(code, signal) { - if (code !== 0) { - if (Runner.timesStarted < numProcs*3) { - Runner.timesStarted++; - if (Runner.crashTimer) { - clearTimeout(Runner.crashTimer); - } - Runner.crashTimer = setTimeout(function() { - Runner.timesStarted = 0; - }, 10000); - } else { - console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.'); - process.exit(); - } - } - - console.log('[cluster] Child Process (' + worker.pid + ') has exited (code: ' + code + ', signal: ' + signal +')'); - if (!(worker.suicide || code === 0)) { - console.log('[cluster] Spinning up another process...'); - - forkWorker(worker.index, worker.isPrimary); - } - }); - - worker.on('message', function(message) { - if (message && typeof message === 'object' && message.action) { - switch (message.action) { - case 'restart': - console.log('[cluster] Restarting...'); - Runner.restart(); - break; - case 'reload': - console.log('[cluster] Reloading...'); - Runner.reload(); - break; - } - } - }); -}; - -Runner.start = function(callback) { - numProcs = getPorts().length; - console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n'); - - for (var x=0; x 0; + var hasTickets = _.size(tickets) > 0; return cb(null, hasTickets, user); }); }, @@ -649,10 +656,95 @@ api_users.getAssingees = function(req, res) { userSchema.getAssigneeUsers(function(err, users) { if (err) return res.status(400).json({error: 'Invalid Request'}); - return res.json({success: true, users: users}); + var strippedUsers = []; + + async.each(users, function(user, cb) { + user = StripUserFields(user); + strippedUsers.push(user); + + cb(); + }, function() { + return res.json({success: true, users: strippedUsers}); + }); }); }; +api_users.uploadProfilePic = function(req, res) { + var fs = require('fs'); + var path = require('path'); + var Busboy = require('busboy'); + var busboy = new Busboy({ + headers: req.headers, + limits: { + files: 1, + fileSize: (1024*1024)*3 + } + }); + + var object = {}, error; + + if (_.isUndefined(req.params.username)) return res.status(400).json({error: 'Invalid Username'}); + object.username = req.params.username; + + busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { + if (mimetype.indexOf('image/') == -1) { + error = { + status: 400, + message: 'Invalid file type' + }; + + return file.resume(); + } + + var savePath = path.join(__dirname, '../../../../public/uploads/users'); + if (!fs.existsSync(savePath)) fs.mkdirSync(savePath); + + object.filePath = path.join(savePath, 'aProfile_' + object.username + '.jpg'); + object.filename = 'aProfile_' + object.username + '.jpg'; + object.mimetype = mimetype; + + file.on('limit', function() { + error = { + status: 400, + message: 'File too large' + }; + + return file.resume(); + }); + + file.pipe(fs.createWriteStream(object.filePath)); + }); + + busboy.on('finish', function() { + if (error) return res.status(error.status).send(error.message); + + if (_.isUndefined(object.username) || + _.isUndefined(object.filePath) || + _.isUndefined(object.filename)) { + + return res.status(400).send('Invalid Form Data'); + } + + if (!fs.existsSync(object.filePath)) return res.status(400).send('File failed to save to disk'); + + userSchema.getUserByUsername(object.username, function(err, user) { + if (err) return res.status(400).send(err.message); + + user.image = object.filename; + + user.save(function(err) { + if (err) return res.status(500).send(err.message); + + emitter.emit('trudesk:profileImageUpdate', {userid: user._id, img: user.image}); + + return res.json({success: true, user: StripUserFields(user)}); + }); + }); + }); + + req.pipe(busboy); +}; + function StripUserFields(user) { user.password = undefined; user.accessToken = undefined; diff --git a/src/controllers/debug.js b/src/controllers/debug.js index 91f45aa5e..5c14f3798 100644 --- a/src/controllers/debug.js +++ b/src/controllers/debug.js @@ -42,7 +42,6 @@ debugController.sendmail = function(req, res, next) { winston.error(err); } else { var mailOptions = { - from: 'no-reply@trudesk.io', to: 'chris.brame@granvillecounty.org', subject: 'Trudesk Launch', html: html, diff --git a/src/controllers/index.js b/src/controllers/index.js index c2a523db1..9b7d62657 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -13,6 +13,7 @@ **/ var Controllers = { + install: require('./install'), main: require('./main'), tickets: require('./tickets'), messages: require('./messages'), @@ -22,6 +23,7 @@ var Controllers = { reports: require('./reports'), invoices: require('./invoices'), notices: require('./notices'), + settings: require('./settings'), api: require('./api'), debug: require('./debug') diff --git a/src/controllers/install.js b/src/controllers/install.js new file mode 100644 index 000000000..9138690f8 --- /dev/null +++ b/src/controllers/install.js @@ -0,0 +1,246 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 07/11/2016 + Author: Chris Brame + + **/ + +var async = require('async'), + path = require('path'), + _ = require('underscore'), + _mixins = require('../helpers/underscore'), + nconf = require('nconf'), + winston = require('winston'), + moment = require('moment'); + +var installController = {}; + +installController.content = {}; + +installController.index = function(req, res) { + var self = installController; + self.content = {}; + self.content.title = "Install Trudesk"; + self.content.layout = false; + + + res.render('install', self.content); +}; + +installController.mongotest = function(req, res) { + var data = req.body; + + var CONNECTION_URI = 'mongodb://' + data.username + ':' + data.password + '@' + data.host + ':' + data.port + '/' + data.database; + + var child = require('child_process').fork(path.join(__dirname, '../../src/install/mongotest'), { env: { FORK: 1, NODE_ENV: global.env, MONGOTESTURI: CONNECTION_URI } }); + global.forks.push({name: 'mongotest', fork: child}); + child.on('message', function(data) { + if (data.error) return res.status(400).json({success: false, error: data.error}); + + return res.json({success: true}); + }); +}; + +installController.install = function(req, res) { + var db = require('../database'); + var userSchema = require('../models/user'); + var groupSchema = require('../models/group'); + var counters = require('../models/counters'); + var ticketTypeSchema = require('../models/ticketType'); + + var data = req.body; + + //Mongo + var host = data['mongo[host]']; + var port = data['mongo[port]']; + var database = data['mongo[database]']; + var username = data['mongo[username]']; + var password = data['mongo[password]']; + + //Account + var user = { + username: data['account[username]'], + password: data['account[password]'], + passconfirm: data['account[cpassword]'], + email: data['account[email]'], + fullname: data['account[fullname]'] + }; + + var conuri = 'mongodb://' + username + ':' + password + '@' + host + '/' + database; + + async.waterfall([ + function(next) { + db.init(function(err, db) { + return next(err); + }, conuri); + }, + function(next) { + var Counter = new counters({ + _id: "tickets", + next: 1001 + }); + + Counter.save(function(err){return next(err);}); + }, + function(next) { + var Counter = new counters({ + _id: "reports", + next: 1001 + }); + + Counter.save(function(err) { + return next(err); + }); + }, + function(next) { + var type = new ticketTypeSchema({ + name: 'Issue' + }); + + type.save(function(err){return next(err); }); + }, + function(next) { + var type = new ticketTypeSchema({ + name: 'Task' + }); + + type.save(function(err){return next(err); }); + }, + function(next) { + groupSchema.getGroupByName('Administrators', function(err, group) { + if (err) { + winston.error('Database Error: ' + err.message); + return next('Database Error:' + err.message); + } + + if (!_.isNull(group) && !_.isUndefined(group) && !_.isEmpty(group)) { + // Already Exists Create Admin + return next(null, group); + } else { + //Create Admin Group + var adminGroup = new groupSchema({ + name: 'Administrators', + members: [] + }); + + adminGroup.save(function(err) { + if (err) { + winston.error('Database Error:' + err.message); + return next('Database Error:' + err.message); + } + + return next(null, adminGroup); + }); + } + }); + }, + function (adminGroup, next) { + userSchema.getUserByUsername(user.username, function(err, admin) { + if (err) { + winston.error('Database Error: ' + err.message); + return next('Database Error: ' + err.message); + } + + if (!_.isNull(admin) && !_.isUndefined(admin) && !_.isEmpty(admin)) { + return next('Username: ' + user.username + ' already exists.'); + } else { + if (user.password !== user.passconfirm) + return next('Passwords do not match!'); + + var adminUser = new userSchema({ + username: user.username, + password: user.password, + fullname: user.fullname, + email: user.email, + role: 'admin', + title: 'Administrator' + }); + + adminUser.save(function(err, savedUser) { + if (err) { + winston.error('Database Error: ' + err.message); + return next('Database Error: ' + err.message); + } + + adminGroup.addMember(savedUser._id, function(err, success) { + if (err) { + winston.error('Database Error: ' + err.message); + return next('Database Error: ' + err.message); + } + + if (!success) + return next('Unable to add user to Administrator group!'); + + adminGroup.save(function(err) { + if (err) { + winston.error('Database Error: ' + err.message); + return next('Database Error: ' + err.message); + } + + return next(null); + }); + }); + }); + } + }); + }, + function(next) { + //Write Configfile + var fs = require('fs'); + var configFile = path.join(__dirname, '../../config.json'); + + var conf = { + mongo: { + host: host, + port: port, + username: username, + password: password, + database: database + } + }; + + fs.writeFile(configFile, JSON.stringify(conf, null, 4), function(err) { + if (err) { + winston.error('FS Error: ' + err.message); + return next('FS Error: ' + err.message); + } + + return next(null); + }); + } + ], function(err) { + if (err) + return res.status(400).json({success: false, error: err}); + + res.json({success: true}); + }); +}; + +installController.restart = function(req, res) { + var pm2 = require('pm2'); + pm2.connect(function(err) { + if (err) { + winston.error(err); + res.status(400).send(err); + return; + } + pm2.restart('trudesk', function(err) { + if (err) { + res.status(400).send(err); + return winston.error(err); + } + + pm2.disconnect(); + res.send(); + }); + }); +}; + +module.exports = installController; \ No newline at end of file diff --git a/src/controllers/settings.js b/src/controllers/settings.js new file mode 100644 index 000000000..dd7a50c70 --- /dev/null +++ b/src/controllers/settings.js @@ -0,0 +1,232 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 06/23/2016 + Author: Chris Brame + + **/ + +var async = require('async'); +var _ = require('underscore'); +var _s = require('underscore.string'); +var winston = require('winston'); +var flash = require('connect-flash'); +var userSchema = require('../models/user'); +var settingSchema = require('../models/setting'); +var tagSchema = require('../models/tag'); +var permissions = require('../permissions'); +var mongoose = require('mongoose'); + +var settingsController = {}; + +settingsController.content = {}; + +settingsController.get = function(req, res) { + if (!checkPerms(req, 'settings:view')) return res.redirect('/'); + + var self = this; + self.content = {}; + self.content.title = "Settings"; + self.content.nav = 'settings'; + self.content.subnav = 'settings-general'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + + settingSchema.getSettings(function(err, settings) { + if (err) return handleError(res, 'Invalid Settings'); + + var s = {}; + s.mailerEnabled = _.find(settings, function(x){return x.name === 'mailer:enable'}); + s.mailerHost = _.find(settings, function(x) { return x.name === 'mailer:host'}); + s.mailerSSL = _.find(settings, function(x) { return x.name === 'mailer:ssl'}); + s.mailerPort = _.find(settings, function(x) { return x.name === 'mailer:port'}); + s.mailerUsername = _.find(settings, function(x) { return x.name === 'mailer:username'}); + s.mailerPassword = _.find(settings, function(x) { return x.name === 'mailer:password'}); + s.mailerFrom = _.find(settings, function(x) { return x.name === 'mailer:from'}); + + s.mailerEnabled = (s.mailerEnabled === undefined) ? {value: false} : s.mailerEnabled; + s.mailerSSL = (s.mailerSSL === undefined) ? {value: false} : s.mailerSSL; + s.mailerHost = (s.mailerHost === undefined) ? {value: ''} : s.mailerHost; + s.mailerPort = (s.mailerPort === undefined) ? {value: 25} : s.mailerPort; + s.mailerUsername = (s.mailerUsername === undefined) ? {value: ''} : s.mailerUsername; + s.mailerPassword = (s.mailerPassword === undefined) ? {value: ''} : s.mailerPassword; + s.mailerFrom = (s.mailerFrom === undefined) ? {value: ''} : s.mailerFrom; + + s.mailerCheckEnabled = _.find(settings, function(x) { return x.name === 'mailer:check:enable' }); + s.mailerCheckHost = _.find(settings, function(x) { return x.name === 'mailer:check:host' }); + s.mailerCheckPort = _.find(settings, function(x) { return x.name === 'mailer:check:port' }); + s.mailerCheckUsername = _.find(settings, function(x) { return x.name === 'mailer:check:username' }); + s.mailerCheckPassword = _.find(settings, function(x) { return x.name === 'mailer:check:password' }); + + s.mailerCheckEnabled = (s.mailerCheckEnabled === undefined) ? {value: false} : s.mailerCheckEnabled; + s.mailerCheckHost = (s.mailerCheckHost === undefined) ? {value: ''} : s.mailerCheckHost; + s.mailerCheckPort = (s.mailerCheckPort === undefined) ? {value: 143} : s.mailerCheckPort; + s.mailerCheckUsername = (s.mailerCheckUsername === undefined) ? {value: ''} : s.mailerCheckUsername; + s.mailerCheckPassword = (s.mailerCheckPassword === undefined) ? {value: ''} : s.mailerCheckPassword; + + s.showOverdueTickets = _.find(settings, function(x) { return x.name === 'showOverdueTickets:enable' }); + + s.showOverdueTickets = (s.showOverdueTickets === undefined) ? {value: true} : s.showOverdueTickets; + + s.tpsEnabled = _.find(settings, function(x) { return x.name === 'tps:enable' }); + + s.tpsEnabled = (s.tpsEnabled === undefined) ? {value: false} : s.tpsEnabled; + + self.content.data.settings = s; + + res.render('settings', self.content); + }); +}; + +settingsController.logs = function(req, res) { + if (!checkPerms(req, 'settings:logs')) return res.redirect('/settings'); + + var self = this; + self.content = {}; + self.content.title = "Server Logs"; + self.content.nav = 'settings'; + self.content.subnav = 'settings-logs'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + + var fs = require('fs'), + path = require('path'), + ansi_up = require('ansi_up'), + file = path.join(__dirname, '../../logs/output.log'); + + fs.readFile(file, 'utf-8', function(err, data) { + if (err) { + self.content.data.logFileContent = err; + return res.render('logs', self.content); + } + + self.content.data.logFileContent = data.toString().trim(); + self.content.data.logFileContent = ansi_up.ansi_to_html(self.content.data.logFileContent); + + return res.render('logs', self.content); + }); +}; + +settingsController.tags = function(req, res) { + if (!checkPerms(req, 'settings:tags')) return res.redirect('/settings'); + + var self = this; + self.content = {}; + self.content.title = "Ticket Tags"; + self.content.nav = 'settings'; + self.content.subnav = 'settings-tags'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + + var resultTags = []; + async.waterfall([ + function(next) { + tagSchema.getTags(function(err, tags) { + if (err) return handleError(res, err); + + return next(null, tags); + }); + }, + function(tags, next) { + var ts = require('../models/ticket'); + async.each(tags, function(tag, cb) { + ts.getTagCount(tag._id, function(err, count) { + if (err) return cb(err); + //tag count for id + + resultTags.push({tag: tag, count: count}); + + cb(); + }); + }, function(err) { + return next(err); + }); + } + ], function(err) { + self.content.data.tags = _.sortBy(resultTags, function(o){ return o.tag.name; }); + return res.render('tags', self.content) + }); +}; + +settingsController.editTag = function(req, res) { + if (!checkPerms(req, 'settings:tags')) return res.redirect('/settings'); + + var tagId = req.params.id; + if (_.isUndefined(tagId)) return res.redirect('/settings/tags'); + + var self = this; + self.content = {}; + self.content.title = "Edit Tag"; + self.content.nav = 'settings'; + self.content.subnav = 'settings-tags'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + + async.parallel([ + function(cb) { + tagSchema.getTag(tagId, function(err, tag) { + if (err) return cb(err); + + if (!tag) { + winston.debug('Invalid Tag - ' + tag); + return res.redirect('/settings/tags'); + } + + self.content.data.tag = tag; + + return cb(); + }); + }, + function(cb) { + var ticketSchema = require('../models/ticket'); + var groupSchema = require('../models/group'); + groupSchema.getAllGroupsOfUserNoPopulate(req.user._id, function(err, grps) { + if (err) return cb(err); + + ticketSchema.getTicketsByTag(grps, tagId, function(err, tickets) { + if (err) return cb(err); + + self.content.data.tickets = tickets; + + return cb(); + }); + }); + } + ], function(err) { + if (err) return handleError(res, err); + return res.render('subviews/editTag', self.content); + }); +}; + +function checkPerms(req, role) { + var user = req.user; + if (_.isUndefined(user) || !permissions.canThis(user.role, role)) { + req.flash('message', 'Permission Denied.'); + + return false; + } + + return true; +} + +function handleError(res, err) { + if (err) { + return res.render('error', {layout: false, error: err, message: err.message}); + } +} + +module.exports = settingsController; \ No newline at end of file diff --git a/src/controllers/tickets.js b/src/controllers/tickets.js index adbd5540d..57e34b38d 100644 --- a/src/controllers/tickets.js +++ b/src/controllers/tickets.js @@ -305,44 +305,6 @@ ticketsController.processor = function(req, res) { }); }; -/** - * Get Create Ticket View - * @param {object} req Express Request - * @param {object} res Express Response - * @return {View} Tickets View - */ -ticketsController.create = function(req, res) { - var self = this; - self.content = {}; - self.content.title = "Tickets - Create"; - self.content.nav = 'tickets'; - - self.content.data = {}; - self.content.data.user = req.user; - self.content.data.common = req.viewdata; - async.parallel({ - groups: function (callback) { - groupSchema.getAllGroupsOfUserNoPopulate(req.user._id, function (err, objs) { - callback(err, objs); - }); - }, - types: function(callback) { - typeSchema.getTypes(function(err, objs) { - callback(err, objs); - }); - } - }, function(err, results) { - if (err) { - res.render('error', {error: err, message: err.message}); - } else { - if (!_.isUndefined(results.groups)) self.content.data.groups = _.sortBy(results.groups, 'name'); - if (!_.isUndefined(results.types)) self.content.data.ticketTypes = results.types; - - res.render('subviews/createTicket', self.content); - } - }); -}; - /** * Print Ticket View * @param {object} req Express Request diff --git a/src/database/index.js b/src/database/index.js index 934397171..f9725ac11 100644 --- a/src/database/index.js +++ b/src/database/index.js @@ -39,17 +39,20 @@ mongoose.connection.on('connected', function() { var options = { server: { auto_reconnect: true, socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } }}; -module.exports.init = function(callback, connectionString) { +module.exports.init = function(callback, connectionString, opts) { if (connectionString) CONNECTION_URI = connectionString; - if (process.env.MONGOHQ_URL) CONNECTION_URI = process.env.MONGOHQ_URL.trim(); + if (opts) options = opts; + if (process.env.MONGOHQ_URL !== undefined) CONNECTION_URI = process.env.MONGOHQ_URL.trim(); if (db.connection) { - callback(null, db); + return callback(null, db); } else { + mongoose.Promise = global.Promise; mongoose.connect(CONNECTION_URI, options, function(e) { + if (e) return callback(e, null); db.connection = mongoose.connection; - callback(e, db); + return callback(e, db); }); } }; diff --git a/src/emitter/events.js b/src/emitter/events.js index e995dad74..56fbb40ad 100644 --- a/src/emitter/events.js +++ b/src/emitter/events.js @@ -45,6 +45,7 @@ var notifications = require('../notifications'); // Load Push Events async.each(ticket.group.sendMailTo, function(member, cb) { //winston.debug('Sending Mail To: ' + member.email); if (_.isUndefined(member.email)) return cb(); + if (member.deleted) return cb(); emails.push(member.email); @@ -130,6 +131,7 @@ var notifications = require('../notifications'); // Load Push Events emitter.on('ticket:updated', function(ticket) { io.sockets.emit('updateTicketStatus', {tid: ticket._id, status: ticket.status}); + io.sockets.emit('updateAssignee', ticket); io.sockets.emit('ticket:updategrid'); }); @@ -197,6 +199,7 @@ var notifications = require('../notifications'); // Load Push Events async.each(ticket.subscribers, function(member, cb) { if (_.isUndefined(member) || _.isUndefined(member.email)) return cb(); if (member._id.toString() == comment.owner.toString()) return cb(); + if (member.deleted) return cb(); emails.push(member.email); @@ -255,4 +258,8 @@ var notifications = require('../notifications'); // Load Push Events //Blank }); }); + + emitter.on('trudesk:profileImageUpdate', function(data) { + io.sockets.emit('trudesk:profileImageUpdate', data); + }); })(); diff --git a/src/helpers/hbs/helpers.js b/src/helpers/hbs/helpers.js index f18e79d23..6314538cc 100644 --- a/src/helpers/hbs/helpers.js +++ b/src/helpers/hbs/helpers.js @@ -481,6 +481,10 @@ var helpers = { return str; }, + trim: function(string) { + return string.trim(); + }, + isNull: function(obj, options) { if((_.isUndefined(obj) || _.isNull(obj))) { return options.fn(this); @@ -551,8 +555,7 @@ var helpers = { return _.size(arr); }, - overdue: function(updated, options) { - var showOverdue = conf.get('settings:showOverdue'); + overdue: function(showOverdue, updated, options) { if (!showOverdue) return false; var now = moment(); updated = moment(updated); @@ -565,6 +568,28 @@ var helpers = { else return options.inverse(this); + }, + + statusName: function(status) { + var str = ''; + switch (status) { + case 0: + str = 'New'; + break; + case 1: + str = 'Open'; + break; + case 2: + str = 'Pending'; + break; + case 3: + str = 'Closed'; + break; + default: + str = 'New'; + } + + return str; } }; diff --git a/src/helpers/viewdata/index.js b/src/helpers/viewdata/index.js index a8fc13435..0eaaf4009 100644 --- a/src/helpers/viewdata/index.js +++ b/src/helpers/viewdata/index.js @@ -107,6 +107,13 @@ viewController.getData = function(request, cb) { function(callback) { viewdata.roles = permissions.roles; callback(); + }, + function(callback) { + viewController.getOverdueSetting(request, function(err, data) { + viewdata.showOverdue = data; + + callback(); + }); } ], function(err) { if (err) { @@ -243,4 +250,16 @@ viewController.getTags = function(request, callback) { }); }; +viewController.getOverdueSetting = function(request, callback) { + var settingSchema = require('../../models/setting'); + settingSchema.getSettingByName('showOverdueTickets:enable', function(err, data) { + if (err) { + winston.debug(err); + return callback(null, true); + } + if (_.isNull(data)) return callback(null, true); + return callback(null, data.value); + }); +}; + module.exports = viewController; diff --git a/src/install/mongotest.js b/src/install/mongotest.js new file mode 100644 index 000000000..efd57fc52 --- /dev/null +++ b/src/install/mongotest.js @@ -0,0 +1,30 @@ +var database = require('../database'); +var winston = require('winston'); + +global.env = process.env.NODE_ENV || 'production'; + +winston.setLevels(winston.config.cli.levels); +winston.remove(winston.transports.Console); +winston.add(winston.transports.Console, { + colorize: true, + timestamp: function() { + var date = new Date(); + return (date.getMonth() + 1) + '/' + date.getDate() + ' ' + date.toTimeString().substr(0,8) + ' [Child:MongoTest:' + global.process.pid + ']'; + }, + level: global.env === 'production' ? 'info' : 'verbose' +}); + +(function() { + var CONNECTION_URI = process.env.MONGOTESTURI; + if (!CONNECTION_URI) return process.send({error: {message: 'Invalid connection uri'}}); + var options = { server: { auto_reconnect: false, socketOptions: { connectTimeoutMS: 5000 } }}; + database.init(function(e, db) { + if (e) return process.send({error: e}); + + if (!db) + return process.send({error: {message: 'Unable to open database'}}); + + process.send({success: true}); + + }, CONNECTION_URI, options); +})(); \ No newline at end of file diff --git a/src/mailer/index.js b/src/mailer/index.js index 38b5bcf77..14ccf4a29 100644 --- a/src/mailer/index.js +++ b/src/mailer/index.js @@ -18,8 +18,10 @@ var nodeMailer = require('nodemailer'); var winston = require('winston'); var nconf = require('nconf'); -var MAILER_ENABLED = nconf.get('mailer:enable'); -var POOL_INTERVAL = nconf.get('mailer:polling') ? nconf.get('mailer:polling') : 3600000; //1hour +var settings = require('../models/setting'); + +//var MAILER_ENABLED = nconf.get('mailer:enable'); +//var POLLING_INTERVAL = nconf.get('mailer:polling') ? nconf.get('mailer:polling') : 3600000; //1hour //var transporter = nodeMailer.createTransport({ // host: 'smtp.zoho.com', // port: 465, @@ -30,44 +32,76 @@ var POOL_INTERVAL = nconf.get('mailer:polling') ? nconf.get('mailer:polling') : // } //}); -var transporter = nodeMailer.createTransport({ - host: nconf.get('mailer:host') ? nconf.get('mailer:host') : '127.0.0.1', - port: nconf.get('mailer:port') ? nconf.get('mailer:port') : 25, - secure: nconf.get('mailer:secure') ? nconf.get('mailer:secure') : false, - auth: { - user: nconf.get('mailer:username') ? nconf.get('mailer:username') : '', - pass: nconf.get('mailer:password') ? nconf.get('mailer:password') : '' - }, - tls: { - rejectUnauthorized: false, - ciphers: 'SSLv3' - } -}); - var mailer = {}; mailer.queue = function() { - checkQueue(handleQueue); + //checkQueue(handleQueue); + // + //setInterval(function() { + // checkQueue(handleQueue); + //}, POLLING_INTERVAL); //1hour +}; - setInterval(function() { - if (!MAILER_ENABLED) return; +mailer.sendMail = function(data, callback) { + createTransporter(function(err, mailSettings) { + if (err) return callback(err); + if (!mailSettings.enabled) // Mail Disabled + return callback(null, 'Mail Disabled'); + + data.from = mailSettings.from.value; + if (!data.from) return callback('No From Address Set.'); - checkQueue(handleQueue); - }, POOL_INTERVAL); //1hour + mailSettings.transporter.sendMail(data, callback); + }); }; -mailer.sendMail = function(data, callback) { - if (!MAILER_ENABLED) { - return callback(null, 'Mail Disabled'); - } +mailer.verify = function(callback) { + createTransporter(function(err, mailSettings) { + if (err) return callback(err); + + if (!mailSettings.enabled) return callback({code: 'Mail Disabled'}); - data.from = nconf.get('mailer:from') ? nconf.get('mailer:from') : ''; - if (_.isUndefined(data.from) || _.isEmpty(data.from) || _.isNull(data.from)) - return callback('No From Address Set.'); + mailSettings.transporter.verify(function(err, success) { + if (err) return callback(err); - transporter.sendMail(data, callback); + return callback(); + }); + }); }; +function createTransporter(callback) { + settings.getSettings(function(err, s) { + if (err) return callback(err); + + var mailSettings = {}; + mailSettings.enabled = _.find(s, function(x) { return x.name === 'mailer:enable'; }); + mailSettings.host = _.find(s, function(x) { return x.name === 'mailer:host'; }); + mailSettings.ssl = _.find(s, function(x) { return x.name === 'mailer:ssl'; }); + mailSettings.port = _.find(s, function(x) { return x.name === 'mailer:port'; }); + mailSettings.username = _.find(s, function(x) { return x.name === 'mailer:username'; }); + mailSettings.password = _.find(s, function(x) { return x.name === 'mailer:password'; }); + mailSettings.from = _.find(s, function(x) { return x.name === 'mailer:from'; }); + + mailSettings.enabled = mailSettings.enabled && mailSettings.enabled.value ? mailSettings.enabled.value : false; + + mailSettings.transporter = nodeMailer.createTransport({ + host: mailSettings.host && mailSettings.host.value ? mailSettings.host.value : '127.0.0.1', + port: mailSettings.port && mailSettings.port.value ? mailSettings.port.value : 25, + secure: mailSettings.ssl && mailSettings.ssl.value ? mailSettings.ssl.value : false, + auth: { + user: mailSettings.username && mailSettings.username.value ? mailSettings.username.value : '', + pass: mailSettings.password && mailSettings.password.value ? mailSettings.password.value : '' + }, + tls: { + rejectUnauthorized: false, + ciphers: 'SSLv3' + } + }); + + callback(null, mailSettings); + }); +} + function handleQueue(err, size) { if (err) { return winston.warn(err.message); diff --git a/src/mailer/mailCheck.js b/src/mailer/mailCheck.js index ed6cf8879..23c6b7a15 100644 --- a/src/mailer/mailCheck.js +++ b/src/mailer/mailCheck.js @@ -27,12 +27,12 @@ var groupSchema = require('../models/group'); var ticketTypeSchema = require('../models/tickettype'); var Ticket = require('../models/ticket'); -var MAILER_ENABLED = nconf.get('mailer:check:enable'); -var MAILERCHECK_USER = nconf.get('mailer:check:user') ? nconf.get('mailer:check:user') : MAILER_ENABLED = false; -var MAILERCHECK_PASS = nconf.get('mailer:check:pass') ? nconf.get('mailer:check:pass') : MAILER_ENABLED = false; -var MAILERCHECK_HOST = nconf.get('mailer:check:host') ? nconf.get('mailer:check:host') : MAILER_ENABLED = false; -var POOL_INTERVAL = nconf.get('mailer:check:polling') ? nconf.get('mailer:check:polling') : 600000; //10 min -var DEFAULT_TICKET_TYPE = nconf.get('mailer:check:defaultTicketType') ? nconf.get('mailer:check:defaultTicketType') : 'Problem'; +var MAILERCHECK_ENABLED = nconf.get('mailer:check:enable'); +var MAILERCHECK_USER = nconf.get('mailer:check:user') ? nconf.get('mailer:check:user') : MAILERCHECK_ENABLED = false; +var MAILERCHECK_PASS = nconf.get('mailer:check:pass') ? nconf.get('mailer:check:pass') : MAILERCHECK_ENABLED = false; +var MAILERCHECK_HOST = nconf.get('mailer:check:host') ? nconf.get('mailer:check:host') : MAILERCHECK_ENABLED = false; +var POLLING_INTERVAL = nconf.get('mailer:check:polling') ? nconf.get('mailer:check:polling') : 600000; //10 min +var DEFAULT_TICKET_TYPE = nconf.get('mailer:check:defaultTicketType') ? nconf.get('mailer:check:defaultTicketType') : 'Issue'; var mailCheck = {}; mailCheck.Imap = new Imap({ @@ -45,12 +45,12 @@ mailCheck.Imap = new Imap({ mailCheck.inbox = []; mailCheck.init = function() { - if (!MAILER_ENABLED) return true; + if (!MAILERCHECK_ENABLED) return true; mailCheck.fetchMail(); setInterval(function() { mailCheck.fetchMail(); - }, POOL_INTERVAL); + }, POLLING_INTERVAL); }; mailCheck.fetchMail = function() { diff --git a/src/middleware/index.js b/src/middleware/index.js index f2fd4ea00..578e39862 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -72,7 +72,7 @@ module.exports = function(app, db, callback) { cookie: cookie, store: sessionStore, saveUninitialized: true, - resave: true + resave: false })); next(null, sessionStore); @@ -91,6 +91,8 @@ module.exports = function(app, db, callback) { next(); }); + //CORS + app.use(allowCrossDomain); app.use('/uploads/tickets', express.static(path.join(__dirname, '../../', 'public', 'uploads', 'tickets'))); app.use(express.static(path.join(__dirname, '../../', 'public'))); @@ -105,4 +107,16 @@ module.exports = function(app, db, callback) { callback(middleware, s); }); -}; \ No newline at end of file +}; + +function allowCrossDomain(req, res, next) { + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS'); + res.setHeader('Access-Control-Allow-Headers', 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,accesstoken'); + + if (req.method === 'OPTIONS') { + res.sendStatus(200); + } else { + next(); + } +} \ No newline at end of file diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index e2d21e6a5..586fc0850 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -39,6 +39,26 @@ middleware.db = function(req, res, next) { next(); }; +middleware.redirectToInstall = function(req, res, next) { + var fs = require('fs'); + var path = require('path'); + var config = path.join(__dirname, '../../config.json'); + if (!fs.existsSync(config)) + res.redirect('/install'); + else + next(); +}; + +middleware.hasConfig = function(req, res, next) { + var fs = require('fs'); + var path = require('path'); + var config = path.join(__dirname, '../../config.json'); + if (fs.existsSync(config)) + res.redirect('/install'); + else + next(); +}; + middleware.redirectToDashboardIfLoggedIn = function(req, res, next) { if (req.user) { res.redirect('/dashboard'); @@ -85,7 +105,6 @@ middleware.cache = function(seconds) { //API middleware.api = function(req, res, next) { var accessToken = req.headers.accesstoken; - if (_.isUndefined(accessToken) || _.isNull(accessToken)) { var user = req.user; if (_.isUndefined(user) || _.isNull(user)) return res.status(401).json({error: 'Invalid Access Token'}); diff --git a/src/models/setting.js b/src/models/setting.js new file mode 100644 index 000000000..296c5d7f6 --- /dev/null +++ b/src/models/setting.js @@ -0,0 +1,66 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 06/21/2016 + Author: Chris Brame + + **/ + +var mongoose = require('mongoose'); +var _ = require('underscore'); + +var COLLECTION = 'settings'; + +/** + * Setting Schema + * @module models/setting + * @class Setting + + * + * @property {object} _id ```Required``` ```unique``` MongoDB Object ID + * @property {String} name ```Required``` ```unique``` Name of Setting + * @property {object} value ```Required``` Value of Setting + */ +var settingSchema = mongoose.Schema({ + name: { type: String, required: true, unique: true }, + value: { type: mongoose.Schema.Types.Mixed, required: true} +}); + +/** + * Return all Settings + * + * @memberof Setting + * @static + * @method getSettings + * + * @param {QueryCallback} callback MongoDB Query Callback + */ +settingSchema.statics.getSettings = function(callback) { + var q = this.model(COLLECTION).find({}); + + return q.exec(callback); +}; + +/** + * Return Single Setting via setting name + * + * @memberof Setting + * @static + * @method getSettingByName + * + * @param {String} name Name of Setting to search for + * @param {QueryCallback} callback MongoDB Query Callback + */ +settingSchema.statics.getSettingByName = function(name, callback) { + var q = this.model(COLLECTION).findOne({name: name}); + + return q.exec(callback); +}; + +module.exports = mongoose.model(COLLECTION, settingSchema); \ No newline at end of file diff --git a/src/models/tag.js b/src/models/tag.js index fe54fee6e..d04ebd15d 100644 --- a/src/models/tag.js +++ b/src/models/tag.js @@ -30,6 +30,12 @@ var tagSchema = mongoose.Schema({ name: { type: String, required: true, unique: true } }); +tagSchema.statics.getTag = function(id, callback) { + var q = this.model(COLLECTION).findOne({_id: id}); + + return q.exec(callback); +}; + /** * Return all Tags * diff --git a/src/models/ticket.js b/src/models/ticket.js index 7abec9635..ee0e5b0c0 100644 --- a/src/models/ticket.js +++ b/src/models/ticket.js @@ -454,6 +454,13 @@ ticketSchema.statics.getAll = function(callback) { return q.exec(callback); }; +ticketSchema.statics.getAllNoPopulate = function(callback) { + var self = this; + var q = self.model(COLLECTION).find({deleted: false}).sort({'status': 1}); + + return q.exec(callback); +}; + ticketSchema.statics.getAllByStatus = function(status, callback) { var self = this; @@ -893,6 +900,46 @@ ticketSchema.statics.getOverdue = function(grpId, callback) { return q.exec(callback); }; +/** + * Gets tickets via tag id + * @memberof Ticket + * @static + * @method getTicketsByTag + * + * @param {Array} grpId Group Array of User + * @param {string} tagId Tag Id + * @param {QueryCallback} callback MongoDB Query Callback + */ +ticketSchema.statics.getTicketsByTag = function(grpId, tagId, callback) { + if (_.isUndefined(grpId)) return callback("Invalid Group Ids - TicketSchema.GetTicketByTag()", null); + if (_.isUndefined(tagId)) return callback("Invalid Tag Id - TicketSchema.GetTicketByTag()", null); + + var self = this; + + var q = self.model(COLLECTION).find({group: {$in: grpId}, tags: tagId, deleted: false}); + + return q.exec(callback); +}; + +/** + * Gets all tickets via tag id + * @memberof Ticket + * @static + * @method getAllTicketsByTag + * + * @param {string} tagId Tag Id + * @param {QueryCallback} callback MongoDB Query Callback + */ +ticketSchema.statics.getAllTicketsByTag = function(tagId, callback) { + if (_.isUndefined(tagId)) return callback("Invalid Group Ids - TicketSchema.GetAllTicketsByTag()", null); + + var self = this; + + var q = self.model(COLLECTION).find({tags: tagId, deleted: false}); + + return q.exec(callback); +}; + ticketSchema.statics.getAssigned = function(user_id, callback) { if (_.isUndefined(user_id)) return callback("Invalid Id - TicketSchema.GetAssigned()", null); diff --git a/src/models/user.js b/src/models/user.js index dc22bdee4..f34525457 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -205,7 +205,7 @@ userSchema.statics.getUserByUsername = function(user, callback) { return callback("Invalid Username - UserSchema.GetUserByUsername()", null); } - return this.model(COLLECTION).findOne({username: new RegExp("^" + user.toLowerCase(), 'i') }, callback); + return this.model(COLLECTION).findOne({username: new RegExp("^" + user + "$", 'i') }, callback); }; /** diff --git a/src/notifications/index.js b/src/notifications/index.js index 65c90d3a2..1fd837479 100644 --- a/src/notifications/index.js +++ b/src/notifications/index.js @@ -25,7 +25,7 @@ var _ = require('underscore'), ticketSchema = require('../models/ticket'); module.exports.pushNotification = function(notification) { - var enabled = nconf.get('tps:enable') ? nconf.get('tps:enable') : true; + var enabled = nconf.get('tps:enable') ? nconf.get('tps:enable') : false; if (!enabled) return true; var apiKey = nconf.get("tps:apikey"); var tps_username = nconf.get("tps:username"); diff --git a/src/public/js/angularjs/controllers.js b/src/public/js/angularjs/controllers.js index 2403fea11..55f2ee7de 100644 --- a/src/public/js/angularjs/controllers.js +++ b/src/public/js/angularjs/controllers.js @@ -26,7 +26,8 @@ define([ 'angularjs/controllers/singleTicket', 'angularjs/controllers/messages', 'angularjs/controllers/notices', - 'angularjs/controllers/reports' + 'angularjs/controllers/reports', + 'angularjs/controllers/settings' ], function($, angular, _) { @@ -41,7 +42,8 @@ define([ 'trudesk.controllers.singleTicket', 'trudesk.controllers.messages', 'trudesk.controllers.notices', - 'trudesk.controllers.reports' + 'trudesk.controllers.reports', + 'trudesk.controllers.settings' ]) .controller('truCtrl', ['openNewMessageWindow', '$scope', function(openNewMessageWindow, $scope) { $scope.submitForm = function(formName, $event) { diff --git a/src/public/js/angularjs/controllers/accounts.js b/src/public/js/angularjs/controllers/accounts.js index 428e40de6..49c8ebae0 100644 --- a/src/public/js/angularjs/controllers/accounts.js +++ b/src/public/js/angularjs/controllers/accounts.js @@ -53,39 +53,27 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' }); }; - $scope.editAccount = function($event) { - //!!!Deprecated!!! - - //if (_.isNull($event.target) || _.isUndefined($event.target) || - // $event.target.tagName.toLowerCase() === 'label' || - // $event.target.tagName.toLowerCase() === 'input') - // return true; - // - ////currentTarget = ng-click() bound to. "" - //var username = $event.currentTarget.dataset.username; - //if (!username) return true; - // - //History.pushState(null, null, '/accounts/' + username); - }; - + var running = false; $scope.deleteAccount = function($event) { + if (running) + return true; + $event.preventDefault(); var self = $($event.target); var username = self.attr('data-username'); if (_.isUndefined(username)) return true; + running = true; $http.delete( '/api/v1/users/' + username ).success(function(data) { if (!data.success) { helpers.UI.showSnackbar(data.error, true); - return; + running = false; + return true; } - //self.parents('[data-uk-filter]').remove(); - //UIkit.$html.trigger('changed.uk.dom'); - if (data.disabled) { self.parents('.tru-card-head').addClass('tru-card-head-deleted'); self.addClass('hide'); @@ -99,9 +87,12 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' helpers.UI.showSnackbar('Account ' + username + ' Successfully Deleted', false); } + running = false; }).error(function(err) { console.log('[trudesk:accounts:deleteAccount] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); + + running = false; }); }; @@ -174,9 +165,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' }; $scope.saveAccount = function() { - var data = {}; var form = $('#editAccountForm'); - data = form.serializeObject(); + var data = form.serializeObject(); data.aUsername = form.find('#aUsername').val(); data.aGrps = form.find('#aGrps').val(); diff --git a/src/public/js/angularjs/controllers/common.js b/src/public/js/angularjs/controllers/common.js index 08daeb99f..0ad99be7d 100644 --- a/src/public/js/angularjs/controllers/common.js +++ b/src/public/js/angularjs/controllers/common.js @@ -17,6 +17,38 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] .controller('commonCtrl', ['openNewMessageWindow', '$scope', '$http', '$cookies', '$timeout', function(openNewMessageWindow, $scope, $http, $cookies, $timeout) { //NG Init function + $scope.setDefaultCreateTicketValues = function() { + $timeout(function() { + UI.$html.on('show.uk.modal', function(event) { + var modal = $(event.target); + if (modal.length > 0) { + var $group = modal.find('select#group'); + var $group_selectize = $group[0].selectize; + var options = $group_selectize.options; + var first = _.chain(options).map(function(v, k) { + if (v.$order != undefined && v.$order === 1) return k; + }).first().value(); + if (first) + $group_selectize.addItem(first, true); + + $group_selectize.refreshItems(); + + var $type = modal.find('select#type'); + var $type_selectize = $type[0].selectize; + options = $type_selectize.options; + first = _.chain(options).map(function(v, k) { + if (v.$order != undefined && v.$order === 1) return k; + }).first().value(); + + if (first) + $type_selectize.addItem(first, true); + + $type_selectize.refreshItems(); + } + }); + }, 0, false); + }; + $scope.loadNoticeAlertWindow = function() { //Load the function In the next Tick... $timeout(function() { @@ -24,7 +56,9 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] UI.$html.on('hide.uk.modal', function(event) { var modal = $(event.target); if (modal.length > 0) { - modal.find('form')[0].reset(); + var form = modal.find('form')[0]; + if (!_.isUndefined(form)) + form.reset(); modal.find('option').prop('selected', false); var $select = modal.find('form').find('select'); $select.each(function() { diff --git a/src/public/js/angularjs/controllers/groups.js b/src/public/js/angularjs/controllers/groups.js index b71ba15c0..aca2a80c1 100644 --- a/src/public/js/angularjs/controllers/groups.js +++ b/src/public/js/angularjs/controllers/groups.js @@ -34,11 +34,13 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' var $sendMailTo = form.find('#gSendMailTo')[0].selectize; _.each(group.members, function(i) { - $members.addItem(i._id, true); + if (i) + $members.addItem(i._id, true); }); _.each(group.sendMailTo, function(i) { - $sendMailTo.addItem(i._id, true); + if (i) + $sendMailTo.addItem(i._id, true); }); $members.refreshItems(); @@ -101,7 +103,9 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' helpers.UI.showSnackbar('Group Created Successfully', false); UIkit.modal("#groupCreateModal").hide(); //Refresh Grid - refreshGrid(); + setTimeout(function() { + refreshGrid(); + }, 0); }) .error(function(err) { console.log('[trudesk:groups:createGroup] - Error: ' + err); @@ -138,7 +142,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' self.remove(); }); - $http.get('/api/v1/groups') + $http.get('/api/v1/groups/all') .success(function(data) { var $groupList = $('#group_list'); @@ -177,7 +181,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' html += ''; html += ''; html += ''; - html += '

'; + html += '

'; html += group.name; html += ''; html += _.size(group.members).toString() + ' ' + (_.size(group.members) === 1 ? 'member' : 'members'); diff --git a/src/public/js/angularjs/controllers/notices.js b/src/public/js/angularjs/controllers/notices.js index fd96b0851..f9f15326a 100644 --- a/src/public/js/angularjs/controllers/notices.js +++ b/src/public/js/angularjs/controllers/notices.js @@ -12,7 +12,7 @@ **/ -define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'history'], function(angular, _, $, helpers, ui) { +define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', 'history'], function(angular, _, $, helpers, socketClient) { return angular.module('trudesk.controllers.notices', []) .controller('noticesCtrl', function($scope, $http) { @@ -31,6 +31,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his $scope.submitCreateNoticeForm = function() { var formData = $('#createNoticeForm').serializeObject(); + if (!formData.nName || !formData.nMessage) return false; var apiData = { name: formData.nName, message: formData.nMessage, @@ -99,7 +100,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his headers: {'Content-Type': 'application/json'} }) .success(function() { - ui.setShowNotice(id); + socketClient.ui.setShowNotice(id); helpers.UI.showSnackbar('Notice has been activated', false); @@ -122,7 +123,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his $scope.clearNotice = function() { $http.get('/api/v1/notices/clearactive') .success(function() { - ui.setClearNotice(); + socketClient.ui.setClearNotice(); helpers.UI.showSnackbar('Notice has been deactivated', false); }) diff --git a/src/public/js/angularjs/controllers/profile.js b/src/public/js/angularjs/controllers/profile.js index fb2937097..9bbdae5ec 100644 --- a/src/public/js/angularjs/controllers/profile.js +++ b/src/public/js/angularjs/controllers/profile.js @@ -28,7 +28,9 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], functi aFullname: data.fullname, aPass: data.password, aPassConfirm: data.cPassword, - aEmail: data.email + aEmail: data.email, + + saveGroups: false } ).success(function(d) { resetForm(); diff --git a/src/public/js/angularjs/controllers/reports.js b/src/public/js/angularjs/controllers/reports.js index 90261ea9e..bba98fda9 100644 --- a/src/public/js/angularjs/controllers/reports.js +++ b/src/public/js/angularjs/controllers/reports.js @@ -16,139 +16,5 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], functi return angular.module('trudesk.controllers.reports', []) .controller('reportsCtrl', function($scope, $http) { - $scope.editGroup = function($event) { - if (_.isNull($event.target) || _.isUndefined($event.target) || - $event.target.tagName.toLowerCase() === 'label' || - $event.target.tagName.toLowerCase() === 'input') - return true; - - //currentTarget = ng-click() bound to. "" - var id = $event.currentTarget.dataset.groupoid; - if (!id) return true; - - History.pushState(null, null, '/groups/' + id); - }; - - $scope.submitCreateGroupForm = function() { - var formData = $('#createGroupForm').serializeObject(); - var apiData = { - name: formData.gName, - members: formData.gMembers, - sendMailTo: formData.gSendMailTo - }; - - $http({ - method: 'POST', - url: '/api/v1/groups/create', - data: apiData, - headers: { 'Content-Type': 'application/json'} - }) - .success(function() { - //helpers.showFlash('Group Created Successfully.'); - - helpers.UI.showSnackbar({ - text: 'Group Created Successfully' - }); - - History.pushState(null, null, '/groups/'); - }) - .error(function(err) { - console.log('[trudesk:groups:submitCreateGroupForm] - ' + err); - //helpers.showFlash(err, true); - helpers.UI.showSnackbar({ - text: err, - actionTextColor: '#B92929' - }); - }); - }; - - $scope.submitSaveGroup = function() { - var formData = $('#editGroupForm').serializeObject(); - var apiData = { - id: formData.groupID, - name: formData.gName, - members: formData.gMembers, - sendMailTo: formData.gSendMailTo - }; - - $http({ - method: 'PUT', - url: '/api/v1/groups/' + apiData.id, - data: apiData, - headers: {'Content-Type': 'application/json' } - }) - .success(function() { - //helpers.showFlash('Group Saved Successfully'); - helpers.UI.showSnackbar({ - text: 'Group Saved Successfully' - }); - - History.pushState(null, null, '/groups/'); - }) - .error(function(err) { - console.log('[trudesk:groups:submitSaveGroup] - ' + err); - //helpers.showFlash(err, true); - helpers.UI.showSnackbar({text: err, actionTextColor: '#B92929'}); - }); - }; - - $scope.deleteGroups = function() { - var ids = getChecked(); - _.each(ids, function(id) { - $http.delete( - '/api/v1/groups/' + id - ).success(function(data) { - if (!data.success) { - //helpers.showFlash(data.error, true); - helpers.UI.showSnackbar({text: data.error, actionTextColor: '#B92929'}); - return; - } - removeCheckedFromGrid(id); - //helpers.showFlash('Group Successfully Deleted'); - helpers.UI.showSnackbar({text: 'Group Successfully Deleted'}); - }).error(function(err) { - console.log('[trudesk:groups:deleteGroups] - ' + err); - //helpers.showFlash(err, true); - helpers.UI.showSnackbar({text: err, actionTextColor: '#B92929'}); - }); - }); - - helpers.hideAllpDropDowns(); - helpers.hideDropDownScrolls(); - }; - - function clearChecked() { - $('#groupsTable input[type="checkbox"]:checked').each(function() { - var self = $(this); - self.prop('checked', false); - }); - } - - function getChecked() { - var checkedIds = []; - $('#groupsTable input[type="checkbox"]:checked').each(function() { - var self = $(this); - var $groupTR = self.parents('tr'); - if (!_.isUndefined($groupTR)) { - var groupOId = $groupTR.attr('data-groupOId'); - - if (!_.isUndefined(groupOId) && groupOId.length > 0) { - checkedIds.push(groupOId); - } - } - }); - - return checkedIds; - } - - function removeCheckedFromGrid(id) { - $('#groupsTable #c_' + id + '[type="checkbox"]:checked').each(function() { - var self = $(this); - var $groupTR = self.parents('tr'); - if (!_.isUndefined($groupTR)) { - $groupTR.remove(); - } - }); - } }); }); \ No newline at end of file diff --git a/src/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js new file mode 100644 index 000000000..d90ab2b18 --- /dev/null +++ b/src/public/js/angularjs/controllers/settings.js @@ -0,0 +1,247 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/10/2015 + Author: Chris Brame + + **/ + +define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uikit', 'history'], function(angular, _, $, helpers, ui, UIkit) { + return angular.module('trudesk.controllers.settings', []) + .controller('settingsCtrl', function($scope, $http) { + $scope.init = function() { + //Fix Inputs if input is preloaded with a value + setTimeout(function() { + $('input.md-input').each(function() { + var self = $(this); + if (!_.isEmpty(self.val())) { + var s = self.parent('.md-input-wrapper'); + if (s.length > 0) + s.addClass('md-input-filled'); + } + }); + }, 0); + }; + + $scope.$watch('mailerEnabled', function(newVal) { + $('input#mailerHost').attr('disabled', !newVal); + $('input#mailerSSL').attr('disabled', !newVal); + $('input#mailerPort').attr('disabled', !newVal); + $('input#mailerUsername').attr('disabled', !newVal); + $('input#mailerPassword').attr('disabled', !newVal); + $('input#mailerFrom').attr('disabled', !newVal); + $('button#mailerSubmit').attr('disabled', !newVal); + }); + + $scope.mailerEnabledChange = function() { + $scope.mailerEnabled = this.mailerEnabled; + + $http.put('/api/v1/settings', { + name: 'mailer:enable', + value: $scope.mailerEnabled + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback(data) { + + }, function errorCallback(err) { + helpers.UI.showSnackbar('Error: ' + err, true); + }); + }; + + $scope.mailerSSLChange = function() { + $scope.mailerSSL = this.mailerSSL; + + $http.put('/api/v1/settings', { + name: 'mailer:ssl', + value: $scope.mailerSSL + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback(data) { + + }, function errorCallback(err) { + helpers.UI.showSnackbar('Error: ' + err, true); + }); + }; + + $scope.submitTestMailer = function($event) { + $event.preventDefault(); + helpers.UI.showSnackbar('Testing...', false); + $http.post('/api/v1/settings/testmailer', { + //Empty + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback() { + helpers.UI.showSnackbar('Successfully Connected', false); + }, function errorCallback(response) { + helpers.UI.showSnackbar('Error: ' + response.data.error, true); + }); + }; + + $scope.mailerFormSubmit = function($event) { + $event.preventDefault(); + $http.put('/api/v1/settings', [ + {name: 'mailer:host', value: $scope.mailerHost}, + {name: 'mailer:ssl', value: $scope.mailerSSL}, + {name: 'mailer:port', value: $scope.mailerPort}, + {name: 'mailer:username', value: $scope.mailerUsername}, + {name: 'mailer:password', value: $scope.mailerPassword}, + {name: 'mailer:from', value: $scope.mailerFrom} + ], { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback() { + helpers.UI.showSnackbar('Mailer Settings Saved', false); + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.$watch('mailerCheckEnabled', function(newVal) { + $('input#mailerCheckHost').attr('disabled', !newVal); + $('input#mailerCheckPort').attr('disabled', !newVal); + $('input#mailerCheckUsername').attr('disabled', !newVal); + $('input#mailerCheckPassword').attr('disabled', !newVal); + $('button#mailerCheckSubmit').attr('disabled', !newVal); + }); + + $scope.mailerCheckEnabledChange = function() { + $scope.mailerCheckEnabled = this.mailerCheckEnabled; + + $http.put('/api/v1/settings', { + name: 'mailer:check:enable', + value: $scope.mailerCheckEnabled + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback(data) { + + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.mailerCheckFormSubmit = function($event) { + $event.preventDefault(); + + $http.put('/api/v1/settings', [ + {name: 'mailer:check:host', value: $scope.mailerCheckHost}, + {name: 'mailer:check:port', value: $scope.mailerCheckPort}, + {name: 'mailer:check:username', value: $scope.mailerCheckUsername}, + {name: 'mailer:check:password', value: $scope.mailerCheckPassword} + + ], { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback() { + helpers.UI.showSnackbar('Mail Check Settings Saved', false); + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.showOverdueTicketsChanged = function() { + $scope.showOverdueTickets = this.showOverdueTickets; + + $http.put('/api/v1/settings', { + name: 'showOverdueTickets:enable', + value: $scope.showOverdueTickets + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback(data) { + + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.editTag = function($event) { + if (_.isNull($event.target) || _.isUndefined($event.target) || + $event.target.tagName.toLowerCase() === 'label' || + $event.target.tagName.toLowerCase() === 'input') + return true; + + //currentTarget = ng-click() bound to. "" + var id = $event.currentTarget.dataset.tagoid; + if (!id) return true; + + History.pushState(null, null, '/settings/tags/' + id); + }; + + $scope.updateTag = function() { + var $tagId = $('#__editTag_TagId'); + if ($tagId.length < 1) { + //Show invalid Tag Snackbar + helpers.UI.showSnackbar('Unable to get tag ID', true); + return true; + } + + var id = $tagId.text(); + var tagName = $('#editTag_Name').val(); + + $http.put('/api/v1/tickets/tags/' + id, { + name: tagName + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback(data) { + helpers.UI.showSnackbar('Tag: ' + tagName + ' updated successfully', false); + + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.showDeleteConfirm = function() { + var tagName = $('#__editTag_TagName').text(); + UIkit.modal.confirm("Really delete tag " + tagName + '
This will remove the tag from all associated tickets!', function() { + return $scope.deleteTag(); + }, { + labels: {'Ok': 'Yes', 'Cancel': 'No'} + }); + }; + + $scope.deleteTag = function() { + var $tagId = $('#__editTag_TagId'); + if ($tagId.length < 1) { + helpers.UI.showSnackbar('Unable to get tag ID', true); + return true; + } + + var id = $tagId.text(); + var tagName = $('#__editTag_TagName').text(); + + $http({ + method: 'DELETE', + url: '/api/v1/tickets/tags/' + id + }).then(function successCallback(response) { + if (response.data.success) { + helpers.UI.showSnackbar('Successfully removed tag: ' + tagName, false); + + return History.pushState(null, null, '/settings/tags/'); + } + }, function errorCallback(response) { + console.log('[trudesk:settings:deleteTag] Error - ' + response.data.error); + helpers.UI.showSnackbar('Unable to remove Tag. Check console.', true); + + }); + }; + }); +}); \ No newline at end of file diff --git a/src/public/js/angularjs/controllers/singleTicket.js b/src/public/js/angularjs/controllers/singleTicket.js index 94802e5da..ec3fd3101 100644 --- a/src/public/js/angularjs/controllers/singleTicket.js +++ b/src/public/js/angularjs/controllers/singleTicket.js @@ -175,7 +175,6 @@ define(['angular', 'underscore', 'jquery', 'uikit', 'modules/socket', 'modules/n event.preventDefault(); var tagModal = $('#createTagModal'); if (tagModal.length > 0) { - console.log('here'); UIkit.modal(tagModal, {bgclose: false}).show(); } }; @@ -273,16 +272,16 @@ define(['angular', 'underscore', 'jquery', 'uikit', 'modules/socket', 'modules/n socket.ui.refreshTicketTags(id); $('#addTagModal').find('option').prop('selected', false); $('#addTagModal').find('select').trigger('chosen:updated'); - UIkit.modal('#addTagModal').close(); + UIkit.modal('#addTagModal').hide(); }).error(function(e) { console.log('[trudesk:singleTicket:clearTags] - ' + e.message); helpers.UI.showSnackbar('Error: ' + e.message, true); - UIkit.modal('#addTagModal').close(); + UIkit.modal('#addTagModal').hide(); }); }; $scope.closeAddTagModal = function() { - UIkit.modal('#addTagModal').close(); + UIkit.modal('#addTagModal').hide(); }; }) .directive('closeMouseUp', ['$document', function($document) { diff --git a/src/public/js/modules/ajaxify.js b/src/public/js/modules/ajaxify.js index e2647a496..2ef34d62d 100644 --- a/src/public/js/modules/ajaxify.js +++ b/src/public/js/modules/ajaxify.js @@ -30,12 +30,15 @@ define('modules/ajaxify', [ 'pages/reportsBreakdown', 'pages/notices', 'pages/createNotice', - 'modules/ui', - 'modules/chat', + 'pages/settings', + 'pages/logs', + 'pages/tags', + 'modules/socket', 'history' ], function($, angular, helpers, nav, dashboardPage, messagesPage, ticketsPage, accountsPage, groupsPage, - ajaxImgUpload, attachmentUpload, editAccountPage, singleTicketPage, reportsPage, reportsBreakdownPage, noticesPage, createNoticePage, ui) { + ajaxImgUpload, attachmentUpload, editAccountPage, singleTicketPage, reportsPage, reportsBreakdownPage, + noticesPage, createNoticePage, settingsPage, logsPage, tagsPage, socketClient) { $(window).on('statechangecomplete', function() { //Global @@ -44,21 +47,7 @@ define('modules/ajaxify', [ angular.bootstrap($ele, ['trudesk']); }); - //$(document).foundation({ - // abide: { - // patterns: { - // is5Long: /.{5,}/ - // } - // }, - // reveal: { - // animation: 'fade', - // animation_speed: 280, - // close_on_background_click: true, - // close_on_esc: true - // } - //}); - - ui.init(); + socketClient.ui.init(socketClient.socket); helpers.init(); helpers.hideAllUiKitDropdowns(); ajaxImgUpload.init(); @@ -91,6 +80,10 @@ define('modules/ajaxify', [ noticesPage.init(); createNoticePage.init(); + //Settings + settingsPage.init(); + tagsPage.init(); + logsPage.init(); //Load UI Animations Load helpers.UI.cardShow(); diff --git a/src/public/js/modules/chat.js b/src/public/js/modules/chat.js index 9e9ae4b15..6e202de4a 100644 --- a/src/public/js/modules/chat.js +++ b/src/public/js/modules/chat.js @@ -19,108 +19,98 @@ define('modules/chat',[ 'autogrow' ], function($, _, helpers) { - var chatClient = {}; - var socket = io.connect(); + var chatClient = {}, + socket; - socket.removeAllListeners('connect'); - socket.on('connect', function(data) { - socket.emit('joinChatServer'); - }); + chatClient.init = function(sock) { + socket = sock; - socket.removeAllListeners('connectingToSocketServer'); - socket.on('connectingToSocketServer', function(data) { + socket.removeAllListeners('connect'); + socket.on('connect', function(data) { + socket.emit('joinChatServer'); + }); - }); + socket.removeAllListeners('connectingToSocketServer'); + socket.on('connectingToSocketServer', function(data) { - socket.removeAllListeners('updateUsers'); - socket.on('updateUsers', function(data) { - var html = ''; - var onlineList = $('#online-Users-List').find('> ul'); - onlineList.html(''); - var username = $('.profile-name[data-username]').attr('data-username'); - _.each(data, function(v, k) { - var onlineUser = v.user; - if (onlineUser.username === username) return true; - var imageUrl = onlineUser.image; - if (_.isUndefined(imageUrl)) imageUrl = 'defaultProfile.jpg'; - html += '
  • '; - html += ''; - html += '
    '; - html += '
    profile
    '; - html += '
    ' + onlineUser.fullname + '
    '; - html += '
    '; - if (onlineUser.title) - html += '' + onlineUser.title + ''; - html += '
    '; - html += '
    '; - html += ''; - html += '
    '; - html += '
  • '; }); - onlineList.append(html); - chatClient.bindActions(); + socket.removeAllListeners('updateUsers'); + socket.on('updateUsers', function(data) { + var html = ''; + var onlineList = $('#online-Users-List').find('> ul'); + onlineList.html(''); + var username = $('.profile-name[data-username]').attr('data-username'); + _.each(data, function(v, k) { + var onlineUser = v.user; + if (onlineUser.username === username) return true; + var imageUrl = onlineUser.image; + if (_.isUndefined(imageUrl)) imageUrl = 'defaultProfile.jpg'; + html += '
  • '; + html += ''; + html += '
    '; + html += '
    profile
    '; + html += '
    ' + onlineUser.fullname + '
    '; + html += '
    '; + if (onlineUser.title) + html += '' + onlineUser.title + ''; + html += '
    '; + html += '
    '; + html += ''; + html += '
    '; + html += '
  • '; + }); - var $u = _.throttle(function() { - UpdateOnlineBubbles(data); - }, 1500, {trailing: false}); + onlineList.append(html); + chatClient.bindActions(); - $u(); - }); + var $u = _.throttle(function() { + UpdateOnlineBubbles(data); + }, 1500, {trailing: false}); - function UpdateOnlineBubbles(usersOnline) { - $('span[data-user-status-id]').each(function() { - $(this).removeClass('user-online').addClass('user-offline'); + $u(); }); - _.each(usersOnline, function(v, k) { - var $bubble = $('span[data-user-status-id="' + v.user._id +'"]'); - $bubble.each(function() { - var self = $(this); - self.removeClass('user-offline').addClass('user-online'); - }); + socket.removeAllListeners('spawnChatWindow'); + socket.on('spawnChatWindow', function(data) { + chatClient.openChatWindow(data); }); - } - socket.removeAllListeners('spawnChatWindow'); - socket.on('spawnChatWindow', function(data) { - chatClient.openChatWindow(data); - }); - - socket.removeAllListeners('chatMessage'); - socket.on('chatMessage', function(data) { - var type = data.type; - var to = data.to; - var from = data.from; - var chatBox = '', - chatMessage = '', - chatMessageList = '', - scroller = '', - selector = ''; - - if (type === 's') { - chatBox = $('.chat-box[data-chat-userId="' + to + '"]'); - chatMessage = createChatMessageDiv(data.message); - chatMessageList = chatBox.find('.chat-message-list:first'); - scroller = chatBox.find('.chat-box-messages'); - chatMessageList.append(chatMessage); - helpers.scrollToBottom(scroller); - } else if (type === 'r') { - selector = '.chat-box[data-chat-userId="' + from + '"]'; - chatBox = $(selector); - if (chatBox.length < 1) { - chatClient.openChatWindow(data.fromUser); + socket.removeAllListeners('chatMessage'); + socket.on('chatMessage', function(data) { + var type = data.type; + var to = data.to; + var from = data.from; + var chatBox = '', + chatMessage = '', + chatMessageList = '', + scroller = '', + selector = ''; + + if (type === 's') { + chatBox = $('.chat-box[data-chat-userId="' + to + '"]'); + chatMessage = createChatMessageDiv(data.message); + chatMessageList = chatBox.find('.chat-message-list:first'); + scroller = chatBox.find('.chat-box-messages'); + chatMessageList.append(chatMessage); + helpers.scrollToBottom(scroller); + } else if (type === 'r') { + selector = '.chat-box[data-chat-userId="' + from + '"]'; chatBox = $(selector); - } + if (chatBox.length < 1) { + chatClient.openChatWindow(data.fromUser); + chatBox = $(selector); + } - chatMessage = createChatMessageFromUser(data.fromUser, data.message); - chatMessageList = chatBox.find('.chat-message-list:first'); - chatMessageList.append(chatMessage); + chatMessage = createChatMessageFromUser(data.fromUser, data.message); + chatMessageList = chatBox.find('.chat-message-list:first'); + chatMessageList.append(chatMessage); - scroller = chatBox.find('.chat-box-messages'); - helpers.scrollToBottom(scroller); - } - }); + scroller = chatBox.find('.chat-box-messages'); + helpers.scrollToBottom(scroller); + } + }); + }; chatClient.bindActions = function() { $(document).ready(function() { @@ -186,7 +176,7 @@ define('modules/chat',[ } }); }); - } + }; chatClient.openChatWindow = function(user) { var username = $('.profile-name[data-username]').attr('data-username'); @@ -225,6 +215,20 @@ define('modules/chat',[ this.bindActions(); }; + function UpdateOnlineBubbles(usersOnline) { + $('span[data-user-status-id]').each(function() { + $(this).removeClass('user-online').addClass('user-offline'); + }); + _.each(usersOnline, function(v, k) { + var $bubble = $('span[data-user-status-id="' + v.user._id +'"]'); + $bubble.each(function() { + var self = $(this); + + self.removeClass('user-offline').addClass('user-online'); + }); + }); + } + function createChatMessageDiv(message) { var html = '
    '; html += '
    '; diff --git a/src/public/js/modules/helpers.js b/src/public/js/modules/helpers.js index 329c7397c..00c4a3df4 100644 --- a/src/public/js/modules/helpers.js +++ b/src/public/js/modules/helpers.js @@ -15,7 +15,7 @@ "use strict"; define(['jquery', 'underscore', 'moment', 'uikit', 'countup', 'waves', 'selectize','snackbar', 'async', 'nicescroll', 'easypiechart', 'chosen', 'velocity', 'formvalidator'], -function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { +function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { var helpers = {}; @@ -29,6 +29,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { self.setupScrollers(); self.setupScrollers('.scrollable-dark'); self.setupScrollers('.wrapper'); + self.setupScrollers('.uk-modal'); self.formvalidator(); self.pToolTip(); self.setupDonutchart(); @@ -119,7 +120,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { }; helpers.UI.showSnackbar_ = function(options) { - SnackBar.show(options); + Snackbar.show(options); }; helpers.UI.showSnackbar__ = function(text, error) { @@ -130,14 +131,14 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { if (error) actionText = '#FF4835'; - SnackBar.show({ + Snackbar.show({ text: text, actionTextColor: actionText }); }; helpers.UI.closeSnackbar = function() { - SnackBar.close(); + Snackbar.close(); }; helpers.UI.inputs = function(parent) { @@ -263,7 +264,8 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { // selectize plugins if(typeof $.fn.selectize != 'undefined') { Selectize.define('dropdown_after', function (options) { - this.positionDropdown = (function () { + var self = this; + self.positionDropdown = (function () { var $control = this.$control, position = $control.position(), position_left = position.left, @@ -570,8 +572,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { self.hideDropDownScrolls(); self.resizeDataTables('.ticketList'); - self.resizeDataTables('.groupsList'); - self.resizeDataTables('.accountList'); + self.resizeDataTables('.tagsList'); self.resizeScroller(); }, 100); @@ -584,7 +585,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { var color = "#a9b1bf"; var colorBrd = "1px solid #fff"; - if (selector == '.scrollable-dark') { + if (selector == '.scrollable-dark' || selector == '.uk-modal') { color = '#353e47'; colorBrd = "1px solid #000"; } @@ -636,8 +637,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, SnackBar) { self.hideDropDownScrolls(); self.resizeDataTables('.ticketList'); - self.resizeDataTables('.groupsList'); - self.resizeDataTables('.accountList'); + self.resizeDataTables('.tagsList'); self.resizeScroller(); }, 100); diff --git a/src/public/js/modules/navigation.js b/src/public/js/modules/navigation.js index 51114a609..d409cf8ef 100644 --- a/src/public/js/modules/navigation.js +++ b/src/public/js/modules/navigation.js @@ -110,6 +110,12 @@ define(['jquery', 'modules/helpers', 'underscore', 'modules/socket'], function($ left += Number(leftExtraOffset); left = left + 'px'; + var hasNotice = false; + var $noticeFrame = $('.wrapper').find('#notice-banner'); + if ($noticeFrame.length > 0) { + hasNotice = $noticeFrame.hasClass('uk-hidden') == false; + } + var topOffset = $(this).offset().top - $(window).scrollTop() - pageOffsetTop; var top = $(this).outerHeight() + topOffset; var topExtraOffset = $(drop).attr('data-top-offset'); @@ -117,6 +123,10 @@ define(['jquery', 'modules/helpers', 'underscore', 'modules/socket'], function($ topExtraOffset = 0; } top += Number(topExtraOffset); + + if (hasNotice) + top += 30; + top = top + 'px'; var override = $(drop).attr('data-override'); diff --git a/src/public/js/modules/socket.io/logs.io.js b/src/public/js/modules/socket.io/logs.io.js new file mode 100644 index 000000000..960f6e91d --- /dev/null +++ b/src/public/js/modules/socket.io/logs.io.js @@ -0,0 +1,37 @@ +/** + . .o8 oooo + . o8 "888 `888 +.o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 07/22/2016 + Author: Chris Brame + + **/ + +define('modules/socket.io/logs.io', [ + 'jquery', + 'underscore', + 'moment', + 'modules/helpers', + 'history' + +], function($, _, moment, helpers) { + var logsIO = {}; + + logsIO.getLogData = function(socket) { + socket.on('logs:data', function(data) { + var $sLogs = $('#serverlogs'); + if ($sLogs.length > 0) { + $sLogs.append(data); + $sLogs.scrollTop(99999999999999 * 999999999999999); + helpers.scrollToBottom($sLogs); + } + }); + }; + + return logsIO; +}); diff --git a/src/public/js/modules/socket.js b/src/public/js/modules/socket.js index 2a6f956ef..48b0b8688 100644 --- a/src/public/js/modules/socket.js +++ b/src/public/js/modules/socket.js @@ -17,9 +17,16 @@ define('modules/socket', [ 'modules/ui' ], function(chat, ui) { - var sClient = {}; + var socket = io.connect(); + var sClient = { + socket: socket + }; + + ui.init(socket); sClient.ui = ui; - ui.init(); + + chat.init(socket); + sClient.chat = chat; return sClient; }); \ No newline at end of file diff --git a/src/public/js/modules/ui.js b/src/public/js/modules/ui.js index 420884ba0..08f4854ef 100644 --- a/src/public/js/modules/ui.js +++ b/src/public/js/modules/ui.js @@ -20,16 +20,17 @@ define('modules/ui', [ 'modules/socket.io/messagesUI', 'modules/socket.io/noticeUI', 'modules/socket.io/ticketsUI', + 'modules/socket.io/logs.io', 'nicescroll', 'history' -], function($, _, helpers, nav, msgUI, noticeUI, ticketsUI) { +], function($, _, helpers, nav, msgUI, noticeUI, ticketsUI, logsIO) { var socketUi = {}, - socket = io.connect(); + socket; - socketUi.socket = socket; + socketUi.init = function(sock) { + socketUi.socket = (socket = sock); - socketUi.init = function() { this.onReconnect(); this.onDisconnect(); this.updateUsers(); @@ -51,12 +52,16 @@ define('modules/ui', [ this.onTicketCreated(); this.onTicketDelete(); this.onUpdateTicketGrid(); + this.onProfileImageUpdate(); this.updateMessagesFolder(socket); this.updateSingleMessageItem(socket); this.updateShowNotice(socket); this.updateClearNotice(socket); this.updateSubscribe(socket); + + //Logs + this.updateServerLogs(socket); }; socketUi.setMessageRead = function(messageId) { @@ -91,10 +96,14 @@ define('modules/ui', [ socketUi.updateSubscribe = ticketsUI.updateSubscribe; + socketUi.updateServerLogs = logsIO.getLogData; + socketUi.fetchServerLogs = function() { + socket.emit('logs:fetch'); + }; + socketUi.onReconnect = function() { socket.removeAllListeners('reconnect'); socket.on('reconnect', function() { - //helpers.clearFlash(); helpers.UI.hideDisconnectedOverlay(); }); }; @@ -833,5 +842,15 @@ define('modules/ui', [ }); }; + socketUi.onProfileImageUpdate = function() { + socket.removeAllListeners('trudesk:profileImageUpdate'); + socket.on('trudesk:profileImageUpdate', function(data) { + var profileImage = $('#profileImage[data-userid="' + data.userid + '"]'); + if (profileImage.length > 0) { + profileImage.attr('src', '/uploads/users/' + data.img + '?r=' + new Date().getTime()); + } + }); + }; + return socketUi; }); \ No newline at end of file diff --git a/src/public/js/pages/accounts.js b/src/public/js/pages/accounts.js index 9b1abd956..9f34a7f77 100644 --- a/src/public/js/pages/accounts.js +++ b/src/public/js/pages/accounts.js @@ -196,8 +196,8 @@ define('pages/accounts', [ html += '
    '; html += ''; html += '
    '; html += '
    '; diff --git a/src/public/js/pages/dashboard.js b/src/public/js/pages/dashboard.js index 61e5246f8..310ac9eb8 100644 --- a/src/public/js/pages/dashboard.js +++ b/src/public/js/pages/dashboard.js @@ -55,56 +55,168 @@ define('pages/dashboard', [ function getData(timespan) { $.ajax({ - url: '/api/v1/tickets/stats/' + timespan, - method: 'GET', - success: function (_data) { - parms.data = MG.convert.date(_data.data, 'date'); - MG.data_graphic(parms); - - var tCount = _(_data.data).reduce(function (m, x) { - return m + x.value; - }, 0); - var ticketCount = $('#ticketCount'); - var oldTicketCount = ticketCount.text() == '--' ? 0 : ticketCount.text(); - var totalTicketText = 'Total Tickets (last ' + timespan + 'd)'; - if (timespan == 0) - totalTicketText = 'Total Tickets (lifetime)'; - ticketCount.parents('.tru-card-content').find('span.uk-text-small').text(totalTicketText); - var theAnimation = new CountUp('ticketCount', oldTicketCount, tCount, 0, 1.5); - theAnimation.start(); - - var closedCount = Number(_data.closedCount); - var closedPercent = Math.round((closedCount / tCount) * 100); - - var textComplete = $('#text_complete'); - var oldTextComplete = textComplete.text() == '--' ? 0 : textComplete.text(); - var completeAnimation = new CountUp('text_complete', oldTextComplete, closedPercent, 0, 1.5); - completeAnimation.start(); - - var pieComplete = $('#pie_complete'); - pieComplete.text(closedPercent + '/100'); - pieComplete.peity("donut", { - height: 24, - width: 24, - fill: ["#29b955", "#ccc"] - }); - - var responseTime_text = $('#responseTime_text'); - var responseTime_graph = $('#responseTime_graph'); - var oldResponseTime = responseTime_text.text() == '--' ? 0 : responseTime_text.text(); - var responseTime = _data.ticketAvg; - var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); - responseTime_animation.start(); - - - var lastUpdated = $('#lastUpdated').find('span'); - lastUpdated.text(_data.lastUpdated); - }, - error: function(err) { - console.log('[trudesk:dashboard:getData] Error - ' + err.responseText); - helpers.UI.showSnackbar(err.responseText, true); - } - }); + url: '/api/v1/tickets/stats/' + timespan, + method: 'GET', + success: function (_data) { + var lastUpdated = $('#lastUpdated').find('span'); + lastUpdated.text(_data.lastUpdated); + if (!_data.data) + return true; + + parms.data = MG.convert.date(_data.data, 'date'); + MG.data_graphic(parms); + + var tCount = _(_data.data).reduce(function (m, x) { + return m + x.value; + }, 0); + var ticketCount = $('#ticketCount'); + var oldTicketCount = ticketCount.text() == '--' ? 0 : ticketCount.text(); + var totalTicketText = 'Total Tickets (last ' + timespan + 'd)'; + if (timespan == 0) + totalTicketText = 'Total Tickets (lifetime)'; + ticketCount.parents('.tru-card-content').find('span.uk-text-small').text(totalTicketText); + var theAnimation = new CountUp('ticketCount', oldTicketCount, tCount, 0, 1.5); + theAnimation.start(); + + var closedCount = Number(_data.closedCount); + var closedPercent = Math.round((closedCount / tCount) * 100); + + var textComplete = $('#text_complete'); + var oldTextComplete = textComplete.text() == '--' ? 0 : textComplete.text(); + var completeAnimation = new CountUp('text_complete', oldTextComplete, closedPercent, 0, 1.5); + completeAnimation.start(); + + var pieComplete = $('#pie_complete'); + pieComplete.text(closedPercent + '/100'); + pieComplete.peity("donut", { + height: 24, + width: 24, + fill: ["#29b955", "#ccc"] + }); + + var responseTime_text = $('#responseTime_text'); + var responseTime_graph = $('#responseTime_graph'); + var oldResponseTime = responseTime_text.text() == '--' ? 0 : responseTime_text.text(); + var responseTime = _data.ticketAvg; + var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); + responseTime_animation.start(); + }, + error: function(err) { + console.log('[trudesk:dashboard:getData] Error - ' + err.responseText); + helpers.UI.showSnackbar(err.responseText, true); + } + }); + + $.ajax({ + url: '/api/v1/tickets/count/tags/' + timespan, + method: 'GET', + success: function(data) { + var arr = _.map(data.tags, function(v, key) { + return [key, v]; + }); + + arr = _.first(arr, 10); + + var colors = [ + '#e74c3c', + '#3498db', + '#9b59b6', + '#34495e', + '#1abc9c', + '#2ecc71', + '#03A9F4', + '#00BCD4', + '#009688', + '#4CAF50', + '#FF5722', + '#CDDC39', + '#FFC107', + '#00E5FF', + '#E040FB', + '#607D8B' + ]; + + var c = _.object(_.map(arr, function(v,i) { + return v[0]; + }), _.shuffle(colors)); + + c3.generate({ + bindto: d3.select('#topTenTags'), + size: { + height: 200 + }, + data: { + columns: arr, + type: 'donut', + colors: c + }, + donut: { + label: { + format: function (value, ratio, id) { + return ''; + } + } + } + }); + } + }); + + + + $.ajax({ + url: '/api/v1/tickets/count/topgroups/' + timespan + '/5', + method: 'GET', + success: function(data) { + + var arr = _.map(data.items, function(v, key) { + return [v.name, v.count]; + }); + + var colors = [ + '#e74c3c', + '#3498db', + '#9b59b6', + '#34495e', + '#1abc9c', + '#2ecc71', + '#03A9F4', + '#00BCD4', + '#009688', + '#4CAF50', + '#FF5722', + '#CDDC39', + '#FFC107', + '#00E5FF', + '#E040FB', + '#607D8B' + ]; + + colors = _.shuffle(colors); + + var c = _.object(_.map(arr, function(v,i) { + return v[0]; + }), colors); + + c3.generate({ + bindto: d3.select('#pieChart'), + size: { + height: 200 + }, + data: { + columns: arr, + type: 'pie', + colors: c + }, + donut: { + label: { + format: function (value, ratio, id) { + return ''; + } + } + } + }); + } + }); } }); }; diff --git a/src/public/js/pages/logs.js b/src/public/js/pages/logs.js new file mode 100644 index 000000000..339bbf871 --- /dev/null +++ b/src/public/js/pages/logs.js @@ -0,0 +1,36 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/10/2015 + Author: Chris Brame + + **/ + +define('pages/logs', [ + 'jquery', + 'modules/socket', + 'modules/helpers', + 'history' + +], function($, socket, helpers) { + var logsPage = {}; + + logsPage.init = function() { + $(document).ready(function() { + socket.ui.fetchServerLogs(); + var $sLogs = $('#serverlogs'); + if ($sLogs.length > 0) + $sLogs.scrollTop(99999999999999 * 999999999999999); + //helpers.setupScrollers('#serverlogs'); + //helpers.scrollToBottom($('#serverlogs')); + }); + }; + + return logsPage; +}); \ No newline at end of file diff --git a/src/public/js/pages/messages.js b/src/public/js/pages/messages.js index 0a7d25625..fb7157bd8 100644 --- a/src/public/js/pages/messages.js +++ b/src/public/js/pages/messages.js @@ -15,10 +15,11 @@ define('pages/messages', [ 'jquery', 'modules/helpers', - 'modules/ui', + 'modules/socket', 'history' -], function($, helpers, ui) { +], function($, helpers, socketClient) { + var ui = socketClient.ui; var messagesPage = {}; var refreshInterval = null; diff --git a/src/public/js/pages/reports.js b/src/public/js/pages/reports.js index 1d49658e0..060d49754 100644 --- a/src/public/js/pages/reports.js +++ b/src/public/js/pages/reports.js @@ -58,6 +58,11 @@ define('pages/reports', [ url: '/api/v1/tickets/stats/' + timespan, method: 'GET', success: function(_data) { + var lastUpdated = $('#lastUpdated').find('span'); + lastUpdated.text(_data.lastUpdated); + if (!_data.data) + return true; + parms.data = MG.convert.date(_data.data, 'date'); MG.data_graphic(parms); @@ -94,10 +99,6 @@ define('pages/reports', [ var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); responseTime_animation.start(); - - var lastUpdated = $('#lastUpdated').find('span'); - lastUpdated.text(_data.lastUpdated); - //QuickStats var mostRequester = $('#mostRequester'); mostRequester.text(_data.mostRequester.name + ' (' + _data.mostRequester.value + ')'); @@ -107,7 +108,6 @@ define('pages/reports', [ mostAssignee.text(_data.mostAssignee.name + ' (' + _data.mostAssignee.value + ')'); var mostActiveTicket = $('#mostActiveTicket'); mostActiveTicket.attr('href', '/tickets/' + _data.mostActiveTicket.uid).text('T#' + _data.mostActiveTicket.uid); - } }) .error(function(err) { diff --git a/src/public/js/pages/reportsBreakdown.js b/src/public/js/pages/reportsBreakdown.js index d6d9b0661..b5e0af0cd 100644 --- a/src/public/js/pages/reportsBreakdown.js +++ b/src/public/js/pages/reportsBreakdown.js @@ -57,6 +57,9 @@ define('pages/reportsBreakdown', [ url: '/api/v1/tickets/stats/group/' + group, method: 'GET', success: function(_data) { + if (!_data.data.graphData) + return; + parms.data = MG.convert.date(_data.data.graphData, 'date'); MG.data_graphic(parms); @@ -171,137 +174,8 @@ define('pages/reportsBreakdown', [ .error(function(err) { //console.log(err); console.log('[trudesk:dashboard:getData] Error - ' + err.responseText); - helpers.UI.showSnackbar(err.responseText, true); + helpers.UI.showSnackbar(JSON.parse(err.responseText).error, true); }); - - - //$.ajax({ - // url: '/api/v1/tickets/count/tags', - // method: 'GET', - // success: function(data) { - // var arr = _.map(data.tags, function(v, key) { - // return [key, v]; - // }); - // - // arr = _.first(arr, 10); - // - // var colors = [ - // '#e53935', - // '#d81b60', - // '#8e24aa', - // '#1e88e5', - // '#00897b', - // '#43a047', - // '#00acc1', - // '#e65100', - // '#6d4c41', - // '#455a64' - // ]; - // - // var c = _.object(_.map(arr, function(v,i) { - // return v[0]; - // }), colors); - // - // c3.generate({ - // bindto: d3.select('#topTenTags'), - // size: { - // height: 200 - // }, - // data: { - // columns: arr, - // type: 'donut', - // colors: c - // }, - // donut: { - // label: { - // format: function (value, ratio, id) { - // return ''; - // } - // } - // } - // }); - // } - //}); - // - // - // - //$.ajax({ - // url: '/api/v1/tickets/count/topgroups/5', - // method: 'GET', - // success: function(data) { - // - // var d = { - // content: [] - // }; - // - // var colors = [ - // '#e53935', - // '#d81b60', - // '#8e24aa', - // '#1e88e5', - // '#00897b', - // '#43a047' - // ]; - // - // _.each(data.items, function(item) { - // var obj = {}; - // obj.label = item.name; - // obj.value = item.count; - // var color = _.sample(colors); - // colors = _.without(colors, color); - // - // obj.color = color; - // - // d.content.push(obj); - // }); - // - // $('#pieChart').find('svg').remove(); - // - // new d3pie("pieChart", { - // "size": { - // "canvasHeight": 215, - // "canvasWidth": 450, - // "pieInnerRadius": "60%", - // "pieOuterRadius": "68%" - // }, - // "data": d, - // "labels": { - // "outer": { - // "pieDistance": 15 - // }, - // "inner": { - // "format": "value" - // }, - // "mainLabel": { - // "font": "roboto" - // }, - // "percentage": { - // "color": "#ffffff", - // "font": "roboto", - // "decimalPlaces": 0 - // }, - // "value": { - // "color": "#ffffff", - // "font": "roboto" - // }, - // "lines": { - // "enabled": true, - // "color": "#78909c" - // }, - // "truncation": { - // "enabled": true - // } - // }, - // "effects": { - // "pullOutSegmentOnClick": { - // "effect": "linear", - // "speed": 400, - // "size": 3 - // } - // } - // }); - // } - //}); } }); }; diff --git a/src/public/js/pages/settings.js b/src/public/js/pages/settings.js new file mode 100644 index 000000000..4ac34edd7 --- /dev/null +++ b/src/public/js/pages/settings.js @@ -0,0 +1,31 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 04/07/2016 + Author: Chris Brame + + **/ + +define('pages/settings', [ + 'jquery', + 'underscore', + 'modules/helpers', + 'history' + +], function($, _, helpers) { + var settingsPage = {}; + + settingsPage.init = function() { + $(document).ready(function() { + + }); + }; + + return settingsPage; +}); \ No newline at end of file diff --git a/src/public/js/pages/singleTicket.js b/src/public/js/pages/singleTicket.js index 6ec92afb6..e2ebe063b 100644 --- a/src/public/js/pages/singleTicket.js +++ b/src/public/js/pages/singleTicket.js @@ -15,10 +15,10 @@ define('pages/singleTicket', [ 'jquery', 'underscore', - 'modules/ui', + 'modules/socket', 'tomarkdown', 'modules/helpers' -], function($, _, ui, md, helpers) { +], function($, _, socketClient, md, helpers) { var st = {}; st.init = function() { $(document).ready(function() { @@ -66,7 +66,7 @@ define('pages/singleTicket', [ var commentId = $($event.currentTarget).attr('data-commentId'); comment = '

    ' + comment + '

    '; - ui.setCommentText(id, commentId, comment); + socketClient.ui.setCommentText(id, commentId, comment); } }); }); @@ -101,7 +101,7 @@ define('pages/singleTicket', [ url: '/api/v1/tickets/' + ticketId + '/attachments/remove/' + attachmentId, type: 'DELETE', success: function(res) { - ui.refreshTicketAttachments(ticketId); + socketClient.ui.refreshTicketAttachments(ticketId); }, error: function(err) { var res = err.responseJSON; @@ -121,7 +121,7 @@ define('pages/singleTicket', [ var ticketId = $('#__ticketId').html(); var commentId = self.attr('data-commentId'); if (commentId.length > 0 && ticketId.length > 0) { - ui.removeComment(ticketId, commentId); + socketClient.ui.removeComment(ticketId, commentId); } } diff --git a/src/public/js/pages/tags.js b/src/public/js/pages/tags.js new file mode 100644 index 000000000..5e7461a59 --- /dev/null +++ b/src/public/js/pages/tags.js @@ -0,0 +1,55 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 07/24/2016 + Author: Chris Brame + + **/ + +define('pages/tags', [ + 'jquery', + 'modules/helpers', + 'datatables', + 'dt_responsive', + 'dt_grouping', + 'dt_scroller', + 'history' + +], function($, helpers) { + var tagsPage = {}; + + tagsPage.init = function() { + $(document).ready(function() { + helpers.init(); + var table = $('#tagsTable'); + table.dataTable({ + searching: false, + bLengthChange: false, + bPaginate: false, + bInfo: false, + bSort: false, + scrollY: '100%', + order: [[1, 'desc']], + columnDefs: [ + {"width": "50px", "targets": 0}, + {"width": "85%", "targets": 1}, + {"width": "15%", "targets": 2} + ], + "oLanguage": { + "sEmptyTable": "No tags to display." + } + }); + + helpers.resizeDataTables('.tagsList'); + helpers.resizeScroller(); + }); + }; + + return tagsPage; +}); \ No newline at end of file diff --git a/src/public/js/plugins/snackbar.js b/src/public/js/plugins/snackbar.js index f9f57fd31..b12f7b6ab 100644 --- a/src/public/js/plugins/snackbar.js +++ b/src/public/js/plugins/snackbar.js @@ -1,35 +1,29 @@ /*! - * SnackBar v0.1.0 + * Snackbar v0.1.3 * http://polonel.com/Snackbar * * Copyright 2016 Chris Brame and other contributors * Released under the MIT license - * https://github.com/polonel/SnackBar/blob/master/LICENSE + * https://github.com/polonel/Snackbar/blob/master/LICENSE */ -(function (window, factory) { +(function (root, factory) { 'use strict'; if (typeof define === 'function' && define.amd) { - define([], function () { - return factory.apply(window); + define([], function() { + return (root.Snackbar = factory()); }); + } else if(typeof module === 'object' && module.exports) { + module.exports = (root.Snackbar = factory()); + } else { + root.Snackbar = factory(); } - // Node.JS - else if (typeof exports === 'object') { - module.exports = factory.call(window); - } +}(this, function() { + var Snackbar = {}; - // Browser - else { - window.SnackBar = factory.call(window); - } -})(typeof global === 'object' ? global : this, function () { - 'use strict'; - - var SnackBar = SnackBar || {}; - SnackBar.current = null; + Snackbar.current = null; var $defaults = { text: 'Default Text', @@ -37,7 +31,7 @@ width: 'auto', - showActionButton: true, + showAction: true, actionText: 'Dismiss', actionTextColor: '#4caf50', @@ -54,21 +48,21 @@ } }; - SnackBar.show = function ($options) { + Snackbar.show = function ($options) { var options = Extend(true, $defaults, $options); - if (SnackBar.current) { - SnackBar.current.style.opacity = 0; + if (Snackbar.current) { + Snackbar.current.style.opacity = 0; setTimeout(function () { var $parent = this.parentElement; - if ($parent) // possible null if too many/fast SnackBars + if ($parent) // possible null if too many/fast Snackbars $parent.removeChild(this); - }.bind(SnackBar.current), 500); + }.bind(Snackbar.current), 500); } - SnackBar.snackbar = document.createElement('div'); - SnackBar.snackbar.className = 'snackbar-container ' + options.customClass; - SnackBar.snackbar.style.width = options.width; + Snackbar.snackbar = document.createElement('div'); + Snackbar.snackbar.className = 'snackbar-container ' + options.customClass; + Snackbar.snackbar.style.width = options.width; var $p = document.createElement('p'); $p.style.margin = 0; $p.style.padding = 0; @@ -77,61 +71,62 @@ $p.style.fontWeight = 300; $p.style.lineHeight = '1em'; $p.innerHTML = options.text; - SnackBar.snackbar.appendChild($p); - SnackBar.snackbar.style.background = options.backgroundColor; - if (options.showActionButton) { + Snackbar.snackbar.appendChild($p); + Snackbar.snackbar.style.background = options.backgroundColor; + if (options.showAction) { var actionButton = document.createElement('button'); actionButton.className = 'action'; actionButton.innerHTML = options.actionText; actionButton.style.color = options.actionTextColor; actionButton.addEventListener('click', function () { - options.onActionClick(SnackBar.snackbar); + options.onActionClick(Snackbar.snackbar); }); - SnackBar.snackbar.appendChild(actionButton); + Snackbar.snackbar.appendChild(actionButton); } setTimeout(function () { - if (SnackBar.current === this) { - SnackBar.current.style.opacity = 0; + if (Snackbar.current === this) { + Snackbar.current.style.opacity = 0; } - }.bind(SnackBar.snackbar), $defaults.duration); + }.bind(Snackbar.snackbar), options.duration); - SnackBar.snackbar.addEventListener('transitionend', function (event, elapsed) { - if (event.propertyName === 'opacity' && this.style.opacity === 0) { + Snackbar.snackbar.addEventListener('transitionend', function (event, elapsed) { + if (event.propertyName == 'opacity' && this.style.opacity == '0') { this.parentElement.removeChild(this); - if (SnackBar.current === this) { - SnackBar.current = null; + + if (Snackbar.current === this) { + Snackbar.current = null; } } - }.bind(SnackBar.snackbar)); + }.bind(Snackbar.snackbar)); - SnackBar.current = SnackBar.snackbar; + Snackbar.current = Snackbar.snackbar; document.body.style.overflow = 'hidden'; - if (options.pos === 'top-left' || options.pos === 'top-center' || options.pos === 'top-right') - SnackBar.snackbar.style.top = '-100px'; + if (options.pos === 'top-left' || options.pos === 'top-center' || options.pos === 'top' || options.pos === 'top-right') + Snackbar.snackbar.style.top = '-100px'; - document.body.appendChild(SnackBar.snackbar); - var $bottom = getComputedStyle(SnackBar.snackbar).bottom; - var $top = getComputedStyle(SnackBar.snackbar).top; - SnackBar.snackbar.style.opacity = 1; - SnackBar.snackbar.className = 'snackbar-container ' + options.customClass + ' snackbar-pos ' + options.pos; + document.body.appendChild(Snackbar.snackbar); + var $bottom = getComputedStyle(Snackbar.snackbar).bottom; + var $top = getComputedStyle(Snackbar.snackbar).top; + Snackbar.snackbar.style.opacity = 1; + Snackbar.snackbar.className = 'snackbar-container ' + options.customClass + ' snackbar-pos ' + options.pos; if (options.pos === 'top-left' || options.pos === 'top-right') - SnackBar.snackbar.style.top = 0; - else if (options.pos === 'top-center') - SnackBar.snackbar.style.top = '25px'; - else if (options.pos === 'bottom-center') - SnackBar.snackbar.style.bottom = '-25px'; + Snackbar.snackbar.style.top = 0; + else if (options.pos === 'top-center' || options.pos === 'top') + Snackbar.snackbar.style.top = '25px'; + else if (options.pos === 'bottom-center' || options.pos === 'bottom') + Snackbar.snackbar.style.bottom = '-25px'; setTimeout(function () { document.body.style.overflow = 'auto'; }, 500); }; - SnackBar.close = function () { - if (SnackBar.current) - SnackBar.current.style.opacity = 0; + Snackbar.close = function () { + if (Snackbar.current) + Snackbar.current.style.opacity = 0; }; // Pure JS Extend @@ -169,5 +164,5 @@ }; - return SnackBar; -}); \ No newline at end of file + return Snackbar; +})); \ No newline at end of file diff --git a/src/public/js/vendor/uikit/js/uikit_combined.min.js b/src/public/js/vendor/uikit/js/uikit_combined.min.js index 0a0f77491..f3e613ef9 100644 --- a/src/public/js/vendor/uikit/js/uikit_combined.min.js +++ b/src/public/js/vendor/uikit/js/uikit_combined.min.js @@ -1,8 +1,8 @@ -!function(core){if("function"==typeof define&&define.amd&&define("uikit",function(){var uikit=window.UIkit||core(window,window.jQuery,window.document);return uikit.load=function(res,req,onload,config){var i,resources=res.split(","),load=[],base=(config.config&&config.config.uikit&&config.config.uikit.base?config.config.uikit.base:"").replace(/\/+$/g,"");if(!base)throw new Error("Please define base path to UIkit in the requirejs config.");for(i=0;i0||global.navigator.pointerEnabled&&global.navigator.maxTouchPoints>0||!1,UI.support.mutationobserver=global.MutationObserver||global.WebKitMutationObserver||null,UI.Utils={},UI.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},UI.Utils.str2json=function(str,notevil){try{return notevil?JSON.parse(str.replace(/([\$\w]+)\s*:/g,function(_,$1){return'"'+$1+'":'}).replace(/'([^']+)'/g,function(_,$1){return'"'+$1+'"'})):new Function("","var json = "+str+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},UI.Utils.debounce=function(func,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&func.apply(context,args)}},UI.Utils.removeCssRules=function(selectorRegEx){var idx,idxs,stylesheet,_i,_j,_k,_len,_len1,_len2,_ref;selectorRegEx&&setTimeout(function(){try{for(_ref=document.styleSheets,_i=0,_len=_ref.length;_len>_i;_i++){for(stylesheet=_ref[_i],idxs=[],stylesheet.cssRules=stylesheet.cssRules,idx=_j=0,_len1=stylesheet.cssRules.length;_len1>_j;idx=++_j)stylesheet.cssRules[idx].type===CSSRule.STYLE_RULE&&selectorRegEx.test(stylesheet.cssRules[idx].selectorText)&&idxs.unshift(idx);for(_k=0,_len2=idxs.length;_len2>_k;_k++)stylesheet.deleteRule(idxs[_k])}}catch(_error){}},0)},UI.Utils.isInView=function(element,options){var $element=$(element);if(!$element.is(":visible"))return!1;var window_left=UI.$win.scrollLeft(),window_top=UI.$win.scrollTop(),offset=$element.offset(),left=offset.left,top=offset.top;return options=$.extend({topoffset:0,leftoffset:0},options),top+$element.height()>=window_top&&top-options.topoffset<=window_top+UI.$win.height()&&left+$element.width()>=window_left&&left-options.leftoffset<=window_left+UI.$win.width()?!0:!1},UI.Utils.checkDisplay=function(context,initanimation){var elements=UI.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",context||document);return context&&!elements.length&&(elements=$(context)),elements.trigger("display.uk.check"),initanimation&&("string"!=typeof initanimation&&(initanimation='[class*="uk-animation-"]'),elements.find(initanimation).each(function(){var ele=UI.$(this),cls=ele.attr("class"),anim=cls.match(/uk\-animation\-(.+)/);ele.removeClass(anim[0]).width(),ele.addClass(anim[0])})),elements},UI.Utils.options=function(string){if("string"!=$.type(string))return string;-1!=string.indexOf(":")&&"}"!=string.trim().substr(-1)&&(string="{"+string+"}");var start=string?string.indexOf("{"):-1,options={};if(-1!=start)try{options=UI.Utils.str2json(string.substr(start))}catch(e){}return options},UI.Utils.animate=function(element,cls){var d=$.Deferred();return element=UI.$(element),element.css("display","none").addClass(cls).one(UI.support.animation.end,function(){element.removeClass(cls),d.resolve()}),element.css("display",""),d.promise()},UI.Utils.uid=function(prefix){return(prefix||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},UI.Utils.template=function(str,data){for(var toc,cmd,prop,fn,tokens=str.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),i=0,output=[],openblocks=0;i/g, '>');}"].join("\n")),data?fn(data):fn},UI.Utils.events={},UI.Utils.events.click=UI.support.touch?"tap":"click",global.UIkit=UI,UI.fn=function(command,options){var args=arguments,cmd=command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),component=cmd[1],method=cmd[2];return UI[component]?this.each(function(){var $this=$(this),data=$this.data(component);data||$this.data(component,data=UI[component](this,method?void 0:options)),method&&data[method].apply(data,Array.prototype.slice.call(args,1))}):($.error("UIkit component ["+component+"] does not exist."),this)},$.UIkit=UI,$.fn.uk=UI.fn,UI.langdirection="rtl"==UI.$html.attr("dir")?"right":"left",UI.components={},UI.component=function(name,def){var fn=function(element,options){var $this=this;return this.UIkit=UI,this.element=element?UI.$(element):null,this.options=$.extend(!0,{},this.defaults,options),this.plugins={},this.element&&this.element.data(name,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(fn.plugins)).forEach(function(plugin){fn.plugins[plugin].init&&(fn.plugins[plugin].init($this),$this.plugins[plugin]=!0)}),this.trigger("init.uk.component",[name,this]),this};return fn.plugins={},$.extend(!0,fn.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(a1,a2,a3){return UI.$(this.element||this).on(a1,a2,a3)},one:function(a1,a2,a3){return UI.$(this.element||this).one(a1,a2,a3)},off:function(evt){return UI.$(this.element||this).off(evt)},trigger:function(evt,params){return UI.$(this.element||this).trigger(evt,params)},find:function(selector){return UI.$(this.element?this.element:[]).find(selector)},proxy:function(obj,methods){var $this=this;methods.split(" ").forEach(function(method){$this[method]||($this[method]=function(){return obj[method].apply(obj,arguments)})})},mixin:function(obj,methods){var $this=this;methods.split(" ").forEach(function(method){$this[method]||($this[method]=obj[method].bind($this))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:void(2==arguments.length&&(this.options[arguments[0]]=arguments[1]))}},def),this.components[name]=fn,this[name]=function(){var element,options;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?element=$(arguments[0]):options=arguments[0];break;case 2:element=$(arguments[0]),options=arguments[1]}return element&&element.data(name)?element.data(name):new UI.components[name](element,options)},UI.domready&&UI.component.boot(name),fn},UI.plugin=function(component,name,def){this.components[component].plugins[name]=def},UI.component.boot=function(name){UI.components[name].prototype&&UI.components[name].prototype.boot&&!UI.components[name].booted&&(UI.components[name].prototype.boot.apply(UI,[]),UI.components[name].booted=!0)},UI.component.bootComponents=function(){for(var component in UI.components)UI.component.boot(component)},UI.domObservers=[],UI.domready=!1,UI.ready=function(fn){UI.domObservers.push(fn),UI.domready&&fn(document)},UI.on=function(a1,a2,a3){return a1&&a1.indexOf("ready.uk.dom")>-1&&UI.domready&&a2.apply(UI.$doc),UI.$doc.on(a1,a2,a3)},UI.one=function(a1,a2,a3){return a1&&a1.indexOf("ready.uk.dom")>-1&&UI.domready?(a2.apply(UI.$doc),UI.$doc):UI.$doc.one(a1,a2,a3)},UI.trigger=function(evt,params){return UI.$doc.trigger(evt,params)},UI.domObserve=function(selector,fn){UI.support.mutationobserver&&(fn=fn||function(){},UI.$(selector).each(function(){var element=this,$element=UI.$(element);if(!$element.data("observer"))try{var observer=new UI.support.mutationobserver(UI.Utils.debounce(function(mutations){fn.apply(element,[]),$element.trigger("changed.uk.dom")},50));observer.observe(element,{childList:!0,subtree:!0}),$element.data("observer",observer)}catch(e){}}))},UI.init=function(root){root=root||document,UI.domObservers.forEach(function(fn){fn(root)})},UI.on("domready.uk.dom",function(){UI.init(),UI.domready&&UI.Utils.checkDisplay()}),document.addEventListener("DOMContentLoaded",function(){var domReady=function(){UI.$body=UI.$("body"),UI.ready(function(context){UI.domObserve("[data-uk-observe]")}),UI.on("changed.uk.dom",function(e){UI.init(e.target),UI.Utils.checkDisplay(e.target)}),UI.trigger("beforeready.uk.dom"),UI.component.bootComponents(),requestAnimationFrame(function(){var memory={dir:{x:0,y:0},x:window.pageXOffset,y:window.pageYOffset},fn=function(){var wpxo=window.pageXOffset,wpyo=window.pageYOffset;(memory.x!=wpxo||memory.y!=wpyo)&&(wpxo!=memory.x?memory.dir.x=wpxo>memory.x?1:-1:memory.dir.x=0,wpyo!=memory.y?memory.dir.y=wpyo>memory.y?1:-1:memory.dir.y=0,memory.x=wpxo,memory.y=wpyo,UI.$doc.trigger("scrolling.uk.document",[{dir:{x:memory.dir.x,y:memory.dir.y},x:wpxo,y:wpyo}])),requestAnimationFrame(fn)};return UI.support.touch&&UI.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",fn),(memory.x||memory.y)&&fn(),fn}()),UI.trigger("domready.uk.dom"),UI.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&UI.$win.on("load orientationchange resize",UI.Utils.debounce(function(){var fn=function(){return $(".uk-height-viewport").css("height",window.innerHeight),fn};return fn()}(),100)),UI.trigger("afterready.uk.dom"),UI.domready=!0};return("complete"==document.readyState||"interactive"==document.readyState)&&setTimeout(domReady),domReady}()),UI.$html.addClass(UI.support.touch?"uk-touch":"uk-notouch"),UI.support.touch){var exclude,hoverset=!1,hovercls="uk-hover",selector=".uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover";UI.$html.on("mouseenter touchstart MSPointerDown pointerdown",selector,function(){hoverset&&$("."+hovercls).removeClass(hovercls),hoverset=$(this).addClass(hovercls)}).on("mouseleave touchend MSPointerUp pointerup",function(e){exclude=$(e.target).parents(selector),hoverset&&hoverset.not(exclude).removeClass(hovercls)})}return UI}),function($){function swipeDirection(x1,x2,y1,y2){return Math.abs(x1-x2)>=Math.abs(y1-y2)?x1-x2>0?"Left":"Right":y1-y2>0?"Up":"Down"}function longTap(){longTapTimeout=null,touch.last&&(void 0!==touch.el&&touch.el.trigger("longTap"),touch={})}function cancelLongTap(){longTapTimeout&&clearTimeout(longTapTimeout),longTapTimeout=null}function cancelAll(){touchTimeout&&clearTimeout(touchTimeout),tapTimeout&&clearTimeout(tapTimeout),swipeTimeout&&clearTimeout(swipeTimeout),longTapTimeout&&clearTimeout(longTapTimeout),touchTimeout=tapTimeout=swipeTimeout=longTapTimeout=null,touch={}}function isPrimaryTouch(event){return event.pointerType==event.MSPOINTER_TYPE_TOUCH&&event.isPrimary}if(!$.fn.swipeLeft){var touchTimeout,tapTimeout,swipeTimeout,longTapTimeout,gesture,touch={},longTapDelay=750;$(function(){var now,delta,firstTouch,deltaX=0,deltaY=0;"MSGesture"in window&&(gesture=new MSGesture,gesture.target=document.body),$(document).on("MSGestureEnd gestureend",function(e){var swipeDirectionFromVelocity=e.originalEvent.velocityX>1?"Right":e.originalEvent.velocityX<-1?"Left":e.originalEvent.velocityY>1?"Down":e.originalEvent.velocityY<-1?"Up":null;swipeDirectionFromVelocity&&void 0!==touch.el&&(touch.el.trigger("swipe"),touch.el.trigger("swipe"+swipeDirectionFromVelocity))}).on("touchstart MSPointerDown pointerdown",function(e){("MSPointerDown"!=e.type||isPrimaryTouch(e.originalEvent))&&(firstTouch="MSPointerDown"==e.type||"pointerdown"==e.type?e:e.originalEvent.touches[0],now=Date.now(),delta=now-(touch.last||now),touch.el=$("tagName"in firstTouch.target?firstTouch.target:firstTouch.target.parentNode),touchTimeout&&clearTimeout(touchTimeout),touch.x1=firstTouch.pageX,touch.y1=firstTouch.pageY,delta>0&&250>=delta&&(touch.isDoubleTap=!0),touch.last=now,longTapTimeout=setTimeout(longTap,longTapDelay),!gesture||"MSPointerDown"!=e.type&&"pointerdown"!=e.type&&"touchstart"!=e.type||gesture.addPointer(e.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(e){("MSPointerMove"!=e.type||isPrimaryTouch(e.originalEvent))&&(firstTouch="MSPointerMove"==e.type||"pointermove"==e.type?e:e.originalEvent.touches[0],cancelLongTap(),touch.x2=firstTouch.pageX,touch.y2=firstTouch.pageY,deltaX+=Math.abs(touch.x1-touch.x2),deltaY+=Math.abs(touch.y1-touch.y2))}).on("touchend MSPointerUp pointerup",function(e){("MSPointerUp"!=e.type||isPrimaryTouch(e.originalEvent))&&(cancelLongTap(),touch.x2&&Math.abs(touch.x1-touch.x2)>30||touch.y2&&Math.abs(touch.y1-touch.y2)>30?swipeTimeout=setTimeout(function(){void 0!==touch.el&&(touch.el.trigger("swipe"),touch.el.trigger("swipe"+swipeDirection(touch.x1,touch.x2,touch.y1,touch.y2))),touch={}},0):"last"in touch&&(isNaN(deltaX)||30>deltaX&&30>deltaY?tapTimeout=setTimeout(function(){var event=$.Event("tap");event.cancelTouch=cancelAll,void 0!==touch.el&&touch.el.trigger(event),touch.isDoubleTap?(void 0!==touch.el&&touch.el.trigger("doubleTap"),touch={}):touchTimeout=setTimeout(function(){touchTimeout=null,void 0!==touch.el&&touch.el.trigger("singleTap"),touch={}},250)},0):touch={},deltaX=deltaY=0))}).on("touchcancel MSPointerCancel",cancelAll),$(window).on("scroll",cancelAll)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(eventName){$.fn[eventName]=function(callback){return $(this).on(eventName,callback)}})}}(jQuery),function(UI){"use strict";var stacks=[];UI.component("stackMargin",{defaults:{cls:"uk-margin-small-top",rowfirst:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-margin]",context).each(function(){var ele=UI.$(this);ele.data("stackMargin")||UI.stackMargin(ele,UI.Utils.options(ele.attr("data-uk-margin")))})})},init:function(){var $this=this;UI.$win.on("resize orientationchange",function(){var fn=function(){$this.process()};return UI.$(function(){fn(),UI.$win.on("load",fn)}),UI.Utils.debounce(fn,20)}()),UI.$html.on("changed.uk.dom",function(e){$this.process()}),this.on("display.uk.check",function(e){this.element.is(":visible")&&this.process()}.bind(this)),stacks.push(this)},process:function(){var $this=this,columns=this.element.children();if(UI.Utils.stackMargin(columns,this.options),!this.options.rowfirst)return this;var pos_cache=columns.removeClass(this.options.rowfirst).filter(":visible").first().position();return pos_cache&&columns.each(function(){UI.$(this)[UI.$(this).position().left==pos_cache.left?"addClass":"removeClass"]($this.options.rowfirst)}),this}}),function(){var elements=[],check=function(ele){if(ele.is(":visible")){var width=ele.parent().width(),iwidth=ele.data("width"),ratio=width/iwidth,height=Math.floor(ratio*ele.data("height"));ele.css({height:iwidth>width?height:ele.data("height")})}};UI.component("responsiveElement",{defaults:{},boot:function(){UI.ready(function(context){UI.$("iframe.uk-responsive-width, [data-uk-responsive]",context).each(function(){var obj,ele=UI.$(this);ele.data("responsiveElement")||(obj=UI.responsiveElement(ele,{}))})})},init:function(){var ele=this.element;ele.attr("width")&&ele.attr("height")&&(ele.data({width:ele.attr("width"),height:ele.attr("height")}).on("display.uk.check",function(){check(ele)}),check(ele),elements.push(ele))}}),UI.$win.on("resize load",UI.Utils.debounce(function(){elements.forEach(function(ele){check(ele)})},15))}(),UI.Utils.stackMargin=function(elements,options){options=UI.$.extend({cls:"uk-margin-small-top"},options),options.cls=options.cls,elements=UI.$(elements).removeClass(options.cls);var skip=!1,firstvisible=elements.filter(":visible:first"),offset=firstvisible.length?firstvisible.position().top+firstvisible.outerHeight()-1:!1;offset!==!1&&1!=elements.length&&elements.each(function(){var column=UI.$(this);column.is(":visible")&&(skip?column.addClass(options.cls):column.position().top>=offset&&(skip=column.addClass(options.cls)))})},UI.Utils.matchHeights=function(elements,options){elements=UI.$(elements).css("min-height",""),options=UI.$.extend({row:!0},options);var matchHeights=function(group){if(!(group.length<2)){var max=0;group.each(function(){max=Math.max(max,UI.$(this).outerHeight())}).each(function(){var element=UI.$(this),height=max-("border-box"==element.css("box-sizing")?0:element.outerHeight()-element.height());element.css("min-height",height+"px")})}};options.row?(elements.first().width(),setTimeout(function(){var lastoffset=!1,group=[];elements.each(function(){var ele=UI.$(this),offset=ele.offset().top;offset!=lastoffset&&group.length&&(matchHeights(UI.$(group)),group=[],offset=ele.offset().top),group.push(ele),lastoffset=offset}),group.length&&matchHeights(UI.$(group))},0)):matchHeights(elements)},function(cacheSvgs){UI.Utils.inlineSvg=function(selector,root){UI.$(selector||'img[src$=".svg"]',root||document).each(function(){var img=UI.$(this),src=img.attr("src");if(!cacheSvgs[src]){var d=UI.$.Deferred();UI.$.get(src,{nc:Math.random()},function(data){d.resolve(UI.$(data).find("svg"))}),cacheSvgs[src]=d.promise()}cacheSvgs[src].then(function(svg){var $svg=UI.$(svg).clone();img.attr("id")&&$svg.attr("id",img.attr("id")),img.attr("class")&&$svg.attr("class",img.attr("class")),img.attr("style")&&$svg.attr("style",img.attr("style")),img.attr("width")&&($svg.attr("width",img.attr("width")),img.attr("height")||$svg.removeAttr("height")),img.attr("height")&&($svg.attr("height",img.attr("height")),img.attr("width")||$svg.removeAttr("width")),img.replaceWith($svg)})})},UI.ready(function(context){UI.Utils.inlineSvg("[data-uk-svg]",context)})}({})}(UIkit),function(UI){"use strict";function scrollToElement(ele,options){options=UI.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},options);var target=ele.offset().top-options.offset,docheight=UI.$doc.height(),winheight=window.innerHeight;target+winheight>docheight&&(target=docheight-winheight),UI.$("html,body").stop().animate({scrollTop:target},options.duration,options.transition).promise().done(options.complete)}UI.component("smoothScroll",{boot:function(){UI.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(e){var ele=UI.$(this);if(!ele.data("smoothScroll")){UI.smoothScroll(ele,UI.Utils.options(ele.attr("data-uk-smooth-scroll")));ele.trigger("click")}return!1})},init:function(){var $this=this;this.on("click",function(e){e.preventDefault(),scrollToElement(UI.$(this.hash).length?UI.$(this.hash):UI.$("body"),$this.options)})}}),UI.Utils.scrollToElement=scrollToElement,UI.$.easing.easeOutExpo||(UI.$.easing.easeOutExpo=function(x,t,b,c,d){return t==d?b+c:c*(-Math.pow(2,-10*t/d)+1)+b})}(UIkit),function(UI){"use strict";var $win=UI.$win,$doc=UI.$doc,scrollspies=[],checkScrollSpy=function(){for(var i=0;i=scrollTop)return inviews[i]}();if(!target)return;$this.options.closest?(links.blur().closest(clsClosest).removeClass(clsActive),navitems=links.filter("a[href='#"+target.attr("id")+"']").closest(clsClosest).addClass(clsActive)):navitems=links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive),$this.element.trigger("inview.uk.scrollspynav",[target,navitems])}};this.options.smoothscroll&&UI.smoothScroll&&links.each(function(){UI.smoothScroll(this,$this.options.smoothscroll)}),fn(),this.element.data("scrollspynav",this),this.check=fn,scrollspynavs.push(this)}})}(UIkit),function(UI){"use strict";var toggles=[];UI.component("toggle",{defaults:{target:!1,cls:"uk-hidden",animation:!1,duration:200},boot:function(){UI.ready(function(context){UI.$("[data-uk-toggle]",context).each(function(){var ele=UI.$(this);if(!ele.data("toggle")){UI.toggle(ele,UI.Utils.options(ele.attr("data-uk-toggle")))}}),setTimeout(function(){toggles.forEach(function(toggle){toggle.getToggles()})},0)})},init:function(){var $this=this;this.aria=-1!==this.options.cls.indexOf("uk-hidden"),this.getToggles(),this.on("click",function(e){$this.element.is('a[href="#"]')&&e.preventDefault(),$this.toggle()}),toggles.push(this)},toggle:function(){if(this.totoggle.length){if(this.options.animation&&UI.support.animation){var $this=this,animations=this.options.animation.split(",");1==animations.length&&(animations[1]=animations[0]),animations[0]=animations[0].trim(),animations[1]=animations[1].trim(),this.totoggle.css("animation-duration",this.options.duration+"ms"),this.totoggle.each(function(){var ele=UI.$(this);ele.hasClass($this.options.cls)?(ele.toggleClass($this.options.cls),UI.Utils.animate(ele,animations[0]).then(function(){ele.css("animation-duration",""),UI.Utils.checkDisplay(ele)})):UI.Utils.animate(this,animations[1]+" uk-animation-reverse").then(function(){ele.toggleClass($this.options.cls).css("animation-duration",""),UI.Utils.checkDisplay(ele)})})}else this.totoggle.toggleClass(this.options.cls),UI.Utils.checkDisplay(this.totoggle);this.updateAria()}},getToggles:function(){this.totoggle=this.options.target?UI.$(this.options.target):[],this.updateAria()},updateAria:function(){this.aria&&this.totoggle.length&&this.totoggle.each(function(){UI.$(this).attr("aria-hidden",UI.$(this).hasClass("uk-hidden"))})}})}(UIkit),function(UI){"use strict";UI.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){UI.$html.on("click.alert.uikit","[data-uk-alert]",function(e){var ele=UI.$(this);if(!ele.data("alert")){var alert=UI.alert(ele,UI.Utils.options(ele.attr("data-uk-alert")));UI.$(e.target).is(alert.options.trigger)&&(e.preventDefault(),alert.close())}})},init:function(){var $this=this;this.on("click",this.options.trigger,function(e){e.preventDefault(),$this.close()})},close:function(){var element=this.trigger("close.uk.alert"),removeElement=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?element.css("overflow","hidden").css("max-height",element.height()).animate({height:0,opacity:0,"padding-top":0,"padding-bottom":0,"margin-top":0,"margin-bottom":0},this.options.duration,removeElement):removeElement()}})}(UIkit),function(UI){"use strict";UI.component("buttonRadio",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){UI.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(e){var ele=UI.$(this);if(!ele.data("buttonRadio")){var obj=UI.buttonRadio(ele,UI.Utils.options(ele.attr("data-uk-button-radio"))),target=UI.$(e.target);target.is(obj.options.target)&&target.trigger("click")}})},init:function(){var $this=this;this.find($this.options.target).attr("aria-checked","false").filter("."+$this.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var ele=UI.$(this);ele.is('a[href="#"]')&&e.preventDefault(),$this.find($this.options.target).not(ele).removeClass($this.options.activeClass).blur(),ele.addClass($this.options.activeClass),$this.find($this.options.target).not(ele).attr("aria-checked","false"),ele.attr("aria-checked","true"),$this.trigger("change.uk.button",[ele])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),UI.component("buttonCheckbox",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){UI.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(e){var ele=UI.$(this);if(!ele.data("buttonCheckbox")){var obj=UI.buttonCheckbox(ele,UI.Utils.options(ele.attr("data-uk-button-checkbox"))),target=UI.$(e.target);target.is(obj.options.target)&&target.trigger("click")}})},init:function(){var $this=this;this.find($this.options.target).attr("aria-checked","false").filter("."+$this.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var ele=UI.$(this);ele.is('a[href="#"]')&&e.preventDefault(),ele.toggleClass($this.options.activeClass).blur(),ele.attr("aria-checked",ele.hasClass($this.options.activeClass)),$this.trigger("change.uk.button",[ele])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),UI.component("button",{defaults:{},boot:function(){UI.$html.on("click.button.uikit","[data-uk-button]",function(e){var ele=UI.$(this);if(!ele.data("button")){UI.button(ele,UI.Utils.options(ele.attr("data-uk-button")));ele.trigger("click")}})},init:function(){var $this=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(e){$this.element.is('a[href="#"]')&&e.preventDefault(),$this.toggle(),$this.trigger("change.uk.button",[$this.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit),function(UI){"use strict";function justify(ele,justifyTo,boundarywidth,offset){if(ele=UI.$(ele),justifyTo=UI.$(justifyTo),boundarywidth=boundarywidth||window.innerWidth,offset=offset||ele.offset(),justifyTo.length){var jwidth=justifyTo.outerWidth();if(ele.css("min-width",jwidth),"right"==UI.langdirection){var right1=boundarywidth-(justifyTo.offset().left+jwidth),right2=boundarywidth-(ele.offset().left+ele.outerWidth());ele.css("margin-right",right1-right2)}else ele.css("margin-left",justifyTo.offset().left-offset.left)}}var hoverIdle,active=!1,flips={x:{"bottom-left":"bottom-right","bottom-right":"bottom-left","bottom-center":"bottom-center","top-left":"top-right","top-right":"top-left","top-center":"top-center","left-top":"right-top","left-bottom":"right-bottom","left-center":"right-center","right-top":"left-top","right-bottom":"left-bottom","right-center":"left-center"},y:{"bottom-left":"top-left","bottom-right":"top-right","bottom-center":"top-center","top-left":"bottom-left","top-right":"bottom-right","top-center":"bottom-center","left-top":"left-bottom","left-bottom":"left-top","left-center":"left-center","right-top":"right-bottom","right-bottom":"right-top","right-center":"right-center"},xy:{"bottom-left":"top-right","bottom-right":"top-left","bottom-center":"top-center","top-left":"bottom-right","top-right":"bottom-left","top-center":"bottom-center", -"left-top":"right-bottom","left-bottom":"right-top","left-center":"right-center","right-top":"left-bottom","right-bottom":"left-top","right-center":"left-center"}};UI.component("dropdown",{defaults:{mode:"hover",pos:"bottom-left",offset:0,remaintime:800,justify:!1,boundary:UI.$win,delay:0,dropdownSelector:".uk-dropdown,.uk-dropdown-blank",hoverDelayIdle:250,preventflip:!1},remainIdle:!1,boot:function(){var triggerevent=UI.support.touch?"click":"mouseenter";UI.$html.on(triggerevent+".dropdown.uikit","[data-uk-dropdown]",function(e){var ele=UI.$(this);if(!ele.data("dropdown")){var dropdown=UI.dropdown(ele,UI.Utils.options(ele.attr("data-uk-dropdown")));("click"==triggerevent||"mouseenter"==triggerevent&&"hover"==dropdown.options.mode)&&dropdown.element.trigger(triggerevent),dropdown.element.find(dropdown.options.dropdownSelector).length&&e.preventDefault()}})},init:function(){var $this=this;this.dropdown=this.find(this.options.dropdownSelector),this.offsetParent=this.dropdown.parents().filter(function(){return-1!==UI.$.inArray(UI.$(this).css("position"),["relative","fixed","absolute"])}).slice(0,1),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=this.options.justify?UI.$(this.options.justify):!1,this.boundary=UI.$(this.options.boundary),this.boundary.length||(this.boundary=UI.$win),this.dropdown.hasClass("uk-dropdown-up")&&(this.options.pos="top-left"),this.dropdown.hasClass("uk-dropdown-flip")&&(this.options.pos=this.options.pos.replace("left","right")),this.dropdown.hasClass("uk-dropdown-center")&&(this.options.pos=this.options.pos.replace(/(left|right)/,"center")),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),"click"==this.options.mode||UI.support.touch?this.on("click.uk.dropdown",function(e){var $target=UI.$(e.target);$target.parents($this.options.dropdownSelector).length||(($target.is("a[href='#']")||$target.parent().is("a[href='#']")||$this.dropdown.length&&!$this.dropdown.is(":visible"))&&e.preventDefault(),$target.blur()),$this.element.hasClass("uk-open")?(!$this.dropdown.find(e.target).length||$target.is(".uk-dropdown-close")||$target.parents(".uk-dropdown-close").length)&&$this.hide():$this.show()}):this.on("mouseenter",function(e){$this.trigger("pointerenter.uk.dropdown",[$this]),$this.remainIdle&&clearTimeout($this.remainIdle),hoverIdle&&clearTimeout(hoverIdle),active&&active==$this||(hoverIdle=active&&active!=$this?setTimeout(function(){hoverIdle=setTimeout($this.show.bind($this),$this.options.delay)},$this.options.hoverDelayIdle):setTimeout($this.show.bind($this),$this.options.delay))}).on("mouseleave",function(){hoverIdle&&clearTimeout(hoverIdle),$this.remainIdle=setTimeout(function(){active&&active==$this&&$this.hide()},$this.options.remaintime),$this.trigger("pointerleave.uk.dropdown",[$this])}).on("click",function(e){var $target=UI.$(e.target);return $this.remainIdle&&clearTimeout($this.remainIdle),active&&active==$this?void((!$this.dropdown.find(e.target).length||$target.is(".uk-dropdown-close")||$target.parents(".uk-dropdown-close").length)&&$this.hide()):(($target.is("a[href='#']")||$target.parent().is("a[href='#']"))&&e.preventDefault(),void $this.show())})},show:function(){UI.$html.off("click.outer.dropdown"),active&&active!=this&&active.hide(!0),hoverIdle&&clearTimeout(hoverIdle),this.trigger("beforeshow.uk.dropdown",[this]),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.trigger("show.uk.dropdown",[this]),UI.Utils.checkDisplay(this.dropdown,!0),active=this,this.registerOuterClick()},hide:function(force){this.trigger("beforehide.uk.dropdown",[this,force]),this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.trigger("hide.uk.dropdown",[this,force]),active==this&&(active=!1)},registerOuterClick:function(){var $this=this;UI.$html.off("click.outer.dropdown"),setTimeout(function(){UI.$html.on("click.outer.dropdown",function(e){hoverIdle&&clearTimeout(hoverIdle);UI.$(e.target);active!=$this||$this.element.find(e.target).length||($this.hide(!0),UI.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.dropdown.removeClass("uk-dropdown-top uk-dropdown-bottom uk-dropdown-left uk-dropdown-right uk-dropdown-stack").css({"top-left":"",left:"","margin-left":"","margin-right":""}),this.justified&&this.justified.length&&this.dropdown.css("min-width","");var pp,pos=UI.$.extend({},this.offsetParent.offset(),{width:this.offsetParent[0].offsetWidth,height:this.offsetParent[0].offsetHeight}),posoffset=this.options.offset,dropdown=this.dropdown,width=(dropdown.show().offset()||{left:0,top:0},dropdown.outerWidth()),height=dropdown.outerHeight(),boundarywidth=this.boundary.width(),dpos=(this.boundary[0]!==window&&this.boundary.offset()?this.boundary.offset():{top:0,left:0},this.options.pos),variants={"bottom-left":{top:0+pos.height+posoffset,left:0},"bottom-right":{top:0+pos.height+posoffset,left:0+pos.width-width},"bottom-center":{top:0+pos.height+posoffset,left:0+pos.width/2-width/2},"top-left":{top:0-height-posoffset,left:0},"top-right":{top:0-height-posoffset,left:0+pos.width-width},"top-center":{top:0-height-posoffset,left:0+pos.width/2-width/2},"left-top":{top:0,left:0-width-posoffset},"left-bottom":{top:0+pos.height-height,left:0-width-posoffset},"left-center":{top:0+pos.height/2-height/2,left:0-width-posoffset},"right-top":{top:0,left:0+pos.width+posoffset},"right-bottom":{top:0+pos.height-height,left:0+pos.width+posoffset},"right-center":{top:0+pos.height/2-height/2,left:0+pos.width+posoffset}},css={};if(pp=dpos.split("-"),css=variants[dpos]?variants[dpos]:variants["bottom-left"],this.justified&&this.justified.length)justify(dropdown.css({left:0}),this.justified,boundarywidth);else if(this.options.preventflip!==!0){var fdpos;switch(this.checkBoundary(pos.left+css.left,pos.top+css.top,width,height,boundarywidth)){case"x":"x"!==this.options.preventflip&&(fdpos=flips.x[dpos]||"right-top");break;case"y":"y"!==this.options.preventflip&&(fdpos=flips.y[dpos]||"top-left");break;case"xy":this.options.preventflip||(fdpos=flips.xy[dpos]||"right-bottom")}fdpos&&(pp=fdpos.split("-"),css=variants[fdpos]?variants[fdpos]:variants["bottom-left"],this.checkBoundary(pos.left+css.left,pos.top+css.top,width,height,boundarywidth)&&(pp=dpos.split("-"),css=variants[dpos]?variants[dpos]:variants["bottom-left"]))}width>boundarywidth&&(dropdown.addClass("uk-dropdown-stack"),this.trigger("stack.uk.dropdown",[this])),dropdown.css(css).css("display","").addClass("uk-dropdown-"+pp[0])}},checkBoundary:function(left,top,width,height,boundarywidth){var axis="";return(0>left||left-UI.$win.scrollLeft()+width>boundarywidth)&&(axis+="x"),(top-UI.$win.scrollTop()<0||top-UI.$win.scrollTop()+height>window.innerHeight)&&(axis+="y"),axis}}),UI.component("dropdownOverlay",{defaults:{justify:!1,cls:"",duration:200},boot:function(){UI.ready(function(context){UI.$("[data-uk-dropdown-overlay]",context).each(function(){var ele=UI.$(this);ele.data("dropdownOverlay")||UI.dropdownOverlay(ele,UI.Utils.options(ele.attr("data-uk-dropdown-overlay")))})})},init:function(){var $this=this;this.justified=this.options.justify?UI.$(this.options.justify):!1,this.overlay=this.element.find("uk-dropdown-overlay"),this.overlay.length||(this.overlay=UI.$('
    ').appendTo(this.element)),this.overlay.addClass(this.options.cls),this.on({"beforeshow.uk.dropdown":function(e,dropdown){$this.dropdown=dropdown,$this.justified&&$this.justified.length&&justify($this.overlay.css({display:"block","margin-left":"","margin-right":""}),$this.justified,$this.justified.outerWidth())},"show.uk.dropdown":function(e,dropdown){var h=$this.dropdown.dropdown.outerHeight(!0);$this.dropdown.element.removeClass("uk-open"),$this.overlay.stop().css("display","block").animate({height:h},$this.options.duration,function(){$this.dropdown.dropdown.css("visibility",""),$this.dropdown.element.addClass("uk-open"),UI.Utils.checkDisplay($this.dropdown.dropdown,!0)}),$this.pointerleave=!1},"hide.uk.dropdown":function(){$this.overlay.stop().animate({height:0},$this.options.duration)},"pointerenter.uk.dropdown":function(e,dropdown){clearTimeout($this.remainIdle)},"pointerleave.uk.dropdown":function(e,dropdown){$this.pointerleave=!0}}),this.overlay.on({mouseenter:function(){$this.remainIdle&&(clearTimeout($this.dropdown.remainIdle),clearTimeout($this.remainIdle))},mouseleave:function(){$this.pointerleave&&active&&($this.remainIdle=setTimeout(function(){active&&active.hide()},active.options.remaintime))}})}})}(UIkit),function(UI){"use strict";var grids=[];UI.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid-match]",context).each(function(){var obj,grid=UI.$(this);grid.data("gridMatchHeight")||(obj=UI.gridMatchHeight(grid,UI.Utils.options(grid.attr("data-uk-grid-match"))))})})},init:function(){var $this=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(UI.$win.on("load resize orientationchange",function(){var fn=function(){$this.match()};return UI.$(function(){fn()}),UI.Utils.debounce(fn,50)}()),UI.$html.on("changed.uk.dom",function(e){$this.columns=$this.element.children(),$this.elements=$this.options.target?$this.find($this.options.target):$this.columns,$this.match()}),this.on("display.uk.check",function(e){this.element.is(":visible")&&this.match()}.bind(this)),grids.push(this))},match:function(){var firstvisible=this.columns.filter(":visible:first");if(firstvisible.length){var stacked=Math.ceil(100*parseFloat(firstvisible.css("width"))/parseFloat(firstvisible.parent().css("width")))>=100;return stacked&&!this.options.ignorestacked?this.revert():UI.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),UI.component("gridMargin",{defaults:{cls:"uk-grid-margin",rowfirst:"uk-row-first"},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid-margin]",context).each(function(){var obj,grid=UI.$(this);grid.data("gridMargin")||(obj=UI.gridMargin(grid,UI.Utils.options(grid.attr("data-uk-grid-margin"))))})})},init:function(){UI.stackMargin(this.element,this.options)}})}(UIkit),function(UI){"use strict";function setContent(content,modal){return modal?("object"==typeof content?(content=content instanceof jQuery?content:UI.$(content),content.parent().length&&(modal.persist=content,modal.persist.data("modalPersistParent",content.parent()))):content="string"==typeof content||"number"==typeof content?UI.$("
    ").html(content):UI.$("
    ").html("UIkit.modal Error: Unsupported data type: "+typeof content),content.appendTo(modal.element.find(".uk-modal-dialog")),modal):void 0}var body,active=!1,activeCount=0,$html=UI.$html;UI.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,hasTransitioned:!0,init:function(){if(body||(body=UI.$("body")),this.element.length){var $this=this;this.paddingdir="padding-"+("left"==UI.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(e){e.preventDefault(),$this.hide()}).on("click",function(e){var target=UI.$(e.target);target[0]==$this.element[0]&&$this.options.bgclose&&$this.hide()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){var $this=this;if(!this.isActive())return this.options.modal&&active&&active.hide(!0),this.element.removeClass("uk-open").show(),this.resize(),this.options.modal&&(active=this),this.active=!0,activeCount++,UI.support.transition?(this.hasTransitioned=!1,this.element.one(UI.support.transition.end,function(){$this.hasTransitioned=!0}).addClass("uk-open")):this.element.addClass("uk-open"),$html.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),UI.Utils.checkDisplay(this.dialog,!0),this}},hide:function(force){if(!force&&UI.support.transition&&this.hasTransitioned){var $this=this;this.one(UI.support.transition.end,function(){$this._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(){var bodywidth=body.width();if(this.scrollbarwidth=window.innerWidth-bodywidth,body.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var dh=this.dialog.outerHeight(),pad=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);dh+padoffset?20:offset)-dh;return scrollable.css({"max-height":h0?activeCount--:activeCount=0,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),activeCount||($html.removeClass("uk-modal-page"),body.css(this.paddingdir,"")),active===this&&(active=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.active}}),UI.component("modalTrigger",{boot:function(){UI.$html.on("click.modal.uikit","[data-uk-modal]",function(e){var ele=UI.$(this);if(ele.is("a")&&e.preventDefault(),!ele.data("modalTrigger")){var modal=UI.modalTrigger(ele,UI.Utils.options(ele.attr("data-uk-modal")));modal.show()}}),UI.$html.on("keydown.modal.uikit",function(e){active&&27===e.keyCode&&active.options.keyboard&&(e.preventDefault(),active.hide())}),UI.$win.on("resize orientationchange",UI.Utils.debounce(function(){active&&active.resize()},150))},init:function(){var $this=this;this.options=UI.$.extend({target:$this.element.is("a")?$this.element.attr("href"):!1},this.options),this.modal=UI.modal(this.options.target,this.options),this.on("click",function(e){e.preventDefault(),$this.show()}),this.proxy(this.modal,"show hide isActive")}}),UI.modal.dialog=function(content,options){var modal=UI.modal(UI.$(UI.modal.dialog.template).appendTo("body"),options);return modal.on("hide.uk.modal",function(){modal.persist&&(modal.persist.appendTo(modal.persist.data("modalPersistParent")),modal.persist=!1),modal.element.remove()}),setContent(content,modal),modal},UI.modal.dialog.template='
    ',UI.modal.alert=function(content,options){options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},options);var modal=UI.modal.dialog(['
    '+String(content)+"
    ",'"].join(""),options);return modal.on("show.uk.modal",function(){setTimeout(function(){modal.element.find("button:first").focus()},50)}),modal.show()},UI.modal.confirm=function(content,onconfirm,oncancel){var options=arguments.length>1&&arguments[arguments.length-1]?arguments[arguments.length-1]:{};onconfirm=UI.$.isFunction(onconfirm)?onconfirm:function(){},oncancel=UI.$.isFunction(oncancel)?oncancel:function(){},options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},UI.$.isFunction(options)?{}:options);var modal=UI.modal.dialog(['
    '+String(content)+"
    ",'"].join(""),options);return modal.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click",function(){UI.$(this).is(".js-modal-confirm")?onconfirm():oncancel(),modal.hide()}),modal.on("show.uk.modal",function(){setTimeout(function(){modal.element.find(".js-modal-confirm").focus()},50)}),modal.show()},UI.modal.prompt=function(text,value,onsubmit,options){onsubmit=UI.$.isFunction(onsubmit)?onsubmit:function(value){},options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},options);var modal=UI.modal.dialog([text?'
    '+String(text)+"
    ":"",'

    ','"].join(""),options),input=modal.element.find("input[type='text']").val(value||"").on("keyup",function(e){13==e.keyCode&&modal.element.find(".js-modal-ok").trigger("click")});return modal.element.find(".js-modal-ok").on("click",function(){onsubmit(input.val())!==!1&&modal.hide()}),modal.on("show.uk.modal",function(){setTimeout(function(){input.focus()},50)}),modal.show()},UI.modal.blockUI=function(content,options){var modal=UI.modal.dialog(['
    '+String(content||'
    ...
    ')+"
    "].join(""),UI.$.extend({bgclose:!1,keyboard:!1,modal:!1},options));return modal.content=modal.element.find(".uk-modal-content:first"),modal.show()},UI.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit),function(UI){"use strict";function getHeight(ele){var $ele=UI.$(ele),height="auto";if($ele.is(":visible"))height=$ele.outerHeight();else{var tmp={position:$ele.css("position"),visibility:$ele.css("visibility"),display:$ele.css("display")};height=$ele.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),$ele.css(tmp)}return height}UI.component("nav",{defaults:{toggle:">li.uk-parent > a[href='#']",lists:">li.uk-parent > ul",multiple:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-nav]",context).each(function(){var nav=UI.$(this);if(!nav.data("nav")){UI.nav(nav,UI.Utils.options(nav.attr("data-uk-nav")))}})})},init:function(){var $this=this;this.on("click.uk.nav",this.options.toggle,function(e){e.preventDefault();var ele=UI.$(this);$this.open(ele.parent()[0]==$this.element[0]?ele:ele.parent("li"))}),this.find(this.options.lists).each(function(){var $ele=UI.$(this),parent=$ele.parent(),active=parent.hasClass("uk-active");$ele.wrap('
    '),parent.data("list-container",$ele.parent()[active?"removeClass":"addClass"]("uk-hidden")),parent.attr("aria-expanded",parent.hasClass("uk-open")),active&&$this.open(parent,!0)})},open:function(li,noanimation){var $this=this,element=this.element,$li=UI.$(li),$container=$li.data("list-container");this.options.multiple||element.children(".uk-open").not(li).each(function(){var ele=UI.$(this);ele.data("list-container")&&ele.data("list-container").stop().animate({height:0},function(){UI.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),$li.toggleClass("uk-open"),$li.attr("aria-expanded",$li.hasClass("uk-open")),$container&&($li.hasClass("uk-open")&&$container.removeClass("uk-hidden"),noanimation?($container.stop().height($li.hasClass("uk-open")?"auto":0),$li.hasClass("uk-open")||$container.addClass("uk-hidden"),this.trigger("display.uk.check")):$container.stop().animate({height:$li.hasClass("uk-open")?getHeight($container.find("ul:first")):0},function(){$li.hasClass("uk-open")?$container.css("height",""):$container.addClass("uk-hidden"),$this.trigger("display.uk.check")}))}})}(UIkit),function(UI){"use strict";var scrollpos={x:window.scrollX,y:window.scrollY},$html=(UI.$win,UI.$doc,UI.$html),Offcanvas={show:function(element){if(element=UI.$(element),element.length){var $body=UI.$("body"),bar=element.find(".uk-offcanvas-bar:first"),rtl="right"==UI.langdirection,flip=bar.hasClass("uk-offcanvas-bar-flip")?-1:1,dir=flip*(rtl?-1:1),scrollbarwidth=window.innerWidth-$body.width();scrollpos={x:window.pageXOffset,y:window.pageYOffset},element.addClass("uk-active"),$body.css({width:window.innerWidth-scrollbarwidth,height:window.innerHeight}).addClass("uk-offcanvas-page"),$body.css(rtl?"margin-right":"margin-left",(rtl?-1:1)*(bar.outerWidth()*dir)).width(),$html.css("margin-top",-1*scrollpos.y),bar.addClass("uk-offcanvas-bar-show"),this._initElement(element),bar.trigger("show.uk.offcanvas",[element,bar]),element.attr("aria-hidden","false")}},hide:function(force){var $body=UI.$("body"),panel=UI.$(".uk-offcanvas.uk-active"),rtl="right"==UI.langdirection,bar=panel.find(".uk-offcanvas-bar:first"),finalize=function(){$body.removeClass("uk-offcanvas-page").css({width:"",height:"","margin-left":"","margin-right":""}),panel.removeClass("uk-active"),bar.removeClass("uk-offcanvas-bar-show"),$html.css("margin-top",""),window.scrollTo(scrollpos.x,scrollpos.y),bar.trigger("hide.uk.offcanvas",[panel,bar]),panel.attr("aria-hidden","true")};panel.length&&(UI.support.transition&&!force?($body.one(UI.support.transition.end,function(){finalize()}).css(rtl?"margin-right":"margin-left",""),setTimeout(function(){bar.removeClass("uk-offcanvas-bar-show")},0)):finalize())},_initElement:function(element){element.data("OffcanvasInit")||(element.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(e){var target=UI.$(e.target);if(!e.type.match(/swipe/)&&!target.hasClass("uk-offcanvas-close")){if(target.hasClass("uk-offcanvas-bar"))return;if(target.parents(".uk-offcanvas-bar:first").length)return}e.stopImmediatePropagation(),Offcanvas.hide()}),element.on("click","a[href*='#']",function(e){var link=UI.$(this),href=link.attr("href");"#"!=href&&(UI.$doc.one("hide.uk.offcanvas",function(){var target;try{target=UI.$(link[0].hash)}catch(e){target=""}target.length||(target=UI.$('[name="'+link[0].hash.replace("#","")+'"]')),target.length&&UI.Utils.scrollToElement?UI.Utils.scrollToElement(target,UI.Utils.options(link.attr("data-uk-smooth-scroll")||"{}")):window.location.href=href}),Offcanvas.hide())}),element.data("OffcanvasInit",!0))}};UI.component("offcanvasTrigger",{boot:function(){$html.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(e){e.preventDefault();var ele=UI.$(this);if(!ele.data("offcanvasTrigger")){UI.offcanvasTrigger(ele,UI.Utils.options(ele.attr("data-uk-offcanvas")));ele.trigger("click")}}),$html.on("keydown.uk.offcanvas",function(e){27===e.keyCode&&Offcanvas.hide()})},init:function(){var $this=this;this.options=UI.$.extend({target:$this.element.is("a")?$this.element.attr("href"):!1},this.options),this.on("click",function(e){e.preventDefault(),Offcanvas.show($this.options.target)})}}),UI.offcanvas=Offcanvas}(UIkit),function(UI){"use strict";function coreAnimation(cls,current,next){var release,d=UI.$.Deferred(),clsIn=cls,clsOut=cls;return next[0]===current[0]?(d.resolve(),d.promise()):("object"==typeof cls&&(clsIn=cls[0],clsOut=cls[1]||cls[0]),UI.$body.css("overflow-x","hidden"),release=function(){current&¤t.hide().removeClass("uk-active "+clsOut+" uk-animation-reverse"),next.addClass(clsIn).one(UI.support.animation.end,function(){next.removeClass(""+clsIn).css({opacity:"",display:""}),d.resolve(),UI.$body.css("overflow-x",""),current&¤t.css({opacity:"",display:""})}.bind(this)).show()},next.css("animation-duration",this.options.duration+"ms"),current&¤t.length?(current.css("animation-duration",this.options.duration+"ms"),current.css("display","none").addClass(clsOut+" uk-animation-reverse").one(UI.support.animation.end,function(){release()}.bind(this)).css("display","")):(next.addClass("uk-active"),release()),d.promise())}var Animations;UI.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200,swiping:!0},animating:!1,boot:function(){UI.ready(function(context){UI.$("[data-uk-switcher]",context).each(function(){var switcher=UI.$(this);if(!switcher.data("switcher")){UI.switcher(switcher,UI.Utils.options(switcher.attr("data-uk-switcher")))}})})},init:function(){var $this=this;if(this.on("click.uk.switcher",this.options.toggle,function(e){e.preventDefault(),$this.show(this)}),this.options.connect){this.connect=UI.$(this.options.connect),this.connect.find(".uk-active").removeClass(".uk-active"),this.connect.length&&(this.connect.children().attr("aria-hidden","true"),this.connect.on("click","[data-uk-switcher-item]",function(e){e.preventDefault();var item=UI.$(this).attr("data-uk-switcher-item");if($this.index!=item)switch(item){case"next":case"previous":$this.show($this.index+("next"==item?1:-1));break;default:$this.show(parseInt(item,10))}}),this.options.swiping&&this.connect.on("swipeRight swipeLeft",function(e){e.preventDefault(),window.getSelection().toString()||$this.show($this.index+("swipeLeft"==e.type?1:-1))}));var toggles=this.find(this.options.toggle),active=toggles.filter(".uk-active");if(active.length)this.show(active,!1);else{if(this.options.active===!1)return;active=toggles.eq(this.options.active),this.show(active.length?active:toggles.eq(0),!1)}toggles.not(active).attr("aria-expanded","false"),active.attr("aria-expanded","true"),this.on("changed.uk.dom",function(){$this.connect=UI.$($this.options.connect)})}},show:function(tab,animate){if(!this.animating){if(isNaN(tab))tab=UI.$(tab);else{var toggles=this.find(this.options.toggle);tab=0>tab?toggles.length-1:tab,tab=toggles.eq(toggles[tab]?tab:0)}var $this=this,toggles=this.find(this.options.toggle),active=UI.$(tab),animation=Animations[this.options.animation]||function(current,next){if(!$this.options.animation)return Animations.none.apply($this);var anim=$this.options.animation.split(",");return 1==anim.length&&(anim[1]=anim[0]),anim[0]=anim[0].trim(),anim[1]=anim[1].trim(),coreAnimation.apply($this,[anim,current,next])};animate!==!1&&UI.support.animation||(animation=Animations.none),active.hasClass("uk-disabled")||(toggles.attr("aria-expanded","false"),active.attr("aria-expanded","true"),toggles.filter(".uk-active").removeClass("uk-active"),active.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(active),-1==this.index&&(this.index=0),this.connect.each(function(){var container=UI.$(this),children=UI.$(container.children()),current=UI.$(children.filter(".uk-active")),next=UI.$(children.eq($this.index));$this.animating=!0,animation.apply($this,[current,next]).then(function(){current.removeClass("uk-active"),next.addClass("uk-active"),current.attr("aria-hidden","true"),next.attr("aria-hidden","false"),UI.Utils.checkDisplay(next,!0),$this.animating=!1})})),this.trigger("show.uk.switcher",[active]))}}}),Animations={none:function(){var d=UI.$.Deferred();return d.resolve(),d.promise()},fade:function(current,next){return coreAnimation.apply(this,["uk-animation-fade",current,next])},"slide-bottom":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-bottom",current,next])},"slide-top":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-top",current,next])},"slide-vertical":function(current,next,dir){var anim=["uk-animation-slide-top","uk-animation-slide-bottom"];return current&¤t.index()>next.index()&&anim.reverse(),coreAnimation.apply(this,[anim,current,next])},"slide-left":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-left",current,next])},"slide-right":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-right",current,next])},"slide-horizontal":function(current,next,dir){var anim=["uk-animation-slide-right","uk-animation-slide-left"];return current&¤t.index()>next.index()&&anim.reverse(),coreAnimation.apply(this,[anim,current,next])},scale:function(current,next){return coreAnimation.apply(this,["uk-animation-scale-up",current,next])}},UI.switcher.animations=Animations}(UIkit),function(UI){"use strict";UI.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200,swiping:!0},boot:function(){UI.ready(function(context){UI.$("[data-uk-tab]",context).each(function(){var tab=UI.$(this);if(!tab.data("tab")){UI.tab(tab,UI.Utils.options(tab.attr("data-uk-tab")))}})})},init:function(){var $this=this;this.current=!1,this.on("click.uk.tab",this.options.target,function(e){if(e.preventDefault(),!$this.switcher||!$this.switcher.animating){var current=$this.find($this.options.target).not(this);current.removeClass("uk-active").blur(),$this.trigger("change.uk.tab",[UI.$(this).addClass("uk-active"),$this.current]),$this.current=UI.$(this),$this.options.connect||(current.attr("aria-expanded","false"),UI.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=UI.$(this.options.connect)),this.responsivetab=UI.$('
  • ').append('
      '),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uk.tab","a",function(e){e.preventDefault(),e.stopPropagation();var link=UI.$(this);$this.element.children("li:not(.uk-tab-responsive)").eq(link.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(e,tab){$this.responsivetab.caption.html(tab.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=UI.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration,swiping:this.options.swiping})),UI.dropdown(this.responsivetab,{mode:"click",preventflip:"y"}),$this.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),UI.$win.on("resize orientationchange",UI.Utils.debounce(function(){$this.element.is(":visible")&&$this.check()},100)),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.check()})},check:function(){var children=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!children.length)return void this.responsivetab.addClass("uk-hidden");var item,link,clone,top=children.eq(0).offset().top+Math.ceil(children.eq(0).height()/2),doresponsive=!1;if(this.responsivetab.lst.empty(),children.each(function(){UI.$(this).offset().top>top&&(doresponsive=!0)}),doresponsive)for(var i=0;i-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var width,height,w=this.parent.width(),h=this.parent.height();w/this.ratio
      ').parent(),$wrapper.attr("aria-expanded","false")),$toggle=$this.toggle.eq(index),$wrapper.data("toggle",$toggle),$wrapper.data("content",$content),$toggle.data("wrapper",$wrapper),$content.data("wrapper",$wrapper)}),this.element.trigger("update.uk.accordion",[this])}}),UI.accordion}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-autocomplete",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var active;return UI.component("autocomplete",{defaults:{minLength:3,param:"search",method:"post",delay:300,loadingClass:"uk-loading",flipDropdown:!1,skipClass:"uk-skip",hoverClass:"uk-active",source:null,renderer:null,template:''},visible:!1,value:null,selected:null,boot:function(){UI.$html.on("focus.autocomplete.uikit","[data-uk-autocomplete]",function(e){var ele=UI.$(this);ele.data("autocomplete")||UI.autocomplete(ele,UI.Utils.options(ele.attr("data-uk-autocomplete")))}),UI.$html.on("click.autocomplete.uikit",function(e){active&&e.target!=active.input[0]&&active.hide()})},init:function(){var $this=this,select=!1,trigger=UI.Utils.debounce(function(e){return select?select=!1:void $this.handle()},this.options.delay);this.dropdown=this.find(".uk-dropdown"),this.template=this.find('script[type="text/autocomplete"]').html(),this.template=UI.Utils.template(this.template||this.options.template),this.input=this.find("input:first").attr("autocomplete","off"),this.dropdown.length||(this.dropdown=UI.$('
      ').appendTo(this.element)),this.options.flipDropdown&&this.dropdown.addClass("uk-dropdown-flip"),this.dropdown.attr("aria-expanded","false"),this.input.on({keydown:function(e){if(e&&e.which&&!e.shiftKey)switch(e.which){case 13:select=!0,$this.selected&&(e.preventDefault(),$this.select());break;case 38:e.preventDefault(),$this.pick("prev",!0);break;case 40:e.preventDefault(),$this.pick("next",!0);break;case 27:case 9:$this.hide()}},keyup:trigger}),this.dropdown.on("click",".uk-autocomplete-results > *",function(){$this.select()}),this.dropdown.on("mouseover",".uk-autocomplete-results > *",function(){$this.pick(UI.$(this))}),this.triggercomplete=trigger},handle:function(){var $this=this,old=this.value;return this.value=this.input.val(),this.value.lengthindex-1?items.length-1:index-1)}else selected=items["next"==item?"first":"last"]();selected=UI.$(selected)}}else selected=item;if(selected&&selected.length&&(this.selected=selected,items.removeClass(this.options.hoverClass),this.selected.addClass(this.options.hoverClass),scrollinview)){var top=selected.position().top,scrollTop=$this.dropdown.scrollTop(),dpheight=$this.dropdown.height();(top>dpheight||0>top)&&$this.dropdown.scrollTop(scrollTop+top)}},select:function(){if(this.selected){var data=this.selected.data();this.trigger("selectitem.uk.autocomplete",[data,this]),data.value&&this.input.val(data.value).trigger("change"),this.hide()}},show:function(){return this.visible?void 0:(this.visible=!0,this.element.addClass("uk-open"),active&&active!==this&&active.hide(),active=this,this.dropdown.attr("aria-expanded","true"),this)},hide:function(){return this.visible?(this.visible=!1,this.element.removeClass("uk-open"),active===this&&(active=!1),this.dropdown.attr("aria-expanded","false"),this):void 0},request:function(){var $this=this,release=function(data){data&&$this.render(data),$this.element.removeClass($this.options.loadingClass)};if(this.element.addClass(this.options.loadingClass),this.options.source){var source=this.options.source;switch(typeof this.options.source){case"function":this.options.source.apply(this,[release]);break;case"object":if(source.length){var items=[];source.forEach(function(item){item.value&&-1!=item.value.toLowerCase().indexOf($this.value.toLowerCase())&&items.push(item)}),release(items)}break;case"string":var params={};params[this.options.param]=this.value,UI.$.ajax({url:this.options.source,data:params,type:this.options.method,dataType:"json"}).done(function(json){release(json||[])});break;default:release(null)}}else this.element.removeClass($this.options.loadingClass)},render:function(data){return this.dropdown.empty(),this.selected=!1,this.options.renderer?this.options.renderer.apply(this,[data]):data&&data.length&&(this.dropdown.append(this.template({items:data})),this.show(),this.trigger("show.uk.autocomplete")),this}}),UI.autocomplete}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-datepicker",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var dropdown,moment,active=!1;return UI.component("datepicker",{defaults:{mobile:!1,weekstart:1,i18n:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},format:"YYYY-MM-DD",offsettop:5,maxDate:!1,minDate:!1,pos:"auto",template:function(data,opts){var i,content="";if(content+='
      ',content+='',content+='',UI.formSelect){var months,years,minYear,maxYear,currentyear=(new Date).getFullYear(),options=[];for(i=0;i'+opts.i18n.months[i]+""):options.push('");for(months=''+opts.i18n.months[data.month]+'",options=[],minYear=data.minDate?data.minDate.year():currentyear-50,maxYear=data.maxDate?data.maxDate.year():currentyear+20,i=minYear;maxYear>=i;i++)i==data.year?options.push('"):options.push('");years=''+data.year+'",content+='
      '+months+" "+years+"
      "}else content+='
      '+opts.i18n.months[data.month]+" "+data.year+"
      ";for(content+="
      ",content+='',content+="",i=0;i"+data.weekdays[i]+"");for(content+="",content+="",i=0;i";for(var d=0;d'+day.day.format("D")+""}content+=""}return content+="",content+="
      "}},boot:function(){UI.$win.on("resize orientationchange",function(){active&&active.hide()}),UI.$html.on("focus.datepicker.uikit","[data-uk-datepicker]",function(e){var ele=UI.$(this);ele.data("datepicker")||(e.preventDefault(),UI.datepicker(ele,UI.Utils.options(ele.attr("data-uk-datepicker"))),ele.trigger("focus"))}),UI.$html.on("click focus","*",function(e){var target=UI.$(e.target);!active||target[0]==dropdown[0]||target.data("datepicker")||target.parents(".uk-datepicker:first").length||active.hide()})},init:function(){if(!UI.support.touch||"date"!=this.element.attr("type")||this.options.mobile){var $this=this;this.current=this.element.val()?moment(this.element.val(),this.options.format):moment(),this.on("click focus",function(){active!==$this&&$this.pick(this.value?this.value:$this.options.minDate?$this.options.minDate:"")}).on("change",function(){$this.element.val()&&!moment($this.element.val(),$this.options.format).isValid()&&$this.element.val(moment().format($this.options.format))}),dropdown||(dropdown=UI.$('
      '),dropdown.on("click",".uk-datepicker-next, .uk-datepicker-previous, [data-date]",function(e){e.stopPropagation(),e.preventDefault();var ele=UI.$(this);return ele.hasClass("uk-datepicker-date-disabled")?!1:void(ele.is("[data-date]")?(active.current=moment(ele.data("date")),active.element.val(active.current.format(active.options.format)).trigger("change"),active.hide()):active.add(ele.hasClass("uk-datepicker-next")?1:-1,"months"))}),dropdown.on("change",".update-picker-month, .update-picker-year",function(){var select=UI.$(this);active[select.is(".update-picker-year")?"setYear":"setMonth"](Number(select.val()))}),dropdown.appendTo("body"))}},pick:function(initdate){var offset=this.element.offset(),css={left:offset.left,right:""};this.current=isNaN(initdate)?moment(initdate,this.options.format):moment(),this.initdate=this.current.format("YYYY-MM-DD"),this.update(),"right"==UI.langdirection&&(css.right=window.innerWidth-(css.left+this.element.outerWidth()),css.left="");var posTop=offset.top-this.element.outerHeight()+this.element.height()-this.options.offsettop-dropdown.outerHeight(),posBottom=offset.top+this.element.outerHeight()+this.options.offsettop;css.top=posBottom,"top"==this.options.pos?css.top=posTop:"auto"==this.options.pos&&window.innerHeight-posBottom-dropdown.outerHeight()<0&&posTop>=0&&(css.top=posTop),dropdown.css(css).show(),this.trigger("show.uk.datepicker"),active=this},add:function(unit,value){this.current.add(unit,value),this.update()},setMonth:function(month){this.current.month(month),this.update()},setYear:function(year){this.current.year(year),this.update()},update:function(){var data=this.getRows(this.current.year(),this.current.month()),tpl=this.options.template(data,this.options);dropdown.html(tpl),this.trigger("update.uk.datepicker")},getRows:function(year,month){var opts=this.options,now=moment().format("YYYY-MM-DD"),days=[31,year%4===0&&year%100!==0||year%400===0?29:28,31,30,31,30,31,31,30,31,30,31][month],before=new Date(year,month,1,12).getDay(),data={month:month,year:year,weekdays:[],days:[],maxDate:!1,minDate:!1},row=[];opts.maxDate!==!1&&(data.maxDate=isNaN(opts.maxDate)?moment(opts.maxDate,opts.format):moment().add(opts.maxDate,"days")),opts.minDate!==!1&&(data.minDate=isNaN(opts.minDate)?moment(opts.minDate,opts.format):moment().add(opts.minDate-1,"days")),data.weekdays=function(){for(var i=0,arr=[];7>i;i++){for(var day=i+(opts.weekstart||0);day>=7;)day-=7;arr.push(opts.i18n.weekdays[day])}return arr}(),opts.weekstart&&opts.weekstart>0&&(before-=opts.weekstart,0>before&&(before+=7));for(var cells=days+before,after=cells;after>7;)after-=7;cells+=7-after;for(var day,isDisabled,isSelected,isToday,isInMonth,i=0,r=0;cells>i;i++)day=new Date(year,month,1+(i-before),12),isDisabled=data.minDate&&data.minDate>day||data.maxDate&&day>data.maxDate,isInMonth=!(before>i||i>=days+before),day=moment(day),isSelected=this.initdate==day.format("YYYY-MM-DD"),isToday=now==day.format("YYYY-MM-DD"),row.push({selected:isSelected,today:isToday,disabled:isDisabled,day:day,inmonth:isInMonth}),7===++r&&(data.days.push(row),row=[],r=0);return data},hide:function(){active&&active===this&&(dropdown.hide(),active=!1,this.trigger("hide.uk.datepicker"))}}),moment=function(undefined){function dfl(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function hasOwnProp(a,b){return hasOwnProperty.call(a,b)}function defaultParsingFlags(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function printMsg(msg){moment.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend(function(){return firstTime&&(printMsg(msg),firstTime=!1),fn.apply(this,arguments)},fn)}function deprecateSimple(name,msg){deprecations[name]||(printMsg(msg),deprecations[name]=!0)}function padToken(func,count){return function(a){return leftZeroFill(func.call(this,a),count)}}function ordinalizeToken(func,period){return function(a){return this.localeData().ordinal(func.call(this,a),period)}}function Locale(){}function Moment(config,skipOverflow){skipOverflow!==!1&&checkOverflow(config),copyConfig(this,config),this._d=new Date(+config._d)}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+36e5*hours,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=moment.localeData(),this._bubble()}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function copyConfig(to,from){var i,prop,val;if("undefined"!=typeof from._isAMomentObject&&(to._isAMomentObject=from._isAMomentObject),"undefined"!=typeof from._i&&(to._i=from._i),"undefined"!=typeof from._f&&(to._f=from._f),"undefined"!=typeof from._l&&(to._l=from._l),"undefined"!=typeof from._strict&&(to._strict=from._strict),"undefined"!=typeof from._tzm&&(to._tzm=from._tzm),"undefined"!=typeof from._isUTC&&(to._isUTC=from._isUTC),"undefined"!=typeof from._offset&&(to._offset=from._offset),"undefined"!=typeof from._pf&&(to._pf=from._pf),"undefined"!=typeof from._locale&&(to._locale=from._locale),momentProperties.length>0)for(i in momentProperties)prop=momentProperties[i],val=from[prop],"undefined"!=typeof val&&(to[prop]=val);return to}function absRound(number){return 0>number?Math.ceil(number):Math.floor(number)}function leftZeroFill(number,targetLength,forceSign){for(var output=""+Math.abs(number),sign=number>=0;output.lengthi;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}function normalizeUnits(units){if(units){var lowered=units.toLowerCase().replace(/(.)s$/,"$1");units=unitAliases[units]||camelFunctions[lowered]||lowered}return units}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop),normalizedProp&&(normalizedInput[normalizedProp]=inputObject[prop]));return normalizedInput}function makeList(field){var count,setter;if(0===field.indexOf("week"))count=7,setter="day";else{if(0!==field.indexOf("month"))return;count=12,setter="month"}moment[field]=function(format,index){var i,getter,method=moment._locale[field],results=[];if("number"==typeof format&&(index=format,format=undefined),getter=function(i){var m=moment().utc().set(setter,i);return method.call(moment._locale,m,format||"")},null!=index)return getter(index);for(i=0;count>i;i++)results.push(getter(i));return results}}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=coercedNumber>=0?Math.floor(coercedNumber):Math.ceil(coercedNumber)),value}function daysInMonth(year,month){return new Date(Date.UTC(year,month+1,0)).getUTCDate()}function weeksInYear(year,dow,doy){return weekOfYear(moment([year,11,31+dow-doy]),dow,doy).week}function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}function checkOverflow(m){var overflow;m._a&&-2===m._pf.overflow&&(overflow=m._a[MONTH]<0||m._a[MONTH]>11?MONTH:m._a[DATE]<1||m._a[DATE]>daysInMonth(m._a[YEAR],m._a[MONTH])?DATE:m._a[HOUR]<0||m._a[HOUR]>23?HOUR:m._a[MINUTE]<0||m._a[MINUTE]>59?MINUTE:m._a[SECOND]<0||m._a[SECOND]>59?SECOND:m._a[MILLISECOND]<0||m._a[MILLISECOND]>999?MILLISECOND:-1,m._pf._overflowDayOfYear&&(YEAR>overflow||overflow>DATE)&&(overflow=DATE),m._pf.overflow=overflow)}function isValid(m){return null==m._isValid&&(m._isValid=!isNaN(m._d.getTime())&&m._pf.overflow<0&&!m._pf.empty&&!m._pf.invalidMonth&&!m._pf.nullInput&&!m._pf.invalidFormat&&!m._pf.userInvalidated,m._strict&&(m._isValid=m._isValid&&0===m._pf.charsLeftOver&&0===m._pf.unusedTokens.length)),m._isValid}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function chooseLocale(names){for(var j,next,locale,split,i=0;i0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&compareArrays(split,next,!0)>=j-1)break;j--}i++}return null}function loadLocale(name){var oldLocale=null;if(!locales[name]&&hasModule)try{oldLocale=moment.locale(),require("./locale/"+name),moment.locale(oldLocale)}catch(e){}return locales[name]}function makeAs(input,model){return model._isUTC?moment(input).zone(model._offset||0):moment(input).local()}function removeFormattingTokens(input){return input.match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"")}function makeFormatFunction(format){var i,length,array=format.match(formattingTokens);for(i=0,length=array.length;length>i;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=removeFormattingTokens(array[i]);return function(mom){var output="";for(i=0;length>i;i++)output+=array[i]instanceof Function?array[i].call(mom,format):array[i];return output}}function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]||(formatFunctions[format]=makeFormatFunction(format)),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}var i=5;for(localFormattingTokens.lastIndex=0;i>=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}function getParseRegexForToken(token,config){var a,strict=config._strict;switch(token){case"Q":return parseTokenOneDigit;case"DDDD":return parseTokenThreeDigits;case"YYYY":case"GGGG":case"gggg":return strict?parseTokenFourDigits:parseTokenOneToFourDigits;case"Y":case"G":case"g":return parseTokenSignedNumber;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return strict?parseTokenSixDigits:parseTokenOneToSixDigits;case"S":if(strict)return parseTokenOneDigit;case"SS":if(strict)return parseTokenTwoDigits;case"SSS":if(strict)return parseTokenThreeDigits;case"DDD":return parseTokenOneToThreeDigits;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return parseTokenWord;case"a":case"A":return config._locale._meridiemParse;case"X":return parseTokenTimestampMs;case"Z":case"ZZ":return parseTokenTimezone;case"T":return parseTokenT;case"SSSS":return parseTokenDigits;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return strict?parseTokenTwoDigits:parseTokenOneOrTwoDigits;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return parseTokenOneOrTwoDigits;case"Do":return parseTokenOrdinal;default:return a=new RegExp(regexpEscape(unescapeFormat(token.replace("\\","")),"i"))}}function timezoneMinutesFromString(string){string=string||"";var possibleTzMatches=string.match(parseTokenTimezone)||[],tzChunk=possibleTzMatches[possibleTzMatches.length-1]||[],parts=(tzChunk+"").match(parseTimezoneChunker)||["-",0,0],minutes=+(60*parts[1])+toInt(parts[2]);return"+"===parts[0]?-minutes:minutes}function addTimeToArrayFromToken(token,input,config){var a,datePartArray=config._a;switch(token){case"Q":null!=input&&(datePartArray[MONTH]=3*(toInt(input)-1));break;case"M":case"MM":null!=input&&(datePartArray[MONTH]=toInt(input)-1);break;case"MMM":case"MMMM":a=config._locale.monthsParse(input),null!=a?datePartArray[MONTH]=a:config._pf.invalidMonth=input;break;case"D":case"DD":null!=input&&(datePartArray[DATE]=toInt(input));break;case"Do":null!=input&&(datePartArray[DATE]=toInt(parseInt(input,10)));break;case"DDD":case"DDDD":null!=input&&(config._dayOfYear=toInt(input));break;case"YY":datePartArray[YEAR]=moment.parseTwoDigitYear(input);break;case"YYYY":case"YYYYY":case"YYYYYY":datePartArray[YEAR]=toInt(input);break;case"a":case"A":config._isPm=config._locale.isPM(input);break;case"H":case"HH":case"h":case"hh":datePartArray[HOUR]=toInt(input);break;case"m":case"mm":datePartArray[MINUTE]=toInt(input);break;case"s":case"ss":datePartArray[SECOND]=toInt(input);break;case"S":case"SS":case"SSS":case"SSSS":datePartArray[MILLISECOND]=toInt(1e3*("0."+input));break;case"X":config._d=new Date(1e3*parseFloat(input));break;case"Z":case"ZZ":config._useUTC=!0,config._tzm=timezoneMinutesFromString(input);break;case"dd":case"ddd":case"dddd":a=config._locale.weekdaysParse(input),null!=a?(config._w=config._w||{},config._w.d=a):config._pf.invalidWeekday=input;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":token=token.substr(0,1);case"gggg":case"GGGG":case"GGGGG":token=token.substr(0,2),input&&(config._w=config._w||{},config._w[token]=toInt(input));break;case"gg":case"GG":config._w=config._w||{},config._w[token]=moment.parseTwoDigitYear(input)}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp;w=config._w,null!=w.GG||null!=w.W||null!=w.E?(dow=1,doy=4,weekYear=dfl(w.GG,config._a[YEAR],weekOfYear(moment(),1,4).year),week=dfl(w.W,1),weekday=dfl(w.E,1)):(dow=config._locale._week.dow,doy=config._locale._week.doy,weekYear=dfl(w.gg,config._a[YEAR],weekOfYear(moment(),dow,doy).year),week=dfl(w.w,1),null!=w.d?(weekday=w.d,dow>weekday&&++week):weekday=null!=w.e?w.e+dow:dow),temp=dayOfYearFromWeeks(weekYear,week,weekday,doy,dow),config._a[YEAR]=temp.year,config._dayOfYear=temp.dayOfYear}function dateFromConfig(config){var i,date,currentDate,yearToUse,input=[];if(!config._d){for(currentDate=currentDateArray(config),config._w&&null==config._a[DATE]&&null==config._a[MONTH]&&dayOfYearFromWeekInfo(config),config._dayOfYear&&(yearToUse=dfl(config._a[YEAR],currentDate[YEAR]),config._dayOfYear>daysInYear(yearToUse)&&(config._pf._overflowDayOfYear=!0),date=makeUTCDate(yearToUse,0,config._dayOfYear),config._a[MONTH]=date.getUTCMonth(),config._a[DATE]=date.getUTCDate()),i=0;3>i&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;7>i;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];config._d=(config._useUTC?makeUTCDate:makeDate).apply(null,input),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()+config._tzm)}}function dateFromObject(config){var normalizedInput;config._d||(normalizedInput=normalizeObjectUnits(config._i),config._a=[normalizedInput.year,normalizedInput.month,normalizedInput.day,normalizedInput.hour,normalizedInput.minute,normalizedInput.second,normalizedInput.millisecond],dateFromConfig(config))}function currentDateArray(config){var now=new Date;return config._useUTC?[now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate()]:[now.getFullYear(),now.getMonth(),now.getDate()]}function makeDateFromStringAndFormat(config){if(config._f===moment.ISO_8601)return void parseISO(config);config._a=[],config._pf.empty=!0;var i,parsedInput,tokens,token,skipped,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i0&&config._pf.unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?config._pf.empty=!1:config._pf.unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&config._pf.unusedTokens.push(token);config._pf.charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&config._pf.unusedInput.push(string),config._isPm&&config._a[HOUR]<12&&(config._a[HOUR]+=12),config._isPm===!1&&12===config._a[HOUR]&&(config._a[HOUR]=0),dateFromConfig(config),checkOverflow(config)}function unescapeFormat(s){return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4})}function regexpEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function makeDateFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(0===config._f.length)return config._pf.invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;icurrentScore)&&(scoreToBeat=currentScore,bestMoment=tempConfig));extend(config,bestMoment||tempConfig)}function parseISO(config){var i,l,string=config._i,match=isoRegex.exec(string);if(match){for(config._pf.iso=!0,i=0,l=isoDates.length;l>i;i++)if(isoDates[i][1].exec(string)){config._f=isoDates[i][0]+(match[6]||" ");break}for(i=0,l=isoTimes.length;l>i;i++)if(isoTimes[i][1].exec(string)){config._f+=isoTimes[i][0];break}string.match(parseTokenTimezone)&&(config._f+="Z"),makeDateFromStringAndFormat(config)}else config._isValid=!1}function makeDateFromString(config){parseISO(config),config._isValid===!1&&(delete config._isValid, -moment.createFromInputFallback(config))}function map(arr,fn){var i,res=[];for(i=0;iy&&date.setFullYear(y),date}function makeUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));return 1970>y&&date.setUTCFullYear(y),date}function parseWeekday(input,locale){if("string"==typeof input)if(isNaN(input)){if(input=locale.weekdaysParse(input),"number"!=typeof input)return null}else input=parseInt(input,10);return input}function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function relativeTime(posNegDuration,withoutSuffix,locale){var duration=moment.duration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),years=round(duration.as("y")),args=seconds0,args[4]=locale,substituteTimeAgo.apply({},args)}function weekOfYear(mom,firstDayOfWeek,firstDayOfWeekOfYear){var adjustedMoment,end=firstDayOfWeekOfYear-firstDayOfWeek,daysToDayOfWeek=firstDayOfWeekOfYear-mom.day();return daysToDayOfWeek>end&&(daysToDayOfWeek-=7),end-7>daysToDayOfWeek&&(daysToDayOfWeek+=7),adjustedMoment=moment(mom).add(daysToDayOfWeek,"d"),{week:Math.ceil(adjustedMoment.dayOfYear()/7),year:adjustedMoment.year()}}function dayOfYearFromWeeks(year,week,weekday,firstDayOfWeekOfYear,firstDayOfWeek){var daysToAdd,dayOfYear,d=makeUTCDate(year,0,1).getUTCDay();return d=0===d?7:d,weekday=null!=weekday?weekday:firstDayOfWeek,daysToAdd=firstDayOfWeek-d+(d>firstDayOfWeekOfYear?7:0)-(firstDayOfWeek>d?7:0),dayOfYear=7*(week-1)+(weekday-firstDayOfWeek)+daysToAdd+1,{year:dayOfYear>0?year:year-1,dayOfYear:dayOfYear>0?dayOfYear:daysInYear(year-1)+dayOfYear}}function makeMoment(config){var input=config._i,format=config._f;return config._locale=config._locale||moment.localeData(config._l),null===input||format===undefined&&""===input?moment.invalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),moment.isMoment(input)?new Moment(input,!0):(format?isArray(format)?makeDateFromStringAndArray(config):makeDateFromStringAndFormat(config):makeDateFromInput(config),new Moment(config)))}function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return moment();for(res=moments[0],i=1;i=0?"+":"-";return sign+leftZeroFill(Math.abs(y),6)},gg:function(){return leftZeroFill(this.weekYear()%100,2)},gggg:function(){return leftZeroFill(this.weekYear(),4)},ggggg:function(){return leftZeroFill(this.weekYear(),5)},GG:function(){return leftZeroFill(this.isoWeekYear()%100,2)},GGGG:function(){return leftZeroFill(this.isoWeekYear(),4)},GGGGG:function(){return leftZeroFill(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return toInt(this.milliseconds()/100)},SS:function(){return leftZeroFill(toInt(this.milliseconds()/10),2)},SSS:function(){return leftZeroFill(this.milliseconds(),3)},SSSS:function(){return leftZeroFill(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+leftZeroFill(toInt(a/60),2)+":"+leftZeroFill(toInt(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+leftZeroFill(toInt(a/60),2)+leftZeroFill(toInt(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},deprecations={},lists=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ordinalizeTokens.length;)i=ordinalizeTokens.pop(),formatTokenFunctions[i+"o"]=ordinalizeToken(formatTokenFunctions[i],i);for(;paddedTokens.length;)i=paddedTokens.pop(),formatTokenFunctions[i+i]=padToken(formatTokenFunctions[i],2);formatTokenFunctions.DDDD=padToken(formatTokenFunctions.DDD,3),extend(Locale.prototype,{set:function(config){var prop,i;for(i in config)prop=config[i],"function"==typeof prop?this[i]=prop:this["_"+i]=prop},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(m){return this._months[m.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(m){return this._monthsShort[m.month()]},monthsParse:function(monthName){var i,mom,regex;for(this._monthsParse||(this._monthsParse=[]),i=0;12>i;i++)if(this._monthsParse[i]||(mom=moment.utc([2e3,i]),regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),this._monthsParse[i].test(monthName))return i},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(m){return this._weekdays[m.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(m){return this._weekdaysShort[m.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(m){return this._weekdaysMin[m.day()]},weekdaysParse:function(weekdayName){var i,mom,regex;for(this._weekdaysParse||(this._weekdaysParse=[]),i=0;7>i;i++)if(this._weekdaysParse[i]||(mom=moment([2e3,1]).day(i),regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),this._weekdaysParse[i].test(weekdayName))return i},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(key){var output=this._longDateFormat[key];return!output&&this._longDateFormat[key.toUpperCase()]&&(output=this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1)}),this._longDateFormat[key]=output),output},isPM:function(input){return"p"===(input+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(key,mom){var output=this._calendar[key];return"function"==typeof output?output.apply(mom):output},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return"function"==typeof output?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},pastFuture:function(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return"function"==typeof format?format(output):format.replace(/%s/i,output)},ordinal:function(number){return this._ordinal.replace("%d",number)},_ordinal:"%d",preparse:function(string){return string},postformat:function(string){return string},week:function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),moment=function(input,format,locale,strict){var c;return"boolean"==typeof locale&&(strict=locale,locale=undefined),c={},c._isAMomentObject=!0,c._i=input,c._f=format,c._l=locale,c._strict=strict,c._isUTC=!1,c._pf=defaultParsingFlags(),makeMoment(c)},moment.suppressDeprecationWarnings=!1,moment.createFromInputFallback=deprecate("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(config){config._d=new Date(config._i)}),moment.min=function(){var args=[].slice.call(arguments,0);return pickBy("isBefore",args)},moment.max=function(){var args=[].slice.call(arguments,0);return pickBy("isAfter",args)},moment.utc=function(input,format,locale,strict){var c;return"boolean"==typeof locale&&(strict=locale,locale=undefined),c={},c._isAMomentObject=!0,c._useUTC=!0,c._isUTC=!0,c._l=locale,c._i=input,c._f=format,c._strict=strict,c._pf=defaultParsingFlags(),makeMoment(c).utc()},moment.unix=function(input){return moment(1e3*input)},moment.duration=function(input,key){var sign,ret,parseIso,diffRes,duration=input,match=null;return moment.isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:"number"==typeof input?(duration={},key?duration[key]=input:duration.milliseconds=input):(match=aspNetTimeSpanJsonRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(match[MILLISECOND])*sign}):(match=isoDurationRegex.exec(input))?(sign="-"===match[1]?-1:1,parseIso=function(inp){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign},duration={y:parseIso(match[2]),M:parseIso(match[3]),d:parseIso(match[4]),h:parseIso(match[5]),m:parseIso(match[6]),s:parseIso(match[7]),w:parseIso(match[8])}):"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=momentsDifference(moment(duration.from),moment(duration.to)),duration={},duration.ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),moment.isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),ret},moment.version=VERSION,moment.defaultFormat=isoFormat,moment.ISO_8601=function(){},moment.momentProperties=momentProperties,moment.updateOffset=function(){},moment.relativeTimeThreshold=function(threshold,limit){return relativeTimeThresholds[threshold]===undefined?!1:limit===undefined?relativeTimeThresholds[threshold]:(relativeTimeThresholds[threshold]=limit,!0)},moment.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",function(key,value){return moment.locale(key,value)}),moment.locale=function(key,values){var data;return key&&(data="undefined"!=typeof values?moment.defineLocale(key,values):moment.localeData(key),data&&(moment.duration._locale=moment._locale=data)),moment._locale._abbr},moment.defineLocale=function(name,values){return null!==values?(values.abbr=name,locales[name]||(locales[name]=new Locale),locales[name].set(values),moment.locale(name),locales[name]):(delete locales[name],null)},moment.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",function(key){return moment.localeData(key)}),moment.localeData=function(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return moment._locale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return chooseLocale(key)},moment.isMoment=function(obj){return obj instanceof Moment||null!=obj&&hasOwnProp(obj,"_isAMomentObject")},moment.isDuration=function(obj){return obj instanceof Duration};for(i=lists.length-1;i>=0;--i)makeList(lists[i]);moment.normalizeUnits=function(units){return normalizeUnits(units)},moment.invalid=function(flags){var m=moment.utc(NaN);return null!=flags?extend(m._pf,flags):m._pf.userInvalidated=!0,m},moment.parseZone=function(){return moment.apply(null,arguments).parseZone()},moment.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)},extend(moment.fn=Moment.prototype,{clone:function(){return moment(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var m=moment(this).utc();return 00:!1},parsingFlags:function(){return extend({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(keepLocalTime){return this.zone(0,keepLocalTime)},local:function(keepLocalTime){return this._isUTC&&(this.zone(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.add(this._dateTzOffset(),"m")),this},format:function(inputString){var output=formatMoment(this,inputString||moment.defaultFormat);return this.localeData().postformat(output)},add:createAdder(1,"add"),subtract:createAdder(-1,"subtract"),diff:function(input,units,asFloat){var diff,output,daysAdjust,that=makeAs(input,this),zoneDiff=6e4*(this.zone()-that.zone());return units=normalizeUnits(units),"year"===units||"month"===units?(diff=432e5*(this.daysInMonth()+that.daysInMonth()),output=12*(this.year()-that.year())+(this.month()-that.month()),daysAdjust=this-moment(this).startOf("month")-(that-moment(that).startOf("month")),daysAdjust-=6e4*(this.zone()-moment(this).startOf("month").zone()-(that.zone()-moment(that).startOf("month").zone())),output+=daysAdjust/diff,"year"===units&&(output/=12)):(diff=this-that,output="second"===units?diff/1e3:"minute"===units?diff/6e4:"hour"===units?diff/36e5:"day"===units?(diff-zoneDiff)/864e5:"week"===units?(diff-zoneDiff)/6048e5:diff),asFloat?output:absRound(output)},from:function(time,withoutSuffix){return moment.duration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix)},fromNow:function(withoutSuffix){return this.from(moment(),withoutSuffix)},calendar:function(time){var now=time||moment(),sod=makeAs(now,this).startOf("day"),diff=this.diff(sod,"days",!0),format=-6>diff?"sameElse":-1>diff?"lastWeek":0>diff?"lastDay":1>diff?"sameDay":2>diff?"nextDay":7>diff?"nextWeek":"sameElse";return this.format(this.localeData().calendar(format,this))},isLeapYear:function(){return isLeapYear(this.year())},isDST:function(){return this.zone()+input):+this.clone().startOf(units)>+moment(input).startOf(units)},isBefore:function(input,units){return units=normalizeUnits("undefined"!=typeof units?units:"millisecond"),"millisecond"===units?(input=moment.isMoment(input)?input:moment(input),+input>+this):+this.clone().startOf(units)<+moment(input).startOf(units)},isSame:function(input,units){return units=normalizeUnits(units||"millisecond"),"millisecond"===units?(input=moment.isMoment(input)?input:moment(input),+this===+input):+this.clone().startOf(units)===+makeAs(input,this).startOf(units)},min:deprecate("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(other){return other=moment.apply(null,arguments),this>other?this:other}),max:deprecate("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(other){return other=moment.apply(null,arguments),other>this?this:other}),zone:function(input,keepLocalTime){var localAdjust,offset=this._offset||0;return null==input?this._isUTC?offset:this._dateTzOffset():("string"==typeof input&&(input=timezoneMinutesFromString(input)),Math.abs(input)<16&&(input=60*input),!this._isUTC&&keepLocalTime&&(localAdjust=this._dateTzOffset()),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.subtract(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addOrSubtractDurationFromMoment(this,moment.duration(offset-input,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,moment.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(input){return input=input?moment(input).zone():0,(this.zone()-input)%60===0},daysInMonth:function(){return daysInMonth(this.year(),this.month())},dayOfYear:function(input){var dayOfYear=round((moment(this).startOf("day")-moment(this).startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},quarter:function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},weekYear:function(input){var year=weekOfYear(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==input?year:this.add(input-year,"y")},isoWeekYear:function(input){var year=weekOfYear(this,1,4).year;return null==input?year:this.add(input-year,"y")},week:function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},isoWeek:function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},weekday:function(input){var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},isoWeekday:function(input){return null==input?this.day()||7:this.day(this.day()%7?input:input-7)},isoWeeksInYear:function(){return weeksInYear(this.year(),1,4)},weeksInYear:function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},get:function(units){return units=normalizeUnits(units),this[units]()},set:function(units,value){return units=normalizeUnits(units),"function"==typeof this[units]&&this[units](value),this},locale:function(key){var newLocaleData;return key===undefined?this._locale._abbr:(newLocaleData=moment.localeData(key),null!=newLocaleData&&(this._locale=newLocaleData),this)},lang:deprecate("moment().lang() is deprecated. Use moment().localeData() instead.",function(key){return key===undefined?this.localeData():this.locale(key)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),moment.fn.millisecond=moment.fn.milliseconds=makeAccessor("Milliseconds",!1),moment.fn.second=moment.fn.seconds=makeAccessor("Seconds",!1),moment.fn.minute=moment.fn.minutes=makeAccessor("Minutes",!1),moment.fn.hour=moment.fn.hours=makeAccessor("Hours",!0),moment.fn.date=makeAccessor("Date",!0),moment.fn.dates=deprecate("dates accessor is deprecated. Use date instead.",makeAccessor("Date",!0)),moment.fn.year=makeAccessor("FullYear",!0),moment.fn.years=deprecate("years accessor is deprecated. Use year instead.",makeAccessor("FullYear",!0)),moment.fn.days=moment.fn.day,moment.fn.months=moment.fn.month,moment.fn.weeks=moment.fn.week,moment.fn.isoWeeks=moment.fn.isoWeek,moment.fn.quarters=moment.fn.quarter,moment.fn.toJSON=moment.fn.toISOString,extend(moment.duration.fn=Duration.prototype,{_bubble:function(){var seconds,minutes,hours,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data,years=0;data.milliseconds=milliseconds%1e3,seconds=absRound(milliseconds/1e3),data.seconds=seconds%60,minutes=absRound(seconds/60),data.minutes=minutes%60,hours=absRound(minutes/60),data.hours=hours%24,days+=absRound(hours/24),years=absRound(daysToYears(days)),days-=absRound(yearsToDays(years)),months+=absRound(days/30),days%=30,years+=absRound(months/12),months%=12,data.days=days,data.months=months,data.years=years},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return absRound(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12)},humanize:function(withSuffix){var output=relativeTime(this,!withSuffix,this.localeData());return withSuffix&&(output=this.localeData().pastFuture(+this,output)),this.localeData().postformat(output)},add:function(input,val){var dur=moment.duration(input,val);return this._milliseconds+=dur._milliseconds,this._days+=dur._days,this._months+=dur._months,this._bubble(),this},subtract:function(input,val){var dur=moment.duration(input,val);return this._milliseconds-=dur._milliseconds,this._days-=dur._days,this._months-=dur._months,this._bubble(),this},get:function(units){return units=normalizeUnits(units),this[units.toLowerCase()+"s"]()},as:function(units){var days,months;if(units=normalizeUnits(units),"month"===units||"year"===units)return days=this._days+this._milliseconds/864e5,months=this._months+12*daysToYears(days),"month"===units?months:months/12;switch(days=this._days+yearsToDays(this._months/12),units){case"week":return days/7+this._milliseconds/6048e5;case"day":return days+this._milliseconds/864e5;case"hour":return 24*days+this._milliseconds/36e5;case"minute":return 24*days*60+this._milliseconds/6e4;case"second":return 24*days*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*days*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+units)}},lang:moment.fn.lang,locale:moment.fn.locale,toIsoString:deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var years=Math.abs(this.years()),months=Math.abs(this.months()),days=Math.abs(this.days()),hours=Math.abs(this.hours()),minutes=Math.abs(this.minutes()),seconds=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(years?years+"Y":"")+(months?months+"M":"")+(days?days+"D":"")+(hours||minutes||seconds?"T":"")+(hours?hours+"H":"")+(minutes?minutes+"M":"")+(seconds?seconds+"S":""):"P0D"},localeData:function(){return this._locale}}),moment.duration.fn.toString=moment.duration.fn.toISOString;for(i in unitMillisecondFactors)hasOwnProp(unitMillisecondFactors,i)&&makeDurationGetter(i.toLowerCase());return moment.duration.fn.asMilliseconds=function(){return this.as("ms")},moment.duration.fn.asSeconds=function(){return this.as("s")},moment.duration.fn.asMinutes=function(){return this.as("m")},moment.duration.fn.asHours=function(){return this.as("h")},moment.duration.fn.asDays=function(){return this.as("d")},moment.duration.fn.asWeeks=function(){return this.as("weeks")},moment.duration.fn.asMonths=function(){return this.as("M")},moment.duration.fn.asYears=function(){return this.as("y")},moment.locale("en",{ordinal:function(number){var b=number%10,output=1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return number+output}}),moment}.call(this),UI.Utils.moment=moment,UI.datepicker}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-password",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("formPassword",{defaults:{lblShow:"Show",lblHide:"Hide"},boot:function(){UI.$html.on("click.formpassword.uikit","[data-uk-form-password]",function(e){var ele=UI.$(this);ele.data("formPassword")||(e.preventDefault(),UI.formPassword(ele,UI.Utils.options(ele.attr("data-uk-form-password"))),ele.trigger("click"))})},init:function(){var $this=this;this.on("click",function(e){if(e.preventDefault(),$this.input.length){var type=$this.input.attr("type");$this.input.attr("type","text"==type?"password":"text"),$this.element.html($this.options["text"==type?"lblShow":"lblHide"])}}),this.input=this.element.next("input").length?this.element.next("input"):this.element.prev("input"),this.element.html(this.options[this.input.is("[type='password']")?"lblShow":"lblHide"]),this.element.data("formPassword",this)}}),UI.formPassword}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-select",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("formSelect",{defaults:{target:">span:first",activeClass:"uk-active"},boot:function(){UI.ready(function(context){UI.$("[data-uk-form-select]",context).each(function(){var ele=UI.$(this);ele.data("formSelect")||UI.formSelect(ele,UI.Utils.options(ele.attr("data-uk-form-select")))})})},init:function(){var $this=this;this.target=this.find(this.options.target),this.select=this.find("select"),this.select.on("change",function(){var select=$this.select[0],fn=function(){try{$this.target.text(select.options[select.selectedIndex].text)}catch(e){}return $this.element[$this.select.val()?"addClass":"removeClass"]($this.options.activeClass),fn};return fn()}()),this.element.data("formSelect",this)}}),UI.formSelect}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-grid",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function getElementSize(ele){return _getSize(ele)}UI.component("grid",{defaults:{colwidth:"auto",animation:!0,duration:300,gutter:0,controls:!1,filter:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid]",context).each(function(){var ele=UI.$(this);ele.data("grid")||UI.grid(ele,UI.Utils.options(ele.attr("data-uk-grid")))})})},init:function(){var $this=this,gutter=String(this.options.gutter).trim().split(" ");this.gutterv=parseInt(gutter[0],10),this.gutterh=parseInt(gutter[1]||gutter[0],10),this.element.css({position:"relative"}),this.controls=null,this.options.controls&&(this.controls=UI.$(this.options.controls), -this.controls.on("click","[data-uk-filter]",function(e){e.preventDefault(),$this.filter(UI.$(this).data("ukFilter"))}),this.controls.on("click","[data-uk-sort]",function(e){e.preventDefault();var cmd=UI.$(this).attr("data-uk-sort").split(":");$this.sort(cmd[0],cmd[1])})),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){$this.currentfilter?$this.filter($this.currentfilter):this.updateLayout()}.bind(this),100)),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.updateLayout()}),UI.$html.on("changed.uk.dom",function(e){$this.updateLayout()}),this.options.filter!==!1?this.filter(this.options.filter):this.updateLayout()},_prepareElements:function(){var css,children=this.element.children(":not([data-grid-prepared])");children.length&&(css={position:"absolute","box-sizing":"border-box",width:"auto"==this.options.colwidth?"":this.options.colwidth},this.options.gutter&&(css["padding-left"]=this.gutterh,css["padding-bottom"]=this.gutterv,this.element.css("margin-left",-1*this.gutterh)),children.attr("data-grid-prepared","true").css(css))},updateLayout:function(elements){this._prepareElements(),elements=elements||this.element.children(":visible");var item,width,height,pos,i,z,max,size,children=elements,maxwidth=this.element.width()+2*this.gutterh+2,left=0,top=0,positions=[];this.trigger("beforeupdate.uk.grid",[children]),children.each(function(index){for(size=getElementSize(this),item=UI.$(this),width=size.outerWidth,height=size.outerHeight,left=0,top=0,i=0,max=positions.length;max>i;i++)pos=positions[i],left<=pos.aX&&(left=pos.aX),left+width>maxwidth&&(left=0),top<=pos.aY&&(top=pos.aY);positions.push({ele:item,top:top,left:left,width:width,height:height,aY:top+height,aX:left+width})});var posPrev,maxHeight=0;for(i=0,max=positions.length;max>i;i++){for(pos=positions[i],top=0,z=0;i>z;z++)posPrev=positions[z],pos.left-1&&(infilter=!0)})),elements[infilter?"visible":"hidden"].push(ele)}),elements.hidden=UI.$(elements.hidden).map(function(){return this[0]}),elements.visible=UI.$(elements.visible).map(function(){return this[0]}),elements.hidden.attr("aria-hidden","true").filter(":visible").fadeOut(this.options.duration),elements.visible.attr("aria-hidden","false").filter(":hidden").css("opacity",0).show(),$this.updateLayout(elements.visible),this.controls&&this.controls.length&&this.controls.find("[data-uk-filter]").removeClass("uk-active").filter('[data-uk-filter="'+filter+'"]').addClass("uk-active")},sort:function(by,order){order=order||1,"string"==typeof order&&(order="desc"==order.toLowerCase()?-1:1);var elements=this.element.children();elements.sort(function(a,b){return a=UI.$(a),b=UI.$(b),(b.data(by)||"")<(a.data(by)||"")?order:-1*order}).appendTo(this.element),this.updateLayout(elements.filter(":visible")),this.controls&&this.controls.length&&this.controls.find("[data-uk-sort]").removeClass("uk-active").filter('[data-uk-sort="'+by+":"+(-1==order?"desc":"asc")+'"]').addClass("uk-active")}});var _getSize=function(){function getStyleProperty(propName){if(propName){if("string"==typeof docElemStyle[propName])return propName;propName=propName.charAt(0).toUpperCase()+propName.slice(1);for(var prefixed,i=0,len=prefixes.length;len>i;i++)if(prefixed=prefixes[i]+propName,"string"==typeof docElemStyle[prefixed])return prefixed}}function getStyleSize(value){var num=parseFloat(value),isValid=-1===value.indexOf("%")&&!isNaN(num);return isValid&&num}function noop(){}function getZeroSize(){for(var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0,len=measurements.length;len>i;i++){var measurement=measurements[i];size[measurement]=0}return size}function setup(){if(!isSetup){isSetup=!0;var getComputedStyle=window.getComputedStyle;if(getStyle=function(){var getStyleFn=getComputedStyle?function(elem){return getComputedStyle(elem,null)}:function(elem){return elem.currentStyle};return function(elem){var style=getStyleFn(elem);return style||logError("Style returned "+style+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),style}}(),boxSizingProp=getStyleProperty("boxSizing")){var div=document.createElement("div");div.style.width="200px",div.style.padding="1px 2px 3px 4px",div.style.borderStyle="solid",div.style.borderWidth="1px 2px 3px 4px",div.style[boxSizingProp]="border-box";var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);isBoxSizeOuter=200===getStyleSize(style.width),body.removeChild(div)}}}function getSize(elem){if(setup(),"string"==typeof elem&&(elem=document.querySelector(elem)),elem&&"object"==typeof elem&&elem.nodeType){var style=getStyle(elem);if("none"===style.display)return getZeroSize();var size={};size.width=elem.offsetWidth,size.height=elem.offsetHeight;for(var isBorderBox=size.isBorderBox=!(!boxSizingProp||!style[boxSizingProp]||"border-box"!==style[boxSizingProp]),i=0,len=measurements.length;len>i;i++){var measurement=measurements[i],value=style[measurement],num=parseFloat(value);size[measurement]=isNaN(num)?0:num}var paddingWidth=size.paddingLeft+size.paddingRight,paddingHeight=size.paddingTop+size.paddingBottom,marginWidth=size.marginLeft+size.marginRight,marginHeight=size.marginTop+size.marginBottom,borderWidth=size.borderLeftWidth+size.borderRightWidth,borderHeight=size.borderTopWidth+size.borderBottomWidth,isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter,styleWidth=getStyleSize(style.width);styleWidth!==!1&&(size.width=styleWidth+(isBorderBoxSizeOuter?0:paddingWidth+borderWidth));var styleHeight=getStyleSize(style.height);return styleHeight!==!1&&(size.height=styleHeight+(isBorderBoxSizeOuter?0:paddingHeight+borderHeight)),size.innerWidth=size.width-(paddingWidth+borderWidth),size.innerHeight=size.height-(paddingHeight+borderHeight),size.outerWidth=size.width+marginWidth,size.outerHeight=size.height+marginHeight,size}}var getStyle,boxSizingProp,isBoxSizeOuter,prefixes="Webkit Moz ms Ms O".split(" "),docElemStyle=document.documentElement.style,logError="undefined"==typeof console?noop:function(message){console.error(message)},measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],isSetup=!1;return getSize}()}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-htmleditor",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var editors=[];return UI.component("htmleditor",{defaults:{iframe:!1,mode:"split",markdown:!1,autocomplete:!0,height:500,maxsplitsize:1e3,codemirror:{mode:"htmlmixed",lineWrapping:!0,dragDrop:!1,autoCloseTags:!0,matchTags:!0,autoCloseBrackets:!0,matchBrackets:!0,indentUnit:4,indentWithTabs:!1,tabSize:4,hintOptions:{completionSingle:!1}},toolbar:["bold","italic","strike","link","image","blockquote","listUl","listOl"],lblPreview:"Preview",lblCodeview:"HTML",lblMarkedview:"Markdown"},boot:function(){UI.ready(function(context){UI.$("textarea[data-uk-htmleditor]",context).each(function(){var editor=UI.$(this);editor.data("htmleditor")||UI.htmleditor(editor,UI.Utils.options(editor.attr("data-uk-htmleditor")))})})},init:function(){var $this=this,tpl=UI.components.htmleditor.template;this.CodeMirror=this.options.CodeMirror||CodeMirror,this.buttons={},tpl=tpl.replace(/\{:lblPreview}/g,this.options.lblPreview),tpl=tpl.replace(/\{:lblCodeview}/g,this.options.lblCodeview),this.htmleditor=UI.$(tpl),this.content=this.htmleditor.find(".uk-htmleditor-content"),this.toolbar=this.htmleditor.find(".uk-htmleditor-toolbar"),this.preview=this.htmleditor.find(".uk-htmleditor-preview").children().eq(0),this.code=this.htmleditor.find(".uk-htmleditor-code"),this.element.before(this.htmleditor).appendTo(this.code),this.editor=this.CodeMirror.fromTextArea(this.element[0],this.options.codemirror),this.editor.htmleditor=this,this.editor.on("change",UI.Utils.debounce(function(){$this.render()},150)),this.editor.on("change",function(){$this.editor.save(),$this.element.trigger("input")}),this.code.find(".CodeMirror").css("height",this.options.height),this.options.iframe?(this.iframe=UI.$(''),this.preview.append(this.iframe),this.iframe[0].contentWindow.document.open(),this.iframe[0].contentWindow.document.close(),this.preview.container=UI.$(this.iframe[0].contentWindow.document).find("body"),"string"==typeof this.options.iframe&&this.preview.container.parent().append('')):this.preview.container=this.preview,UI.$win.on("resize load",UI.Utils.debounce(function(){$this.fit()},200));var previewContainer=this.iframe?this.preview.container:$this.preview.parent(),codeContent=this.code.find(".CodeMirror-sizer"),codeScroll=this.code.find(".CodeMirror-scroll").on("scroll",UI.Utils.debounce(function(){if("tab"!=$this.htmleditor.attr("data-mode")){var codeHeight=codeContent.height()-codeScroll.height(),previewHeight=previewContainer[0].scrollHeight-($this.iframe?$this.iframe.height():previewContainer.height()),ratio=previewHeight/codeHeight,previewPosition=codeScroll.scrollTop()*ratio;previewContainer.scrollTop(previewPosition)}},10));this.htmleditor.on("click",".uk-htmleditor-button-code, .uk-htmleditor-button-preview",function(e){e.preventDefault(),"tab"==$this.htmleditor.attr("data-mode")&&($this.htmleditor.find(".uk-htmleditor-button-code, .uk-htmleditor-button-preview").removeClass("uk-active").filter(this).addClass("uk-active"),$this.activetab=UI.$(this).hasClass("uk-htmleditor-button-code")?"code":"preview",$this.htmleditor.attr("data-active-tab",$this.activetab),$this.editor.refresh())}),this.htmleditor.on("click","a[data-htmleditor-button]",function(){$this.code.is(":visible")&&$this.trigger("action."+UI.$(this).data("htmleditor-button"),[$this.editor])}),this.preview.parent().css("height",this.code.height()),this.options.autocomplete&&this.CodeMirror.showHint&&this.CodeMirror.hint&&this.CodeMirror.hint.html&&this.editor.on("inputRead",UI.Utils.debounce(function(){var doc=$this.editor.getDoc(),POS=doc.getCursor(),mode=$this.CodeMirror.innerMode($this.editor.getMode(),$this.editor.getTokenAt(POS).state).mode.name;if("xml"==mode){var cur=$this.editor.getCursor(),token=$this.editor.getTokenAt(cur);("<"==token.string.charAt(0)||"attribute"==token.type)&&$this.CodeMirror.showHint($this.editor,$this.CodeMirror.hint.html,{completeSingle:!1})}},100)),this.debouncedRedraw=UI.Utils.debounce(function(){$this.redraw()},5),this.on("init.uk.component",function(){$this.debouncedRedraw()}),this.element.attr("data-uk-check-display",1).on("display.uk.check",function(e){this.htmleditor.is(":visible")&&this.fit()}.bind(this)),editors.push(this)},addButton:function(name,button){this.buttons[name]=button},addButtons:function(buttons){UI.$.extend(this.buttons,buttons)},replaceInPreview:function(regexp,callback){function translateOffset(offset){var result=editor.getValue().substring(0,offset).split("\n");return{line:result.length-1,ch:result[result.length-1].length}}var editor=this.editor,results=[],value=editor.getValue(),offset=-1,index=0;return this.currentvalue=this.currentvalue.replace(regexp,function(){offset=value.indexOf(arguments[0],++offset);var match={matches:arguments,from:translateOffset(offset),to:translateOffset(offset+arguments[0].length),replace:function(value){editor.replaceRange(value,match.from,match.to)},inRange:function(cursor){return cursor.line===match.from.line&&cursor.line===match.to.line?cursor.ch>=match.from.ch&&cursor.ch=match.from.ch||cursor.line>match.from.line&&cursor.line'+$this.buttons[button].label+"")}}),this.toolbar.html(bar.join("\n"))}},fit:function(){var mode=this.options.mode;"split"==mode&&this.htmleditor.width()','
      ','
        ','
        ','","
        ","
        ",'
        ','
        ','
        ',"
        ","
        "].join(""),UI.plugin("htmleditor","base",{init:function(editor){function addAction(name,replace,mode){editor.on("action."+name,function(){"html"==editor.getCursorMode()&&editor["replaceLine"==mode?"replaceLine":"replaceSelection"](replace)})}editor.addButtons({fullscreen:{title:"Fullscreen",label:''},bold:{title:"Bold",label:''},italic:{title:"Italic",label:''},strike:{title:"Strikethrough",label:''},blockquote:{title:"Blockquote",label:''},link:{title:"Link",label:''},image:{title:"Image",label:''},listUl:{title:"Unordered List",label:''},listOl:{title:"Ordered List",label:''}}),addAction("bold","$1"),addAction("italic","$1"),addAction("strike","$1"),addAction("blockquote","

        $1

        ","replaceLine"),addAction("link",'$1'),addAction("image",'$1');var listfn=function(){if("html"==editor.getCursorMode()){for(var cm=editor.editor,pos=cm.getDoc().getCursor(!0),posend=cm.getDoc().getCursor(!1),i=pos.line;i"+cm.getLine(i)+"",{line:i,ch:0},{line:i,ch:cm.getLine(i).length});cm.setCursor({line:posend.line,ch:cm.getLine(posend.line).length}),cm.focus()}};editor.on("action.listUl",function(){listfn()}),editor.on("action.listOl",function(){listfn()}),editor.htmleditor.on("click",'a[data-htmleditor-button="fullscreen"]',function(){editor.htmleditor.toggleClass("uk-htmleditor-fullscreen");var wrap=editor.editor.getWrapperElement();if(editor.htmleditor.hasClass("uk-htmleditor-fullscreen"))editor.editor.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:wrap.style.width,height:wrap.style.height},wrap.style.width="",wrap.style.height=editor.content.height()+"px",document.documentElement.style.overflow="hidden";else{document.documentElement.style.overflow="";var info=editor.editor.state.fullScreenRestore;wrap.style.width=info.width,wrap.style.height=info.height,window.scrollTo(info.scrollLeft,info.scrollTop)}setTimeout(function(){editor.fit(),UI.$win.trigger("resize")},50)}),editor.addShortcut(["Ctrl-S","Cmd-S"],function(){editor.element.trigger("htmleditor-save",[editor])}),editor.addShortcutAction("bold",["Ctrl-B","Cmd-B"])}}),UI.plugin("htmleditor","markdown",{init:function(editor){function enableMarkdown(){editor.editor.setOption("mode","gfm"),editor.htmleditor.find(".uk-htmleditor-button-code a").html(editor.options.lblMarkedview)}function addAction(name,replace,mode){editor.on("action."+name,function(){"markdown"==editor.getCursorMode()&&editor["replaceLine"==mode?"replaceLine":"replaceSelection"](replace)})}var parser=editor.options.mdparser||marked||null;parser&&(editor.options.markdown&&enableMarkdown(),addAction("bold","**$1**"),addAction("italic","*$1*"),addAction("strike","~~$1~~"),addAction("blockquote","> $1","replaceLine"),addAction("link","[$1](http://)"),addAction("image","![$1](http://)"),editor.on("action.listUl",function(){if("markdown"==editor.getCursorMode()){for(var cm=editor.editor,pos=cm.getDoc().getCursor(!0),posend=cm.getDoc().getCursor(!1),i=pos.line;i0){var matches,prevline=cm.getLine(pos.line-1);(matches=prevline.match(/^(\d+)\./))&&(prefix=Number(matches[1])+1)}for(var i=pos.line;i','
        ','','
        ','
        ',"
        ","
        "].join("")).appendTo("body"),modal.dialog=modal.find(".uk-modal-dialog:first"),modal.content=modal.find(".uk-lightbox-content:first"),modal.loader=modal.find(".uk-modal-spinner:first"),modal.closer=modal.find(".uk-close.uk-close-alt"),modal.modal=UI.modal(modal,{modal:!1}),modal.on("swipeRight swipeLeft",function(e){modal.lightbox["swipeLeft"==e.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(e){e.preventDefault(),modal.lightbox[UI.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),modal.on("hide.uk.modal",function(e){modal.content.html("")}),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(e){modal.is(":visible")&&!UI.Utils.isFullscreen()&&modal.lightbox.fitSize()}.bind(this),100)),modal.lightbox=lightbox,modal)}var modal,cache={};return UI.component("lightbox",{defaults:{group:!1,duration:400,keyboard:!0},index:0,items:!1,boot:function(){UI.$html.on("click","[data-uk-lightbox]",function(e){e.preventDefault();var link=UI.$(this);link.data("lightbox")||UI.lightbox(link,UI.Utils.options(link.attr("data-uk-lightbox"))),link.data("lightbox").show(link)}),UI.$doc.on("keyup",function(e){if(modal&&modal.is(":visible")&&modal.lightbox.options.keyboard)switch(e.preventDefault(),e.keyCode){case 37:modal.lightbox.previous();break;case 39:modal.lightbox.next()}})},init:function(){var siblings=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var domSiblings=this.options.group?UI.$(['[data-uk-lightbox*="'+this.options.group+'"]',"[data-uk-lightbox*='"+this.options.group+"']"].join(",")):this.element;domSiblings.each(function(){var ele=UI.$(this);siblings.push({source:ele.attr("href"),title:ele.attr("data-title")||ele.attr("title"),type:ele.attr("data-lightbox-type")||"auto",link:ele})}),this.index=domSiblings.index(this.element),this.siblings=siblings}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(index){this.modal=getModal(this),this.modal.dialog.stop(),this.modal.content.stop();var data,item,$this=this,promise=UI.$.Deferred();index=index||0,"object"==typeof index&&this.siblings.forEach(function(s,idx){index[0]===s.link[0]&&(index=idx)}),0>index?index=this.siblings.length-index:this.siblings[index]||(index=0),item=this.siblings[index],data={lightbox:$this,source:item.source,type:item.type,index:index,promise:promise,title:item.title,item:item,meta:{content:"",width:null,height:null}},this.index=index,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),promise.promise().done(function(){$this.data=data,$this.fitSize(data)}).fail(function(){data.meta.content='
        Loading resource failed!
        ',data.meta.width=400,data.meta.height=300,$this.data=data,$this.fitSize(data)}),$this.trigger("showitem.uk.lightbox",[data])},fitSize:function(){var $this=this,data=this.data,pad=this.modal.dialog.outerWidth()-this.modal.dialog.width(),dpadTop=parseInt(this.modal.dialog.css("margin-top"),10),dpadBot=parseInt(this.modal.dialog.css("margin-bottom"),10),dpad=dpadTop+dpadBot,content=data.meta.content,duration=$this.options.duration;this.siblings.length>1&&(content=[content,'',''].join(""));var maxwidth,maxheight,tmp=UI.$("
         
        ").css({opacity:0,position:"absolute",top:0,left:0,width:"100%","max-width":$this.modal.dialog.css("max-width"),padding:$this.modal.dialog.css("padding"),margin:$this.modal.dialog.css("margin")}),w=data.meta.width,h=data.meta.height;tmp.appendTo("body").width(),maxwidth=tmp.width(),maxheight=window.innerHeight-dpad,tmp.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),data.title&&(this.modal.dialog.append('
        '+data.title+"
        "),maxheight-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),maxwidthmaxheight&&(h=Math.floor(maxheight),w=Math.ceil(data.meta.width*(maxheight/data.meta.height))),this.modal.content.css("opacity",0).width(w).html(content),"iframe"==data.type&&this.modal.content.find("iframe:first").height(h);var dh=h+pad,t=Math.floor(window.innerHeight/2-dh/2)-dpad;0>t&&(t=0),this.modal.closer.addClass("uk-hidden"),$this.modal.data("mwidth")==w&&$this.modal.data("mheight")==h&&(duration=0),this.modal.dialog.animate({width:w+pad,height:h+pad,top:t},duration,"swing",function(){$this.modal.loader.addClass("uk-hidden"),$this.modal.content.css({width:""}).animate({opacity:1},function(){$this.modal.closer.removeClass("uk-hidden")}),$this.modal.data({mwidth:w,mheight:h})})},next:function(){this.show(this.siblings[this.index+1]?this.index+1:0)},previous:function(){this.show(this.siblings[this.index-1]?this.index-1:this.siblings.length-1)}}),UI.plugin("lightbox","image",{init:function(lightbox){lightbox.on("showitem.uk.lightbox",function(e,data){if("image"==data.type||data.source&&data.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)){var resolve=function(source,width,height){data.meta={content:'',width:width,height:height},data.type="image",data.promise.resolve()};if(cache[data.source])resolve(data.source,cache[data.source].width,cache[data.source].height);else{var img=new Image;img.onerror=function(){data.promise.reject("Loading image failed")},img.onload=function(){cache[data.source]={width:img.width,height:img.height},resolve(data.source,cache[data.source].width,cache[data.source].height)},img.src=data.source}}})}}),UI.plugin("lightbox","youtube",{init:function(lightbox){var youtubeRegExp=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,youtubeRegExpShort=/youtu\.be\/(.*)/;lightbox.on("showitem.uk.lightbox",function(e,data){var id,matches,resolve=function(id,width,height){data.meta={content:'',width:width,height:height},data.type="iframe",data.promise.resolve()};if((matches=data.source.match(youtubeRegExp))&&(id=matches[2]),(matches=data.source.match(youtubeRegExpShort))&&(id=matches[1]),id){if(cache[id])resolve(id,cache[id].width,cache[id].height);else{var img=new Image,lowres=!1;img.onerror=function(){cache[id]={width:640,height:320},resolve(id,cache[id].width,cache[id].height)},img.onload=function(){120==img.width&&90==img.height?lowres?(cache[id]={width:640,height:320},resolve(id,cache[id].width,cache[id].height)):(lowres=!0,img.src="//img.youtube.com/vi/"+id+"/0.jpg"):(cache[id]={width:img.width,height:img.height},resolve(id,img.width,img.height))},img.src="//img.youtube.com/vi/"+id+"/maxresdefault.jpg"}e.stopImmediatePropagation()}})}}),UI.plugin("lightbox","vimeo",{init:function(lightbox){var matches,regex=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;lightbox.on("showitem.uk.lightbox",function(e,data){var id,resolve=function(id,width,height){data.meta={content:'',width:width,height:height},data.type="iframe",data.promise.resolve()};(matches=data.source.match(regex))&&(id=matches[2],cache[id]?resolve(id,cache[id].width,cache[id].height):UI.$.ajax({type:"GET",url:"http://vimeo.com/api/oembed.json?url="+encodeURI(data.source),jsonp:"callback",dataType:"jsonp",success:function(data){cache[id]={width:data.width,height:data.height},resolve(id,cache[id].width,cache[id].height)}}),e.stopImmediatePropagation())})}}),UI.plugin("lightbox","video",{init:function(lightbox){lightbox.on("showitem.uk.lightbox",function(e,data){var resolve=function(source,width,height){data.meta={content:'',width:width,height:height},data.type="video",data.promise.resolve()};if("video"==data.type||data.source.match(/\.(mp4|webm|ogv)$/i))if(cache[data.source])resolve(data.source,cache[data.source].width,cache[data.source].height);else var vid=UI.$('').attr("src",data.source).appendTo("body"),idle=setInterval(function(){vid[0].videoWidth&&(clearInterval(idle),cache[data.source]={width:vid[0].videoWidth,height:vid[0].videoHeight},resolve(data.source,cache[data.source].width,cache[data.source].height),vid.remove())},20)})}}),UI.lightbox.create=function(items,options){if(items){var o,group=[];return items.forEach(function(item){group.push(UI.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof item?{source:item}:item))}),o=UI.lightbox(UI.$.extend({},options,{group:group}))}},UI.lightbox}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-nestable",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var draggingElement,hasTouch="ontouchstart"in window,html=UI.$html,touchedlists=[],$win=UI.$win,eStart=hasTouch?"touchstart":"mousedown",eMove=hasTouch?"touchmove":"mousemove",eEnd=hasTouch?"touchend":"mouseup",eCancel=hasTouch?"touchcancel":"mouseup";return UI.component("nestable",{defaults:{listBaseClass:"uk-nestable",listClass:"uk-nestable-list",listItemClass:"uk-nestable-item",dragClass:"uk-nestable-dragged",movingClass:"uk-nestable-moving",noChildrenClass:"uk-nestable-nochildren",emptyClass:"uk-nestable-empty",handleClass:"",collapsedClass:"uk-collapsed",placeholderClass:"uk-nestable-placeholder",noDragClass:"uk-nestable-nodrag",group:!1,maxDepth:10,threshold:20,idlethreshold:10},boot:function(){UI.$html.on("mousemove touchmove",function(e){ -if(draggingElement){var top=draggingElement.offset().top;topwindow.innerHeight+UI.$win.scrollTop()&&UI.$win.scrollTop(UI.$win.scrollTop()+Math.ceil(draggingElement.height()/2))}}),UI.ready(function(context){UI.$("[data-uk-nestable]",context).each(function(){var ele=UI.$(this);ele.data("nestable")||UI.nestable(ele,UI.Utils.options(ele.attr("data-uk-nestable")))})})},init:function(){var $this=this;Object.keys(this.options).forEach(function(key){-1!=String(key).indexOf("Class")&&($this.options["_"+key]="."+$this.options[key])}),this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass),this.checkEmptyList(),this.reset(),this.element.data("nestable-group",this.options.group||UI.Utils.uid("nestable-group")),this.find(this.options._listItemClass).each(function(){$this.setParent(UI.$(this))}),this.on("click","[data-nestable-action]",function(e){if(!$this.dragEl&&(hasTouch||0===e.button)){e.preventDefault();var target=UI.$(e.currentTarget),action=target.data("nestableAction"),item=target.closest($this.options._listItemClass);"collapse"===action&&$this.collapseItem(item),"expand"===action&&$this.expandItem(item),"toggle"===action&&$this.toggleItem(item)}});var onStartEvent=function(e){var handle=UI.$(e.target);e.target!==$this.element[0]&&(handle.is($this.options._noDragClass)||handle.closest($this.options._noDragClass).length||handle.is("[data-nestable-action]")||handle.closest("[data-nestable-action]").length||($this.options.handleClass&&!handle.hasClass($this.options.handleClass)&&$this.options.handleClass&&(handle=handle.closest($this.options._handleClass)),!handle.length||$this.dragEl||!hasTouch&&0!==e.button||hasTouch&&1!==e.touches.length||(e.originalEvent&&e.originalEvent.touches&&(e=evt.originalEvent.touches[0]),$this.delayMove=function(evt){evt.preventDefault(),$this.dragStart(e),$this.trigger("start.uk.nestable",[$this]),$this.delayMove=!1},$this.delayMove.x=parseInt(e.pageX,10),$this.delayMove.y=parseInt(e.pageY,10),$this.delayMove.threshold=$this.options.idlethreshold,e.preventDefault())))},onMoveEvent=function(e){e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),$this.delayMove&&(Math.abs(e.pageX-$this.delayMove.x)>$this.delayMove.threshold||Math.abs(e.pageY-$this.delayMove.y)>$this.delayMove.threshold)&&(window.getSelection().toString()?$this.delayMove=!1:$this.delayMove(e)),$this.dragEl&&(e.preventDefault(),$this.dragMove(e),$this.trigger("move.uk.nestable",[$this]))},onEndEvent=function(e){$this.dragEl&&(e.preventDefault(),$this.dragStop(hasTouch?e.touches[0]:e)),draggingElement=!1,$this.delayMove=!1};hasTouch?(this.element[0].addEventListener(eStart,onStartEvent,!1),window.addEventListener(eMove,onMoveEvent,!1),window.addEventListener(eEnd,onEndEvent,!1),window.addEventListener(eCancel,onEndEvent,!1)):(this.on(eStart,onStartEvent),$win.on(eMove,onMoveEvent),$win.on(eEnd,onEndEvent))},serialize:function(){var data,depth=0,list=this,step=function(level,depth){var array=[],items=level.children(list.options._listItemClass);return items.each(function(){for(var attribute,li=UI.$(this),item={},sub=li.children(list.options._listClass),i=0;i").addClass(this.options.listClass+" "+this.options.dragClass).append(dragItem.clone()),this.dragEl.css("width",dragItem.width()),this.placeEl.addClass(this.options.placeholderClass),draggingElement=this.dragEl,this.tmpDragOnSiblings=[dragItem[0].previousSibling,dragItem[0].nextSibling],UI.$body.append(this.dragEl),this.dragEl.css({left:offset.left,top:offset.top});var i,depth,items=this.dragEl.find(this.options._listItemClass);for(i=0;ithis.dragDepth&&(this.dragDepth=depth);html.addClass(this.options.movingClass)},dragStop:function(e){var el=UI.$(this.placeEl),root=this.placeEl.parents(this.options._listBaseClass+":first");this.placeEl.removeClass(this.options.placeholderClass),this.dragEl.remove(),this.element[0]!==root[0]?(root.trigger("change.uk.nestable",[root.data("nestable"),el,"added"]),this.element.trigger("change.uk.nestable",[this,el,"removed"])):this.element.trigger("change.uk.nestable",[this,el,"moved"]),this.trigger("stop.uk.nestable",[this,el]),this.reset(),html.removeClass(this.options.movingClass)},dragMove:function(e){var list,parent,prev,next,depth,opt=this.options,mouse=this.mouse,maxDepth=this.dragRootEl?this.dragRootEl.data("nestable").options.maxDepth:opt.maxDepth;this.dragEl.css({left:e.pageX-mouse.offsetX,top:e.pageY-mouse.offsetY}),mouse.lastX=mouse.nowX,mouse.lastY=mouse.nowY,mouse.nowX=e.pageX,mouse.nowY=e.pageY,mouse.distX=mouse.nowX-mouse.lastX,mouse.distY=mouse.nowY-mouse.lastY,mouse.lastDirX=mouse.dirX,mouse.lastDirY=mouse.dirY,mouse.dirX=0===mouse.distX?0:mouse.distX>0?1:-1,mouse.dirY=0===mouse.distY?0:mouse.distY>0?1:-1;var newAx=Math.abs(mouse.distX)>Math.abs(mouse.distY)?1:0;if(!mouse.moving)return mouse.dirAx=newAx,void(mouse.moving=!0);if(mouse.dirAx!==newAx?(mouse.distAxX=0,mouse.distAxY=0):(mouse.distAxX+=Math.abs(mouse.distX),0!==mouse.dirX&&mouse.dirX!==mouse.lastDirX&&(mouse.distAxX=0),mouse.distAxY+=Math.abs(mouse.distY),0!==mouse.dirY&&mouse.dirY!==mouse.lastDirY&&(mouse.distAxY=0)),mouse.dirAx=newAx,mouse.dirAx&&mouse.distAxX>=opt.threshold&&(mouse.distAxX=0,prev=this.placeEl.prev("li"),mouse.distX>0&&prev.length&&!prev.hasClass(opt.collapsedClass)&&!prev.hasClass(opt.noChildrenClass)&&(list=prev.find(opt._listClass).last(),depth=this.placeEl.parents(opt._listClass+","+opt._listBaseClass).length,depth+this.dragDepth<=maxDepth&&(list.length?(list=prev.children(opt._listClass).last(),list.append(this.placeEl)):(list=UI.$("
          ").addClass(opt.listClass),list.append(this.placeEl),prev.append(list),this.setParent(prev)))),mouse.distX<0&&(next=this.placeEl.next(opt._listItemClass),!next.length))){var parentUl=this.placeEl.closest([opt._listBaseClass,opt._listClass].join(",")),surroundingLi=parentUl.closest(opt._listItemClass);surroundingLi.length&&(surroundingLi.after(this.placeEl),parentUl.children().length||this.unsetParent(surroundingLi))}var isEmpty=!1,pointX=e.pageX-(window.pageXOffset||document.scrollLeft||0),pointY=e.pageY-(window.pageYOffset||document.documentElement.scrollTop);if(this.pointEl=UI.$(document.elementFromPoint(pointX,pointY)),opt.handleClass&&this.pointEl.hasClass(opt.handleClass))this.pointEl=this.pointEl.closest(opt._listItemClass);else{var nestableitem=this.pointEl.closest(opt._listItemClass);nestableitem.length&&(this.pointEl=nestableitem)}if(!this.placeEl.find(this.pointEl).length){if(this.pointEl.data("nestable")&&!this.pointEl.children().length)isEmpty=!0,this.checkEmptyList(this.pointEl);else if(!this.pointEl.length||!this.pointEl.hasClass(opt.listItemClass))return;var pointElRoot=this.element,tmpRoot=this.pointEl.closest(this.options._listBaseClass),isNewRoot=pointElRoot[0]!=tmpRoot[0];if(!mouse.dirAx||isNewRoot||isEmpty){if(isNewRoot&&opt.group!==tmpRoot.data("nestable-group"))return;if(touchedlists.push(pointElRoot),depth=this.dragDepth-1+this.pointEl.parents(opt._listClass+","+opt._listBaseClass).length,depth>maxDepth)return;var before=e.pageY','',"
          ",""].join("")).data("notifyMessage",this),this.content(this.options.message),this.options.status&&(this.element.addClass("uk-notify-message-"+this.options.status),this.currentstatus=this.options.status),this.group=this.options.group,messages[this.uuid]=this,containers[this.options.pos]||(containers[this.options.pos]=UI.$('
          ').appendTo("body").on("click",".uk-notify-message",function(){var message=UI.$(this).data("notifyMessage");message.element.trigger("manualclose.uk.notify",[message]),message.close()}))};return UI.$.extend(Message.prototype,{uuid:!1,element:!1,timout:!1,currentstatus:"",group:!1,show:function(){if(!this.element.is(":visible")){var $this=this;containers[this.options.pos].show().prepend(this.element);var marginbottom=parseInt(this.element.css("margin-bottom"),10);return this.element.css({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0}).animate({opacity:1,"margin-top":0,"margin-bottom":marginbottom},function(){if($this.options.timeout){var closefn=function(){$this.close()};$this.timeout=setTimeout(closefn,$this.options.timeout),$this.element.hover(function(){clearTimeout($this.timeout)},function(){$this.timeout=setTimeout(closefn,$this.options.timeout)})}}),this}},close:function(instantly){var $this=this,finalize=function(){$this.element.remove(),containers[$this.options.pos].children().length||containers[$this.options.pos].hide(),$this.options.onClose.apply($this,[]),$this.element.trigger("close.uk.notify",[$this]),delete messages[$this.uuid]};this.timeout&&clearTimeout(this.timeout),instantly?finalize():this.element.animate({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0},function(){finalize()})},content:function(html){var container=this.element.find(">div");return html?(container.html(html),this):container.html()},status:function(status){return status?(this.element.removeClass("uk-notify-message-"+this.currentstatus).addClass("uk-notify-message-"+status),this.currentstatus=status,this):this.currentstatus}}),Message.defaults={message:"",status:"",timeout:5e3,group:null,pos:"top-center",onClose:function(){}},UI.notify=notify,UI.notify.message=Message,UI.notify.closeAll=closeAll,notify}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-pagination",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("pagination",{defaults:{items:1,itemsOnPage:1,pages:0,displayedPages:7,edges:1,currentPage:0,lblPrev:!1,lblNext:!1,onSelectPage:function(){}},boot:function(){UI.ready(function(context){UI.$("[data-uk-pagination]",context).each(function(){var ele=UI.$(this);ele.data("pagination")||UI.pagination(ele,UI.Utils.options(ele.attr("data-uk-pagination")))})})},init:function(){var $this=this;this.pages=this.options.pages?this.options.pages:Math.ceil(this.options.items/this.options.itemsOnPage)?Math.ceil(this.options.items/this.options.itemsOnPage):1,this.currentPage=this.options.currentPage,this.halfDisplayed=this.options.displayedPages/2,this.on("click","a[data-page]",function(e){e.preventDefault(),$this.selectPage(UI.$(this).data("page"))}),this._render()},_getInterval:function(){return{start:Math.ceil(this.currentPage>this.halfDisplayed?Math.max(Math.min(this.currentPage-this.halfDisplayed,this.pages-this.options.displayedPages),0):0),end:Math.ceil(this.currentPage>this.halfDisplayed?Math.min(this.currentPage+this.halfDisplayed,this.pages):Math.min(this.options.displayedPages,this.pages))}},render:function(pages){this.pages=pages?pages:this.pages,this._render()},selectPage:function(pageIndex,pages){this.currentPage=pageIndex,this.render(pages),this.options.onSelectPage.apply(this,[pageIndex]),this.trigger("select.uk.pagination",[pageIndex,this])},_render:function(){var i,o=this.options,interval=this._getInterval();if(this.element.empty(),o.lblPrev&&this._append(this.currentPage-1,{text:o.lblPrev}),interval.start>0&&o.edges>0){var end=Math.min(o.edges,interval.start);for(i=0;end>i;i++)this._append(i);o.edges..."):interval.start-o.edges==1&&this._append(o.edges)}for(i=interval.start;i0){this.pages-o.edges>interval.end&&this.pages-o.edges-interval.end!=1?this.element.append("
        • ...
        • "):this.pages-o.edges-interval.end==1&&this._append(interval.end++);var begin=Math.max(this.pages-o.edges,interval.end);for(i=begin;ipageIndex?0:pageIndex'+options.text+"":'
        • '+options.text+"
        • ",this.element.append(item)}}),UI.pagination}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-parallax",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function initBgImageParallax(obj,prop,opts){var url,element,size,check,ratio,width,height,img=new Image;return element=obj.element.css({"background-size":"cover","background-repeat":"no-repeat"}),url=element.css("background-image").replace(/^url\(/g,"").replace(/\)$/g,"").replace(/("|')/g,""),check=function(){var w=element.innerWidth(),h=element.innerHeight(),extra="bg"==prop?opts.diff:opts.diff/100*h;return h+=extra,w+=Math.ceil(extra*ratio),w-extraw/ratio?(width=Math.ceil(h*ratio),height=h,h>window.innerHeight&&(width=1.2*width,height=1.2*height)):(width=w,height=Math.ceil(w/ratio)),void element.css({"background-size":width+"px "+height+"px"}).data("bgsize",{w:width,h:height}))},img.onerror=function(){},img.onload=function(){size={w:img.width,h:img.height},ratio=img.width/img.height,UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){check()},50)),check()},img.src=url,!0}function calcColor(start,end,pos){return start=parseColor(start),end=parseColor(end),pos=pos||0,calculateColor(start,end,pos)}function calculateColor(begin,end,pos){var color="rgba("+parseInt(begin[0]+pos*(end[0]-begin[0]),10)+","+parseInt(begin[1]+pos*(end[1]-begin[1]),10)+","+parseInt(begin[2]+pos*(end[2]-begin[2]),10)+","+(begin&&end?parseFloat(begin[3]+pos*(end[3]-begin[3])):1);return color+=")"}function parseColor(color){var match,quadruplet;return quadruplet=(match=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(color))?[parseInt(match[1],16),parseInt(match[2],16),parseInt(match[3],16),1]:(match=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(color))?[17*parseInt(match[1],16),17*parseInt(match[2],16),17*parseInt(match[3],16),1]:(match=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))?[parseInt(match[1]),parseInt(match[2]),parseInt(match[3]),1]:(match=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(color))?[parseInt(match[1],10),parseInt(match[2],10),parseInt(match[3],10),parseFloat(match[4])]:colors[color]||[255,255,255,0]}var parallaxes=[],supports3d=!1,scrolltop=0,wh=window.innerHeight,checkParallaxes=function(){scrolltop=UI.$win.scrollTop(),window.requestAnimationFrame(function(){for(var i=0;i0&&"none"!==has3d}(),UI.$doc.on("scrolling.uk.document",checkParallaxes),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){wh=window.innerHeight,checkParallaxes()},50)),UI.ready(function(context){UI.$("[data-uk-parallax]",context).each(function(){var parallax=UI.$(this);parallax.data("parallax")||UI.parallax(parallax,UI.Utils.options(parallax.attr("data-uk-parallax")))})})},init:function(){this.base=this.options.target?UI.$(this.options.target):this.element,this.props={},this.velocity=this.options.velocity||1;var reserved=["target","velocity","viewport","plugins","media"];Object.keys(this.options).forEach(function(prop){if(-1===reserved.indexOf(prop)){var start,end,dir,diff,startend=String(this.options[prop]).split(",");prop.match(/color/i)?(start=startend[1]?startend[0]:this._getStartValue(prop),end=startend[1]?startend[1]:startend[0],start||(start="rgba(255,255,255,0)")):(start=parseFloat(startend[1]?startend[0]:this._getStartValue(prop)),end=parseFloat(startend[1]?startend[1]:startend[0]),diff=end>start?end-start:start-end,dir=end>start?1:-1),this.props[prop]={start:start,end:end,dir:dir,diff:diff}}}.bind(this)),parallaxes.push(this)},process:function(){if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidthscrolltop+wh?percent=0:scrolltop>top+height?percent=1:wh>top+height?percent=(wh>scrolltop?scrolltop:scrolltop-wh)/(top+height):(distance=scrolltop+wh-top,percentage=Math.round(distance/((wh+height)/100)),percent=percentage/100),percent},update:function(percent){var opts,val,css={transform:""},compercent=percent*(1-(this.velocity-this.velocity*percent));0>compercent&&(compercent=0),compercent>1&&(compercent=1),(void 0===this._percent||this._percent!=compercent)&&(Object.keys(this.props).forEach(function(prop){switch(opts=this.props[prop],0===percent?val=opts.start:1===percent?val=opts.end:void 0!==opts.diff&&(val=opts.start+opts.diff*compercent*opts.dir),"bg"!=prop&&"bgp"!=prop||this._bgcover||(this._bgcover=initBgImageParallax(this,prop,opts)),prop){case"x":css.transform+=supports3d?" translate3d("+val+"px, 0, 0)":" translateX("+val+"px)";break;case"xp":css.transform+=supports3d?" translate3d("+val+"%, 0, 0)":" translateX("+val+"%)";break;case"y":css.transform+=supports3d?" translate3d(0, "+val+"px, 0)":" translateY("+val+"px)";break;case"yp":css.transform+=supports3d?" translate3d(0, "+val+"%, 0)":" translateY("+val+"%)";break;case"rotate":css.transform+=" rotate("+val+"deg)";break;case"scale":css.transform+=" scale("+val+")";break;case"bg":css["background-position"]="50% "+val+"px";break;case"bgp":css["background-position"]="50% "+val+"%";break;case"color":case"background-color":case"border-color":css[prop]=calcColor(opts.start,opts.end,compercent);break;default:css[prop]=val}}.bind(this)),this.element.css(css),this._percent=compercent)},_getStartValue:function(prop){var value=0;switch(prop){case"scale":value=1;break;default:value=this.element.css(prop)}return value||0}});var colors={black:[0,0,0,1],blue:[0,0,255,1],brown:[165,42,42,1],cyan:[0,255,255,1],fuchsia:[255,0,255,1],gold:[255,215,0,1],green:[0,128,0,1],indigo:[75,0,130,1],khaki:[240,230,140,1],lime:[0,255,0,1],magenta:[255,0,255,1],maroon:[128,0,0,1],navy:[0,0,128,1],olive:[128,128,0,1],orange:[255,165,0,1],pink:[255,192,203,1],purple:[128,0,128,1],violet:[128,0,128,1],red:[255,0,0,1],silver:[192,192,192,1],white:[255,255,255,1],yellow:[255,255,0,1],transparent:[255,255,255,0]};return UI.parallax}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-grid-parallax",["uikit"],function(){return component||addon(UIkit)})}(function(UI){function getcolumns(element){for(var children=element.children(),first=children.filter(":visible:first"),top=first[0].offsetTop+first.outerHeight(),column=0;column=top);column++);return column||1}function percentageInViewport(element){var distance,percentage,percent,top=element.offset().top,height=element.outerHeight(),scrolltop=UIkit.$win.scrollTop(),wh=window.innerHeight;return top>scrolltop+wh?percent=0:scrolltop>top+height?percent=1:(wh>top+height?percent=(wh>scrolltop?scrolltop:scrolltop-wh)/(top+height):(distance=scrolltop+wh-top,percentage=Math.round(distance/((wh+height)/100)),percent=percentage/100),wh>top&&(percent=percent*scrolltop/(top+height-wh))),percent>1?1:percent}var parallaxes=[],checkParallaxes=function(){requestAnimationFrame(function(){for(var i=0;i1&&$this.element.css("margin-bottom",$this.options.translate+parseInt($this.element.css("margin-bottom")))};return UI.$(function(){fn()}),UI.Utils.debounce(fn,50)}())},initItems:function(){var smooth=this.options.smooth;return this.items=(this.options.target?this.element.find(this.options.target):this.element.children()).each(function(){UI.$(this).css({transition:"transform "+smooth+"ms linear",transform:""})}),this},process:function(){var percent=percentageInViewport(this.element),columns=getcolumns(this.element),items=this.items,mods=[columns-1];if(1==columns||!percent)return void items.css("transform","");for(;mods.length {{#msgResultsHeader}}
        • {{msgResultsHeader}}
        • {{/msgResultsHeader}} {{#items && items.length}} {{~items}}
        • {{{$item.title}}} {{#$item.text}}
          {{{$item.text}}}
          {{/$item.text}}
        • {{/items}} {{#msgMoreResults}}
        • {{msgMoreResults}}
        • {{/msgMoreResults}} {{/end}} {{^items.length}} {{#msgNoResults}}
        • {{msgNoResults}}
        • {{/msgNoResults}} {{/end}}
        ',renderer:function(data){var opts=this.options;this.dropdown.append(this.template({items:data.results||[],msgResultsHeader:opts.msgResultsHeader,msgMoreResults:opts.msgMoreResults,msgNoResults:opts.msgNoResults})),this.show()}},boot:function(){UI.$html.on("focus.search.uikit","[data-uk-search]",function(e){var ele=UI.$(this);ele.data("search")||UI.search(ele,UI.Utils.options(ele.attr("data-uk-search")))})},init:function(){var $this=this;this.autocomplete=UI.autocomplete(this.element,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-search"),this.autocomplete.input.on("keyup",function(){$this.element[$this.autocomplete.input.val()?"addClass":"removeClass"]("uk-active")}).closest("form").on("reset",function(){$this.value="",$this.element.removeClass("uk-active")}),this.on("selectitem.uk.autocomplete",function(e,data){data.url?location.href=data.url:data.moreresults&&$this.autocomplete.input.closest("form").submit()}),this.element.data("search",this)}})}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slider",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var dragging,delayIdle,anchor,dragged,store={};return UI.component("slider",{defaults:{center:!1,threshold:10,infinite:!0,autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0,activecls:"uk-active"},boot:function(){UI.ready(function(context){setTimeout(function(){UI.$("[data-uk-slider]",context).each(function(){var ele=UI.$(this);ele.data("slider")||UI.slider(ele,UI.Utils.options(ele.attr("data-uk-slider")))})},0)})},init:function(){var $this=this;this.container=this.element.find(".uk-slider"),this.focus=0,UI.$win.on("resize load",UI.Utils.debounce(function(){$this.resize(!0)},100)),this.on("click.uk.slider","[data-uk-slider-item]",function(e){e.preventDefault();var item=UI.$(this).attr("data-uk-slider-item");if($this.focus!=item)switch($this.stop(),item){case"next":case"previous":$this["next"==item?"next":"previous"]();break;default:$this.updateFocus(parseInt(item,10))}}),this.container.on({"touchstart mousedown":function(evt){evt.originalEvent&&evt.originalEvent.touches&&(evt=evt.originalEvent.touches[0]),evt.button&&2==evt.button||!$this.active||($this.stop(),anchor=UI.$(evt.target).is("a")?UI.$(evt.target):UI.$(evt.target).parents("a:first"),dragged=!1,anchor.length&&anchor.one("click",function(e){dragged&&e.preventDefault()}),delayIdle=function(e){dragged=!0,dragging=$this,store={touchx:parseInt(e.pageX,10),dir:1,focus:$this.focus,base:$this.options.center?"center":"area"},e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),dragging.element.data({"pointer-start":{x:parseInt(e.pageX,10),y:parseInt(e.pageY,10)},"pointer-pos-start":$this.pos}),$this.container.addClass("uk-drag"),delayIdle=!1},delayIdle.x=parseInt(evt.pageX,10),delayIdle.threshold=$this.options.threshold)},mouseenter:function(){$this.options.pauseOnHover&&($this.hovering=!0)},mouseleave:function(){$this.hovering=!1}}),this.resize(!0),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.resize(!0)}),this.element.find("a,img").attr("draggable","false"),this.options.autoplay&&this.start()},resize:function(focus){var item,width,cwidth,size,$this=this,pos=0,maxheight=0;return this.items=this.container.children().filter(":visible"),this.vp=this.element[0].getBoundingClientRect().width,this.container.css({"min-width":"","min-height":""}),this.items.each(function(idx){item=UI.$(this),size=item.css({left:"",width:""})[0].getBoundingClientRect(),width=size.width,cwidth=item.width(),maxheight=Math.max(maxheight,size.height),item.css({left:pos,width:width}).data({idx:idx,left:pos,width:width,cwidth:cwidth,area:pos+width,center:pos-($this.vp/2-cwidth/2)}),pos+=width}),this.container.css({"min-width":pos,"min-height":maxheight}),this.options.infinite&&(pos<=2*this.vp||this.items.length<5)&&!this.itemsResized?(this.container.children().each(function(idx){$this.container.append($this.items.eq(idx).clone(!0).attr("id",""))}).each(function(idx){$this.container.append($this.items.eq(idx).clone(!0).attr("id",""))}),this.itemsResized=!0,this.resize()):(this.cw=pos,this.pos=0,this.active=pos>=this.vp,this.container.css({"-ms-transform":"","-webkit-transform":"",transform:""}),void(focus&&this.updateFocus(this.focus))); -},updatePos:function(pos){this.pos=pos,this.container.css({"-ms-transform":"translateX("+pos+"px)","-webkit-transform":"translateX("+pos+"px)",transform:"translateX("+pos+"px)"})},updateFocus:function(idx,dir){if(this.active){dir=dir||(idx>this.focus?1:-1);var area,i,item=this.items.eq(idx);if(this.options.infinite&&this.infinite(idx,dir),this.options.center)this.updatePos(-1*item.data("center")),this.items.filter("."+this.options.activecls).removeClass(this.options.activecls),item.addClass(this.options.activecls);else if(this.options.infinite)this.updatePos(-1*item.data("left"));else{for(area=0,i=idx;ithis.vp)this.updatePos(-1*item.data("left"));else if(1==dir){for(area=0,i=this.items.length-1;i>=0;i--){if(area+=this.items.eq(i).data("width"),area==this.vp){idx=i;break}if(area>this.vp){idx=ithis.vp?this.updatePos(-1*(this.container.width()-this.vp)):this.updatePos(-1*this.items.eq(idx).data("left"))}}var left=this.items.eq(idx).data("left");this.items.removeClass("uk-slide-before uk-slide-after").each(function(i){i!==idx&&UI.$(this).addClass(UI.$(this).data("left")this.vp));i++)z=z+1==this.items.length?0:z+1;move.length&&move.forEach(function(itm){var left=item.data("area");itm.css({left:left}).data({left:left,area:left+itm.data("width"),center:left-($this.vp/2-itm.data("cwidth")/2)}),item=itm})}else{for(i=this.items.length-1;i>-1&&(area+=this.items.eq(z).data("width"),z!=baseidx&&move.push(this.items.eq(z)),!(area>this.vp));i--)z=z-1==-1?this.items.length-1:z-1;move.length&&move.forEach(function(itm){var left=item.data("left")-itm.data("width");itm.css({left:left}).data({left:left,area:left+itm.data("width"),center:left-($this.vp/2-itm.data("cwidth")/2)}),item=itm})}}}),UI.$doc.on("mousemove.uk.slider touchmove.uk.slider",function(e){if(e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),delayIdle&&Math.abs(e.pageX-delayIdle.x)>delayIdle.threshold&&(window.getSelection().toString()?dragging=delayIdle=!1:delayIdle(e)),dragging){var x,xDiff,pos,dir,focus,item,diff,i,z,itm;if(e.clientX||e.clientY?x=e.clientX:(e.pageX||e.pageY)&&(x=e.pageX-document.body.scrollLeft-document.documentElement.scrollLeft),focus=store.focus,xDiff=x-dragging.element.data("pointer-start").x,pos=dragging.element.data("pointer-pos-start")+xDiff,dir=x>dragging.element.data("pointer-start").x?-1:1,item=dragging.items.eq(store.focus),1==dir)for(diff=item.data("left")+Math.abs(xDiff),i=0,z=store.focus;idiff){focus=z;break}z=z+1==dragging.items.length?0:z+1}else for(diff=item.data("left")-Math.abs(xDiff),i=0,z=store.focus;istore.diff){focus=z;break}z=z+1==dragging.items.length?0:z+1}else for(i=0,z=store.focus;i').css({"background-image":"url("+media.attr("src")+")"});media.attr("width")&&media.attr("height")&&(placeholder=UI.$("").attr({width:media.attr("width"),height:media.attr("height")}),media.replaceWith(placeholder),media=placeholder,placeholder=void 0),media.css({width:"100%",height:"auto",opacity:0}),slide.prepend(cover).data("cover",cover);break;case"IFRAME":var src=media[0].src,iframeId="sw-"+ ++playerId;media.attr("src","").on("load",function(){if((index!==$this.current||index==$this.current&&!$this.options.videoautoplay)&&$this.pausemedia(media),$this.options.videomute){$this.mutemedia(media);var inv=setInterval(function(ic){return function(){$this.mutemedia(media),++ic>=4&&clearInterval(inv)}}(0),250)}}).data("slideshow",$this).attr("data-player-id",iframeId).attr("src",[src,src.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1&player_id="+iframeId].join("")).addClass("uk-position-absolute"),UI.support.touch||media.css("pointer-events","none"),placeholder=!0,UI.cover&&(UI.cover(media),media.attr("data-uk-cover","{}"));break;case"VIDEO":media.addClass("uk-cover-object uk-position-absolute"),placeholder=!0,$this.options.videomute&&$this.mutemedia(media)}if(placeholder){canvas=UI.$("").attr({width:media[0].width,height:media[0].height});var img=UI.$('').attr("src",canvas[0].toDataURL());slide.prepend(img),slide.data("sizer",img)}}else slide.data("sizer",slide);$this.hasKenBurns(slide)&&slide.data("cover").css({"-webkit-animation-duration":kbanimduration,"animation-duration":kbanimduration})}),this.on("click.uk.slideshow","[data-uk-slideshow-item]",function(e){e.preventDefault();var slide=UI.$(this).attr("data-uk-slideshow-item");if($this.current!=slide){switch(slide){case"next":case"previous":$this["next"==slide?"next":"previous"]();break;default:$this.show(parseInt(slide,10))}$this.stop()}}),this.slides.attr("aria-hidden","true").eq(this.current).addClass("uk-active").attr("aria-hidden","false"),this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass("uk-active"),UI.$win.on("resize load",UI.Utils.debounce(function(){$this.resize(),$this.fixFullscreen&&($this.container.css("height",window.innerHeight),$this.slides.css("height",window.innerHeight))},100)),setTimeout(function(){$this.resize()},80),this.options.autoplay&&this.start(),this.options.videoautoplay&&this.slides.eq(this.current).data("media")&&this.playmedia(this.slides.eq(this.current).data("media")),this.options.kenburns&&this.applyKenBurns(this.slides.eq(this.current)),this.container.on({mouseenter:function(){$this.options.pauseOnHover&&($this.hovering=!0)},mouseleave:function(){$this.hovering=!1}}),this.on("swipeRight swipeLeft",function(e){$this["swipeLeft"==e.type?"next":"previous"]()}),this.on("display.uk.check",function(){$this.element.is(":visible")&&($this.resize(),$this.fixFullscreen&&($this.container.css("height",window.innerHeight),$this.slides.css("height",window.innerHeight)))})},resize:function(){if(!this.container.hasClass("uk-slideshow-fullscreen")){var height=this.options.height;"auto"===this.options.height&&(height=0,this.slides.css("height","").each(function(){height=Math.max(height,UI.$(this).height())})),this.container.css("height",height),this.slides.css("height",height)}},show:function(index,direction){if(!this.animating&&this.current!=index){this.animating=!0;var $this=this,current=this.slides.eq(this.current),next=this.slides.eq(index),dir=direction?direction:this.current-1&&"ready"==data.event&&data.player_id&&(iframe=UI.$('[data-player-id="'+data.player_id+'"]'),iframe.length&&iframe.data("slideshow").mutemedia(iframe))},!1)}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slideshow-fx",["uikit","uikit-slideshow"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var Animations=UI.slideshow.animations;UI.$.extend(UI.slideshow.animations,{slice:function(current,next,dir,fromfx){if(!current.data("cover"))return Animations.fade.apply(this,arguments);for(var bar,d=UI.$.Deferred(),sliceWidth=Math.ceil(this.element.width()/this.options.slices),bgimage=next.data("cover").css("background-image"),ghost=UI.$("
      • ").css({top:0,left:0,width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),ghostWidth=ghost.width(),ghostHeight=ghost.height(),pos="slice-up"==fromfx?ghostHeight:"0",i=0;i').css({position:"absolute",top:0,left:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,clip:clipfrom,opacity:0,transition:"all "+this.options.duration+"ms ease-in-out "+60*i+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+60*i+"ms"}).data("clip",clipto),ghost.append(bar)}return this.container.append(ghost),ghost.children().last().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}),ghost.width(),ghost.children().each(function(){var bar=UI.$(this);bar.css({clip:bar.data("clip"),opacity:1})}),d.promise()},"slice-up":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-up"])},"slice-down":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-down"])},"slice-up-down":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-up-down"])},fold:function(current,next,dir){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var bar,d=UI.$.Deferred(),sliceWidth=Math.ceil(this.element.width()/this.options.slices),bgimage=next.data("cover").css("background-image"),ghost=UI.$("
      • ").css({width:next.width(),height:next.height(),opacity:1,zIndex:15}),ghostWidth=next.width(),ghostHeight=next.height(),i=0;i').css({position:"absolute",top:0,left:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,"transform-origin":sliceWidth*i+"px 0 0",clip:"rect(0px, "+sliceWidth*(i+1)+"px, "+ghostHeight+"px, "+sliceWidth*i+"px)",opacity:0,transform:"scaleX(0.000001)",transition:"all "+this.options.duration+"ms ease-in-out "+(100+60*i)+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+(100+60*i)+"ms"}),ghost.prepend(bar);return this.container.append(ghost),ghost.width(),ghost.children().first().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}).end().css({transform:"scaleX(1)",opacity:1}),d.promise()},puzzle:function(current,next,dir){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var box,rect,width,d=UI.$.Deferred(),$this=this,boxCols=Math.round(this.options.slices/2),boxWidth=Math.round(next.width()/boxCols),boxRows=Math.round(next.height()/boxWidth),boxHeight=Math.round(next.height()/boxRows)+1,bgimage=next.data("cover").css("background-image"),ghost=UI.$("
      • ").css({width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),ghostWidth=this.container.width(),ghostHeight=this.container.height(),rows=0;boxRows>rows;rows++)for(var cols=0;boxCols>cols;cols++)width=cols==boxCols-1?boxWidth+2:boxWidth,rect=[boxHeight*rows+"px",width*(cols+1)+"px",boxHeight*(rows+1)+"px",boxWidth*cols+"px"],box=UI.$('
        ').css({position:"absolute",top:0,left:0,opacity:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,clip:"rect("+rect.join(",")+")","-webkit-transform":"translateZ(0)",transform:"translateZ(0)"}),ghost.append(box);this.container.append(ghost);var boxes=shuffle(ghost.children());return boxes.each(function(i){UI.$(this).css({transition:"all "+$this.options.duration+"ms ease-in-out "+(50+25*i)+"ms","-webkit-transition":"all "+$this.options.duration+"ms ease-in-out "+(50+25*i)+"ms"})}).last().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}),ghost.width(),boxes.css({opacity:1}),d.promise()},boxes:function(current,next,dir,fromfx){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var box,rect,width,cols,d=UI.$.Deferred(),boxCols=Math.round(this.options.slices/2),boxWidth=Math.round(next.width()/boxCols),boxRows=Math.round(next.height()/boxWidth),boxHeight=Math.round(next.height()/boxRows)+1,bgimage=next.data("cover").css("background-image"),ghost=UI.$("
      • ").css({width:next.width(),height:next.height(),opacity:1,zIndex:15}),ghostWidth=next.width(),ghostHeight=next.height(),rows=0;boxRows>rows;rows++)for(cols=0;boxCols>cols;cols++)width=cols==boxCols-1?boxWidth+2:boxWidth,rect=[boxHeight*rows+"px",width*(cols+1)+"px",boxHeight*(rows+1)+"px",boxWidth*cols+"px"],box=UI.$('
        ').css({position:"absolute",top:0,left:0,opacity:1,width:ghostWidth,height:ghostHeight,"background-image":bgimage,"transform-origin":rect[3]+" "+rect[0]+" 0",clip:"rect("+rect.join(",")+")","-webkit-transform":"scale(0.0000000000000001)",transform:"scale(0.0000000000000001)"}),ghost.append(box);this.container.append(ghost);var prevCol,rowIndex=0,colIndex=0,timeBuff=0,box2Darr=[[]],boxes=ghost.children();for("boxes-reverse"==fromfx&&(boxes=[].reverse.apply(boxes)),boxes.each(function(){box2Darr[rowIndex][colIndex]=UI.$(this),colIndex++,colIndex==boxCols&&(rowIndex++,colIndex=0,box2Darr[rowIndex]=[])}),cols=0,prevCol=0;boxCols*boxRows>cols;cols++){prevCol=cols;for(var row=0;boxRows>row;row++)prevCol>=0&&boxCols>prevCol&&box2Darr[row][prevCol].css({transition:"all "+this.options.duration+"ms linear "+(50+timeBuff)+"ms","-webkit-transition":"all "+this.options.duration+"ms linear "+(50+timeBuff)+"ms"}),prevCol--;timeBuff+=100}return boxes.last().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}),ghost.width(),boxes.css({"-webkit-transform":"scale(1)",transform:"scale(1)"}),d.promise()},"boxes-reverse":function(current,next,dir){return Animations.boxes.apply(this,[current,next,dir,"boxes-reverse"])},"random-fx":function(){var animations=["slice-up","fold","puzzle","slice-down","boxes","slice-up-down","boxes-reverse"];return this.fxIndex=(void 0===this.fxIndex?-1:this.fxIndex)+1,animations[this.fxIndex]||(this.fxIndex=0),Animations[animations[this.fxIndex]].apply(this,arguments)}});var shuffle=function(arr){for(var j,x,i=arr.length;i;j=parseInt(Math.random()*i),x=arr[--i],arr[i]=arr[j],arr[j]=x);return arr};return UI.slideshow.animations}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-sortable",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function closestSortable(ele){ele=UI.$(ele);do{if(ele.data("sortable"))return ele;ele=UI.$(ele).parent()}while(ele.length);return ele}function isBelow(el1,el2){var parent=el1.parentNode;if(el2.parentNode!=parent)return!1;for(var cur=el1.previousSibling;cur&&9!==cur.nodeType;){if(cur===el2)return!0;cur=cur.previousSibling}return!1}function moveUpToChildNode(parent,child){var cur=child;if(cur==parent)return null;for(;cur;){if(cur.parentNode===parent)return cur;if(cur=cur.parentNode,!cur||!cur.ownerDocument||11===cur.nodeType)break}return null}function prevent(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1}var draggingPlaceholder,currentlyDraggingElement,currentlyDraggingTarget,dragging,moving,clickedlink,delayIdle,touchedlists,moved,overElement,supportsTouch="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch;return UI.component("sortable",{defaults:{animation:150,threshold:10,childClass:"uk-sortable-item",placeholderClass:"uk-sortable-placeholder",overClass:"uk-sortable-over",draggingClass:"uk-sortable-dragged",dragMovingClass:"uk-sortable-moving",baseClass:"uk-sortable",noDragClass:"uk-sortable-nodrag",emptyClass:"uk-sortable-empty",dragCustomClass:"",handleClass:!1,group:!1,stop:function(){},start:function(){},change:function(){}},boot:function(){UI.ready(function(context){UI.$("[data-uk-sortable]",context).each(function(){var ele=UI.$(this);ele.data("sortable")||UI.sortable(ele,UI.Utils.options(ele.attr("data-uk-sortable")))})}),UI.$html.on("mousemove touchmove",function(e){if(delayIdle){var src=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0]:e;(Math.abs(src.pageX-delayIdle.pos.x)>delayIdle.threshold||Math.abs(src.pageY-delayIdle.pos.y)>delayIdle.threshold)&&delayIdle.apply(src)}if(draggingPlaceholder){moving||(moving=!0,draggingPlaceholder.show(),draggingPlaceholder.$current.addClass(draggingPlaceholder.$sortable.options.placeholderClass),draggingPlaceholder.$sortable.element.children().addClass(draggingPlaceholder.$sortable.options.childClass),UI.$html.addClass(draggingPlaceholder.$sortable.options.dragMovingClass));var offset=draggingPlaceholder.data("mouse-offset"),left=parseInt(e.originalEvent.pageX,10)+offset.left,top=parseInt(e.originalEvent.pageY,10)+offset.top;if(draggingPlaceholder.css({left:left,top:top}),top+draggingPlaceholder.height()/3>document.body.offsetHeight)return;topwindow.innerHeight+UI.$win.scrollTop()&&UI.$win.scrollTop(UI.$win.scrollTop()+Math.ceil(draggingPlaceholder.height()/3))}}),UI.$html.on("mouseup touchend",function(e){if(delayIdle=clickedlink=!1,!currentlyDraggingElement||!draggingPlaceholder)return void(currentlyDraggingElement=draggingPlaceholder=null);var sortable=closestSortable(currentlyDraggingElement),component=draggingPlaceholder.$sortable,ev={type:e.type};sortable[0]&&component.dragDrop(ev,component.element),component.dragEnd(ev,component.element)})},init:function(){function addDragHandlers(){supportsTouch?element.addEventListener("touchmove",handleTouchMove,!1):(element.addEventListener("mouseover",handleDragEnter,!1),element.addEventListener("mouseout",handleDragLeave,!1))}function removeDragHandlers(){supportsTouch?element.removeEventListener("touchmove",handleTouchMove,!1):(element.removeEventListener("mouseover",handleDragEnter,!1),element.removeEventListener("mouseout",handleDragLeave,!1))}function handleDragMove(e){currentlyDraggingElement&&$this.dragMove(e,$this)}function delegate(fn){return function(e){var touch,target,context;e&&(touch=supportsTouch&&e.touches&&e.touches[0]||{},target=touch.target||e.target,supportsTouch&&document.elementFromPoint&&(target=document.elementFromPoint(e.pageX-document.body.scrollLeft,e.pageY-document.body.scrollTop)),overElement=UI.$(target)),UI.$(target).hasClass($this.options.childClass)?fn.apply(target,[e]):target!==element&&(context=moveUpToChildNode(element,target),context&&fn.apply(context,[e]))}}var $this=this,element=this.element[0];touchedlists=[],this.checkEmptyList(),this.element.data("sortable-group",this.options.group?this.options.group:UI.Utils.uid("sortable-group"));var handleDragStart=delegate(function(e){if(!e.data||!e.data.sortable){var $target=UI.$(e.target),$link=$target.is("a[href]")?$target:$target.parents("a[href]");if(!$target.is(":input"))return e.preventDefault(),!supportsTouch&&$link.length&&$link.one("click",function(e){e.preventDefault()}).one("mouseup",function(){moved||$link.trigger("click")}),e.data=e.data||{},e.data.sortable=element,$this.dragStart(e,this)}}),handleDragEnter=delegate(UI.Utils.debounce(function(e){return $this.dragEnter(e,this)}),40),handleDragLeave=delegate(function(e){var previousCounter=$this.dragenterData(this);$this.dragenterData(this,previousCounter-1),$this.dragenterData(this)||(UI.$(this).removeClass($this.options.overClass),$this.dragenterData(this,!1))}),handleTouchMove=delegate(function(e){return currentlyDraggingElement&¤tlyDraggingElement!==this&¤tlyDraggingTarget!==this?($this.element.children().removeClass($this.options.overClass),currentlyDraggingTarget=this,$this.moveElementNextTo(currentlyDraggingElement,this),prevent(e)):!0});this.addDragHandlers=addDragHandlers,this.removeDragHandlers=removeDragHandlers,window.addEventListener(supportsTouch?"touchmove":"mousemove",handleDragMove,!1),element.addEventListener(supportsTouch?"touchstart":"mousedown",handleDragStart,!1)},dragStart:function(e,elem){moved=!1,moving=!1,dragging=!1;var $this=this,target=UI.$(e.target);if(supportsTouch||2!=e.button){if($this.options.handleClass){var handle=target.hasClass($this.options.handleClass)?target:target.closest("."+$this.options.handleClass,$this.element);if(!handle.length)return}if(!target.is("."+$this.options.noDragClass)&&!target.closest("."+$this.options.noDragClass).length&&!target.is(":input")){currentlyDraggingElement=elem,draggingPlaceholder&&draggingPlaceholder.remove();var $current=UI.$(currentlyDraggingElement),offset=$current.offset();delayIdle={pos:{x:e.pageX,y:e.pageY},threshold:$this.options.threshold,apply:function(evt){draggingPlaceholder=UI.$('
        ').css({display:"none",top:offset.top,left:offset.left,width:$current.width(),height:$current.height(),padding:$current.css("padding")}).data({"mouse-offset":{left:offset.left-parseInt(evt.pageX,10),top:offset.top-parseInt(evt.pageY,10)},origin:$this.element,index:$current.index()}).append($current.html()).appendTo("body"),draggingPlaceholder.$current=$current,draggingPlaceholder.$sortable=$this,$current.data({"start-list":$current.parent(),"start-index":$current.index(),"sortable-group":$this.options.group}),$this.addDragHandlers(),$this.options.start(this,currentlyDraggingElement),$this.trigger("start.uk.sortable",[$this,currentlyDraggingElement]),moved=!0,delayIdle=!1}}}}},dragMove:function(e,elem){overElement=UI.$(document.elementFromPoint(e.pageX-(document.body.scrollLeft||document.scrollLeft||0),e.pageY-(document.body.scrollTop||document.documentElement.scrollTop||0)));var overChild,overRoot=overElement.closest("."+this.options.baseClass),groupOver=overRoot.data("sortable-group"),$current=UI.$(currentlyDraggingElement),currentRoot=$current.parent(),groupCurrent=$current.data("sortable-group");overRoot[0]!==currentRoot[0]&&void 0!==groupCurrent&&groupOver===groupCurrent&&(overRoot.data("sortable").addDragHandlers(),touchedlists.push(overRoot),overRoot.children().addClass(this.options.childClass),overRoot.children().length>0?(overChild=overElement.closest("."+this.options.childClass),overChild.length?overChild.before($current):overRoot.append($current)):overElement.append($current),UIkit.$doc.trigger("mouseover")),this.checkEmptyList(),this.checkEmptyList(currentRoot)},dragEnter:function(e,elem){if(!currentlyDraggingElement||currentlyDraggingElement===elem)return!0;var previousCounter=this.dragenterData(elem);if(this.dragenterData(elem,previousCounter+1),0===previousCounter){var currentlist=UI.$(elem).parent(),startlist=UI.$(currentlyDraggingElement).data("start-list");if(currentlist[0]!==startlist[0]){var groupOver=currentlist.data("sortable-group"),groupCurrent=UI.$(currentlyDraggingElement).data("sortable-group");if((groupOver||groupCurrent)&&groupOver!=groupCurrent)return!1}UI.$(elem).addClass(this.options.overClass),this.moveElementNextTo(currentlyDraggingElement,elem)}return!1},dragEnd:function(e,elem){var $this=this;currentlyDraggingElement&&(this.options.stop(elem),this.trigger("stop.uk.sortable",[this])),currentlyDraggingElement=null,currentlyDraggingTarget=null,touchedlists.push(this.element),touchedlists.forEach(function(el,i){UI.$(el).children().each(function(){1===this.nodeType&&(UI.$(this).removeClass($this.options.overClass).removeClass($this.options.placeholderClass).removeClass($this.options.childClass),$this.dragenterData(this,!1))})}),touchedlists=[],UI.$html.removeClass(this.options.dragMovingClass), -this.removeDragHandlers(),draggingPlaceholder&&(draggingPlaceholder.remove(),draggingPlaceholder=null)},dragDrop:function(e,elem){"drop"===e.type&&(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()),this.triggerChangeEvents()},triggerChangeEvents:function(){if(currentlyDraggingElement){var $current=UI.$(currentlyDraggingElement),oldRoot=draggingPlaceholder.data("origin"),newRoot=$current.closest("."+this.options.baseClass),triggers=[],el=UI.$(currentlyDraggingElement);oldRoot[0]===newRoot[0]&&draggingPlaceholder.data("index")!=$current.index()?triggers.push({sortable:this,mode:"moved"}):oldRoot[0]!=newRoot[0]&&triggers.push({sortable:UI.$(newRoot).data("sortable"),mode:"added"},{sortable:UI.$(oldRoot).data("sortable"),mode:"removed"}),triggers.forEach(function(trigger,i){trigger.sortable&&trigger.sortable.element.trigger("change.uk.sortable",[trigger.sortable,el,trigger.mode])})}},dragenterData:function(element,val){return element=UI.$(element),1==arguments.length?parseInt(element.data("child-dragenter"),10)||0:void(val?element.data("child-dragenter",Math.max(0,val)):element.removeData("child-dragenter"))},moveElementNextTo:function(element,elementToMoveNextTo){dragging=!0;var $this=this,list=UI.$(element).parent().css("min-height",""),next=isBelow(element,elementToMoveNextTo)?elementToMoveNextTo:elementToMoveNextTo.nextSibling,children=list.children(),count=children.length;return $this.options.animation?(list.css("min-height",list.height()),children.stop().each(function(){var ele=UI.$(this),offset=ele.position();offset.width=ele.width(),ele.data("offset-before",offset)}),elementToMoveNextTo.parentNode.insertBefore(element,next),UI.Utils.checkDisplay($this.element.parent()),children=list.children().each(function(){var ele=UI.$(this);ele.data("offset-after",ele.position())}).each(function(){var ele=UI.$(this),before=ele.data("offset-before");ele.css({position:"absolute",top:before.top,left:before.left,"min-width":before.width})}),void children.each(function(){var ele=UI.$(this),offset=(ele.data("offset-before"),ele.data("offset-after"));ele.css("pointer-events","none").width(),setTimeout(function(){ele.animate({top:offset.top,left:offset.left},$this.options.animation,function(){ele.css({position:"",top:"",left:"","min-width":"","pointer-events":""}).removeClass($this.options.overClass).removeData("child-dragenter"),count--,count||(list.css("min-height",""),UI.Utils.checkDisplay($this.element.parent()))})},0)})):(elementToMoveNextTo.parentNode.insertBefore(element,next),void UI.Utils.checkDisplay($this.element.parent()))},serialize:function(){var item,attribute,data=[];return this.element.children().each(function(j,child){item={};for(var i=0;idwh?dwh-scrollTop:0,i=0;inewTop?newTop+sticky.top:sticky.top),sticky.boundary&&sticky.boundary.length){var bTop=sticky.boundary.offset().top;containerBottom=sticky.boundtoparent?documentHeight-(bTop+sticky.boundary.outerHeight())+parseInt(sticky.boundary.css("padding-bottom")):documentHeight-bTop-parseInt(sticky.boundary.css("margin-top")),newTop=scrollTop+stickyHeight>documentHeight-containerBottom-(sticky.top<0?0:sticky.top)?documentHeight-containerBottom-(scrollTop+stickyHeight):newTop}if(sticky.currentTop!=newTop){if(sticky.element.css({position:"fixed",top:newTop,width:sticky.getWidthFrom.length?sticky.getWidthFrom.width():sticky.element.width()}),!sticky.init&&(sticky.element.addClass(sticky.options.clsinit),location.hash&&scrollTop>0&&sticky.options.target)){var $target=UI.$(location.hash);$target.length&&setTimeout(function($target,sticky){return function(){sticky.element.width();var offset=$target.offset(),maxoffset=offset.top+$target.outerHeight(),stickyOffset=sticky.element.offset(),stickyHeight=sticky.element.outerHeight(),stickyMaxOffset=stickyOffset.top+stickyHeight;stickyOffset.top').parent(),this.computeWrapper(),this.element.css("margin",0),boundary&&(boundary===!0||"!"===boundary[0]?(boundary=boundary===!0?this.wrapper.parent():this.wrapper.closest(boundary.substr(1)),boundtoparent=!0):"string"==typeof boundary&&(boundary=UI.$(boundary))),this.sticky={self:this,options:this.options,element:this.element,currentTop:null,wrapper:this.wrapper,init:!1,getWidthFrom:UI.$(this.options.getWidthFrom||this.wrapper),boundary:boundary,boundtoparent:boundtoparent,top:0,calcTop:function(){var top=this.options.top;if(this.options.top&&"string"==typeof this.options.top)if(this.options.top.match(/^(-|)(\d+)vh$/))top=window.innerHeight*parseInt(this.options.top,10)/100;else{var topElement=UI.$(this.options.top).first();topElement.length&&topElement.is(":visible")&&(top=-1*(topElement.offset().top+topElement.outerHeight()-this.wrapper.offset().top))}this.top=top},reset:function(force){this.calcTop();var finalize=function(){this.element.css({position:"",top:"",width:"",left:"",margin:"0"}),this.element.removeClass([this.options.animation,"uk-animation-reverse",this.options.clsactive].join(" ")),this.element.addClass(this.options.clsinactive),this.element.trigger("inactive.uk.sticky"),this.currentTop=null,this.animate=!1}.bind(this);!force&&this.options.animation&&UI.support.animation&&!UI.Utils.isInView(this.wrapper)?(this.animate=!0,this.element.removeClass(this.options.animation).one(UI.support.animation.end,function(){finalize()}).width(),this.element.addClass(this.options.animation+" uk-animation-reverse")):finalize()},check:function(){if(this.options.disabled)return!1;if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidthdwh?dwh-scrollTop:0,elementTop=this.wrapper.offset().top,etse=elementTop-this.top-extra,active=scrollTop>=etse;return active&&this.options.showup&&(1==direction&&(active=!1),-1==direction&&!this.element.hasClass(this.options.clsactive)&&UI.Utils.isInView(this.wrapper)&&(active=!1)),active}},this.sticky.calcTop(),sticked.push(this.sticky)},update:function(){checkscrollposition(this.sticky)},enable:function(){this.options.disabled=!1,this.update()},disable:function(force){this.options.disabled=!0,this.sticky.reset(force)},computeWrapper:function(){this.wrapper.css({height:-1==["absolute","fixed"].indexOf(this.element.css("position"))?this.element.outerHeight():"","float":"none"!=this.element.css("float")?this.element.css("float"):"",margin:this.element.css("margin")}),"fixed"==this.element.css("position")&&this.element.css({width:this.sticky.getWidthFrom.length?this.sticky.getWidthFrom.width():this.element.width()})}}),UI.sticky}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-timepicker",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function getTimeRange(start,end){start=start||0,end=end||24;var i,h,times={"12h":[],"24h":[]};for(i=start,h="";end>i;i++)h=""+i,10>i&&(h="0"+h),times["24h"].push({value:h+":00"}),times["24h"].push({value:h+":30"}),0===i&&(h=12,times["12h"].push({value:h+":00 AM"}),times["12h"].push({value:h+":30 AM"})),i>0&&13>i&&12!==i&&(times["12h"].push({value:h+":00 AM"}),times["12h"].push({value:h+":30 AM"})),i>=12&&(h-=12,0===h&&(h=12),10>h&&(h="0"+String(h)),times["12h"].push({value:h+":00 PM"}),times["12h"].push({value:h+":30 PM"}));return times}UI.component("timepicker",{defaults:{format:"24h",delay:0,start:0,end:24},boot:function(){UI.$html.on("focus.timepicker.uikit","[data-uk-timepicker]",function(e){var ele=UI.$(this);if(!ele.data("timepicker")){var obj=UI.timepicker(ele,UI.Utils.options(ele.attr("data-uk-timepicker")));setTimeout(function(){obj.autocomplete.input.focus()},40)}})},init:function(){var container,$this=this,times=getTimeRange(this.options.start,this.options.end);this.options.minLength=0,this.options.template='',this.options.source=function(release){release(times[$this.options.format]||times["12h"])},this.element.is("input")?(this.element.wrap('
        '),container=this.element.parent()):container=this.element.addClass("uk-autocomplete"),this.autocomplete=UI.autocomplete(container,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("show.uk.autocomplete",function(){var selected=$this.autocomplete.dropdown.find('[data-value="'+$this.autocomplete.input.val()+'"]');setTimeout(function(){$this.autocomplete.pick(selected,!0)},10)}),this.autocomplete.input.on("focus",function(){$this.autocomplete.value=Math.random(),$this.autocomplete.triggercomplete()}).on("blur",UI.Utils.debounce(function(){$this.checkTime()},100)),this.element.data("timepicker",this)},checkTime:function(){var arr,timeArray,hour,minute,meridian="AM",time=this.autocomplete.input.val();"12h"==this.options.format?(arr=time.split(" "),timeArray=arr[0].split(":"),meridian=arr[1]):timeArray=time.split(":"),hour=parseInt(timeArray[0],10),minute=parseInt(timeArray[1],10),isNaN(hour)&&(hour=0),isNaN(minute)&&(minute=0),"12h"==this.options.format?(hour>12?hour=12:0>hour&&(hour=12),"am"===meridian||"a"===meridian?meridian="AM":("pm"===meridian||"p"===meridian)&&(meridian="PM"),"AM"!==meridian&&"PM"!==meridian&&(meridian="AM")):hour>=24?hour=23:0>hour&&(hour=0),0>minute?minute=0:minute>=60&&(minute=0),this.autocomplete.input.val(this.formatTime(hour,minute,meridian)).trigger("change")},formatTime:function(hour,minute,meridian){return hour=10>hour?"0"+hour:hour,minute=10>minute?"0"+minute:minute,hour+":"+minute+("12h"==this.options.format?" "+meridian:"")}})}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-tooltip",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var $tooltip,tooltipdelay,checkdelay;return UI.component("tooltip",{defaults:{offset:5,pos:"top",animation:!1,delay:0,cls:"",activeClass:"uk-active",src:function(ele){var title=ele.attr("title");return void 0!==title&&ele.data("cached-title",title).removeAttr("title"),ele.data("cached-title")}},tip:"",boot:function(){UI.$html.on("mouseenter.tooltip.uikit focus.tooltip.uikit","[data-uk-tooltip]",function(e){var ele=UI.$(this);ele.data("tooltip")||(UI.tooltip(ele,UI.Utils.options(ele.attr("data-uk-tooltip"))),ele.trigger("mouseenter"))})},init:function(){var $this=this;$tooltip||($tooltip=UI.$('
        ').appendTo("body")),this.on({focus:function(e){$this.show()},blur:function(e){$this.hide()},mouseenter:function(e){$this.show()},mouseleave:function(e){$this.hide()}})},show:function(){if(this.tip="function"==typeof this.options.src?this.options.src(this.element):this.options.src,tooltipdelay&&clearTimeout(tooltipdelay),checkdelay&&clearTimeout(checkdelay),"string"==typeof this.tip?this.tip.length:0){$tooltip.stop().css({top:-2e3,visibility:"hidden"}).removeClass(this.options.activeClass).show(),$tooltip.html('
        '+this.tip+"
        ");var $this=this,pos=UI.$.extend({},this.element.offset(),{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}),width=$tooltip[0].offsetWidth,height=$tooltip[0].offsetHeight,offset="function"==typeof this.options.offset?this.options.offset.call(this.element):this.options.offset,position="function"==typeof this.options.pos?this.options.pos.call(this.element):this.options.pos,tmppos=position.split("-"),tcss={display:"none",visibility:"visible",top:pos.top+pos.height+height,left:pos.left};if("fixed"==UI.$html.css("position")||"fixed"==UI.$body.css("position")){var bodyoffset=UI.$("body").offset(),htmloffset=UI.$("html").offset(),docoffset={top:htmloffset.top+bodyoffset.top,left:htmloffset.left+bodyoffset.left};pos.left-=docoffset.left,pos.top-=docoffset.top}"left"!=tmppos[0]&&"right"!=tmppos[0]||"right"!=UI.langdirection||(tmppos[0]="left"==tmppos[0]?"right":"left");var variants={bottom:{top:pos.top+pos.height+offset,left:pos.left+pos.width/2-width/2},top:{top:pos.top-height-offset,left:pos.left+pos.width/2-width/2},left:{top:pos.top+pos.height/2-height/2,left:pos.left-width-offset},right:{top:pos.top+pos.height/2-height/2,left:pos.left+pos.width+offset}};UI.$.extend(tcss,variants[tmppos[0]]),2==tmppos.length&&(tcss.left="left"==tmppos[1]?pos.left:pos.left+pos.width-width);var boundary=this.checkBoundary(tcss.left,tcss.top,width,height);if(boundary){switch(boundary){case"x":position=2==tmppos.length?tmppos[0]+"-"+(tcss.left<0?"left":"right"):tcss.left<0?"right":"left";break;case"y":position=2==tmppos.length?(tcss.top<0?"bottom":"top")+"-"+tmppos[1]:tcss.top<0?"bottom":"top";break;case"xy":position=2==tmppos.length?(tcss.top<0?"bottom":"top")+"-"+(tcss.left<0?"left":"right"):tcss.left<0?"right":"left"}tmppos=position.split("-"),UI.$.extend(tcss,variants[tmppos[0]]),2==tmppos.length&&(tcss.left="left"==tmppos[1]?pos.left:pos.left+pos.width-width)}tcss.left-=UI.$body.position().left,tooltipdelay=setTimeout(function(){$tooltip.css(tcss).attr("class",["uk-tooltip","uk-tooltip-"+position,$this.options.cls].join(" ")),$this.options.animation?$tooltip.css({opacity:0,display:"block"}).addClass($this.options.activeClass).animate({opacity:1},parseInt($this.options.animation,10)||400):$tooltip.show().addClass($this.options.activeClass),tooltipdelay=!1,checkdelay=setInterval(function(){$this.element.is(":visible")||$this.hide()},150)},parseInt(this.options.delay,10)||0)}},hide:function(){if(!this.element.is("input")||this.element[0]!==document.activeElement)if(tooltipdelay&&clearTimeout(tooltipdelay),checkdelay&&clearTimeout(checkdelay),$tooltip.stop(),this.options.animation){var $this=this;$tooltip.fadeOut(parseInt(this.options.animation,10)||400,function(){$tooltip.removeClass($this.options.activeClass)})}else $tooltip.hide().removeClass(this.options.activeClass)},content:function(){return this.tip},checkBoundary:function(left,top,width,height){var axis="";return(0>left||left-UI.$win.scrollLeft()+width>window.innerWidth)&&(axis+="x"),(0>top||top-UI.$win.scrollTop()+height>window.innerHeight)&&(axis+="y"),axis}}),UI.tooltip}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function xhrupload(files,settings){function upload(files,settings){var formData=new FormData,xhr=new XMLHttpRequest;if(settings.before(settings,files)!==!1){for(var f,i=0;f=files[i];i++)formData.append(settings.param,f);for(var p in settings.params)formData.append(p,settings.params[p]);xhr.upload.addEventListener("progress",function(e){var percent=e.loaded/e.total*100;settings.progress(percent,e)},!1),xhr.addEventListener("loadstart",function(e){settings.loadstart(e)},!1),xhr.addEventListener("load",function(e){settings.load(e)},!1),xhr.addEventListener("loadend",function(e){settings.loadend(e)},!1),xhr.addEventListener("error",function(e){settings.error(e)},!1),xhr.addEventListener("abort",function(e){settings.abort(e)},!1),xhr.open(settings.method,settings.action,!0),"json"==settings.type&&xhr.setRequestHeader("Accept","application/json"),xhr.onreadystatechange=function(){if(settings.readystatechange(xhr),4==xhr.readyState){var response=xhr.responseText;if("json"==settings.type)try{response=UI.$.parseJSON(response)}catch(e){response=!1}settings.complete(response,xhr)}},settings.beforeSend(xhr),xhr.send(formData)}}if(!UI.support.ajaxupload)return this;if(settings=UI.$.extend({},xhrupload.defaults,settings),files.length){if("*.*"!==settings.allow)for(var file,i=0;file=files[i];i++)if(!matchName(settings.allow,file.name))return void("string"==typeof settings.notallowed?alert(settings.notallowed):settings.notallowed(file,settings));var complete=settings.complete;if(settings.single){var count=files.length,uploaded=0,allow=!0;settings.beforeAll(files),settings.complete=function(response,xhr){uploaded+=1,complete(response,xhr),settings.filelimit&&uploaded>=settings.filelimit&&(allow=!1),allow&&count>uploaded?upload([files[uploaded]],settings):settings.allcomplete(response,xhr)},upload([files[0]],settings)}else settings.complete=function(response,xhr){complete(response,xhr),settings.allcomplete(response,xhr)},upload(files,settings)}}function matchName(pattern,path){var parsedPattern="^"+pattern.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return parsedPattern="^"+parsedPattern+"$",null!==path.match(new RegExp(parsedPattern,"i"))}return UI.component("uploadSelect",{init:function(){var $this=this;this.on("change",function(){xhrupload($this.element[0].files,$this.options);var twin=$this.element.clone(!0).data("uploadSelect",$this);$this.element.replaceWith(twin),$this.element=twin})}}),UI.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var $this=this,hasdragCls=!1;this.on("drop",function(e){e.dataTransfer&&e.dataTransfer.files&&(e.stopPropagation(),e.preventDefault(),$this.element.removeClass($this.options.dragoverClass),$this.element.trigger("dropped.uk.upload",[e.dataTransfer.files]),xhrupload(e.dataTransfer.files,$this.options))}).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}).on("dragover",function(e){e.stopPropagation(),e.preventDefault(),hasdragCls||($this.element.addClass($this.options.dragoverClass),hasdragCls=!0)}).on("dragleave",function(e){e.stopPropagation(),e.preventDefault(),$this.element.removeClass($this.options.dragoverClass),hasdragCls=!1})}}),UI.support.ajaxupload=function(){function supportFileAPI(){var fi=document.createElement("INPUT");return fi.type="file","files"in fi}function supportAjaxUploadProgressEvents(){var xhr=new XMLHttpRequest;return!!(xhr&&"upload"in xhr&&"onprogress"in xhr.upload)}function supportFormData(){return!!window.FormData}return supportFileAPI()&&supportAjaxUploadProgressEvents()&&supportFormData()}(),UI.support.ajaxupload&&UI.$.event.props.push("dataTransfer"),xhrupload.defaults={action:"",single:!0,method:"POST",param:"files[]",params:{},allow:"*.*",type:"text",filelimit:!1,before:function(o){},beforeSend:function(xhr){},beforeAll:function(){},loadstart:function(){},load:function(){},loadend:function(){},error:function(){},abort:function(){},progress:function(){},complete:function(){},allcomplete:function(){},readystatechange:function(){},notallowed:function(file,settings){alert("Only the following file types are allowed: "+settings.allow)}},UI.Utils.xhrupload=xhrupload,xhrupload});var easing_swiftOut=[.4,0,.2,1];"undefined"!=typeof UIkit&&UIkit.on("beforeready.uk.dom",function(){if("undefined"!=typeof UIkit.components.accordion&&$.extend(UIkit.components.accordion.prototype.defaults,{easing:easing_swiftOut,duration:200}),"undefined"!=typeof UIkit.components.datepicker&&$.extend(UIkit.components.datepicker.prototype.defaults,{}),"undefined"!=typeof UIkit.components.dropdown.prototype&&($.extend(UIkit.components.dropdown.prototype.defaults,{remaintime:150,delay:50}),function(){var old_show_function=UIkit.components.dropdown.prototype.show;UIkit.components.dropdown.prototype.show=function(){return this.dropdown.css({"min-width":this.dropdown.outerWidth()}).addClass("uk-dropdown-active uk-dropdown-shown"),old_show_function.apply(this,arguments)}}(),function(){var old_hide_function=UIkit.components.dropdown.prototype.hide;UIkit.components.dropdown.prototype.hide=function(){var this_dropdown=this.dropdown;this_dropdown.removeClass("uk-dropdown-shown");setTimeout(function(){this_dropdown.removeClass("uk-dropdown-active")},280);return old_hide_function.apply(this,arguments)}}()),"undefined"!=typeof UIkit.components.modal){$.extend(UIkit.components.modal.prototype.defaults,{center:!0});var $body=$("body");UIkit.modal.dialog.template='
        ',$body.on("show.uk.modal",".uk-modal-dialog-replace",function(){setTimeout(function(){var dialogReplace=$(".uk-modal-dialog-replace");if(dialogReplace.find(".uk-button-primary").length){var actionBtn=dialogReplace.find(".uk-button-primary").toggleClass("uk-button-primary md-btn-flat-primary");actionBtn.next("button")&&actionBtn.next("button").after(actionBtn)}dialogReplace.find(".uk-button").length&&dialogReplace.find(".uk-button").toggleClass("uk-button md-btn md-btn-flat"),dialogReplace.find(".uk-margin-small-top").length&&dialogReplace.find(".uk-margin-small-top").toggleClass("uk-margin-small-top uk-margin-top"),dialogReplace.find("input.uk-width-1-1").length&&(dialogReplace.find("input.uk-width-1-1").toggleClass("uk-width-1-1 md-input"),altair_md.inputs()),dialogReplace.find(".uk-form").length&&dialogReplace.find(".uk-form").removeClass("uk-form")},50)})}"undefined"!=typeof UIkit.components.tooltip&&$.extend(UIkit.components.tooltip.prototype.defaults,{animation:280,offset:8}),"undefined"!=typeof UIkit.components.sortable&&Modernizr.touch&&$("[data-uk-sortable]").children().addClass("needsclick")}); \ No newline at end of file +!function(core){if("function"==typeof define&&define.amd&&define("uikit",function(){var uikit=window.UIkit||core(window,window.jQuery,window.document);return uikit.load=function(res,req,onload,config){var i,resources=res.split(","),load=[],base=(config.config&&config.config.uikit&&config.config.uikit.base?config.config.uikit.base:"").replace(/\/+$/g,"");if(!base)throw new Error("Please define base path to UIkit in the requirejs config.");for(i=0;i0||global.navigator.pointerEnabled&&global.navigator.maxTouchPoints>0||!1,UI.support.mutationobserver=global.MutationObserver||global.WebKitMutationObserver||null,UI.Utils={},UI.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},UI.Utils.str2json=function(str,notevil){try{return notevil?JSON.parse(str.replace(/([\$\w]+)\s*:/g,function(_,$1){return'"'+$1+'":'}).replace(/'([^']+)'/g,function(_,$1){return'"'+$1+'"'})):new Function("","var json = "+str+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},UI.Utils.debounce=function(func,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&func.apply(context,args)}},UI.Utils.removeCssRules=function(selectorRegEx){var idx,idxs,stylesheet,_i,_j,_k,_len,_len1,_len2,_ref;selectorRegEx&&setTimeout(function(){try{for(_ref=document.styleSheets,_i=0,_len=_ref.length;_i<_len;_i++){for(stylesheet=_ref[_i],idxs=[],stylesheet.cssRules=stylesheet.cssRules,idx=_j=0,_len1=stylesheet.cssRules.length;_j<_len1;idx=++_j)stylesheet.cssRules[idx].type===CSSRule.STYLE_RULE&&selectorRegEx.test(stylesheet.cssRules[idx].selectorText)&&idxs.unshift(idx);for(_k=0,_len2=idxs.length;_k<_len2;_k++)stylesheet.deleteRule(idxs[_k])}}catch(_error){}},0)},UI.Utils.isInView=function(element,options){var $element=$(element);if(!$element.is(":visible"))return!1;var window_left=UI.$win.scrollLeft(),window_top=UI.$win.scrollTop(),offset=$element.offset(),left=offset.left,top=offset.top;return options=$.extend({topoffset:0,leftoffset:0},options),top+$element.height()>=window_top&&top-options.topoffset<=window_top+UI.$win.height()&&left+$element.width()>=window_left&&left-options.leftoffset<=window_left+UI.$win.width()},UI.Utils.checkDisplay=function(context,initanimation){var elements=UI.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",context||document);return context&&!elements.length&&(elements=$(context)),elements.trigger("display.uk.check"),initanimation&&("string"!=typeof initanimation&&(initanimation='[class*="uk-animation-"]'),elements.find(initanimation).each(function(){var ele=UI.$(this),cls=ele.attr("class"),anim=cls.match(/uk\-animation\-(.+)/);ele.removeClass(anim[0]).width(),ele.addClass(anim[0])})),elements},UI.Utils.options=function(string){if("string"!=$.type(string))return string;string.indexOf(":")!=-1&&"}"!=string.trim().substr(-1)&&(string="{"+string+"}");var start=string?string.indexOf("{"):-1,options={};if(start!=-1)try{options=UI.Utils.str2json(string.substr(start))}catch(e){}return options},UI.Utils.animate=function(element,cls){var d=$.Deferred();return element=UI.$(element),element.css("display","none").addClass(cls).one(UI.support.animation.end,function(){element.removeClass(cls),d.resolve()}),element.css("display",""),d.promise()},UI.Utils.uid=function(prefix){return(prefix||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},UI.Utils.template=function(str,data){for(var toc,cmd,prop,fn,tokens=str.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),i=0,output=[],openblocks=0;i/g, '>');}"].join("\n")),data?fn(data):fn},UI.Utils.events={},UI.Utils.events.click=UI.support.touch?"tap":"click",global.UIkit=UI,UI.fn=function(command,options){var args=arguments,cmd=command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),component=cmd[1],method=cmd[2];return UI[component]?this.each(function(){var $this=$(this),data=$this.data(component);data||$this.data(component,data=UI[component](this,method?void 0:options)),method&&data[method].apply(data,Array.prototype.slice.call(args,1))}):($.error("UIkit component ["+component+"] does not exist."),this)},$.UIkit=UI,$.fn.uk=UI.fn,UI.langdirection="rtl"==UI.$html.attr("dir")?"right":"left",UI.components={},UI.component=function(name,def){var fn=function(element,options){var $this=this;return this.UIkit=UI,this.element=element?UI.$(element):null,this.options=$.extend(!0,{},this.defaults,options),this.plugins={},this.element&&this.element.data(name,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(fn.plugins)).forEach(function(plugin){fn.plugins[plugin].init&&(fn.plugins[plugin].init($this),$this.plugins[plugin]=!0)}),this.trigger("init.uk.component",[name,this]),this};return fn.plugins={},$.extend(!0,fn.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(a1,a2,a3){return UI.$(this.element||this).on(a1,a2,a3)},one:function(a1,a2,a3){return UI.$(this.element||this).one(a1,a2,a3)},off:function(evt){return UI.$(this.element||this).off(evt)},trigger:function(evt,params){return UI.$(this.element||this).trigger(evt,params)},find:function(selector){return UI.$(this.element?this.element:[]).find(selector)},proxy:function(obj,methods){var $this=this;methods.split(" ").forEach(function(method){$this[method]||($this[method]=function(){return obj[method].apply(obj,arguments)})})},mixin:function(obj,methods){var $this=this;methods.split(" ").forEach(function(method){$this[method]||($this[method]=obj[method].bind($this))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:void(2==arguments.length&&(this.options[arguments[0]]=arguments[1]))}},def),this.components[name]=fn,this[name]=function(){var element,options;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?element=$(arguments[0]):options=arguments[0];break;case 2:element=$(arguments[0]),options=arguments[1]}return element&&element.data(name)?element.data(name):new UI.components[name](element,options)},UI.domready&&UI.component.boot(name),fn},UI.plugin=function(component,name,def){this.components[component].plugins[name]=def},UI.component.boot=function(name){UI.components[name].prototype&&UI.components[name].prototype.boot&&!UI.components[name].booted&&(UI.components[name].prototype.boot.apply(UI,[]),UI.components[name].booted=!0)},UI.component.bootComponents=function(){for(var component in UI.components)UI.component.boot(component)},UI.domObservers=[],UI.domready=!1,UI.ready=function(fn){UI.domObservers.push(fn),UI.domready&&fn(document)},UI.on=function(a1,a2,a3){return a1&&a1.indexOf("ready.uk.dom")>-1&&UI.domready&&a2.apply(UI.$doc),UI.$doc.on(a1,a2,a3)},UI.one=function(a1,a2,a3){return a1&&a1.indexOf("ready.uk.dom")>-1&&UI.domready?(a2.apply(UI.$doc),UI.$doc):UI.$doc.one(a1,a2,a3)},UI.trigger=function(evt,params){return UI.$doc.trigger(evt,params)},UI.domObserve=function(selector,fn){UI.support.mutationobserver&&(fn=fn||function(){},UI.$(selector).each(function(){var element=this,$element=UI.$(element);if(!$element.data("observer"))try{var observer=new UI.support.mutationobserver(UI.Utils.debounce(function(mutations){fn.apply(element,[]),$element.trigger("changed.uk.dom")},50));observer.observe(element,{childList:!0,subtree:!0}),$element.data("observer",observer)}catch(e){}}))},UI.init=function(root){root=root||document,UI.domObservers.forEach(function(fn){fn(root)})},UI.on("domready.uk.dom",function(){UI.init(),UI.domready&&UI.Utils.checkDisplay()}),document.addEventListener("DOMContentLoaded",function(){var domReady=function(){UI.$body=UI.$("body"),UI.ready(function(context){UI.domObserve("[data-uk-observe]")}),UI.on("changed.uk.dom",function(e){UI.init(e.target),UI.Utils.checkDisplay(e.target)}),UI.trigger("beforeready.uk.dom"),UI.component.bootComponents(),requestAnimationFrame(function(){var memory={dir:{x:0,y:0},x:window.pageXOffset,y:window.pageYOffset},fn=function(){var wpxo=window.pageXOffset,wpyo=window.pageYOffset;memory.x==wpxo&&memory.y==wpyo||(wpxo!=memory.x?memory.dir.x=wpxo>memory.x?1:-1:memory.dir.x=0,wpyo!=memory.y?memory.dir.y=wpyo>memory.y?1:-1:memory.dir.y=0,memory.x=wpxo,memory.y=wpyo,UI.$doc.trigger("scrolling.uk.document",[{dir:{x:memory.dir.x,y:memory.dir.y},x:wpxo,y:wpyo}])),requestAnimationFrame(fn)};return UI.support.touch&&UI.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",fn),(memory.x||memory.y)&&fn(),fn}()),UI.trigger("domready.uk.dom"),UI.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&UI.$win.on("load orientationchange resize",UI.Utils.debounce(function(){var fn=function(){return $(".uk-height-viewport").css("height",window.innerHeight),fn};return fn()}(),100)),UI.trigger("afterready.uk.dom"),UI.domready=!0};return"complete"!=document.readyState&&"interactive"!=document.readyState||setTimeout(domReady),domReady}()),UI.$html.addClass(UI.support.touch?"uk-touch":"uk-notouch"),UI.support.touch){var exclude,hoverset=!1,hovercls="uk-hover",selector=".uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover";UI.$html.on("mouseenter touchstart MSPointerDown pointerdown",selector,function(){hoverset&&$("."+hovercls).removeClass(hovercls),hoverset=$(this).addClass(hovercls)}).on("mouseleave touchend MSPointerUp pointerup",function(e){exclude=$(e.target).parents(selector),hoverset&&hoverset.not(exclude).removeClass(hovercls)})}return UI}),function($){function swipeDirection(x1,x2,y1,y2){return Math.abs(x1-x2)>=Math.abs(y1-y2)?x1-x2>0?"Left":"Right":y1-y2>0?"Up":"Down"}function longTap(){longTapTimeout=null,touch.last&&(void 0!==touch.el&&touch.el.trigger("longTap"),touch={})}function cancelLongTap(){longTapTimeout&&clearTimeout(longTapTimeout),longTapTimeout=null}function cancelAll(){touchTimeout&&clearTimeout(touchTimeout),tapTimeout&&clearTimeout(tapTimeout),swipeTimeout&&clearTimeout(swipeTimeout),longTapTimeout&&clearTimeout(longTapTimeout),touchTimeout=tapTimeout=swipeTimeout=longTapTimeout=null,touch={}}function isPrimaryTouch(event){return event.pointerType==event.MSPOINTER_TYPE_TOUCH&&event.isPrimary}if(!$.fn.swipeLeft){var touchTimeout,tapTimeout,swipeTimeout,longTapTimeout,gesture,touch={},longTapDelay=750;$(function(){var now,delta,firstTouch,deltaX=0,deltaY=0;"MSGesture"in window&&(gesture=new MSGesture,gesture.target=document.body),$(document).on("MSGestureEnd gestureend",function(e){var swipeDirectionFromVelocity=e.originalEvent.velocityX>1?"Right":e.originalEvent.velocityX<-1?"Left":e.originalEvent.velocityY>1?"Down":e.originalEvent.velocityY<-1?"Up":null;swipeDirectionFromVelocity&&void 0!==touch.el&&(touch.el.trigger("swipe"),touch.el.trigger("swipe"+swipeDirectionFromVelocity))}).on("touchstart MSPointerDown pointerdown",function(e){("MSPointerDown"!=e.type||isPrimaryTouch(e.originalEvent))&&(firstTouch="MSPointerDown"==e.type||"pointerdown"==e.type?e:e.originalEvent.touches[0],now=Date.now(),delta=now-(touch.last||now),touch.el=$("tagName"in firstTouch.target?firstTouch.target:firstTouch.target.parentNode),touchTimeout&&clearTimeout(touchTimeout),touch.x1=firstTouch.pageX,touch.y1=firstTouch.pageY,delta>0&&delta<=250&&(touch.isDoubleTap=!0),touch.last=now,longTapTimeout=setTimeout(longTap,longTapDelay),!gesture||"MSPointerDown"!=e.type&&"pointerdown"!=e.type&&"touchstart"!=e.type||gesture.addPointer(e.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(e){("MSPointerMove"!=e.type||isPrimaryTouch(e.originalEvent))&&(firstTouch="MSPointerMove"==e.type||"pointermove"==e.type?e:e.originalEvent.touches[0],cancelLongTap(),touch.x2=firstTouch.pageX,touch.y2=firstTouch.pageY,deltaX+=Math.abs(touch.x1-touch.x2),deltaY+=Math.abs(touch.y1-touch.y2))}).on("touchend MSPointerUp pointerup",function(e){("MSPointerUp"!=e.type||isPrimaryTouch(e.originalEvent))&&(cancelLongTap(),touch.x2&&Math.abs(touch.x1-touch.x2)>30||touch.y2&&Math.abs(touch.y1-touch.y2)>30?swipeTimeout=setTimeout(function(){void 0!==touch.el&&(touch.el.trigger("swipe"),touch.el.trigger("swipe"+swipeDirection(touch.x1,touch.x2,touch.y1,touch.y2))),touch={}},0):"last"in touch&&(isNaN(deltaX)||deltaX<30&&deltaY<30?tapTimeout=setTimeout(function(){var event=$.Event("tap");event.cancelTouch=cancelAll,void 0!==touch.el&&touch.el.trigger(event),touch.isDoubleTap?(void 0!==touch.el&&touch.el.trigger("doubleTap"),touch={}):touchTimeout=setTimeout(function(){touchTimeout=null,void 0!==touch.el&&touch.el.trigger("singleTap"),touch={}},250)},0):touch={},deltaX=deltaY=0))}).on("touchcancel MSPointerCancel",cancelAll),$(window).on("scroll",cancelAll)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(eventName){$.fn[eventName]=function(callback){return $(this).on(eventName,callback)}})}}(jQuery),function(UI){"use strict";var stacks=[];UI.component("stackMargin",{defaults:{cls:"uk-margin-small-top",rowfirst:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-margin]",context).each(function(){var ele=UI.$(this);ele.data("stackMargin")||UI.stackMargin(ele,UI.Utils.options(ele.attr("data-uk-margin")))})})},init:function(){var $this=this;UI.$win.on("resize orientationchange",function(){var fn=function(){$this.process()};return UI.$(function(){fn(),UI.$win.on("load",fn)}),UI.Utils.debounce(fn,20)}()),UI.$html.on("changed.uk.dom",function(e){$this.process()}),this.on("display.uk.check",function(e){this.element.is(":visible")&&this.process()}.bind(this)),stacks.push(this)},process:function(){var $this=this,columns=this.element.children();if(UI.Utils.stackMargin(columns,this.options),!this.options.rowfirst)return this;var pos_cache=columns.removeClass(this.options.rowfirst).filter(":visible").first().position();return pos_cache&&columns.each(function(){UI.$(this)[UI.$(this).position().left==pos_cache.left?"addClass":"removeClass"]($this.options.rowfirst)}),this}}),function(){var elements=[],check=function(ele){if(ele.is(":visible")){var width=ele.parent().width(),iwidth=ele.data("width"),ratio=width/iwidth,height=Math.floor(ratio*ele.data("height"));ele.css({height:width=offset&&(skip=column.addClass(options.cls)))})},UI.Utils.matchHeights=function(elements,options){elements=UI.$(elements).css("min-height",""),options=UI.$.extend({row:!0},options);var matchHeights=function(group){if(!(group.length<2)){var max=0;group.each(function(){max=Math.max(max,UI.$(this).outerHeight())}).each(function(){var element=UI.$(this),height=max-("border-box"==element.css("box-sizing")?0:element.outerHeight()-element.height());element.css("min-height",height+"px")})}};options.row?(elements.first().width(),setTimeout(function(){var lastoffset=!1,group=[];elements.each(function(){var ele=UI.$(this),offset=ele.offset().top;offset!=lastoffset&&group.length&&(matchHeights(UI.$(group)),group=[],offset=ele.offset().top),group.push(ele),lastoffset=offset}),group.length&&matchHeights(UI.$(group))},0)):matchHeights(elements)},function(cacheSvgs){UI.Utils.inlineSvg=function(selector,root){UI.$(selector||'img[src$=".svg"]',root||document).each(function(){var img=UI.$(this),src=img.attr("src");if(!cacheSvgs[src]){var d=UI.$.Deferred();UI.$.get(src,{nc:Math.random()},function(data){d.resolve(UI.$(data).find("svg"))}),cacheSvgs[src]=d.promise()}cacheSvgs[src].then(function(svg){var $svg=UI.$(svg).clone();img.attr("id")&&$svg.attr("id",img.attr("id")),img.attr("class")&&$svg.attr("class",img.attr("class")),img.attr("style")&&$svg.attr("style",img.attr("style")),img.attr("width")&&($svg.attr("width",img.attr("width")),img.attr("height")||$svg.removeAttr("height")),img.attr("height")&&($svg.attr("height",img.attr("height")),img.attr("width")||$svg.removeAttr("width")),img.replaceWith($svg)})})},UI.ready(function(context){UI.Utils.inlineSvg("[data-uk-svg]",context)})}({})}(UIkit),function(UI){"use strict";function scrollToElement(ele,options){options=UI.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},options);var target=ele.offset().top-options.offset,docheight=UI.$doc.height(),winheight=window.innerHeight;target+winheight>docheight&&(target=docheight-winheight),UI.$("html,body").stop().animate({scrollTop:target},options.duration,options.transition).promise().done(options.complete)}UI.component("smoothScroll",{boot:function(){UI.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(e){var ele=UI.$(this);if(!ele.data("smoothScroll")){UI.smoothScroll(ele,UI.Utils.options(ele.attr("data-uk-smooth-scroll")));ele.trigger("click")}return!1})},init:function(){var $this=this;this.on("click",function(e){e.preventDefault(),scrollToElement(UI.$(this.hash).length?UI.$(this.hash):UI.$("body"),$this.options)})}}),UI.Utils.scrollToElement=scrollToElement,UI.$.easing.easeOutExpo||(UI.$.easing.easeOutExpo=function(x,t,b,c,d){return t==d?b+c:c*(-Math.pow(2,-10*t/d)+1)+b})}(UIkit),function(UI){"use strict";var $win=UI.$win,$doc=UI.$doc,scrollspies=[],checkScrollSpy=function(){for(var i=0;i=scrollTop)return inviews[i]}();if(!target)return;$this.options.closest?(links.blur().closest(clsClosest).removeClass(clsActive),navitems=links.filter("a[href='#"+target.attr("id")+"']").closest(clsClosest).addClass(clsActive)):navitems=links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive),$this.element.trigger("inview.uk.scrollspynav",[target,navitems])}};this.options.smoothscroll&&UI.smoothScroll&&links.each(function(){UI.smoothScroll(this,$this.options.smoothscroll)}),fn(),this.element.data("scrollspynav",this),this.check=fn,scrollspynavs.push(this)}})}(UIkit),function(UI){"use strict";var toggles=[];UI.component("toggle",{defaults:{target:!1,cls:"uk-hidden",animation:!1,duration:200},boot:function(){UI.ready(function(context){UI.$("[data-uk-toggle]",context).each(function(){var ele=UI.$(this);if(!ele.data("toggle")){UI.toggle(ele,UI.Utils.options(ele.attr("data-uk-toggle")))}}),setTimeout(function(){toggles.forEach(function(toggle){toggle.getToggles()})},0)})},init:function(){var $this=this;this.aria=this.options.cls.indexOf("uk-hidden")!==-1,this.getToggles(),this.on("click",function(e){$this.element.is('a[href="#"]')&&e.preventDefault(),$this.toggle()}),toggles.push(this)},toggle:function(){if(this.totoggle.length){if(this.options.animation&&UI.support.animation){var $this=this,animations=this.options.animation.split(",");1==animations.length&&(animations[1]=animations[0]),animations[0]=animations[0].trim(),animations[1]=animations[1].trim(),this.totoggle.css("animation-duration",this.options.duration+"ms"),this.totoggle.each(function(){var ele=UI.$(this);ele.hasClass($this.options.cls)?(ele.toggleClass($this.options.cls),UI.Utils.animate(ele,animations[0]).then(function(){ele.css("animation-duration",""),UI.Utils.checkDisplay(ele)})):UI.Utils.animate(this,animations[1]+" uk-animation-reverse").then(function(){ele.toggleClass($this.options.cls).css("animation-duration",""),UI.Utils.checkDisplay(ele)})})}else this.totoggle.toggleClass(this.options.cls),UI.Utils.checkDisplay(this.totoggle);this.updateAria()}},getToggles:function(){this.totoggle=this.options.target?UI.$(this.options.target):[],this.updateAria()},updateAria:function(){this.aria&&this.totoggle.length&&this.totoggle.each(function(){UI.$(this).attr("aria-hidden",UI.$(this).hasClass("uk-hidden"))})}})}(UIkit),function(UI){"use strict";UI.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){UI.$html.on("click.alert.uikit","[data-uk-alert]",function(e){var ele=UI.$(this);if(!ele.data("alert")){var alert=UI.alert(ele,UI.Utils.options(ele.attr("data-uk-alert")));UI.$(e.target).is(alert.options.trigger)&&(e.preventDefault(),alert.close())}})},init:function(){var $this=this;this.on("click",this.options.trigger,function(e){e.preventDefault(),$this.close()})},close:function(){var element=this.trigger("close.uk.alert"),removeElement=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?element.css("overflow","hidden").css("max-height",element.height()).animate({height:0,opacity:0,"padding-top":0,"padding-bottom":0,"margin-top":0,"margin-bottom":0},this.options.duration,removeElement):removeElement()}})}(UIkit),function(UI){"use strict";UI.component("buttonRadio",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){UI.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(e){var ele=UI.$(this);if(!ele.data("buttonRadio")){var obj=UI.buttonRadio(ele,UI.Utils.options(ele.attr("data-uk-button-radio"))),target=UI.$(e.target);target.is(obj.options.target)&&target.trigger("click")}})},init:function(){var $this=this;this.find($this.options.target).attr("aria-checked","false").filter("."+$this.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var ele=UI.$(this);ele.is('a[href="#"]')&&e.preventDefault(),$this.find($this.options.target).not(ele).removeClass($this.options.activeClass).blur(),ele.addClass($this.options.activeClass),$this.find($this.options.target).not(ele).attr("aria-checked","false"),ele.attr("aria-checked","true"),$this.trigger("change.uk.button",[ele])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),UI.component("buttonCheckbox",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){UI.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(e){var ele=UI.$(this);if(!ele.data("buttonCheckbox")){var obj=UI.buttonCheckbox(ele,UI.Utils.options(ele.attr("data-uk-button-checkbox"))),target=UI.$(e.target);target.is(obj.options.target)&&target.trigger("click")}})},init:function(){var $this=this;this.find($this.options.target).attr("aria-checked","false").filter("."+$this.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var ele=UI.$(this);ele.is('a[href="#"]')&&e.preventDefault(),ele.toggleClass($this.options.activeClass).blur(),ele.attr("aria-checked",ele.hasClass($this.options.activeClass)),$this.trigger("change.uk.button",[ele])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),UI.component("button",{defaults:{},boot:function(){UI.$html.on("click.button.uikit","[data-uk-button]",function(e){var ele=UI.$(this);if(!ele.data("button")){UI.button(ele,UI.Utils.options(ele.attr("data-uk-button")));ele.trigger("click")}})},init:function(){var $this=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(e){$this.element.is('a[href="#"]')&&e.preventDefault(),$this.toggle(),$this.trigger("change.uk.button",[$this.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit),function(UI){"use strict";function justify(ele,justifyTo,boundarywidth,offset){if(ele=UI.$(ele),justifyTo=UI.$(justifyTo),boundarywidth=boundarywidth||window.innerWidth,offset=offset||ele.offset(),justifyTo.length){var jwidth=justifyTo.outerWidth();if(ele.css("min-width",jwidth),"right"==UI.langdirection){var right1=boundarywidth-(justifyTo.offset().left+jwidth),right2=boundarywidth-(ele.offset().left+ele.outerWidth());ele.css("margin-right",right1-right2)}else ele.css("margin-left",justifyTo.offset().left-offset.left)}}var hoverIdle,active=!1,flips={x:{"bottom-left":"bottom-right","bottom-right":"bottom-left","bottom-center":"bottom-center","top-left":"top-right","top-right":"top-left","top-center":"top-center","left-top":"right-top","left-bottom":"right-bottom","left-center":"right-center","right-top":"left-top","right-bottom":"left-bottom","right-center":"left-center"},y:{"bottom-left":"top-left","bottom-right":"top-right","bottom-center":"top-center","top-left":"bottom-left","top-right":"bottom-right","top-center":"bottom-center","left-top":"left-bottom","left-bottom":"left-top","left-center":"left-center","right-top":"right-bottom","right-bottom":"right-top","right-center":"right-center"},xy:{"bottom-left":"top-right","bottom-right":"top-left","bottom-center":"top-center","top-left":"bottom-right","top-right":"bottom-left","top-center":"bottom-center", +"left-top":"right-bottom","left-bottom":"right-top","left-center":"right-center","right-top":"left-bottom","right-bottom":"left-top","right-center":"left-center"}};UI.component("dropdown",{defaults:{mode:"hover",pos:"bottom-left",offset:0,remaintime:800,justify:!1,boundary:UI.$win,delay:0,dropdownSelector:".uk-dropdown,.uk-dropdown-blank",hoverDelayIdle:250,preventflip:!1},remainIdle:!1,boot:function(){var triggerevent=UI.support.touch?"click":"mouseenter";UI.$html.on(triggerevent+".dropdown.uikit","[data-uk-dropdown]",function(e){var ele=UI.$(this);if(!ele.data("dropdown")){var dropdown=UI.dropdown(ele,UI.Utils.options(ele.attr("data-uk-dropdown")));("click"==triggerevent||"mouseenter"==triggerevent&&"hover"==dropdown.options.mode)&&dropdown.element.trigger(triggerevent),dropdown.element.find(dropdown.options.dropdownSelector).length&&e.preventDefault()}})},init:function(){var $this=this;this.dropdown=this.find(this.options.dropdownSelector),this.offsetParent=this.dropdown.parents().filter(function(){return UI.$.inArray(UI.$(this).css("position"),["relative","fixed","absolute"])!==-1}).slice(0,1),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=!!this.options.justify&&UI.$(this.options.justify),this.boundary=UI.$(this.options.boundary),this.boundary.length||(this.boundary=UI.$win),this.dropdown.hasClass("uk-dropdown-up")&&(this.options.pos="top-left"),this.dropdown.hasClass("uk-dropdown-flip")&&(this.options.pos=this.options.pos.replace("left","right")),this.dropdown.hasClass("uk-dropdown-center")&&(this.options.pos=this.options.pos.replace(/(left|right)/,"center")),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),"click"==this.options.mode||UI.support.touch?this.on("click.uk.dropdown",function(e){var $target=UI.$(e.target);$target.parents($this.options.dropdownSelector).length||(($target.is("a[href='#']")||$target.parent().is("a[href='#']")||$this.dropdown.length&&!$this.dropdown.is(":visible"))&&e.preventDefault(),$target.blur()),$this.element.hasClass("uk-open")?(!$this.dropdown.find(e.target).length||$target.is(".uk-dropdown-close")||$target.parents(".uk-dropdown-close").length)&&$this.hide():$this.show()}):this.on("mouseenter",function(e){$this.trigger("pointerenter.uk.dropdown",[$this]),$this.remainIdle&&clearTimeout($this.remainIdle),hoverIdle&&clearTimeout(hoverIdle),active&&active==$this||(hoverIdle=active&&active!=$this?setTimeout(function(){hoverIdle=setTimeout($this.show.bind($this),$this.options.delay)},$this.options.hoverDelayIdle):setTimeout($this.show.bind($this),$this.options.delay))}).on("mouseleave",function(){hoverIdle&&clearTimeout(hoverIdle),$this.remainIdle=setTimeout(function(){active&&active==$this&&$this.hide()},$this.options.remaintime),$this.trigger("pointerleave.uk.dropdown",[$this])}).on("click",function(e){var $target=UI.$(e.target);return $this.remainIdle&&clearTimeout($this.remainIdle),active&&active==$this?void((!$this.dropdown.find(e.target).length||$target.is(".uk-dropdown-close")||$target.parents(".uk-dropdown-close").length)&&$this.hide()):(($target.is("a[href='#']")||$target.parent().is("a[href='#']"))&&e.preventDefault(),void $this.show())})},show:function(){UI.$html.off("click.outer.dropdown"),active&&active!=this&&active.hide(!0),hoverIdle&&clearTimeout(hoverIdle),this.trigger("beforeshow.uk.dropdown",[this]),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.trigger("show.uk.dropdown",[this]),UI.Utils.checkDisplay(this.dropdown,!0),active=this,this.registerOuterClick()},hide:function(force){this.trigger("beforehide.uk.dropdown",[this,force]),this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.trigger("hide.uk.dropdown",[this,force]),active==this&&(active=!1)},registerOuterClick:function(){var $this=this;UI.$html.off("click.outer.dropdown"),setTimeout(function(){UI.$html.on("click.outer.dropdown",function(e){hoverIdle&&clearTimeout(hoverIdle);UI.$(e.target);active!=$this||$this.element.find(e.target).length||($this.hide(!0),UI.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.dropdown.removeClass("uk-dropdown-top uk-dropdown-bottom uk-dropdown-left uk-dropdown-right uk-dropdown-stack").css({"top-left":"",left:"","margin-left":"","margin-right":""}),this.justified&&this.justified.length&&this.dropdown.css("min-width","");var pp,pos=UI.$.extend({},this.offsetParent.offset(),{width:this.offsetParent[0].offsetWidth,height:this.offsetParent[0].offsetHeight}),posoffset=this.options.offset,dropdown=this.dropdown,width=(dropdown.show().offset()||{left:0,top:0},dropdown.outerWidth()),height=dropdown.outerHeight(),boundarywidth=this.boundary.width(),dpos=(this.boundary[0]!==window&&this.boundary.offset()?this.boundary.offset():{top:0,left:0},this.options.pos),variants={"bottom-left":{top:0+pos.height+posoffset,left:0},"bottom-right":{top:0+pos.height+posoffset,left:0+pos.width-width},"bottom-center":{top:0+pos.height+posoffset,left:0+pos.width/2-width/2},"top-left":{top:0-height-posoffset,left:0},"top-right":{top:0-height-posoffset,left:0+pos.width-width},"top-center":{top:0-height-posoffset,left:0+pos.width/2-width/2},"left-top":{top:0,left:0-width-posoffset},"left-bottom":{top:0+pos.height-height,left:0-width-posoffset},"left-center":{top:0+pos.height/2-height/2,left:0-width-posoffset},"right-top":{top:0,left:0+pos.width+posoffset},"right-bottom":{top:0+pos.height-height,left:0+pos.width+posoffset},"right-center":{top:0+pos.height/2-height/2,left:0+pos.width+posoffset}},css={};if(pp=dpos.split("-"),css=variants[dpos]?variants[dpos]:variants["bottom-left"],this.justified&&this.justified.length)justify(dropdown.css({left:0}),this.justified,boundarywidth);else if(this.options.preventflip!==!0){var fdpos;switch(this.checkBoundary(pos.left+css.left,pos.top+css.top,width,height,boundarywidth)){case"x":"x"!==this.options.preventflip&&(fdpos=flips.x[dpos]||"right-top");break;case"y":"y"!==this.options.preventflip&&(fdpos=flips.y[dpos]||"top-left");break;case"xy":this.options.preventflip||(fdpos=flips.xy[dpos]||"right-bottom")}fdpos&&(pp=fdpos.split("-"),css=variants[fdpos]?variants[fdpos]:variants["bottom-left"],this.checkBoundary(pos.left+css.left,pos.top+css.top,width,height,boundarywidth)&&(pp=dpos.split("-"),css=variants[dpos]?variants[dpos]:variants["bottom-left"]))}width>boundarywidth&&(dropdown.addClass("uk-dropdown-stack"),this.trigger("stack.uk.dropdown",[this])),dropdown.css(css).css("display","").addClass("uk-dropdown-"+pp[0])}},checkBoundary:function(left,top,width,height,boundarywidth){var axis="";return(left<0||left-UI.$win.scrollLeft()+width>boundarywidth)&&(axis+="x"),(top-UI.$win.scrollTop()<0||top-UI.$win.scrollTop()+height>window.innerHeight)&&(axis+="y"),axis}}),UI.component("dropdownOverlay",{defaults:{justify:!1,cls:"",duration:200},boot:function(){UI.ready(function(context){UI.$("[data-uk-dropdown-overlay]",context).each(function(){var ele=UI.$(this);ele.data("dropdownOverlay")||UI.dropdownOverlay(ele,UI.Utils.options(ele.attr("data-uk-dropdown-overlay")))})})},init:function(){var $this=this;this.justified=!!this.options.justify&&UI.$(this.options.justify),this.overlay=this.element.find("uk-dropdown-overlay"),this.overlay.length||(this.overlay=UI.$('
        ').appendTo(this.element)),this.overlay.addClass(this.options.cls),this.on({"beforeshow.uk.dropdown":function(e,dropdown){$this.dropdown=dropdown,$this.justified&&$this.justified.length&&justify($this.overlay.css({display:"block","margin-left":"","margin-right":""}),$this.justified,$this.justified.outerWidth())},"show.uk.dropdown":function(e,dropdown){var h=$this.dropdown.dropdown.outerHeight(!0);$this.dropdown.element.removeClass("uk-open"),$this.overlay.stop().css("display","block").animate({height:h},$this.options.duration,function(){$this.dropdown.dropdown.css("visibility",""),$this.dropdown.element.addClass("uk-open"),UI.Utils.checkDisplay($this.dropdown.dropdown,!0)}),$this.pointerleave=!1},"hide.uk.dropdown":function(){$this.overlay.stop().animate({height:0},$this.options.duration)},"pointerenter.uk.dropdown":function(e,dropdown){clearTimeout($this.remainIdle)},"pointerleave.uk.dropdown":function(e,dropdown){$this.pointerleave=!0}}),this.overlay.on({mouseenter:function(){$this.remainIdle&&(clearTimeout($this.dropdown.remainIdle),clearTimeout($this.remainIdle))},mouseleave:function(){$this.pointerleave&&active&&($this.remainIdle=setTimeout(function(){active&&active.hide()},active.options.remaintime))}})}})}(UIkit),function(UI){"use strict";var grids=[];UI.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid-match]",context).each(function(){var obj,grid=UI.$(this);grid.data("gridMatchHeight")||(obj=UI.gridMatchHeight(grid,UI.Utils.options(grid.attr("data-uk-grid-match"))))})})},init:function(){var $this=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(UI.$win.on("load resize orientationchange",function(){var fn=function(){$this.match()};return UI.$(function(){fn()}),UI.Utils.debounce(fn,50)}()),UI.$html.on("changed.uk.dom",function(e){$this.columns=$this.element.children(),$this.elements=$this.options.target?$this.find($this.options.target):$this.columns,$this.match()}),this.on("display.uk.check",function(e){this.element.is(":visible")&&this.match()}.bind(this)),grids.push(this))},match:function(){var firstvisible=this.columns.filter(":visible:first");if(firstvisible.length){var stacked=Math.ceil(100*parseFloat(firstvisible.css("width"))/parseFloat(firstvisible.parent().css("width")))>=100;return stacked&&!this.options.ignorestacked?this.revert():UI.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),UI.component("gridMargin",{defaults:{cls:"uk-grid-margin",rowfirst:"uk-row-first"},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid-margin]",context).each(function(){var obj,grid=UI.$(this);grid.data("gridMargin")||(obj=UI.gridMargin(grid,UI.Utils.options(grid.attr("data-uk-grid-margin"))))})})},init:function(){UI.stackMargin(this.element,this.options)}})}(UIkit),function(UI){"use strict";function setContent(content,modal){if(modal)return"object"==typeof content?(content=content instanceof jQuery?content:UI.$(content),content.parent().length&&(modal.persist=content,modal.persist.data("modalPersistParent",content.parent()))):content="string"==typeof content||"number"==typeof content?UI.$("
        ").html(content):UI.$("
        ").html("UIkit.modal Error: Unsupported data type: "+typeof content),content.appendTo(modal.element.find(".uk-modal-dialog")),modal}var body,active=!1,activeCount=0,$html=UI.$html;UI.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,hasTransitioned:!0,init:function(){if(body||(body=UI.$("body")),this.element.length){var $this=this;this.paddingdir="padding-"+("left"==UI.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(e){e.preventDefault(),$this.hide()}).on("click",function(e){var target=UI.$(e.target);target[0]==$this.element[0]&&$this.options.bgclose&&$this.hide()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){var $this=this;if(!this.isActive())return this.options.modal&&active&&active.hide(!0),this.element.removeClass("uk-open").show(),this.resize(),this.options.modal&&(active=this),this.active=!0,activeCount++,UI.support.transition?(this.hasTransitioned=!1,this.element.one(UI.support.transition.end,function(){$this.hasTransitioned=!0}).addClass("uk-open")):this.element.addClass("uk-open"),$html.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),UI.Utils.checkDisplay(this.dialog,!0),this}},hide:function(force){if(!force&&UI.support.transition&&this.hasTransitioned){var $this=this;this.one(UI.support.transition.end,function(){$this._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(){var bodywidth=body.width();if(this.scrollbarwidth=window.innerWidth-bodywidth,body.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var dh=this.dialog.outerHeight(),pad=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);dh+pad0?activeCount--:activeCount=0,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),activeCount||($html.removeClass("uk-modal-page"),body.css(this.paddingdir,"")),active===this&&(active=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.active}}),UI.component("modalTrigger",{boot:function(){UI.$html.on("click.modal.uikit","[data-uk-modal]",function(e){var ele=UI.$(this);if(ele.is("a")&&e.preventDefault(),!ele.data("modalTrigger")){var modal=UI.modalTrigger(ele,UI.Utils.options(ele.attr("data-uk-modal")));modal.show()}}),UI.$html.on("keydown.modal.uikit",function(e){active&&27===e.keyCode&&active.options.keyboard&&(e.preventDefault(),active.hide())}),UI.$win.on("resize orientationchange",UI.Utils.debounce(function(){active&&active.resize()},150))},init:function(){var $this=this;this.options=UI.$.extend({target:!!$this.element.is("a")&&$this.element.attr("href")},this.options),this.modal=UI.modal(this.options.target,this.options),this.on("click",function(e){e.preventDefault(),$this.show()}),this.proxy(this.modal,"show hide isActive")}}),UI.modal.dialog=function(content,options){var modal=UI.modal(UI.$(UI.modal.dialog.template).appendTo("body"),options);return modal.on("hide.uk.modal",function(){modal.persist&&(modal.persist.appendTo(modal.persist.data("modalPersistParent")),modal.persist=!1),modal.element.remove()}),setContent(content,modal),modal},UI.modal.dialog.template='
        ',UI.modal.alert=function(content,options){options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},options);var modal=UI.modal.dialog(['
        '+String(content)+"
        ",'"].join(""),options);return modal.on("show.uk.modal",function(){setTimeout(function(){modal.element.find("button:first").focus()},50)}),modal.show()},UI.modal.confirm=function(content,onconfirm,oncancel){var options=arguments.length>1&&arguments[arguments.length-1]?arguments[arguments.length-1]:{};onconfirm=UI.$.isFunction(onconfirm)?onconfirm:function(){},oncancel=UI.$.isFunction(oncancel)?oncancel:function(){},options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},UI.$.isFunction(options)?{}:options);var modal=UI.modal.dialog(['
        '+String(content)+"
        ",'"].join(""),options);return modal.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click",function(){UI.$(this).is(".js-modal-confirm")?onconfirm():oncancel(),modal.hide()}),modal.on("show.uk.modal",function(){setTimeout(function(){modal.element.find(".js-modal-confirm").focus()},50)}),modal.show()},UI.modal.prompt=function(text,value,onsubmit,options){onsubmit=UI.$.isFunction(onsubmit)?onsubmit:function(value){},options=UI.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:UI.modal.labels},options);var modal=UI.modal.dialog([text?'
        '+String(text)+"
        ":"",'

        ','"].join(""),options),input=modal.element.find("input[type='text']").val(value||"").on("keyup",function(e){13==e.keyCode&&modal.element.find(".js-modal-ok").trigger("click")});return modal.element.find(".js-modal-ok").on("click",function(){onsubmit(input.val())!==!1&&modal.hide()}),modal.on("show.uk.modal",function(){setTimeout(function(){input.focus()},50)}),modal.show()},UI.modal.blockUI=function(content,options){var modal=UI.modal.dialog(['
        '+String(content||'
        ...
        ')+"
        "].join(""),UI.$.extend({bgclose:!1,keyboard:!1,modal:!1},options));return modal.content=modal.element.find(".uk-modal-content:first"),modal.show()},UI.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit),function(UI){"use strict";function getHeight(ele){var $ele=UI.$(ele),height="auto";if($ele.is(":visible"))height=$ele.outerHeight();else{var tmp={position:$ele.css("position"),visibility:$ele.css("visibility"),display:$ele.css("display")};height=$ele.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),$ele.css(tmp)}return height}UI.component("nav",{defaults:{toggle:">li.uk-parent > a[href='#']",lists:">li.uk-parent > ul",multiple:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-nav]",context).each(function(){var nav=UI.$(this);if(!nav.data("nav")){UI.nav(nav,UI.Utils.options(nav.attr("data-uk-nav")))}})})},init:function(){var $this=this;this.on("click.uk.nav",this.options.toggle,function(e){e.preventDefault();var ele=UI.$(this);$this.open(ele.parent()[0]==$this.element[0]?ele:ele.parent("li"))}),this.find(this.options.lists).each(function(){var $ele=UI.$(this),parent=$ele.parent(),active=parent.hasClass("uk-active");$ele.wrap('
        '),parent.data("list-container",$ele.parent()[active?"removeClass":"addClass"]("uk-hidden")),parent.attr("aria-expanded",parent.hasClass("uk-open")),active&&$this.open(parent,!0)})},open:function(li,noanimation){var $this=this,element=this.element,$li=UI.$(li),$container=$li.data("list-container");this.options.multiple||element.children(".uk-open").not(li).each(function(){var ele=UI.$(this);ele.data("list-container")&&ele.data("list-container").stop().animate({height:0},function(){UI.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),$li.toggleClass("uk-open"),$li.attr("aria-expanded",$li.hasClass("uk-open")),$container&&($li.hasClass("uk-open")&&$container.removeClass("uk-hidden"),noanimation?($container.stop().height($li.hasClass("uk-open")?"auto":0),$li.hasClass("uk-open")||$container.addClass("uk-hidden"),this.trigger("display.uk.check")):$container.stop().animate({height:$li.hasClass("uk-open")?getHeight($container.find("ul:first")):0},function(){$li.hasClass("uk-open")?$container.css("height",""):$container.addClass("uk-hidden"),$this.trigger("display.uk.check")}))}})}(UIkit),function(UI){"use strict";var scrollpos={x:window.scrollX,y:window.scrollY},$html=(UI.$win,UI.$doc,UI.$html),Offcanvas={show:function(element){if(element=UI.$(element),element.length){var $body=UI.$("body"),bar=element.find(".uk-offcanvas-bar:first"),rtl="right"==UI.langdirection,flip=bar.hasClass("uk-offcanvas-bar-flip")?-1:1,dir=flip*(rtl?-1:1),scrollbarwidth=window.innerWidth-$body.width();scrollpos={x:window.pageXOffset,y:window.pageYOffset},element.addClass("uk-active"),$body.css({width:window.innerWidth-scrollbarwidth,height:window.innerHeight}).addClass("uk-offcanvas-page"),$body.css(rtl?"margin-right":"margin-left",(rtl?-1:1)*(bar.outerWidth()*dir)).width(),$html.css("margin-top",scrollpos.y*-1),bar.addClass("uk-offcanvas-bar-show"),this._initElement(element),bar.trigger("show.uk.offcanvas",[element,bar]),element.attr("aria-hidden","false")}},hide:function(force){var $body=UI.$("body"),panel=UI.$(".uk-offcanvas.uk-active"),rtl="right"==UI.langdirection,bar=panel.find(".uk-offcanvas-bar:first"),finalize=function(){$body.removeClass("uk-offcanvas-page").css({width:"",height:"","margin-left":"","margin-right":""}),panel.removeClass("uk-active"),bar.removeClass("uk-offcanvas-bar-show"),$html.css("margin-top",""),window.scrollTo(scrollpos.x,scrollpos.y),bar.trigger("hide.uk.offcanvas",[panel,bar]),panel.attr("aria-hidden","true")};panel.length&&(UI.support.transition&&!force?($body.one(UI.support.transition.end,function(){finalize()}).css(rtl?"margin-right":"margin-left",""),setTimeout(function(){bar.removeClass("uk-offcanvas-bar-show")},0)):finalize())},_initElement:function(element){element.data("OffcanvasInit")||(element.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(e){var target=UI.$(e.target);if(!e.type.match(/swipe/)&&!target.hasClass("uk-offcanvas-close")){if(target.hasClass("uk-offcanvas-bar"))return;if(target.parents(".uk-offcanvas-bar:first").length)return}e.stopImmediatePropagation(),Offcanvas.hide()}),element.on("click","a[href*='#']",function(e){var link=UI.$(this),href=link.attr("href");"#"!=href&&(UI.$doc.one("hide.uk.offcanvas",function(){var target;try{target=UI.$(link[0].hash)}catch(e){target=""}target.length||(target=UI.$('[name="'+link[0].hash.replace("#","")+'"]')),target.length&&UI.Utils.scrollToElement?UI.Utils.scrollToElement(target,UI.Utils.options(link.attr("data-uk-smooth-scroll")||"{}")):window.location.href=href}),Offcanvas.hide())}),element.data("OffcanvasInit",!0))}};UI.component("offcanvasTrigger",{boot:function(){$html.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(e){e.preventDefault();var ele=UI.$(this);if(!ele.data("offcanvasTrigger")){UI.offcanvasTrigger(ele,UI.Utils.options(ele.attr("data-uk-offcanvas")));ele.trigger("click")}}),$html.on("keydown.uk.offcanvas",function(e){27===e.keyCode&&Offcanvas.hide()})},init:function(){var $this=this;this.options=UI.$.extend({target:!!$this.element.is("a")&&$this.element.attr("href")},this.options),this.on("click",function(e){e.preventDefault(),Offcanvas.show($this.options.target)})}}),UI.offcanvas=Offcanvas}(UIkit),function(UI){"use strict";function coreAnimation(cls,current,next){var release,d=UI.$.Deferred(),clsIn=cls,clsOut=cls;return next[0]===current[0]?(d.resolve(),d.promise()):("object"==typeof cls&&(clsIn=cls[0],clsOut=cls[1]||cls[0]),UI.$body.css("overflow-x","hidden"),release=function(){current&¤t.hide().removeClass("uk-active "+clsOut+" uk-animation-reverse"),next.addClass(clsIn).one(UI.support.animation.end,function(){next.removeClass(""+clsIn).css({opacity:"",display:""}),d.resolve(),UI.$body.css("overflow-x",""),current&¤t.css({opacity:"",display:""})}.bind(this)).show()},next.css("animation-duration",this.options.duration+"ms"),current&¤t.length?(current.css("animation-duration",this.options.duration+"ms"),current.css("display","none").addClass(clsOut+" uk-animation-reverse").one(UI.support.animation.end,function(){release()}.bind(this)).css("display","")):(next.addClass("uk-active"),release()),d.promise())}var Animations;UI.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200,swiping:!0},animating:!1,boot:function(){UI.ready(function(context){UI.$("[data-uk-switcher]",context).each(function(){var switcher=UI.$(this);if(!switcher.data("switcher")){UI.switcher(switcher,UI.Utils.options(switcher.attr("data-uk-switcher")))}})})},init:function(){var $this=this;if(this.on("click.uk.switcher",this.options.toggle,function(e){e.preventDefault(),$this.show(this)}),this.options.connect){this.connect=UI.$(this.options.connect),this.connect.find(".uk-active").removeClass(".uk-active"),this.connect.length&&(this.connect.children().attr("aria-hidden","true"),this.connect.on("click","[data-uk-switcher-item]",function(e){e.preventDefault();var item=UI.$(this).attr("data-uk-switcher-item");if($this.index!=item)switch(item){case"next":case"previous":$this.show($this.index+("next"==item?1:-1));break;default:$this.show(parseInt(item,10))}}),this.options.swiping&&this.connect.on("swipeRight swipeLeft",function(e){e.preventDefault(),window.getSelection().toString()||$this.show($this.index+("swipeLeft"==e.type?1:-1))}));var toggles=this.find(this.options.toggle),active=toggles.filter(".uk-active");if(active.length)this.show(active,!1);else{if(this.options.active===!1)return;active=toggles.eq(this.options.active),this.show(active.length?active:toggles.eq(0),!1)}toggles.not(active).attr("aria-expanded","false"),active.attr("aria-expanded","true"),this.on("changed.uk.dom",function(){$this.connect=UI.$($this.options.connect)})}},show:function(tab,animate){if(!this.animating){if(isNaN(tab))tab=UI.$(tab);else{var toggles=this.find(this.options.toggle);tab=tab<0?toggles.length-1:tab,tab=toggles.eq(toggles[tab]?tab:0)}var $this=this,toggles=this.find(this.options.toggle),active=UI.$(tab),animation=Animations[this.options.animation]||function(current,next){if(!$this.options.animation)return Animations.none.apply($this);var anim=$this.options.animation.split(",");return 1==anim.length&&(anim[1]=anim[0]),anim[0]=anim[0].trim(),anim[1]=anim[1].trim(),coreAnimation.apply($this,[anim,current,next])};animate!==!1&&UI.support.animation||(animation=Animations.none),active.hasClass("uk-disabled")||(toggles.attr("aria-expanded","false"),active.attr("aria-expanded","true"),toggles.filter(".uk-active").removeClass("uk-active"),active.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(active),this.index==-1&&(this.index=0),this.connect.each(function(){var container=UI.$(this),children=UI.$(container.children()),current=UI.$(children.filter(".uk-active")),next=UI.$(children.eq($this.index));$this.animating=!0,animation.apply($this,[current,next]).then(function(){current.removeClass("uk-active"),next.addClass("uk-active"),current.attr("aria-hidden","true"),next.attr("aria-hidden","false"),UI.Utils.checkDisplay(next,!0),$this.animating=!1})})),this.trigger("show.uk.switcher",[active]))}}}),Animations={none:function(){var d=UI.$.Deferred();return d.resolve(),d.promise()},fade:function(current,next){return coreAnimation.apply(this,["uk-animation-fade",current,next])},"slide-bottom":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-bottom",current,next])},"slide-top":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-top",current,next])},"slide-vertical":function(current,next,dir){var anim=["uk-animation-slide-top","uk-animation-slide-bottom"];return current&¤t.index()>next.index()&&anim.reverse(),coreAnimation.apply(this,[anim,current,next])},"slide-left":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-left",current,next])},"slide-right":function(current,next){return coreAnimation.apply(this,["uk-animation-slide-right",current,next])},"slide-horizontal":function(current,next,dir){var anim=["uk-animation-slide-right","uk-animation-slide-left"];return current&¤t.index()>next.index()&&anim.reverse(),coreAnimation.apply(this,[anim,current,next])},scale:function(current,next){return coreAnimation.apply(this,["uk-animation-scale-up",current,next])}},UI.switcher.animations=Animations}(UIkit),function(UI){"use strict";UI.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200,swiping:!0},boot:function(){UI.ready(function(context){UI.$("[data-uk-tab]",context).each(function(){var tab=UI.$(this);if(!tab.data("tab")){UI.tab(tab,UI.Utils.options(tab.attr("data-uk-tab")))}})})},init:function(){var $this=this;this.current=!1,this.on("click.uk.tab",this.options.target,function(e){if(e.preventDefault(),!$this.switcher||!$this.switcher.animating){var current=$this.find($this.options.target).not(this);current.removeClass("uk-active").blur(),$this.trigger("change.uk.tab",[UI.$(this).addClass("uk-active"),$this.current]),$this.current=UI.$(this),$this.options.connect||(current.attr("aria-expanded","false"),UI.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=UI.$(this.options.connect)),this.responsivetab=UI.$('
      • ').append('
          '),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uk.tab","a",function(e){e.preventDefault(),e.stopPropagation();var link=UI.$(this);$this.element.children("li:not(.uk-tab-responsive)").eq(link.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(e,tab){$this.responsivetab.caption.html(tab.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=UI.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration,swiping:this.options.swiping})),UI.dropdown(this.responsivetab,{mode:"click",preventflip:"y"}),$this.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),UI.$win.on("resize orientationchange",UI.Utils.debounce(function(){$this.element.is(":visible")&&$this.check()},100)),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.check()})},check:function(){var children=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!children.length)return void this.responsivetab.addClass("uk-hidden");var item,link,clone,top=children.eq(0).offset().top+Math.ceil(children.eq(0).height()/2),doresponsive=!1;if(this.responsivetab.lst.empty(),children.each(function(){UI.$(this).offset().top>top&&(doresponsive=!0)}),doresponsive)for(var i=0;i-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var width,height,w=this.parent.width(),h=this.parent.height();w/this.ratio
          ').parent(),$wrapper.attr("aria-expanded","false")),$toggle=$this.toggle.eq(index),$wrapper.data("toggle",$toggle),$wrapper.data("content",$content),$toggle.data("wrapper",$wrapper),$content.data("wrapper",$wrapper)}),this.element.trigger("update.uk.accordion",[this])}}),UI.accordion}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-autocomplete",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var active;return UI.component("autocomplete",{defaults:{minLength:3,param:"search",method:"post",delay:300,loadingClass:"uk-loading",flipDropdown:!1,skipClass:"uk-skip",hoverClass:"uk-active",source:null,renderer:null,template:''},visible:!1,value:null,selected:null,boot:function(){UI.$html.on("focus.autocomplete.uikit","[data-uk-autocomplete]",function(e){var ele=UI.$(this);ele.data("autocomplete")||UI.autocomplete(ele,UI.Utils.options(ele.attr("data-uk-autocomplete")))}),UI.$html.on("click.autocomplete.uikit",function(e){active&&e.target!=active.input[0]&&active.hide()})},init:function(){var $this=this,select=!1,trigger=UI.Utils.debounce(function(e){return select?select=!1:void $this.handle()},this.options.delay);this.dropdown=this.find(".uk-dropdown"),this.template=this.find('script[type="text/autocomplete"]').html(),this.template=UI.Utils.template(this.template||this.options.template),this.input=this.find("input:first").attr("autocomplete","off"),this.dropdown.length||(this.dropdown=UI.$('
          ').appendTo(this.element)),this.options.flipDropdown&&this.dropdown.addClass("uk-dropdown-flip"),this.dropdown.attr("aria-expanded","false"),this.input.on({keydown:function(e){if(e&&e.which&&!e.shiftKey)switch(e.which){case 13:select=!0,$this.selected&&(e.preventDefault(),$this.select());break;case 38:e.preventDefault(),$this.pick("prev",!0);break;case 40:e.preventDefault(),$this.pick("next",!0);break;case 27:case 9:$this.hide()}},keyup:trigger}),this.dropdown.on("click",".uk-autocomplete-results > *",function(){$this.select()}),this.dropdown.on("mouseover",".uk-autocomplete-results > *",function(){$this.pick(UI.$(this))}),this.triggercomplete=trigger},handle:function(){var $this=this,old=this.value;return this.value=this.input.val(),this.value.lengthdpheight||top<0)&&$this.dropdown.scrollTop(scrollTop+top)}},select:function(){if(this.selected){var data=this.selected.data();this.trigger("selectitem.uk.autocomplete",[data,this]),data.value&&this.input.val(data.value).trigger("change"),this.hide()}},show:function(){if(!this.visible)return this.visible=!0,this.element.addClass("uk-open"),active&&active!==this&&active.hide(),active=this,this.dropdown.attr("aria-expanded","true"),this},hide:function(){if(this.visible)return this.visible=!1,this.element.removeClass("uk-open"),active===this&&(active=!1),this.dropdown.attr("aria-expanded","false"),this},request:function(){var $this=this,release=function(data){data&&$this.render(data),$this.element.removeClass($this.options.loadingClass)};if(this.element.addClass(this.options.loadingClass),this.options.source){var source=this.options.source;switch(typeof this.options.source){case"function":this.options.source.apply(this,[release]);break;case"object":if(source.length){var items=[];source.forEach(function(item){item.value&&item.value.toLowerCase().indexOf($this.value.toLowerCase())!=-1&&items.push(item)}),release(items)}break;case"string":var params={};params[this.options.param]=this.value,UI.$.ajax({url:this.options.source,data:params,type:this.options.method,dataType:"json"}).done(function(json){release(json||[])});break;default:release(null)}}else this.element.removeClass($this.options.loadingClass)},render:function(data){return this.dropdown.empty(),this.selected=!1,this.options.renderer?this.options.renderer.apply(this,[data]):data&&data.length&&(this.dropdown.append(this.template({items:data})),this.show(),this.trigger("show.uk.autocomplete")),this}}),UI.autocomplete}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-datepicker",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var dropdown,moment,active=!1;return UI.component("datepicker",{defaults:{mobile:!1,weekstart:1,i18n:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},format:"YYYY-MM-DD",offsettop:5,maxDate:!1,minDate:!1,pos:"auto",template:function(data,opts){var i,content="";if(content+='
          ',content+='',content+='',UI.formSelect){var months,years,minYear,maxYear,currentyear=(new Date).getFullYear(),options=[];for(i=0;i'+opts.i18n.months[i]+""):options.push('");for(months=''+opts.i18n.months[data.month]+'",options=[],minYear=data.minDate?data.minDate.year():currentyear-50,maxYear=data.maxDate?data.maxDate.year():currentyear+20,i=minYear;i<=maxYear;i++)i==data.year?options.push('"):options.push('");years=''+data.year+'",content+='
          '+months+" "+years+"
          "}else content+='
          '+opts.i18n.months[data.month]+" "+data.year+"
          ";for(content+="
          ",content+='',content+="",i=0;i"+data.weekdays[i]+"");for(content+="",content+="",i=0;i";for(var d=0;d'+day.day.format("D")+""}content+=""}return content+="",content+="
          "}},boot:function(){UI.$win.on("resize orientationchange",function(){active&&active.hide()}),UI.$html.on("focus.datepicker.uikit","[data-uk-datepicker]",function(e){var ele=UI.$(this);ele.data("datepicker")||(e.preventDefault(),UI.datepicker(ele,UI.Utils.options(ele.attr("data-uk-datepicker"))),ele.trigger("focus"))}),UI.$html.on("click focus","*",function(e){var target=UI.$(e.target);!active||target[0]==dropdown[0]||target.data("datepicker")||target.parents(".uk-datepicker:first").length||active.hide()})},init:function(){if(!UI.support.touch||"date"!=this.element.attr("type")||this.options.mobile){var $this=this;this.current=this.element.val()?moment(this.element.val(),this.options.format):moment(),this.on("click focus",function(){active!==$this&&$this.pick(this.value?this.value:$this.options.minDate?$this.options.minDate:"")}).on("change",function(){$this.element.val()&&!moment($this.element.val(),$this.options.format).isValid()&&$this.element.val(moment().format($this.options.format))}),dropdown||(dropdown=UI.$('
          '),dropdown.on("click",".uk-datepicker-next, .uk-datepicker-previous, [data-date]",function(e){e.stopPropagation(),e.preventDefault();var ele=UI.$(this);return!ele.hasClass("uk-datepicker-date-disabled")&&void(ele.is("[data-date]")?(active.current=moment(ele.data("date")),active.element.val(active.current.format(active.options.format)).trigger("change"),active.hide()):active.add(ele.hasClass("uk-datepicker-next")?1:-1,"months"))}),dropdown.on("change",".update-picker-month, .update-picker-year",function(){var select=UI.$(this);active[select.is(".update-picker-year")?"setYear":"setMonth"](Number(select.val()))}),dropdown.appendTo("body"))}},pick:function(initdate){var offset=this.element.offset(),css={left:offset.left,right:""};this.current=isNaN(initdate)?moment(initdate,this.options.format):moment(),this.initdate=this.current.format("YYYY-MM-DD"),this.update(),"right"==UI.langdirection&&(css.right=window.innerWidth-(css.left+this.element.outerWidth()),css.left="");var posTop=offset.top-this.element.outerHeight()+this.element.height()-this.options.offsettop-dropdown.outerHeight(),posBottom=offset.top+this.element.outerHeight()+this.options.offsettop;css.top=posBottom,"top"==this.options.pos?css.top=posTop:"auto"==this.options.pos&&window.innerHeight-posBottom-dropdown.outerHeight()<0&&posTop>=0&&(css.top=posTop),dropdown.css(css).show(),this.trigger("show.uk.datepicker"),active=this},add:function(unit,value){this.current.add(unit,value),this.update()},setMonth:function(month){this.current.month(month),this.update()},setYear:function(year){this.current.year(year),this.update()},update:function(){var data=this.getRows(this.current.year(),this.current.month()),tpl=this.options.template(data,this.options);dropdown.html(tpl),this.trigger("update.uk.datepicker")},getRows:function(year,month){var opts=this.options,now=moment().format("YYYY-MM-DD"),days=[31,year%4===0&&year%100!==0||year%400===0?29:28,31,30,31,30,31,31,30,31,30,31][month],before=new Date(year,month,1,12).getDay(),data={month:month,year:year,weekdays:[],days:[],maxDate:!1,minDate:!1},row=[];opts.maxDate!==!1&&(data.maxDate=isNaN(opts.maxDate)?moment(opts.maxDate,opts.format):moment().add(opts.maxDate,"days")),opts.minDate!==!1&&(data.minDate=isNaN(opts.minDate)?moment(opts.minDate,opts.format):moment().add(opts.minDate-1,"days")),data.weekdays=function(){for(var i=0,arr=[];i<7;i++){for(var day=i+(opts.weekstart||0);day>=7;)day-=7;arr.push(opts.i18n.weekdays[day])}return arr}(),opts.weekstart&&opts.weekstart>0&&(before-=opts.weekstart,before<0&&(before+=7));for(var cells=days+before,after=cells;after>7;)after-=7;cells+=7-after;for(var day,isDisabled,isSelected,isToday,isInMonth,i=0,r=0;iday||data.maxDate&&day>data.maxDate,isInMonth=!(i=days+before),day=moment(day),isSelected=this.initdate==day.format("YYYY-MM-DD"),isToday=now==day.format("YYYY-MM-DD"),row.push({selected:isSelected,today:isToday,disabled:isDisabled,day:day,inmonth:isInMonth}),7===++r&&(data.days.push(row),row=[],r=0);return data},hide:function(){active&&active===this&&(dropdown.hide(),active=!1,this.trigger("hide.uk.datepicker"))}}),moment=function(undefined){function dfl(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function hasOwnProp(a,b){return hasOwnProperty.call(a,b)}function defaultParsingFlags(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function printMsg(msg){moment.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend(function(){return firstTime&&(printMsg(msg),firstTime=!1),fn.apply(this,arguments)},fn)}function deprecateSimple(name,msg){deprecations[name]||(printMsg(msg),deprecations[name]=!0)}function padToken(func,count){return function(a){return leftZeroFill(func.call(this,a),count)}}function ordinalizeToken(func,period){return function(a){return this.localeData().ordinal(func.call(this,a),period)}}function Locale(){}function Moment(config,skipOverflow){skipOverflow!==!1&&checkOverflow(config),copyConfig(this,config),this._d=new Date((+config._d))}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+36e5*hours,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=moment.localeData(),this._bubble()}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function copyConfig(to,from){var i,prop,val;if("undefined"!=typeof from._isAMomentObject&&(to._isAMomentObject=from._isAMomentObject),"undefined"!=typeof from._i&&(to._i=from._i),"undefined"!=typeof from._f&&(to._f=from._f),"undefined"!=typeof from._l&&(to._l=from._l),"undefined"!=typeof from._strict&&(to._strict=from._strict),"undefined"!=typeof from._tzm&&(to._tzm=from._tzm),"undefined"!=typeof from._isUTC&&(to._isUTC=from._isUTC),"undefined"!=typeof from._offset&&(to._offset=from._offset),"undefined"!=typeof from._pf&&(to._pf=from._pf),"undefined"!=typeof from._locale&&(to._locale=from._locale),momentProperties.length>0)for(i in momentProperties)prop=momentProperties[i],val=from[prop],"undefined"!=typeof val&&(to[prop]=val);return to}function absRound(number){return number<0?Math.ceil(number):Math.floor(number)}function leftZeroFill(number,targetLength,forceSign){for(var output=""+Math.abs(number),sign=number>=0;output.length=0?Math.floor(coercedNumber):Math.ceil(coercedNumber)),value}function daysInMonth(year,month){return new Date(Date.UTC(year,month+1,0)).getUTCDate()}function weeksInYear(year,dow,doy){return weekOfYear(moment([year,11,31+dow-doy]),dow,doy).week}function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}function checkOverflow(m){var overflow;m._a&&m._pf.overflow===-2&&(overflow=m._a[MONTH]<0||m._a[MONTH]>11?MONTH:m._a[DATE]<1||m._a[DATE]>daysInMonth(m._a[YEAR],m._a[MONTH])?DATE:m._a[HOUR]<0||m._a[HOUR]>23?HOUR:m._a[MINUTE]<0||m._a[MINUTE]>59?MINUTE:m._a[SECOND]<0||m._a[SECOND]>59?SECOND:m._a[MILLISECOND]<0||m._a[MILLISECOND]>999?MILLISECOND:-1,m._pf._overflowDayOfYear&&(overflowDATE)&&(overflow=DATE),m._pf.overflow=overflow)}function isValid(m){return null==m._isValid&&(m._isValid=!isNaN(m._d.getTime())&&m._pf.overflow<0&&!m._pf.empty&&!m._pf.invalidMonth&&!m._pf.nullInput&&!m._pf.invalidFormat&&!m._pf.userInvalidated,m._strict&&(m._isValid=m._isValid&&0===m._pf.charsLeftOver&&0===m._pf.unusedTokens.length)),m._isValid}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function chooseLocale(names){for(var j,next,locale,split,i=0;i0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&compareArrays(split,next,!0)>=j-1)break;j--}i++}return null}function loadLocale(name){var oldLocale=null;if(!locales[name]&&hasModule)try{oldLocale=moment.locale(),require("./locale/"+name),moment.locale(oldLocale)}catch(e){}return locales[name]}function makeAs(input,model){return model._isUTC?moment(input).zone(model._offset||0):moment(input).local()}function removeFormattingTokens(input){return input.match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"")}function makeFormatFunction(format){var i,length,array=format.match(formattingTokens);for(i=0,length=array.length;i=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}function getParseRegexForToken(token,config){var a,strict=config._strict;switch(token){case"Q":return parseTokenOneDigit;case"DDDD":return parseTokenThreeDigits;case"YYYY":case"GGGG":case"gggg":return strict?parseTokenFourDigits:parseTokenOneToFourDigits;case"Y":case"G":case"g":return parseTokenSignedNumber;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return strict?parseTokenSixDigits:parseTokenOneToSixDigits;case"S":if(strict)return parseTokenOneDigit;case"SS":if(strict)return parseTokenTwoDigits;case"SSS":if(strict)return parseTokenThreeDigits;case"DDD":return parseTokenOneToThreeDigits;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return parseTokenWord;case"a":case"A":return config._locale._meridiemParse;case"X":return parseTokenTimestampMs;case"Z":case"ZZ":return parseTokenTimezone;case"T":return parseTokenT;case"SSSS":return parseTokenDigits;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return strict?parseTokenTwoDigits:parseTokenOneOrTwoDigits;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return parseTokenOneOrTwoDigits;case"Do":return parseTokenOrdinal;default:return a=new RegExp(regexpEscape(unescapeFormat(token.replace("\\","")),"i"))}}function timezoneMinutesFromString(string){string=string||"";var possibleTzMatches=string.match(parseTokenTimezone)||[],tzChunk=possibleTzMatches[possibleTzMatches.length-1]||[],parts=(tzChunk+"").match(parseTimezoneChunker)||["-",0,0],minutes=+(60*parts[1])+toInt(parts[2]);return"+"===parts[0]?-minutes:minutes}function addTimeToArrayFromToken(token,input,config){var a,datePartArray=config._a;switch(token){case"Q":null!=input&&(datePartArray[MONTH]=3*(toInt(input)-1));break;case"M":case"MM":null!=input&&(datePartArray[MONTH]=toInt(input)-1);break;case"MMM":case"MMMM":a=config._locale.monthsParse(input),null!=a?datePartArray[MONTH]=a:config._pf.invalidMonth=input;break;case"D":case"DD":null!=input&&(datePartArray[DATE]=toInt(input));break;case"Do":null!=input&&(datePartArray[DATE]=toInt(parseInt(input,10)));break;case"DDD":case"DDDD":null!=input&&(config._dayOfYear=toInt(input));break;case"YY":datePartArray[YEAR]=moment.parseTwoDigitYear(input);break;case"YYYY":case"YYYYY":case"YYYYYY":datePartArray[YEAR]=toInt(input);break;case"a":case"A":config._isPm=config._locale.isPM(input);break;case"H":case"HH":case"h":case"hh":datePartArray[HOUR]=toInt(input);break;case"m":case"mm":datePartArray[MINUTE]=toInt(input);break;case"s":case"ss":datePartArray[SECOND]=toInt(input);break;case"S":case"SS":case"SSS":case"SSSS":datePartArray[MILLISECOND]=toInt(1e3*("0."+input));break;case"X":config._d=new Date(1e3*parseFloat(input));break;case"Z":case"ZZ":config._useUTC=!0,config._tzm=timezoneMinutesFromString(input);break;case"dd":case"ddd":case"dddd":a=config._locale.weekdaysParse(input),null!=a?(config._w=config._w||{},config._w.d=a):config._pf.invalidWeekday=input;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":token=token.substr(0,1);case"gggg":case"GGGG":case"GGGGG":token=token.substr(0,2),input&&(config._w=config._w||{},config._w[token]=toInt(input));break;case"gg":case"GG":config._w=config._w||{},config._w[token]=moment.parseTwoDigitYear(input)}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp;w=config._w,null!=w.GG||null!=w.W||null!=w.E?(dow=1,doy=4,weekYear=dfl(w.GG,config._a[YEAR],weekOfYear(moment(),1,4).year),week=dfl(w.W,1),weekday=dfl(w.E,1)):(dow=config._locale._week.dow,doy=config._locale._week.doy,weekYear=dfl(w.gg,config._a[YEAR],weekOfYear(moment(),dow,doy).year),week=dfl(w.w,1),null!=w.d?(weekday=w.d,weekdaydaysInYear(yearToUse)&&(config._pf._overflowDayOfYear=!0),date=makeUTCDate(yearToUse,0,config._dayOfYear),config._a[MONTH]=date.getUTCMonth(),config._a[DATE]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];config._d=(config._useUTC?makeUTCDate:makeDate).apply(null,input),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()+config._tzm)}}function dateFromObject(config){var normalizedInput;config._d||(normalizedInput=normalizeObjectUnits(config._i),config._a=[normalizedInput.year,normalizedInput.month,normalizedInput.day,normalizedInput.hour,normalizedInput.minute,normalizedInput.second,normalizedInput.millisecond],dateFromConfig(config))}function currentDateArray(config){var now=new Date;return config._useUTC?[now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate()]:[now.getFullYear(),now.getMonth(),now.getDate()]}function makeDateFromStringAndFormat(config){if(config._f===moment.ISO_8601)return void parseISO(config);config._a=[],config._pf.empty=!0;var i,parsedInput,tokens,token,skipped,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i0&&config._pf.unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?config._pf.empty=!1:config._pf.unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&config._pf.unusedTokens.push(token);config._pf.charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&config._pf.unusedInput.push(string),config._isPm&&config._a[HOUR]<12&&(config._a[HOUR]+=12),config._isPm===!1&&12===config._a[HOUR]&&(config._a[HOUR]=0),dateFromConfig(config),checkOverflow(config)}function unescapeFormat(s){return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4})}function regexpEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function makeDateFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(0===config._f.length)return config._pf.invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;i0,args[4]=locale,substituteTimeAgo.apply({},args)}function weekOfYear(mom,firstDayOfWeek,firstDayOfWeekOfYear){var adjustedMoment,end=firstDayOfWeekOfYear-firstDayOfWeek,daysToDayOfWeek=firstDayOfWeekOfYear-mom.day();return daysToDayOfWeek>end&&(daysToDayOfWeek-=7),daysToDayOfWeekfirstDayOfWeekOfYear?7:0)-(d0?year:year-1,dayOfYear:dayOfYear>0?dayOfYear:daysInYear(year-1)+dayOfYear}}function makeMoment(config){var input=config._i,format=config._f;return config._locale=config._locale||moment.localeData(config._l),null===input||format===undefined&&""===input?moment.invalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),moment.isMoment(input)?new Moment(input,(!0)):(format?isArray(format)?makeDateFromStringAndArray(config):makeDateFromStringAndFormat(config):makeDateFromInput(config),new Moment(config)))}function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return moment();for(res=moments[0],i=1;i=0?"+":"-";return sign+leftZeroFill(Math.abs(y),6)},gg:function(){return leftZeroFill(this.weekYear()%100,2)},gggg:function(){return leftZeroFill(this.weekYear(),4)},ggggg:function(){return leftZeroFill(this.weekYear(),5)},GG:function(){return leftZeroFill(this.isoWeekYear()%100,2)},GGGG:function(){return leftZeroFill(this.isoWeekYear(),4)},GGGGG:function(){return leftZeroFill(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return toInt(this.milliseconds()/100)},SS:function(){return leftZeroFill(toInt(this.milliseconds()/10),2)},SSS:function(){return leftZeroFill(this.milliseconds(),3)},SSSS:function(){return leftZeroFill(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+leftZeroFill(toInt(a/60),2)+":"+leftZeroFill(toInt(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+leftZeroFill(toInt(a/60),2)+leftZeroFill(toInt(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},deprecations={},lists=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ordinalizeTokens.length;)i=ordinalizeTokens.pop(),formatTokenFunctions[i+"o"]=ordinalizeToken(formatTokenFunctions[i],i);for(;paddedTokens.length;)i=paddedTokens.pop(),formatTokenFunctions[i+i]=padToken(formatTokenFunctions[i],2);formatTokenFunctions.DDDD=padToken(formatTokenFunctions.DDD,3),extend(Locale.prototype,{set:function(config){var prop,i;for(i in config)prop=config[i],"function"==typeof prop?this[i]=prop:this["_"+i]=prop},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(m){return this._months[m.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(m){return this._monthsShort[m.month()]},monthsParse:function(monthName){var i,mom,regex;for(this._monthsParse||(this._monthsParse=[]),i=0;i<12;i++)if(this._monthsParse[i]||(mom=moment.utc([2e3,i]),regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),this._monthsParse[i].test(monthName))return i},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(m){return this._weekdays[m.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(m){return this._weekdaysShort[m.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(m){return this._weekdaysMin[m.day()]},weekdaysParse:function(weekdayName){var i,mom,regex;for(this._weekdaysParse||(this._weekdaysParse=[]),i=0;i<7;i++)if(this._weekdaysParse[i]||(mom=moment([2e3,1]).day(i),regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),this._weekdaysParse[i].test(weekdayName))return i},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(key){var output=this._longDateFormat[key];return!output&&this._longDateFormat[key.toUpperCase()]&&(output=this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1)}),this._longDateFormat[key]=output),output},isPM:function(input){return"p"===(input+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(key,mom){var output=this._calendar[key];return"function"==typeof output?output.apply(mom):output},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return"function"==typeof output?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},pastFuture:function(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return"function"==typeof format?format(output):format.replace(/%s/i,output)},ordinal:function(number){return this._ordinal.replace("%d",number)},_ordinal:"%d",preparse:function(string){return string},postformat:function(string){return string},week:function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),moment=function(input,format,locale,strict){var c;return"boolean"==typeof locale&&(strict=locale,locale=undefined),c={},c._isAMomentObject=!0,c._i=input,c._f=format,c._l=locale,c._strict=strict,c._isUTC=!1,c._pf=defaultParsingFlags(),makeMoment(c)},moment.suppressDeprecationWarnings=!1,moment.createFromInputFallback=deprecate("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(config){config._d=new Date(config._i)}),moment.min=function(){var args=[].slice.call(arguments,0);return pickBy("isBefore",args)},moment.max=function(){var args=[].slice.call(arguments,0);return pickBy("isAfter",args)},moment.utc=function(input,format,locale,strict){var c;return"boolean"==typeof locale&&(strict=locale,locale=undefined),c={},c._isAMomentObject=!0,c._useUTC=!0,c._isUTC=!0,c._l=locale,c._i=input,c._f=format,c._strict=strict,c._pf=defaultParsingFlags(),makeMoment(c).utc()},moment.unix=function(input){return moment(1e3*input)},moment.duration=function(input,key){var sign,ret,parseIso,diffRes,duration=input,match=null;return moment.isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:"number"==typeof input?(duration={},key?duration[key]=input:duration.milliseconds=input):(match=aspNetTimeSpanJsonRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(match[MILLISECOND])*sign}):(match=isoDurationRegex.exec(input))?(sign="-"===match[1]?-1:1,parseIso=function(inp){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign},duration={y:parseIso(match[2]),M:parseIso(match[3]),d:parseIso(match[4]),h:parseIso(match[5]),m:parseIso(match[6]),s:parseIso(match[7]),w:parseIso(match[8])}):"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=momentsDifference(moment(duration.from),moment(duration.to)),duration={},duration.ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),moment.isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),ret},moment.version=VERSION,moment.defaultFormat=isoFormat,moment.ISO_8601=function(){},moment.momentProperties=momentProperties,moment.updateOffset=function(){},moment.relativeTimeThreshold=function(threshold,limit){return relativeTimeThresholds[threshold]!==undefined&&(limit===undefined?relativeTimeThresholds[threshold]:(relativeTimeThresholds[threshold]=limit,!0))},moment.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",function(key,value){return moment.locale(key,value)}),moment.locale=function(key,values){var data;return key&&(data="undefined"!=typeof values?moment.defineLocale(key,values):moment.localeData(key),data&&(moment.duration._locale=moment._locale=data)),moment._locale._abbr},moment.defineLocale=function(name,values){return null!==values?(values.abbr=name,locales[name]||(locales[name]=new Locale),locales[name].set(values),moment.locale(name),locales[name]):(delete locales[name],null)},moment.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",function(key){return moment.localeData(key)}),moment.localeData=function(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return moment._locale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return chooseLocale(key)},moment.isMoment=function(obj){return obj instanceof Moment||null!=obj&&hasOwnProp(obj,"_isAMomentObject")},moment.isDuration=function(obj){return obj instanceof Duration};for(i=lists.length-1;i>=0;--i)makeList(lists[i]);moment.normalizeUnits=function(units){return normalizeUnits(units)},moment.invalid=function(flags){var m=moment.utc(NaN);return null!=flags?extend(m._pf,flags):m._pf.userInvalidated=!0,m},moment.parseZone=function(){return moment.apply(null,arguments).parseZone()},moment.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)},extend(moment.fn=Moment.prototype,{clone:function(){return moment(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date((+this)):this._d},toISOString:function(){var m=moment(this).utc();return 00)},parsingFlags:function(){return extend({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(keepLocalTime){return this.zone(0,keepLocalTime)},local:function(keepLocalTime){return this._isUTC&&(this.zone(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.add(this._dateTzOffset(),"m")),this},format:function(inputString){var output=formatMoment(this,inputString||moment.defaultFormat);return this.localeData().postformat(output)},add:createAdder(1,"add"),subtract:createAdder(-1,"subtract"),diff:function(input,units,asFloat){var diff,output,daysAdjust,that=makeAs(input,this),zoneDiff=6e4*(this.zone()-that.zone());return units=normalizeUnits(units),"year"===units||"month"===units?(diff=432e5*(this.daysInMonth()+that.daysInMonth()),output=12*(this.year()-that.year())+(this.month()-that.month()),daysAdjust=this-moment(this).startOf("month")-(that-moment(that).startOf("month")),daysAdjust-=6e4*(this.zone()-moment(this).startOf("month").zone()-(that.zone()-moment(that).startOf("month").zone())),output+=daysAdjust/diff,"year"===units&&(output/=12)):(diff=this-that,output="second"===units?diff/1e3:"minute"===units?diff/6e4:"hour"===units?diff/36e5:"day"===units?(diff-zoneDiff)/864e5:"week"===units?(diff-zoneDiff)/6048e5:diff),asFloat?output:absRound(output)},from:function(time,withoutSuffix){return moment.duration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix)},fromNow:function(withoutSuffix){return this.from(moment(),withoutSuffix)},calendar:function(time){var now=time||moment(),sod=makeAs(now,this).startOf("day"),diff=this.diff(sod,"days",!0),format=diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse";return this.format(this.localeData().calendar(format,this))},isLeapYear:function(){return isLeapYear(this.year())},isDST:function(){return this.zone()+input):+this.clone().startOf(units)>+moment(input).startOf(units)},isBefore:function(input,units){return units=normalizeUnits("undefined"!=typeof units?units:"millisecond"),"millisecond"===units?(input=moment.isMoment(input)?input:moment(input),+this<+input):+this.clone().startOf(units)<+moment(input).startOf(units)},isSame:function(input,units){return units=normalizeUnits(units||"millisecond"),"millisecond"===units?(input=moment.isMoment(input)?input:moment(input),+this===+input):+this.clone().startOf(units)===+makeAs(input,this).startOf(units)},min:deprecate("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(other){return other=moment.apply(null,arguments),otherthis?this:other}),zone:function(input,keepLocalTime){var localAdjust,offset=this._offset||0;return null==input?this._isUTC?offset:this._dateTzOffset():("string"==typeof input&&(input=timezoneMinutesFromString(input)),Math.abs(input)<16&&(input=60*input),!this._isUTC&&keepLocalTime&&(localAdjust=this._dateTzOffset()),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.subtract(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addOrSubtractDurationFromMoment(this,moment.duration(offset-input,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,moment.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(input){return input=input?moment(input).zone():0,(this.zone()-input)%60===0},daysInMonth:function(){return daysInMonth(this.year(),this.month())},dayOfYear:function(input){var dayOfYear=round((moment(this).startOf("day")-moment(this).startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},quarter:function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},weekYear:function(input){var year=weekOfYear(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==input?year:this.add(input-year,"y")},isoWeekYear:function(input){var year=weekOfYear(this,1,4).year;return null==input?year:this.add(input-year,"y")},week:function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},isoWeek:function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},weekday:function(input){var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},isoWeekday:function(input){return null==input?this.day()||7:this.day(this.day()%7?input:input-7)},isoWeeksInYear:function(){return weeksInYear(this.year(),1,4)},weeksInYear:function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},get:function(units){return units=normalizeUnits(units),this[units]()},set:function(units,value){return units=normalizeUnits(units),"function"==typeof this[units]&&this[units](value),this},locale:function(key){var newLocaleData;return key===undefined?this._locale._abbr:(newLocaleData=moment.localeData(key),null!=newLocaleData&&(this._locale=newLocaleData),this)},lang:deprecate("moment().lang() is deprecated. Use moment().localeData() instead.",function(key){return key===undefined?this.localeData():this.locale(key)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),moment.fn.millisecond=moment.fn.milliseconds=makeAccessor("Milliseconds",!1),moment.fn.second=moment.fn.seconds=makeAccessor("Seconds",!1),moment.fn.minute=moment.fn.minutes=makeAccessor("Minutes",!1),moment.fn.hour=moment.fn.hours=makeAccessor("Hours",!0),moment.fn.date=makeAccessor("Date",!0),moment.fn.dates=deprecate("dates accessor is deprecated. Use date instead.",makeAccessor("Date",!0)),moment.fn.year=makeAccessor("FullYear",!0),moment.fn.years=deprecate("years accessor is deprecated. Use year instead.",makeAccessor("FullYear",!0)),moment.fn.days=moment.fn.day,moment.fn.months=moment.fn.month,moment.fn.weeks=moment.fn.week,moment.fn.isoWeeks=moment.fn.isoWeek,moment.fn.quarters=moment.fn.quarter,moment.fn.toJSON=moment.fn.toISOString,extend(moment.duration.fn=Duration.prototype,{_bubble:function(){var seconds,minutes,hours,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data,years=0;data.milliseconds=milliseconds%1e3,seconds=absRound(milliseconds/1e3),data.seconds=seconds%60,minutes=absRound(seconds/60),data.minutes=minutes%60,hours=absRound(minutes/60),data.hours=hours%24,days+=absRound(hours/24),years=absRound(daysToYears(days)),days-=absRound(yearsToDays(years)),months+=absRound(days/30),days%=30,years+=absRound(months/12),months%=12,data.days=days,data.months=months,data.years=years},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return absRound(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12)},humanize:function(withSuffix){var output=relativeTime(this,!withSuffix,this.localeData());return withSuffix&&(output=this.localeData().pastFuture(+this,output)),this.localeData().postformat(output)},add:function(input,val){var dur=moment.duration(input,val);return this._milliseconds+=dur._milliseconds,this._days+=dur._days,this._months+=dur._months,this._bubble(),this},subtract:function(input,val){var dur=moment.duration(input,val);return this._milliseconds-=dur._milliseconds,this._days-=dur._days,this._months-=dur._months,this._bubble(),this},get:function(units){return units=normalizeUnits(units),this[units.toLowerCase()+"s"]()},as:function(units){var days,months;if(units=normalizeUnits(units),"month"===units||"year"===units)return days=this._days+this._milliseconds/864e5,months=this._months+12*daysToYears(days),"month"===units?months:months/12;switch(days=this._days+yearsToDays(this._months/12),units){case"week":return days/7+this._milliseconds/6048e5;case"day":return days+this._milliseconds/864e5;case"hour":return 24*days+this._milliseconds/36e5;case"minute":return 24*days*60+this._milliseconds/6e4;case"second":return 24*days*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*days*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+units)}},lang:moment.fn.lang,locale:moment.fn.locale,toIsoString:deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var years=Math.abs(this.years()),months=Math.abs(this.months()),days=Math.abs(this.days()),hours=Math.abs(this.hours()),minutes=Math.abs(this.minutes()),seconds=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(years?years+"Y":"")+(months?months+"M":"")+(days?days+"D":"")+(hours||minutes||seconds?"T":"")+(hours?hours+"H":"")+(minutes?minutes+"M":"")+(seconds?seconds+"S":""):"P0D"},localeData:function(){return this._locale}}),moment.duration.fn.toString=moment.duration.fn.toISOString;for(i in unitMillisecondFactors)hasOwnProp(unitMillisecondFactors,i)&&makeDurationGetter(i.toLowerCase());return moment.duration.fn.asMilliseconds=function(){return this.as("ms")},moment.duration.fn.asSeconds=function(){return this.as("s")},moment.duration.fn.asMinutes=function(){return this.as("m")},moment.duration.fn.asHours=function(){return this.as("h")},moment.duration.fn.asDays=function(){return this.as("d")},moment.duration.fn.asWeeks=function(){return this.as("weeks")},moment.duration.fn.asMonths=function(){return this.as("M")},moment.duration.fn.asYears=function(){return this.as("y")},moment.locale("en",{ordinal:function(number){var b=number%10,output=1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return number+output}}),moment}.call(this),UI.Utils.moment=moment,UI.datepicker}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-password",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("formPassword",{defaults:{lblShow:"Show",lblHide:"Hide"},boot:function(){UI.$html.on("click.formpassword.uikit","[data-uk-form-password]",function(e){var ele=UI.$(this);ele.data("formPassword")||(e.preventDefault(),UI.formPassword(ele,UI.Utils.options(ele.attr("data-uk-form-password"))),ele.trigger("click"))})},init:function(){var $this=this;this.on("click",function(e){if(e.preventDefault(),$this.input.length){var type=$this.input.attr("type");$this.input.attr("type","text"==type?"password":"text"),$this.element.html($this.options["text"==type?"lblShow":"lblHide"])}}),this.input=this.element.next("input").length?this.element.next("input"):this.element.prev("input"),this.element.html(this.options[this.input.is("[type='password']")?"lblShow":"lblHide"]),this.element.data("formPassword",this)}}),UI.formPassword}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-select",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("formSelect",{defaults:{target:">span:first",activeClass:"uk-active"},boot:function(){UI.ready(function(context){UI.$("[data-uk-form-select]",context).each(function(){var ele=UI.$(this);ele.data("formSelect")||UI.formSelect(ele,UI.Utils.options(ele.attr("data-uk-form-select")))})})},init:function(){var $this=this;this.target=this.find(this.options.target),this.select=this.find("select"),this.select.on("change",function(){var select=$this.select[0],fn=function(){try{$this.target.text(select.options[select.selectedIndex].text)}catch(e){}return $this.element[$this.select.val()?"addClass":"removeClass"]($this.options.activeClass),fn};return fn()}()),this.element.data("formSelect",this)}}),UI.formSelect}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-grid",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function getElementSize(ele){return _getSize(ele)}UI.component("grid",{defaults:{colwidth:"auto",animation:!0,duration:300,gutter:0,controls:!1,filter:!1},boot:function(){UI.ready(function(context){UI.$("[data-uk-grid]",context).each(function(){var ele=UI.$(this);ele.data("grid")||UI.grid(ele,UI.Utils.options(ele.attr("data-uk-grid")))})})},init:function(){var $this=this,gutter=String(this.options.gutter).trim().split(" ");this.gutterv=parseInt(gutter[0],10),this.gutterh=parseInt(gutter[1]||gutter[0],10),this.element.css({position:"relative"}),this.controls=null,this.options.controls&&(this.controls=UI.$(this.options.controls), +this.controls.on("click","[data-uk-filter]",function(e){e.preventDefault(),$this.filter(UI.$(this).data("ukFilter"))}),this.controls.on("click","[data-uk-sort]",function(e){e.preventDefault();var cmd=UI.$(this).attr("data-uk-sort").split(":");$this.sort(cmd[0],cmd[1])})),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){$this.currentfilter?$this.filter($this.currentfilter):this.updateLayout()}.bind(this),100)),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.updateLayout()}),UI.$html.on("changed.uk.dom",function(e){$this.updateLayout()}),this.options.filter!==!1?this.filter(this.options.filter):this.updateLayout()},_prepareElements:function(){var css,children=this.element.children(":not([data-grid-prepared])");children.length&&(css={position:"absolute","box-sizing":"border-box",width:"auto"==this.options.colwidth?"":this.options.colwidth},this.options.gutter&&(css["padding-left"]=this.gutterh,css["padding-bottom"]=this.gutterv,this.element.css("margin-left",this.gutterh*-1)),children.attr("data-grid-prepared","true").css(css))},updateLayout:function(elements){this._prepareElements(),elements=elements||this.element.children(":visible");var item,width,height,pos,i,z,max,size,children=elements,maxwidth=this.element.width()+2*this.gutterh+2,left=0,top=0,positions=[];this.trigger("beforeupdate.uk.grid",[children]),children.each(function(index){for(size=getElementSize(this),item=UI.$(this),width=size.outerWidth,height=size.outerHeight,left=0,top=0,i=0,max=positions.length;i-1&&(infilter=!0)})),elements[infilter?"visible":"hidden"].push(ele)}),elements.hidden=UI.$(elements.hidden).map(function(){return this[0]}),elements.visible=UI.$(elements.visible).map(function(){return this[0]}),elements.hidden.attr("aria-hidden","true").filter(":visible").fadeOut(this.options.duration),elements.visible.attr("aria-hidden","false").filter(":hidden").css("opacity",0).show(),$this.updateLayout(elements.visible),this.controls&&this.controls.length&&this.controls.find("[data-uk-filter]").removeClass("uk-active").filter('[data-uk-filter="'+filter+'"]').addClass("uk-active")},sort:function(by,order){order=order||1,"string"==typeof order&&(order="desc"==order.toLowerCase()?-1:1);var elements=this.element.children();elements.sort(function(a,b){return a=UI.$(a),b=UI.$(b),(b.data(by)||"")<(a.data(by)||"")?order:order*-1}).appendTo(this.element),this.updateLayout(elements.filter(":visible")),this.controls&&this.controls.length&&this.controls.find("[data-uk-sort]").removeClass("uk-active").filter('[data-uk-sort="'+by+":"+(order==-1?"desc":"asc")+'"]').addClass("uk-active")}});var _getSize=function(){function getStyleProperty(propName){if(propName){if("string"==typeof docElemStyle[propName])return propName;propName=propName.charAt(0).toUpperCase()+propName.slice(1);for(var prefixed,i=0,len=prefixes.length;i
          "].join(""),UI.plugin("htmleditor","base",{init:function(editor){function addAction(name,replace,mode){editor.on("action."+name,function(){"html"==editor.getCursorMode()&&editor["replaceLine"==mode?"replaceLine":"replaceSelection"](replace)})}editor.addButtons({fullscreen:{title:"Fullscreen",label:''},bold:{title:"Bold",label:''},italic:{title:"Italic",label:''},strike:{title:"Strikethrough",label:''},blockquote:{title:"Blockquote",label:''},link:{title:"Link",label:''},image:{title:"Image",label:''},listUl:{title:"Unordered List",label:''},listOl:{title:"Ordered List",label:''}}),addAction("bold","$1"),addAction("italic","$1"),addAction("strike","$1"),addAction("blockquote","

          $1

          ","replaceLine"),addAction("link",'$1'),addAction("image",'$1');var listfn=function(){if("html"==editor.getCursorMode()){for(var cm=editor.editor,pos=cm.getDoc().getCursor(!0),posend=cm.getDoc().getCursor(!1),i=pos.line;i"+cm.getLine(i)+"",{line:i,ch:0},{line:i,ch:cm.getLine(i).length});cm.setCursor({line:posend.line,ch:cm.getLine(posend.line).length}),cm.focus()}};editor.on("action.listUl",function(){listfn()}),editor.on("action.listOl",function(){listfn()}),editor.htmleditor.on("click",'a[data-htmleditor-button="fullscreen"]',function(){editor.htmleditor.toggleClass("uk-htmleditor-fullscreen");var wrap=editor.editor.getWrapperElement();if(editor.htmleditor.hasClass("uk-htmleditor-fullscreen"))editor.editor.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:wrap.style.width,height:wrap.style.height},wrap.style.width="",wrap.style.height=editor.content.height()+"px",document.documentElement.style.overflow="hidden";else{document.documentElement.style.overflow="";var info=editor.editor.state.fullScreenRestore;wrap.style.width=info.width,wrap.style.height=info.height,window.scrollTo(info.scrollLeft,info.scrollTop)}setTimeout(function(){editor.fit(),UI.$win.trigger("resize")},50)}),editor.addShortcut(["Ctrl-S","Cmd-S"],function(){editor.element.trigger("htmleditor-save",[editor])}),editor.addShortcutAction("bold",["Ctrl-B","Cmd-B"])}}),UI.plugin("htmleditor","markdown",{init:function(editor){function enableMarkdown(){editor.editor.setOption("mode","gfm"),editor.htmleditor.find(".uk-htmleditor-button-code a").html(editor.options.lblMarkedview)}function addAction(name,replace,mode){editor.on("action."+name,function(){"markdown"==editor.getCursorMode()&&editor["replaceLine"==mode?"replaceLine":"replaceSelection"](replace)})}var parser=editor.options.mdparser||marked||null;parser&&(editor.options.markdown&&enableMarkdown(),addAction("bold","**$1**"),addAction("italic","*$1*"),addAction("strike","~~$1~~"),addAction("blockquote","> $1","replaceLine"),addAction("link","[$1](http://)"),addAction("image","![$1](http://)"),editor.on("action.listUl",function(){if("markdown"==editor.getCursorMode()){for(var cm=editor.editor,pos=cm.getDoc().getCursor(!0),posend=cm.getDoc().getCursor(!1),i=pos.line;i0){var matches,prevline=cm.getLine(pos.line-1);(matches=prevline.match(/^(\d+)\./))&&(prefix=Number(matches[1])+1)}for(var i=pos.line;i','
          ','','
          ','
          ',"
          ",""].join("")).appendTo("body"),modal.dialog=modal.find(".uk-modal-dialog:first"),modal.content=modal.find(".uk-lightbox-content:first"),modal.loader=modal.find(".uk-modal-spinner:first"),modal.closer=modal.find(".uk-close.uk-close-alt"),modal.modal=UI.modal(modal,{modal:!1}),modal.on("swipeRight swipeLeft",function(e){modal.lightbox["swipeLeft"==e.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(e){e.preventDefault(),modal.lightbox[UI.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),modal.on("hide.uk.modal",function(e){modal.content.html("")}),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(e){modal.is(":visible")&&!UI.Utils.isFullscreen()&&modal.lightbox.fitSize()}.bind(this),100)),modal.lightbox=lightbox,modal)}var modal,cache={};return UI.component("lightbox",{defaults:{group:!1,duration:400,keyboard:!0},index:0,items:!1,boot:function(){UI.$html.on("click","[data-uk-lightbox]",function(e){e.preventDefault();var link=UI.$(this);link.data("lightbox")||UI.lightbox(link,UI.Utils.options(link.attr("data-uk-lightbox"))),link.data("lightbox").show(link)}),UI.$doc.on("keyup",function(e){if(modal&&modal.is(":visible")&&modal.lightbox.options.keyboard)switch(e.preventDefault(),e.keyCode){case 37:modal.lightbox.previous();break;case 39:modal.lightbox.next()}})},init:function(){var siblings=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var domSiblings=this.options.group?UI.$(['[data-uk-lightbox*="'+this.options.group+'"]',"[data-uk-lightbox*='"+this.options.group+"']"].join(",")):this.element;domSiblings.each(function(){var ele=UI.$(this);siblings.push({source:ele.attr("href"),title:ele.attr("data-title")||ele.attr("title"),type:ele.attr("data-lightbox-type")||"auto",link:ele})}),this.index=domSiblings.index(this.element),this.siblings=siblings}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(index){this.modal=getModal(this),this.modal.dialog.stop(),this.modal.content.stop();var data,item,$this=this,promise=UI.$.Deferred();index=index||0,"object"==typeof index&&this.siblings.forEach(function(s,idx){index[0]===s.link[0]&&(index=idx)}),index<0?index=this.siblings.length-index:this.siblings[index]||(index=0),item=this.siblings[index],data={lightbox:$this,source:item.source,type:item.type,index:index,promise:promise,title:item.title,item:item,meta:{content:"",width:null,height:null}},this.index=index,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),promise.promise().done(function(){$this.data=data,$this.fitSize(data)}).fail(function(){data.meta.content='
          Loading resource failed!
          ',data.meta.width=400,data.meta.height=300,$this.data=data,$this.fitSize(data)}),$this.trigger("showitem.uk.lightbox",[data])},fitSize:function(){var $this=this,data=this.data,pad=this.modal.dialog.outerWidth()-this.modal.dialog.width(),dpadTop=parseInt(this.modal.dialog.css("margin-top"),10),dpadBot=parseInt(this.modal.dialog.css("margin-bottom"),10),dpad=dpadTop+dpadBot,content=data.meta.content,duration=$this.options.duration;this.siblings.length>1&&(content=[content,'',''].join(""));var maxwidth,maxheight,tmp=UI.$("
           
          ").css({opacity:0,position:"absolute",top:0,left:0,width:"100%","max-width":$this.modal.dialog.css("max-width"),padding:$this.modal.dialog.css("padding"),margin:$this.modal.dialog.css("margin")}),w=data.meta.width,h=data.meta.height;tmp.appendTo("body").width(),maxwidth=tmp.width(),maxheight=window.innerHeight-dpad,tmp.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),data.title&&(this.modal.dialog.append('
          '+data.title+"
          "),maxheight-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),maxwidth',width:width,height:height},data.type="image",data.promise.resolve()};if(cache[data.source])resolve(data.source,cache[data.source].width,cache[data.source].height);else{var img=new Image;img.onerror=function(){data.promise.reject("Loading image failed")},img.onload=function(){cache[data.source]={width:img.width,height:img.height},resolve(data.source,cache[data.source].width,cache[data.source].height)},img.src=data.source}}})}}),UI.plugin("lightbox","youtube",{init:function(lightbox){var youtubeRegExp=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,youtubeRegExpShort=/youtu\.be\/(.*)/;lightbox.on("showitem.uk.lightbox",function(e,data){var id,matches,resolve=function(id,width,height){data.meta={content:'',width:width,height:height},data.type="iframe",data.promise.resolve()};if((matches=data.source.match(youtubeRegExp))&&(id=matches[2]),(matches=data.source.match(youtubeRegExpShort))&&(id=matches[1]),id){if(cache[id])resolve(id,cache[id].width,cache[id].height);else{var img=new Image,lowres=!1;img.onerror=function(){cache[id]={width:640,height:320},resolve(id,cache[id].width,cache[id].height)},img.onload=function(){120==img.width&&90==img.height?lowres?(cache[id]={width:640,height:320},resolve(id,cache[id].width,cache[id].height)):(lowres=!0,img.src="//img.youtube.com/vi/"+id+"/0.jpg"):(cache[id]={width:img.width,height:img.height},resolve(id,img.width,img.height))},img.src="//img.youtube.com/vi/"+id+"/maxresdefault.jpg"}e.stopImmediatePropagation()}})}}),UI.plugin("lightbox","vimeo",{init:function(lightbox){var matches,regex=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;lightbox.on("showitem.uk.lightbox",function(e,data){var id,resolve=function(id,width,height){data.meta={content:'',width:width,height:height},data.type="iframe",data.promise.resolve()};(matches=data.source.match(regex))&&(id=matches[2],cache[id]?resolve(id,cache[id].width,cache[id].height):UI.$.ajax({type:"GET",url:"http://vimeo.com/api/oembed.json?url="+encodeURI(data.source),jsonp:"callback",dataType:"jsonp",success:function(data){cache[id]={width:data.width,height:data.height},resolve(id,cache[id].width,cache[id].height)}}),e.stopImmediatePropagation())})}}),UI.plugin("lightbox","video",{init:function(lightbox){lightbox.on("showitem.uk.lightbox",function(e,data){var resolve=function(source,width,height){data.meta={content:'',width:width,height:height},data.type="video",data.promise.resolve()};if("video"==data.type||data.source.match(/\.(mp4|webm|ogv)$/i))if(cache[data.source])resolve(data.source,cache[data.source].width,cache[data.source].height);else var vid=UI.$('').attr("src",data.source).appendTo("body"),idle=setInterval(function(){vid[0].videoWidth&&(clearInterval(idle),cache[data.source]={width:vid[0].videoWidth,height:vid[0].videoHeight},resolve(data.source,cache[data.source].width,cache[data.source].height),vid.remove())},20)})}}),UI.lightbox.create=function(items,options){if(items){var o,group=[];return items.forEach(function(item){group.push(UI.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof item?{source:item}:item))}),o=UI.lightbox(UI.$.extend({},options,{group:group}))}},UI.lightbox}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-nestable",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var draggingElement,hasTouch="ontouchstart"in window,html=UI.$html,touchedlists=[],$win=UI.$win,eStart=hasTouch?"touchstart":"mousedown",eMove=hasTouch?"touchmove":"mousemove",eEnd=hasTouch?"touchend":"mouseup",eCancel=hasTouch?"touchcancel":"mouseup";return UI.component("nestable",{defaults:{listBaseClass:"uk-nestable",listClass:"uk-nestable-list",listItemClass:"uk-nestable-item",dragClass:"uk-nestable-dragged",movingClass:"uk-nestable-moving",noChildrenClass:"uk-nestable-nochildren",emptyClass:"uk-nestable-empty",handleClass:"",collapsedClass:"uk-collapsed",placeholderClass:"uk-nestable-placeholder",noDragClass:"uk-nestable-nodrag",group:!1,maxDepth:10,threshold:20,idlethreshold:10},boot:function(){UI.$html.on("mousemove touchmove",function(e){ +if(draggingElement){var top=draggingElement.offset().top;topwindow.innerHeight+UI.$win.scrollTop()&&UI.$win.scrollTop(UI.$win.scrollTop()+Math.ceil(draggingElement.height()/2))}}),UI.ready(function(context){UI.$("[data-uk-nestable]",context).each(function(){var ele=UI.$(this);ele.data("nestable")||UI.nestable(ele,UI.Utils.options(ele.attr("data-uk-nestable")))})})},init:function(){var $this=this;Object.keys(this.options).forEach(function(key){String(key).indexOf("Class")!=-1&&($this.options["_"+key]="."+$this.options[key])}),this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass),this.checkEmptyList(),this.reset(),this.element.data("nestable-group",this.options.group||UI.Utils.uid("nestable-group")),this.find(this.options._listItemClass).each(function(){$this.setParent(UI.$(this))}),this.on("click","[data-nestable-action]",function(e){if(!$this.dragEl&&(hasTouch||0===e.button)){e.preventDefault();var target=UI.$(e.currentTarget),action=target.data("nestableAction"),item=target.closest($this.options._listItemClass);"collapse"===action&&$this.collapseItem(item),"expand"===action&&$this.expandItem(item),"toggle"===action&&$this.toggleItem(item)}});var onStartEvent=function(e){var handle=UI.$(e.target);e.target!==$this.element[0]&&(handle.is($this.options._noDragClass)||handle.closest($this.options._noDragClass).length||handle.is("[data-nestable-action]")||handle.closest("[data-nestable-action]").length||($this.options.handleClass&&!handle.hasClass($this.options.handleClass)&&$this.options.handleClass&&(handle=handle.closest($this.options._handleClass)),!handle.length||$this.dragEl||!hasTouch&&0!==e.button||hasTouch&&1!==e.touches.length||(e.originalEvent&&e.originalEvent.touches&&(e=evt.originalEvent.touches[0]),$this.delayMove=function(evt){evt.preventDefault(),$this.dragStart(e),$this.trigger("start.uk.nestable",[$this]),$this.delayMove=!1},$this.delayMove.x=parseInt(e.pageX,10),$this.delayMove.y=parseInt(e.pageY,10),$this.delayMove.threshold=$this.options.idlethreshold,e.preventDefault())))},onMoveEvent=function(e){e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),$this.delayMove&&(Math.abs(e.pageX-$this.delayMove.x)>$this.delayMove.threshold||Math.abs(e.pageY-$this.delayMove.y)>$this.delayMove.threshold)&&(window.getSelection().toString()?$this.delayMove=!1:$this.delayMove(e)),$this.dragEl&&(e.preventDefault(),$this.dragMove(e),$this.trigger("move.uk.nestable",[$this]))},onEndEvent=function(e){$this.dragEl&&(e.preventDefault(),$this.dragStop(hasTouch?e.touches[0]:e)),draggingElement=!1,$this.delayMove=!1};hasTouch?(this.element[0].addEventListener(eStart,onStartEvent,!1),window.addEventListener(eMove,onMoveEvent,!1),window.addEventListener(eEnd,onEndEvent,!1),window.addEventListener(eCancel,onEndEvent,!1)):(this.on(eStart,onStartEvent),$win.on(eMove,onMoveEvent),$win.on(eEnd,onEndEvent))},serialize:function(){var data,depth=0,list=this,step=function(level,depth){var array=[],items=level.children(list.options._listItemClass);return items.each(function(){for(var attribute,li=UI.$(this),item={},sub=li.children(list.options._listClass),i=0;i").addClass(this.options.listClass+" "+this.options.dragClass).append(dragItem.clone()),this.dragEl.css("width",dragItem.width()),this.placeEl.addClass(this.options.placeholderClass),draggingElement=this.dragEl,this.tmpDragOnSiblings=[dragItem[0].previousSibling,dragItem[0].nextSibling],UI.$body.append(this.dragEl),this.dragEl.css({left:offset.left,top:offset.top});var i,depth,items=this.dragEl.find(this.options._listItemClass);for(i=0;ithis.dragDepth&&(this.dragDepth=depth);html.addClass(this.options.movingClass)},dragStop:function(e){var el=UI.$(this.placeEl),root=this.placeEl.parents(this.options._listBaseClass+":first");this.placeEl.removeClass(this.options.placeholderClass),this.dragEl.remove(),this.element[0]!==root[0]?(root.trigger("change.uk.nestable",[root.data("nestable"),el,"added"]),this.element.trigger("change.uk.nestable",[this,el,"removed"])):this.element.trigger("change.uk.nestable",[this,el,"moved"]),this.trigger("stop.uk.nestable",[this,el]),this.reset(),html.removeClass(this.options.movingClass)},dragMove:function(e){var list,parent,prev,next,depth,opt=this.options,mouse=this.mouse,maxDepth=this.dragRootEl?this.dragRootEl.data("nestable").options.maxDepth:opt.maxDepth;this.dragEl.css({left:e.pageX-mouse.offsetX,top:e.pageY-mouse.offsetY}),mouse.lastX=mouse.nowX,mouse.lastY=mouse.nowY,mouse.nowX=e.pageX,mouse.nowY=e.pageY,mouse.distX=mouse.nowX-mouse.lastX,mouse.distY=mouse.nowY-mouse.lastY,mouse.lastDirX=mouse.dirX,mouse.lastDirY=mouse.dirY,mouse.dirX=0===mouse.distX?0:mouse.distX>0?1:-1,mouse.dirY=0===mouse.distY?0:mouse.distY>0?1:-1;var newAx=Math.abs(mouse.distX)>Math.abs(mouse.distY)?1:0;if(!mouse.moving)return mouse.dirAx=newAx,void(mouse.moving=!0);if(mouse.dirAx!==newAx?(mouse.distAxX=0,mouse.distAxY=0):(mouse.distAxX+=Math.abs(mouse.distX),0!==mouse.dirX&&mouse.dirX!==mouse.lastDirX&&(mouse.distAxX=0),mouse.distAxY+=Math.abs(mouse.distY),0!==mouse.dirY&&mouse.dirY!==mouse.lastDirY&&(mouse.distAxY=0)),mouse.dirAx=newAx,mouse.dirAx&&mouse.distAxX>=opt.threshold&&(mouse.distAxX=0,prev=this.placeEl.prev("li"),mouse.distX>0&&prev.length&&!prev.hasClass(opt.collapsedClass)&&!prev.hasClass(opt.noChildrenClass)&&(list=prev.find(opt._listClass).last(),depth=this.placeEl.parents(opt._listClass+","+opt._listBaseClass).length,depth+this.dragDepth<=maxDepth&&(list.length?(list=prev.children(opt._listClass).last(),list.append(this.placeEl)):(list=UI.$("
            ").addClass(opt.listClass),list.append(this.placeEl),prev.append(list),this.setParent(prev)))),mouse.distX<0&&(next=this.placeEl.next(opt._listItemClass),!next.length))){var parentUl=this.placeEl.closest([opt._listBaseClass,opt._listClass].join(",")),surroundingLi=parentUl.closest(opt._listItemClass);surroundingLi.length&&(surroundingLi.after(this.placeEl),parentUl.children().length||this.unsetParent(surroundingLi))}var isEmpty=!1,pointX=e.pageX-(window.pageXOffset||document.scrollLeft||0),pointY=e.pageY-(window.pageYOffset||document.documentElement.scrollTop);if(this.pointEl=UI.$(document.elementFromPoint(pointX,pointY)),opt.handleClass&&this.pointEl.hasClass(opt.handleClass))this.pointEl=this.pointEl.closest(opt._listItemClass);else{var nestableitem=this.pointEl.closest(opt._listItemClass);nestableitem.length&&(this.pointEl=nestableitem)}if(!this.placeEl.find(this.pointEl).length){if(this.pointEl.data("nestable")&&!this.pointEl.children().length)isEmpty=!0,this.checkEmptyList(this.pointEl);else if(!this.pointEl.length||!this.pointEl.hasClass(opt.listItemClass))return;var pointElRoot=this.element,tmpRoot=this.pointEl.closest(this.options._listBaseClass),isNewRoot=pointElRoot[0]!=tmpRoot[0];if(!mouse.dirAx||isNewRoot||isEmpty){if(isNewRoot&&opt.group!==tmpRoot.data("nestable-group"))return;if(touchedlists.push(pointElRoot),depth=this.dragDepth-1+this.pointEl.parents(opt._listClass+","+opt._listBaseClass).length,depth>maxDepth)return;var before=e.pageY','',"
            ",""].join("")).data("notifyMessage",this),this.content(this.options.message),this.options.status&&(this.element.addClass("uk-notify-message-"+this.options.status),this.currentstatus=this.options.status),this.group=this.options.group,messages[this.uuid]=this,containers[this.options.pos]||(containers[this.options.pos]=UI.$('
            ').appendTo("body").on("click",".uk-notify-message",function(){var message=UI.$(this).data("notifyMessage");message.element.trigger("manualclose.uk.notify",[message]),message.close()}))};return UI.$.extend(Message.prototype,{uuid:!1,element:!1,timout:!1,currentstatus:"",group:!1,show:function(){if(!this.element.is(":visible")){var $this=this;containers[this.options.pos].show().prepend(this.element);var marginbottom=parseInt(this.element.css("margin-bottom"),10);return this.element.css({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0}).animate({opacity:1,"margin-top":0,"margin-bottom":marginbottom},function(){if($this.options.timeout){var closefn=function(){$this.close()};$this.timeout=setTimeout(closefn,$this.options.timeout),$this.element.hover(function(){clearTimeout($this.timeout)},function(){$this.timeout=setTimeout(closefn,$this.options.timeout)})}}),this}},close:function(instantly){var $this=this,finalize=function(){$this.element.remove(),containers[$this.options.pos].children().length||containers[$this.options.pos].hide(),$this.options.onClose.apply($this,[]),$this.element.trigger("close.uk.notify",[$this]),delete messages[$this.uuid]};this.timeout&&clearTimeout(this.timeout),instantly?finalize():this.element.animate({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0},function(){finalize()})},content:function(html){var container=this.element.find(">div");return html?(container.html(html),this):container.html()},status:function(status){return status?(this.element.removeClass("uk-notify-message-"+this.currentstatus).addClass("uk-notify-message-"+status),this.currentstatus=status,this):this.currentstatus}}),Message.defaults={message:"",status:"",timeout:5e3,group:null,pos:"top-center",onClose:function(){}},UI.notify=notify,UI.notify.message=Message,UI.notify.closeAll=closeAll,notify}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-pagination",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";return UI.component("pagination",{defaults:{items:1,itemsOnPage:1,pages:0,displayedPages:7,edges:1,currentPage:0,lblPrev:!1,lblNext:!1,onSelectPage:function(){}},boot:function(){UI.ready(function(context){UI.$("[data-uk-pagination]",context).each(function(){var ele=UI.$(this);ele.data("pagination")||UI.pagination(ele,UI.Utils.options(ele.attr("data-uk-pagination")))})})},init:function(){var $this=this;this.pages=this.options.pages?this.options.pages:Math.ceil(this.options.items/this.options.itemsOnPage)?Math.ceil(this.options.items/this.options.itemsOnPage):1,this.currentPage=this.options.currentPage,this.halfDisplayed=this.options.displayedPages/2,this.on("click","a[data-page]",function(e){e.preventDefault(),$this.selectPage(UI.$(this).data("page"))}),this._render()},_getInterval:function(){return{start:Math.ceil(this.currentPage>this.halfDisplayed?Math.max(Math.min(this.currentPage-this.halfDisplayed,this.pages-this.options.displayedPages),0):0),end:Math.ceil(this.currentPage>this.halfDisplayed?Math.min(this.currentPage+this.halfDisplayed,this.pages):Math.min(this.options.displayedPages,this.pages))}},render:function(pages){this.pages=pages?pages:this.pages,this._render()},selectPage:function(pageIndex,pages){this.currentPage=pageIndex,this.render(pages),this.options.onSelectPage.apply(this,[pageIndex]),this.trigger("select.uk.pagination",[pageIndex,this])},_render:function(){var i,o=this.options,interval=this._getInterval();if(this.element.empty(),o.lblPrev&&this._append(this.currentPage-1,{text:o.lblPrev}),interval.start>0&&o.edges>0){var end=Math.min(o.edges,interval.start);for(i=0;i..."):interval.start-o.edges==1&&this._append(o.edges)}for(i=interval.start;i0){this.pages-o.edges>interval.end&&this.pages-o.edges-interval.end!=1?this.element.append("
          • ...
          • "):this.pages-o.edges-interval.end==1&&this._append(interval.end++);var begin=Math.max(this.pages-o.edges,interval.end);for(i=begin;i'+options.text+"":'
          • '+options.text+"
          • ",this.element.append(item)}}),UI.pagination}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-parallax",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function initBgImageParallax(obj,prop,opts){var url,element,size,check,ratio,width,height,img=new Image;return element=obj.element.css({"background-size":"cover","background-repeat":"no-repeat"}),url=element.css("background-image").replace(/^url\(/g,"").replace(/\)$/g,"").replace(/("|')/g,""),check=function(){var w=element.innerWidth(),h=element.innerHeight(),extra="bg"==prop?opts.diff:opts.diff/100*h;return h+=extra,w+=Math.ceil(extra*ratio),w-extrawindow.innerHeight&&(width=1.2*width,height=1.2*height)):(width=w,height=Math.ceil(w/ratio)),void element.css({"background-size":width+"px "+height+"px"}).data("bgsize",{w:width,h:height}))},img.onerror=function(){},img.onload=function(){size={w:img.width,h:img.height},ratio=img.width/img.height,UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){check()},50)),check()},img.src=url,!0}function calcColor(start,end,pos){return start=parseColor(start),end=parseColor(end),pos=pos||0,calculateColor(start,end,pos)}function calculateColor(begin,end,pos){var color="rgba("+parseInt(begin[0]+pos*(end[0]-begin[0]),10)+","+parseInt(begin[1]+pos*(end[1]-begin[1]),10)+","+parseInt(begin[2]+pos*(end[2]-begin[2]),10)+","+(begin&&end?parseFloat(begin[3]+pos*(end[3]-begin[3])):1);return color+=")"}function parseColor(color){var match,quadruplet;return quadruplet=(match=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(color))?[parseInt(match[1],16),parseInt(match[2],16),parseInt(match[3],16),1]:(match=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(color))?[17*parseInt(match[1],16),17*parseInt(match[2],16),17*parseInt(match[3],16),1]:(match=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))?[parseInt(match[1]),parseInt(match[2]),parseInt(match[3]),1]:(match=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(color))?[parseInt(match[1],10),parseInt(match[2],10),parseInt(match[3],10),parseFloat(match[4])]:colors[color]||[255,255,255,0]}var parallaxes=[],supports3d=!1,scrolltop=0,wh=window.innerHeight,checkParallaxes=function(){scrolltop=UI.$win.scrollTop(),window.requestAnimationFrame(function(){for(var i=0;i0&&"none"!==has3d}(),UI.$doc.on("scrolling.uk.document",checkParallaxes),UI.$win.on("load resize orientationchange",UI.Utils.debounce(function(){wh=window.innerHeight,checkParallaxes()},50)),UI.ready(function(context){UI.$("[data-uk-parallax]",context).each(function(){var parallax=UI.$(this);parallax.data("parallax")||UI.parallax(parallax,UI.Utils.options(parallax.attr("data-uk-parallax")))})})},init:function(){this.base=this.options.target?UI.$(this.options.target):this.element,this.props={},this.velocity=this.options.velocity||1;var reserved=["target","velocity","viewport","plugins","media"];Object.keys(this.options).forEach(function(prop){if(reserved.indexOf(prop)===-1){var start,end,dir,diff,startend=String(this.options[prop]).split(",");prop.match(/color/i)?(start=startend[1]?startend[0]:this._getStartValue(prop),end=startend[1]?startend[1]:startend[0],start||(start="rgba(255,255,255,0)")):(start=parseFloat(startend[1]?startend[0]:this._getStartValue(prop)),end=parseFloat(startend[1]?startend[1]:startend[0]),diff=startscrolltop+wh?percent=0:top+height1&&(compercent=1),void 0!==this._percent&&this._percent==compercent||(Object.keys(this.props).forEach(function(prop){switch(opts=this.props[prop],0===percent?val=opts.start:1===percent?val=opts.end:void 0!==opts.diff&&(val=opts.start+opts.diff*compercent*opts.dir),"bg"!=prop&&"bgp"!=prop||this._bgcover||(this._bgcover=initBgImageParallax(this,prop,opts)),prop){case"x":css.transform+=supports3d?" translate3d("+val+"px, 0, 0)":" translateX("+val+"px)";break;case"xp":css.transform+=supports3d?" translate3d("+val+"%, 0, 0)":" translateX("+val+"%)";break;case"y":css.transform+=supports3d?" translate3d(0, "+val+"px, 0)":" translateY("+val+"px)";break;case"yp":css.transform+=supports3d?" translate3d(0, "+val+"%, 0)":" translateY("+val+"%)";break;case"rotate":css.transform+=" rotate("+val+"deg)";break;case"scale":css.transform+=" scale("+val+")";break;case"bg":css["background-position"]="50% "+val+"px";break;case"bgp":css["background-position"]="50% "+val+"%";break;case"color":case"background-color":case"border-color":css[prop]=calcColor(opts.start,opts.end,compercent);break;default:css[prop]=val}}.bind(this)),this.element.css(css),this._percent=compercent)},_getStartValue:function(prop){var value=0;switch(prop){case"scale":value=1;break;default:value=this.element.css(prop)}return value||0}});var colors={black:[0,0,0,1],blue:[0,0,255,1],brown:[165,42,42,1],cyan:[0,255,255,1],fuchsia:[255,0,255,1],gold:[255,215,0,1],green:[0,128,0,1],indigo:[75,0,130,1],khaki:[240,230,140,1],lime:[0,255,0,1],magenta:[255,0,255,1],maroon:[128,0,0,1],navy:[0,0,128,1],olive:[128,128,0,1],orange:[255,165,0,1],pink:[255,192,203,1],purple:[128,0,128,1],violet:[128,0,128,1],red:[255,0,0,1],silver:[192,192,192,1],white:[255,255,255,1],yellow:[255,255,0,1],transparent:[255,255,255,0]};return UI.parallax}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-grid-parallax",["uikit"],function(){return component||addon(UIkit)})}(function(UI){function getcolumns(element){for(var children=element.children(),first=children.filter(":visible:first"),top=first[0].offsetTop+first.outerHeight(),column=0;column=top);column++);return column||1}function percentageInViewport(element){var distance,percentage,percent,top=element.offset().top,height=element.outerHeight(),scrolltop=UIkit.$win.scrollTop(),wh=window.innerHeight;return top>scrolltop+wh?percent=0:top+height1?1:percent}var parallaxes=[],checkParallaxes=function(){requestAnimationFrame(function(){for(var i=0;i1&&$this.element.css("margin-bottom",$this.options.translate+parseInt($this.element.css("margin-bottom")))};return UI.$(function(){fn()}),UI.Utils.debounce(fn,50)}())},initItems:function(){var smooth=this.options.smooth;return this.items=(this.options.target?this.element.find(this.options.target):this.element.children()).each(function(){UI.$(this).css({transition:"transform "+smooth+"ms linear",transform:""})}),this},process:function(){var percent=percentageInViewport(this.element),columns=getcolumns(this.element),items=this.items,mods=[columns-1];if(1==columns||!percent)return void items.css("transform","");for(;mods.length {{#msgResultsHeader}}
          • {{msgResultsHeader}}
          • {{/msgResultsHeader}} {{#items && items.length}} {{~items}}
          • {{{$item.title}}} {{#$item.text}}
            {{{$item.text}}}
            {{/$item.text}}
          • {{/items}} {{#msgMoreResults}}
          • {{msgMoreResults}}
          • {{/msgMoreResults}} {{/end}} {{^items.length}} {{#msgNoResults}}
          • {{msgNoResults}}
          • {{/msgNoResults}} {{/end}}
          ',renderer:function(data){var opts=this.options;this.dropdown.append(this.template({items:data.results||[],msgResultsHeader:opts.msgResultsHeader,msgMoreResults:opts.msgMoreResults,msgNoResults:opts.msgNoResults})),this.show()}},boot:function(){UI.$html.on("focus.search.uikit","[data-uk-search]",function(e){var ele=UI.$(this);ele.data("search")||UI.search(ele,UI.Utils.options(ele.attr("data-uk-search")))})},init:function(){var $this=this;this.autocomplete=UI.autocomplete(this.element,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-search"),this.autocomplete.input.on("keyup",function(){$this.element[$this.autocomplete.input.val()?"addClass":"removeClass"]("uk-active")}).closest("form").on("reset",function(){$this.value="",$this.element.removeClass("uk-active")}),this.on("selectitem.uk.autocomplete",function(e,data){data.url?location.href=data.url:data.moreresults&&$this.autocomplete.input.closest("form").submit()}),this.element.data("search",this)}})}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slider",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var dragging,delayIdle,anchor,dragged,store={};return UI.component("slider",{defaults:{center:!1,threshold:10,infinite:!0,autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0,activecls:"uk-active"},boot:function(){UI.ready(function(context){setTimeout(function(){UI.$("[data-uk-slider]",context).each(function(){var ele=UI.$(this);ele.data("slider")||UI.slider(ele,UI.Utils.options(ele.attr("data-uk-slider")))})},0)})},init:function(){var $this=this;this.container=this.element.find(".uk-slider"),this.focus=0,UI.$win.on("resize load",UI.Utils.debounce(function(){$this.resize(!0)},100)),this.on("click.uk.slider","[data-uk-slider-item]",function(e){e.preventDefault();var item=UI.$(this).attr("data-uk-slider-item");if($this.focus!=item)switch($this.stop(),item){case"next":case"previous":$this["next"==item?"next":"previous"]();break;default:$this.updateFocus(parseInt(item,10))}}),this.container.on({"touchstart mousedown":function(evt){evt.originalEvent&&evt.originalEvent.touches&&(evt=evt.originalEvent.touches[0]),evt.button&&2==evt.button||!$this.active||($this.stop(),anchor=UI.$(evt.target).is("a")?UI.$(evt.target):UI.$(evt.target).parents("a:first"),dragged=!1,anchor.length&&anchor.one("click",function(e){dragged&&e.preventDefault()}),delayIdle=function(e){dragged=!0,dragging=$this,store={touchx:parseInt(e.pageX,10),dir:1,focus:$this.focus,base:$this.options.center?"center":"area"},e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),dragging.element.data({"pointer-start":{x:parseInt(e.pageX,10),y:parseInt(e.pageY,10)},"pointer-pos-start":$this.pos}),$this.container.addClass("uk-drag"),delayIdle=!1},delayIdle.x=parseInt(evt.pageX,10),delayIdle.threshold=$this.options.threshold)},mouseenter:function(){$this.options.pauseOnHover&&($this.hovering=!0)},mouseleave:function(){$this.hovering=!1}}),this.resize(!0),this.on("display.uk.check",function(){$this.element.is(":visible")&&$this.resize(!0)}),this.element.find("a,img").attr("draggable","false"),this.options.autoplay&&this.start()},resize:function(focus){var item,width,cwidth,size,$this=this,pos=0,maxheight=0;return this.items=this.container.children().filter(":visible"),this.vp=this.element[0].getBoundingClientRect().width,this.container.css({"min-width":"","min-height":""}),this.items.each(function(idx){item=UI.$(this),size=item.css({left:"",width:""})[0].getBoundingClientRect(),width=size.width,cwidth=item.width(),maxheight=Math.max(maxheight,size.height),item.css({left:pos,width:width}).data({idx:idx,left:pos,width:width,cwidth:cwidth,area:pos+width,center:pos-($this.vp/2-cwidth/2)}),pos+=width}),this.container.css({"min-width":pos,"min-height":maxheight}),this.options.infinite&&(pos<=2*this.vp||this.items.length<5)&&!this.itemsResized?(this.container.children().each(function(idx){$this.container.append($this.items.eq(idx).clone(!0).attr("id",""))}).each(function(idx){$this.container.append($this.items.eq(idx).clone(!0).attr("id",""))}),this.itemsResized=!0,this.resize()):(this.cw=pos,this.pos=0,this.active=pos>=this.vp,this.container.css({"-ms-transform":"","-webkit-transform":"",transform:""}),void(focus&&this.updateFocus(this.focus))); +},updatePos:function(pos){this.pos=pos,this.container.css({"-ms-transform":"translateX("+pos+"px)","-webkit-transform":"translateX("+pos+"px)",transform:"translateX("+pos+"px)"})},updateFocus:function(idx,dir){if(this.active){dir=dir||(idx>this.focus?1:-1);var area,i,item=this.items.eq(idx);if(this.options.infinite&&this.infinite(idx,dir),this.options.center)this.updatePos(item.data("center")*-1),this.items.filter("."+this.options.activecls).removeClass(this.options.activecls),item.addClass(this.options.activecls);else if(this.options.infinite)this.updatePos(item.data("left")*-1);else{for(area=0,i=idx;ithis.vp)this.updatePos(item.data("left")*-1);else if(1==dir){for(area=0,i=this.items.length-1;i>=0;i--){if(area+=this.items.eq(i).data("width"),area==this.vp){idx=i;break}if(area>this.vp){idx=ithis.vp?this.updatePos((this.container.width()-this.vp)*-1):this.updatePos(this.items.eq(idx).data("left")*-1)}}var left=this.items.eq(idx).data("left");this.items.removeClass("uk-slide-before uk-slide-after").each(function(i){i!==idx&&UI.$(this).addClass(UI.$(this).data("left")this.vp));i++)z=z+1==this.items.length?0:z+1;move.length&&move.forEach(function(itm){var left=item.data("area");itm.css({left:left}).data({left:left,area:left+itm.data("width"),center:left-($this.vp/2-itm.data("cwidth")/2)}),item=itm})}else{for(i=this.items.length-1;i>-1&&(area+=this.items.eq(z).data("width"),z!=baseidx&&move.push(this.items.eq(z)),!(area>this.vp));i--)z=z-1==-1?this.items.length-1:z-1;move.length&&move.forEach(function(itm){var left=item.data("left")-itm.data("width");itm.css({left:left}).data({left:left,area:left+itm.data("width"),center:left-($this.vp/2-itm.data("cwidth")/2)}),item=itm})}}}),UI.$doc.on("mousemove.uk.slider touchmove.uk.slider",function(e){if(e.originalEvent&&e.originalEvent.touches&&(e=e.originalEvent.touches[0]),delayIdle&&Math.abs(e.pageX-delayIdle.x)>delayIdle.threshold&&(window.getSelection().toString()?dragging=delayIdle=!1:delayIdle(e)),dragging){var x,xDiff,pos,dir,focus,item,diff,i,z,itm;if(e.clientX||e.clientY?x=e.clientX:(e.pageX||e.pageY)&&(x=e.pageX-document.body.scrollLeft-document.documentElement.scrollLeft),focus=store.focus,xDiff=x-dragging.element.data("pointer-start").x,pos=dragging.element.data("pointer-pos-start")+xDiff,dir=x>dragging.element.data("pointer-start").x?-1:1,item=dragging.items.eq(store.focus),1==dir)for(diff=item.data("left")+Math.abs(xDiff),i=0,z=store.focus;idiff){focus=z;break}z=z+1==dragging.items.length?0:z+1}else for(diff=item.data("left")-Math.abs(xDiff),i=0,z=store.focus;istore.diff){focus=z;break}z=z+1==dragging.items.length?0:z+1}else for(i=0,z=store.focus;i').css({"background-image":"url("+media.attr("src")+")"});media.attr("width")&&media.attr("height")&&(placeholder=UI.$("").attr({width:media.attr("width"),height:media.attr("height")}),media.replaceWith(placeholder),media=placeholder,placeholder=void 0),media.css({width:"100%",height:"auto",opacity:0}),slide.prepend(cover).data("cover",cover);break;case"IFRAME":var src=media[0].src,iframeId="sw-"+ ++playerId;media.attr("src","").on("load",function(){if((index!==$this.current||index==$this.current&&!$this.options.videoautoplay)&&$this.pausemedia(media),$this.options.videomute){$this.mutemedia(media);var inv=setInterval(function(ic){return function(){$this.mutemedia(media),++ic>=4&&clearInterval(inv)}}(0),250)}}).data("slideshow",$this).attr("data-player-id",iframeId).attr("src",[src,src.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1&player_id="+iframeId].join("")).addClass("uk-position-absolute"),UI.support.touch||media.css("pointer-events","none"),placeholder=!0,UI.cover&&(UI.cover(media),media.attr("data-uk-cover","{}"));break;case"VIDEO":media.addClass("uk-cover-object uk-position-absolute"),placeholder=!0,$this.options.videomute&&$this.mutemedia(media)}if(placeholder){canvas=UI.$("").attr({width:media[0].width,height:media[0].height});var img=UI.$('').attr("src",canvas[0].toDataURL());slide.prepend(img),slide.data("sizer",img)}}else slide.data("sizer",slide);$this.hasKenBurns(slide)&&slide.data("cover").css({"-webkit-animation-duration":kbanimduration,"animation-duration":kbanimduration})}),this.on("click.uk.slideshow","[data-uk-slideshow-item]",function(e){e.preventDefault();var slide=UI.$(this).attr("data-uk-slideshow-item");if($this.current!=slide){switch(slide){case"next":case"previous":$this["next"==slide?"next":"previous"]();break;default:$this.show(parseInt(slide,10))}$this.stop()}}),this.slides.attr("aria-hidden","true").eq(this.current).addClass("uk-active").attr("aria-hidden","false"),this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass("uk-active"),UI.$win.on("resize load",UI.Utils.debounce(function(){$this.resize(),$this.fixFullscreen&&($this.container.css("height",window.innerHeight),$this.slides.css("height",window.innerHeight))},100)),setTimeout(function(){$this.resize()},80),this.options.autoplay&&this.start(),this.options.videoautoplay&&this.slides.eq(this.current).data("media")&&this.playmedia(this.slides.eq(this.current).data("media")),this.options.kenburns&&this.applyKenBurns(this.slides.eq(this.current)),this.container.on({mouseenter:function(){$this.options.pauseOnHover&&($this.hovering=!0)},mouseleave:function(){$this.hovering=!1}}),this.on("swipeRight swipeLeft",function(e){$this["swipeLeft"==e.type?"next":"previous"]()}),this.on("display.uk.check",function(){$this.element.is(":visible")&&($this.resize(),$this.fixFullscreen&&($this.container.css("height",window.innerHeight),$this.slides.css("height",window.innerHeight)))})},resize:function(){if(!this.container.hasClass("uk-slideshow-fullscreen")){var height=this.options.height;"auto"===this.options.height&&(height=0,this.slides.css("height","").each(function(){height=Math.max(height,UI.$(this).height())})),this.container.css("height",height),this.slides.css("height",height)}},show:function(index,direction){if(!this.animating&&this.current!=index){this.animating=!0;var $this=this,current=this.slides.eq(this.current),next=this.slides.eq(index),dir=direction?direction:this.current-1&&"ready"==data.event&&data.player_id&&(iframe=UI.$('[data-player-id="'+data.player_id+'"]'),iframe.length&&iframe.data("slideshow").mutemedia(iframe))},!1)}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slideshow-fx",["uikit","uikit-slideshow"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var Animations=UI.slideshow.animations;UI.$.extend(UI.slideshow.animations,{slice:function(current,next,dir,fromfx){if(!current.data("cover"))return Animations.fade.apply(this,arguments);for(var bar,d=UI.$.Deferred(),sliceWidth=Math.ceil(this.element.width()/this.options.slices),bgimage=next.data("cover").css("background-image"),ghost=UI.$("
        • ").css({top:0,left:0,width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),ghostWidth=ghost.width(),ghostHeight=ghost.height(),pos="slice-up"==fromfx?ghostHeight:"0",i=0;i').css({position:"absolute",top:0,left:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,clip:clipfrom,opacity:0,transition:"all "+this.options.duration+"ms ease-in-out "+60*i+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+60*i+"ms"}).data("clip",clipto),ghost.append(bar)}return this.container.append(ghost),ghost.children().last().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}),ghost.width(),ghost.children().each(function(){var bar=UI.$(this);bar.css({clip:bar.data("clip"),opacity:1})}),d.promise()},"slice-up":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-up"])},"slice-down":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-down"])},"slice-up-down":function(current,next,dir){return Animations.slice.apply(this,[current,next,dir,"slice-up-down"])},fold:function(current,next,dir){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var bar,d=UI.$.Deferred(),sliceWidth=Math.ceil(this.element.width()/this.options.slices),bgimage=next.data("cover").css("background-image"),ghost=UI.$("
        • ").css({width:next.width(),height:next.height(),opacity:1,zIndex:15}),ghostWidth=next.width(),ghostHeight=next.height(),i=0;i').css({position:"absolute",top:0,left:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,"transform-origin":sliceWidth*i+"px 0 0",clip:"rect(0px, "+sliceWidth*(i+1)+"px, "+ghostHeight+"px, "+sliceWidth*i+"px)",opacity:0,transform:"scaleX(0.000001)",transition:"all "+this.options.duration+"ms ease-in-out "+(100+60*i)+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+(100+60*i)+"ms"}),ghost.prepend(bar);return this.container.append(ghost),ghost.width(),ghost.children().first().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}).end().css({transform:"scaleX(1)",opacity:1}),d.promise()},puzzle:function(current,next,dir){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var box,rect,width,d=UI.$.Deferred(),$this=this,boxCols=Math.round(this.options.slices/2),boxWidth=Math.round(next.width()/boxCols),boxRows=Math.round(next.height()/boxWidth),boxHeight=Math.round(next.height()/boxRows)+1,bgimage=next.data("cover").css("background-image"),ghost=UI.$("
        • ").css({width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),ghostWidth=this.container.width(),ghostHeight=this.container.height(),rows=0;rows').css({position:"absolute",top:0,left:0,opacity:0,width:ghostWidth,height:ghostHeight,"background-image":bgimage,clip:"rect("+rect.join(",")+")","-webkit-transform":"translateZ(0)",transform:"translateZ(0)"}),ghost.append(box);this.container.append(ghost);var boxes=shuffle(ghost.children());return boxes.each(function(i){UI.$(this).css({transition:"all "+$this.options.duration+"ms ease-in-out "+(50+25*i)+"ms","-webkit-transition":"all "+$this.options.duration+"ms ease-in-out "+(50+25*i)+"ms"})}).last().on(UI.support.transition.end,function(){ghost.remove(),d.resolve()}),ghost.width(),boxes.css({opacity:1}),d.promise()},boxes:function(current,next,dir,fromfx){if(!next.data("cover"))return Animations.fade.apply(this,arguments);for(var box,rect,width,cols,d=UI.$.Deferred(),boxCols=Math.round(this.options.slices/2),boxWidth=Math.round(next.width()/boxCols),boxRows=Math.round(next.height()/boxWidth),boxHeight=Math.round(next.height()/boxRows)+1,bgimage=next.data("cover").css("background-image"),ghost=UI.$("
        • ").css({width:next.width(),height:next.height(),opacity:1,zIndex:15}),ghostWidth=next.width(),ghostHeight=next.height(),rows=0;rows').css({position:"absolute",top:0,left:0,opacity:1,width:ghostWidth,height:ghostHeight,"background-image":bgimage,"transform-origin":rect[3]+" "+rect[0]+" 0",clip:"rect("+rect.join(",")+")","-webkit-transform":"scale(0.0000000000000001)",transform:"scale(0.0000000000000001)"}),ghost.append(box);this.container.append(ghost);var prevCol,rowIndex=0,colIndex=0,timeBuff=0,box2Darr=[[]],boxes=ghost.children();for("boxes-reverse"==fromfx&&(boxes=[].reverse.apply(boxes)),boxes.each(function(){box2Darr[rowIndex][colIndex]=UI.$(this),colIndex++,colIndex==boxCols&&(rowIndex++,colIndex=0,box2Darr[rowIndex]=[])}),cols=0,prevCol=0;cols=0&&prevColdelayIdle.threshold||Math.abs(src.pageY-delayIdle.pos.y)>delayIdle.threshold)&&delayIdle.apply(src)}if(draggingPlaceholder){moving||(moving=!0,draggingPlaceholder.show(),draggingPlaceholder.$current.addClass(draggingPlaceholder.$sortable.options.placeholderClass),draggingPlaceholder.$sortable.element.children().addClass(draggingPlaceholder.$sortable.options.childClass),UI.$html.addClass(draggingPlaceholder.$sortable.options.dragMovingClass));var offset=draggingPlaceholder.data("mouse-offset"),left=parseInt(e.originalEvent.pageX,10)+offset.left,top=parseInt(e.originalEvent.pageY,10)+offset.top;if(draggingPlaceholder.css({left:left,top:top}),top+draggingPlaceholder.height()/3>document.body.offsetHeight)return;topwindow.innerHeight+UI.$win.scrollTop()&&UI.$win.scrollTop(UI.$win.scrollTop()+Math.ceil(draggingPlaceholder.height()/3))}}),UI.$html.on("mouseup touchend",function(e){if(delayIdle=clickedlink=!1,!currentlyDraggingElement||!draggingPlaceholder)return void(currentlyDraggingElement=draggingPlaceholder=null);var sortable=closestSortable(currentlyDraggingElement),component=draggingPlaceholder.$sortable,ev={type:e.type};sortable[0]&&component.dragDrop(ev,component.element),component.dragEnd(ev,component.element)})},init:function(){function addDragHandlers(){supportsTouch?element.addEventListener("touchmove",handleTouchMove,!1):(element.addEventListener("mouseover",handleDragEnter,!1),element.addEventListener("mouseout",handleDragLeave,!1))}function removeDragHandlers(){supportsTouch?element.removeEventListener("touchmove",handleTouchMove,!1):(element.removeEventListener("mouseover",handleDragEnter,!1),element.removeEventListener("mouseout",handleDragLeave,!1))}function handleDragMove(e){currentlyDraggingElement&&$this.dragMove(e,$this)}function delegate(fn){return function(e){var touch,target,context;e&&(touch=supportsTouch&&e.touches&&e.touches[0]||{},target=touch.target||e.target,supportsTouch&&document.elementFromPoint&&(target=document.elementFromPoint(e.pageX-document.body.scrollLeft,e.pageY-document.body.scrollTop)),overElement=UI.$(target)),UI.$(target).hasClass($this.options.childClass)?fn.apply(target,[e]):target!==element&&(context=moveUpToChildNode(element,target),context&&fn.apply(context,[e]))}}var $this=this,element=this.element[0];touchedlists=[],this.checkEmptyList(),this.element.data("sortable-group",this.options.group?this.options.group:UI.Utils.uid("sortable-group"));var handleDragStart=delegate(function(e){if(!e.data||!e.data.sortable){var $target=UI.$(e.target),$link=$target.is("a[href]")?$target:$target.parents("a[href]");if(!$target.is(":input"))return e.preventDefault(),!supportsTouch&&$link.length&&$link.one("click",function(e){e.preventDefault()}).one("mouseup",function(){moved||$link.trigger("click")}),e.data=e.data||{},e.data.sortable=element,$this.dragStart(e,this)}}),handleDragEnter=delegate(UI.Utils.debounce(function(e){return $this.dragEnter(e,this)}),40),handleDragLeave=delegate(function(e){var previousCounter=$this.dragenterData(this);$this.dragenterData(this,previousCounter-1),$this.dragenterData(this)||(UI.$(this).removeClass($this.options.overClass),$this.dragenterData(this,!1))}),handleTouchMove=delegate(function(e){return!currentlyDraggingElement||currentlyDraggingElement===this||currentlyDraggingTarget===this||($this.element.children().removeClass($this.options.overClass),currentlyDraggingTarget=this,$this.moveElementNextTo(currentlyDraggingElement,this),prevent(e))});this.addDragHandlers=addDragHandlers,this.removeDragHandlers=removeDragHandlers,window.addEventListener(supportsTouch?"touchmove":"mousemove",handleDragMove,!1),element.addEventListener(supportsTouch?"touchstart":"mousedown",handleDragStart,!1)},dragStart:function(e,elem){moved=!1,moving=!1,dragging=!1;var $this=this,target=UI.$(e.target);if(supportsTouch||2!=e.button){if($this.options.handleClass){var handle=target.hasClass($this.options.handleClass)?target:target.closest("."+$this.options.handleClass,$this.element);if(!handle.length)return}if(!target.is("."+$this.options.noDragClass)&&!target.closest("."+$this.options.noDragClass).length&&!target.is(":input")){currentlyDraggingElement=elem,draggingPlaceholder&&draggingPlaceholder.remove();var $current=UI.$(currentlyDraggingElement),offset=$current.offset();delayIdle={pos:{x:e.pageX,y:e.pageY},threshold:$this.options.threshold,apply:function(evt){draggingPlaceholder=UI.$('
          ').css({display:"none",top:offset.top,left:offset.left,width:$current.width(),height:$current.height(),padding:$current.css("padding")}).data({"mouse-offset":{left:offset.left-parseInt(evt.pageX,10),top:offset.top-parseInt(evt.pageY,10)},origin:$this.element,index:$current.index()}).append($current.html()).appendTo("body"),draggingPlaceholder.$current=$current,draggingPlaceholder.$sortable=$this,$current.data({"start-list":$current.parent(),"start-index":$current.index(),"sortable-group":$this.options.group}),$this.addDragHandlers(),$this.options.start(this,currentlyDraggingElement),$this.trigger("start.uk.sortable",[$this,currentlyDraggingElement]),moved=!0,delayIdle=!1}}}}},dragMove:function(e,elem){overElement=UI.$(document.elementFromPoint(e.pageX-(document.body.scrollLeft||document.scrollLeft||0),e.pageY-(document.body.scrollTop||document.documentElement.scrollTop||0)));var overChild,overRoot=overElement.closest("."+this.options.baseClass),groupOver=overRoot.data("sortable-group"),$current=UI.$(currentlyDraggingElement),currentRoot=$current.parent(),groupCurrent=$current.data("sortable-group");overRoot[0]!==currentRoot[0]&&void 0!==groupCurrent&&groupOver===groupCurrent&&(overRoot.data("sortable").addDragHandlers(),touchedlists.push(overRoot),overRoot.children().addClass(this.options.childClass),overRoot.children().length>0?(overChild=overElement.closest("."+this.options.childClass),overChild.length?overChild.before($current):overRoot.append($current)):overElement.append($current),UIkit.$doc.trigger("mouseover")),this.checkEmptyList(),this.checkEmptyList(currentRoot)},dragEnter:function(e,elem){if(!currentlyDraggingElement||currentlyDraggingElement===elem)return!0;var previousCounter=this.dragenterData(elem);if(this.dragenterData(elem,previousCounter+1),0===previousCounter){var currentlist=UI.$(elem).parent(),startlist=UI.$(currentlyDraggingElement).data("start-list");if(currentlist[0]!==startlist[0]){var groupOver=currentlist.data("sortable-group"),groupCurrent=UI.$(currentlyDraggingElement).data("sortable-group");if((groupOver||groupCurrent)&&groupOver!=groupCurrent)return!1}UI.$(elem).addClass(this.options.overClass),this.moveElementNextTo(currentlyDraggingElement,elem)}return!1},dragEnd:function(e,elem){var $this=this;currentlyDraggingElement&&(this.options.stop(elem),this.trigger("stop.uk.sortable",[this])),currentlyDraggingElement=null,currentlyDraggingTarget=null,touchedlists.push(this.element),touchedlists.forEach(function(el,i){UI.$(el).children().each(function(){1===this.nodeType&&(UI.$(this).removeClass($this.options.overClass).removeClass($this.options.placeholderClass).removeClass($this.options.childClass),$this.dragenterData(this,!1))})}),touchedlists=[],UI.$html.removeClass(this.options.dragMovingClass), +this.removeDragHandlers(),draggingPlaceholder&&(draggingPlaceholder.remove(),draggingPlaceholder=null)},dragDrop:function(e,elem){"drop"===e.type&&(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()),this.triggerChangeEvents()},triggerChangeEvents:function(){if(currentlyDraggingElement){var $current=UI.$(currentlyDraggingElement),oldRoot=draggingPlaceholder.data("origin"),newRoot=$current.closest("."+this.options.baseClass),triggers=[],el=UI.$(currentlyDraggingElement);oldRoot[0]===newRoot[0]&&draggingPlaceholder.data("index")!=$current.index()?triggers.push({sortable:this,mode:"moved"}):oldRoot[0]!=newRoot[0]&&triggers.push({sortable:UI.$(newRoot).data("sortable"),mode:"added"},{sortable:UI.$(oldRoot).data("sortable"),mode:"removed"}),triggers.forEach(function(trigger,i){trigger.sortable&&trigger.sortable.element.trigger("change.uk.sortable",[trigger.sortable,el,trigger.mode])})}},dragenterData:function(element,val){return element=UI.$(element),1==arguments.length?parseInt(element.data("child-dragenter"),10)||0:void(val?element.data("child-dragenter",Math.max(0,val)):element.removeData("child-dragenter"))},moveElementNextTo:function(element,elementToMoveNextTo){dragging=!0;var $this=this,list=UI.$(element).parent().css("min-height",""),next=isBelow(element,elementToMoveNextTo)?elementToMoveNextTo:elementToMoveNextTo.nextSibling,children=list.children(),count=children.length;return $this.options.animation?(list.css("min-height",list.height()),children.stop().each(function(){var ele=UI.$(this),offset=ele.position();offset.width=ele.width(),ele.data("offset-before",offset)}),elementToMoveNextTo.parentNode.insertBefore(element,next),UI.Utils.checkDisplay($this.element.parent()),children=list.children().each(function(){var ele=UI.$(this);ele.data("offset-after",ele.position())}).each(function(){var ele=UI.$(this),before=ele.data("offset-before");ele.css({position:"absolute",top:before.top,left:before.left,"min-width":before.width})}),void children.each(function(){var ele=UI.$(this),offset=(ele.data("offset-before"),ele.data("offset-after"));ele.css("pointer-events","none").width(),setTimeout(function(){ele.animate({top:offset.top,left:offset.left},$this.options.animation,function(){ele.css({position:"",top:"",left:"","min-width":"","pointer-events":""}).removeClass($this.options.overClass).removeData("child-dragenter"),count--,count||(list.css("min-height",""),UI.Utils.checkDisplay($this.element.parent()))})},0)})):(elementToMoveNextTo.parentNode.insertBefore(element,next),void UI.Utils.checkDisplay($this.element.parent()))},serialize:function(){var item,attribute,data=[];return this.element.children().each(function(j,child){item={};for(var i=0;idwh?dwh-scrollTop:0,i=0;idocumentHeight-containerBottom-(sticky.top<0?0:sticky.top)?documentHeight-containerBottom-(scrollTop+stickyHeight):newTop}if(sticky.currentTop!=newTop){if(sticky.element.css({position:"fixed",top:newTop,width:sticky.getWidthFrom.length?sticky.getWidthFrom.width():sticky.element.width()}),!sticky.init&&(sticky.element.addClass(sticky.options.clsinit),location.hash&&scrollTop>0&&sticky.options.target)){var $target=UI.$(location.hash);$target.length&&setTimeout(function($target,sticky){return function(){sticky.element.width();var offset=$target.offset(),maxoffset=offset.top+$target.outerHeight(),stickyOffset=sticky.element.offset(),stickyHeight=sticky.element.outerHeight(),stickyMaxOffset=stickyOffset.top+stickyHeight;stickyOffset.top').parent(),this.computeWrapper(),this.element.css("margin",0),boundary&&(boundary===!0||"!"===boundary[0]?(boundary=boundary===!0?this.wrapper.parent():this.wrapper.closest(boundary.substr(1)),boundtoparent=!0):"string"==typeof boundary&&(boundary=UI.$(boundary))),this.sticky={self:this,options:this.options,element:this.element,currentTop:null,wrapper:this.wrapper,init:!1,getWidthFrom:UI.$(this.options.getWidthFrom||this.wrapper),boundary:boundary,boundtoparent:boundtoparent,top:0,calcTop:function(){var top=this.options.top;if(this.options.top&&"string"==typeof this.options.top)if(this.options.top.match(/^(-|)(\d+)vh$/))top=window.innerHeight*parseInt(this.options.top,10)/100;else{var topElement=UI.$(this.options.top).first();topElement.length&&topElement.is(":visible")&&(top=-1*(topElement.offset().top+topElement.outerHeight()-this.wrapper.offset().top))}this.top=top},reset:function(force){this.calcTop();var finalize=function(){this.element.css({position:"",top:"",width:"",left:"",margin:"0"}),this.element.removeClass([this.options.animation,"uk-animation-reverse",this.options.clsactive].join(" ")),this.element.addClass(this.options.clsinactive),this.element.trigger("inactive.uk.sticky"),this.currentTop=null,this.animate=!1}.bind(this);!force&&this.options.animation&&UI.support.animation&&!UI.Utils.isInView(this.wrapper)?(this.animate=!0,this.element.removeClass(this.options.animation).one(UI.support.animation.end,function(){finalize()}).width(),this.element.addClass(this.options.animation+" uk-animation-reverse")):finalize()},check:function(){if(this.options.disabled)return!1;if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidthdwh?dwh-scrollTop:0,elementTop=this.wrapper.offset().top,etse=elementTop-this.top-extra,active=scrollTop>=etse;return active&&this.options.showup&&(1==direction&&(active=!1),direction==-1&&!this.element.hasClass(this.options.clsactive)&&UI.Utils.isInView(this.wrapper)&&(active=!1)),active}},this.sticky.calcTop(),sticked.push(this.sticky)},update:function(){checkscrollposition(this.sticky)},enable:function(){this.options.disabled=!1,this.update()},disable:function(force){this.options.disabled=!0,this.sticky.reset(force)},computeWrapper:function(){this.wrapper.css({height:["absolute","fixed"].indexOf(this.element.css("position"))==-1?this.element.outerHeight():"","float":"none"!=this.element.css("float")?this.element.css("float"):"",margin:this.element.css("margin")}),"fixed"==this.element.css("position")&&this.element.css({width:this.sticky.getWidthFrom.length?this.sticky.getWidthFrom.width():this.element.width()})}}),UI.sticky}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-timepicker",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function getTimeRange(start,end){start=start||0,end=end||24;var i,h,times={"12h":[],"24h":[]};for(i=start,h="";i0&&i<13&&12!==i&&(times["12h"].push({value:h+":00 AM"}),times["12h"].push({value:h+":30 AM"})),i>=12&&(h-=12,0===h&&(h=12),h<10&&(h="0"+String(h)),times["12h"].push({value:h+":00 PM"}),times["12h"].push({value:h+":30 PM"}));return times}UI.component("timepicker",{defaults:{format:"24h",delay:0,start:0,end:24},boot:function(){UI.$html.on("focus.timepicker.uikit","[data-uk-timepicker]",function(e){var ele=UI.$(this);if(!ele.data("timepicker")){var obj=UI.timepicker(ele,UI.Utils.options(ele.attr("data-uk-timepicker")));setTimeout(function(){obj.autocomplete.input.focus()},40)}})},init:function(){var container,$this=this,times=getTimeRange(this.options.start,this.options.end);this.options.minLength=0,this.options.template='',this.options.source=function(release){release(times[$this.options.format]||times["12h"])},this.element.is("input")?(this.element.wrap('
          '),container=this.element.parent()):container=this.element.addClass("uk-autocomplete"),this.autocomplete=UI.autocomplete(container,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("show.uk.autocomplete",function(){var selected=$this.autocomplete.dropdown.find('[data-value="'+$this.autocomplete.input.val()+'"]');setTimeout(function(){$this.autocomplete.pick(selected,!0)},10)}),this.autocomplete.input.on("focus",function(){$this.autocomplete.value=Math.random(),$this.autocomplete.triggercomplete()}).on("blur",UI.Utils.debounce(function(){$this.checkTime()},100)),this.element.data("timepicker",this)},checkTime:function(){var arr,timeArray,hour,minute,meridian="AM",time=this.autocomplete.input.val();"12h"==this.options.format?(arr=time.split(" "),timeArray=arr[0].split(":"),meridian=arr[1]):timeArray=time.split(":"),hour=parseInt(timeArray[0],10),minute=parseInt(timeArray[1],10),isNaN(hour)&&(hour=0),isNaN(minute)&&(minute=0),"12h"==this.options.format?(hour>12?hour=12:hour<0&&(hour=12),"am"===meridian||"a"===meridian?meridian="AM":"pm"!==meridian&&"p"!==meridian||(meridian="PM"),"AM"!==meridian&&"PM"!==meridian&&(meridian="AM")):hour>=24?hour=23:hour<0&&(hour=0),minute<0?minute=0:minute>=60&&(minute=0),this.autocomplete.input.val(this.formatTime(hour,minute,meridian)).trigger("change")},formatTime:function(hour,minute,meridian){return hour=hour<10?"0"+hour:hour,minute=minute<10?"0"+minute:minute,hour+":"+minute+("12h"==this.options.format?" "+meridian:"")}})}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-tooltip",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";var $tooltip,tooltipdelay,checkdelay;return UI.component("tooltip",{defaults:{offset:5,pos:"top",animation:!1,delay:0,cls:"",activeClass:"uk-active",src:function(ele){var title=ele.attr("title");return void 0!==title&&ele.data("cached-title",title).removeAttr("title"),ele.data("cached-title")}},tip:"",boot:function(){UI.$html.on("mouseenter.tooltip.uikit focus.tooltip.uikit","[data-uk-tooltip]",function(e){var ele=UI.$(this);ele.data("tooltip")||(UI.tooltip(ele,UI.Utils.options(ele.attr("data-uk-tooltip"))),ele.trigger("mouseenter"))})},init:function(){var $this=this;$tooltip||($tooltip=UI.$('
          ').appendTo("body")),this.on({focus:function(e){$this.show()},blur:function(e){$this.hide()},mouseenter:function(e){$this.show()},mouseleave:function(e){$this.hide()}})},show:function(){if(this.tip="function"==typeof this.options.src?this.options.src(this.element):this.options.src,tooltipdelay&&clearTimeout(tooltipdelay),checkdelay&&clearTimeout(checkdelay),"string"==typeof this.tip&&this.tip.length){$tooltip.stop().css({top:-2e3,visibility:"hidden"}).removeClass(this.options.activeClass).show(),$tooltip.html('
          '+this.tip+"
          ");var $this=this,pos=UI.$.extend({},this.element.offset(),{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}),width=$tooltip[0].offsetWidth,height=$tooltip[0].offsetHeight,offset="function"==typeof this.options.offset?this.options.offset.call(this.element):this.options.offset,position="function"==typeof this.options.pos?this.options.pos.call(this.element):this.options.pos,tmppos=position.split("-"),tcss={display:"none",visibility:"visible",top:pos.top+pos.height+height,left:pos.left};if("fixed"==UI.$html.css("position")||"fixed"==UI.$body.css("position")){var bodyoffset=UI.$("body").offset(),htmloffset=UI.$("html").offset(),docoffset={top:htmloffset.top+bodyoffset.top,left:htmloffset.left+bodyoffset.left};pos.left-=docoffset.left,pos.top-=docoffset.top}"left"!=tmppos[0]&&"right"!=tmppos[0]||"right"!=UI.langdirection||(tmppos[0]="left"==tmppos[0]?"right":"left");var variants={bottom:{top:pos.top+pos.height+offset,left:pos.left+pos.width/2-width/2},top:{top:pos.top-height-offset,left:pos.left+pos.width/2-width/2},left:{top:pos.top+pos.height/2-height/2,left:pos.left-width-offset},right:{top:pos.top+pos.height/2-height/2,left:pos.left+pos.width+offset}};UI.$.extend(tcss,variants[tmppos[0]]),2==tmppos.length&&(tcss.left="left"==tmppos[1]?pos.left:pos.left+pos.width-width);var boundary=this.checkBoundary(tcss.left,tcss.top,width,height);if(boundary){switch(boundary){case"x":position=2==tmppos.length?tmppos[0]+"-"+(tcss.left<0?"left":"right"):tcss.left<0?"right":"left";break;case"y":position=2==tmppos.length?(tcss.top<0?"bottom":"top")+"-"+tmppos[1]:tcss.top<0?"bottom":"top";break;case"xy":position=2==tmppos.length?(tcss.top<0?"bottom":"top")+"-"+(tcss.left<0?"left":"right"):tcss.left<0?"right":"left"}tmppos=position.split("-"),UI.$.extend(tcss,variants[tmppos[0]]),2==tmppos.length&&(tcss.left="left"==tmppos[1]?pos.left:pos.left+pos.width-width)}tcss.left-=UI.$body.position().left,tooltipdelay=setTimeout(function(){$tooltip.css(tcss).attr("class",["uk-tooltip","uk-tooltip-"+position,$this.options.cls].join(" ")),$this.options.animation?$tooltip.css({opacity:0,display:"block"}).addClass($this.options.activeClass).animate({opacity:1},parseInt($this.options.animation,10)||400):$tooltip.show().addClass($this.options.activeClass),tooltipdelay=!1,checkdelay=setInterval(function(){$this.element.is(":visible")||$this.hide()},150)},parseInt(this.options.delay,10)||0)}},hide:function(){if(!this.element.is("input")||this.element[0]!==document.activeElement)if(tooltipdelay&&clearTimeout(tooltipdelay),checkdelay&&clearTimeout(checkdelay),$tooltip.stop(),this.options.animation){var $this=this;$tooltip.fadeOut(parseInt(this.options.animation,10)||400,function(){$tooltip.removeClass($this.options.activeClass)})}else $tooltip.hide().removeClass(this.options.activeClass)},content:function(){return this.tip},checkBoundary:function(left,top,width,height){var axis="";return(left<0||left-UI.$win.scrollLeft()+width>window.innerWidth)&&(axis+="x"),(top<0||top-UI.$win.scrollTop()+height>window.innerHeight)&&(axis+="y"),axis}}),UI.tooltip}),function(addon){var component;window.UIkit&&(component=addon(UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return component||addon(UIkit)})}(function(UI){"use strict";function xhrupload(files,settings){function upload(files,settings){var formData=new FormData,xhr=new XMLHttpRequest;if(settings.before(settings,files)!==!1){for(var f,i=0;f=files[i];i++)formData.append(settings.param,f);for(var p in settings.params)formData.append(p,settings.params[p]);xhr.upload.addEventListener("progress",function(e){var percent=e.loaded/e.total*100;settings.progress(percent,e)},!1),xhr.addEventListener("loadstart",function(e){settings.loadstart(e)},!1),xhr.addEventListener("load",function(e){settings.load(e)},!1),xhr.addEventListener("loadend",function(e){settings.loadend(e)},!1),xhr.addEventListener("error",function(e){settings.error(e)},!1),xhr.addEventListener("abort",function(e){settings.abort(e)},!1),xhr.open(settings.method,settings.action,!0),"json"==settings.type&&xhr.setRequestHeader("Accept","application/json"),xhr.onreadystatechange=function(){if(settings.readystatechange(xhr),4==xhr.readyState){var response=xhr.responseText;if("json"==settings.type)try{response=UI.$.parseJSON(response)}catch(e){response=!1}settings.complete(response,xhr)}},settings.beforeSend(xhr),xhr.send(formData)}}if(!UI.support.ajaxupload)return this;if(settings=UI.$.extend({},xhrupload.defaults,settings),files.length){if("*.*"!==settings.allow)for(var file,i=0;file=files[i];i++)if(!matchName(settings.allow,file.name))return void("string"==typeof settings.notallowed?alert(settings.notallowed):settings.notallowed(file,settings));var complete=settings.complete;if(settings.single){var count=files.length,uploaded=0,allow=!0;settings.beforeAll(files),settings.complete=function(response,xhr){uploaded+=1,complete(response,xhr),settings.filelimit&&uploaded>=settings.filelimit&&(allow=!1),allow&&uploaded
          ',$body.on("show.uk.modal",".uk-modal-dialog-replace",function(){setTimeout(function(){var dialogReplace=$(".uk-modal-dialog-replace");if(dialogReplace.find(".uk-button-primary").length){var actionBtn=dialogReplace.find(".uk-button-primary").toggleClass("uk-button-primary md-btn-flat-primary");actionBtn.next("button")&&actionBtn.next("button").after(actionBtn)}dialogReplace.find(".uk-button").length&&dialogReplace.find(".uk-button").toggleClass("uk-button md-btn md-btn-flat"),dialogReplace.find(".uk-margin-small-top").length&&dialogReplace.find(".uk-margin-small-top").toggleClass("uk-margin-small-top uk-margin-top"),dialogReplace.find("input.uk-width-1-1").length&&(dialogReplace.find("input.uk-width-1-1").toggleClass("uk-width-1-1 md-input"),altair_md.inputs()),dialogReplace.find(".uk-form").length&&dialogReplace.find(".uk-form").removeClass("uk-form")},50)})}"undefined"!=typeof UIkit.components.tooltip&&$.extend(UIkit.components.tooltip.prototype.defaults,{animation:280,offset:8}),"undefined"!=typeof UIkit.components.sortable&&Modernizr.touch&&$("[data-uk-sortable]").children().addClass("needsclick")}); \ No newline at end of file diff --git a/src/routes/index.js b/src/routes/index.js index 90552cfaa..1bb8cae56 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -20,6 +20,8 @@ var express = require('express'), function mainRoutes(router, middleware, controllers) { router.get('/', middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); + router.get('/install', function(req, res){ return res.redirect('/'); }); + //router.post('/install/mongotest', controllers.install.mongotest); router.get('/dashboard', middleware.redirectToLogin, middleware.loadCommonData, controllers.main.dashboard); router.get('/login', middleware.redirectToLogin, middleware.cache(5*60), middleware.redirectToDashboardIfLoggedIn); @@ -36,7 +38,6 @@ function mainRoutes(router, middleware, controllers) { router.get('/tickets/filter', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.filter, controllers.tickets.processor); router.get('/tickets/active', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getActive, controllers.tickets.processor); router.get('/tickets/active/page/:page', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getActive, controllers.tickets.processor); - router.get('/tickets/create', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.create); router.get('/tickets/new', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getByStatus, controllers.tickets.processor); router.get('/tickets/new/page/:page', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getByStatus, controllers.tickets.processor); router.get('/tickets/open', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getByStatus, controllers.tickets.processor); @@ -96,18 +97,26 @@ function mainRoutes(router, middleware, controllers) { router.get('/notices/create', middleware.redirectToLogin, middleware.loadCommonData, controllers.notices.create); router.get('/notices/:id', middleware.redirectToLogin, middleware.loadCommonData, controllers.notices.edit); + router.get('/settings', middleware.redirectToLogin, middleware.loadCommonData, controllers.settings.get); + router.get('/settings/logs', middleware.redirectToLogin, middleware.loadCommonData, controllers.settings.logs); + router.get('/settings/tags', middleware.redirectToLogin, middleware.loadCommonData, controllers.settings.tags); + router.get('/settings/tags/:id', middleware.redirectToLogin, middleware.loadCommonData, controllers.settings.editTag); + //API router.get('/api', controllers.api.index); router.get('/api/v1/version', function(req, res) { return res.json({version: packagejson.version }); }); router.post('/api/v1/login', controllers.api.login); router.get('/api/v1/logout', middleware.api, controllers.api.logout); router.post('/api/v1/devices/settoken', middleware.api, controllers.api.devices.setDeviceToken); + router.get('/api/v1/tickets', middleware.api, controllers.api.tickets.get); router.get('/api/v1/tickets/search', middleware.api, controllers.api.tickets.search); router.post('/api/v1/tickets/create', middleware.api, controllers.api.tickets.create); router.get('/api/v1/tickets/types', middleware.api, controllers.api.tickets.getTypes); router.post('/api/v1/tickets/addtag', middleware.api, controllers.api.tickets.addTag); router.get('/api/v1/tickets/tags', middleware.api, controllers.api.tickets.getTags); + router.put('/api/v1/tickets/tags/:id', middleware.api, controllers.api.tickets.updateTag); + router.delete('/api/v1/tickets/tags/:id', middleware.api, controllers.api.tickets.deleteTag); router.get('/api/v1/tickets/count/tags', middleware.api, controllers.api.tickets.getTagCount); router.get('/api/v1/tickets/count/tags/:timespan', middleware.api, controllers.api.tickets.getTagCount); //Removed 4.12.2016 -- v0.1.7 @@ -129,6 +138,7 @@ function mainRoutes(router, middleware, controllers) { router.delete('/api/v1/tickets/:tid/attachments/remove/:aid', middleware.api, controllers.api.tickets.removeAttachment); router.get('/api/v1/groups', middleware.api, controllers.api.groups.get); + router.get('/api/v1/groups/all', middleware.api, controllers.api.groups.getAll); router.post('/api/v1/groups/create', middleware.api, controllers.api.groups.create); router.get('/api/v1/groups/:id', middleware.api, controllers.api.groups.getSingleGroup); router.delete('/api/v1/groups/:id', middleware.api, controllers.api.groups.deleteGroup); @@ -140,6 +150,7 @@ function mainRoutes(router, middleware, controllers) { router.get('/api/v1/users/getassignees', middleware.api, controllers.api.users.getAssingees); router.get('/api/v1/users/:username', middleware.api, controllers.api.users.single); router.put('/api/v1/users/:username', middleware.api, controllers.api.users.update); + router.post('/api/v1/users/:username/uploadprofilepic', controllers.api.users.uploadProfilePic); router.put('/api/v1/users/:username/updatepreferences', middleware.api, controllers.api.users.updatePreferences); router.get('/api/v1/users/:username/enable', middleware.api, controllers.api.users.enableUser); router.delete('/api/v1/users/:username', middleware.api, controllers.api.users.deleteUser); @@ -156,8 +167,11 @@ function mainRoutes(router, middleware, controllers) { router.put('/api/v1/notices/:id', middleware.api, controllers.api.notices.updateNotice); router.delete('/api/v1/notices/:id', middleware.api, controllers.api.notices.deleteNotice); + router.put('/api/v1/settings', middleware.api, controllers.api.settings.updateSetting); + router.post('/api/v1/settings/testmailer', middleware.api, controllers.api.settings.testMailer); + if (global.env === 'development') { - //router.get('/debug/sendmail', controllers.debug.sendmail); + router.get('/debug/sendmail', controllers.debug.sendmail); //router.get('/api/v1/import', middleware.api, controllers.api.import); router.get('/debug/cache/refresh', function (req, res) { var _ = require('underscore'); @@ -174,25 +188,28 @@ function mainRoutes(router, middleware, controllers) { //router.post('/debug/uploadplugin', controllers.debug.uploadPlugin); router.get('/debug/devices/testiOS', middleware.api, controllers.api.devices.testApn); router.get('/debug/restart', function (req, res) { - var exec = require('child_process').exec; - var child = exec('ipconfig /all', { - cwd: __dirname - }, function (err, stdout, stderr) { - console.log(stdout); + var pm2 = require('pm2'); + pm2.connect(function(err) { if (err) { - console.log(err); + winston.error(err); + res.status(400).send(err); + return; } - - res.send('OK'); + pm2.restart('trudesk', function(err) { + if (err) { + res.status(400).send(err); + return winston.error(err); + } + + pm2.disconnect(); + res.send('OK'); + }); }); - }); } } module.exports = function(app, middleware) { - //CORS - app.use(allowCrossDomain); //Docs app.use('/docs', express.static(path.join(__dirname, '../../', 'docs'))); app.use('/apidocs', express.static(path.join(__dirname, '../../', 'apidocs'))); @@ -247,16 +264,3 @@ function handle404(req, res, next) { next(err); } - -function allowCrossDomain(req, res, next) { - res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS'); - res.setHeader('Access-Control-Allow-Headers', 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,accesstoken'); - - res.setHeader('Access-Control-Allow-Origin', '*'); - - if (req.method === 'OPTIONS') { - res.sendStatus(200); - } else { - next(); - } -} diff --git a/src/sass/app.sass b/src/sass/app.sass index 8075e9d47..c48e1fd8f 100644 --- a/src/sass/app.sass +++ b/src/sass/app.sass @@ -36,6 +36,9 @@ pre background-color: #F7F7F7 +borderRadius(3px) + br + display: none !important + code display: inline font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace @@ -156,6 +159,8 @@ input[type="file"], input[type="checkbox"], input[type="radio"], select .padding-left-right-15 padding-left: 15px !important padding-right: 15px !important +.padding-right-15 + padding-right: 15px !important .padtop20 padding-top: 20px !important .padright20 diff --git a/src/sass/partials/fab.sass b/src/sass/partials/fab.sass index a9ea3e757..610118db5 100644 --- a/src/sass/partials/fab.sass +++ b/src/sass/partials/fab.sass @@ -27,15 +27,15 @@ &.md-fab-accent background: $accent_color &.md-fab-success - background: #7cb342 + background: $accent_success > i color: #fff &.md-fab-danger - background: #e53935 + background: $accent_danger > i color: #fff &.md-fab-primary - background: #2196f3 + background: $accent_blue > i color: #fff &.md-fab-warning diff --git a/src/sass/partials/materialize.scss b/src/sass/partials/materialize.scss index b9950b096..612919842 100644 --- a/src/sass/partials/materialize.scss +++ b/src/sass/partials/materialize.scss @@ -73,6 +73,14 @@ $medium-only: "only screen and (min-width : #{$small-screen-up}) and (max-width background-color: #2196f3; } +.md-switch.md-green label input[type=checkbox]:checked + .lever { + background-color: lighten($accent_success, 15%); +} + +.md-switch.md-green label input[type=checkbox]:checked + .lever:after { + background-color: $accent_success; +} + .md-switch label .lever { diff --git a/src/sass/partials/modal.sass b/src/sass/partials/modal.sass index eb67e0608..897dfb0f1 100644 --- a/src/sass/partials/modal.sass +++ b/src/sass/partials/modal.sass @@ -5,7 +5,7 @@ background: rgba(0, 0, 0, 0.5) -webkit-transition: opacity 250ms ease-out transition: opacity 250ms ease-out - overflow: auto !important + overflow: hidden !important &.uk-modal-no-backdrop background: transparent diff --git a/src/sass/partials/tickets.sass b/src/sass/partials/tickets.sass index ff867ca43..08b83f01b 100644 --- a/src/sass/partials/tickets.sass +++ b/src/sass/partials/tickets.sass @@ -124,7 +124,8 @@ div#accountsTable_wrapper margin-right: 10px font-size: 14px -.ticket-assignee-wrap +.ticket-assignee-wrap, +.tag-info-wrap padding-left: 30px padding-top: 30px margin-bottom: 40px @@ -216,17 +217,17 @@ div#accountsTable_wrapper background: lighten(#f3f5f9, 5%) +boxShadow(none) - select - background: inherit + select, select:focus + -webkit-appearance: none + background: url("data:image/svg+xml;utf8,") + background-position: 100% 50% + background-repeat: no-repeat border: none border-bottom: 1px solid #CCC +borderRadius(0) - padding: 0 4px 0 0 - - .input-box - padding-top: 3px - padding-bottom: 3px + padding: 0 + .input-box, .tag-list display: block padding: 0 @@ -257,6 +258,9 @@ div#accountsTable_wrapper &:last-of-type margin-bottom: 2px + .input-box + margin-bottom: 15px + .history-items height: 185px width: 100% diff --git a/src/socketserver.js b/src/socketserver.js index 862364589..708c2b42b 100644 --- a/src/socketserver.js +++ b/src/socketserver.js @@ -54,33 +54,6 @@ module.exports = function(ws) { }, 5000); - //Update Ticket Grid Every Min -// setInterval(function() { -// var userId = socket.request.user._id; -// var ticketSchema = require('./models/ticket'); -// var groupSchema = require('./models/group'); -// -// async.waterfall([ -// function(callback) { -// groupSchema.getAllGroupsOfUser(socket.request.user._id, function(err, grps) { -// callback(err, grps); -// }) -// }, -// function(grps, callback) { -// ticketSchema.getTickets(grps, function(err, results) { -// -// callback(err, results); -// }); -// } -// ], function(err, results) { -// if (err) return handleError(res, err); -// -// //winston.verbose('Updating Ticket Grid For: ' + socket.request.user.fullname); -// //utils.sendToSelf(socket, 'updateTicketGrid', results); -// }); -// -// }, 60000); - function updateMailNotifications() { var userId = socket.request.user._id; var messageSchema = require('./models/message'); @@ -568,6 +541,22 @@ module.exports = function(ws) { }); }); + socket.on('logs:fetch', function() { + var path = require('path'); + var ansi_up = require('ansi_up'); + var fileTailer = require('file-tail'); + var fs = require('fs'); + var logFile = path.join(__dirname, '../logs/output.log'); + if (!fs.existsSync(logFile)) + utils.sendToSelf(socket, 'logs:data', 'Invalid Log File...'); + else { + var ft = fileTailer.startTailing(logFile); + ft.on('line', function(line) { + utils.sendToSelf(socket, 'logs:data', ansi_up.ansi_to_html(line)); + }); + } + }); + socket.on('setShowNotice', function(noticeId) { var noticeSchema = require('./models/notice'); noticeSchema.getNotice(noticeId, function(err, notice) { @@ -685,6 +674,8 @@ module.exports = function(ws) { global.io = io; winston.info('SocketServer Running'); + + }; function onAuthorizeSuccess(data, accept) { diff --git a/src/views/about.hbs b/src/views/about.hbs index 97437c51e..0573abb4c 100644 --- a/src/views/about.hbs +++ b/src/views/about.hbs @@ -18,7 +18,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

          - Please support the project by donating. A simple cup of coffee or an good dinner goes a long ways. + Please support the project by donating. A simple cup of coffee or a good dinner goes a long ways. Donate


          diff --git a/src/views/dashboard.hbs b/src/views/dashboard.hbs index f9d14e3f6..c508ea81b 100644 --- a/src/views/dashboard.hbs +++ b/src/views/dashboard.hbs @@ -95,6 +95,26 @@ + +
          +
          +
          +
          Top 5 Groups
          +
          +
          +
          +
          +
          +
          +
          Top 10 Tags
          +
          +
          +
          +
          +
          +
          +
          + diff --git a/src/views/install.hbs b/src/views/install.hbs new file mode 100644 index 000000000..ea63a7994 --- /dev/null +++ b/src/views/install.hbs @@ -0,0 +1,560 @@ + + + + Trudesk · {{{title}}} + + + + + + + + + + + + + + + + + + + + +
          +
          +
          +

          Welcome

          +

          + Lets get you up and running. Lets guide you through the process of installing Trudesk. + Don't worry, its pretty painless. +

          + + +
          + +
          +

          MongoDB Connection

          +

          + We've got to store the data somewhere. We've chosen MongoDB as our backend storage. + Just enter your connection information below and lets get connected. +

          +
          +
          + + +
          +
          + + +
          +
          + + +
          +
          + + +
          +
          + + +
          + +
          + + What is MongoDB? +
          +
          +

          Setup Account

          +

          + Now that we got you connected, its time to create an Administrator. +

          + +
          +
          + + +
          +
          + + +
          +
          + + +
          +
          + + +
          +
          + + +
          + + +
          +
          +
          +

          Installing...

          +

          Putting it all together. Trudesk is currently building itself and powering up its engine. Please wait, this may take a minute.

          +
          + + + +
          +
          +
          +

          Time to Restart

          +

          So here we are, together sharpening a knife. Trudesk needs to restart to come out of install mode. Just restart it and you should get a login screen. (hopefully)!

          + +
          +
          +

          Crap! Something funky happened.

          +

          + Alright. This entire install script is in beta. Didn't I mention that? Anyway, there are a couple of options below to try and resolve the issue. There are some common pit falls and workarounds + in the docs that may help. Submitting the issue will help identify any bugs in the script and will help others as well. +

          +
          
          +            
          +        
          +
          +
          + + + + \ No newline at end of file diff --git a/src/views/logs.hbs b/src/views/logs.hbs new file mode 100644 index 000000000..0a86a97a0 --- /dev/null +++ b/src/views/logs.hbs @@ -0,0 +1,46 @@ +
          +
          +
          +

          {{title}}

          +
          + +
          +
          +
          +
          +
          +
          Output Log
          +
          + Main output log. All Errors are logged. +
          +
          +
          + + + + + + + + +
          +
          +
          +
          +                                {{{trim data.logFileContent}}}
          +                            
          +
          +
          +
          +
          +
          +
          +
          + +{{#contentFor 'js-plugins'}} + +{{/contentFor}} \ No newline at end of file diff --git a/src/views/notices.hbs b/src/views/notices.hbs index cbed07a41..f830ff56f 100644 --- a/src/views/notices.hbs +++ b/src/views/notices.hbs @@ -5,7 +5,7 @@