From 16b3bec95a6e01b43d6d85ae1078a379f3c3e83e Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 21 Jun 2016 17:48:14 -0400 Subject: [PATCH 01/37] Typo Fix --- src/views/about.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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


From fbcee649ceb59bd8dfd3a576dbc47664c6b517df Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 28 Jun 2016 01:58:09 -0400 Subject: [PATCH 02/37] Start of settings to DB Settings page Settings API --- public/css/app.css | 12 +- public/css/app.min.css | 2 +- rBuild.js | 4 +- src/controllers/api.js | 5 +- src/controllers/api/v1/settings.js | 85 +++++++++ src/controllers/index.js | 1 + src/controllers/settings.js | 116 ++++++++++++ src/models/setting.js | 66 +++++++ src/public/js/angularjs/controllers.js | 6 +- .../js/angularjs/controllers/settings.js | 77 ++++++++ src/public/js/modules/ajaxify.js | 5 +- src/public/js/pages/settings.js | 31 ++++ src/routes/index.js | 4 + src/sass/partials/fab.sass | 6 +- src/sass/partials/materialize.scss | 8 + src/views/partials/nav.hbs | 4 +- src/views/settings.hbs | 165 ++++++++++++++++++ src/views/subviews/createGroup.hbs | 50 ------ src/views/subviews/createTicket.hbs | 81 --------- src/views/subviews/editticket.hbs | 59 ------- src/views/tickets.hbs | 25 +-- 21 files changed, 598 insertions(+), 214 deletions(-) create mode 100644 src/controllers/api/v1/settings.js create mode 100644 src/controllers/settings.js create mode 100644 src/models/setting.js create mode 100644 src/public/js/angularjs/controllers/settings.js create mode 100644 src/public/js/pages/settings.js create mode 100644 src/views/settings.hbs delete mode 100644 src/views/subviews/createGroup.hbs delete mode 100644 src/views/subviews/createTicket.hbs delete mode 100644 src/views/subviews/editticket.hbs diff --git a/public/css/app.css b/public/css/app.css index 52e92a37b..1b90547e7 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -4712,6 +4712,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 +5574,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 { diff --git a/public/css/app.min.css b/public/css/app.min.css index 31acd7541..3dd014f13 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1,4 +1,4 @@ -@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 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.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 ** 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/src/controllers/api.js b/src/controllers/api.js index 407591640..3c37a41ba 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -27,7 +27,8 @@ var async = require('async'), api_notices_v1 = require('./api/v1/notices'), api_users_v1 = require('./api/v1/users'), api_messages_v1 = require('./api/v1/messages'), - api_groups_v1 = require('./api/v1/groups'); + api_groups_v1 = require('./api/v1/groups'), + api_settings_v1 = require('./api/v1/settings'); /** * @since 1.0 @@ -43,6 +44,7 @@ var async = require('async'), * @requires {@link Group} * @requires {@link TicketType} * @requires {@link Emitter} + * @requires {@link Setting} * */ var apiController = {}; @@ -51,6 +53,7 @@ apiController.notices = api_notices_v1; apiController.users = api_users_v1; apiController.messages = api_messages_v1; apiController.groups = api_groups_v1; +apiController.settings = api_settings_v1; apiController.import = function(req, res) { var fs = require('fs'); diff --git a/src/controllers/api/v1/settings.js b/src/controllers/api/v1/settings.js new file mode 100644 index 000000000..3177ecd83 --- /dev/null +++ b/src/controllers/api/v1/settings.js @@ -0,0 +1,85 @@ +/* + . .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/27/2016 + Author: Chris Brame + + **/ + +var async = require('async'), + _ = require('underscore'), + _s = require('underscore.string'), + winston = require('winston'), + permissions = require('../../../permissions'), + emitter = require('../../../emitter'), + + userSchema = require('../../../models/user'), + settingSchema = require('../../../models/setting'); + +var api_settings = {}; + + +/** + * @api {put} /api/v1/settings/:setting Update Setting + * @apiName updateSetting + * @apiDescription Updates given Setting with given Post Data + * @apiVersion 0.1.7 + * @apiGroup Setting + * @apiHeader {string} accesstoken The access token for the logged in user + * + * @apiParamExample {json} Request-Example: + * { + * "name": "setting:name", + * "value": {setting value}, + * } + * + * @apiExample Example usage: + * curl -H "Content-Type: application/json" + -H "accesstoken: {accesstoken}" + -X PUT -d "{\"name\": {name},\"value\": \"{value}\"}" + -l http://localhost/api/v1/settings/:setting + * + * @apiSuccess {boolean} success Successful? + * + * @apiError InvalidPostData The data was invalid + * @apiErrorExample + * HTTP/1.1 400 Bad Request + { + "error": "Invalid Post Data" + } + */ +api_settings.updateSetting = function(req, res) { + var postData = req.body; + if (_.isUndefined(postData)) return res.status(400).json({success: false, error: 'Invalid Post Data'}); + + if (!_.isArray(postData)) postData = [postData]; + + async.each(postData, function(item, callback) { + settingSchema.getSettingByName(item.name, function(err, s) { + if (err) return callback(err.message); + if (_.isNull(s) || _.isUndefined(s)) return callback('Invalid Setting'); + + s.value = item.value; + + s.save(function(err) { + if (err) return callback(err.message); + + callback(); + }); + }); + }, function(err) { + //done + if (err) return res.status(400).json({success: false, error: err}); + + return res.json({success: true}); + }); +}; + + +module.exports = api_settings; \ No newline at end of file diff --git a/src/controllers/index.js b/src/controllers/index.js index c2a523db1..1e493bdb9 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -22,6 +22,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/settings.js b/src/controllers/settings.js new file mode 100644 index 000000000..f44a7076e --- /dev/null +++ b/src/controllers/settings.js @@ -0,0 +1,116 @@ +/* + . .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 flash = require('connect-flash'); +var userSchema = require('../models/user'); +var settingSchema = require('../models/setting'); +var permissions = require('../permissions'); +var mongoose = require('mongoose'); + +var settingsController = {}; + +settingsController.content = {}; + +settingsController.get = function(req, res) { + var user = req.user; + if (_.isUndefined(user) || !permissions.canThis(user.role, 'settings:view')) { + req.flash('message', 'Permission Denied.'); + return res.redirect('/'); + } + + var self = this; + self.content = {}; + self.content.title = "Settings"; + self.content.nav = 'settings'; + + 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.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: true} : s.mailerEnabled; + 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; + + self.content.data.settings = s; + + res.render('settings', self.content); + }); +}; + +settingsController.create = function(req, res) { + var user = req.user; + if (_.isUndefined(user) || !permissions.canThis(user.role, 'notices:create')) { + req.flash('message', 'Permission Denied.'); + return res.redirect('/'); + } + + var self = this; + self.content = {}; + self.content.title = "Notices - Create"; + self.content.nav = 'notices'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + + res.render('subviews/createNotice', self.content); +}; + +settingsController.edit = function(req, res) { + var user = req.user; + if (_.isUndefined(user) || !permissions.canThis(user.role, 'notices:edit')) { + req.flash('message', 'Permission Denied.'); + return res.redirect('/'); + } + + var self = this; + self.content = {}; + self.content.title = "Notices - Edit"; + self.content.nav = 'notices'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + noticeSchema.getNotice(req.params.id, function(err, notice) { + if (err) return handleError(res, err); + self.content.data.notice = notice; + + res.render('subviews/editNotice', self.content); + }); +}; + +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/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/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/settings.js b/src/public/js/angularjs/controllers/settings.js new file mode 100644 index 000000000..fc51e8b6a --- /dev/null +++ b/src/public/js/angularjs/controllers/settings.js @@ -0,0 +1,77 @@ +/** + . .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', 'history'], function(angular, _, $, helpers, ui) { + 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#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(err, true); + }); + }; + + $scope.mailerFormSubmit = function($event) { + $event.preventDefault(); + $http.put('/api/v1/settings', [ + {name: 'mailer:host', value: $scope.mailerHost}, + {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); + }); + }; + }); +}); \ No newline at end of file diff --git a/src/public/js/modules/ajaxify.js b/src/public/js/modules/ajaxify.js index e2647a496..86eb40c87 100644 --- a/src/public/js/modules/ajaxify.js +++ b/src/public/js/modules/ajaxify.js @@ -30,12 +30,13 @@ define('modules/ajaxify', [ 'pages/reportsBreakdown', 'pages/notices', 'pages/createNotice', + 'pages/settings', 'modules/ui', 'modules/chat', '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, ui) { $(window).on('statechangecomplete', function() { //Global @@ -91,6 +92,8 @@ define('modules/ajaxify', [ noticesPage.init(); createNoticePage.init(); + //Settings + settingsPage.init(); //Load UI Animations Load helpers.UI.cardShow(); 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/routes/index.js b/src/routes/index.js index 90552cfaa..96e3655b5 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -96,6 +96,8 @@ 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); + //API router.get('/api', controllers.api.index); router.get('/api/v1/version', function(req, res) { return res.json({version: packagejson.version }); }); @@ -156,6 +158,8 @@ 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); + if (global.env === 'development') { //router.get('/debug/sendmail', controllers.debug.sendmail); //router.get('/api/v1/import', middleware.api, controllers.api.import); 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/views/partials/nav.hbs b/src/views/partials/nav.hbs index 5ac71cdc8..9acb902d5 100644 --- a/src/views/partials/nav.hbs +++ b/src/views/partials/nav.hbs @@ -51,7 +51,7 @@ diff --git a/src/views/settings.hbs b/src/views/settings.hbs new file mode 100644 index 000000000..633b8a629 --- /dev/null +++ b/src/views/settings.hbs @@ -0,0 +1,165 @@ +
+
+
+

{{title}}

+
+ +
+
+ +
+
+
+
Mailer
+
+ Preferences for trudesk to send email notifications to users. +
+
+
+ +
+ +
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
Mailer Check
+
+ Trudesk will periodically check a mailbox for emails to convert to tickets. (Over IMAP) +
+
+
+ +
+ +
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
Show Overdue Tickets
+
+ Flash tickets that have been idle for a length of time. +
+
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+ +{{#contentFor 'js-plugins'}} + +{{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/createGroup.hbs b/src/views/subviews/createGroup.hbs deleted file mode 100644 index 22aff7d66..000000000 --- a/src/views/subviews/createGroup.hbs +++ /dev/null @@ -1,50 +0,0 @@ -
-
-

Create Group

-
- -
-
- -
-
-
-
-
- - - -
- - -
- -
- - -
-
-
-
-
-
-
- -{{#contentFor 'js-plugins'}} - -{{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/createTicket.hbs b/src/views/subviews/createTicket.hbs deleted file mode 100644 index 348a56cd1..000000000 --- a/src/views/subviews/createTicket.hbs +++ /dev/null @@ -1,81 +0,0 @@ -
-
-

Create Ticket

-
- -
-
- -
-
-
-
- - - -
-
- - -
-
- - -
-
- - -
-
- -
- - - -
-
-
-
- - -
-
-
-
-
- - - -
\ No newline at end of file diff --git a/src/views/subviews/editticket.hbs b/src/views/subviews/editticket.hbs deleted file mode 100644 index 40f9cdbdf..000000000 --- a/src/views/subviews/editticket.hbs +++ /dev/null @@ -1,59 +0,0 @@ -
-
-

Edit Ticket #{{data.ticket.uid}}

-
- -
-
- -
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
-
\ No newline at end of file diff --git a/src/views/tickets.hbs b/src/views/tickets.hbs index 0001f7db9..a7802d63e 100644 --- a/src/views/tickets.hbs +++ b/src/views/tickets.hbs @@ -57,21 +57,26 @@
From 3dd1f618cc3c4d20576a8ade6107e33057115923 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Wed, 29 Jun 2016 01:21:27 -0400 Subject: [PATCH 03/37] Settings saving to DB --- src/controllers/api/v1/settings.js | 6 +- src/controllers/settings.js | 18 +++++- .../js/angularjs/controllers/settings.js | 62 +++++++++++++++++++ src/views/settings.hbs | 30 +++++---- 4 files changed, 103 insertions(+), 13 deletions(-) diff --git a/src/controllers/api/v1/settings.js b/src/controllers/api/v1/settings.js index 3177ecd83..24886a491 100644 --- a/src/controllers/api/v1/settings.js +++ b/src/controllers/api/v1/settings.js @@ -63,7 +63,11 @@ api_settings.updateSetting = function(req, res) { async.each(postData, function(item, callback) { settingSchema.getSettingByName(item.name, function(err, s) { if (err) return callback(err.message); - if (_.isNull(s) || _.isUndefined(s)) return callback('Invalid Setting'); + if (_.isNull(s) || _.isUndefined(s)) { + s = new settingSchema({ + name: item.name + }); + } s.value = item.value; diff --git a/src/controllers/settings.js b/src/controllers/settings.js index f44a7076e..a5886c618 100644 --- a/src/controllers/settings.js +++ b/src/controllers/settings.js @@ -52,13 +52,29 @@ settingsController.get = function(req, res) { 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: true} : s.mailerEnabled; + s.mailerEnabled = (s.mailerEnabled === undefined) ? {value: false} : s.mailerEnabled; 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; + self.content.data.settings = s; res.render('settings', self.content); diff --git a/src/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js index fc51e8b6a..95012bb66 100644 --- a/src/public/js/angularjs/controllers/settings.js +++ b/src/public/js/angularjs/controllers/settings.js @@ -73,5 +73,67 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his 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); + }); + }; }); }); \ No newline at end of file diff --git a/src/views/settings.hbs b/src/views/settings.hbs index 633b8a629..d8c3698ab 100644 --- a/src/views/settings.hbs +++ b/src/views/settings.hbs @@ -6,6 +6,14 @@ mailerPassword='{{data.settings.mailerPassword.value}}'; mailerFrom='{{data.settings.mailerFrom.value}}'; + mailerCheckEnabled={{data.settings.mailerCheckEnabled.value}}; + mailerCheckHost='{{data.settings.mailerCheckHost.value}}'; + mailerCheckPort={{data.settings.mailerCheckPort.value}}; + mailerCheckUsername='{{data.settings.mailerCheckUsername.value}}'; + mailerCheckPassword='{{data.settings.mailerCheckPassword.value}}'; + + showOverdueTickets={{data.settings.showOverdueTickets.value}}; + init(); ">
@@ -77,7 +85,7 @@
@@ -86,23 +94,23 @@
- - + +
- - + +
- - + +
- - + +
- +
@@ -122,7 +130,7 @@
From f52171b38e297fbb5e341c069b8912705af008f3 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Thu, 30 Jun 2016 01:46:31 -0400 Subject: [PATCH 04/37] Update nodemailer Added Test Mail Settings ShowOverdueTickets now applies to ticket view --- package.json | 2 +- src/controllers/api/v1/settings.js | 12 +++ src/controllers/settings.js | 6 ++ src/helpers/hbs/helpers.js | 3 +- src/helpers/viewdata/index.js | 19 ++++ src/mailer/index.js | 90 +++++++++++++------ src/mailer/mailCheck.js | 14 +-- .../js/angularjs/controllers/settings.js | 37 +++++++- src/routes/index.js | 1 + src/views/settings.hbs | 75 +++++++++++----- src/views/tickets.hbs | 2 +- 11 files changed, 198 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index e826fa3fe..472fcb882 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "morgan": "^1.5.2", "nconf": "^0.8.2", "node-cache": "^3.1.0", - "nodemailer": "^1.3.4", + "nodemailer": "^2.4.2", "passport": "^0.3.0", "passport-http": "^0.3.0", "passport-local": "^1.0.0", diff --git a/src/controllers/api/v1/settings.js b/src/controllers/api/v1/settings.js index 24886a491..fd43e0b23 100644 --- a/src/controllers/api/v1/settings.js +++ b/src/controllers/api/v1/settings.js @@ -85,5 +85,17 @@ api_settings.updateSetting = function(req, res) { }); }; +api_settings.testMailer = function(req, res) { + var mailer = require('../../../mailer'); + mailer.verify(function(err) { + if (err) { + winston.debug(err); + return res.status(400).json({success: false, error: err.code ? err.code : 'See Console'}); + } + + return res.json({success: true}); + }); +}; + module.exports = api_settings; \ No newline at end of file diff --git a/src/controllers/settings.js b/src/controllers/settings.js index a5886c618..6589fc747 100644 --- a/src/controllers/settings.js +++ b/src/controllers/settings.js @@ -47,12 +47,14 @@ settingsController.get = function(req, res) { 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; @@ -75,6 +77,10 @@ settingsController.get = function(req, res) { 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); diff --git a/src/helpers/hbs/helpers.js b/src/helpers/hbs/helpers.js index f18e79d23..973a41e0c 100644 --- a/src/helpers/hbs/helpers.js +++ b/src/helpers/hbs/helpers.js @@ -551,8 +551,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); 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/mailer/index.js b/src/mailer/index.js index 38b5bcf77..2576a7c69 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,74 @@ 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; + 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.value) 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.transporter = nodeMailer.createTransport({ + host: mailSettings.host.value ? mailSettings.host.value : '127.0.0.1', + port: mailSettings.port.value ? mailSettings.port.value : 25, + secure: mailSettings.ssl.value ? mailSettings.ssl.value : false, + auth: { + user: mailSettings.username.value ? mailSettings.username.value : '', + pass: 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..3ff99b0ee 100644 --- a/src/mailer/mailCheck.js +++ b/src/mailer/mailCheck.js @@ -27,11 +27,11 @@ 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 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') : 'Problem'; var mailCheck = {}; @@ -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/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js index 95012bb66..97ba7e727 100644 --- a/src/public/js/angularjs/controllers/settings.js +++ b/src/public/js/angularjs/controllers/settings.js @@ -31,6 +31,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his $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); @@ -51,7 +52,40 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his }).then(function successCallback(data) { }, function errorCallback(err) { - helpers.UI.showSnackbar(err, true); + 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(); + $http.post('/api/v1/settings/testmailer', { + //Empty + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback() { + helpers.UI.showSnackbar('Successfully Sent Mail', false); + }, function errorCallback(response) { + console.log(response); + helpers.UI.showSnackbar('Error: ' + response.data.error, true); }); }; @@ -59,6 +93,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his $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}, diff --git a/src/routes/index.js b/src/routes/index.js index 96e3655b5..f7ecbff4c 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -159,6 +159,7 @@ function mainRoutes(router, middleware, controllers) { 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); diff --git a/src/views/settings.hbs b/src/views/settings.hbs index d8c3698ab..33bd007ac 100644 --- a/src/views/settings.hbs +++ b/src/views/settings.hbs @@ -1,6 +1,7 @@
@@ -44,10 +47,20 @@

-
+
+
+
+ +
+
+
@@ -65,7 +78,9 @@
+
+
@@ -135,27 +150,43 @@
- - - - - - - - - - - - - - - - - - - - - +
+
+ +
+
+
+
TPS
+
+ Trudesk Push Server authentication for push notifications. +
+
+
+ +
+ +
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+
+
diff --git a/src/views/tickets.hbs b/src/views/tickets.hbs index a7802d63e..703b28e22 100644 --- a/src/views/tickets.hbs +++ b/src/views/tickets.hbs @@ -138,7 +138,7 @@ {{/if_eq}} {{#is status 1}} - + From e14fc48053e6268c534a78ea400ab884157fabb5 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 5 Jul 2016 00:38:02 -0400 Subject: [PATCH 05/37] App API Fixes Mailer fixes for new settings [Child Process cannot pull DB settings - Checker Docker Fix] --- src/controllers/api.js | 3 +- src/controllers/api/v1/tickets.js | 72 ++++++++++++++----- src/controllers/api/v1/users.js | 11 ++- src/controllers/debug.js | 1 - src/emitter/events.js | 1 + src/mailer/index.js | 2 +- .../js/angularjs/controllers/settings.js | 5 +- src/routes/index.js | 2 +- 8 files changed, 71 insertions(+), 26 deletions(-) diff --git a/src/controllers/api.js b/src/controllers/api.js index 3c37a41ba..e5c4cfd9b 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -231,8 +231,6 @@ apiController.login = function(req, res) { * Preforms logout * {@link User} object. * - * @todo Fix so it doesn't error out of the user doesn't have a device token stored. - * * @param {object} req Express Request * @param {object} res Express Response * @return {JSON} Success/Error object @@ -248,6 +246,7 @@ apiController.logout = function(req, res) { async.series([ function(callback) { + if (!deviceToken) return callback(); user.removeDeviceToken(deviceToken, 1, function(err) { if (err) return callback(err); diff --git a/src/controllers/api/v1/tickets.js b/src/controllers/api/v1/tickets.js index 6be0a313e..645c594fb 100644 --- a/src/controllers/api/v1/tickets.js +++ b/src/controllers/api/v1/tickets.js @@ -326,30 +326,66 @@ api_tickets.update = function(req, res) { if (err) return res.status(400).json({success: false, error: "Invalid Post Data"}); //Check the user has permission to update ticket. - if (!_.isUndefined(reqTicket.status)) - ticket.status = reqTicket.status; - if (!_.isUndefined(reqTicket.group)) - ticket.group = reqTicket.group; + async.parallel([ + function(cb) { + if (!_.isUndefined(reqTicket.status)) { + ticket.setStatus(req.user, reqTicket.status, function (e, t) { + ticket = t; + + cb(); + }); + } else { + cb(); + } + }, + function(cb) { + if (!_.isUndefined(reqTicket.group)) + ticket.group = reqTicket.group; - if (!_.isUndefined(reqTicket.closedDate)) - ticket.closedDate = reqTicket.closedDate; - - if (!_.isUndefined(reqTicket.tags) && !_.isNull(reqTicket.tags)) - ticket.tags = reqTicket.tags; + cb(); + }, + function(cb) { + if (!_.isUndefined(reqTicket.closedDate)) + ticket.closedDate = reqTicket.closedDate; - if (!_.isUndefined(reqTicket.assignee) && !_.isNull(reqTicket.assignee)) - ticket.assignee = reqTicket.assignee; + cb(); + }, + function(cb) { + if (!_.isUndefined(reqTicket.tags) && !_.isNull(reqTicket.tags)) + ticket.tags = reqTicket.tags; - ticket.save(function(err, t) { - if (err) return res.send(err.message); + cb(); + }, + function(cb) { + if (!_.isUndefined(reqTicket.assignee) && !_.isNull(reqTicket.assignee)) { + ticket.assignee = reqTicket.assignee; + ticket.populate('assignee', function(err, t) { + var HistoryItem = { + action: 'ticket:set:assignee', + description: t.assignee.fullname + ' was set as assignee', + owner: req.user._id + }; + + ticket.history.push(HistoryItem); + + cb(); + }); + } else { + cb(); + } + } + ], function(err) { + ticket.save(function(err, t) { + if (err) return res.send(err.message); - emitter.emit('ticket:updated', t); + emitter.emit('ticket:updated', t); - return res.json({ - success: true, - error: null, - ticket: t + return res.json({ + success: true, + error: null, + ticket: t + }); }); }); }); diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js index da0a6f809..c8a12acba 100644 --- a/src/controllers/api/v1/users.js +++ b/src/controllers/api/v1/users.js @@ -649,7 +649,16 @@ 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}); + }); }); }; 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/emitter/events.js b/src/emitter/events.js index e995dad74..66744f594 100644 --- a/src/emitter/events.js +++ b/src/emitter/events.js @@ -130,6 +130,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'); }); diff --git a/src/mailer/index.js b/src/mailer/index.js index 2576a7c69..c5b7da43a 100644 --- a/src/mailer/index.js +++ b/src/mailer/index.js @@ -48,7 +48,7 @@ mailer.sendMail = function(data, callback) { if (!mailSettings.enabled) // Mail Disabled return callback(null, 'Mail Disabled'); - data.from = mailSettings.from; + data.from = mailSettings.from.value; if (!data.from) return callback('No From Address Set.'); mailSettings.transporter.sendMail(data, callback); diff --git a/src/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js index 97ba7e727..add8fb8cc 100644 --- a/src/public/js/angularjs/controllers/settings.js +++ b/src/public/js/angularjs/controllers/settings.js @@ -75,6 +75,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his $scope.submitTestMailer = function($event) { $event.preventDefault(); + helpers.UI.showSnackbar('Testing...', false); $http.post('/api/v1/settings/testmailer', { //Empty }, { @@ -82,7 +83,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his 'Content-Type': 'application/json' } }).then(function successCallback() { - helpers.UI.showSnackbar('Successfully Sent Mail', false); + helpers.UI.showSnackbar('Successfully Connected', false); }, function errorCallback(response) { console.log(response); helpers.UI.showSnackbar('Error: ' + response.data.error, true); @@ -141,7 +142,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his {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}, + {name: 'mailer:check:password', value: $scope.mailerCheckPassword} ], { headers: { diff --git a/src/routes/index.js b/src/routes/index.js index f7ecbff4c..7be6ea142 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -162,7 +162,7 @@ function mainRoutes(router, middleware, controllers) { 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'); From f929e6b8156dcfb91f003324e73462c7aba51aa6 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 5 Jul 2016 00:52:00 -0400 Subject: [PATCH 06/37] Fixes Heroku child process failure --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index 16104d2a8..8c6f62467 100644 --- a/app.js +++ b/app.js @@ -217,7 +217,7 @@ function dbCallback(err, db) { }, function(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 = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env, MONGOHQ_URL: process.env.MONGOHQ_URL } } ); global.forks.push({name: 'cache', fork: n}); From 8f964a9af179a5827864f08ea9f1e803e941fe8d Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 5 Jul 2016 01:12:16 -0400 Subject: [PATCH 07/37] Updated NConf --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 472fcb882..767f876c0 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "mongoose": "4.2.7", "mongoose-deep-populate": "2.0.3", "morgan": "^1.5.2", - "nconf": "^0.8.2", + "nconf": "^0.8.4", "node-cache": "^3.1.0", "nodemailer": "^2.4.2", "passport": "^0.3.0", From a3e19bf3d876784326a79197049a4d5e0fd1d799 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 8 Jul 2016 13:55:50 -0400 Subject: [PATCH 08/37] Fixed issue with CORS loading Added upload API for mobile app --- app.js | 2 +- src/controllers/accounts.js | 2 +- src/controllers/api/v1/users.js | 75 +++++++++++++++++++++++++++++++++ src/middleware/index.js | 16 ++++++- src/routes/index.js | 16 +------ 5 files changed, 93 insertions(+), 18 deletions(-) diff --git a/app.js b/app.js index 8c6f62467..16104d2a8 100644 --- a/app.js +++ b/app.js @@ -217,7 +217,7 @@ function dbCallback(err, db) { }, function(next) { var fork = require('child_process').fork; - var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env, MONGOHQ_URL: process.env.MONGOHQ_URL } } ); + var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env } } ); global.forks.push({name: 'cache', fork: n}); diff --git a/src/controllers/accounts.js b/src/controllers/accounts.js index 7d339a278..55d6e155c 100644 --- a/src/controllers/accounts.js +++ b/src/controllers/accounts.js @@ -395,7 +395,7 @@ accountsController.uploadImage = function(req, res, next) { headers: req.headers, limits: { files: 1, - fileSize: 1024*1024 // 1mb limit + fileSize: (1024*1024) * 3 // 1mb limit } }); diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js index c8a12acba..778c44383 100644 --- a/src/controllers/api/v1/users.js +++ b/src/controllers/api/v1/users.js @@ -662,6 +662,81 @@ api_users.getAssingees = function(req, res) { }); }; +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); + + console.log(filename); + 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); + + return res.json({success: true, user: StripUserFields(user)}); + }); + }); + }); + + req.pipe(busboy); +}; + function StripUserFields(user) { user.password = undefined; user.accessToken = undefined; diff --git a/src/middleware/index.js b/src/middleware/index.js index f2fd4ea00..e08880a5d 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -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/routes/index.js b/src/routes/index.js index 7be6ea142..a42c8e298 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -142,6 +142,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); @@ -196,8 +197,6 @@ function mainRoutes(router, middleware, controllers) { } 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'))); @@ -252,16 +251,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(); - } -} From d75298b11a0fef8d0e15771b15368d8baa70b0d9 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Sat, 9 Jul 2016 08:35:06 -0400 Subject: [PATCH 09/37] Fixed issue where mailer would still send mail even if mail was disabled --- src/mailer/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mailer/index.js b/src/mailer/index.js index c5b7da43a..5477d06aa 100644 --- a/src/mailer/index.js +++ b/src/mailer/index.js @@ -82,6 +82,8 @@ function createTransporter(callback) { 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.value ? mailSettings.enabled.value : false; + mailSettings.transporter = nodeMailer.createTransport({ host: mailSettings.host.value ? mailSettings.host.value : '127.0.0.1', port: mailSettings.port.value ? mailSettings.port.value : 25, From ae318c88c89a41243352d53486bdf1dca343f253 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Tue, 12 Jul 2016 12:43:24 -0400 Subject: [PATCH 10/37] Start of Installer --- public/uploads/users/aProfile_chris.brame.jpg | Bin 47321 -> 0 bytes src/cache/index.js | 1 - src/controllers/index.js | 1 + src/controllers/install.js | 53 ++ src/database/index.js | 5 +- src/install/mongotest.js | 30 ++ src/middleware/middleware.js | 20 + src/public/js/plugins/snackbar.js | 35 +- src/routes/index.js | 4 +- src/views/install.hbs | 452 ++++++++++++++++++ 10 files changed, 581 insertions(+), 20 deletions(-) delete mode 100644 public/uploads/users/aProfile_chris.brame.jpg create mode 100644 src/controllers/install.js create mode 100644 src/install/mongotest.js create mode 100644 src/views/install.hbs diff --git a/public/uploads/users/aProfile_chris.brame.jpg b/public/uploads/users/aProfile_chris.brame.jpg deleted file mode 100644 index 78de6dd61bee602acc86727cadbd826e4cfe60da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47321 zcmdSAbyV9y*Dx5YMT%RC1}7=*?iQ>NTw4khYXZS3rBI}}yK8W1fuM!rPJ!SADPEvJ zDORAA<$3mbW%s=2+vnT;Yv&~A%x~t}+_^JzNABIi-8$g0s;|>4000631MmU=mF|83 z$W^>-UHkx80NndxI{@Hr9p{Oor>C0~KR?`q&&JO6r9GdmD~#XQ#*JT)PkOTLEVt!WOKS4ZQWLXve!4+t#qX$%Wb+-qK@(J_W z3J3}U#l-joMMTBK1bKi$0)j&P0{1^LUO^ElQ86hYap1oa>peGjyH`?B6}5lyy8n`8 z{a2%We0=zPg!x?E9ry($B_;nsLr94C9)j1y5AJE>%M15l`wt2#_8zwGPHvt~u5jQ# zDB8Sq_41Tuy_fX=Yy!+pN9R8Y|Bu>&!T!;%e?ohBLhb)cjQU_8-Xiy8B-<`Ul{>G*T+Awq7uMxFCDwo8*!{QG{y*aI-!td`M>qbrZvBs4% zTQKGo-2MaRUELMK7n-0K+?_;>1GF`INto4I@>p4QRoycpJ9Yo?)iI%FT*VY z#3-T;qI8J5wfc5AV)`WPb61{S>>2uaSO(&^nIBz5ZyA2AUxB4ZXz43)nwRyp^qHd_ zOE|T~^X#fAr&GPyV6CwE=nJp!vr6I0OJ_19NqWCP_?@Ym_F&QRW8AkJ>q=7b-$gD& z{y*rMoGngl8ZL7h;gn`!Q75yH#%MP#X)b%s(=|jko{SHG#=1~0?W!}fjMA7s#p(X9Zpv_#x1ExjAqHs-vo15?}(^TR%>Xk7n^gFj`vJ zm1?o`)ZmHA9Qd6rTUknNoS!?dCaG1)9HuW8U3W=TW2+H zPb1R$6@gXbNC@Fnz!HK02r`E7`a}!T8H%IgKZmc9`1rU>r#D#-T)tUbT3rD;NL{A6u)!1GxRR^hu!DvNai^IhlBX#+$~&wOBvXOweW_Q{=}+5g&tbhYXr zP%Hf9&GEmBJYblnQ%@J&#*sgj{+&y0c=d?!Y@|>Z87)Nv{2>yL<0ko*!AF zo%>*m@v#3Uh0VhCc4P!jV`!TIGagk2^}cEiCZarIyNYNjxk3ZQazasNJu1y5w1laQ z9Q_AkxBSqt@Y|0rOM0@`i6gWZr4)dIU6M+;YxO*-p!uc%8O{5faEf;XU&*GjzR^6T z6SSE3uBVxzv#dz-ue-fmSM;Bo&+)be$yfq5n+M@p}dIVm3 zIkW*WY}Xz|p|^dT#rE@HyaPH*tE=ix7V`k=gUGyWdqbiJjWhk(T9!_0i!LQfG)0vC z>Y?v@DNjRPpd~v8s7mFYXTcERbeWCY_x=S(4`KZyoaXknO^ali(e&+q7x`OOwift5 z?OgwaFAh2gnbm(ByBOuY10)^d_Mspa(&}3UdNts)(rGU@zSpbk#(}-2G~wJM<%DQ? zCleA7eS=qLQ}Onkqu8$#fso*^qf35IU!gmIH|^6tGh?Q8Gq>yyAaBapFW^I~yv^5# zvimM^;Wd|^mgsYu<}r_QDdtC9Xm(+Z>?tA*zn;3llaQJfRn4u3EsiJpm2Y92rN#F8 zp9vmj4v4h!Kuy7vYnNV$|bWHkI zl<>n3E1U*Bl0t@3b;Z~^W7@L%7)VoAL%H5s8XX}UKG3F zo%3xzn0db1w1&n!vg~-3m6Ep2-FE)GtnK>Jwie{2(+l=oamb~mwxlD7CSb=cRlT_HG}OwUNbgRT=VK86;d%&l!zD8$dxg)cLN1^ts10n~1LH@c z8ejfzx@K&dq<>=m?n&MO8dfp3ati_N+rGSI9l3u7YSSMT{rHm(zpr}T?n1In$TnXk zC-sLw;@9@BXtHbQpZSCzfr`6k@xY+c);fdqbIt>k;-idt&vr+2h4+qh-=*YM{rLAb zRpUmZ%D3!OEcrTmFFjx`u!`93s!N+K0djW8j5RL@Zp=>Q!qv$@3&gO(r#*ajh0mR# zRU_BE&5}bWUtof-om=x=I{oF;s0U1oQjc2f3J+gwm>syIq!h3D+qS;x02N0ZFZCl}*Rc*#ND+aVH z6(wLR6NnI$i|V6a4%Ij3TpuY4OqNgO<5|0h^TM3V6p-I!5PA_G96u=O!x}e!!D~gb zWB2a>j#@QMTTV?DD$8ZxSDa?)q~Wog7*?r-0xH7^R!MixY?n9fsMrE^LXP)#yQnbf zk;>Ds?`NyWZ#O_f6$G(jl0%B!bdeLS+91kyF7L!wZO=<~B&@D|DwmsoFC7{GNjw3C z4sUy%g{bv=YtGO^EhCy}Hd@lbkQr5`%K9pA?xtMhp%>qF7(TPe*hZ15NhpuxN(SmC zh-#@C2v;C$fgVF4gVfr#(-@}7%crf)r3im-Hd1lT(J}SL)kAn+TQ_W=$2gnG#`&+* zA%!`*M>9b6bMin~n2EQQ;@qwLbkm2Oqi+_CRgV1+pEoxZ zIUC?H;B#m2eG-)9nfw*Db8_+LSd84xADAC!*VIC)PMG>Y2jyWrO<`D~{>mK_v)!Sq z=0&)*@jV?1Rf5(kcwAd|oTc85!v4$!KMUJ7Mdv(aAOqG~0?kaYi_>D3aR?-^mM)L!$zh z++MEg>~xu^3hLhja#<>10@|hwzSB3Y*vmUnNTZ`(!kzroh0Tdw*6>Uu{t?r-0~vem zNHpGnf1Okdp9MAJyQ=Ds@yl^NYdBMaQI+VNLV_xL!wscNM#QJqq7BqIrzn-Qo~i^D zgBxfy>f=(nifc{PwmD`lK*x@ZPCL$nLOZ>U(ZR{p{iLL~x1n6f-u6(Qy2A8!rJ1KW z!USIkz2#}jt^vbpHQokM9v=A5IHgk8BgrtJS)6jb+HbpXdW$R<8D>h203rP3JQ*G3 zGZ`Q|3$Ut48zwI8Z=r>-&Dx1yC3+?n8O*hTr-8d=+c8l;(bne^{n10(BhN>jX;eBj zX1kT>_Y7&(8;-f%_ni^bwylmKZt>)cCp^D${F?iqH`;Yc$$J8&X7KLs&-DUoI@UDc zUJD~LM><;Oe2AG5SGs(qw4x8W;H+5iYb&aiWCa&TS%)S%+Lyng8Mo2^yS5w5t$nY) zMd@-yLVb+tR8{HzwhuD^+EwFeN0E0F7VTb2bx3O|DnSs*=Fs@`kUacI44@-p{F3P4!{S zk;9RT&}ID5X6wowV7#W8+b_Q#i4(|9J_5f>I1aYTEA&#T4P!Fv(uAsi6|n&uR;x)cUr1LY*lhXTDl z=r9yrQu4MmK^C?j{_L!S-M_bXnVobdlg&3#KnNERmp%D6?O0a(qN8`T(d_eZaRi6Z zMUt_&>cTNfws|`GDN9qwn-(F{r1rPm;0*L!QJtZtdkz_x@>jtO@$f<2Q!nw_j%RHL z#VE;{ZhRa?j}SKs<~X7irsBOd^|rv5#5F!T%_NW03tmW)wcH33(MulQ0WiEp7|YeRaYs$JZrTJul$tFHzr}jy zdu~PevGc-GGldu1Kqgo`ol4c%*z*L(En0 zq&Lq+>h!sKqOj8rLy9^qmutIV<`<3gJ>7b3W)zCVI9Zhr44W0VMrYnVOq#x+n47-1HtkT-b&c;Ig}QlLelUAeLG)A^?5(BS3Thd-13+A` zcJ2T>Y*vG|XDTb?KC`sc@Z%-?lj0yQDyN?XLzy8tewzVz0HBYoZu9q1Fuhk|0)lzS zTnMY2ew>PlZ0{GTQ%7#6#dB00^D7YuAdlu zu~}(ieYh-3Rg>(+yonEWd0GN`7uy1q5YaI;DRu|=#qYY31#TKnn+@r9!&W(6U(%bo z9S*2!mt4~p+I!LZBHp~dsTg-b$l{45(E){RquC2#_h)2}UMy*fvuqUyf6wJY9ZIih z8{X9B)R?ZK*?wDlL2GAo#e-uBX|>XyjBvTO)sCOdRm zugfFHT{Z2ZZ21n*+yjz3?sL=spPNbo3?mIAU;H@$=?1 z`bpn!4Vyb)FsgR1sp&yHgW`s}WM=vt{BRoe9yTaoN9c$u=q_ zxS*b$$J6bj7o&qj(OiOcwnN6VCC5l~qJG3L}^+P46*{n;F)T!5+Hc>~UMFVM*2#$hr>~9q!5={6F;hD9OWC{QN zCQ&WuzO#fcBeQNSFIe~=9p*#`c(@{(2X9=YPCyXLD%#hJ!Bydi5;L1}M7n>6h3r!c znNDMioXz507~qttvmLeU`nrwtlXvvaOpO(V_ZiW%v<)Q`s!A%uBg@Otwo6Bg5<^eS zWw>nD2tc>Ec)mZz(qMo}1YgJ=Lf4P7TjzP^x#34{{zOG)xliD#ewf}K>9p@WBQR>^ zF#%;qO*uF)2ugv!DOd9*>1*&(#o5KA*&RUGC~BLKZa9oh_SK7bpVk6E-|0FG+}=cc zIo$yw3x3fF%KTKSK%lbuqT!k{L6j5Y;dMImxj3_ zbJ2VHJR|9Cp?w2<1@YF0cn+luKi%+;ocUF$AW5FYo@hHW+nn1_?7dTL3Kn_l^qwU_ zziS5}*t)uS;q&<8rza6jEk7|zSx&??O%rnLft4L2DeL9Za~)ooCX%cr?~!*_shpxg zL8Wj|aLahVZHQNVIeq_W4oWL4wAk*U8wJ2emx)Q-w$Yreq%ZtQ(VhsRX_6{*J~+`Z z55xjtvo-kbQv0KcK7fXB!q#&43G?A&a@Jr!a2Xbp{l4t3$1*$?d=7SekpT_e_`K!I z)g+WC%aag{`K)mVFo`%*j?jNrWb!<9GPkQt$HM8jv6_DS%60O1<;Dv;%Y+L{hI4tN z1tXPewj-S@chbFA6Xe4)sv3SiDiJ|K4%b9y{D>FtMWvs^9Bql_XV^P+dasxfe$ zf_B%9bd*B+r|$BSLdC;pF%V8$SWr@dVXZ1#Ay`whxk5vOfLe4Z%eLj{3{Oxub7q6! z4lsi~0U)y-F%Ym=nysyU@iWw5)qulj2*115M6D-k2F3o9PlPJ(Im-GeQ^A$X^NG@X z7pR5q+zVSJ1)GW!zxcWkhr8p@-=M;PYRa;FgYX%d!eP$KU-_|5<44Cp1IvzY-sADz zZ;FUu4)L_mlD~3{Bvt2?s6jm=K3qHd-Zq{YkWtZM0=r^TIWQQ19m74TzH<6WFS7x4 zCwpP3(GS}P{EZ@QuG^lU4jV5rvn`=Ys(S6}>1G}}-tB1UYJmCi^nPXW!(aQmg) z%q*3N$A{*7E$Ji}WdS*Q{#VCZs{xFb%Q(33%$><)yrBN$pSHAd^VUl$ldjUhS^L9- ztb!NsyT&34FT{?kiG1F+$1b_3-nL&nS<8_;+Ew#&@|M0hI=z@0eFw@_jDNB*=0VHy z5qAQ*DMn#Duo+MNwB=g5(-0%o_`~Z<+=LqnAW#$?ji@N!=l&}!1;1QUxmx^nO|$OLpgoi9U!nW^}~D`c06tlrBfM;#P#xTPcAi;w9sjbvw?t;s$mU_fgj&GEZqTK zwwqxpz7Di*&5a8C@HE+Z>n;0bdaW0Vv!)d)*h{t6J^qmnPAjet%5tq^Jj#|GG;u|} zsVWC2d-)r7G=@(rMFmm=TiTVJ%|!c$nZ7PwS}csYak%c164 zk#1wLGHmv~e=Od~Gd}8%32j6xncFiuDinYSZXKa-eNJa9dva@HS#-k$Fy322w|@Qn z-gRE>M*Ov>H4DiYY}tfD<)Q4Tq+cO{Is*l?gjCF6>Wu=YmZdMmx=YLHz9Wu<3^&{1 zlB#OE4gnt9%_h0aolJou(SLL|)wDoxnQzS$MM={WG@210=pr!>i6Us>HNis|#9)OO zY;EEE%C4M*kTQLcJEGNFnuaIC_&iAqzD*2n)xV&5%1DQ4#9!NY93pF@ zn#bX)fS+?~FKwB34PF{5MZK4xDd{!9Gi@CI(k>Y`^a30we(lTi zCeaVD5#$~QenuE|?(=aLB}yp-T@ryOq^Q^J+y1o3~_@ikZzzGtFt_nh)s(nF$cekkV~8%!Qlo@ zPOg_7qn4lAqnPJffH?vfHYZ)Sc^zYRzW*p8x_-+s*ck2DTS?sLk z6#g?dcw=GW*OzC5NpyxD~JGL+2|su57IzTF@*0Kol5ygUgA8X zf$Qn4W1Ai{IO9761XJH3FjIw6C7%-d{!lC7?e>UIYlG-5hXWM4g|ydOTAERGVBnj? z@(uT-oAxro@o>_2yYLTH(SpUJur<>juT+U8$)cE*9|jnrT)IH4n-hku(NHG9Q<#M# z>`MS7xCOgda}Sugbq!|%{uw1~{5$z+LfpCtY2&YF)_UCRreo9f#8$JN(7;P55K}qh zALz%*ldcUlcoqjreeFn1-P@up`g%1 z3Yl}p)y#9Fds*8#kw)^o3Z(`7OBcC#OIECs&7wVKSp5`yH+p5}=~+7u^@(!kfw;SU zL%VmwniV#0n^cspe?Pi(~N90_l^8*%h2b zFt{;i5?2I>bD7*W*tWI9+ZrcDv6KQbejDy!4^r>LtC~>dPK(9}+hJaI+;5(L&z?wj z@hMB3tep&O%I#x$OHutc0LKr$8t7+f7?KF9EkG9|MM+y0q(WAn^-Wb#uXnv7u>Mo{ zcf3PtBgEO)+EZIP{+$Z0YX0M%=Mg_dl9Gn`Yx-(tGge-ABA_Tw{uMIlj8i%8 z3@;%d*c4{97t%|T32m)52Q3S&_ZrvXicLJtd~;bd>){R7mv|9 z%VA5bq)Pmi;u~e6ztf!h2TxQh4%;+`1VS0xK<&94tfi8ik#YQxdT5aH?_Xhj=%6<0dX+w@zGBDlvzucva)}q5Q=moS8*fT3y_u0Gd=EnW_ ziU5_Gre}DUHMfd1u}wJdF-H1))}2PA^onyDHkCDw{-R3xOnQVh`qHV+*E3-EPdo&c z-mhG_pof4m7^0oPion#J&wAzY;3GrT&Q0qOO;l>R7b_!k4H_>xm&*$&C*fe4gC`XDKTmfV<$As^8KUYmT^}{S{nCp4E5YbU zySQ$`)ue(J-s7EjwiQ;r{4<+lyodrjjiU!Pd4pZ40GJCeN>Z3lX=?j`aj^%(5mY(f zCdutI*k9tjfB4zgp6RQ-*sO;kwib4BSCE3_82L(!)LYx=lgU3B`v_?cEJNk?r(;Yk zS~Y+g9T}7d2ISY+Z(c120%(#6Tc)QN`qUU!(HSz){WxXLdbF<7v?ahBFP6$DEkoU{ zUCvFFXgEWPW-RK2qX5q1YVEw15mO~aZ>7`Yz}Wqqrw(nMrIwSIJabmbA0D5?Oxyt$ ze&4o9EhO1|&ZwtYCp0n+Fa#_u>A8UhCmkV#xPHF--Rk}g#oDOt`~juv6ADNLTlhA0 z$W(UCw!U$C#=M~oL&>X02_j!1htW@EXBw@LH6NCgt3MbnSX8kKX%uM%l@~f8sIR=) z5`dG_I+b2{D2MNkGkv5@+iARyTuAP3=h<9PE*cA zCSc;`?f!c(?}5u}l!`mVo}UwhH7k7DQc^e*D!{OjDmFq@gQ2cCt!+XrAC^PC97u_@ zr-39mxC||qJ?R0${sC^>;ZC9gW`H7l&RWp<+oJt|DO-Ibx|Kg$hV<{{RWL3vo^o84 zS5cK|-GPa?#uY3IL6yWZa>zrmA7##b3sa^EUFB%VVxaxbmFK z^67|IzA1d}kvoQH$w;p##6z{VTw}P?VS2zBVnFL6ybCiVnxPm(1%CHT76trGobqX; zn8~;QI|Yw+modHMcV$Gi3?rTuk{74_c$7YKx=#QB@q#p^O#*!H0KN@nE~fg0$VMyc zFV_mJ9cE<|84gGBPM&k$Tn=}thWW}gBP=0zfWZ=^8)Pg;V&GH2QotrWL)|U+kn|;@ zHC^pBdNusrNOr?A{BYdz)d+*wcYPfCOF zxLD2u!m#?-#=1Ov5ULTd(V3NASFW+8DuW^j?v)+4M8%|n>&wLV8_)gg+%xCYG8b_Y zGWwAcn-njW5EX7O6tkA|tDD9wceJm5jC{*`H0%b#b=O2cShub|(`lMJw(s1wT;+b3 zY*fA>Ow5jFTN<>_jC$ESxmvVpJ&%117v&~1X97w8?lvT0Den4N3?Lv(${UiFzZ4wd zW7dF^$<5dUG#6ZqddrVi(Uyr^ow>?A&@fkl68ygVy=4 zo3>8bG%?TIDNG)zKxtCN62d6=!Z@QLpu<(Kv1@(i8EN!RVJEHWsyX?!4bV@q)Rfj6t#E#=NK{o-*)K zi&;P;92XK)ldiZV1?`!eK0eG~+8;9CBJARvEBTuf0j^4nrQi8`7%(YtxVWsT+J8_5 zJ*M%_4|mFz{GHa`Fo_&$UFwCk*;%e8rHWE>GiB)&4?C?JdFzCi+{)E*x4&sAoe+%m zK%&tkcX-kjG^OZF1HObdeR7}o#ut8@E2qD0wY!$Y)`E|{C zy4`X?#-J1_D!~&WXQ4>yks~AZ5v>0Bw0}bL4aOg_V_~-3U~m>|WIhkjr1o?FuwiMD z-o~8o`ug1+KuE@m+&v~NCUOyB+u@xk&C+g~=Qikwa!P35Bt}W?1vb|7Kb?;n1wFqS zsnl&r+nte1T6->k2dG=JhBnPH$lxdf6ADB3Y&C~`bMn4-TAVppFPSwS(}(5y4+Jk7 zdQ-5|I!U#UV5`9HmwGOb+vz3YGJpTor+>8OD8aariFPZPbQ)8?aO}sK@j9(7Tk|PX zCM9=(%9J7{mw`|&{TuIJ18bk!rSrz?t1vr4RoOuF`!ggLPecOG&#g!5GYepg@Y~&} zkG8!c6<9+h43isC`qMa%XXn@EAFI}_%~2<+e`uhWx$t-028lWeb1r#AHwi%he26k$ z+C=e4gg-UDD4m@zxqg{UG9LIEpTz4N970M{WjBY_B{7Y55Q&#QM^vu#OdSE*a>3OS zzcp%|v2wa9r;knVFQ^vO9GF|=hC3>D$ZcwI#NYK?%q23qq7mu9O#xUu(vjOa%HU^8 z(A0^U#ZUt zFr%emidd;)X%2s>ka(S)G_qt`Tr(f$l?;~(tgO8RcgK8MKKvf_tlwpF1}wNADlzTB z2q{R|sV~wgAv)HcdbRDyvjnM8J@Uw?_yfo3Tf4R-L3S&CWpF^rY(s8r{ml}{X^ufw zQB51s!poZkC`_%mzf#DLa0|m@q)iZa`a=#N-TS7`_Vbu9-p;?f26Vgi`&FJv%4(Ih zzTCz7fN*;`0;bmQ*_yLr#`=|(sgL{JwNZ^3W2v+d#>q*GhKnzazJy$0Y7FqR-Q^Yf z#UgQ=v2xlMe}k`W1~ICz2j74-MV4{Q#R8kNx)LdX!mrN}CZ4}y#d%j0OF&cGAM)#r zaakVNXnuplg*Ty^sKNE+NG;a_QP~lZLTp{hoCrJ!{sX}(emAD8+Ya02;iho68yT6H zaRYIhn&al=ma&CxUMYT^O?|kx@4P6;(1Lf=%cfhE%xnIQ|D-i)pN9UxtGVbKSvsAr z&qEQ}?xk0{HEbdgI)n3H6ZU57I|DSkD*-Mz*`T7m1ex6wQ5WWpY8;kS;HE?;Uk2Lv znq2^0VoRyH`B@KrE4`9P(_i6g_+aMmK4u^bb;P`RtOrXm7k_%wVAS%&_=Tl?*{~46C9rY!F!7$w&%oA9c?5iDtTr8g0ZJCD}Ii zAC|uaTjYvj%h*}w2W$IScus+Q5`mL*Df3+WU*ET*>P2CEi`FQzU8zLGY~dIE7s6>A zB|f^+I{Er$x4jnnaSj;@xZ^b>Le_sI)SdEOtygX4-;KRIU30kN;-gt`72BLgWR|KzR^eu4R;Jf8qASv2R8jS<4L6_=WAOhj)UeiV}1gN1&1q( z_CE&ozR3ClaHaDg>RL(7TecvIxoe*P4E z?Zerk65Nyzb21EmPG-JerlsARZ(fDv8NpGb zy3ORgzxIo$LhKe@I@@??GSA}@1T%ni8)7rW*iMy@WksY>hTkp*dUaqvi#xVz_uhWJ z_%*g~#WI}nR`=p%XR;7oNH@kX`u;f?{-R?s)AYO!i-*~@ zv&Q98YFTm3{)W!@@l}e~DhUZRrWwtim)2gY+XY|NE;Pqc6_Smg`oK6JN-M0SGBVfc zXMcF>CtboP;^hBGlev0>4u$>R;7U&m?h0Wd1j_iSlmM5#5L*9FBaYDKfnd8h0+mfC3DmK`N>N7h`*40;TmVVWstNntYl*9ir9>FcJ6l82PZ_#8?GTSeklr#`=Z6D1yU4+231C~=lV}fKQ%VH_WGn>IwxA@jB*$C3^yzqY^8Ck z7F_?F>Z*t)+Dm!71=byeFAp7GmrT)Z^0II>-R(5_gYun-ZZqp$Uf^w>#LmKn( zR6%M3#2fEju0vdMc^ko}^_FuDE3ktpgv;l-;7rt4tgaJWZs4H2JX~9IUjDG+kZ{G# zOZ9N7dg(M6H|IIc zNS(1(>XLM&Rs;0(V$iH}q+!?wi-J|;r`Gt}s!H!!T3d`yT<-GyNkP$cz=K3>ny7eO zJpMAsxAJklM0Sl1R~V+5p3VY7RcSHf=26d(wJZAYbDY^gb$j~7&kMJe-1fIILMuX3 z@NBWSS^)!_37F*&PD6GTj)dofdjgf(mQ@f$PiLlo4 zH?$TO`%}wa0nJEohT$8NsQ`7wH2;Bd7y>@O{}OwJKY@?bWk~_Z0#!+6sUN-ZxHx)y zfBV01(f^tLNydlbA>mruR7{x~%qe5c#lxq<-R_yv^V`iaL!Q5tuX)a7UmsLq-nSgh zd+~ujCiU!m$_UkqeVs@vAQ&whj(nH;`d-<#4oyphv*x0xtUQeein|8MeVV$yy<-s)79Ac>ehjW#T*MrIePG-o~+N3w24};P7m)nGO^*t=EicHhL3+ zfFNhOOeAK##6Eud(sJO4cc>J^T)r-m=zr}~>eza=7t4dDhm^E9CpgkY3gPrcJm8f2 zbrJ3OaY69+!pf&d7X5JxW87kM*~B$1)g@w@dU+ad`ik}rJ0`pbR&RvSHx~5Ln$lW~ z1^Q)3zzKNlCwnb&SK@^9iom1AY9-(_%L-;*y;}JYOEQLB0KZ6P^;B9b;!+qVKm65C za`yrEq58vVIz98b-ciRwBwkd2)bu{Hj`|B7JWz=&bT3=0O=;w+Yr1?Ln!VKaeb)KA z8+WXSE)gpM+1eyiMJJ{%A36c4QZ2t=z7I7BP}s4<0!d<*403l&-54r#xmR^uKVWe@ zqE6nocsU)YP0L{)i?LF8wdR^Yd%yx|t|53`(S#0*{R=g!lROe%38=rnd>rh&*hglA ziTR5(>=jHdM7ZDNKau{ zE=ngG?=4szQ^9aKurX1Ui!3`t3Sx!{<*lutN#WZnndNVXRY%Kw%S%;l@_Ai09>hD#qvj_VckeFiV9(TPovQv zvWgffWUTR_Pa|9;DbTTUo+i&c>&H)B^64f~`tO2c?u5yEkHzRkpj{dpBgGcBB6PKvF5kn18J)thnzt*Y5yjmj}2727oBA^*OF5 z6mnbm7<10 z^$-YmE_Ft1r`xaD((L}M>|L1o+pkSDyP0NcGnF((FiVjZW<;Ea+$zlCwN*^p#fPUy zL+UpEk$ErNRuLs)WxU3pi#)ky%r$3%HnE6omQHSWa`XUXqNmA7K1NSWmH)?6KPNA} zq%CM2x;U;P4=2XI*QNYPGo~#Q9(DHQeZtRu;Ln`tjPRWuNgUSKU9BinLa-AD$X)n7 zkXpZNqoNfiVJOL72w{(!FRiUz703FaWqsY?1We z^EFoYYBW~SRUo1Db@hj|;Z(xU$?|c?oAWx)`DQjd@sp08%sn@OzIg zBGTr^B%+nf0xGMqKhUJI+@Gg4CCIWD4t$4VX<&b0RJUHzuMfmv_FzKj0>Co+q8%0i zFmY1su&3jkzqQ3czf`3vn5@*VTw*hw+q(TB6)IVEV_y+!n9yk1RETW;0nP!WoE7&nGH1@7#i7^315wR7yMZW`rv5MHre}uoJI3))mUn zTb-+6YHMoXVI4jnEjQ+pH>Se2pcqW& z;wo!jqG#ih{jir@k!jit1mxS2fJE+W*B^MP3;3``odWl#?f_VyRsjcXo~!2x9*;M+ zhYp+`uQRB-9Wb?gs)L5bIv+MWDea^abK5C8;SqZ1cac-WS2}w>jrt$iUidS%?)EHd zr5(KH=Gvt;soic(3yph={Se44^EJ!zwe+iboe4|@x^y#FOf(!*STobYj^rMgo$a{a z{G+mK{G(!=CBkR?Z@ahlR5?xa^xkjj}LY_ z`=Tl}$V1gHs@XV4p8rW6ohf*OhH5)MU6m*F?-8=L+M-#>nqLVE8{^Qz98 zX#jj%*_T5-bGKwH6tbP^|Oxbo_ z`B@Gfy*6nHR`3h5zZ$ZMr!g|^eLsffepOLZ6o9rnC|qXpLXW3=b(icqI=+P3ZM0-$ zc*^2SbN?U(zVST$y8`1;d1)iGPU&}E7ymb(`0VYb>C^k^?d(sZ;=}ykUQ@VQts=F( zfjH}*7{$1h7=8~d=mJScZ$Es=C@-L{n4>B4SPgt zraZU((sC9`yjwp}?P|-(G_T2#@q(%e$~W8b+kWt$8IDU^SA)^U_Mk5P%iCj3px_8ZoTIo9(^)hi-R(U~uuVY_K# z=6%9*A5)`305G{`?wv4Y2b2n7_v3*yW#4370YJ~vD|FtfB?YJu(lRX%Zqh@FeEacu ze&l{B_dRF-BhrI1Zs@ap;31(Bp-%!#dPZGx_*0bYbjHa1Sd^-zyjzg6_v9#a7;yQv zIP*SKf2dFP4shG=|JvML^i$`?*vOALw1tWd#ja1&xc2Xw#%Tz#%*w2y9h~9mwzZRS zXP~8pQ149aMNhPup5VE~y774G)T@lf3RVsE$CspPMimIO1#C2@0PW!WQ{w)~WefL& z#1aKR&4FQ{iWIuEah{!}o{%uP-&rXIT3N%QLgu7X)!C+s?C;2x#ciCy!OF7p`xR!@ zy!w3h6yFWyQTnXW2ILV_xwg{u`cv^oS!Vr`!gUrF$AoE8u1m8s3d7NI#R?LxT|yBM z#&4fdRdeNiArVHB8_1yW*k7f)PxamD^mTi#!;E(g38+*R*)_DUiaTs>r}i*dc=_17 z<*%eu%Cz{avdF2wiGumWLc5jq1hB47QlQjE;2hg*K{*w>bN=k#IvBlZcD7PMOO1Z{ zoQ7oJOrUMxj6;?VTfv!YL3Z5so6+n_Ic1RHoHYRpZfZ-g!fi-zIt~qdc7gtA0RQu^ zTSQA&dI~u3r;d4^W-8r^Ytor9oVdo3r=47v#S&}LMwE#THbw7pJyALVg-=we9sQj7 z^`|U=YGGqevLuvM<*O>IK}~bR6r<*9=3<3@m6P3*U8$;fZSjsC8Nn}#K$JvlBwF=p z5MzR-_{ya8`*#3Kc?n6Qt^(*Ns?*8>O{#BtqU?a04|TUsZB1N7@YKVNor%@VL!QmJ zTN20^vBh5Jwob0RK2q%v;%=d!TTIZfViU@E1*JJUu;is=6Z|d}9hxF>3=AXeH@SDI zG#qwyB+#K$f;hC&r+|=FEd&<)O=n4yooB$zf?H2+Ssmh4o+j*5Hy1@B(dtQl;y$1PnBbd_rH`?ywdu8$OO-r5SRUC-3?JH=ArAhLxIMWCXPusao~hrFPf6=-!t+x%tfo z6YZ3x9v5OYx=N-|Tr5{*5nbumulZ_x2-Mpu52Tr(?69Z=$uNrHRp@FD#UO#vK06AI znshYay}M-u{n0Qqt$cb7`5ysKkC4{bOE}dcHQ4p(U&tTqu8HuBBto?#bG>P|hxc_I zbV@TQl-8S`z9;*sPwO5!)R_()vWyNVG|cKr6zlFJC!GsYr%Du-Ywcj|g?Uoowu0V5BbYK2D_2OY@=e=eKtT5Z38 z(WJI!HZuto2Tp{3JAP-wS;}##fSs#DPlo65&}BTM2(dv+ugl7SR;SOWTJ$5#X&R64 z%MXNZnnJ||xG6wY)1aWQhUdUjOx*9>=)eWVVu|wWO{?MO=Tl8Y)~ShTDKdF;;rU@2 zx!E`BiAkWY+^9-H=vCkkm30+yQ0efMdQ0&Bv4AH$W1X({TAA&4-FLgP;m-}g?zdwx zJknfeE$%+d3!{s+Sne=?kwTEBo4KzT`mn=ETd%y~KPnq4*N8n!w>wv=caEeO4b2L5 zoJx_Zqd}+%2T4lsdN7%ZfZ2kcA;NB!z*mo5)b#)kp!BzE%Ua}_kWvUZ2Lu!P zkwkh&r?yK$D&QKf0Fflji5UeL^1?Ow-yeKv?eu3kzT#vw+n-R|7g*6z$zfpyC~T|; zTXZ0;XLD0PPWq}{Z#`GLR;NR4b#ZWHTE}SwW2osFW^?b3rLy$K$j15CB7-O>(&~dz z%2OglC}2o9%tX_PWQXLzML#6w|V21OWz=ynjPe*_X!ADOV6kd$k4HYKM%Jow3UxRGB4(vh9Chbh*z7x7I)9^D_wKbqIMSYk zMFaM=20}phMknrr?r(qgZQY9pZ15as2hBTv)D)YYn&X$Ti(l-ET$u@(VzMbIn`Ul& z6Z_1!Bjf>m9O9s9*}87GQ2o`_k4{x}E}yk%Z7N@GY9^&F4lHuDpp~YI;Huz6qn=*$ zr%7)6B|Yn_E(IQ>uTZP?wJH{Xjyk||m9nX%3?yc-y!Jotx!ca*SZ=qwJ^7oh-U5IY z2{#yU@>_go(50jK3tC@!x&Hu1AT0t+LgZ&CE5wjA()X--!=r(xyIIz_sO1#uI2vs^ z_>dNd1y-tR9O9=})2@`?-Y8qvp-F(L6v(L8fr()xISP22GTt$4??>F<8^ODEbMAIo zl|aDlvHb`y%#!<8OQqs#$Z@EaoNmI)hHd)#^J!6Srnn)x6~3f4l1xU~)c&D$*5u8* zWwv!4#I)_muSbkibBm+bc?Q$;P??Du=!SjTb6*Sm_4gAOtYKwlNQ zr5)|PLACY2Pwdny-P~SzG;Uevv8-qEQeZB7LW2D-7`zsP-6K7+ZJw8I)UIl68ZP># zr2^^>4lJQWzr(LiFLN;sc`q2EM$CQB_JaZMhAU?7r)lyFJ(IYrin&&)u@Man-~uyS!xr}7KDD_OJ7?t z4!E-^rGD^jDoFyB1zV=O9bbB5t8XY$6s}y~w9r6mnK|l7erT$bLgOrBkaZ5zWpMXZ zpwil*;GFy{Km&VnjQ;@Hr*Sb(_xr`fp0&?V45b_MNe7of^B#j?(u01Q_g$@5Va*SI zUEEXHBgAeB6v#z%ZSkc~hSa4-{{WAMtv1z5nxbS##>=Q<9+Z#>HS-@5R63KrH6={o zSNi@w<&5}{Lc3OlAXji}Qg^7J z>HZo%oO0)h`J@@15jOPx@m+$5+hNyP1=0f^eX#sv2{aKY6dg*9cdp{6bNya*){mOb zV~9P61tu_OD1~WKHtEoQeLOTUlwJ{#WjtUipsg!kKAZT{YHMv=L}XzTg;s)~5Sjx{ zfbT$QLAJA~f+jGGVeg5kc~GcxJ|t`pPBc9!=dJ$$b~EiL!9~Bni3*Ks4FKE_Y1gM+g)8~%N4+J?;Tb>#;+m8I>r#A2TGw;ap*m{! zDJE&#+GP>5H(dMmqmSG8;&?L$Z{ZV9F8W-@Z)h(tKXpe%juo!p#a$7C~EiuJw| zR)G>cgh-b$N{mp|(MoutVij_HjsZ4$ zT%{x2J2k}?({;;Er|MHICoq^G#RTR6&NR{A``EPi&HQHY+t~{^i_qm5vY%m#3a+xQ zC~8XY(dE4j`N3C6|tM5i4=ie6>7Y#{(CwYG$FtzCLyeCxY<7w&T?5R{reqV}mG zs*og;#ZWXHQ(JDnp+=jlS)r`*OVbI;Mr0B*#F9*-Tb|;w)Mt{JnU`W}5PqX2jTyUS zsP_Dkxr;-y+@E}rG`%hZZpq;#NGV*!pdkw>T8a_eJw4h7Pc`h@t~AzpW1pxOFp@w< zfhS2oBFxlhGaACXBPYaXdgz;YwLc0x zWk>pd;T5sal&F29ys37f(pf1SI0Bc}KDQgCXu6-o*;@dbrC#Ls1w^+45go zL4KLI22%5mC6}FKD65AT6rcwEG>Ea=wi`;%w4+IeZaP}lgZ-qCiU+s|TCVN9^)=nS zwcUEPT#ai(oJl7a4)kC36cGITDPze?)}&)Syq9iFNxqgvbQa>&%lsT>L$j52vqrli zq(XXKorYYPnGP$0&_LX!N#NaUb+ueJqc1NTRqv+bO}fDp%|M!5T4n>a28M}(yg~F2 zMqBUuH6vbyv#sfZ1IwC5u&Al^DF~+lFuBIwaZh?v@Vp%ek$F-YwnU087VBlbt_4!1 zKCj@fvG3vmcKZfrsJnZ$T5c^UC^*}#AS=t)9-7`>-&3b$ShcPS=Ad%`6Kl?ZRDzm_ z@l#MlraGm6P>llbxumrSJ|{eaWS$bHL`y6PnwV=H!S^p=?E!5P#PaF1dtfhZRL|q2>IXlId_8@BaYK@Ai(G-0o_Y*J-k-=O3%j zq*!&no@-6QYBd=WFfj$P^}QReq_LpFX{~0{6F|aB=_FtZ$Q1xcM%eq~eLc9cW7uo6 zr851|w{9li8e$mY)xH!NA@xTKTl`_kQDN2p0H&3%=AkEEbJ(`as+8KxajK0i8i1G~ z;Av5Tz~Vw;Qerxl{@}*Ct#XT({$R?3_(E z<;Q&w+%8hwwjoewy8EuQ^Q^P#z3Ml*fk0Zhk~QleL$<>T5xRTBSSx01oKs)xG=%H(*R>8|_q>UFY$6DY^i{{U1#&}>QS4)x+`{{Xmn zdD6PlO%o@#;TvLQgh)uIPahtn^{(S;S8vB!IXEFF-vAyd=Msu;em+zLd2PLGtz6&= z8IOnNASW!K6rtE31LN28*lQrjpVbGx0TPix;Cw1i%kkc{{=Fkpi0#|E7{N10m{+Hj zN1opu4RIJ5n7}_cE9XJv4_bM6=~dw)$Y;;CF|-Hq@UQ$y@-)z{1rPN0cg9rb0r=O> zmGkl1w63!yM;XEMh*Xk(H2kP`HKhp9Tu9WaV+5dFpeB_dfxUVP@3}fb#OE54N(|%9 zqDqOc;a#g=Ax}Lrs`3E=b&lVs&NCo6#0>{dy-hk3@$u6tuLz``UESO=gx+M6!XeV9 z`hH&>N7U4*+u6o6Y^M~~M#pN?e>!*yQ)<&p9u#U5Jagb7VaovwkM1AX_}<{XqW4z` zFfUh2<)Yr!afU$0+)^&GGb~v~Ws#N{O3-IC`BRNM7%3}#4iq71Q3}^L^($r@*GXJk zwXc18DOQka@fwW!Q`o9A5)p6cUD^9bQc$=K4W{B+ zdyG_D?`=F0^v^upc@HK$uxepZs%|g1U2E<}f0X|WwL3W^XY+EN8|-1^3+NNjeFyS=xeaddze zR0^ajHGmm35>&M(ipMkb<6`QbsN4fzTD2Phs2Yj_gQ>)V71Bk>NJIMn0Q84@@0OSo ztsU3I?#;N{P8heGcF_*vr9=(}ht(=NzNsv&M5)8TxV0%pqjTr#exvkF3(B^)n@!y( zHN-ONO36C;%oZBh_}D2G<5te&^-8P*Uq=ICn_3T`80c7=CHl9^*!0V;B6x zwpS@q9ug%Rv}KBcp_qURfJ-Sobrsr3<|W~WLJlLG@9ZQCbK zTsfBR-F6l^p;~F%Q4S{pTjN%^;8PfN)_-al?qOxNB7cA0!z@fQC_nz*k#9tX1f}}2 zqpH~)aCLGP;*vQ!r4C18HrFPt>i)@PaZ%K^TWg1c3fwuw03;lUUZA1U(ej5qLDD@t zUWv74=X`4nt;ITOxe{7Q34sPnoFaYE_K)1DR-4{Ig=abbQ3}s)eTT0%*&oWudM%tO z5=%&Z2xcsHW3W9$AOtc1Q568{#nIlkbj54xJ7)D`X>D^>ss>VN3~6=>Ld=tkip&K9 zIY(D|HrvY=R@kpAQo0nRD!a@sa!3^cH3x=I@b!ux5ToWx38pbUU?(tr_t}IB-EvTtek=ELs6$+TK%asPXe@|_U z*tVm%?u-nltIW}$c(qeHL%+D8)Sud-Q90E6of?(JovZazq|nDcWUEh!%5qr(k=qa2 zU$K)r8SKXZYWHh;&y{yE>3zz*+h)Z~OTDfQ^fmt1v)>p(T0>WORu-CeN>Y#m@)b>h z*QY%z*xj=9r7G2c7uU~q%kfax6r{%o0N`4{r&Q6vqkYVOH|S;Z$tRoz>vC} z2*eZejhLr@>9?H;*HfgXSYwZDd!wEV5^9H+Dua!InH2Ii`#>4_A6RALTO;3$C6(euU!&{Qj ztCtAXp<+s&yAK`z07xI6;)kZSnk18+9~j@9OS#yO{{SBjmHz+@B4icVd{1;>%4Y~E zPZ9v?e-G)`T9wE8#-@1A0Z$XQZhyFWS4y=oaTATlI0sMe6zk+X1whu)IFtjn zFhQ{Eim@Vm zfY?x)ZYkrxjdaek0370{h93yoz%MwL`cjnB3V=B28F2l77(v`1+u(mc@fvGUz7hbD z?bybk;Hwmux#(%sAIgC2e7yA^Sn4KU)3>r5G$fXBML{Yl3jlzms)|ZnPb4TUv&CO2 zC|W@u5vCOw9VsU;qloz6v6i{i&ZZI%5NE*tQOKX&*X{Xzv-c|R-+WsRL|iu{yUD!X zqu}x4xoyKP(eG_sX7?LDfR}~s%LY|&S$=$okzJ1kz?T$h%a5G;x2G@mt!`V-K>9)wOnMX3{;9Qar?=lc=~n43Ul#@pya^ymoFhnG*qv$0 z`*o4xd4#wzAz5t~qU1#ZHOR|##lll)Z3}JdyVr-%wX*V5wE7LDNK(8xX2ZAM?7c^C zx$R6Qv+FerPLQCfDnbAjd`T*jk50dN+wXRYn|;=oTb6j*R&C4XB#@N*b7KR;*6rE3 za9*{(>_pnEYljwf!za9muQ1$|I{E`}+=1wZkfTk?>&&-ZJoPTF`Mhbhb6(o?!;MOS zkSWt&qy<78s_akFLM&K%GN#{WOxszO(q&ybP=HT44022*I9oC|^4o=q_j0mDj?}km z#9RLW(1^DCX-sgZ?RMrA*-JMCM^aj3s;;0Cy7FBU&vwuFt6Sl zGb)OlCVCxfI`?!Q+i3(jmlKS_%yU0U$~EcU-2VU-V)Wgj-;3og$zvfb&b!Tr5r}qa zk0L8@t+r_Gt>G?fw+Q7)4^hbmL+L0gQU<+C&^e7qU8t(>8_W5vs}K;sC(GWvDTwOE8#Q$0B|1*nCw9a zQbl8%>|3MmHyTuEQ!c;r(1wqyVof4?#FSvOly2kOZHGF{qT6HLF&Q&jnP~ng=I(7s zdR%*D!hC6%-1~zOQqi|vt(N$SY`)WuCTR*;N)%L8;J;IM9iH0h*1IWfO6{oNtiU}y zdU&+Flcm5Gw4hKW?!J`i`}=EF-)@x+DxfvtNbw^`G~93`f`udq6Ij~EaA#OMXWDnI zncFIhcaaTH9*ojsMHg4)TO33dEsm8YOxaf!qar^Q5SJ8@>XXFRmF-)7)!lYk66S7? zdcDF-LIKp%^&kl@0cJ!xuT`z8`qt=dskD*ABd|CC6q3`HSjM686vxJ~?E3SMM3c)R zF>f}AG2uvVd-noSY7KfcL^MT-aBwD2ZAnNhtB%PbJ<7J*cf4*kHaoKEwP%)G<1a0B zC?al9BwaGO#S47uJ6kFj6|I~FT7Z+LXh@QbOQx%oY@h7$>|#H;zW%Sdxdoy${{U`X zm$|(!B)&^wmRauCbei<84C6TO(Q{_ugyT2)UsFA6P>&_%*h(8(L0Rs7FVc?R_ZC*& zKy`(?mGtodv?V%DS!>gzy%e-~Pt`9b`i0f?cI!uNwt$Pe>QparQ}}ZIGmC-;#)6(^pO)3B)TIzXQHLzMzX)!GMQ_XU{C__kO431*gh}yurxT>^ z4@zzil@8wnwx#XdLv)BENs!U#i>LW2mdIvOPOt$LGB5-UTc zf|2-%tYC?$GKy-Ur8ghr({ICC6eqW~GC9P(EB*dGI)T&iI!(khp$d4WTq6hL5T{xi zb)Y_8f0_QhXznEeUus4a=8FK^;t!2!u=C&HT@T}$d*D3ri4;;QEAXb`znJNyieVUN zD}+o5pxkY}JSoz?emcuRaRI+qx-bFCC$E=){@?LBPy$NgV<|N;DLpGu;nY|0BUxvL zK(DZ;^^A!q5fNUUd_n0$2WkbsA;$YFpJoBR0}=fgHjpIT3_dHao##xLVv*Bg<{YCB+cbXet(RC)w;Vz=ykk zXsmXD`?gzyNxt9hR@vW4Bupv#oG^1{HLk^Hl!GOg@d$QTQiQuG2jih@EjUv|4=(h- zQnPe4_Dk}{+%#!>i$hyf;@1?yq85@cdxD~@dn0q&Ywh%(eQeU}M+I!uv|wg(kx3L7 zm5pRZ?xdF!FB_K4@%)-i+S?k|V0|jX5F*NPHv1Yau-R%8a34rt)J-e(lEQd4r4_GT z3iqPvu#5iy;cbg4xVSlfqC8L3NpW@>T7+twfIuOh$JRPO@W`kuYY0LV83{=f5~_kx zyDx0nS7xST7Hl&#b`8OsmOA`_B`Z|M@uwlpW);fqDnF=(-nhelLTbxkrYhEie&Xv- zBy|qOQl9T|bGg!Zr040>1DYw4S5ri_9TN(QiZuxIuGPQ2))cF4)mEbj4wzT?S4Lzv zGl`ti8@G1*McRDFDrK9st^mg-=NDH5Sdkq~#?@%YS$;jz?{g6yLw89Gsyos>MJwuk zSs}*$R5qQg07G_tg*BBt5u7pNQc{@-u5w&tU4>(NTWZ7L6mi-HFNN?@U&tXFzJ zqqa?s<@c79Xw$9cEjopu=mtdwbqCU1s6^v(IM;Q%H`qSRNR^93gKfFYW$Bpp<;Ayk zkcby1eF%^l3Uz5)wwstsdzCnr0!c?gt_en+Yr6GqZ7EcK{Z-CBaRtOMj0;E&Wk5zQ z1=*m)-7jxz+}$><^*}b-Kx<&|HCr-C;O6j=CmtHZ_lfU8oRS;|R*0`TaI~=yDY%io ziurJE6R;xOMX~oDVK(6Kb>?UT!Rn<%ZBDc4_oh3>>$(fg#VML^W8MHQb95$RK)d%0 z3rgi2+pPNAY}t1AQMPb>O2DLykTXE(#*i?US;(M}93<8(u*wem{dW$qR&Tc34(n3GY147NX(5hr z1-9-eHOWOsQ&bHl1cpf!UY_ZzjsDDTyTE-NsJI;>POj1Pfty(HChSuHhC40$e^16S z2C@#zVs`s&rp1Zbai>)d+S3e2Zz8$cmv@+lS!J}TGMu(0rKpmlz@Qogje394y{e^8 zN5ACUOX||!YcRabygrpbG0t`+Dv*k(Pbl)|ua{KY>Rl@;V@NwiKMO(zX{%AJ8dgfo zFpym1XRMP>l^tui6dgZ3UTF^qaKrMB9dHWv>?7QfQRhz%gJZECbvlq>I#=+9#zs*; zPM?qT{PihCo)nsVyBJ9Lk8gBNHX^3G?chZ;Dr%2OGxW+%#5TN+fcmv_)N$3ITq}?+lOk-2Z0(^xj;neN$+gK~d zoMQmP=lRy2 zAO8ShrgeNiAh;Z)p3LD!ka$OeT&5w%c4WCR;l*VoZpxPXapSa+{$;xAf&~YMUo9{U zt8-bjC^gk9y9TruIPwh&Ol&}Fbv%JgVo5+d%rZZ7ebUGB9^7R3ZJAQ$LcAfUH#@l> zO>dPAT+E1YL%+Q(E|Mzs5|5UGy>-?4H=?&aqjIOc?(AhZF{eczsmknKQ6$+Y(Kk+M z5PQDuM&ix(cBGXfQ-p-4;mpisDCVm3pF_J`@=QMY^y4tV=L|nKvdd|w8@R9|`uL_$ zi+q4lE(TMLsi&Gzs7!`mPgIJ0*7ftF-|4TZ*PBZzx|Z2=P34QfYv|Q^aTL-;^lBGU zc*UeQCkXl}=V9aG8*#J5@5$8EI$~+LhJo(%)4rZtaIp^>>Q3 zM)`E^2?UG)Yk|U2)TJ>oOY44sySKPIp2DHD&Zp4|7Za(dc>d9dlxs&4@4f37xY{7x zuNP-yW7hf6rrcX$4Zgdj+Go~WZS6;j8+Igbs7p=rd1|B1DMq0ty_b6Q{=;~+sa};j zI_o{9tv)8{Yjm~2R5{2>puhnX-H+5e{hHyFYr3JKO`2TcB3w+t64HeL;W%)o-DC@_ zTTDl;sdjp20t3TUFhga+^apK>KTmCPBCGdG#Sq6%RxNg;!kOpQE*`tJke> zMWTtPPs<8HFQ=$0n}O2jcv_$VIpG~J`o%`#l^O=BHLfAY7KNBnyffn|MaJLmy{ukz zx!9!Zu(jP)65PX2KGU}cm|RIxnUBS_Hw7<6irGihI(U|VNgk%q(aTi&!ht z1?m(9PzlY%7ZuVopVJSmJ#3}7KBt%bv|Zr~GN?!+Cicz{9E;qxSCumDu;iC0xcru` z)~}&Kax6JeE>IRj+bNxTmT za>ug0!wJyAsS9a8_f>S&!@}0cWgTzRZ%wy7-r}E7^}8I(RLfsV-RY^yJSMYG(8l;k zrhG)>oNmLlS@tR0`%K)&D4dIBs?`nY48m=EL_1_ut!s?a2|@kjC6ctzaw;6CNgDG; z+eYH<^Z4n$rOSx$l2uHAE1Hppc+NZS>s75_pv^6$->Jm_012678;(gJf;ScR?#!>T z@mwFc*-fV5WXrpqk=?teljGM`giEcO-aSkD=hz*aC9;0=L>VH#r9;cw;Qq0_%bW%g@ z=#MIx9Eb(n$yna4gDSG$R9S~8H#H)wx5_DMP!ts{0;1fM4+S8a`D&ND^q%{$gHry9 zHft)Z@l!qIO{a)(3B@6$JL^m4trsOsbeTKyJ>%OMf+`3}97sJk9|ArHQ4~oft_X^~ z@q#$yJ<(IC6zg57x8uKtrKqaPYnk}t{b4DGB#}FI&L$gIr&_9^~cE z@r7q7^a_9ldi*G9PaVnA=7I{0i~t-&O+b2+*N*h9JjEzCI&!NlK5@EA1K>qY{YkAx z`|r}dHM5S9$C>RYCbHoWK05)ppz^N%dwyC>kQ{~rQc()@=uZ0q)AJMrQ%IpQZaCu_ z1uGEvnws*sy zcSf!NqTnJ@4)xe16)2JdQjxh*iJ(eA>Us?_dw`Np2~Bx(KhhE^aLcmt`9dq2ce@@Q+uf1>0D0pd z3rY%LNm(@>06g>$L41H?s8mKHF!Y+I0#7`MRr*`l=b{fI-SD7Z;W9U8?QGupB>V z?ihDNckYb;0ACnO?X62@;Onk3Rzi5fhyyWJqyRv5<#JNM-+d`w-kWX>B%4J0%+Ii8 z2vl(t!;c@(FMeqp?ECEPwp|w_w|C#Q$og*QV^+~;yxHAf(!%b33mQtMqZPe6qNF!- zv&mbJ+2zyJjN^-KM6}|7;vTp9FR=Q((&KKv1)J5GFSD*BX}!b5!~Tb$Bq}N>j=Sjh zt2?iy`}?mcH_q5Dz-84Fi<%6c&JSTFIE4_A_IKO{H{A;pwK{(G%9|%pQ+*4jJp+h3UKIn_?8;?` zGcokHXWljrvDxWwTMcGbv#8ue%T6VvVi3vF!wAE>$?W^FUHyx3x;5kKBo zHw)|&}~`}Mc<;mTI#-;YiV27^Y+SbAH!6ra^i(GHE>px z&M7`$%=3TQ$gLsU% z$|z*E!X-Ovl9$B@Pbwg$fhTQuD}VBPX`w)W$=Fq;bO2Js)0=OHMqO zo^`@1mGS0(QBM)3TaWoQZ05Xe_AIRC1q3*NQ8cM3APypF-xKy<ieGAIM+iCERCV?yt)17C7so2O88_3E!UrBmz(_JL?+->xH-Nt{- zTf|tW3Sg*e;-D`B9zODSde3UOys0+|Dl$rA#T80lN>myFDneA0q!1F8MSfw^eN#3L zm)!c6rn+qZ0KwD%D5Xw8xS`+yQkkT5i~Zu$V6)d)wA{I+&Ql;UB(EhToVh~b?T5AZ z&gSHJ=5gFOuQ89naf_ZIhRJQt56WTmN{xQWA-nQ$W!BK-Xp0q7i4Hh8(K`Au=qLEu zY0|8t);(oQUhdPb*4f}6D>l}yKlvMtI!HrGIqKj5`TOgaulHR;Mz=|HeQg^viDk{x z32Ce_bs8rY(ji+?rY{~ABNU#8yFUro53xD-l($=O$&|OMrzA>$_ZIW!wOZD-6J7P} zPb7k`D&l5O9^V-9GZBDk2;Lk3ls+pA*Dp{I*nF`ug5!*=Il<(B=|c-j!h(`Q`gl{O zrCCjs0M46&5JH2*5LH1Cvt06555t0fFr#C=>AGXL1laP0CR}8vgjrHbi^^>wDFt!} z4gt4SR=TF|ewggL%T4au-?h6Wua=q}{{W*8`%{ET(%vp;JW{FrjpvWB&|fFy1|xO_?0ONS2Mr*sm_2oC*e0N2OLy41NPHT*Mx13ob=e5tn7tw{K9<*f-P1S1~Y zqbC`_4@3DH`E{uC+giI>a2ScrJ{|m|2!S{ih*RPCZb?6mk$a6cA(XNhapXD145l%R zUnI<+t^O!Owzu<5Gt=Waj+tnekun`Rh0mB%v`JMGrJ=Y^+D5&K)8dBpo= z${XFaZrUT8wZ$e=v!#ZvC@+yAt9sI)g{8t&LK$?0D4rvZ+Pv2UguyU8{{S2+j$v-?JFLOZf;v|bMN4^rtmu51~+hVhs4yAV-awXZO9`!cMnWL~~up%@gC@9Y52rQ}_OW+=bTH zRGKex)THmCrc(-vm>+ys?AN=-oVkCs^H^_U*=#SKO_F4U52->F5^fmu!jv&S6Tnm{ zALXi6kgmTrJxuf?sQNOqzR9Movr4tV5YjT#iia!{gnR!0q5W6s?!B-Tt*SPbZf`}Yy0(WKJt~xw@YkJgMcupIPU4H2 z_BjY62})BA0EvK$-i;WDxnW*=n@27AtEmxKzR)S0H^y4Jwhp z=s+M38tFFE)>Ptqd-y_Hv^GY6GBMMT&c0_E{WeUu>b!$M3S>qm8FxQnoFo?M(jwZf$Y` zfy0Q!q=~7LXAU0!05VQM7nCkgbs#gsBf`iR`5nr@Rt zQ2ce9%Q`oWH0!lx;c!e($}-B1Xc|hmW9;J&n-b33n8P6w(v__tN{;M2~R?oJ`tobt#Xj8^O~a%>Bj{c-Ls|1c!iRr~sD} zS6Fb<<@v_#?b4%tQEKfsG-pfs8ZnYT{@f3EGT{@HZ|GD&^lSLyJ^6cL@RF5|NKzJ> zY+E5hz95iw9953e^$r;jpE!^X)ZI-gJ`oy?{{W>o+<#HfT#^_V&KOQ0b{m2}!=*nG zMzwJoLVZ!GD~>TQfbrkVQk3ckTKQ{5Qlr@zSdm7XcvRN3HT?W5{hH8`?N66vf>}i( zYu2>z9R)lpMw(Z2wB$z|qbI|TDH94%jmYySdU$|0>U8C$KtwCs44_pjoJBSK#@o;< z^BaSK^oNXkr5Ec&k(v+XGIS z7~=2K**I>O>#Aiq>0&{W`7RLxBHW!Z)u>Uz>KPA&tdLD#Qg_b8{W+b~lgHJ~7p z00u!5;T6}A_Gx#SFx<1Y(+lM;=#u5&5fi9Ck_xEy)Prp|cHQNii z13<3q8jQ4n+E1k+_O zE5)(lRS7UI4G&%%h7RgTB@0NRff}TBFHc%-6klyxn<~+Ku$yH$oJYDDd)lY!meFsY>A6 z=nG-PvEr?@;~!8x0kXTeH+wBI_c;Fmwj@`Q`^sa&J%Q=}0I#p68E@1zMZSionfqPs z{iSj;;A1qpcfNmd5^b0Q-MqXvdQ!|pEVn*pZG1>Gs%q|dChPXCcQriHw zd6g)rlTfdRT5NUFn@mvfks+2|$e~oLtq2$|Z1DL*_p;;hF}Q7UQGP<2Z3W&H;p54+ z&&mi*LQQL3V4Y4TLK}@)p(JJ|pVAauVGEHg$aH*>nhtto6{H7LhMA}Xi7ItoI}W;D zg%$A?nV07nc`gf!Q-{JFzDI3CmPjupO!}|_65Cbzxg{w|k0V-fPy_+juBT`QhNee2 z+M`B*Mg|l-NsE4Qibb|xVn?_l*zj#heTE-)Go>k0Qlghr$_uS6u&-63mk<2fXLYL1 zznw~2hrKwaDzXMb98pS?g9rt~x3Vfnz%B4!n+7%4A+raRqL*!#XP%6Qod%A*2I`BO z5<*l)!~?kxQ2wZb7KnYnom*&Gj70f%NMr`rD{agPDLF+Yjl~ zdjhnAIedsX_lU}%sp5oS2`j^e+VM7p7Nhuj4GibvH_6yHz{lFP22g?7|Mdk0je zT+k~}8H9NFc$%C@5cZAPVFk*^<&gNu#%kR68>(JMsY()1g4=*Abdu7#?02OOtM#_F zKgDeA4#*Ot--!6cy*uYNRYsx2Nd8CR9>%1y{{Z?*9Du6Ou1Rqf*aanBKethL7WWpe zTFpkE+&+`Ze>irKEQ?c?zA z)}eTKqa%UBAZg|O;+u5dnnI&>36iK}GxyKo0BjvRY2+)^_)ydO^}7@TU5XAy7bP-eCz1Mi%R9X zZ9+-Jf0SzFPOjZ!NLt#pt)j-JieLtV!Eh&vFL{V(dDUKDSgVP|s`BUC z2(-wuu^@a8oOZLyW_ zt9`*KNwOZ?KUhwynM@Nk<;M?ng2NBJ-!8q<%GtF+ZO0n$Xyb_h znhu**mDS3X23k^ABu2T;sObrzhX*<&Yb~k>wEekuN*0LH<}~%f_WFL7(F%Ny zX>NtreRb0v0kc1Q>T8zKw`)$8j}z)R52Bl7UgLlPCT2jKS^8t9H_ofv*|uzST~@p5 z0J9AXnIIB?DIfw+6a>l>2maYOZY){8_f8$Jyt(5^b=NCGoJUR>{G)i(E2Xt6r}6AL&rjufBlNYc{Lmhb+PEu`|;~MOME^N*etY~ z@kvPJg`iPma24tx04jVw9eN3KKwRUWmpKbrCXZsqLd-WOI7^B?nrafRTdiRPZAuOx z3UnKuy2C<{FmH0FGa5NUoW>o#P^H-I@#3*-jLNt>Hs>8rD1r~85GnTo*aF#C5H=u_ zsY*@Ki-IS%FoCU{FY*}^ZRV;|iE*^2jS31>2F_5Vgeg5wN{zJYl!)S=ETdx}0mUQF z+KZ~K*#w(pz_*gO6q2qbCxui{K2?0EK^ts$^3vOl6JFGoNPwa-Nkg>b@ITTWH2VXS zBQ-W36+VO|#vDnYcZz;ymH+^_lyp!Ur(14Kp;go?sHRF0!g3>$0ZlLX}5Z*B}+Qsg7WNP?0DQiTtxj&-;0N zeKE{us;3xP3JTeNkxAo5)D2PyrBZ*ZRlcU%*lKyS(@TW7FMsC_C_Ik{QazstSPZ5l zAV-qRGNC@SuhNp!QsZ*s08-<~LyZDSpd@k!uBirto8n<2vt&_Pec=z`57|^TT0*q( zm>$UR{{Xia7QgMwyS5UQl_K8iT)SA@Dm<2jK$iMsLR0DklaXF+NKVN~>8*|Cxn0v0 zPxpNK0oE!?AOgI$5aq``z5?G1x{VTc+zdu6>lA)&4ghsXw%w z4#DO+kojjbU_S_oPem2MW24(U+b9aPxzrL_V*u0jYy z!3fBV@yaBEI$|SQ_>*6UU-%#F(iMxsmjIo;y@pUaQ3GD5`u5m)AHz$BnKeO>;Xh{& zj&ZO6$|y*a8XR|}%YC@{h%aPulG0Baiv6-(fGUZ z_77}ZA!66L>r0blizIb6q#`&&6K0Q)&O$QX+9-6GWQ zXaWKfp|>4H`S&+~y5;A{pM-c?2LRmv01hw~wwmb!UmQt1`9-2=n)rE?JL#dq{{XI~ zB};X5AgF{SaZl>#4#QG5=7loXkgf=v1R+pVAprrS9^4|+cAXC&hPf@L)OEJfTU&&V zDhWK5MIV!jslJ}sTh`pG`EMw~XWbgS`BD>d&y=x^eD^ybx#qWZKyBAnIVn;LPLHNS z5~UJ^5mM^Py4TBXsjjVKYf8$4Sxf-XCB`DFYN&Jhuj$8(XT7?^TE}fBYS>C-$pp6I z(fj+5Ldd5C7f9VbN>2Of8@k$`Ybg&NbS^AT{lvX>im+N?H|Axb_)R7hb<8j1$6=S)^E?cv{?MIEv>#|AB zI3Bd)poipum!yP6;+YUTuI$?p_IBhO=OV5Y+x_oD{{U-8)KyRdM7G(sI`A6RK^Cp| zxR2V?f-Wc6BVu1|HTJSswj3KE?T$w`y4Q~Ly92o$*zWz&Yr6LXzMba0LT(;ImuL3^ zlQnlcY{0u!n$PmX$1O40gAJCDhYOz|y-wCTktJ1ygcy2Gatm~oZmNN<{fukcML<#7o2H>5 zj17J;u&g^ZnUKTAS7695_{`7aax9`$Pv>wx-Clqtc382{qQ`Rkj|>n00K(GMYk=Zv z`EaDusO%r({{W{QC$Z4=BiH&ur8?kLvDwr4u23rtX0Ec+Bc!D;Ch~rm<{Rg({d3fJ zkLce@Yd+rGD{eOh(sbbOD3Fw?>HtCwju4}9w~6WTTR>>6>mK8fp1^5vHu7{^&vw|J<{!^KLSvzmY0r1pSb<^V}!31gZZ z(ocz|XL|KNYT2&M#^8SL_3U*&vH(^4hExdp7h&3&_Vq$Cr8kFED$*&m=&H?6{l9+T z5q;F>9oqKC-AsP%+TV5^mAT#>hlA&LJb8KFcl%2P#^l?w9EvV9pBGSK^w`o^*1f=;EOVJK z=AAAC_=~MJDtk`zbn6>Kx7ixbEwe6r{>`uPHio*3P_~#Mt@9P_2-lSnwkVdgL`odw zk4*_nt561%28aqzD%DF>Y1dc!EhNwD?UYjRM;v1=u_Y67u@#bCX3cAl>Xy`!OuM4K zsa$yiQd^A5E93KN^B7B2aX#ezV`bD)xB>5nF=&e4rb5suRT2#phkaDih^d z2a;QKE08`QpDk8wZVhT?)yKvJml87vn8TD0Y9BC275DM>#fu)2#9WE=lqqe$MDSX` z2yM~J;1m+7?Xd$=JDn<(wzfGydvgO4Af({ef^jgd2@XOjON^!VSH(=o2~|+ile!%M z@o`B|p#yqqndLU%62eewjP zOnTrf7*hnQ}igD>%=pdTeXIPN)7FroG^uAqe?#?VLPu20|lB zno_+JP5xqk4Lc7>1q2=g+Cu#B$`u4+J9CD^+*__enQY;kCfV8@;<-tSJVshG1E zP-gf$Z#tPC6d=?u&^7pK|@Z-O=a8^zgFcTYZX#t&vcnCpx6B{q_hCp zBTlaC-Cor5E*@MOd@cQ;a&7~^9&sPwX!)G~09f}p@&R!uJd#ZU)B9v5pd~z$xL26~ z?WCDZ$eeg%KbLf9<1z_fgrdOlDqk4MWl8`kOH$OHKvXD~3V@|I-kf~3B)|g+tEo6A z;n`sVF&RKm%vg$&>Xw4qRl1KZYEptygbj*PQV-&KjT)*}tSPYwJiY7B55h3-3l#i* zOASZ88B~=+OgNsYa$}yGZ8kuwJb)y6Y8(Q$2dSyoQ0c9?v>0l-Z{zdEBWu0SZlU!b zkcxTY7RKQE zB`IGonaz|q^5OtfoT_N5fl^NN){b~_Bm|ZV!ZZv+2%m5xCUxZuImIl8W2H^h{_5IN zR?t#N*`Z3BngdNfw?Ru%ss;Du`9_5`tmJzyWQ5l|b(=cjUE^>f-tW z8XzonG#Dp6FlinFf2B7LPfOlw>QlaT6-t-8&D)H?Bmib9QDzLL!649rK#~xV=xxuYcHV{Ce#>lY zZR}|@c-QJJmZ!THIdH{RK)K3whwe}A-;FH%x{ zn0rx#Ty`AHi#X4c^Hv=H03fjzol;n3<=XzGkjnz?Ew^pj^j}MQIk4vM@oCyA=E z4e^`_3R@a;_py!G{@8t<$^F`QKfM>*V{cQum-jMm1TRX zEpTlsYK|Z5vhJV&(rFc4MXz(*UeM_2Pw4tSlJwZ?9;NawI@aLmv7qFADlc#))#^-& zuAs#z1L(Ekl~4fqX>chfsM!rt)Ecl%CsxqCU7%|WV?{@_X< z(}r=F_7AzX{^VlrWA`;7tcKQpiezaV1HnzFi%L*Y{b24q!8G#KZ>qMMyKUe6wV*$2 zGP?Sf|XFKijowip;Xz$1Gwr2!(8KX zqg!viFa4{JKgdL#A}dqU;Ev(>bBjckziL=v#4Tt`htg8er13>fJx2!BPl2xEuAftF zJJ4!0faI85dxt&{m;@9H9_aV5@HABl5``%w5zQc}Dgcr~$lARHG=*COOyMGZ-Li#Q zQzL|VWnNoPq}z@*+I>OjkhFr#j)?}pEgcm}C&Y~_M#aTk&`D1gGasfY-wHOYz!Eta zvgU|wsW9^!dl7~~k20HtDck}kqALA0T%h{j>aGOjHd5?&hdNlxk_OL4A>_NvyYM(#D|R z00;mXA^-$bDAlOoYB>0uEx>qCu&q)!w>|`!WmD z>IW`k1dXaV0*5gkCvT}!jyBtg=1Ci*5`>e=fD)cW_<`Z2+qWYFoIEM|e@H_U+ut5E z-B;@Zw}^}SmJ;0po8GD^+Tx;BZJovcBuxE_qk` za=_DWM1bH$!S_^sHK}LjX}1%}G(lG)x)MmB)wgQt+gnRtKIV5X3OP&igep{X-=VmE zeWwZDYwBF@_IN>%U3Jh3%4krM5S1wd^tP3Our)NVO<62MXxkSrgfHjqFpWSo( zrsW)Q;~JaJ{@9(J&vI__XT9Khe{wsepWWqLn#!&+WjiL(Xi5;?J!?U6Yit&LooJOz;^2_;*8f!99lIy|{S*nA1(TF&ur=4yM6T!rgp2H`r~ijuI;U?sOVvB z3RT?ETA6Vn;h?co#=xbGd&h&@-Fz>4hpD!ni|P%|!)m7OvevbF_YSJ+OuBs#`i;0W zslKCK^$JMB&l5g|yuIBB_P4fOjP{T1zSHgN+kdq@_uI#BY%!v#7FZZ8o0Kb+(Z<pIKj@Je30U8KJ)?jU-Bw52KI-l+PI)tzr=Mf^C|@+Sz|yhac7pt7Q?SkdJk*cx|W@5efOuX=<9H3WzUyg$hgz4%0;2VdO<1> z9YrIW?|UBKn)g5N9XHIm)Xc>@MUTbp?l)z;K$MuwT<>Uwlx9~*ZOuzeNL=fj#v+LU zDhoxwiWEY1^b`DQ^zN5H`d@Bt>4DVSrB_|uscW3a&9o^O1z#$PcvObD?h0{^LF=zt zo~-MKi#IOGVMJToNduZdHER}}>O5%#p)97tfl@E&`)1&ohCTFAEf%X$5y*``+|nV) zZN(t~tstdLypW{yRV&t-?t_fmd-wC#vK@CTY%PgRtDQPVL#VVR85|EmB z>S@KnDY&DtCy0iO0FyKTDg7Z(x3*bY0R!b(St>3qX>g5#IG!p=9Y*~tt=s<R($>y><&K_<&DwY3xh2kL2@;cZ}sfIw*;*uJ?ob^ibxb)!_f{9VS`DIrB% zUQ}1m#G|!R;$BKhMQBY%qAS``p?2m8F~m4?o)GSdbw;R@ljGYc$^EqENy%_D+nrr! zSYKN%w&I7Vo=z#bNDcm=+f&e@o`Z{kYl!vLkh0#*%{Gxv;j7DAWK)SD4|&Afddv~-EOHADUo)R&?#koYxGeTnt3h5<*Rq6+h}D9 zo2^0Ps^d+7;u_Q9a6jsFmoOqLd#rRe(YS%B$DTvjAr9^R)n?TD%{YaLHyQGuZEmBB zX$lRc#IBqQ78;-f=H8m?*4`GD<_!7!qP*9y(KRy|BrdFFEIVn0!w<5l2{PIZ5k;X* zEhCU=DpE%eQ6iK9N2ZshWDR#c%3CS^aOgRX@Vys?e7~e)EacKZkxX}z;UVJLQ`Gee zn_m_BMJM%Fq27r)m36HXPfJm<_Cf-v)u#c=zwwLSYmzx;$K|-mDwyPO%1UU0Z52)dXNPs2_weaMO+?jw2jDq%IR;DeR^!gc0b&iqp%eQA*x% zK`7$ksuRqLs=I`ao9aHDO*T$rm0U>ncXEYlw7Rh%9U(ivPUyWMJRUsUQA3Ub;?uu0 zm8yiA?n=~YPKnc3c$p#M0#Sksa2V&ylwO@_me?GJC9H%cqfxqtUSH=l0F&XSYO(e++h&D z$5XSPTF9#6p(|RFNN{?gN+yLNML{F`wIYSh2`Qh`@`OkLmBZ&2$jWNq+M+(-Wo=Pq zv~qDBc?6|97M)R`uT74dyHd<1si>U47|If%#T7W9j9&eZB;2C7@?KINWJYmGX-QFO zHB)?wfKMc;U#Qg5xu9$F4Fyrmx83Z&T$Ch1$HtSDrvK*thIPN6^+U&e<{n3lg%UN+B{d`PO zd3B!OG)?AGkkju>YCCNaS6z3As08Y_)OVEj{fhPeW{daj*P?(_d#bY5twd)wv}!KM zPZWvHpSP=1b+)-{3+-rK+M1;SYgp>+XxEZF_*=w-z{0=pr`d;aJ;3%7&)j~%#E}!; zm$Lk}cevkZ7t2!#a{mB3DY3f6$2IKzyq8(^*zN_U(98DtYFE>}dABmksEKZ!e8c|$ z6+K7Wx=X0*^fyuII|lVd!&969W!e(L*BLa_m;pd_K+)oJgHN@;$!(&Z`BvAe_StTh zp{%Nd{mLW&*ElHDTHu6`U8J-GYfL(Swm;nSw;y!>0B zIKGMvA%v)N0)E|C0-jkuQ<@Ql{EK4T?W^0yRa`FqxP^DI1`WV z)DPS?+uGLE1|^`8Qi$f#$4i0{fQnzM7R;g4bnmG(thK$fr&XgOShVUYe&)CdVnJNt za>XpITI}&-vf7vEgrOx!JcueIin&mNg;SMxDFExbI-5h1TJq%_oRg@yp&tI|Q(!<# z90CsRr7B9dRSzr++f|34Ikas>5)Ma+L5x?#Nyx~KqP-_Ip znn*5D@3*7qWII7r@<~bKL{U}XYUfpfQa%EjLgmKdn|P%7%epjiac&YOe2);b;~1}V zF&lPih~F{k?fT5!AD!f*gDZOesifP8xb5f1VT_7aB&zeGRq#iWl zG^jjC{5~+*y`}e++(mP{PnYiSU&6N6T{{Sg8)Q?l_ zqjI1w?NiMSQOCF*SjLu>i%ybKd0?>a++x_7muq}^NPUaMX-EmLG%(|-T^ad6JPBAS zAXL_xg)X^$y*ibeTT+n=%wVwnjSWx`bEe>D!?rP*Tl0z5OT#{lMN74~@))=!JgUj#>5}kK z2`Nc)69k<=%hSmnbWb2jn{g>SBUvSm)E$Rn*1e`ddnob-dUutk|cTx$Z z;$85DXW2XVJM7u>UQ^c#{nkY3%HE@&B_$j{QjpRc**+Afh}GX@wPm%7C^Qc)n{(Wr*ZA`w@Ii@qQP>xA>I@?kb z=}@2v8}F+f0*xWZ#HpXN7-p^o8Z`_E zfhi#^M^aFP{G3m!Pg;YiN=|TT86Ri$j4QRML?V6MxN?lT@|NP>VZ6yJRS&NuC0xl~ z;R`B1DIlJLqz<}%$B!)$Aa;#Fg$+6966W$$yATK~ary$HPb9~pIH^l@M3Y`X{HNyI zPOR7sRKv321!Ve)sl)YzChIB4IL)06pG9%+uzg-?Q;xcqq@XE9Nl)#RxkW0SLHzY7 z)`3yZASnhJRXSLQ>eL5sW^n0Vaa4p$i6Qn{efOLpVND<>kIEvDYr!|zv&n6$Ow~ngWEA#UyV|opi0LgRGekY+|8F;&bi&VK%$QTdX+ZmJ)%)xIjtf z6zC~xyH#9MN~VUIcT9)4ij#L~!f37pD$Xz)zyAP5c!fQueHf3pmS-rX3n9e{At~px zX#W77w5G5x^YSEE%MOn7<28E z4+vEKC+E+M`9p*3k88!!$#uC$jTsk?glbjm0LTJj;pKtclp|e2g+fkNuYvMxC~>x^zTX6Z=<`7 z;{g8vn7lNv8Wbp_MxtA_F=-=RRKXqzheO;fdCUdNyl8GcZgrba7iO?!MaC`Xu)&9f>yM z@Aumkm8lKl9^t!NadC;A!|qHRa@@nHk^Ia^Vpd}kD-Jsf5!X*^uXHq9U1D_*fsZmIpwo_`6%GwNv#q*Xp251l?_<^WMZ|^^;%XJryhbc1 z>K+oW3sY`5_jda?_Yd~7+HZM2+-{HFuUq!PrWB0Sj3dNj6{uD9t9`0q?Q{-;mwj?vTm!`VUQ@)WDI{{RJLO)dver1u2X zPNQ5yTnifyy;;-iZjPx!f(`d>F0ViV{^JN*)B=@9hU=y#MOG#gH)|@HpBmhxs4RM> zQ(l{eEx5>NAaPQtovM`(Ks7q|ACy}1$4G*QydT2|^SeoK4hcRB?1gUJ!i#JvEvILj zTigdH0=STcEgKfnicv)DLFuK#LqWw7Hqxh-CzrA_CK4M{Eu^8pki4WOict#+{jMud z0FnhttJL}HQsR>b8GgJ>X958Tag4U!q3N{$04juvIE9L-BXE?SLZp1a^&*s@(NOqw zj0z+zNGn5zS#dqFjE*y{r98P6w506P>Yq`+1aj!2(ed%|(>jfDD1NYU#SiNXf#Cj0 zG=uC|^)o3PQk5&0rc@FXc@&VUgt=dpDM+A7y6sMyNz_V`B)H}7@8KEH*EdV$!@K3} zi>swCH^tA?;x7LX>Gem>aN{{Vb(hw#qjN6Mo$ z>BhOI(se~8NPCLFP^lb`TCc=xd^LKtt}bl=9i{W(3>{BPiwubpU&AO|`*oce3b#6! z+;XLbp>A? z4f`7I0~r95Z(Mg)q%FeBZY{NNTPXD$TS{|_??x+CQ`FS&(@L_{?XCy`3Qr^Xa?TKN z2m^3Ae4*TXd%6piiuaE=`qw5fb>`Bgg6Rl8s0rYtln|Qntp=FyY&P}U@hWcN`ut(# zmY1>2;up8;7&dv`44VkIXLko#rKS!wlFy4NO)Qym+O|tfWU^_+w<5p6W6Y7`s1gNj zEE98_lICH>H2~I}at>+>C0vBWt!hc4 zxm43t&Hjx#uBk!8_}!LAD1B{J?5XBAEIrYi-|tD2kUINnC5D2KntZBhz)4ddt7gG8 z2gg&?X*P|&mO_EqL_q~}wHy^WcMoh>Y*!$gz8i9BxXGIvCYfba5C$(;;lckmG51 zdTzW?^yRJug#oayj-)7|XYv`65_x`087?}Di5UC6kfKjls{CFLvbM(pr<6w;r~P2s z$pK!V1P#7lJvwO(3N!p5E+mYaPjaR`-O)YGwk|fenvCjRHs^T{OqD1)vHO2eilnyE z8#VcW3e)>{0Ps)J?0>8)Q8Xb!arc>iP~3AT)|@gdsIIj1gk-HYCN`cZAreIt+AGBX zDZZ!m9e^8Zag9gMFd{aoE?^)9)QjB?z9XMg3dps%fTIQ{sFVN{N?So+1SjV7$x$>P zr^isKq}0+15_@*W9u||QQIP-{;orhC7kNCEqk@H(9Z_*ERYW!bP*Uic@dAfTnnMYw zLI5P3c|cK7@*w;o=MpolM^cK3aZ6EJLboW{A;g7pQbhpXqM&K5TC9CtKes7o!<=Y} zawU6q!V>(Q{{UX#@({J4ApnzKoREbq7Sz!yDJe?b=7 z4m2ArETzKA(1jX>)xzaE9xC3YG!>_olrAkgnt5~K3C*XUEDT{8b+vbUWY~o&N>H~{ zh5CF*327=@id8;yMNn3ir;e3tMvw>3wBtw4oTPa|X^LO&4SiLjQvU#Dh5Bj#0948J z(kVw0=TZ`($bbO^Q_D#_1=cY5cS3aB;U{1)%gO^N95m z9Zxf4u-tENG3zW*g*e0oB)LzMm*uBc4*pOMl?8lQONrpP@`c>dRfUcxN>7l7x7e=c zcK-mqorLz`-cHj#7u&w#cB29AMhWPiFGIFpEO92AeDT4ei?x#QBtw{m1g#PyFOUaq zd_(n`)2KEdQ@0jx4|(0)e*4DMAT`g|P`!@{n;r`U<|%`L5$v9myQh1xz03{r>QfY4 zG6AgsG!O0a^pH8GP_OsbKE!XBmNw>0{A^`Y?qeEnFr2OyD<)ejilA9Cx5!Fuc+OrC zNVD7_5##_>M5V$zoBDds{FU^|uJf^)RQ*ob7?mx`2UTHe)L{L_jbhz&ihmo>Vjc}k zYTvFsDeBrx+!*?uF?lUwX+I0bUTq~uH}|zhZ7`a4_}r`$6%s>pEms>%x1vphE05Jf zeFzCuM_W-;HRA)au?bk-`0O; z#(mUw_TLI*y9cqKakt{QxPN=Gt6XLrHlEXEQl&W>K#Y{fViVFWr7B!Y3}t%a#^#@> z9Xs|Hk8t1Z>5UIjt>_96r^fntw7DGNsT`)QSm6F;#?82k`(hf<^*IB8Ukre8K=FWf zmmmZ*Z7n$bJa@TyMXn{rCCbLk#_qVZi)+#D5HA?j{uDd)mg8-n%a1cI&o&7o|op7?2)Cc{4nS4M}N=lZI zPt(SL?Mhco-qz|a&R?V|){}_~?D%ny5?^{LSyfVp6sr2Bs|r{ZrqohDP_d8KsJ2S2(Q&pWXnpZw*{9tWmINR=q66EWD@3OG3+yN=6b83z>0GiONQyV4R{DOQZ4jtdp5xHWwTX7#K zWY~4yWt7Zi+m>AePe9pgv(hgsj$;)pd(T_|pBa3OmG)!`mov zSc;TG#N0FDIdTW*8u?3B>vh!l)|@~G#P6#eDoD|x z9MO+&ci{<&fy@m!VTZVJmTfOh~$uY1oSHF zs7|9|Q>Uh0F2FBjg)P60>&3m3@Z}btc=vet@3zeC^LlORxf!uywx}V*36UJW-Qq`* z@|KE*km4Isg3syP0!FL5cn`i~Ts$o#;Gm#iZ*)3)NNG~1h8X^EpZjl;w(yw|REJim y;?Y0Ub>C6iILpvnbh$)=Qb^ls)5z)rsGQn&K@g}t)4?I#B+x-6BzgAv$N$+(B3YRL diff --git a/src/cache/index.js b/src/cache/index.js index 2ad7422b2..988595d10 100644 --- a/src/cache/index.js +++ b/src/cache/index.js @@ -19,7 +19,6 @@ var NodeCache = require('node-cache'), _ = require('underscore'), winston = require('winston'); moment = require('moment'); -var mongoose = require('mongoose'); var emitter = require('../emitter'); var truCache = {}; diff --git a/src/controllers/index.js b/src/controllers/index.js index 1e493bdb9..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'), diff --git a/src/controllers/install.js b/src/controllers/install.js new file mode 100644 index 000000000..6fa5a871d --- /dev/null +++ b/src/controllers/install.js @@ -0,0 +1,53 @@ +/* + . .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 database = require('../database'); + 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 } }); + child.on('message', function(data) { + if (data.error) return res.status(400).json({success: false, error: data.error}); + + return res.json({success: true}); + }); + + +}; + +module.exports = installController; \ No newline at end of file diff --git a/src/database/index.js b/src/database/index.js index 934397171..8b9d99320 100644 --- a/src/database/index.js +++ b/src/database/index.js @@ -39,14 +39,17 @@ 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 (opts) options = opts; if (process.env.MONGOHQ_URL) CONNECTION_URI = process.env.MONGOHQ_URL.trim(); if (db.connection) { callback(null, db); } else { + console.log('trying to connect'); mongoose.connect(CONNECTION_URI, options, function(e) { + if (e) return callback(e, null); db.connection = mongoose.connection; callback(e, db); diff --git a/src/install/mongotest.js b/src/install/mongotest.js new file mode 100644 index 000000000..15bd1ad1b --- /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:Cache:' + 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/middleware/middleware.js b/src/middleware/middleware.js index e2d21e6a5..429bf5e6b 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'); diff --git a/src/public/js/plugins/snackbar.js b/src/public/js/plugins/snackbar.js index f9f57fd31..0d11f4a87 100644 --- a/src/public/js/plugins/snackbar.js +++ b/src/public/js/plugins/snackbar.js @@ -7,28 +7,29 @@ * https://github.com/polonel/SnackBar/blob/master/LICENSE */ -(function (window, factory) { +(function () { 'use strict'; - if (typeof define === 'function' && define.amd) { - define([], function () { - return factory.apply(window); - }); - } + var root = typeof self == 'object' && self.self === self && self || + typeof global == 'object' && global.global === global && global || + this; - // Node.JS - else if (typeof exports === 'object') { - module.exports = factory.call(window); - } + var SnackBar = function(obj) { + if (obj instanceof SnackBar) return SnackBar; + if (!(this instanceof SnackBar)) return new SnackBar(obj); + this._wrapped = obj; + }; - // Browser - else { - window.SnackBar = factory.call(window); + if (typeof exports != 'undefined' && !exports.nodeType) { + if (typeof module != 'undefined' && !module.nodeType && module.exports) { + exports = module.exports = SnackBar; + } + exports.SnackBar = SnackBar; + } else { + root.SnackBar = SnackBar; } -})(typeof global === 'object' ? global : this, function () { - 'use strict'; - var SnackBar = SnackBar || {}; + SnackBar.current = null; var $defaults = { @@ -170,4 +171,4 @@ }; return SnackBar; -}); \ No newline at end of file +})(); \ No newline at end of file diff --git a/src/routes/index.js b/src/routes/index.js index a42c8e298..f18280ea3 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -19,7 +19,9 @@ var express = require('express'), passport = require('passport'); function mainRoutes(router, middleware, controllers) { - router.get('/', middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); + router.get('/', middleware.redirectToInstall, middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); + router.get('/install', controllers.install.index); + 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); diff --git a/src/views/install.hbs b/src/views/install.hbs new file mode 100644 index 000000000..5b5bc87c3 --- /dev/null +++ b/src/views/install.hbs @@ -0,0 +1,452 @@ + + + + Trudesk · {{{title}}} + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From f427d7b632562115b8387f79ab9b79120f05f09d Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 00:05:07 -0400 Subject: [PATCH 11/37] Fixed issue is database test --- test/0_database.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/0_database.js b/test/0_database.js index d2eba3f4b..0a314e9c8 100644 --- a/test/0_database.js +++ b/test/0_database.js @@ -4,6 +4,7 @@ var should = require('chai').should(); var winston = require('winston'); var async = require('async'); var mongoose = require('mongoose'); +var path = require('path'); winston.setLevels(winston.config.cli.levels); winston.remove(winston.transports.Console); @@ -92,8 +93,7 @@ after(function(done) { describe('Database', function() { beforeEach(function(done) { //Need to invalid Database Module before each test runs. - var modulePath = require.resolve('../src/database'); - delete require.cache[modulePath]; + delete require.cache[path.join(__dirname, '../src/database')]; database = require('../src/database'); done(); From d2f7ea7f62a81e281f2b5540f548237d27e77cbe Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 00:05:56 -0400 Subject: [PATCH 12/37] Package updates Fixed code for updated packages --- app.js | 79 +++--- package.json | 107 ++++---- public/css/app.css | 9 +- public/css/app.min.css | 2 +- runner.js | 236 ++---------------- src/cache/index.js | 25 ++ src/cache/ticketStats.js | 9 +- src/controllers/install.js | 2 +- src/database/index.js | 6 +- src/install/mongotest.js | 2 +- src/mailer/index.js | 2 +- src/middleware/index.js | 2 +- .../js/angularjs/controllers/settings.js | 1 - .../js/angularjs/controllers/singleTicket.js | 7 +- src/public/js/modules/helpers.js | 8 +- src/public/js/modules/ui.js | 1 - src/public/js/plugins/snackbar.js | 111 ++++---- .../js/vendor/uikit/js/uikit_combined.min.js | 16 +- src/routes/index.js | 23 +- src/sass/partials/tickets.sass | 8 +- src/socketserver.js | 29 +-- src/views/install.hbs | 4 +- src/views/subviews/singleticket.hbs | 23 +- src/views/tickets.hbs | 2 +- src/webserver.js | 12 +- 25 files changed, 274 insertions(+), 452 deletions(-) diff --git a/app.js b/app.js index 16104d2a8..627b06cb9 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; @@ -181,7 +168,6 @@ function dbCallback(err, db) { if (err) { return start(); } - var ws = require('./src/webserver'); ws.init(db, function(err) { if (err) { @@ -216,6 +202,35 @@ function dbCallback(err, db) { 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 } } ); @@ -231,17 +246,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 767f876c0..117fb99ee 100644 --- a/package.json +++ b/package.json @@ -10,79 +10,80 @@ "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", + "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", + "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", + "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.1.0", - "nodemailer": "^2.4.2", - "passport": "^0.3.0", + "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 1b90547e7..cdef411ef 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1836,9 +1836,7 @@ div#accountsTable_wrapper { -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 .input-box, .ticket-details .tag-list { display: block; padding: 0; @@ -1852,6 +1850,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 +1864,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; diff --git a/public/css/app.min.css b/public/css/app.min.css index 3dd014f13..c5663e36a 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1,4 +1,4 @@ -@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.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}}/*! +@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 .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{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,.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 ** diff --git a/runner.js b/runner.js index 8e92279a4..9c10fdf0b 100644 --- a/runner.js +++ b/runner.js @@ -1,215 +1,23 @@ -/* - . .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) { - 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/helpers.js b/src/public/js/modules/helpers.js index 329c7397c..c8cc5b50f 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 = {}; @@ -119,7 +119,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 +130,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) { diff --git a/src/public/js/modules/ui.js b/src/public/js/modules/ui.js index 420884ba0..0fedf7478 100644 --- a/src/public/js/modules/ui.js +++ b/src/public/js/modules/ui.js @@ -94,7 +94,6 @@ define('modules/ui', [ socketUi.onReconnect = function() { socket.removeAllListeners('reconnect'); socket.on('reconnect', function() { - //helpers.clearFlash(); helpers.UI.hideDisconnectedOverlay(); }); }; diff --git a/src/public/js/plugins/snackbar.js b/src/public/js/plugins/snackbar.js index 0d11f4a87..f36ddcac8 100644 --- a/src/public/js/plugins/snackbar.js +++ b/src/public/js/plugins/snackbar.js @@ -1,36 +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 () { +(function (root, factory) { 'use strict'; - var root = typeof self == 'object' && self.self === self && self || - typeof global == 'object' && global.global === global && global || - this; - - var SnackBar = function(obj) { - if (obj instanceof SnackBar) return SnackBar; - if (!(this instanceof SnackBar)) return new SnackBar(obj); - this._wrapped = obj; - }; - - if (typeof exports != 'undefined' && !exports.nodeType) { - if (typeof module != 'undefined' && !module.nodeType && module.exports) { - exports = module.exports = SnackBar; - } - exports.SnackBar = SnackBar; + if (typeof define === 'function' && define.amd) { + define([], function() { + return (root.Snackbar = factory()); + }); + } else if(typeof module === 'object' && module.exports) { + module.exports = (root.Snackbar = factory()); } else { - root.SnackBar = SnackBar; + root.Snackbar = factory(); } +}(this, function() { + var Snackbar = {}; - SnackBar.current = null; + Snackbar.current = null; var $defaults = { text: 'Default Text', @@ -38,7 +31,7 @@ width: 'auto', - showActionButton: true, + showAction: true, actionText: 'Dismiss', actionTextColor: '#4caf50', @@ -55,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; @@ -78,61 +71,61 @@ $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) { + 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 @@ -170,5 +163,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 f18280ea3..e1e7defb6 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -182,18 +182,23 @@ 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.gracefulReload('all', function(err) { + if (err) { + res.status(400).send(err); + return winston.error(err); + } + + pm2.disconnect(); + res.send('OK'); + }); }); - }); } } diff --git a/src/sass/partials/tickets.sass b/src/sass/partials/tickets.sass index ff867ca43..9b224eee2 100644 --- a/src/sass/partials/tickets.sass +++ b/src/sass/partials/tickets.sass @@ -223,10 +223,7 @@ div#accountsTable_wrapper +borderRadius(0) padding: 0 4px 0 0 - .input-box - padding-top: 3px - padding-bottom: 3px - + .input-box, .tag-list display: block padding: 0 @@ -257,6 +254,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..b95944372 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'); @@ -685,6 +658,8 @@ module.exports = function(ws) { global.io = io; winston.info('SocketServer Running'); + + }; function onAuthorizeSuccess(data, accept) { diff --git a/src/views/install.hbs b/src/views/install.hbs index 5b5bc87c3..82e189327 100644 --- a/src/views/install.hbs +++ b/src/views/install.hbs @@ -396,7 +396,7 @@ success: function(data) { console.log(data); if (!data.success) { - window.SnackBar.show({ + window.Snackbar.show({ text: 'Couldn\'t connect; make sure connection is correct.', actionTextColor: 'red' }); @@ -410,7 +410,7 @@ database: mongoFormData['mongo-database'] }; - window.SnackBar.show({ + window.Snackbar.show({ text: 'Connection Successful!' }); diff --git a/src/views/subviews/singleticket.hbs b/src/views/subviews/singleticket.hbs index b27283224..ff0d3d86e 100644 --- a/src/views/subviews/singleticket.hbs +++ b/src/views/subviews/singleticket.hbs @@ -138,7 +138,7 @@ -
          +
          Group {{#canUser data.user "ticket:edit"}} diff --git a/src/webserver.js b/src/webserver.js index 88140a0b7..b99149180 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -16,22 +16,18 @@ var nconf = require('nconf'), async = require('async'), express = require('express'), WebServer = express(), - server, winston = require('winston'), middleware = require('./middleware'), routes = require('./routes'), + server = require('http').createServer(WebServer), //Load Events - events = require('./emitter/events'); - - -server = require('http').createServer(WebServer); + events = require('./emitter/events'), + port = process.env.PORT || 8118; (function (app) { "use strict"; - var port = process.env.PORT || 8118; - module.exports.server = server; module.exports.init = function(db, callback, p) { if (p !== undefined) port = p; @@ -43,7 +39,7 @@ server = require('http').createServer(WebServer); server.on('error', function(err) { if (err.code === 'EADDRINUSE') { winston.error('Address in use, exiting...'); - process.exit(); + server.close(); } else { winston.error(err.message); throw err; From 45979ba3a9dac66a03710275bcf2aadf00f69758 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 02:58:03 -0400 Subject: [PATCH 13/37] Readme Updated --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4de6f2252..b496e7461 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Trudesk](http://trudesk.io/TD_Black.png)](http://trudesk.io/) +[![Trudesk](http://trudesk.io/TD_Black.png =375x)](http://trudesk.io/)

          @@ -12,10 +12,8 @@ TruDesk is an open source help desk solution stil 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 ++ Node.JS v6.3.0 or later ++ MongoDB 3.2 or later ###Install & Run 1. Clone the repo using: ```git clone http://www.github.com/polonel/trudesk``` From 6773f3e02207ea72fe48324c8995c55fdc60be17 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 02:58:44 -0400 Subject: [PATCH 14/37] Readme Updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b496e7461..e9858022a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Trudesk](http://trudesk.io/TD_Black.png =375x)](http://trudesk.io/) +[![Trudesk](http://trudesk.io/TD_Black.png | width=375)](http://trudesk.io/)

          From 34f223182f9c9070917dc72706a90636ce7b9c55 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 03:00:42 -0400 Subject: [PATCH 15/37] Readme Stuff --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e9858022a..af1deef2e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Trudesk](http://trudesk.io/TD_Black.png | width=375)](http://trudesk.io/) +

          From ad6e7170a6d28c8752e810ccce174b4811308c50 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Fri, 15 Jul 2016 03:14:02 -0400 Subject: [PATCH 16/37] Travis Fix and Update --- .travis.yml | 6 ++---- src/routes/index.js | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) 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/src/routes/index.js b/src/routes/index.js index e1e7defb6..15b14e1f9 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -19,9 +19,9 @@ var express = require('express'), passport = require('passport'); function mainRoutes(router, middleware, controllers) { - router.get('/', middleware.redirectToInstall, middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); - router.get('/install', controllers.install.index); - router.post('/install/mongotest', controllers.install.mongotest); + router.get('/', middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); + //router.get('/install', controllers.install.index); + //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); From 9d46404ef722effc846ef74e1e620d0e2605f870 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Mon, 18 Jul 2016 04:03:06 -0400 Subject: [PATCH 17/37] Ton of fixes: Double Socket Connect All groups not showing (only showing groups your member of when creating accounts) Client error if no tickets are in database on dashboard and reports Notices UI Installer now runs on its own server if no config.json exists --- README.md | 25 +-- app.js | 11 +- public/css/app.css | 2 +- public/css/app.min.css | 2 +- src/controllers/accounts.js | 9 +- src/controllers/api/v1/groups.js | 34 +++- src/controllers/api/v1/tickets.js | 22 ++- src/controllers/install.js | 173 +++++++++++++++++ src/mailer/index.js | 12 +- src/mailer/mailCheck.js | 2 +- .../js/angularjs/controllers/accounts.js | 18 +- src/public/js/angularjs/controllers/groups.js | 14 +- .../js/angularjs/controllers/notices.js | 7 +- .../js/angularjs/controllers/reports.js | 134 ------------- src/public/js/modules/ajaxify.js | 7 +- src/public/js/modules/chat.js | 178 +++++++++--------- src/public/js/modules/helpers.js | 3 +- src/public/js/modules/socket.js | 11 +- src/public/js/modules/ui.js | 6 +- src/public/js/pages/dashboard.js | 9 +- src/public/js/pages/messages.js | 5 +- src/public/js/pages/reports.js | 10 +- src/public/js/pages/reportsBreakdown.js | 134 +------------ src/public/js/pages/singleTicket.js | 10 +- src/routes/index.js | 3 +- src/sass/partials/modal.sass | 2 +- src/views/install.hbs | 118 ++++++++++-- src/views/notices.hbs | 2 +- src/views/partials/createAccountWindow.hbs | 2 +- src/views/partials/editAccountWindow.hbs | 2 +- src/views/subviews/createNotice.hbs | 51 +++-- src/webserver.js | 39 ++++ 32 files changed, 587 insertions(+), 470 deletions(-) diff --git a/README.md b/README.md index af1deef2e..004694c6c 100644 --- a/README.md +++ b/README.md @@ -39,16 +39,17 @@ if you like what you see here, and want to help support the work being done, you ###License -Copyright 2015 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 + 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 627b06cb9..9c7227410 100644 --- a/app.js +++ b/app.js @@ -103,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) { @@ -198,7 +207,7 @@ function dbCallback(err, db) { }, function(next) { //Start Task Runners - var taskrunner = require('./src/taskrunner'); + require('./src/taskrunner'); next(); }, function(next) { diff --git a/public/css/app.css b/public/css/app.css index cdef411ef..0638e397e 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -5896,7 +5896,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 c5663e36a..b1e65a207 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -4,4 +4,4 @@ ** ** 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/src/controllers/accounts.js b/src/controllers/accounts.js index 55d6e155c..ed9bbb549 100644 --- a/src/controllers/accounts.js +++ b/src/controllers/accounts.js @@ -56,6 +56,10 @@ accountsController.get = function(req, res, next) { function(cc) { groupSchema.getAllGroups(function(err, grps) { if (err) return cc(err); + var g = grps.slice(0); + g.members = undefined; + g.sendMailTo = undefined; + self.content.data.allGroups = g; cc(null, grps) }); }, @@ -65,7 +69,8 @@ accountsController.get = function(req, res, next) { var groups = _.filter(grps, function(g) { return _.any(g.members, function(m) { - return m._id.toString() == user._id.toString(); + if (m) + return m._id.toString() == user._id.toString(); }); }); @@ -177,6 +182,8 @@ accountsController.editAccount = function(req, res, next) { self.content.data.account = result.account; self.content.data.roles = result.roles; + result.groups.members = undefined; + result.groups.sendMailTo = undefined; self.content.data.groups = _.sortBy(result.groups, 'name'); res.render('subviews/editAccount', self.content); diff --git a/src/controllers/api/v1/groups.js b/src/controllers/api/v1/groups.js index 4823b0793..88dc71e8a 100644 --- a/src/controllers/api/v1/groups.js +++ b/src/controllers/api/v1/groups.js @@ -53,6 +53,33 @@ api_groups.get = function(req, res) { }); }; +/** + * @api {get} /api/v1/groups/all Get Groups + * @apiName getALlGroups + * @apiDescription Gets all groups + * @apiVersion 0.1.7 + * @apiGroup Group + * @apiHeader {string} accesstoken The access token for the logged in user + * @apiExample Example usage: + * curl -H "accesstoken: {accesstoken}" -l http://localhost/api/v1/groups/all + * + * @apiSuccess {boolean} success Successful? + * @apiSuccess {array} groups Array of returned Groups + * @apiSuccess {object} groups._id The MongoDB ID + * @apiSuccess {string} groups.name Group Name + * @apiSuccess {array} groups.sendMailTo Array of Users to send Mail to + * @apiSuccess {array} groups.members Array of Users that are members of this group + * + */ + +api_groups.getAll = function(req, res) { + groupSchema.getAllGroups(function(err, groups) { + if (err) return res.status(400).json({success: false, error: err.message}); + + return res.json({success: true, groups: groups}); + }); +}; + /** * @api {get} /api/v1/groups/:id Get Single Group * @apiName getSingleGroup @@ -175,9 +202,12 @@ api_groups.updateGroup = function(req, res) { groupSchema.getGroupById(id, function(err, group) { if (err) return res.status(400).json({error: err.message}); + var members = _.compact(data.members); + var sendMailTo = _.compact(data.sendMailTo); + group.name = data.name; - group.members = data.members; - group.sendMailTo = data.sendMailTo; + group.members = members; + group.sendMailTo = sendMailTo; group.save(function(err, savedGroup) { if (err) return res.status(400).json({error: err.message}); diff --git a/src/controllers/api/v1/tickets.js b/src/controllers/api/v1/tickets.js index 645c594fb..a5004e051 100644 --- a/src/controllers/api/v1/tickets.js +++ b/src/controllers/api/v1/tickets.js @@ -624,7 +624,7 @@ api_tickets.getTicketStatsForGroup = function(req, res) { function(callback) { ticketModel.getTickets([groupId], function(err, tickets) { if (err) return callback(err); - + if (_.isEmpty(tickets)) return callback(null, tickets); var t = []; async.each(tickets, function(ticket, cb) { @@ -632,7 +632,7 @@ api_tickets.getTicketStatsForGroup = function(req, res) { t.push(tag.name); }); - cb(); + return cb(); }, function() { _.mixin({ 'sortKeysBy': function (obj, comparator) { @@ -657,11 +657,12 @@ api_tickets.getTicketStatsForGroup = function(req, res) { return -value; }); - callback(null, tickets); + return callback(null, tickets); }); }); }, function(tickets, callback) { + if (_.isEmpty(tickets)) return callback('Group has no tickets to report.'); var today = moment().hour(23).minute(59).second(59); var r = {}; tickets = _.sortBy(tickets, 'date'); @@ -680,7 +681,7 @@ api_tickets.getTicketStatsForGroup = function(req, res) { buildAvgResponse(tickets, function(obj) { r.avgResponse = obj.avgResponse; - callback(null, r); + return callback(null, r); }); }); } @@ -719,7 +720,9 @@ function buildGraphData(arr, days, callback) { obj.value = $dateCount; graphData.push(obj); - next(); + async.setImmediate(function() { + next(); + }); }, function() { callback(graphData); @@ -738,8 +741,9 @@ function buildAvgResponse(ticketArray, callback) { var diff = firstCommentDate.diff(ticketDate, 'seconds'); $ticketAvg.push(diff); - callback(); - + async.setImmediate(function() { + return callback(); + }); }, function (err) { if (err) return c(err); @@ -749,7 +753,9 @@ function buildAvgResponse(ticketArray, callback) { var tvt = moment.duration(Math.round(ticketAvgTotal / _.size($ticketAvg)), 'seconds').asHours(); cbObj.avgResponse = Math.floor(tvt); - callback(cbObj); + async.setImmediate(function() { + return callback(cbObj); + }); }); } diff --git a/src/controllers/install.js b/src/controllers/install.js index 3d9b82afb..c90f96c35 100644 --- a/src/controllers/install.js +++ b/src/controllers/install.js @@ -46,8 +46,181 @@ installController.mongotest = function(req, res) { 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}); + }); }; module.exports = installController; \ No newline at end of file diff --git a/src/mailer/index.js b/src/mailer/index.js index 2e9a83820..14ccf4a29 100644 --- a/src/mailer/index.js +++ b/src/mailer/index.js @@ -82,15 +82,15 @@ function createTransporter(callback) { 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.value ? mailSettings.enabled.value : false; + mailSettings.enabled = mailSettings.enabled && mailSettings.enabled.value ? mailSettings.enabled.value : false; mailSettings.transporter = nodeMailer.createTransport({ - host: mailSettings.host.value ? mailSettings.host.value : '127.0.0.1', - port: mailSettings.port.value ? mailSettings.port.value : 25, - secure: mailSettings.ssl.value ? mailSettings.ssl.value : false, + 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.value ? mailSettings.username.value : '', - pass: mailSettings.password.value ? mailSettings.password.value : '' + user: mailSettings.username && mailSettings.username.value ? mailSettings.username.value : '', + pass: mailSettings.password && mailSettings.password.value ? mailSettings.password.value : '' }, tls: { rejectUnauthorized: false, diff --git a/src/mailer/mailCheck.js b/src/mailer/mailCheck.js index 3ff99b0ee..23c6b7a15 100644 --- a/src/mailer/mailCheck.js +++ b/src/mailer/mailCheck.js @@ -32,7 +32,7 @@ var MAILERCHECK_USER = nconf.get('mailer:check:user') ? nconf.get('mailer:check: 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') : 'Problem'; +var DEFAULT_TICKET_TYPE = nconf.get('mailer:check:defaultTicketType') ? nconf.get('mailer:check:defaultTicketType') : 'Issue'; var mailCheck = {}; mailCheck.Imap = new Imap({ diff --git a/src/public/js/angularjs/controllers/accounts.js b/src/public/js/angularjs/controllers/accounts.js index 428e40de6..1be418ed3 100644 --- a/src/public/js/angularjs/controllers/accounts.js +++ b/src/public/js/angularjs/controllers/accounts.js @@ -53,21 +53,6 @@ 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); - }; - $scope.deleteAccount = function($event) { $event.preventDefault(); var self = $($event.target); @@ -174,9 +159,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/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/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/modules/ajaxify.js b/src/public/js/modules/ajaxify.js index 86eb40c87..6c4599fa7 100644 --- a/src/public/js/modules/ajaxify.js +++ b/src/public/js/modules/ajaxify.js @@ -31,12 +31,11 @@ define('modules/ajaxify', [ 'pages/notices', 'pages/createNotice', 'pages/settings', - 'modules/ui', - 'modules/chat', + 'modules/socket', 'history' ], function($, angular, helpers, nav, dashboardPage, messagesPage, ticketsPage, accountsPage, groupsPage, - ajaxImgUpload, attachmentUpload, editAccountPage, singleTicketPage, reportsPage, reportsBreakdownPage, noticesPage, createNoticePage, settingsPage, ui) { + ajaxImgUpload, attachmentUpload, editAccountPage, singleTicketPage, reportsPage, reportsBreakdownPage, noticesPage, createNoticePage, settingsPage, socketClient) { $(window).on('statechangecomplete', function() { //Global @@ -59,7 +58,7 @@ define('modules/ajaxify', [ // } //}); - ui.init(); + socketClient.ui.init(socketClient.socket); helpers.init(); helpers.hideAllUiKitDropdowns(); ajaxImgUpload.init(); 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 c8cc5b50f..dd1b7d83c 100644 --- a/src/public/js/modules/helpers.js +++ b/src/public/js/modules/helpers.js @@ -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(); @@ -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"; } 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 0fedf7478..92b0e9839 100644 --- a/src/public/js/modules/ui.js +++ b/src/public/js/modules/ui.js @@ -25,11 +25,11 @@ define('modules/ui', [ ], function($, _, helpers, nav, msgUI, noticeUI, ticketsUI) { 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(); diff --git a/src/public/js/pages/dashboard.js b/src/public/js/pages/dashboard.js index 61e5246f8..85df9d6e0 100644 --- a/src/public/js/pages/dashboard.js +++ b/src/public/js/pages/dashboard.js @@ -58,6 +58,11 @@ define('pages/dashboard', [ 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); @@ -95,10 +100,6 @@ define('pages/dashboard', [ 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); 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/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/routes/index.js b/src/routes/index.js index 15b14e1f9..8f662fb71 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -20,7 +20,7 @@ var express = require('express'), function mainRoutes(router, middleware, controllers) { router.get('/', middleware.redirectToDashboardIfLoggedIn, middleware.cache(5*60), controllers.main.index); - //router.get('/install', controllers.install.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); @@ -133,6 +133,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); 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/views/install.hbs b/src/views/install.hbs index 82e189327..e555bfcc2 100644 --- a/src/views/install.hbs +++ b/src/views/install.hbs @@ -215,41 +215,41 @@ c0,1.8,0.4,2.7,1.2,2.7c0.8,0,2.9-0.8,6.2-2.3l1.7,3.1C17.7,67.7,12.5,70,7.8,70c-2.2,0-4-0.7-5.4-2.1c-1.4-1.4-2.1-3.2-2.1-5.5 c0-2.3,0.3-4.9,0.8-7.7c0.5-2.9,1.3-6.4,2.2-10.6c0.9-4.2,1.6-7.5,2.1-10.1c-2.3,0.2-4,0.4-5.2,0.6c-0.1-0.8-0.2-1.8-0.2-3 c0-1.3,0.1-2.3,0.3-3.1h5.9c0.5-3.4,0.8-6.6,0.8-9.6L6.8,16v-0.3c4.9-1.7,9.5-2.5,13.8-2.5c0.2,1.3,0.4,2.8,0.4,4.7 - c0,1.9-0.5,5.4-1.6,10.6H28.5z"/> + c0,1.9-0.5,5.4-1.6,10.6H28.5z"> + C40.5,68.7,36.2,69.1,29.6,69.1z"> + c-1.4-1.1-2.2-2.6-2.4-4.4c-5.1,4.1-9.7,6.2-13.8,6.2c-2.2,0-4-0.7-5.4-2.2C63.4,66.5,62.7,64.4,62.7,61.8z"> + C134.3,33.4,132.3,32.8,130.6,32.8z"> + c-2.4,0-4.2,2-5.5,6.1c-1.3,4-1.9,7.8-1.9,11.3C172.1,49,174.6,47.6,176.5,45.5z"> + C216.8,39.6,218.1,37.4,218.1,35.2z"> - + C236.3,23.1,238.1,12.5,238.1,6.9z"> +
          @@ -284,7 +284,7 @@
          - +
          @@ -323,7 +323,7 @@
          - +
          @@ -331,10 +331,31 @@

          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. +

          +
          
          +            
          +        
          @@ -370,6 +391,7 @@ }); var mongoConnection = undefined; + var adminAccount = undefined; $('button#test-mongo-connection').click(function() { var $connectBtn = $(this); @@ -387,14 +409,13 @@ }, error: function(e) { $connectBtn.prop('disabled', false).text('Test Connection!'); - window.SnackBar.show({ + window.Snackbar.show({ text: 'Couldn\'t connect; make sure connection is correct.', actionTextColor: 'red' }); console.log(e); }, success: function(data) { - console.log(data); if (!data.success) { window.Snackbar.show({ text: 'Couldn\'t connect; make sure connection is correct.', @@ -432,6 +453,77 @@ }); }); + function advanceSlide() { + var $active = $('.activeSlide'); + var nextSlideIdx = activeSlide + 1; + var nextSlide = $('.slide-' + nextSlideIdx); + if (nextSlide.length > 0) { + $active.fadeOut(300, function() { + nextSlide.css({display: 'none'}).removeClass('hide'); + $(this).addClass('hide').removeClass('activeSlide'); + nextSlide.fadeIn(300, function() { + nextSlide.addClass('activeSlide'); + }); + }); + activeSlide++; + } + } + + $('button#set-admin-account').click(function() { + adminAccount = { + username: $('#admin-username').val(), + fullname: $('#admin-fullname').val(), + password: $('#admin-password').val(), + cpassword: $('#admin-cpassword').val(), + email: $('#admin-email').val() + }; + + advanceSlide(); + + //Send the install POST wait for Response... + setTimeout(function() { + sendInstall(); + }, 3000); + }); + + function sendInstall() { + $.ajax({ + method: 'POST', + url: '/install', + data: { + mongo: mongoConnection, + account: adminAccount + }, + success: function(response) { + window.Snackbar.show({ + text: 'We did it! Everything is all set up!' + }); + + advanceSlide(); + }, + error: function(response) { +// window.Snackbar.show({ +// text: response.responseText, +// actionTextColor: '#FF4835' +// }); + + var $active = $('.activeSlide'); + var errorSlide = $('#errorSlide'); + if (errorSlide.length > 0) { + errorSlide.find('pre').html(response.responseText); + $active.fadeOut(300, function() { + errorSlide.css({display: 'none'}).removeClass('hide'); + $(this).addClass('hide').removeClass('activeSlide'); + errorSlide.fadeIn(300, function() { + errorSlide.addClass('activeSlide'); + }); + }); + activeSlide++; + } + } + }); + } + $.fn.serializeObject = function(){ var obj = {}; 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 @@ -
          +
          {{> noticeAlertWindow}} {{> topbar/notifications }} From c37f24adb22ede1c91a0c381681321f6ba0c0398 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Wed, 27 Jul 2016 01:28:21 -0400 Subject: [PATCH 34/37] Changelog --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 745aa494a..97ef6a6e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,13 @@ # 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) @@ -23,4 +27,7 @@ ## [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 +## [0.1.2](https://github.com/polonel/trudesk/tree/0.1.2) (2015-08-24) + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file From 6a8c3d3ee7d143a3fedf69e4f925bd56dd538ed4 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Wed, 27 Jul 2016 17:14:41 -0400 Subject: [PATCH 35/37] Disabled TPS by default --- src/notifications/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"); From eb3e9de0b33b0d574294ffea052ecd040b155e83 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Thu, 28 Jul 2016 03:07:25 -0400 Subject: [PATCH 36/37] Updated Readme --- CHANGELOG.md | 5 +---- README.md | 12 ++++++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97ef6a6e4..46bcc29e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,7 +27,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) - - -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +## [0.1.2](https://github.com/polonel/trudesk/tree/0.1.2) (2015-08-24) \ No newline at end of file diff --git a/README.md b/README.md index 004694c6c..9ae0bc6f6 100644 --- a/README.md +++ b/README.md @@ -7,29 +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 +### 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 @@ -38,7 +38,7 @@ if you like what you see here, and want to help support the work being done, you -###License +### License Copyright 2014-2016 Chris Brame From b8068eafb18bbab1748a29c98ae549161bda210d Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Thu, 28 Jul 2016 18:14:46 -0400 Subject: [PATCH 37/37] License File --- LICENSE.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 LICENSE.txt 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.

          +
          +
          +

          Welcome

          +

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

          + + +
          + +
          +
          +

          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.

          +
          + + + +
          +
          +
          + +