From e770853b74ba63fdbf3a6e6747a93624d8b8c2c7 Mon Sep 17 00:00:00 2001 From: Zach Schnackel Date: Fri, 3 Oct 2014 22:32:44 -0400 Subject: [PATCH] 5.5.0 Release - Optimized Gulpfile - Sourcemaps --- .gitignore | 5 +- assets/css/build/app.css | 2 +- assets/css/src/_global.less | 6 -- assets/css/src/app.less | 1 + assets/css/src/uikit/base.less | 7 ++ assets/js/build/scripts.min.js | 2 +- assets/js/maps/scripts.min.js.map | 1 - bower.json | 4 +- gulpfile.js | 147 +++++++++++++++++------------- package.json | 9 +- readme.md | 8 +- style.css | 2 +- 12 files changed, 112 insertions(+), 82 deletions(-) create mode 100644 assets/css/src/uikit/base.less delete mode 100755 assets/js/maps/scripts.min.js.map diff --git a/.gitignore b/.gitignore index 21d887d..5e2ff55 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,7 @@ dwsync.xml .CVS intermediate .idea -cache \ No newline at end of file +cache + +# Sourcemaps +assets/js/sourcemaps/* \ No newline at end of file diff --git a/assets/css/build/app.css b/assets/css/build/app.css index c52dc69..2bf65c0 100755 --- a/assets/css/build/app.css +++ b/assets/css/build/app.css @@ -1 +1 @@ -html{font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444;background-image:-webkit-radial-gradient(100% 100%,center,#fff,#fff);background-image:-webkit-radial-gradient(center,100% 100%,#fff,#fff);background-image:radial-gradient(100% 100% at center,#fff,#fff)}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}a,.uk-link{color:#07d;text-decoration:none;cursor:pointer}a:hover,.uk-link:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap;padding:0 4px;border:1px solid #ddd;border-radius:3px;background:#fafafa}em{color:#d05}ins{text-decoration:none}ins,mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;-moz-box-sizing:border-box;box-sizing:border-box;border:0;vertical-align:middle}.uk-img-preserve,.uk-img-preserve img{max-width:none}svg:not(:root){overflow:hidden}p,ul,ol,dl,blockquote,pre,address,fieldset,figure{margin:0 0 15px}*+p,*+ul,*+ol,*+dl,*+blockquote,*+pre,*+address,*+fieldset,*+figure{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}h1,.uk-h1{font-size:36px;line-height:42px}h2,.uk-h2{font-size:24px;line-height:30px}h3,.uk-h3{font-size:18px;line-height:24px}h4,.uk-h4{font-size:16px;line-height:22px}h5,.uk-h5{font-size:14px;line-height:20px}h6,.uk-h6{font-size:12px;line-height:18px}ul,ol{padding-left:30px}ul>li>ul,ul>li>ol,ol>li>ol,ol>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#fafafa;font:12px/18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;-o-tab-size:4;tab-size:4;overflow:auto;border:1px solid #ddd;border-radius:3px}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid:before,.uk-grid:after{content:" ";display:table}.uk-grid:after{clear:both}.uk-grid{margin:0 0 0 -25px;padding:0;list-style:none}.uk-grid>*{margin:0;padding-left:25px;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid+.uk-grid,.uk-grid>.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid:not(.uk-grid-preserve){margin-left:-35px}.uk-grid:not(.uk-grid-preserve)>*{padding-left:35px}.uk-grid:not(.uk-grid-preserve)+.uk-grid,.uk-grid:not(.uk-grid-preserve)>.uk-grid-margin,.uk-grid:not(.uk-grid-preserve)>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid.uk-grid-small{margin-left:-10px}.uk-grid.uk-grid-small>*{padding-left:10px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>.uk-grid-margin,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel{margin-top:10px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*='uk-width-2-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-3-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-4-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-5-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-6-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-7-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-8-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-9-']:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(.uk-grid-preserve):not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider:not(.uk-grid-preserve)>*{padding-left:35px;padding-right:35px}.uk-grid-divider:not(.uk-grid-preserve):empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}[class*='uk-grid-width']>*{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}@media (min-width:480px){.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*='uk-width']{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:768px){[class*='uk-push-'],[class*='uk-pull-']{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel:before,.uk-panel:after{content:" ";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box .uk-panel-teaser{margin:-16px -16px 15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-panel-box .uk-panel-teaser>*{border-top-left-radius:4px;border-top-right-radius:4px}.uk-article:before,.uk-article:after{content:" ";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-article+.uk-article{padding-top:25px;border-top:1px solid #ddd}.uk-comment-header{margin-bottom:15px;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.uk-comment-header:before,.uk-comment-header:after{content:" ";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body{padding-left:10px;padding-right:10px}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:25px 0 0;list-style:none}.uk-comment-list>li:nth-child(n+2),.uk-comment-list .uk-comment+ul>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:50px}}.uk-comment-primary .uk-comment-header{border-color:rgba(45,112,145,.3);background-color:#ebf7fd;color:#2d7091;text-shadow:0 1px 0 #fff}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:hover,.uk-nav-side>li>a:focus{background:rgba(0,0,0,.03);color:#444;outline:none;box-shadow:inset 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd;box-shadow:0 1px 0 #fff}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:hover,.uk-nav-dropdown>li>a:focus{background:#009dd8;color:#fff;outline:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:hover,.uk-nav-navbar>li>a:focus{background:#009dd8;color:#fff;outline:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px;border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus{background:#404040;color:#fff;outline:none}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas .uk-nav-header{color:#777;margin-top:0;border-top:1px solid rgba(0,0,0,.3);background:#404040;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid rgba(255,255,255,.01);margin:0;height:4px;background:rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-nav-offcanvas{border-bottom:1px solid rgba(0,0,0,.3);box-shadow:0 1px 0 rgba(255,255,255,.05)}.uk-nav-offcanvas .uk-nav-sub{border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.uk-navbar{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.3);border-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-navbar:before,.uk-navbar:after{content:" ";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus,.uk-navbar-nav>li.uk-open>a{background-color:transparent;color:#444;outline:none;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li>a:active{background-color:#f5f5f5;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-content,.uk-navbar-brand,.uk-navbar-toggle{-moz-box-sizing:border-box;box-sizing:border-box;display:block;height:41px;padding:0 15px;float:left;margin-top:-1px;text-shadow:0 1px 0 #fff}.uk-navbar-content:before,.uk-navbar-brand:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:hover,.uk-navbar-brand:focus{color:#444;text-decoration:none;outline:none}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:hover,.uk-navbar-toggle:focus{color:#444;text-decoration:none;outline:none}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.uk-navbar-flip .uk-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-navbar-flip .uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.uk-navbar-flip .uk-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.uk-navbar-attached{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.uk-navbar-attached .uk-navbar-nav>li>a{border-radius:0!important}.uk-subnav{padding:0;list-style:none;font-size:.001px}.uk-subnav>li{position:relative;font-size:14px;vertical-align:top}.uk-subnav>li,.uk-subnav>li>a,.uk-subnav>li>span{display:inline-block}.uk-subnav>li:nth-child(n+2){margin-left:10px}.uk-subnav>li>a{color:#07d}.uk-subnav>li>a:hover{color:#059}.uk-subnav>li>span{color:#999}.uk-subnav-line>li:nth-child(n+2):before{content:"";display:inline-block;height:10px;margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>li>a,.uk-subnav-pill>li>span{padding:3px 9px;text-decoration:none;border-radius:4px}.uk-subnav-pill>li>a:hover,.uk-subnav-pill>li>a:focus{background:#fafafa;color:#444;outline:none;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.uk-subnav-pill>li.uk-active>a{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-breadcrumb{padding:0;list-style:none;font-size:.001px}.uk-breadcrumb>li{font-size:14px;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:.001px}.uk-pagination:before,.uk-pagination:after{content:" ";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:14px;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;border-radius:4px}.uk-pagination>li>a{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-pagination>li>a:hover,.uk-pagination>li>a:focus{background-color:#fafafa;color:#444;outline:none;background-image:none}.uk-pagination>li>a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-pagination>.uk-active>span{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 0 #fff}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:before,.uk-tab:after{content:" ";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07d;text-decoration:none;border-radius:4px 4px 0 0;text-shadow:0 1px 0 #fff}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li>a:hover,.uk-tab>li>a:focus,.uk-tab>li.uk-open>a{border-color:#ddd;background:#fafafa;color:#059;outline:none}.uk-tab>li:not(.uk-active)>a:hover,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li.uk-open:not(.uk-active)>a{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:auto}.uk-tab>li.uk-disabled>a:hover,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled.uk-active>a{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:before,.uk-tab-center:after{content:" ";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li:not(.uk-active)>a:hover,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li.uk-open:not(.uk-active)>a{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:hover,.uk-tab-left>li:not(.uk-active)>a:focus{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:hover,.uk-tab-right>li:not(.uk-active)>a:focus{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-tab-bottom>li>a{border-radius:0 0 4px 4px}@media (min-width:768px){.uk-tab-left>li>a{border-radius:4px 0 0 4px}.uk-tab-right>li>a{border-radius:0 4px 4px 0}}.uk-list{padding:0;list-style:none}.uk-list>li:before,.uk-list>li:after{content:" ";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px;border-bottom:1px solid #ddd}.uk-list-striped>li:nth-of-type(odd){background:#fafafa}.uk-list-space>li:nth-child(n+2){margin-top:10px}.uk-list-striped>li:first-child{border-top:1px solid #ddd}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table th,.uk-table td{padding:8px;border-bottom:1px solid #ddd}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#fafafa}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#f0f0f0}.uk-form input,.uk-form select,.uk-form textarea{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type="checkbox"],.uk-form input[type="radio"]{padding:0}.uk-form input[type="checkbox"]:not(:disabled),.uk-form input[type="radio"]:not(:disabled){cursor:pointer}.uk-form textarea,.uk-form input:not([type]),.uk-form input[type="text"],.uk-form input[type="password"],.uk-form input[type="email"],.uk-form input[type="url"],.uk-form input[type="search"],.uk-form input[type="tel"],.uk-form input[type="number"],.uk-form input[type="datetime"]{-webkit-appearance:none}.uk-form input[type="search"]::-webkit-search-cancel-button,.uk-form input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type="number"]::-webkit-inner-spin-button,.uk-form input[type="number"]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type="radio"]):not([type="checkbox"]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form select,.uk-form textarea,.uk-form input:not([type]),.uk-form input[type="text"],.uk-form input[type="password"],.uk-form input[type="datetime"],.uk-form input[type="datetime-local"],.uk-form input[type="date"],.uk-form input[type="month"],.uk-form input[type="time"],.uk-form input[type="week"],.uk-form input[type="number"],.uk-form input[type="email"],.uk-form input[type="url"],.uk-form input[type="search"],.uk-form input[type="tel"],.uk-form input[type="color"]{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s;border-radius:4px}.uk-form select:focus,.uk-form textarea:focus,.uk-form input:not([type]):focus,.uk-form input[type="text"]:focus,.uk-form input[type="password"]:focus,.uk-form input[type="datetime"]:focus,.uk-form input[type="datetime-local"]:focus,.uk-form input[type="date"]:focus,.uk-form input[type="month"]:focus,.uk-form input[type="time"]:focus,.uk-form input[type="week"]:focus,.uk-form input[type="number"]:focus,.uk-form input[type="email"]:focus,.uk-form input[type="url"]:focus,.uk-form input[type="search"]:focus,.uk-form input[type="tel"]:focus,.uk-form input[type="color"]:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form select:disabled,.uk-form textarea:disabled,.uk-form input:not([type]):disabled,.uk-form input[type="text"]:disabled,.uk-form input[type="password"]:disabled,.uk-form input[type="datetime"]:disabled,.uk-form input[type="datetime-local"]:disabled,.uk-form input[type="date"]:disabled,.uk-form input[type="month"]:disabled,.uk-form input[type="time"]:disabled,.uk-form input[type="week"]:disabled,.uk-form input[type="number"]:disabled,.uk-form input[type="email"]:disabled,.uk-form input[type="url"]:disabled,.uk-form input[type="search"]:disabled,.uk-form input[type="tel"]:disabled,.uk-form input[type="color"]:disabled{border-color:#ddd;background-color:#fafafa;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd}select.uk-form-small,textarea.uk-form-small,input[type].uk-form-small,input:not([type]).uk-form-small{height:25px;padding:3px;font-size:12px}select.uk-form-large,textarea.uk-form-large,input[type].uk-form-large,input:not([type]).uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form textarea,.uk-form select[multiple],.uk-form select[size]{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#c91032!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#539022!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:none!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:before,.uk-form-row:after{content:" ";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*='uk-icon-']{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*='uk-icon-']{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px;background:#f7f7f7;vertical-align:middle;line-height:28px;min-height:30px;font-size:14px;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);border-radius:4px;text-shadow:0 1px 0 #fff}.uk-button:not(:disabled){cursor:pointer}.uk-button:hover,.uk-button:focus{background-color:#fafafa;color:#444;outline:none;text-decoration:none;background-image:none}.uk-button:active,.uk-button.uk-active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-button-primary{background-color:#009dd8;color:#fff;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-primary:hover,.uk-button-primary:focus{background-color:#00aff2;color:#fff;background-image:none}.uk-button-primary:active,.uk-button-primary.uk-active{background-color:#008abf;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-success{background-color:#82bb42;color:#fff;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-success:hover,.uk-button-success:focus{background-color:#8fce48;color:#fff;background-image:none}.uk-button-success:active,.uk-button-success.uk-active{background-color:#76b430;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-danger{background-color:#d32c46;color:#fff;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-danger:hover,.uk-button-danger:focus{background-color:#e33551;color:#fff;background-image:none}.uk-button-danger:active,.uk-button-danger.uk-active{background-color:#c91c37;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.2);background-image:none;box-shadow:none;text-shadow:0 1px 0 #fff}.uk-button-link,.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active,.uk-button-link:disabled{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07d}.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:18px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:23px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:38px;font-size:16px;border-radius:5px}.uk-button-group{vertical-align:middle;position:relative;font-size:.001px;white-space:nowrap}.uk-button-group,.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-top-right-radius:0;border-bottom-right-radius:0}.uk-button-group>.uk-button:last-child,.uk-button-group>div:last-child .uk-button{border-top-left-radius:0;border-bottom-left-radius:0}.uk-button-group>.uk-button:nth-child(n+2),.uk-button-group>div:nth-child(n+2) .uk-button{margin-left:-1px}.uk-button-group .uk-button:active{position:relative}@font-face{font-family:'FontAwesome';src:url("../../fonts/fontawesome-webfont.eot");src:url("../../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../../fonts/fontawesome-webfont.woff") format("woff"),url("../../fonts/fontawesome-webfont.ttf") format("truetype");font-weight:400;font-style:normal}[class*='uk-icon-']{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uk-icon-small:before{font-size:150%;vertical-align:-10%}.uk-icon-medium:before{font-size:200%;vertical-align:-16%}.uk-icon-large:before{font-size:250%;vertical-align:-22%}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-button{-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f7f7f7;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #ccc;border-bottom-color:#bbb;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-icon-button:hover,.uk-icon-button:focus{background-color:#fafafa;color:#444;text-decoration:none;outline:none;background-image:none}.uk-icon-button:active{background-color:#f5f5f5;color:#444;border-color:#ccc;border-top-color:#bbb;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-remove:before,.uk-icon-close:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-gear:before,.uk-icon-cog:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-rotate-right:before,.uk-icon-repeat:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-photo:before,.uk-icon-image:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-warning:before,.uk-icon-exclamation-triangle:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-gears:before,.uk-icon-cogs:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-save:before,.uk-icon-floppy-o:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-navicon:before,.uk-icon-reorder:before,.uk-icon-bars:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-unsorted:before,.uk-icon-sort:before{content:"\f0dc"}.uk-icon-sort-down:before,.uk-icon-sort-desc:before{content:"\f0dd"}.uk-icon-sort-up:before,.uk-icon-sort-asc:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-legal:before,.uk-icon-gavel:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-flash:before,.uk-icon-bolt:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-paste:before,.uk-icon-clipboard:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-unlink:before,.uk-icon-chain-broken:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-toggle-down:before,.uk-icon-caret-square-o-down:before{content:"\f150"}.uk-icon-toggle-up:before,.uk-icon-caret-square-o-up:before{content:"\f151"}.uk-icon-toggle-right:before,.uk-icon-caret-square-o-right:before{content:"\f152"}.uk-icon-euro:before,.uk-icon-eur:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-rupee:before,.uk-icon-inr:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-rmb:before,.uk-icon-yen:before,.uk-icon-jpy:before{content:"\f157"}.uk-icon-ruble:before,.uk-icon-rouble:before,.uk-icon-rub:before{content:"\f158"}.uk-icon-won:before,.uk-icon-krw:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-toggle-left:before,.uk-icon-caret-square-o-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-turkish-lira:before,.uk-icon-try:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-institution:before,.uk-icon-bank:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-mortar-board:before,.uk-icon-graduation-cap:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before,.uk-icon-file-image-o:before{content:"\f1c5"}.uk-icon-file-zip-o:before,.uk-icon-file-archive-o:before{content:"\f1c6"}.uk-icon-file-sound-o:before,.uk-icon-file-audio-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-saver:before,.uk-icon-support:before,.uk-icon-life-ring:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-ge:before,.uk-icon-empire:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-send:before,.uk-icon-paper-plane:before{content:"\f1d8"}.uk-icon-send-o:before,.uk-icon-paper-plane-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-soccer-ball-o:before,.uk-icon-futbol-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-shekel:before,.uk-icon-sheqel:before,.uk-icon-ils:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:hover,.uk-close:focus{opacity:.5;outline:none;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#fff;opacity:1;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 0 6px rgba(0,0,0,.3)}.uk-close-alt:hover,.uk-close-alt:focus{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:hover:after,.uk-close-alt:focus:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#009dd8;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-radius:2px;text-shadow:0 -1px 0 rgba(0,0,0,.2)}a.uk-badge:hover{color:#fff}.uk-badge-notification{-moz-box-sizing:border-box;box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-badge-warning{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-badge-danger{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-alert{margin-bottom:15px;color:#2d7091}.uk-alert,.parsley-errors-list{padding:10px;background:#ebf7fd;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert,*+.parsley-errors-list{margin-top:15px}.uk-alert>:last-child,.parsley-errors-list>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6,.parsley-errors-list h1,.parsley-errors-list h2,.parsley-errors-list h3,.parsley-errors-list h4,.parsley-errors-list h5,.parsley-errors-list h6{color:inherit}.uk-alert>.uk-close:first-child,.parsley-errors-list>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*,.parsley-errors-list>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-alert-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-alert-danger,.parsley-errors-list{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail,.wp-caption{display:inline-block;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.05)}a.uk-thumbnail:hover,a.uk-thumbnail:focus,a.wp-caption:hover,a.wp-caption:focus{border-color:#aaa;background-color:#fff;text-decoration:none;outline:none;box-shadow:0 1px 4px rgba(0,0,0,.3)}.uk-thumbnail-caption,.wp-caption figcaption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay-toggle.uk-hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:.001px}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;vertical-align:middle;font-size:14px;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay-toggle.uk-hover .uk-overlay-caption{opacity:1}.uk-progress{-moz-box-sizing:border-box;box-sizing:border-box;height:20px;margin-bottom:15px;background:#f7f7f7;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),inset 0 2px 2px rgba(0,0,0,.07);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#009dd8;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-progress-warning .uk-progress-bar{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-progress-danger .uk-progress-bar{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}[class*='uk-animation-']{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*='uk-animation-']{opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.uk-animation-10{-webkit-animation-duration:10s;animation-duration:10s}.uk-animation-top-left{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2);transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%);transform:translateX(33%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%);transform:translateX(-33%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%{-webkit-transform:translateX(-9px);transform:translateX(-9px)}20%{-webkit-transform:translateX(8px);transform:translateX(8px)}30%{-webkit-transform:translateX(-7px);transform:translateX(-7px)}40%{-webkit-transform:translateX(6px);transform:translateX(6px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}60%{-webkit-transform:translateX(4px);transform:translateX(4px)}70%{-webkit-transform:translateX(-3px);transform:translateX(-3px)}80%{-webkit-transform:translateX(2px);transform:translateX(2px)}90%{-webkit-transform:translateX(-1px);transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.uk-dropdown{display:none;position:absolute;top:100%;left:0;z-index:1020;-moz-box-sizing:border-box;box-sizing:border-box;width:200px;margin-top:5px;padding:15px;background:#fff;color:#444;font-size:14px;vertical-align:top;border:1px solid #cbcbcb;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-open>.uk-dropdown{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-flip{left:auto;right:0}.uk-dropdown-up{top:auto;bottom:100%;margin-top:auto;margin-bottom:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid,.uk-dropdown-grid>[class*='uk-width-']>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*='uk-width-']{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*='uk-width-']{width:100%}.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*='uk-width-']{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:6px;background:#fff;color:#444;left:-1px;border:1px solid #cbcbcb;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-dropdown-navbar.uk-dropdown-flip{left:auto}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;-moz-box-sizing:border-box;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);-ms-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out;border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.3)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+*{margin-top:0}.uk-modal-dialog-frameless{padding:0}.uk-modal-dialog-frameless>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-frameless>.uk-close:first-child{top:-7px;right:-7px}}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-offcanvas-bar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0}.uk-offcanvas-bar:after,.uk-offcanvas-bar-flip:after{width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-offcanvas-bar-flip:after{right:auto;left:0}.uk-switcher{margin:0;padding:0;list-style:none}.uk-switcher>*:not(.uk-active){display:none}.uk-tooltip{display:none;position:absolute;z-index:1030;-moz-box-sizing:border-box;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;text-align:center;border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top:after,.uk-tooltip-top-left:after,.uk-tooltip-top-right:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-top:after,.uk-tooltip-bottom:after{left:50%;margin-left:-5px}.uk-tooltip-top-left:after,.uk-tooltip-bottom-left:after{left:10px}.uk-tooltip-top-right:after,.uk-tooltip-bottom-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:none}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none}.uk-cover-object,[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-datepicker{width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:before,.uk-datepicker-nav:after{content:" ";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-previous:after,.uk-datepicker-next:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table th,.uk-datepicker-table td{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#ddd;color:#444;outline:none}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff}.uk-dotnav{padding:0;list-style:none;font-size:.001px}.uk-dotnav>li{display:inline-block;font-size:14px;vertical-align:top}.uk-dotnav>li:nth-child(n+2){margin-left:15px}.uk-dotnav>li>a{display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);vertical-align:top;overflow:hidden;text-indent:-999%}.uk-dotnav>li>a:hover,.uk-dotnav>li>a:focus{background:rgba(50,50,50,.4);outline:none}.uk-dotnav>li>a:active{background:rgba(50,50,50,.6)}.uk-dotnav>li.uk-active>a{background:rgba(50,50,50,.4)}.uk-dotnav-vertical>li{display:block}.uk-dotnav-vertical>li:nth-child(n+2){margin-left:0;margin-top:15px}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-form input[type="radio"],.uk-form input[type="checkbox"]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type="radio"]{border-radius:50%}.uk-form input[type=checkbox]:checked:before{display:block}.uk-form input[type=radio]:checked:before{display:block;content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=radio]:disabled,.uk-form input[type=checkbox]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before{color:#aaa}.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type="file"]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-password{display:inline-block;position:relative;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important}.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-htmleditor-navbar{background:#eee}.uk-htmleditor-navbar:before{content:" ";display:table}.uk-htmleditor-navbar:after{content:" ";display:table;clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:none}.uk-htmleditor-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-htmleditor-navbar-flip{float:right}[data-mode='split'] .uk-htmleditor-button-code,[data-mode='split'] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}.uk-htmleditor-content:before{content:" ";display:table}.uk-htmleditor-content:after{content:" ";display:table;clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:40px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview,[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code{display:none}[data-mode='split'] .uk-htmleditor-code,[data-mode='split'] .uk-htmleditor-preview{float:left;width:50%}[data-mode='split'] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px;-moz-box-sizing:border-box;box-sizing:border-box}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-list-dragged{position:absolute;z-index:1050;padding-left:0;pointer-events:none}.uk-nestable-item{margin-bottom:10px;padding:5px;background:#f5f5f5}.uk-nestable-placeholder{-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:10px;border:1px dashed #ddd}.uk-nestable-empty{min-height:40px}.uk-nestable-handle{display:inline-block;font-size:18px;color:#ddd}.uk-nestable-handle:hover{cursor:move}.uk-nestable-handle:after{content:"\f0c9";font-family:FontAwesome}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action='toggle']{display:inline-block;color:#999;visibility:hidden}[data-nestable-action='toggle']:hover{color:#444;cursor:pointer}[data-nestable-action='toggle']:after{content:"\f147";font-family:FontAwesome}.uk-parent>.uk-nestable-item [data-nestable-action='toggle']{visibility:visible}.uk-collapsed>.uk-nestable-item [data-nestable-action='toggle']:after{content:"\f196"}.uk-collapsed .uk-nestable-list{display:none}.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-top-right,.uk-notify-bottom-right{left:auto;right:10px}.uk-notify-top-center,.uk-notify-bottom-center{left:50%;margin-left:-175px}.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-bottom-center{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091}.uk-notify-message-success{background:#f2fae3;color:#659f13}.uk-notify-message-warning{background:#fffceb;color:#e28327}.uk-notify-message-danger{background:#fff1f0;color:#d85030}.uk-placeholder{margin-bottom:15px;padding:20px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field::-moz-focus-inner{border:0;padding:0}.uk-search-field::-webkit-search-cancel-button,.uk-search-field::-webkit-search-decoration{-webkit-appearance:none}.uk-search-field::-ms-clear{display:none}.uk-search-field::-moz-placeholder{opacity:1}.uk-search-field{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:#444;-webkit-appearance:none;width:120px;height:30px;padding:0 0 0 30px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);-webkit-transition:all linear .2s;transition:all linear .2s;vertical-align:middle}.uk-search-field:-ms-input-placeholder{color:#999!important}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-dropdown-search{width:300px;margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:5px;margin-right:-15px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:none}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07d}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:rgba(0,0,0,0);background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777!important}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777}.uk-slidenav{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:hover,.uk-slidenav:focus{outline:none;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{display:inline-block;position:relative;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-sortable{position:relative}.uk-sortable>*{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-sortable>* *{-webkit-user-drag:none;user-drag:none}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-over{opacity:.3}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}[data-uk-sticky].uk-active{z-index:980;-moz-box-sizing:border-box;box-sizing:border-box}[data-uk-sticky][class*='uk-animation-']{-webkit-animation-duration:.15s;animation-duration:.15s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.04s;animation-duration:.04s}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}}.uk-text-nowrap,.uk-text-truncate{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{-moz-box-sizing:border-box;box-sizing:border-box;max-width:980px;padding:0 25px;margin:0 auto}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:before,.uk-container:after{content:" ";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before,.uk-clearfix:after{content:" ";display:table}.uk-clearfix:after{clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*='uk-float-']{max-width:100%}[class*='uk-align-']{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;margin-bottom:15px;float:left}.uk-align-medium-right{margin-left:15px;margin-bottom:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:.001px}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-middle,.uk-vertical-align-bottom{display:inline-block;max-width:100%;font-size:14px}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*='uk-height']{-moz-box-sizing:border-box;box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-width,.uk-responsive-height{-moz-box-sizing:border-box;box-sizing:border-box}.uk-responsive-width{max-width:100%;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top,.post-type+.post-type{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted:hover,.uk-link-muted a:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset:hover,.uk-link-reset a:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll}.uk-scrollable-text,.uk-scrollable-box{-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{-moz-box-sizing:border-box;box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute{position:absolute!important}.uk-position-relative{position:relative!important}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important}@media (min-width:960px){.uk-visible-small,.uk-visible-medium,.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small,.uk-visible-large,.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium,.uk-visible-large,.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-navbar-nav>li>a[href='#']{cursor:pointer}.alignnone{margin:5px 15px 15px 0}.aligncenter{display:block}.alignright{float:right;margin:5px 0 15px 15px}.alignleft{float:left;margin:5px 15px 15px 0}.aligncenter{display:block;margin:5px auto}.wp-caption{text-align:center}.article-bottom p:last-child{margin-bottom:0}.parsley-errors-list{display:none;list-style:none;margin-bottom:0}.parsley-errors-list.filled{display:block}.parsley-custom-errors .parsley-errors-list.filled{margin-top:15px}html{-moz-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-moz-box-sizing:inherit;box-sizing:inherit} \ No newline at end of file +html{font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444;background-image:-webkit-radial-gradient(100% 100%,center,#fff,#fff);background-image:-webkit-radial-gradient(center,100% 100%,#fff,#fff);background-image:radial-gradient(100% 100% at center,#fff,#fff);box-sizing:border-box}html *,html *:before,html *:after{box-sizing:inherit}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}a,.uk-link{color:#07d;text-decoration:none;cursor:pointer}a:hover,.uk-link:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap;padding:0 4px;border:1px solid #ddd;border-radius:3px;background:#fafafa}em{color:#d05}ins{text-decoration:none}ins,mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;box-sizing:border-box;border:0;vertical-align:middle}.uk-img-preserve,.uk-img-preserve img{max-width:none}svg:not(:root){overflow:hidden}p,ul,ol,dl,blockquote,pre,address,fieldset,figure{margin:0 0 15px}*+p,*+ul,*+ol,*+dl,*+blockquote,*+pre,*+address,*+fieldset,*+figure{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}h1,.uk-h1{font-size:36px;line-height:42px}h2,.uk-h2{font-size:24px;line-height:30px}h3,.uk-h3{font-size:18px;line-height:24px}h4,.uk-h4{font-size:16px;line-height:22px}h5,.uk-h5{font-size:14px;line-height:20px}h6,.uk-h6{font-size:12px;line-height:18px}ul,ol{padding-left:30px}ul>li>ul,ul>li>ol,ol>li>ol,ol>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#fafafa;font:12px/18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;tab-size:4;overflow:auto;border:1px solid #ddd;border-radius:3px}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid:before,.uk-grid:after{content:" ";display:table}.uk-grid:after{clear:both}.uk-grid{margin:0 0 0 -25px;padding:0;list-style:none}.uk-grid>*{margin:0;padding-left:25px;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid+.uk-grid,.uk-grid>.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid:not(.uk-grid-preserve){margin-left:-35px}.uk-grid:not(.uk-grid-preserve)>*{padding-left:35px}.uk-grid:not(.uk-grid-preserve)+.uk-grid,.uk-grid:not(.uk-grid-preserve)>.uk-grid-margin,.uk-grid:not(.uk-grid-preserve)>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid.uk-grid-small{margin-left:-10px}.uk-grid.uk-grid-small>*{padding-left:10px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>.uk-grid-margin,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel{margin-top:10px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*='uk-width-2-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-3-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-4-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-5-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-6-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-7-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-8-']:nth-child(n+2),.uk-grid-divider>[class*='uk-width-9-']:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(.uk-grid-preserve):not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider:not(.uk-grid-preserve)>*{padding-left:35px;padding-right:35px}.uk-grid-divider:not(.uk-grid-preserve):empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}[class*='uk-grid-width']>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}@media (min-width:480px){.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*='uk-width']{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:768px){[class*='uk-push-'],[class*='uk-pull-']{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel:before,.uk-panel:after{content:" ";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box .uk-panel-teaser{margin:-16px -16px 15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-panel-box .uk-panel-teaser>*{border-top-left-radius:4px;border-top-right-radius:4px}.uk-article:before,.uk-article:after{content:" ";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-article+.uk-article{padding-top:25px;border-top:1px solid #ddd}.uk-comment-header{margin-bottom:15px;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.uk-comment-header:before,.uk-comment-header:after{content:" ";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body{padding-left:10px;padding-right:10px}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:25px 0 0;list-style:none}.uk-comment-list>li:nth-child(n+2),.uk-comment-list .uk-comment+ul>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:50px}}.uk-comment-primary .uk-comment-header{border-color:rgba(45,112,145,.3);background-color:#ebf7fd;color:#2d7091;text-shadow:0 1px 0 #fff}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:hover,.uk-nav-side>li>a:focus{background:rgba(0,0,0,.03);color:#444;outline:none;box-shadow:inset 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd;box-shadow:0 1px 0 #fff}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:hover,.uk-nav-dropdown>li>a:focus{background:#009dd8;color:#fff;outline:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:hover,.uk-nav-navbar>li>a:focus{background:#009dd8;color:#fff;outline:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px;border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus{background:#404040;color:#fff;outline:none}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas .uk-nav-header{color:#777;margin-top:0;border-top:1px solid rgba(0,0,0,.3);background:#404040;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid rgba(255,255,255,.01);margin:0;height:4px;background:rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-nav-offcanvas{border-bottom:1px solid rgba(0,0,0,.3);box-shadow:0 1px 0 rgba(255,255,255,.05)}.uk-nav-offcanvas .uk-nav-sub{border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.uk-navbar{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.3);border-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-navbar:before,.uk-navbar:after{content:" ";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus,.uk-navbar-nav>li.uk-open>a{background-color:transparent;color:#444;outline:none;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li>a:active{background-color:#f5f5f5;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-content,.uk-navbar-brand,.uk-navbar-toggle{box-sizing:border-box;display:block;height:41px;padding:0 15px;float:left;margin-top:-1px;text-shadow:0 1px 0 #fff}.uk-navbar-content:before,.uk-navbar-brand:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:hover,.uk-navbar-brand:focus{color:#444;text-decoration:none;outline:none}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:hover,.uk-navbar-toggle:focus{color:#444;text-decoration:none;outline:none}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.uk-navbar-flip .uk-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-navbar-flip .uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.uk-navbar-flip .uk-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.uk-navbar-attached{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.uk-navbar-attached .uk-navbar-nav>li>a{border-radius:0!important}.uk-subnav{padding:0;list-style:none;font-size:.001px}.uk-subnav>li{position:relative;font-size:14px;vertical-align:top}.uk-subnav>li,.uk-subnav>li>a,.uk-subnav>li>span{display:inline-block}.uk-subnav>li:nth-child(n+2){margin-left:10px}.uk-subnav>li>a{color:#07d}.uk-subnav>li>a:hover{color:#059}.uk-subnav>li>span{color:#999}.uk-subnav-line>li:nth-child(n+2):before{content:"";display:inline-block;height:10px;margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>li>a,.uk-subnav-pill>li>span{padding:3px 9px;text-decoration:none;border-radius:4px}.uk-subnav-pill>li>a:hover,.uk-subnav-pill>li>a:focus{background:#fafafa;color:#444;outline:none;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.uk-subnav-pill>li.uk-active>a{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-breadcrumb{padding:0;list-style:none;font-size:.001px}.uk-breadcrumb>li{font-size:14px;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:.001px}.uk-pagination:before,.uk-pagination:after{content:" ";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:14px;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;box-sizing:content-box;text-align:center;border-radius:4px}.uk-pagination>li>a{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-pagination>li>a:hover,.uk-pagination>li>a:focus{background-color:#fafafa;color:#444;outline:none;background-image:none}.uk-pagination>li>a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-pagination>.uk-active>span{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 0 #fff}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:before,.uk-tab:after{content:" ";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07d;text-decoration:none;border-radius:4px 4px 0 0;text-shadow:0 1px 0 #fff}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li>a:hover,.uk-tab>li>a:focus,.uk-tab>li.uk-open>a{border-color:#ddd;background:#fafafa;color:#059;outline:none}.uk-tab>li:not(.uk-active)>a:hover,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li.uk-open:not(.uk-active)>a{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:auto}.uk-tab>li.uk-disabled>a:hover,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled.uk-active>a{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:before,.uk-tab-center:after{content:" ";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li:not(.uk-active)>a:hover,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li.uk-open:not(.uk-active)>a{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:hover,.uk-tab-left>li:not(.uk-active)>a:focus{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:hover,.uk-tab-right>li:not(.uk-active)>a:focus{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-tab-bottom>li>a{border-radius:0 0 4px 4px}@media (min-width:768px){.uk-tab-left>li>a{border-radius:4px 0 0 4px}.uk-tab-right>li>a{border-radius:0 4px 4px 0}}.uk-list{padding:0;list-style:none}.uk-list>li:before,.uk-list>li:after{content:" ";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px;border-bottom:1px solid #ddd}.uk-list-striped>li:nth-of-type(odd){background:#fafafa}.uk-list-space>li:nth-child(n+2){margin-top:10px}.uk-list-striped>li:first-child{border-top:1px solid #ddd}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table th,.uk-table td{padding:8px;border-bottom:1px solid #ddd}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#fafafa}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#f0f0f0}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type="checkbox"],.uk-form input[type="radio"]{padding:0}.uk-form input[type="checkbox"]:not(:disabled),.uk-form input[type="radio"]:not(:disabled){cursor:pointer}.uk-form textarea,.uk-form input:not([type]),.uk-form input[type="text"],.uk-form input[type="password"],.uk-form input[type="email"],.uk-form input[type="url"],.uk-form input[type="search"],.uk-form input[type="tel"],.uk-form input[type="number"],.uk-form input[type="datetime"]{-webkit-appearance:none}.uk-form input[type="search"]::-webkit-search-cancel-button,.uk-form input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type="number"]::-webkit-inner-spin-button,.uk-form input[type="number"]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type="radio"]):not([type="checkbox"]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form select,.uk-form textarea,.uk-form input:not([type]),.uk-form input[type="text"],.uk-form input[type="password"],.uk-form input[type="datetime"],.uk-form input[type="datetime-local"],.uk-form input[type="date"],.uk-form input[type="month"],.uk-form input[type="time"],.uk-form input[type="week"],.uk-form input[type="number"],.uk-form input[type="email"],.uk-form input[type="url"],.uk-form input[type="search"],.uk-form input[type="tel"],.uk-form input[type="color"]{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s;border-radius:4px}.uk-form select:focus,.uk-form textarea:focus,.uk-form input:not([type]):focus,.uk-form input[type="text"]:focus,.uk-form input[type="password"]:focus,.uk-form input[type="datetime"]:focus,.uk-form input[type="datetime-local"]:focus,.uk-form input[type="date"]:focus,.uk-form input[type="month"]:focus,.uk-form input[type="time"]:focus,.uk-form input[type="week"]:focus,.uk-form input[type="number"]:focus,.uk-form input[type="email"]:focus,.uk-form input[type="url"]:focus,.uk-form input[type="search"]:focus,.uk-form input[type="tel"]:focus,.uk-form input[type="color"]:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form select:disabled,.uk-form textarea:disabled,.uk-form input:not([type]):disabled,.uk-form input[type="text"]:disabled,.uk-form input[type="password"]:disabled,.uk-form input[type="datetime"]:disabled,.uk-form input[type="datetime-local"]:disabled,.uk-form input[type="date"]:disabled,.uk-form input[type="month"]:disabled,.uk-form input[type="time"]:disabled,.uk-form input[type="week"]:disabled,.uk-form input[type="number"]:disabled,.uk-form input[type="email"]:disabled,.uk-form input[type="url"]:disabled,.uk-form input[type="search"]:disabled,.uk-form input[type="tel"]:disabled,.uk-form input[type="color"]:disabled{border-color:#ddd;background-color:#fafafa;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd}select.uk-form-small,textarea.uk-form-small,input[type].uk-form-small,input:not([type]).uk-form-small{height:25px;padding:3px;font-size:12px}select.uk-form-large,textarea.uk-form-large,input[type].uk-form-large,input:not([type]).uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form textarea,.uk-form select[multiple],.uk-form select[size]{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#c91032!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#539022!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:none!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:before,.uk-form-row:after{content:" ";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*='uk-icon-']{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*='uk-icon-']{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#f7f7f7;vertical-align:middle;line-height:28px;min-height:30px;font-size:14px;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);border-radius:4px;text-shadow:0 1px 0 #fff}.uk-button:not(:disabled){cursor:pointer}.uk-button:hover,.uk-button:focus{background-color:#fafafa;color:#444;outline:none;text-decoration:none;background-image:none}.uk-button:active,.uk-button.uk-active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-button-primary{background-color:#009dd8;color:#fff;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-primary:hover,.uk-button-primary:focus{background-color:#00aff2;color:#fff;background-image:none}.uk-button-primary:active,.uk-button-primary.uk-active{background-color:#008abf;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-success{background-color:#82bb42;color:#fff;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-success:hover,.uk-button-success:focus{background-color:#8fce48;color:#fff;background-image:none}.uk-button-success:active,.uk-button-success.uk-active{background-color:#76b430;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-danger{background-color:#d32c46;color:#fff;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-danger:hover,.uk-button-danger:focus{background-color:#e33551;color:#fff;background-image:none}.uk-button-danger:active,.uk-button-danger.uk-active{background-color:#c91c37;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.2);background-image:none;box-shadow:none;text-shadow:0 1px 0 #fff}.uk-button-link,.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active,.uk-button-link:disabled{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07d}.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:18px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:23px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:38px;font-size:16px;border-radius:5px}.uk-button-group{vertical-align:middle;position:relative;font-size:.001px;white-space:nowrap}.uk-button-group,.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-top-right-radius:0;border-bottom-right-radius:0}.uk-button-group>.uk-button:last-child,.uk-button-group>div:last-child .uk-button{border-top-left-radius:0;border-bottom-left-radius:0}.uk-button-group>.uk-button:nth-child(n+2),.uk-button-group>div:nth-child(n+2) .uk-button{margin-left:-1px}.uk-button-group .uk-button:active{position:relative}@font-face{font-family:'FontAwesome';src:url("../../fonts/fontawesome-webfont.eot");src:url("../../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../../fonts/fontawesome-webfont.woff") format("woff"),url("../../fonts/fontawesome-webfont.ttf") format("truetype");font-weight:400;font-style:normal}[class*='uk-icon-']{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uk-icon-small:before{font-size:150%;vertical-align:-10%}.uk-icon-medium:before{font-size:200%;vertical-align:-16%}.uk-icon-large:before{font-size:250%;vertical-align:-22%}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f7f7f7;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #ccc;border-bottom-color:#bbb;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-icon-button:hover,.uk-icon-button:focus{background-color:#fafafa;color:#444;text-decoration:none;outline:none;background-image:none}.uk-icon-button:active{background-color:#f5f5f5;color:#444;border-color:#ccc;border-top-color:#bbb;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-remove:before,.uk-icon-close:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-gear:before,.uk-icon-cog:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-rotate-right:before,.uk-icon-repeat:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-photo:before,.uk-icon-image:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-warning:before,.uk-icon-exclamation-triangle:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-gears:before,.uk-icon-cogs:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-save:before,.uk-icon-floppy-o:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-navicon:before,.uk-icon-reorder:before,.uk-icon-bars:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-unsorted:before,.uk-icon-sort:before{content:"\f0dc"}.uk-icon-sort-down:before,.uk-icon-sort-desc:before{content:"\f0dd"}.uk-icon-sort-up:before,.uk-icon-sort-asc:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-legal:before,.uk-icon-gavel:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-flash:before,.uk-icon-bolt:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-paste:before,.uk-icon-clipboard:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-unlink:before,.uk-icon-chain-broken:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-toggle-down:before,.uk-icon-caret-square-o-down:before{content:"\f150"}.uk-icon-toggle-up:before,.uk-icon-caret-square-o-up:before{content:"\f151"}.uk-icon-toggle-right:before,.uk-icon-caret-square-o-right:before{content:"\f152"}.uk-icon-euro:before,.uk-icon-eur:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-rupee:before,.uk-icon-inr:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-rmb:before,.uk-icon-yen:before,.uk-icon-jpy:before{content:"\f157"}.uk-icon-ruble:before,.uk-icon-rouble:before,.uk-icon-rub:before{content:"\f158"}.uk-icon-won:before,.uk-icon-krw:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-toggle-left:before,.uk-icon-caret-square-o-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-turkish-lira:before,.uk-icon-try:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-institution:before,.uk-icon-bank:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-mortar-board:before,.uk-icon-graduation-cap:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before,.uk-icon-file-image-o:before{content:"\f1c5"}.uk-icon-file-zip-o:before,.uk-icon-file-archive-o:before{content:"\f1c6"}.uk-icon-file-sound-o:before,.uk-icon-file-audio-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-saver:before,.uk-icon-support:before,.uk-icon-life-ring:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-ge:before,.uk-icon-empire:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-send:before,.uk-icon-paper-plane:before{content:"\f1d8"}.uk-icon-send-o:before,.uk-icon-paper-plane-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-soccer-ball-o:before,.uk-icon-futbol-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-shekel:before,.uk-icon-sheqel:before,.uk-icon-ils:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:hover,.uk-close:focus{opacity:.5;outline:none;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#fff;opacity:1;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 0 6px rgba(0,0,0,.3)}.uk-close-alt:hover,.uk-close-alt:focus{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:hover:after,.uk-close-alt:focus:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#009dd8;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-radius:2px;text-shadow:0 -1px 0 rgba(0,0,0,.2)}a.uk-badge:hover{color:#fff}.uk-badge-notification{box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-badge-warning{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-badge-danger{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-alert{margin-bottom:15px;color:#2d7091}.uk-alert,.parsley-errors-list{padding:10px;background:#ebf7fd;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert,*+.parsley-errors-list{margin-top:15px}.uk-alert>:last-child,.parsley-errors-list>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6,.parsley-errors-list h1,.parsley-errors-list h2,.parsley-errors-list h3,.parsley-errors-list h4,.parsley-errors-list h5,.parsley-errors-list h6{color:inherit}.uk-alert>.uk-close:first-child,.parsley-errors-list>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*,.parsley-errors-list>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-alert-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-alert-danger,.parsley-errors-list{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail,.wp-caption{display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.05)}a.uk-thumbnail:hover,a.uk-thumbnail:focus,a.wp-caption:hover,a.wp-caption:focus{border-color:#aaa;background-color:#fff;text-decoration:none;outline:none;box-shadow:0 1px 4px rgba(0,0,0,.3)}.uk-thumbnail-caption,.wp-caption figcaption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay-toggle.uk-hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:.001px}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;vertical-align:middle;font-size:14px;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay-toggle.uk-hover .uk-overlay-caption{opacity:1}.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#f7f7f7;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),inset 0 2px 2px rgba(0,0,0,.07);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#009dd8;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-progress-warning .uk-progress-bar{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-progress-danger .uk-progress-bar{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}[class*='uk-animation-']{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*='uk-animation-']{opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.uk-animation-10{-webkit-animation-duration:10s;animation-duration:10s}.uk-animation-top-left{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2);transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%);transform:translateX(33%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%);transform:translateX(-33%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%{-webkit-transform:translateX(-9px);transform:translateX(-9px)}20%{-webkit-transform:translateX(8px);transform:translateX(8px)}30%{-webkit-transform:translateX(-7px);transform:translateX(-7px)}40%{-webkit-transform:translateX(6px);transform:translateX(6px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}60%{-webkit-transform:translateX(4px);transform:translateX(4px)}70%{-webkit-transform:translateX(-3px);transform:translateX(-3px)}80%{-webkit-transform:translateX(2px);transform:translateX(2px)}90%{-webkit-transform:translateX(-1px);transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.uk-dropdown{display:none;position:absolute;top:100%;left:0;z-index:1020;box-sizing:border-box;width:200px;margin-top:5px;padding:15px;background:#fff;color:#444;font-size:14px;vertical-align:top;border:1px solid #cbcbcb;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-open>.uk-dropdown{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-flip{left:auto;right:0}.uk-dropdown-up{top:auto;bottom:100%;margin-top:auto;margin-bottom:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid,.uk-dropdown-grid>[class*='uk-width-']>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*='uk-width-']{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*='uk-width-']{width:100%}.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*='uk-width-']{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*='uk-width-']:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:6px;background:#fff;color:#444;left:-1px;border:1px solid #cbcbcb;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-dropdown-navbar.uk-dropdown-flip{left:auto}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);-ms-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out;border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.3)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+*{margin-top:0}.uk-modal-dialog-frameless{padding:0}.uk-modal-dialog-frameless>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-frameless>.uk-close:first-child{top:-7px;right:-7px}}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-offcanvas-bar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0}.uk-offcanvas-bar:after,.uk-offcanvas-bar-flip:after{width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-offcanvas-bar-flip:after{right:auto;left:0}.uk-switcher{margin:0;padding:0;list-style:none}.uk-switcher>*:not(.uk-active){display:none}.uk-tooltip{display:none;position:absolute;z-index:1030;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;text-align:center;border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top:after,.uk-tooltip-top-left:after,.uk-tooltip-top-right:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-top:after,.uk-tooltip-bottom:after{left:50%;margin-left:-5px}.uk-tooltip-top-left:after,.uk-tooltip-bottom-left:after{left:10px}.uk-tooltip-top-right:after,.uk-tooltip-bottom-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:none}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none}.uk-cover-object,[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-datepicker{width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:before,.uk-datepicker-nav:after{content:" ";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-previous:after,.uk-datepicker-next:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table th,.uk-datepicker-table td{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#ddd;color:#444;outline:none}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff}.uk-dotnav{padding:0;list-style:none;font-size:.001px}.uk-dotnav>li{display:inline-block;font-size:14px;vertical-align:top}.uk-dotnav>li:nth-child(n+2){margin-left:15px}.uk-dotnav>li>a{display:inline-block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);vertical-align:top;overflow:hidden;text-indent:-999%}.uk-dotnav>li>a:hover,.uk-dotnav>li>a:focus{background:rgba(50,50,50,.4);outline:none}.uk-dotnav>li>a:active{background:rgba(50,50,50,.6)}.uk-dotnav>li.uk-active>a{background:rgba(50,50,50,.4)}.uk-dotnav-vertical>li{display:block}.uk-dotnav-vertical>li:nth-child(n+2){margin-left:0;margin-top:15px}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-form input[type="radio"],.uk-form input[type="checkbox"]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type="radio"]{border-radius:50%}.uk-form input[type=checkbox]:checked:before{display:block}.uk-form input[type=radio]:checked:before{display:block;content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=radio]:disabled,.uk-form input[type=checkbox]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before{color:#aaa}.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type="file"]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-password{display:inline-block;position:relative;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important}.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-htmleditor-navbar{background:#eee}.uk-htmleditor-navbar:before{content:" ";display:table}.uk-htmleditor-navbar:after{content:" ";display:table;clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:none}.uk-htmleditor-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-htmleditor-navbar-flip{float:right}[data-mode='split'] .uk-htmleditor-button-code,[data-mode='split'] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}.uk-htmleditor-content:before{content:" ";display:table}.uk-htmleditor-content:after{content:" ";display:table;clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:40px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code{box-sizing:border-box}.uk-htmleditor-preview{box-sizing:border-box;padding:20px;overflow-y:scroll;position:relative}[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview,[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code{display:none}[data-mode='split'] .uk-htmleditor-code,[data-mode='split'] .uk-htmleditor-preview{float:left;width:50%}[data-mode='split'] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px;box-sizing:border-box}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-list-dragged{position:absolute;z-index:1050;padding-left:0;pointer-events:none}.uk-nestable-item{margin-bottom:10px;padding:5px;background:#f5f5f5}.uk-nestable-placeholder{box-sizing:border-box;margin-bottom:10px;border:1px dashed #ddd}.uk-nestable-empty{min-height:40px}.uk-nestable-handle{display:inline-block;font-size:18px;color:#ddd}.uk-nestable-handle:hover{cursor:move}.uk-nestable-handle:after{content:"\f0c9";font-family:FontAwesome}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action='toggle']{display:inline-block;color:#999;visibility:hidden}[data-nestable-action='toggle']:hover{color:#444;cursor:pointer}[data-nestable-action='toggle']:after{content:"\f147";font-family:FontAwesome}.uk-parent>.uk-nestable-item [data-nestable-action='toggle']{visibility:visible}.uk-collapsed>.uk-nestable-item [data-nestable-action='toggle']:after{content:"\f196"}.uk-collapsed .uk-nestable-list{display:none}.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;box-sizing:border-box;width:350px}.uk-notify-top-right,.uk-notify-bottom-right{left:auto;right:10px}.uk-notify-top-center,.uk-notify-bottom-center{left:50%;margin-left:-175px}.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-bottom-center{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091}.uk-notify-message-success{background:#f2fae3;color:#659f13}.uk-notify-message-warning{background:#fffceb;color:#e28327}.uk-notify-message-danger{background:#fff1f0;color:#d85030}.uk-placeholder{margin-bottom:15px;padding:20px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field::-moz-focus-inner{border:0;padding:0}.uk-search-field::-webkit-search-cancel-button,.uk-search-field::-webkit-search-decoration{-webkit-appearance:none}.uk-search-field::-ms-clear{display:none}.uk-search-field::-moz-placeholder{opacity:1}.uk-search-field{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:#444;-webkit-appearance:none;width:120px;height:30px;padding:0 0 0 30px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);-webkit-transition:all linear .2s;transition:all linear .2s;vertical-align:middle}.uk-search-field:-ms-input-placeholder{color:#999!important}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-dropdown-search{width:300px;margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:5px;margin-right:-15px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:none}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07d}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:rgba(0,0,0,0);background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777!important}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777}.uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:hover,.uk-slidenav:focus{outline:none;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{display:inline-block;position:relative;max-width:100%;box-sizing:border-box}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-sortable{position:relative}.uk-sortable>*{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-sortable>* *{-webkit-user-drag:none;user-drag:none}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-over{opacity:.3}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}[data-uk-sticky].uk-active{z-index:980;box-sizing:border-box}[data-uk-sticky][class*='uk-animation-']{-webkit-animation-duration:.15s;animation-duration:.15s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.04s;animation-duration:.04s}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}}.uk-text-nowrap,.uk-text-truncate{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px;margin:0 auto}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:before,.uk-container:after{content:" ";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before,.uk-clearfix:after{content:" ";display:table}.uk-clearfix:after{clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*='uk-float-']{max-width:100%}[class*='uk-align-']{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;margin-bottom:15px;float:left}.uk-align-medium-right{margin-left:15px;margin-bottom:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:.001px}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-middle,.uk-vertical-align-bottom{display:inline-block;max-width:100%;font-size:14px}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*='uk-height']{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-width,.uk-responsive-height{box-sizing:border-box}.uk-responsive-width{max-width:100%;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top,.post-type+.post-type{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted:hover,.uk-link-muted a:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset:hover,.uk-link-reset a:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll}.uk-scrollable-text,.uk-scrollable-box{-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute{position:absolute!important}.uk-position-relative{position:relative!important}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important}@media (min-width:960px){.uk-visible-small,.uk-visible-medium,.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small,.uk-visible-large,.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium,.uk-visible-large,.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-navbar-nav>li>a[href='#']{cursor:pointer}.alignnone{margin:5px 15px 15px 0}.aligncenter{display:block}.alignright{float:right;margin:5px 0 15px 15px}.alignleft{float:left;margin:5px 15px 15px 0}.aligncenter{display:block;margin:5px auto}.wp-caption{text-align:center}.article-bottom p:last-child{margin-bottom:0}.parsley-errors-list{display:none;list-style:none;margin-bottom:0}.parsley-errors-list.filled{display:block}.parsley-custom-errors .parsley-errors-list.filled{margin-top:15px} \ No newline at end of file diff --git a/assets/css/src/_global.less b/assets/css/src/_global.less index b9b8f99..e69de29 100755 --- a/assets/css/src/_global.less +++ b/assets/css/src/_global.less @@ -1,6 +0,0 @@ -html { - box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; -} \ No newline at end of file diff --git a/assets/css/src/app.less b/assets/css/src/app.less index 397cb67..ab8c91a 100755 --- a/assets/css/src/app.less +++ b/assets/css/src/app.less @@ -55,6 +55,7 @@ // Project overrides for UIkit components @import "uikit/variables.less"; +@import "uikit/base.less"; @import "uikit/comment.less"; @import "uikit/icon.less"; @import "uikit/navbar.less"; diff --git a/assets/css/src/uikit/base.less b/assets/css/src/uikit/base.less new file mode 100644 index 0000000..251c8c1 --- /dev/null +++ b/assets/css/src/uikit/base.less @@ -0,0 +1,7 @@ +.hook-base-body() { + box-sizing: border-box; + + *, *:before, *:after { + box-sizing: inherit; + } +} \ No newline at end of file diff --git a/assets/js/build/scripts.min.js b/assets/js/build/scripts.min.js index 00549bf..7dba773 100644 --- a/assets/js/build/scripts.min.js +++ b/assets/js/build/scripts.min.js @@ -4,4 +4,4 @@ function FastClick(t,e){"use strict";function i(t,e){return function(){return t. if(s.push(p),l=this.dragDepth-1+this.pointEl.parents(u.listNodeName).length,l>u.maxDepth)return;var y=e.pageY','',"
"+this.options.message+"
",""].join("")).data("notifyMessage",this),this.options.status&&(this.element.addClass("uk-notify-message-"+this.options.status),this.currentstatus=this.options.status),this.group=this.options.group,n[this.uuid]=this,i[this.options.pos]||(i[this.options.pos]=t('
').appendTo("body").on("click",".uk-notify-message",function(){t(this).data("notifyMessage").close()}))};return t.extend(r.prototype,{uuid:!1,element:!1,timout:!1,currentstatus:"",group:!1,show:function(){if(!this.element.is(":visible")){var t=this;i[this.options.pos].show().prepend(this.element);var e=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":e},function(){if(t.options.timeout){var e=function(){t.close()};t.timeout=setTimeout(e,t.options.timeout),t.element.hover(function(){clearTimeout(t.timeout)},function(){t.timeout=setTimeout(e,t.options.timeout)})}}),this}},close:function(t){var e=this,s=function(){e.element.remove(),i[e.options.pos].children().length||i[e.options.pos].hide(),e.options.onClose.apply(e,[]),delete n[e.uuid]};this.timeout&&clearTimeout(this.timeout),t?s():this.element.animate({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0},function(){s()})},content:function(t){var e=this.element.find(">div");return t?(e.html(t),this):e.html()},status:function(t){return t?(this.element.removeClass("uk-notify-message-"+this.currentstatus).addClass("uk-notify-message-"+t),this.currentstatus=t,this):this.currentstatus}}),r.defaults={message:"",status:"",timeout:5e3,group:null,pos:"top-center",onClose:function(){}},e.notify=s,e.notify.message=r,e.notify.closeAll=o,s}),function(t){var e;jQuery&&jQuery.UIkit&&(e=t(jQuery,jQuery.UIkit)),"function"==typeof define&&define.amd&&define("uikit-pagination",["uikit"],function(){return e||t(jQuery,jQuery.UIkit)})}(function(t,e){"use strict";return e.component("pagination",{defaults:{items:1,itemsOnPage:1,pages:0,displayedPages:3,edges:3,currentPage:1,lblPrev:!1,lblNext:!1,onSelectPage:function(){}},init:function(){var e=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-1,this.halfDisplayed=this.options.displayedPages/2,this.on("click","a[data-page]",function(i){i.preventDefault(),e.selectPage(t(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(t){this.pages=t?t:this.pages,this._render()},selectPage:function(t,e){this.currentPage=t,this.render(e),this.options.onSelectPage.apply(this,[t]),this.trigger("uk-select-page",[t,this])},_render:function(){var t,e=this.options,i=this._getInterval();if(this.element.empty(),e.lblPrev&&this._append(e.currentPage-1,{text:e.lblPrev}),i.start>0&&e.edges>0){var n=Math.min(e.edges,i.start);for(t=0;n>t;t++)this._append(t);e.edges..."):i.start-e.edges==1&&this._append(e.edges)}for(t=i.start;t0){this.pages-e.edges>i.end&&this.pages-e.edges-i.end!=1?this.element.append("
  • ...
  • "):this.pages-e.edges-i.end==1&&this._append(i.end++);var s=Math.max(this.pages-e.edges,i.end);for(t=s;te?0:e'+s.text+"":'
  • '+s.text+"
  • ",this.element.append(n)}}),e.ready(function(i){t("[data-uk-pagination]",i).each(function(){var i=t(this);if(!i.data("pagination")){e.pagination(i,e.Utils.options(i.attr("data-uk-pagination")))}})}),e.pagination}),function(t){var e;jQuery&&jQuery.UIkit&&(e=t(jQuery,jQuery.UIkit)),"function"==typeof define&&define.amd&&define("uikit-search",["uikit"],function(){return e||t(jQuery,jQuery.UIkit)})}(function(t,e){"use strict";e.component("search",{defaults:{msgResultsHeader:"Search Results",msgMoreResults:"More Results",msgNoResults:"No results found",template:'',renderer:function(t){var e=this.options;this.dropdown.append(this.template({items:t.results||[],msgResultsHeader:e.msgResultsHeader,msgMoreResults:e.msgMoreResults,msgNoResults:e.msgNoResults})),this.show()}},init:function(){var t=this;this.autocomplete=e.autocomplete(this.element,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-search"),this.autocomplete.input.on("keyup",function(){t.element[t.autocomplete.input.val()?"addClass":"removeClass"]("uk-active")}).closest("form").on("reset",function(){t.value="",t.element.removeClass("uk-active")}),this.on("autocomplete-select",function(t,e){e.url?location.href=e.url:e.moreresults&&this.autocomplete.input.closest("form").submit()}),this.element.data("search",this)}}),e.$doc.on("focus.search.uikit","[data-uk-search]",function(){var i=t(this);if(!i.data("search")){e.search(i,e.Utils.options(i.attr("data-uk-search")))}})}),function(t){var e;jQuery&&jQuery.UIkit&&(e=t(jQuery,jQuery.UIkit)),"function"==typeof define&&define.amd&&define("uikit-sortable",["uikit"],function(){return e||t(jQuery,jQuery.UIkit)})}(function(t,e){"use strict";function i(t,e){var i=t.parentNode;if(e.parentNode!=i)return!1;for(var n=t.previousSibling;n&&9!==n.nodeType;){if(n===e)return!0;n=n.previousSibling}return!1}function n(t,e){var i=e;if(i==t)return null;for(;i;){if(i.parentNode===t)return i;if(i=i.parentNode,!i||!i.ownerDocument||11===i.nodeType)break}return null}function s(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.returnValue=!1}var o,r,a,l,u,h="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,d=!h&&function(){var t=document.createElement("div");return"draggable"in t||"ondragstart"in t&&"ondrop"in t}();return d=!1,e.component("sortable",{defaults:{warp:!1,animation:150,threshold:10,childClass:"uk-sortable-item",placeholderClass:"uk-sortable-placeholder",overClass:"uk-sortable-over",draggingClass:"uk-sortable-dragged",dragMovingClass:"uk-sortable-moving",dragCustomClass:"",handleClass:!1,stop:function(){},start:function(){},change:function(){}},init:function(){function e(e){return function(i){var s=h&&i.touches&&i.touches[0]||{},o=s.target||i.target;if(h&&document.elementFromPoint&&(o=document.elementFromPoint(i.pageX-document.body.scrollLeft,i.pageY-document.body.scrollTop)),t(o).hasClass(p.options.childClass))e.apply(o,[i]);else if(o!==m){var r=n(m,o);r&&e.apply(r,[i])}}}function i(){d||(h?m.addEventListener("touchmove",x,!1):(m.addEventListener("mouseover",k,!1),m.addEventListener("mouseout",b,!1)),m.addEventListener(h?"touchend":"mouseup",_,!1),document.addEventListener(h?"touchend":"mouseup",C,!1),document.addEventListener("selectstart",s,!1))}function c(){d||(h?m.removeEventListener("touchmove",x,!1):(m.removeEventListener("mouseover",k,!1),m.removeEventListener("mouseout",b,!1)),m.removeEventListener(h?"touchend":"mouseup",_,!1),document.removeEventListener(h?"touchend":"mouseup",C,!1),document.removeEventListener("selectstart",s,!1))}var f,p=this,m=this.element[0],g=null,v=null;d?this.element.children().attr("draggable","true"):this.element.on("mousedown touchstart","a[href]",function(e){e.ctrlKey||e.metaKey||e.shiftKey||(l=t(this))}).on("click","a[href]",function(e){return e.ctrlKey||e.metaKey||e.shiftKey?void 0:(l=t(this),e.stopImmediatePropagation(),!1)});var y=e(function(e){r=!1,a=!1;{var n=t(e.target);p.element.children()}if(h||2!=e.button){if(p.options.handleClass){var s=n.hasClass(p.options.handleClass)?n:n.closest("."+p.options.handleClass,m);if(!s.length)return}e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.dropEffect="move",e.dataTransfer.setData("Text","*")),g=this,o&&o.remove();var l=t(g),c=l.offset();u={pos:{x:e.pageX,y:e.pageY},threshold:p.options.threshold,apply:function(){o=t('
    ').css({display:"none",top:c.top,left:c.left,width:l.width(),height:l.height(),padding:l.css("padding")}).data("mouse-offset",{left:c.left-parseInt(e.pageX,10),top:c.top-parseInt(e.pageY,10)}).append(l.html()).appendTo("body"),o.$current=l,o.$sortable=p,i(),p.options.start(this,g),p.trigger("sortable-start",[p,g]),u=!1}},d||e.preventDefault()}}),w=e(function(t){return g?(t.preventDefault&&t.preventDefault(),!1):!0}),k=e(t.UIkit.Utils.debounce(function(){if(!g||g===this)return!0;var e=p.dragenterData(this);return p.dragenterData(this,e+1),0===e&&(t(this).addClass(p.options.overClass),p.options.warp||p.moveElementNextTo(g,this)),!1}),40),b=e(function(){var e=p.dragenterData(this);p.dragenterData(this,e-1),p.dragenterData(this)||(t(this).removeClass(p.options.overClass),p.dragenterData(this,!1))}),_=e(function(t){if("drop"===t.type&&(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()),a){if(p.options.warp){var e=g.nextSibling;this.parentNode.insertBefore(g,this),this.parentNode.insertBefore(this,e)}p.options.change(this,g),p.trigger("sortable-change",[p,g])}}),C=function(){g=null,v=null,p.element.children().each(function(){1===this.nodeType&&(t(this).removeClass(p.options.overClass).removeClass(p.options.placeholderClass).removeClass(p.options.childClass),p.dragenterData(this,!1))}),t("html").removeClass(p.options.dragMovingClass),c(),p.options.stop(this),p.trigger("sortable-stop",[p]),o.remove(),o=null},x=e(function(e){return g&&g!==this&&v!==this?(f.removeClass(p.options.overClass),v=this,p.options.warp?t(this).addClass(p.options.overClass):p.moveElementNextTo(g,this),s(e)):!0});d?(m.addEventListener("dragstart",y,!1),m.addEventListener("dragenter",k,!1),m.addEventListener("dragleave",b,!1),m.addEventListener("drop",_,!1),m.addEventListener("dragover",w,!1),m.addEventListener("dragend",C,!1)):m.addEventListener(h?"touchstart":"mousedown",y,!1)},dragenterData:function(e,i){return e=t(e),1==arguments.length?parseInt(e.attr("data-child-dragenter"),10)||0:void(i?e.attr("data-child-dragenter",Math.max(0,i)):e.removeAttr("data-child-dragenter"))},moveElementNextTo:function(n,s){a=!0;var o=this,r=t(n).parent().css("min-height",""),l=i(n,s)?s:s.nextSibling,u=r.children(),h=u.length;return o.options.warp||!o.options.animation?(s.parentNode.insertBefore(n,l),void e.Utils.checkDisplay(o.element)):(r.css("min-height",r.height()),u.stop().each(function(){var e=t(this),i=e.position();i.width=e.width(),e.data("offset-before",i)}),s.parentNode.insertBefore(n,l),u=r.children().each(function(){var e=t(this);e.data("offset-after",e.position())}).each(function(){var e=t(this),i=e.data("offset-before");e.css({position:"absolute",top:i.top,left:i.left,"min-width":i.width})}),void u.each(function(){var i=t(this),n=(i.data("offset-before"),i.data("offset-after"));i.css("pointer-events","none").width(),setTimeout(function(){i.animate({top:n.top,left:n.left},o.options.animation,function(){i.css({position:"",top:"",left:"","min-width":"","pointer-events":""}).removeClass(o.options.overClass).attr("data-child-dragenter",""),h--,h||(r.css("min-height",""),e.Utils.checkDisplay(i))})},0)}))}}),e.ready(function(i){t("[data-uk-sortable]",i).each(function(){var i=t(this);if(!i.data("sortable")){e.sortable(i,e.Utils.options(i.attr("data-uk-sortable")))}})}),e.$doc.on("mousemove touchmove",function(e){if(u&&(Math.abs(e.pageX-u.pos.x)>u.threshold||Math.abs(e.pageY-u.pos.y)>u.threshold)&&u.apply(),o){r||(r=!0,o.show(),o.$current.addClass(o.$sortable.options.placeholderClass),o.$sortable.element.children().addClass(o.$sortable.options.childClass),t("html").addClass(o.$sortable.options.dragMovingClass));var i=o.data("mouse-offset"),n=parseInt(e.originalEvent.pageX,10)+i.left,s=parseInt(e.originalEvent.pageY,10)+i.top;o.css({left:n,top:s})}}),e.$doc.on("mouseup touchend",function(){!r&&l&&(location.href=l.attr("href")),u=l=!1}),e.sortable}),function(t){var e;jQuery&&jQuery.UIkit&&(e=t(jQuery,jQuery.UIkit)),"function"==typeof define&&define.amd&&define("uikit-sticky",["uikit"],function(){return e||t(jQuery,jQuery.UIkit)})}(function(t,e){function i(){if(o.length){var e,i=n.scrollTop(),r=s.height(),a=r-n.height(),l=i>a?a-i:0;if(!(0>i))for(var u=0;ue?e+h.options.top:h.options.top),h.currentTop!=e){if(h.element.css({position:"fixed",top:e,width:"undefined"!=typeof h.getWidthFrom?t(h.getWidthFrom).width():h.element.width(),left:h.wrapper.offset().left}),!h.init&&(h.element.addClass(h.options.clsinit),location.hash&&i>0&&h.options.target)){var d=t(location.hash);d.length&&setTimeout(function(t,e){return function(){e.element.width();var n=t.offset(),s=n.top+t.outerHeight(),o=e.element.offset(),r=e.element.outerHeight(),a=o.top+r;o.top').css({height:"absolute"!=this.element.css("position")?this.element.outerHeight():"","float":"none"!=this.element.css("float")?this.element.css("float"):"",margin:this.element.css("margin")});i=this.element.css("margin",0).wrap(i).parent(),this.sticky={options:this.options,element:this.element,currentTop:null,wrapper:i,init:!1,getWidthFrom:this.options.getWidthFrom||i,reset:function(t){var i=function(){this.element.css({position:"",top:"",width:"",left:"",margin:"0"}),this.element.removeClass([this.options.animation,"uk-animation-reverse",this.options.clsactive].join(" ")),this.currentTop=null,this.animate=!1}.bind(this);!t&&this.options.animation&&e.support.animation?(this.animate=!0,this.element.removeClass(this.options.animation).one(e.support.animation.end,function(){i()}).width(),this.element.addClass(this.options.animation+" uk-animation-reverse")):i()},check:function(){if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidthi?i-t:0,r=this.wrapper.offset().top,a=r-this.options.top-o;return t>=a}},o.push(this.sticky)},update:function(){i()}}),s.on("uk-scroll",i),n.on("resize orientationchange",e.Utils.debounce(function(){if(o.length){for(var t=0;tn;n++)s=""+n,10>n&&(s="0"+s),i["24h"].push({value:s+":00"}),i["24h"].push({value:s+":30"}),13>n&&(i["12h"].push({value:s+":00 AM"}),i["12h"].push({value:s+":30 AM"})),n>12&&(s-=12,10>s&&(s="0"+String(s)),i["12h"].push({value:s+":00 PM"}),i["12h"].push({value:s+":30 PM"}));e.component("timepicker",{defaults:{format:"24h",delay:0},init:function(){var t=this;this.options.minLength=0,this.options.template='',this.options.source=function(e){e(i[t.options.format]||i["12h"])},this.element.wrap('
    '),this.autocomplete=e.autocomplete(this.element.parent(),this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("autocomplete-show",function(){var e=t.autocomplete.dropdown.find('[data-value="'+t.autocomplete.input.val()+'"]');setTimeout(function(){t.autocomplete.pick(e,!0)},10)}),this.autocomplete.input.on("focus",function(){t.autocomplete.value=Math.random(),t.autocomplete.triggercomplete()}).on("blur",function(){t.checkTime()}),this.element.data("timepicker",this)},checkTime:function(){var t,e,i,n,s="AM",o=this.autocomplete.input.val();"12h"==this.options.format?(t=o.split(" "),e=t[0].split(":"),s=t[1]):e=o.split(":"),i=parseInt(e[0],10),n=parseInt(e[1],10),isNaN(i)&&(i=0),isNaN(n)&&(n=0),"12h"==this.options.format?(i>12?i=12:0>i&&(i=12),"am"===s||"a"===s?s="AM":("pm"===s||"p"===s)&&(s="PM"),"AM"!==s&&"PM"!==s&&(s="AM")):i>=24?i=23:0>i&&(i=0),0>n?n=0:n>=60&&(n=0),this.autocomplete.input.val(this.formatTime(i,n,s))},formatTime:function(t,e,i){return t=10>t?"0"+t:t,e=10>e?"0"+e:e,t+":"+e+("12h"==this.options.format?" "+i:"")}}),e.$doc.on("focus.timepicker.uikit","[data-uk-timepicker]",function(){var i=t(this);if(!i.data("timepicker")){var n=e.timepicker(i,e.Utils.options(i.attr("data-uk-timepicker")));setTimeout(function(){n.autocomplete.input.focus()},20)}})}),function(t){var e;jQuery&&jQuery.UIkit&&(e=t(jQuery,jQuery.UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return e||t(jQuery,jQuery.UIkit)})}(function(t,e){function i(s,o){function r(e,i){var n=new FormData,s=new XMLHttpRequest;if(i.before(i,e)!==!1){for(var o,r=0;o=e[r];r++)n.append(i.param,o);for(var a in i.params)n.append(a,i.params[a]);s.upload.addEventListener("progress",function(t){var e=t.loaded/t.total*100;i.progress(e,t)},!1),s.addEventListener("loadstart",function(t){i.loadstart(t)},!1),s.addEventListener("load",function(t){i.load(t)},!1),s.addEventListener("loadend",function(t){i.loadend(t)},!1),s.addEventListener("error",function(t){i.error(t)},!1),s.addEventListener("abort",function(t){i.abort(t)},!1),s.open(i.method,i.action,!0),s.onreadystatechange=function(){if(i.readystatechange(s),4==s.readyState){var e=s.responseText;if("json"==i.type)try{e=t.parseJSON(e)}catch(n){e=!1}i.complete(e,s)}},i.beforeSend(s),s.send(n)}}if(!e.support.ajaxupload)return this;if(o=t.extend({},i.defaults,o),s.length){if("*.*"!==o.allow)for(var a,l=0;a=s[l];l++)if(!n(o.allow,a.name))return void("string"==typeof o.notallowed?alert(o.notallowed):o.notallowed(a,o));var u=o.complete;if(o.single){var h=s.length,d=0,c=!0;o.beforeAll(s),o.complete=function(t,e){d+=1,u(t,e),o.filelimit&&d>=o.filelimit&&(c=!1),c&&h>d?r([s[d]],o):o.allcomplete(t,e)},r([s[0]],o)}else o.complete=function(t,e){u(t,e),o.allcomplete(t,e)},r(s,o)}}function n(t,e){var i="^"+t.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return i="^"+i+"$",null!==e.match(new RegExp(i,"i"))}return e.component("uploadSelect",{init:function(){var t=this;this.on("change",function(){i(t.element[0].files,t.options);var e=t.element.clone(!0).data("uploadSelect",t);t.element.replaceWith(e),t.element=e})}}),e.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var t=this,e=!1;this.on("drop",function(e){e.dataTransfer&&e.dataTransfer.files&&(e.stopPropagation(),e.preventDefault(),t.element.removeClass(t.options.dragoverClass),t.element.trigger("uk.dropped",[e.dataTransfer.files]),i(e.dataTransfer.files,t.options))}).on("dragenter",function(t){t.stopPropagation(),t.preventDefault()}).on("dragover",function(i){i.stopPropagation(),i.preventDefault(),e||(t.element.addClass(t.options.dragoverClass),e=!0)}).on("dragleave",function(i){i.stopPropagation(),i.preventDefault(),t.element.removeClass(t.options.dragoverClass),e=!1})}}),e.support.ajaxupload=function(){function t(){var t=document.createElement("INPUT");return t.type="file","files"in t}function e(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)}function i(){return!!window.FormData}return t()&&e()&&i()}(),e.support.ajaxupload&&t.event.props.push("dataTransfer"),i.defaults={action:"",single:!0,method:"POST",param:"files[]",params:{},allow:"*.*",type:"text",filelimit:!1,before:function(){},beforeSend:function(){},beforeAll:function(){},loadstart:function(){},load:function(){},loadend:function(){},error:function(){},abort:function(){},progress:function(){},complete:function(){},allcomplete:function(){},readystatechange:function(){},notallowed:function(t,e){alert("Only the following file types are allowed: "+e.allow)}},e.Utils.xhrupload=i,i});var deviceIsAndroid=navigator.userAgent.indexOf("Android")>0,deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),deviceIsIOS4=deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent),deviceIsIOSWithBadTarget=deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent),deviceIsBlackBerry10=navigator.userAgent.indexOf("BB10")>0;FastClick.prototype.needsClick=function(t){"use strict";switch(t.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(t.disabled)return!0;break;case"input":if(deviceIsIOS&&"file"===t.type||t.disabled)return!0;break;case"label":case"video":return!0}return/\bneedsclick\b/.test(t.className)},FastClick.prototype.needsFocus=function(t){"use strict";switch(t.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!deviceIsAndroid;case"input":switch(t.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!t.disabled&&!t.readOnly;default:return/\bneedsfocus\b/.test(t.className)}},FastClick.prototype.sendClick=function(t,e){"use strict";var i,n;document.activeElement&&document.activeElement!==t&&document.activeElement.blur(),n=e.changedTouches[0],i=document.createEvent("MouseEvents"),i.initMouseEvent(this.determineEventType(t),!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),i.forwardedTouchEvent=!0,t.dispatchEvent(i)},FastClick.prototype.determineEventType=function(t){"use strict";return deviceIsAndroid&&"select"===t.tagName.toLowerCase()?"mousedown":"click"},FastClick.prototype.focus=function(t){"use strict";var e;deviceIsIOS&&t.setSelectionRange&&0!==t.type.indexOf("date")&&"time"!==t.type?(e=t.value.length,t.setSelectionRange(e,e)):t.focus()},FastClick.prototype.updateScrollParent=function(t){"use strict";var e,i;if(e=t.fastClickScrollParent,!e||!e.contains(t)){i=t;do{if(i.scrollHeight>i.offsetHeight){e=i,t.fastClickScrollParent=i;break}i=i.parentElement}while(i)}e&&(e.fastClickLastScrollTop=e.scrollTop)},FastClick.prototype.getTargetElementFromEventTarget=function(t){"use strict";return t.nodeType===Node.TEXT_NODE?t.parentNode:t},FastClick.prototype.onTouchStart=function(t){"use strict";var e,i,n;if(t.targetTouches.length>1)return!0;if(e=this.getTargetElementFromEventTarget(t.target),i=t.targetTouches[0],deviceIsIOS){if(n=window.getSelection(),n.rangeCount&&!n.isCollapsed)return!0;if(!deviceIsIOS4){if(i.identifier&&i.identifier===this.lastTouchIdentifier)return t.preventDefault(),!1;this.lastTouchIdentifier=i.identifier,this.updateScrollParent(e)}}return this.trackingClick=!0,this.trackingClickStart=t.timeStamp,this.targetElement=e,this.touchStartX=i.pageX,this.touchStartY=i.pageY,t.timeStamp-this.lastClickTimei||Math.abs(e.pageY-this.touchStartY)>i?!0:!1},FastClick.prototype.onTouchMove=function(t){"use strict";return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(t.target)||this.touchHasMoved(t))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},FastClick.prototype.findControl=function(t){"use strict";return void 0!==t.control?t.control:t.htmlFor?document.getElementById(t.htmlFor):t.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},FastClick.prototype.onTouchEnd=function(t){"use strict";var e,i,n,s,o,r=this.targetElement;if(!this.trackingClick)return!0;if(t.timeStamp-this.lastClickTime100||deviceIsIOS&&window.top!==window&&"input"===n?(this.targetElement=null,!1):(this.focus(r),this.sendClick(r,t),deviceIsIOS&&"select"===n||(this.targetElement=null,t.preventDefault()),!1);return deviceIsIOS&&!deviceIsIOS4&&(s=r.fastClickScrollParent,s&&s.fastClickLastScrollTop!==s.scrollTop)?!0:(this.needsClick(r)||(t.preventDefault(),this.sendClick(r,t)),!1)},FastClick.prototype.onTouchCancel=function(){"use strict";this.trackingClick=!1,this.targetElement=null},FastClick.prototype.onMouse=function(t){"use strict";return this.targetElement?t.forwardedTouchEvent?!0:t.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(t.stopImmediatePropagation?t.stopImmediatePropagation():t.propagationStopped=!0,t.stopPropagation(),t.preventDefault(),!1):!0:!0},FastClick.prototype.onClick=function(t){"use strict";var e;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===t.target.type&&0===t.detail?!0:(e=this.onMouse(t),e||(this.targetElement=null),e)},FastClick.prototype.destroy=function(){"use strict";var t=this.layer;deviceIsAndroid&&(t.removeEventListener("mouseover",this.onMouse,!0),t.removeEventListener("mousedown",this.onMouse,!0),t.removeEventListener("mouseup",this.onMouse,!0)),t.removeEventListener("click",this.onClick,!0),t.removeEventListener("touchstart",this.onTouchStart,!1),t.removeEventListener("touchmove",this.onTouchMove,!1),t.removeEventListener("touchend",this.onTouchEnd,!1),t.removeEventListener("touchcancel",this.onTouchCancel,!1)},FastClick.notNeeded=function(t){"use strict";var e,i,n;if("undefined"==typeof window.ontouchstart)return!0;if(i=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!deviceIsAndroid)return!0;if(e=document.querySelector("meta[name=viewport]")){if(-1!==e.content.indexOf("user-scalable=no"))return!0;if(i>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(deviceIsBlackBerry10&&(n=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),n[1]>=10&&n[2]>=3&&(e=document.querySelector("meta[name=viewport]")))){if(-1!==e.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===t.style.msTouchAction?!0:!1},FastClick.attach=function(t,e){"use strict";return new FastClick(t,e)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){"use strict";return FastClick}):"undefined"!=typeof module&&module.exports?(module.exports=FastClick.attach,module.exports.FastClick=FastClick):window.FastClick=FastClick,function(t,e,i){function n(t){var e={},n=/^jQuery\d+$/;return i.each(t.attributes,function(t,i){i.specified&&!n.test(i.name)&&(e[i.name]=i.value)}),e}function s(t,e){var n=this,s=i(n);if(n.value==s.attr("placeholder")&&s.hasClass("placeholder"))if(s.data("placeholder-password")){if(s=s.hide().next().show().attr("id",s.removeAttr("id").data("placeholder-id")),t===!0)return s[0].value=e;s.focus()}else n.value="",s.removeClass("placeholder"),n==r()&&n.select()}function o(){var t,e=this,o=i(e),r=this.id;if(""==e.value){if("password"==e.type){if(!o.data("placeholder-textinput")){try{t=o.clone().attr({type:"text"})}catch(a){t=i("").attr(i.extend(n(this),{type:"text"}))}t.removeAttr("name").data({"placeholder-password":o,"placeholder-id":r}).bind("focus.placeholder",s),o.data({"placeholder-textinput":t,"placeholder-id":r}).before(t)}o=o.removeAttr("id").hide().prev().attr("id",r).show()}o.addClass("placeholder"),o[0].value=o.attr("placeholder")}else o.removeClass("placeholder")}function r(){try{return e.activeElement}catch(t){}}var a,l,u="[object OperaMini]"==Object.prototype.toString.call(t.operamini),h="placeholder"in e.createElement("input")&&!u,d="placeholder"in e.createElement("textarea")&&!u,c=i.fn,f=i.valHooks,p=i.propHooks;h&&d?(l=c.placeholder=function(){return this },l.input=l.textarea=!0):(l=c.placeholder=function(){var t=this;return t.filter((h?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":s,"blur.placeholder":o}).data("placeholder-enabled",!0).trigger("blur.placeholder"),t},l.input=h,l.textarea=d,a={get:function(t){var e=i(t),n=e.data("placeholder-password");return n?n[0].value:e.data("placeholder-enabled")&&e.hasClass("placeholder")?"":t.value},set:function(t,e){var n=i(t),a=n.data("placeholder-password");return a?a[0].value=e:n.data("placeholder-enabled")?(""==e?(t.value=e,t!=r()&&o.call(t)):n.hasClass("placeholder")?s.call(t,!0,e)||(t.value=e):t.value=e,n):t.value=e}},h||(f.input=a,p.value=a),d||(f.textarea=a,p.value=a),i(function(){i(e).delegate("form","submit.placeholder",function(){var t=i(".placeholder",this).each(s);setTimeout(function(){t.each(o)},10)})}),i(t).bind("beforeunload.placeholder",function(){i(".placeholder").each(function(){this.value=""})}))}(this,document,jQuery),!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){"undefined"==typeof t&&"undefined"!=typeof window.jQuery&&(t=window.jQuery);var e={attr:function(t,e,i){var n,s={},o=this.msieversion(),r=new RegExp("^"+e,"i");if("undefined"==typeof t||"undefined"==typeof t[0])return{};for(var a in t[0].attributes)if(n=t[0].attributes[a],"undefined"!=typeof n&&null!==n&&(!o||o>=8||n.specified)&&r.test(n.name)){if("undefined"!=typeof i&&new RegExp(i+"$","i").test(n.name))return!0;s[this.camelize(n.name.replace(e,""))]=this.deserializeValue(n.value)}return"undefined"==typeof i?s:!1},setAttr:function(t,e,i,n){t[0].setAttribute(this.dasherize(e+i),String(n))},get:function(t,e){for(var i=0,n=(e||"").split(".");this.isObject(t)||this.isArray(t);)if(t=t[n[i++]],i===n.length)return t;return void 0},hash:function(t){return String(Math.random()).substring(2,t?t+2:9)},isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},isObject:function(t){return t===Object(t)},deserializeValue:function(e){var i;try{return e?"true"==e||("false"==e?!1:"null"==e?null:isNaN(i=Number(e))?/^[\[\{]/.test(e)?t.parseJSON(e):e:i):e}catch(n){return e}},camelize:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},dasherize:function(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()},msieversion:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");return e>0||navigator.userAgent.match(/Trident.*rv\:11\./)?parseInt(t.substring(e+5,t.indexOf(".",e)),10):0}},i={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset], input[type=hidden]",priorityEnabled:!0,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(){},errorsContainer:function(){},errorsWrapper:'
      ',errorTemplate:"
    • "},n=function(){};n.prototype={asyncSupport:!1,actualizeOptions:function(){return this.options=this.OptionsFactory.get(this),this},validateThroughValidator:function(t,e,i){return window.ParsleyValidator.validate.apply(window.ParsleyValidator,[t,e,i])},subscribe:function(e,i){return t.listenTo(this,e.toLowerCase(),i),this},unsubscribe:function(e){return t.unsubscribeTo(this,e.toLowerCase()),this},reset:function(){if("ParsleyForm"!==this.__class__)return t.emit("parsley:field:reset",this);for(var e=0;e=0;d--)"Required"!==h[d].__class__||(l=h[d].requiresValidation(e));if(this.has(a,t)||this.options.strict||l)try{this.has(a,this.options.strict||l?t:void 0)||(new s).HaveProperty(a).validate(t),i=this._check(a,t[a],e),(r(i)&&i.length>0||!r(i)&&!o(i))&&(n[a]=i)}catch(c){n[a]=c}}return o(n)?!0:n},add:function(t,e){if(e instanceof s||r(e)&&e[0]instanceof s)return this.nodes[t]=e,this;if("object"==typeof e&&!r(e))return this.nodes[t]=e instanceof i?e:new i(e),this;throw new Error("Should give an Assert, an Asserts array, a Constraint",e)},has:function(t,e){return e="undefined"!=typeof e?e:this.nodes,"undefined"!=typeof e[t]},get:function(t,e){return this.has(t)?this.nodes[t]:e||null},remove:function(t){var e=[];for(var i in this.nodes)i!==t&&(e[i]=this.nodes[i]);return this.nodes=e,this},_bootstrap:function(t){if(t instanceof i)return this.nodes=t.nodes;for(var e in t)this.add(e,t[e])},_check:function(t,e,n){if(this.nodes[t]instanceof s)return this._checkAsserts(e,[this.nodes[t]],n);if(r(this.nodes[t]))return this._checkAsserts(e,this.nodes[t],n);if(this.nodes[t]instanceof i)return this.nodes[t].check(e,n);throw new Error("Invalid node",this.nodes[t])},_checkAsserts:function(t,e,i){for(var n,s=[],o=0;o0},addGroup:function(t){return r(t)?this.addGroups(t):(this.hasGroup(t)||this.groups.push(t),this)},removeGroup:function(t){for(var e=[],i=0;i=t)throw new n(this,t,{threshold:this.threshold});return!0},this},GreaterThanOrEqual:function(t){if(this.__class__="GreaterThanOrEqual","undefined"==typeof t)throw new Error("Should give a threshold value");return this.threshold=t,this.validate=function(t){if(""===t||isNaN(Number(t)))throw new n(this,t,{value:e.errorCode.must_be_a_number});if(this.threshold>t)throw new n(this,t,{threshold:this.threshold});return!0},this},InstanceOf:function(t){if(this.__class__="InstanceOf","undefined"==typeof t)throw new Error("InstanceOf must be instanciated with a value");return this.classRef=t,this.validate=function(t){if(!0!=t instanceof this.classRef)throw new n(this,t,{classRef:this.classRef});return!0},this},Length:function(t){if(this.__class__="Length",!t.min&&!t.max)throw new Error("Lenth assert must be instanciated with a { min: x, max: y } object");return this.min=t.min,this.max=t.max,this.validate=function(t){if("string"!=typeof t&&!r(t))throw new n(this,t,{value:e.errorCode.must_be_a_string_or_array});if("undefined"!=typeof this.min&&this.min===this.max&&t.length!==this.min)throw new n(this,t,{min:this.min,max:this.max});if("undefined"!=typeof this.max&&t.length>this.max)throw new n(this,t,{max:this.max});if("undefined"!=typeof this.min&&t.length>>0;if(0===i)return-1;var n=0;if(arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&1/0!=n&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=i)return-1;for(var s=n>=0?n:Math.max(i-Math.abs(n),0);i>s;s++)if(s in e&&e[s]===t)return s;return-1});var o=function(t){for(var e in t)return!1;return!0},r=function(t){return"[object Array]"===Object.prototype.toString.call(t)};return"function"==typeof define&&define.amd?define("vendors/validator.js/dist/validator",[],function(){return t}):"undefined"!=typeof module&&module.exports?module.exports=t:window["undefined"!=typeof validatorjs_ns?validatorjs_ns:"Validator"]=t,t}();s="undefined"!=typeof s?s:"undefined"!=typeof module?module.exports:null;var o=function(t,e){this.__class__="ParsleyValidator",this.Validator=s,this.locale="en",this.init(t||{},e||{})};o.prototype={init:function(e,i){this.catalog=i;for(var n in e)this.addValidator(n,e[n].fn,e[n].priority,e[n].requirementsTransformer);t.emit("parsley:validator:init")},setLocale:function(t){if("undefined"==typeof this.catalog[t])throw new Error(t+" is not available in the catalog");return this.locale=t,this},addCatalog:function(t,e,i){return"object"==typeof e&&(this.catalog[t]=e),!0===i?this.setLocale(t):this},addMessage:function(t,e,i){return"undefined"==typeof this.catalog[t]&&(this.catalog[t]={}),this.catalog[t][e.toLowerCase()]=i,this},validate:function(){return(new this.Validator.Validator).validate.apply(new s.Validator,arguments)},addValidator:function(e,i,n,o){return this.validators[e.toLowerCase()]=function(e){return t.extend((new s.Assert).Callback(i,e),{priority:n,requirementsTransformer:o})},this},updateValidator:function(t,e,i,n){return this.addValidator(t,e,i,n)},removeValidator:function(t){return delete this.validators[t],this},getErrorMessage:function(t){var e;return e="type"===t.name?this.catalog[this.locale][t.name][t.requirements]:this.formatMessage(this.catalog[this.locale][t.name],t.requirements),""!==e?e:this.catalog[this.locale].defaultMessage},formatMessage:function(t,e){if("object"==typeof e){for(var i in e)t=this.formatMessage(t,e[i]);return t}return"string"==typeof t?t.replace(new RegExp("%s","i"),e):""},validators:{notblank:function(){return t.extend((new s.Assert).NotBlank(),{priority:2})},required:function(){return t.extend((new s.Assert).Required(),{priority:512})},type:function(e){var i;switch(e){case"email":i=(new s.Assert).Email();break;case"range":case"number":i=(new s.Assert).Regexp("^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$");break;case"integer":i=(new s.Assert).Regexp("^-?\\d+$");break;case"digits":i=(new s.Assert).Regexp("^\\d+$");break;case"alphanum":i=(new s.Assert).Regexp("^\\w+$","i");break;case"url":i=(new s.Assert).Regexp("(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,4}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)","i");break;default:throw new Error("validator type `"+e+"` is not supported")}return t.extend(i,{priority:256})},pattern:function(e){var i="";return/^\/.*\/(?:[gimy]*)$/.test(e)&&(i=e.replace(/.*\/([gimy]*)$/,"$1"),e=e.replace(new RegExp("^/(.*?)/"+i+"$"),"$1")),t.extend((new s.Assert).Regexp(e,i),{priority:64})},minlength:function(e){return t.extend((new s.Assert).Length({min:e}),{priority:30,requirementsTransformer:function(){return"string"!=typeof e||isNaN(e)?e:parseInt(e,10)}})},maxlength:function(e){return t.extend((new s.Assert).Length({max:e}),{priority:30,requirementsTransformer:function(){return"string"!=typeof e||isNaN(e)?e:parseInt(e,10)}})},length:function(e){return t.extend((new s.Assert).Length({min:e[0],max:e[1]}),{priority:32})},mincheck:function(t){return this.minlength(t)},maxcheck:function(t){return this.maxlength(t)},check:function(t){return this.length(t)},min:function(e){return t.extend((new s.Assert).GreaterThanOrEqual(e),{priority:30,requirementsTransformer:function(){return"string"!=typeof e||isNaN(e)?e:parseInt(e,10)}})},max:function(e){return t.extend((new s.Assert).LessThanOrEqual(e),{priority:30,requirementsTransformer:function(){return"string"!=typeof e||isNaN(e)?e:parseInt(e,10)}})},range:function(e){return t.extend((new s.Assert).Range(e[0],e[1]),{priority:32,requirementsTransformer:function(){for(var t=0;t0?this._errorClass(t):this._resetClass(t)},manageErrorsMessages:function(e,i){if("undefined"==typeof e.options.errorsMessagesDisabled){if("undefined"!=typeof e.options.errorMessage)return i.added.length||i.kept.length?(0===e._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&e._ui.$errorsWrapper.append(t(e.options.errorTemplate).addClass("parsley-custom-error-message")),e._ui.$errorsWrapper.addClass("filled").find(".parsley-custom-error-message").html(e.options.errorMessage)):e._ui.$errorsWrapper.removeClass("filled").find(".parsley-custom-error-message").remove();for(var n=0;n0&&"undefined"==typeof t.fields[e].options.noFocus){if("first"===t.options.focus)return t._focusedField=t.fields[e].$element,t._focusedField.focus();t._focusedField=t.fields[e].$element}return null===t._focusedField?null:t._focusedField.focus()},_getErrorMessage:function(t,e){var i=e.name+"Message";return"undefined"!=typeof t.options[i]?window.ParsleyValidator.formatMessage(t.options[i],e.requirements):window.ParsleyValidator.getErrorMessage(e)},_diff:function(t,e,i){for(var n=[],s=[],o=0;o0&&this.validationResult&&(this.validationResult=!1));return t.emit("parsley:form:validated",this),this.validationResult},isValid:function(t,e){this._refreshFields();for(var i=0;i1){var i=[];return this.each(function(){i.push(t(this).parsley(e))}),i}return t(this).length?new p(this,e):void(window.console&&window.console.warn&&window.console.warn("You must bind Parsley on an existing element."))},window.ParsleyUI="function"==typeof e.get(window,"ParsleyConfig.ParsleyUI")?(new window.ParsleyConfig.ParsleyUI).listen():(new r).listen(),"undefined"==typeof window.ParsleyExtend&&(window.ParsleyExtend={}),"undefined"==typeof window.ParsleyConfig&&(window.ParsleyConfig={}),window.Parsley=window.psly=p,window.ParsleyUtils=e,window.ParsleyValidator=new o(window.ParsleyConfig.validators,window.ParsleyConfig.i18n),!1!==e.get(window,"ParsleyConfig.autoBind")&&t(document).ready(function(){t("[data-parsley-validate]").length&&t("[data-parsley-validate]").parsley()})}),function(t){"use strict";t("[placeholder]").placeholder()}(jQuery); -//# sourceMappingURL=../maps/scripts.min.js.map \ No newline at end of file +//# sourceMappingURL=../sourcemaps/scripts.min.js.map \ No newline at end of file diff --git a/assets/js/maps/scripts.min.js.map b/assets/js/maps/scripts.min.js.map deleted file mode 100755 index ed28031..0000000 --- a/assets/js/maps/scripts.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["fastclick.js","core.js","component.js","utility.js","touch.js","alert.js","button.js","dropdown.js","grid.js","modal.js","offcanvas.js","nav.js","tooltip.js","switcher.js","tab.js","scrollspy.js","smooth-scroll.js","toggle.js","autocomplete.js","cover.js","datepicker.js","form-password.js","form-select.js","htmleditor.js","nestable.js","notify.js","pagination.js","search.js","sortable.js","sticky.js","timepicker.js","upload.js","jquery.placeholder.js","parsley.js","_init.js"],"names":[],"mappings":"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","file":"scripts.min.js","sourcesContent":["/**\n * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.\n *\n * @version 1.0.3\n * @codingstandard ftlabs-jsv2\n * @copyright The Financial Times Limited [All Rights Reserved]\n * @license MIT License (see LICENSE.txt)\n */\n\n/*jslint browser:true, node:true*/\n/*global define, Event, Node*/\n\n\n/**\n * Instantiate fast-clicking listeners on the specified layer.\n *\n * @constructor\n * @param {Element} layer The layer to listen on\n * @param {Object} options The options to override the defaults\n */\nfunction FastClick(layer, options) {\n\t'use strict';\n\tvar oldOnClick;\n\n\toptions = options || {};\n\n\t/**\n\t * Whether a click is currently being tracked.\n\t *\n\t * @type boolean\n\t */\n\tthis.trackingClick = false;\n\n\n\t/**\n\t * Timestamp for when click tracking started.\n\t *\n\t * @type number\n\t */\n\tthis.trackingClickStart = 0;\n\n\n\t/**\n\t * The element being tracked for a click.\n\t *\n\t * @type EventTarget\n\t */\n\tthis.targetElement = null;\n\n\n\t/**\n\t * X-coordinate of touch start event.\n\t *\n\t * @type number\n\t */\n\tthis.touchStartX = 0;\n\n\n\t/**\n\t * Y-coordinate of touch start event.\n\t *\n\t * @type number\n\t */\n\tthis.touchStartY = 0;\n\n\n\t/**\n\t * ID of the last touch, retrieved from Touch.identifier.\n\t *\n\t * @type number\n\t */\n\tthis.lastTouchIdentifier = 0;\n\n\n\t/**\n\t * Touchmove boundary, beyond which a click will be cancelled.\n\t *\n\t * @type number\n\t */\n\tthis.touchBoundary = options.touchBoundary || 10;\n\n\n\t/**\n\t * The FastClick layer.\n\t *\n\t * @type Element\n\t */\n\tthis.layer = layer;\n\n\t/**\n\t * The minimum time between tap(touchstart and touchend) events\n\t *\n\t * @type number\n\t */\n\tthis.tapDelay = options.tapDelay || 200;\n\n\tif (FastClick.notNeeded(layer)) {\n\t\treturn;\n\t}\n\n\t// Some old versions of Android don't have Function.prototype.bind\n\tfunction bind(method, context) {\n\t\treturn function() { return method.apply(context, arguments); };\n\t}\n\n\n\tvar methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel'];\n\tvar context = this;\n\tfor (var i = 0, l = methods.length; i < l; i++) {\n\t\tcontext[methods[i]] = bind(context[methods[i]], context);\n\t}\n\n\t// Set up event handlers as required\n\tif (deviceIsAndroid) {\n\t\tlayer.addEventListener('mouseover', this.onMouse, true);\n\t\tlayer.addEventListener('mousedown', this.onMouse, true);\n\t\tlayer.addEventListener('mouseup', this.onMouse, true);\n\t}\n\n\tlayer.addEventListener('click', this.onClick, true);\n\tlayer.addEventListener('touchstart', this.onTouchStart, false);\n\tlayer.addEventListener('touchmove', this.onTouchMove, false);\n\tlayer.addEventListener('touchend', this.onTouchEnd, false);\n\tlayer.addEventListener('touchcancel', this.onTouchCancel, false);\n\n\t// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)\n\t// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick\n\t// layer when they are cancelled.\n\tif (!Event.prototype.stopImmediatePropagation) {\n\t\tlayer.removeEventListener = function(type, callback, capture) {\n\t\t\tvar rmv = Node.prototype.removeEventListener;\n\t\t\tif (type === 'click') {\n\t\t\t\trmv.call(layer, type, callback.hijacked || callback, capture);\n\t\t\t} else {\n\t\t\t\trmv.call(layer, type, callback, capture);\n\t\t\t}\n\t\t};\n\n\t\tlayer.addEventListener = function(type, callback, capture) {\n\t\t\tvar adv = Node.prototype.addEventListener;\n\t\t\tif (type === 'click') {\n\t\t\t\tadv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {\n\t\t\t\t\tif (!event.propagationStopped) {\n\t\t\t\t\t\tcallback(event);\n\t\t\t\t\t}\n\t\t\t\t}), capture);\n\t\t\t} else {\n\t\t\t\tadv.call(layer, type, callback, capture);\n\t\t\t}\n\t\t};\n\t}\n\n\t// If a handler is already declared in the element's onclick attribute, it will be fired before\n\t// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and\n\t// adding it as listener.\n\tif (typeof layer.onclick === 'function') {\n\n\t\t// Android browser on at least 3.2 requires a new reference to the function in layer.onclick\n\t\t// - the old one won't work if passed to addEventListener directly.\n\t\toldOnClick = layer.onclick;\n\t\tlayer.addEventListener('click', function(event) {\n\t\t\toldOnClick(event);\n\t\t}, false);\n\t\tlayer.onclick = null;\n\t}\n}\n\n\n/**\n * Android requires exceptions.\n *\n * @type boolean\n */\nvar deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;\n\n\n/**\n * iOS requires exceptions.\n *\n * @type boolean\n */\nvar deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);\n\n\n/**\n * iOS 4 requires an exception for select elements.\n *\n * @type boolean\n */\nvar deviceIsIOS4 = deviceIsIOS && (/OS 4_\\d(_\\d)?/).test(navigator.userAgent);\n\n\n/**\n * iOS 6.0(+?) requires the target element to be manually derived\n *\n * @type boolean\n */\nvar deviceIsIOSWithBadTarget = deviceIsIOS && (/OS ([6-9]|\\d{2})_\\d/).test(navigator.userAgent);\n\n/**\n * BlackBerry requires exceptions.\n *\n * @type boolean\n */\nvar deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0;\n\n/**\n * Determine whether a given element requires a native click.\n *\n * @param {EventTarget|Element} target Target DOM element\n * @returns {boolean} Returns true if the element needs a native click\n */\nFastClick.prototype.needsClick = function(target) {\n\t'use strict';\n\tswitch (target.nodeName.toLowerCase()) {\n\n\t// Don't send a synthetic click to disabled inputs (issue #62)\n\tcase 'button':\n\tcase 'select':\n\tcase 'textarea':\n\t\tif (target.disabled) {\n\t\t\treturn true;\n\t\t}\n\n\t\tbreak;\n\tcase 'input':\n\n\t\t// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)\n\t\tif ((deviceIsIOS && target.type === 'file') || target.disabled) {\n\t\t\treturn true;\n\t\t}\n\n\t\tbreak;\n\tcase 'label':\n\tcase 'video':\n\t\treturn true;\n\t}\n\n\treturn (/\\bneedsclick\\b/).test(target.className);\n};\n\n\n/**\n * Determine whether a given element requires a call to focus to simulate click into element.\n *\n * @param {EventTarget|Element} target Target DOM element\n * @returns {boolean} Returns true if the element requires a call to focus to simulate native click.\n */\nFastClick.prototype.needsFocus = function(target) {\n\t'use strict';\n\tswitch (target.nodeName.toLowerCase()) {\n\tcase 'textarea':\n\t\treturn true;\n\tcase 'select':\n\t\treturn !deviceIsAndroid;\n\tcase 'input':\n\t\tswitch (target.type) {\n\t\tcase 'button':\n\t\tcase 'checkbox':\n\t\tcase 'file':\n\t\tcase 'image':\n\t\tcase 'radio':\n\t\tcase 'submit':\n\t\t\treturn false;\n\t\t}\n\n\t\t// No point in attempting to focus disabled inputs\n\t\treturn !target.disabled && !target.readOnly;\n\tdefault:\n\t\treturn (/\\bneedsfocus\\b/).test(target.className);\n\t}\n};\n\n\n/**\n * Send a click event to the specified element.\n *\n * @param {EventTarget|Element} targetElement\n * @param {Event} event\n */\nFastClick.prototype.sendClick = function(targetElement, event) {\n\t'use strict';\n\tvar clickEvent, touch;\n\n\t// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)\n\tif (document.activeElement && document.activeElement !== targetElement) {\n\t\tdocument.activeElement.blur();\n\t}\n\n\ttouch = event.changedTouches[0];\n\n\t// Synthesise a click event, with an extra attribute so it can be tracked\n\tclickEvent = document.createEvent('MouseEvents');\n\tclickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n\tclickEvent.forwardedTouchEvent = true;\n\ttargetElement.dispatchEvent(clickEvent);\n};\n\nFastClick.prototype.determineEventType = function(targetElement) {\n\t'use strict';\n\n\t//Issue #159: Android Chrome Select Box does not open with a synthetic click event\n\tif (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {\n\t\treturn 'mousedown';\n\t}\n\n\treturn 'click';\n};\n\n\n/**\n * @param {EventTarget|Element} targetElement\n */\nFastClick.prototype.focus = function(targetElement) {\n\t'use strict';\n\tvar length;\n\n\t// Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.\n\tif (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {\n\t\tlength = targetElement.value.length;\n\t\ttargetElement.setSelectionRange(length, length);\n\t} else {\n\t\ttargetElement.focus();\n\t}\n};\n\n\n/**\n * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.\n *\n * @param {EventTarget|Element} targetElement\n */\nFastClick.prototype.updateScrollParent = function(targetElement) {\n\t'use strict';\n\tvar scrollParent, parentElement;\n\n\tscrollParent = targetElement.fastClickScrollParent;\n\n\t// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the\n\t// target element was moved to another parent.\n\tif (!scrollParent || !scrollParent.contains(targetElement)) {\n\t\tparentElement = targetElement;\n\t\tdo {\n\t\t\tif (parentElement.scrollHeight > parentElement.offsetHeight) {\n\t\t\t\tscrollParent = parentElement;\n\t\t\t\ttargetElement.fastClickScrollParent = parentElement;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tparentElement = parentElement.parentElement;\n\t\t} while (parentElement);\n\t}\n\n\t// Always update the scroll top tracker if possible.\n\tif (scrollParent) {\n\t\tscrollParent.fastClickLastScrollTop = scrollParent.scrollTop;\n\t}\n};\n\n\n/**\n * @param {EventTarget} targetElement\n * @returns {Element|EventTarget}\n */\nFastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {\n\t'use strict';\n\n\t// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.\n\tif (eventTarget.nodeType === Node.TEXT_NODE) {\n\t\treturn eventTarget.parentNode;\n\t}\n\n\treturn eventTarget;\n};\n\n\n/**\n * On touch start, record the position and scroll offset.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.onTouchStart = function(event) {\n\t'use strict';\n\tvar targetElement, touch, selection;\n\n\t// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).\n\tif (event.targetTouches.length > 1) {\n\t\treturn true;\n\t}\n\n\ttargetElement = this.getTargetElementFromEventTarget(event.target);\n\ttouch = event.targetTouches[0];\n\n\tif (deviceIsIOS) {\n\n\t\t// Only trusted events will deselect text on iOS (issue #49)\n\t\tselection = window.getSelection();\n\t\tif (selection.rangeCount && !selection.isCollapsed) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!deviceIsIOS4) {\n\n\t\t\t// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):\n\t\t\t// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched\n\t\t\t// with the same identifier as the touch event that previously triggered the click that triggered the alert.\n\t\t\t// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an\n\t\t\t// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.\n\t\t\t// Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string,\n\t\t\t// which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long,\n\t\t\t// random integers, it's safe to to continue if the identifier is 0 here.\n\t\t\tif (touch.identifier && touch.identifier === this.lastTouchIdentifier) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.lastTouchIdentifier = touch.identifier;\n\n\t\t\t// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:\n\t\t\t// 1) the user does a fling scroll on the scrollable layer\n\t\t\t// 2) the user stops the fling scroll with another tap\n\t\t\t// then the event.target of the last 'touchend' event will be the element that was under the user's finger\n\t\t\t// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check\n\t\t\t// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).\n\t\t\tthis.updateScrollParent(targetElement);\n\t\t}\n\t}\n\n\tthis.trackingClick = true;\n\tthis.trackingClickStart = event.timeStamp;\n\tthis.targetElement = targetElement;\n\n\tthis.touchStartX = touch.pageX;\n\tthis.touchStartY = touch.pageY;\n\n\t// Prevent phantom clicks on fast double-tap (issue #36)\n\tif ((event.timeStamp - this.lastClickTime) < this.tapDelay) {\n\t\tevent.preventDefault();\n\t}\n\n\treturn true;\n};\n\n\n/**\n * Based on a touchmove event object, check whether the touch has moved past a boundary since it started.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.touchHasMoved = function(event) {\n\t'use strict';\n\tvar touch = event.changedTouches[0], boundary = this.touchBoundary;\n\n\tif (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Update the last position.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.onTouchMove = function(event) {\n\t'use strict';\n\tif (!this.trackingClick) {\n\t\treturn true;\n\t}\n\n\t// If the touch has moved, cancel the click tracking\n\tif (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {\n\t\tthis.trackingClick = false;\n\t\tthis.targetElement = null;\n\t}\n\n\treturn true;\n};\n\n\n/**\n * Attempt to find the labelled control for the given label element.\n *\n * @param {EventTarget|HTMLLabelElement} labelElement\n * @returns {Element|null}\n */\nFastClick.prototype.findControl = function(labelElement) {\n\t'use strict';\n\n\t// Fast path for newer browsers supporting the HTML5 control attribute\n\tif (labelElement.control !== undefined) {\n\t\treturn labelElement.control;\n\t}\n\n\t// All browsers under test that support touch events also support the HTML5 htmlFor attribute\n\tif (labelElement.htmlFor) {\n\t\treturn document.getElementById(labelElement.htmlFor);\n\t}\n\n\t// If no for attribute exists, attempt to retrieve the first labellable descendant element\n\t// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label\n\treturn labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');\n};\n\n\n/**\n * On touch end, determine whether to send a click event at once.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.onTouchEnd = function(event) {\n\t'use strict';\n\tvar forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;\n\n\tif (!this.trackingClick) {\n\t\treturn true;\n\t}\n\n\t// Prevent phantom clicks on fast double-tap (issue #36)\n\tif ((event.timeStamp - this.lastClickTime) < this.tapDelay) {\n\t\tthis.cancelNextClick = true;\n\t\treturn true;\n\t}\n\n\t// Reset to prevent wrong click cancel on input (issue #156).\n\tthis.cancelNextClick = false;\n\n\tthis.lastClickTime = event.timeStamp;\n\n\ttrackingClickStart = this.trackingClickStart;\n\tthis.trackingClick = false;\n\tthis.trackingClickStart = 0;\n\n\t// On some iOS devices, the targetElement supplied with the event is invalid if the layer\n\t// is performing a transition or scroll, and has to be re-detected manually. Note that\n\t// for this to function correctly, it must be called *after* the event target is checked!\n\t// See issue #57; also filed as rdar://13048589 .\n\tif (deviceIsIOSWithBadTarget) {\n\t\ttouch = event.changedTouches[0];\n\n\t\t// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null\n\t\ttargetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;\n\t\ttargetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;\n\t}\n\n\ttargetTagName = targetElement.tagName.toLowerCase();\n\tif (targetTagName === 'label') {\n\t\tforElement = this.findControl(targetElement);\n\t\tif (forElement) {\n\t\t\tthis.focus(targetElement);\n\t\t\tif (deviceIsAndroid) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ttargetElement = forElement;\n\t\t}\n\t} else if (this.needsFocus(targetElement)) {\n\n\t\t// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.\n\t\t// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).\n\t\tif ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) {\n\t\t\tthis.targetElement = null;\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.focus(targetElement);\n\t\tthis.sendClick(targetElement, event);\n\n\t\t// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.\n\t\t// Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others)\n\t\tif (!deviceIsIOS || targetTagName !== 'select') {\n\t\t\tthis.targetElement = null;\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tif (deviceIsIOS && !deviceIsIOS4) {\n\n\t\t// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled\n\t\t// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).\n\t\tscrollParent = targetElement.fastClickScrollParent;\n\t\tif (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Prevent the actual click from going though - unless the target node is marked as requiring\n\t// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.\n\tif (!this.needsClick(targetElement)) {\n\t\tevent.preventDefault();\n\t\tthis.sendClick(targetElement, event);\n\t}\n\n\treturn false;\n};\n\n\n/**\n * On touch cancel, stop tracking the click.\n *\n * @returns {void}\n */\nFastClick.prototype.onTouchCancel = function() {\n\t'use strict';\n\tthis.trackingClick = false;\n\tthis.targetElement = null;\n};\n\n\n/**\n * Determine mouse events which should be permitted.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.onMouse = function(event) {\n\t'use strict';\n\n\t// If a target element was never set (because a touch event was never fired) allow the event\n\tif (!this.targetElement) {\n\t\treturn true;\n\t}\n\n\tif (event.forwardedTouchEvent) {\n\t\treturn true;\n\t}\n\n\t// Programmatically generated events targeting a specific element should be permitted\n\tif (!event.cancelable) {\n\t\treturn true;\n\t}\n\n\t// Derive and check the target element to see whether the mouse event needs to be permitted;\n\t// unless explicitly enabled, prevent non-touch click events from triggering actions,\n\t// to prevent ghost/doubleclicks.\n\tif (!this.needsClick(this.targetElement) || this.cancelNextClick) {\n\n\t\t// Prevent any user-added listeners declared on FastClick element from being fired.\n\t\tif (event.stopImmediatePropagation) {\n\t\t\tevent.stopImmediatePropagation();\n\t\t} else {\n\n\t\t\t// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)\n\t\t\tevent.propagationStopped = true;\n\t\t}\n\n\t\t// Cancel the event\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\treturn false;\n\t}\n\n\t// If the mouse event is permitted, return true for the action to go through.\n\treturn true;\n};\n\n\n/**\n * On actual clicks, determine whether this is a touch-generated click, a click action occurring\n * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or\n * an actual click which should be permitted.\n *\n * @param {Event} event\n * @returns {boolean}\n */\nFastClick.prototype.onClick = function(event) {\n\t'use strict';\n\tvar permitted;\n\n\t// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.\n\tif (this.trackingClick) {\n\t\tthis.targetElement = null;\n\t\tthis.trackingClick = false;\n\t\treturn true;\n\t}\n\n\t// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.\n\tif (event.target.type === 'submit' && event.detail === 0) {\n\t\treturn true;\n\t}\n\n\tpermitted = this.onMouse(event);\n\n\t// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.\n\tif (!permitted) {\n\t\tthis.targetElement = null;\n\t}\n\n\t// If clicks are permitted, return true for the action to go through.\n\treturn permitted;\n};\n\n\n/**\n * Remove all FastClick's event listeners.\n *\n * @returns {void}\n */\nFastClick.prototype.destroy = function() {\n\t'use strict';\n\tvar layer = this.layer;\n\n\tif (deviceIsAndroid) {\n\t\tlayer.removeEventListener('mouseover', this.onMouse, true);\n\t\tlayer.removeEventListener('mousedown', this.onMouse, true);\n\t\tlayer.removeEventListener('mouseup', this.onMouse, true);\n\t}\n\n\tlayer.removeEventListener('click', this.onClick, true);\n\tlayer.removeEventListener('touchstart', this.onTouchStart, false);\n\tlayer.removeEventListener('touchmove', this.onTouchMove, false);\n\tlayer.removeEventListener('touchend', this.onTouchEnd, false);\n\tlayer.removeEventListener('touchcancel', this.onTouchCancel, false);\n};\n\n\n/**\n * Check whether FastClick is needed.\n *\n * @param {Element} layer The layer to listen on\n */\nFastClick.notNeeded = function(layer) {\n\t'use strict';\n\tvar metaViewport;\n\tvar chromeVersion;\n\tvar blackberryVersion;\n\n\t// Devices that don't support touch don't need FastClick\n\tif (typeof window.ontouchstart === 'undefined') {\n\t\treturn true;\n\t}\n\n\t// Chrome version - zero for other browsers\n\tchromeVersion = +(/Chrome\\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];\n\n\tif (chromeVersion) {\n\n\t\tif (deviceIsAndroid) {\n\t\t\tmetaViewport = document.querySelector('meta[name=viewport]');\n\n\t\t\tif (metaViewport) {\n\t\t\t\t// Chrome on Android with user-scalable=\"no\" doesn't need FastClick (issue #89)\n\t\t\t\tif (metaViewport.content.indexOf('user-scalable=no') !== -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// Chrome 32 and above with width=device-width or less don't need FastClick\n\t\t\t\tif (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Chrome desktop doesn't need FastClick (issue #15)\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tif (deviceIsBlackBerry10) {\n\t\tblackberryVersion = navigator.userAgent.match(/Version\\/([0-9]*)\\.([0-9]*)/);\n\n\t\t// BlackBerry 10.3+ does not require Fastclick library.\n\t\t// https://github.com/ftlabs/fastclick/issues/251\n\t\tif (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) {\n\t\t\tmetaViewport = document.querySelector('meta[name=viewport]');\n\n\t\t\tif (metaViewport) {\n\t\t\t\t// user-scalable=no eliminates click delay.\n\t\t\t\tif (metaViewport.content.indexOf('user-scalable=no') !== -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// width=device-width (or less than device-width) eliminates click delay.\n\t\t\t\tif (document.documentElement.scrollWidth <= window.outerWidth) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)\n\tif (layer.style.msTouchAction === 'none') {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\n\n/**\n * Factory method for creating a FastClick object\n *\n * @param {Element} layer The layer to listen on\n * @param {Object} options The options to override the defaults\n */\nFastClick.attach = function(layer, options) {\n\t'use strict';\n\treturn new FastClick(layer, options);\n};\n\n\nif (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n\n\t// AMD. Register as an anonymous module.\n\tdefine(function() {\n\t\t'use strict';\n\t\treturn FastClick;\n\t});\n} else if (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = FastClick.attach;\n\tmodule.exports.FastClick = FastClick;\n} else {\n\twindow.FastClick = FastClick;\n}\n","(function(core) {\n\n if (typeof define == \"function\" && define.amd) { // AMD\n define(\"uikit\", function(){\n\n var uikit = core(window, window.jQuery, window.document);\n\n uikit.load = function(res, req, onload, config) {\n\n var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : \"\").replace(/\\/+$/g, \"\");\n\n if (!base) {\n throw new Error( \"Please define base path to UIkit in the requirejs config.\" );\n }\n\n for (i = 0; i < resources.length; i += 1) {\n var resource = resources[i].replace(/\\./g, '/');\n load.push(base+'/js/addons/'+resource);\n }\n\n req(load, function() {\n onload(uikit);\n });\n };\n\n return uikit;\n });\n }\n\n if (!window.jQuery) {\n throw new Error( \"UIkit requires jQuery\" );\n }\n\n if (window && window.jQuery) {\n core(window, window.jQuery, window.document);\n }\n\n\n})(function(global, $, doc) {\n\n \"use strict\";\n\n var UI = $.UIkit || {}, $html = $(\"html\"), $win = $(window), $doc = $(document);\n\n if (UI.fn) {\n return UI;\n }\n\n UI.version = '2.10.0';\n UI.$doc = $doc;\n UI.$win = $win;\n\n UI.fn = function(command, options) {\n\n var args = arguments, cmd = command.match(/^([a-z\\-]+)(?:\\.([a-z]+))?/i), component = cmd[1], method = cmd[2];\n\n if (!UI[component]) {\n $.error(\"UIkit component [\" + component + \"] does not exist.\");\n return this;\n }\n\n return this.each(function() {\n var $this = $(this), data = $this.data(component);\n if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options)));\n if (method) data[method].apply(data, Array.prototype.slice.call(args, 1));\n });\n };\n\n\n UI.support = {};\n UI.support.transition = (function() {\n\n var transitionEnd = (function() {\n\n var element = doc.body || doc.documentElement,\n transEndEventNames = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n }, name;\n\n for (name in transEndEventNames) {\n if (element.style[name] !== undefined) return transEndEventNames[name];\n }\n }());\n\n return transitionEnd && { end: transitionEnd };\n })();\n\n UI.support.animation = (function() {\n\n var animationEnd = (function() {\n\n var element = doc.body || doc.documentElement,\n animEndEventNames = {\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'animationend',\n OAnimation: 'oAnimationEnd oanimationend',\n animation: 'animationend'\n }, name;\n\n for (name in animEndEventNames) {\n if (element.style[name] !== undefined) return animEndEventNames[name];\n }\n }());\n\n return animationEnd && { end: animationEnd };\n })();\n\n UI.support.requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || function(callback){ setTimeout(callback, 1000/60); };\n UI.support.touch = (\n ('ontouchstart' in window && navigator.userAgent.toLowerCase().match(/mobile|tablet/)) ||\n (global.DocumentTouch && document instanceof global.DocumentTouch) ||\n (global.navigator['msPointerEnabled'] && global.navigator['msMaxTouchPoints'] > 0) || //IE 10\n (global.navigator['pointerEnabled'] && global.navigator['maxTouchPoints'] > 0) || //IE >=11\n false\n );\n UI.support.mutationobserver = (global.MutationObserver || global.WebKitMutationObserver || null);\n\n UI.Utils = {};\n\n UI.Utils.debounce = function(func, wait, immediate) {\n var timeout;\n return function() {\n var context = this, args = arguments;\n var later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n UI.Utils.removeCssRules = function(selectorRegEx) {\n var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref;\n\n if(!selectorRegEx) return;\n\n setTimeout(function(){\n try {\n _ref = document.styleSheets;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n stylesheet = _ref[_i];\n idxs = [];\n stylesheet.cssRules = stylesheet.cssRules;\n for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) {\n if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) {\n idxs.unshift(idx);\n }\n }\n for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) {\n stylesheet.deleteRule(idxs[_k]);\n }\n }\n } catch (_error) {}\n }, 0);\n };\n\n UI.Utils.isInView = function(element, options) {\n\n var $element = $(element);\n\n if (!$element.is(':visible')) {\n return false;\n }\n\n var window_left = $win.scrollLeft(), window_top = $win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top;\n\n options = $.extend({topoffset:0, leftoffset:0}, options);\n\n if (top + $element.height() >= window_top && top - options.topoffset <= window_top + $win.height() &&\n left + $element.width() >= window_left && left - options.leftoffset <= window_left + $win.width()) {\n return true;\n } else {\n return false;\n }\n };\n\n UI.Utils.checkDisplay = function(context) {\n $('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document).trigger('uk-check-display');\n };\n\n UI.Utils.options = function(string) {\n\n if ($.isPlainObject(string)) return string;\n\n var start = (string ? string.indexOf(\"{\") : -1), options = {};\n\n if (start != -1) {\n try {\n options = (new Function(\"\", \"var json = \" + string.substr(start) + \"; return JSON.parse(JSON.stringify(json));\"))();\n } catch (e) {}\n }\n\n return options;\n };\n\n UI.Utils.template = function(str, data) {\n\n var tokens = str.replace(/\\n/g, '\\\\n').replace(/\\{\\{\\{\\s*(.+?)\\s*\\}\\}\\}/g, \"{{!$1}}\").split(/(\\{\\{\\s*(.+?)\\s*\\}\\})/g),\n i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0;\n\n while(i < tokens.length) {\n\n toc = tokens[i];\n\n if(toc.match(/\\{\\{\\s*(.+?)\\s*\\}\\}/)) {\n i = i + 1;\n toc = tokens[i];\n cmd = toc[0];\n prop = toc.substring(toc.match(/^(\\^|\\#|\\!|\\~|\\:)/) ? 1:0);\n\n switch(cmd) {\n case '~':\n output.push(\"for(var $i=0;$i<\"+prop+\".length;$i++) { var $item = \"+prop+\"[$i];\");\n openblocks++;\n break;\n case ':':\n output.push(\"for(var $key in \"+prop+\") { var $val = \"+prop+\"[$key];\");\n openblocks++;\n break;\n case '#':\n output.push(\"if(\"+prop+\") {\");\n openblocks++;\n break;\n case '^':\n output.push(\"if(!\"+prop+\") {\");\n openblocks++;\n break;\n case '/':\n output.push(\"}\");\n openblocks--;\n break;\n case '!':\n output.push(\"__ret.push(\"+prop+\");\");\n break;\n default:\n output.push(\"__ret.push(escape(\"+prop+\"));\");\n break;\n }\n } else {\n output.push(\"__ret.push('\"+toc.replace(/\\'/g, \"\\\\'\")+\"');\");\n }\n i = i + 1;\n }\n\n fn = [\n 'var __ret = [];',\n 'try {',\n 'with($data){', (!openblocks ? output.join('') : '__ret = [\"Not all blocks are closed correctly.\"]'), '};',\n '}catch(e){__ret = [e.message];}',\n 'return __ret.join(\"\").replace(/\\\\n\\\\n/g, \"\\\\n\");',\n \"function escape(html) { return String(html).replace(/&/g, '&').replace(/\\\"/g, '"').replace(//g, '>');}\"\n ].join(\"\\n\");\n\n var func = new Function('$data', fn);\n return data ? func(data) : func;\n };\n\n UI.Utils.events = {};\n UI.Utils.events.click = UI.support.touch ? 'tap' : 'click';\n\n $.UIkit = UI;\n $.fn.uk = UI.fn;\n\n $.UIkit.langdirection = $html.attr(\"dir\") == \"rtl\" ? \"right\" : \"left\";\n\n\n // DOM mutation save ready helper function\n\n UI.domObservers = [];\n\n UI.domObserve = function(selector, fn) {\n\n if(!UI.support.mutationobserver) return;\n\n $(selector).each(function() {\n\n var element = this;\n\n try {\n\n var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) {\n fn.apply(element, []);\n $(element).trigger('uk.dom.changed');\n }, 50));\n\n // pass in the target node, as well as the observer options\n observer.observe(element, { childList: true, subtree: true });\n\n } catch(e) {}\n });\n };\n\n UI.ready = function(fn) {\n $(function() { fn(document); });\n UI.domObservers.push(fn);\n };\n\n $doc.on('uk.domready', function(){\n UI.domObservers.forEach(function(fn){\n fn(document);\n });\n $doc.trigger('uk.dom.changed');\n });\n\n $(function(){\n\n // custom scroll observer\n setInterval((function(){\n\n var memory = {x: window.pageXOffset, y:window.pageYOffset};\n\n var fn = function(){\n\n if (memory.x != window.pageXOffset || memory.y != window.pageYOffset) {\n memory = {x: window.pageXOffset, y:window.pageYOffset};\n $doc.trigger('uk-scroll', [memory]);\n }\n };\n\n if ($.UIkit.support.touch) {\n $doc.on('touchmove touchend MSPointerMove MSPointerUp', fn);\n }\n\n if(memory.x || memory.y) fn();\n\n return fn;\n\n })(), 15);\n\n // Check for dom modifications\n UI.domObserve('[data-uk-observe]', function() {\n\n var ele = this;\n\n UI.domObservers.forEach(function(fn){\n fn(ele);\n });\n });\n\n\n if (UI.support.touch) {\n\n // remove css hover rules for touch devices\n // UI.Utils.removeCssRules(/\\.uk-(?!navbar).*:hover/);\n\n // viewport unit fix for uk-height-viewport - should be fixed in iOS 8\n if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) {\n\n UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){\n\n var fn = function() {\n $('.uk-height-viewport').css('height', window.innerHeight);\n return fn;\n };\n\n return fn();\n\n })(), 100));\n }\n }\n });\n\n // add touch identifier class\n $html.addClass(UI.support.touch ? \"uk-touch\" : \"uk-notouch\");\n\n // add uk-hover class on tap to support overlays on touch devices\n if (UI.support.touch) {\n\n var hoverset = false, selector = '.uk-overlay, .uk-overlay-toggle, .uk-has-hover', exclude;\n\n $doc.on('touchstart MSPointerDown', selector, function() {\n\n if(hoverset) $('.uk-hover').removeClass('uk-hover');\n\n hoverset = $(this).addClass('uk-hover');\n\n }).on('touchend MSPointerUp', function(e) {\n\n exclude = $(e.target).parents(selector);\n\n if (hoverset) hoverset.not(exclude).removeClass('uk-hover');\n });\n }\n\n return UI;\n});","(function($, UI) {\n\n \"use strict\";\n\n UI.components = {};\n\n UI.component = function(name, def) {\n\n var fn = function(element, options) {\n\n var $this = this;\n\n this.element = element ? $(element) : null;\n this.options = $.extend(true, {}, this.defaults, options);\n this.plugins = {};\n\n if (this.element) {\n this.element.data(name, this);\n }\n\n this.init();\n\n (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) {\n\n if (fn.plugins[plugin].init) {\n fn.plugins[plugin].init($this);\n $this.plugins[plugin] = true;\n }\n\n });\n\n this.trigger('init', [this]);\n };\n\n fn.plugins = {};\n\n $.extend(true, fn.prototype, {\n\n defaults : {plugins: []},\n\n init: function(){},\n\n on: function(){\n return $(this.element || this).on.apply(this.element || this, arguments);\n },\n\n one: function(){\n return $(this.element || this).one.apply(this.element || this, arguments);\n },\n\n off: function(evt){\n return $(this.element || this).off(evt);\n },\n\n trigger: function(evt, params) {\n return $(this.element || this).trigger(evt, params);\n },\n\n find: function(selector) {\n return this.element ? this.element.find(selector) : $([]);\n },\n\n proxy: function(obj, methods) {\n\n var $this = this;\n\n methods.split(' ').forEach(function(method) {\n if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); };\n });\n },\n\n mixin: function(obj, methods) {\n\n var $this = this;\n\n methods.split(' ').forEach(function(method) {\n if (!$this[method]) $this[method] = obj[method].bind($this);\n });\n },\n\n }, def);\n\n this.components[name] = fn;\n\n this[name] = function() {\n\n var element, options;\n\n if(arguments.length) {\n switch(arguments.length) {\n case 1:\n\n if (typeof arguments[0] === \"string\" || arguments[0].nodeType || arguments[0] instanceof jQuery) {\n element = $(arguments[0]);\n } else {\n options = arguments[0];\n }\n\n break;\n case 2:\n\n element = $(arguments[0]);\n options = arguments[1];\n break;\n }\n }\n\n if (element && element.data(name)) {\n return element.data(name);\n }\n\n return (new UI.components[name](element, options));\n };\n\n return fn;\n };\n\n UI.plugin = function(component, name, def) {\n this.components[component].plugins[name] = def;\n };\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n var stacks = [];\n\n UI.component('stackMargin', {\n\n defaults: {\n 'cls': 'uk-margin-small-top'\n },\n\n init: function() {\n\n var $this = this;\n\n this.columns = this.element.children();\n\n if (!this.columns.length) return;\n\n UI.$win.on('resize orientationchange', (function() {\n\n var fn = function() {\n $this.process();\n };\n\n $(function() {\n fn();\n UI.$win.on(\"load\", fn);\n });\n\n return UI.Utils.debounce(fn, 50);\n })());\n\n UI.$doc.on(\"uk.dom.changed\", function(e) {\n $this.columns = $this.element.children();\n $this.process();\n });\n\n this.on(\"uk-check-display\", function(e) {\n if(this.element.is(\":visible\")) this.process();\n }.bind(this));\n\n stacks.push(this);\n },\n\n process: function() {\n\n var $this = this;\n\n this.revert();\n\n var skip = false,\n firstvisible = this.columns.filter(\":visible:first\"),\n offset = firstvisible.length ? firstvisible.offset().top : false;\n\n if (offset === false) return;\n\n this.columns.each(function() {\n\n var column = $(this);\n\n if (column.is(\":visible\")) {\n\n if (skip) {\n column.addClass($this.options.cls);\n } else {\n if (column.offset().top != offset) {\n column.addClass($this.options.cls);\n skip = true;\n }\n }\n }\n });\n\n return this;\n },\n\n revert: function() {\n this.columns.removeClass(this.options.cls);\n return this;\n }\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-margin]\", context).each(function() {\n var ele = $(this), obj;\n\n if (!ele.data(\"stackMargin\")) {\n obj = UI.stackMargin(ele, UI.Utils.options(ele.attr(\"data-uk-margin\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","// Based on Zeptos touch.js\n// https://raw.github.com/madrobby/zepto/master/src/touch.js\n// Zepto.js may be freely distributed under the MIT license.\n\n;(function($){\n var touch = {},\n touchTimeout, tapTimeout, swipeTimeout, longTapTimeout,\n longTapDelay = 750,\n gesture;\n\n function swipeDirection(x1, x2, y1, y2) {\n return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down');\n }\n\n function longTap() {\n longTapTimeout = null;\n if (touch.last) {\n touch.el.trigger('longTap');\n touch = {};\n }\n }\n\n function cancelLongTap() {\n if (longTapTimeout) clearTimeout(longTapTimeout);\n longTapTimeout = null;\n }\n\n function cancelAll() {\n if (touchTimeout) clearTimeout(touchTimeout);\n if (tapTimeout) clearTimeout(tapTimeout);\n if (swipeTimeout) clearTimeout(swipeTimeout);\n if (longTapTimeout) clearTimeout(longTapTimeout);\n touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null;\n touch = {};\n }\n\n function isPrimaryTouch(event){\n return event.pointerType == event.MSPOINTER_TYPE_TOUCH && event.isPrimary;\n }\n\n $(function(){\n var now, delta, deltaX = 0, deltaY = 0, firstTouch;\n\n if ('MSGesture' in window) {\n gesture = new MSGesture();\n gesture.target = document.body;\n }\n\n $(document)\n .bind('MSGestureEnd', function(e){\n var swipeDirectionFromVelocity = e.originalEvent.velocityX > 1 ? 'Right' : e.originalEvent.velocityX < -1 ? 'Left' : e.originalEvent.velocityY > 1 ? 'Down' : e.originalEvent.velocityY < -1 ? 'Up' : null;\n\n if (swipeDirectionFromVelocity) {\n touch.el.trigger('swipe');\n touch.el.trigger('swipe'+ swipeDirectionFromVelocity);\n }\n })\n .on('touchstart MSPointerDown', function(e){\n\n if(e.type == 'MSPointerDown' && !isPrimaryTouch(e.originalEvent)) return;\n\n firstTouch = e.type == 'MSPointerDown' ? e : e.originalEvent.touches[0];\n\n now = Date.now();\n delta = now - (touch.last || now);\n touch.el = $('tagName' in firstTouch.target ? firstTouch.target : firstTouch.target.parentNode);\n\n if(touchTimeout) clearTimeout(touchTimeout);\n\n touch.x1 = firstTouch.pageX;\n touch.y1 = firstTouch.pageY;\n\n if (delta > 0 && delta <= 250) touch.isDoubleTap = true;\n\n touch.last = now;\n longTapTimeout = setTimeout(longTap, longTapDelay);\n\n // adds the current touch contact for IE gesture recognition\n if (gesture && e.type == 'MSPointerDown') gesture.addPointer(e.originalEvent.pointerId);\n })\n .on('touchmove MSPointerMove', function(e){\n\n if(e.type == 'MSPointerMove' && !isPrimaryTouch(e.originalEvent)) return;\n\n firstTouch = e.type == 'MSPointerMove' ? e : e.originalEvent.touches[0];\n\n cancelLongTap();\n touch.x2 = firstTouch.pageX;\n touch.y2 = firstTouch.pageY;\n\n deltaX += Math.abs(touch.x1 - touch.x2);\n deltaY += Math.abs(touch.y1 - touch.y2);\n })\n .on('touchend MSPointerUp', function(e){\n\n if(e.type == 'MSPointerUp' && !isPrimaryTouch(e.originalEvent)) return;\n\n cancelLongTap();\n\n // swipe\n if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)){\n\n swipeTimeout = setTimeout(function() {\n touch.el.trigger('swipe');\n touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2)));\n touch = {};\n }, 0);\n\n // normal tap\n } else if ('last' in touch) {\n\n // don't fire tap when delta position changed by more than 30 pixels,\n // for instance when moving to a point and back to origin\n if (isNaN(deltaX) || (deltaX < 30 && deltaY < 30)) {\n // delay by one tick so we can cancel the 'tap' event if 'scroll' fires\n // ('tap' fires before 'scroll')\n tapTimeout = setTimeout(function() {\n\n // trigger universal 'tap' with the option to cancelTouch()\n // (cancelTouch cancels processing of single vs double taps for faster 'tap' response)\n var event = $.Event('tap');\n event.cancelTouch = cancelAll;\n touch.el.trigger(event);\n\n // trigger double tap immediately\n if (touch.isDoubleTap) {\n touch.el.trigger('doubleTap');\n touch = {};\n }\n\n // trigger single tap after 250ms of inactivity\n else {\n touchTimeout = setTimeout(function(){\n touchTimeout = null;\n touch.el.trigger('singleTap');\n touch = {};\n }, 250);\n }\n }, 0);\n } else {\n touch = {};\n }\n deltaX = deltaY = 0;\n }\n })\n // when the browser window loses focus,\n // for example when a modal dialog is shown,\n // cancel all ongoing events\n .on('touchcancel MSPointerCancel', cancelAll);\n\n // scrolling the window indicates intention of the user\n // to scroll, not tap or swipe, so cancel all ongoing events\n $(window).on('scroll', cancelAll);\n });\n\n ['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){\n $.fn[eventName] = function(callback){ return $(this).on(eventName, callback); };\n });\n})(jQuery);","(function($, UI) {\n\n \"use strict\";\n\n UI.component('alert', {\n\n defaults: {\n \"fade\": true,\n \"duration\": 200,\n \"trigger\": \".uk-alert-close\"\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.trigger, function(e) {\n e.preventDefault();\n $this.close();\n });\n },\n\n close: function() {\n\n var element = this.trigger(\"close\");\n\n if (this.options.fade) {\n element.css(\"overflow\", \"hidden\").css(\"max-height\", element.height()).animate({\n \"height\": 0,\n \"opacity\": 0,\n \"padding-top\": 0,\n \"padding-bottom\": 0,\n \"margin-top\": 0,\n \"margin-bottom\": 0\n }, this.options.duration, removeElement);\n } else {\n removeElement();\n }\n\n function removeElement() {\n element.trigger(\"closed\").remove();\n }\n }\n\n });\n\n // init code\n UI.$doc.on(\"click.alert.uikit\", \"[data-uk-alert]\", function(e) {\n\n var ele = $(this);\n\n if (!ele.data(\"alert\")) {\n\n var alert = UI.alert(ele, UI.Utils.options(ele.data(\"uk-alert\")));\n\n if ($(e.target).is(ele.data(\"alert\").options.trigger)) {\n e.preventDefault();\n alert.close();\n }\n }\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n UI.component('buttonRadio', {\n\n defaults: {\n \"target\": \".uk-button\"\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.target, function(e) {\n\n if ($(this).is('a[href=\"#\"]')) e.preventDefault();\n\n $this.find($this.options.target).not(this).removeClass(\"uk-active\").blur();\n $this.trigger(\"change\", [$(this).addClass(\"uk-active\")]);\n });\n\n },\n\n getSelected: function() {\n return this.find(\".uk-active\");\n }\n });\n\n UI.component('buttonCheckbox', {\n\n defaults: {\n \"target\": \".uk-button\"\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.target, function(e) {\n\n if ($(this).is('a[href=\"#\"]')) e.preventDefault();\n\n $this.trigger(\"change\", [$(this).toggleClass(\"uk-active\").blur()]);\n });\n\n },\n\n getSelected: function() {\n return this.find(\".uk-active\");\n }\n });\n\n\n UI.component('button', {\n\n defaults: {},\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", function(e) {\n\n if ($this.element.is('a[href=\"#\"]')) e.preventDefault();\n\n $this.toggle();\n $this.trigger(\"change\", [$this.element.blur().hasClass(\"uk-active\")]);\n });\n\n },\n\n toggle: function() {\n this.element.toggleClass(\"uk-active\");\n }\n });\n\n\n // init code\n UI.$doc.on(\"click.buttonradio.uikit\", \"[data-uk-button-radio]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"buttonRadio\")) {\n var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr(\"data-uk-button-radio\")));\n\n if ($(e.target).is(obj.options.target)) {\n $(e.target).trigger(\"click\");\n }\n }\n });\n\n UI.$doc.on(\"click.buttoncheckbox.uikit\", \"[data-uk-button-checkbox]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"buttonCheckbox\")) {\n\n var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr(\"data-uk-button-checkbox\"))), target=$(e.target);\n\n if (target.is(obj.options.target)) {\n ele.trigger(\"change\", [target.toggleClass(\"uk-active\").blur()]);\n }\n }\n });\n\n UI.$doc.on(\"click.button.uikit\", \"[data-uk-button]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"button\")) {\n\n var obj = UI.button(ele, UI.Utils.options(ele.attr(\"data-uk-button\")));\n ele.trigger(\"click\");\n }\n });\n\n})(jQuery, jQuery.UIkit);\n","(function($, UI) {\n\n \"use strict\";\n\n var active = false, hoverIdle;\n\n UI.component('dropdown', {\n\n defaults: {\n 'mode' : 'hover',\n 'remaintime' : 800,\n 'justify' : false,\n 'boundary' : UI.$win,\n 'delay' : 0\n },\n\n remainIdle: false,\n\n init: function() {\n\n var $this = this;\n\n this.dropdown = this.find(\".uk-dropdown\");\n\n this.centered = this.dropdown.hasClass(\"uk-dropdown-center\");\n this.justified = this.options.justify ? $(this.options.justify) : false;\n\n this.boundary = $(this.options.boundary);\n this.flipped = this.dropdown.hasClass('uk-dropdown-flip');\n\n if(!this.boundary.length) {\n this.boundary = UI.$win;\n }\n\n if (this.options.mode == \"click\" || UI.support.touch) {\n\n this.on(\"click\", function(e) {\n\n var $target = $(e.target);\n\n if (!$target.parents(\".uk-dropdown\").length) {\n\n if ($target.is(\"a[href='#']\") || $target.parent().is(\"a[href='#']\")){\n e.preventDefault();\n }\n\n $target.blur();\n }\n\n if (!$this.element.hasClass(\"uk-open\")) {\n\n $this.show();\n\n } else {\n\n if ($target.is(\"a:not(.js-uk-prevent)\") || $target.is(\".uk-dropdown-close\") || !$this.dropdown.find(e.target).length) {\n $this.element.removeClass(\"uk-open\");\n active = false;\n }\n }\n });\n\n } else {\n\n this.on(\"mouseenter\", function(e) {\n\n if ($this.remainIdle) {\n clearTimeout($this.remainIdle);\n }\n\n if (hoverIdle) {\n clearTimeout(hoverIdle);\n }\n\n hoverIdle = setTimeout($this.show.bind($this), $this.options.delay);\n\n }).on(\"mouseleave\", function() {\n\n if (hoverIdle) {\n clearTimeout(hoverIdle);\n }\n\n $this.remainIdle = setTimeout(function() {\n\n $this.element.removeClass(\"uk-open\");\n $this.remainIdle = false;\n\n if (active && active[0] == $this.element[0]) active = false;\n\n }, $this.options.remaintime);\n\n }).on(\"click\", function(e){\n\n var $target = $(e.target);\n\n if ($this.remainIdle) {\n clearTimeout($this.remainIdle);\n }\n\n if ($target.is(\"a[href='#']\") || $target.parent().is(\"a[href='#']\")){\n e.preventDefault();\n }\n\n $this.show();\n });\n }\n },\n\n show: function(){\n\n if (active && active[0] != this.element[0]) {\n active.removeClass(\"uk-open\");\n }\n\n if (hoverIdle) {\n clearTimeout(hoverIdle);\n }\n\n this.checkDimensions();\n this.element.addClass(\"uk-open\");\n this.trigger('uk.dropdown.show', [this]);\n\n UI.Utils.checkDisplay(this.dropdown);\n active = this.element;\n\n this.registerOuterClick();\n },\n\n registerOuterClick: function(){\n\n var $this = this;\n\n UI.$doc.off(\"click.outer.dropdown\");\n\n setTimeout(function() {\n UI.$doc.on(\"click.outer.dropdown\", function(e) {\n\n if (hoverIdle) {\n clearTimeout(hoverIdle);\n }\n\n var $target = $(e.target);\n\n if (active && active[0] == $this.element[0] && ($target.is(\"a:not(.js-uk-prevent)\") || $target.is(\".uk-dropdown-close\") || !$this.dropdown.find(e.target).length)) {\n active.removeClass(\"uk-open\");\n UI.$doc.off(\"click.outer.dropdown\");\n }\n });\n }, 10);\n },\n\n checkDimensions: function() {\n\n if(!this.dropdown.length) return;\n\n if (this.justified && this.justified.length) {\n this.dropdown.css(\"min-width\", \"\");\n }\n\n var $this = this,\n dropdown = this.dropdown.css(\"margin-\" + $.UIkit.langdirection, \"\"),\n offset = dropdown.show().offset(),\n width = dropdown.outerWidth(),\n boundarywidth = this.boundary.width(),\n boundaryoffset = this.boundary.offset() ? this.boundary.offset().left:0;\n\n // centered dropdown\n if (this.centered) {\n dropdown.css(\"margin-\" + $.UIkit.langdirection, (parseFloat(width) / 2 - dropdown.parent().width() / 2) * -1);\n offset = dropdown.offset();\n\n // reset dropdown\n if ((width + offset.left) > boundarywidth || offset.left < 0) {\n dropdown.css(\"margin-\" + $.UIkit.langdirection, \"\");\n offset = dropdown.offset();\n }\n }\n\n // justify dropdown\n if (this.justified && this.justified.length) {\n\n var jwidth = this.justified.outerWidth();\n\n dropdown.css(\"min-width\", jwidth);\n\n if ($.UIkit.langdirection == 'right') {\n\n var right1 = boundarywidth - (this.justified.offset().left + jwidth),\n right2 = boundarywidth - (dropdown.offset().left + dropdown.outerWidth());\n\n dropdown.css(\"margin-right\", right1 - right2);\n\n } else {\n dropdown.css(\"margin-left\", this.justified.offset().left - offset.left);\n }\n\n offset = dropdown.offset();\n\n }\n\n if ((width + (offset.left-boundaryoffset)) > boundarywidth) {\n dropdown.addClass(\"uk-dropdown-flip\");\n offset = dropdown.offset();\n }\n\n if ((offset.left-boundaryoffset) < 0) {\n\n dropdown.addClass(\"uk-dropdown-stack\");\n\n if (dropdown.hasClass(\"uk-dropdown-flip\")) {\n\n if (!this.flipped) {\n dropdown.removeClass(\"uk-dropdown-flip\");\n offset = dropdown.offset();\n dropdown.addClass(\"uk-dropdown-flip\");\n }\n\n setTimeout(function(){\n\n if ((dropdown.offset().left-boundaryoffset) < 0 || !$this.flipped && (dropdown.outerWidth() + (offset.left-boundaryoffset)) < boundarywidth) {\n dropdown.removeClass(\"uk-dropdown-flip\");\n }\n }, 0);\n }\n\n this.trigger('uk.dropdown.stack', [this]);\n }\n\n dropdown.css(\"display\", \"\");\n }\n\n });\n\n var triggerevent = UI.support.touch ? \"click\" : \"mouseenter\";\n\n // init code\n UI.$doc.on(triggerevent+\".dropdown.uikit\", \"[data-uk-dropdown]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"dropdown\")) {\n\n var dropdown = UI.dropdown(ele, UI.Utils.options(ele.data(\"uk-dropdown\")));\n\n if (triggerevent==\"click\" || (triggerevent==\"mouseenter\" && dropdown.options.mode==\"hover\")) {\n dropdown.element.trigger(triggerevent);\n }\n\n if(dropdown.element.find('.uk-dropdown').length) {\n e.preventDefault();\n }\n }\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n var grids = [];\n\n UI.component('gridMatchHeight', {\n\n defaults: {\n \"target\" : false,\n \"row\" : true\n },\n\n init: function() {\n\n var $this = this;\n\n this.columns = this.element.children();\n this.elements = this.options.target ? this.find(this.options.target) : this.columns;\n\n if (!this.columns.length) return;\n\n UI.$win.on('resize orientationchange', (function() {\n\n var fn = function() {\n $this.match();\n };\n\n $(function() {\n fn();\n UI.$win.on(\"load\", fn);\n });\n\n return UI.Utils.debounce(fn, 50);\n })());\n\n UI.$doc.on(\"uk.dom.changed\", function(e) {\n $this.columns = $this.element.children();\n $this.elements = $this.options.target ? $this.find($this.options.target) : $this.columns;\n $this.match();\n });\n\n this.on(\"uk-check-display\", function(e) {\n if(this.element.is(\":visible\")) this.match();\n }.bind(this));\n\n grids.push(this);\n },\n\n match: function() {\n\n this.revert();\n\n var firstvisible = this.columns.filter(\":visible:first\");\n\n if (!firstvisible.length) return;\n\n var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100 ? true : false,\n max = 0,\n $this = this;\n\n if (stacked) return;\n\n if(this.options.row) {\n\n this.element.width(); // force redraw\n\n setTimeout(function(){\n\n var lastoffset = false, group = [];\n\n $this.elements.each(function(i) {\n var ele = $(this), offset = ele.offset().top;\n\n if(offset != lastoffset && group.length) {\n\n $this.matchHeights($(group));\n group = [];\n offset = ele.offset().top;\n }\n\n group.push(ele);\n lastoffset = offset;\n });\n\n if(group.length) {\n $this.matchHeights($(group));\n }\n\n }, 0);\n\n } else {\n\n this.matchHeights(this.elements);\n }\n\n return this;\n },\n\n revert: function() {\n this.elements.css('min-height', '');\n return this;\n },\n\n matchHeights: function(elements){\n\n if(elements.length < 2) return;\n\n var max = 0;\n\n elements.each(function() {\n max = Math.max(max, $(this).outerHeight());\n }).each(function(i) {\n\n var element = $(this),\n height = max - (element.outerHeight() - element.height());\n\n element.css('min-height', height + 'px');\n });\n }\n });\n\n UI.component('gridMargin', {\n\n defaults: {\n \"cls\": \"uk-grid-margin\"\n },\n\n init: function() {\n\n var $this = this;\n\n var stackMargin = UI.stackMargin(this.element, this.options);\n }\n });\n\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-grid-match],[data-uk-grid-margin]\", context).each(function() {\n var grid = $(this), obj;\n\n if (grid.is(\"[data-uk-grid-match]\") && !grid.data(\"gridMatchHeight\")) {\n obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr(\"data-uk-grid-match\")));\n }\n\n if (grid.is(\"[data-uk-grid-margin]\") && !grid.data(\"gridMargin\")) {\n obj = UI.gridMargin(grid, UI.Utils.options(grid.attr(\"data-uk-grid-margin\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n var active = false, $html = $('html'), body;\n\n UI.component('modal', {\n\n defaults: {\n keyboard: true,\n bgclose: true,\n minScrollHeight: 150\n },\n\n scrollable: false,\n transition: false,\n\n init: function() {\n\n if (!body) body = $('body');\n\n var $this = this;\n\n this.transition = UI.support.transition;\n this.dialog = this.find(\".uk-modal-dialog\");\n\n this.on(\"click\", \".uk-modal-close\", function(e) {\n e.preventDefault();\n $this.hide();\n\n }).on(\"click\", function(e) {\n\n var target = $(e.target);\n\n if (target[0] == $this.element[0] && $this.options.bgclose) {\n $this.hide();\n }\n });\n },\n\n toggle: function() {\n return this[this.isActive() ? \"hide\" : \"show\"]();\n },\n\n show: function() {\n\n var $this = this;\n\n if (this.isActive()) return;\n if (active) active.hide(true);\n\n this.element.removeClass(\"uk-open\").show();\n this.resize();\n\n active = this;\n $html.addClass(\"uk-modal-page\").height(); // force browser engine redraw\n\n this.element.addClass(\"uk-open\").trigger(\"uk.modal.show\");\n\n UI.Utils.checkDisplay(this.dialog);\n\n return this;\n },\n\n hide: function(force) {\n\n if (!this.isActive()) return;\n\n if (!force && UI.support.transition) {\n\n var $this = this;\n\n this.one(UI.support.transition.end, function() {\n $this._hide();\n }).removeClass(\"uk-open\");\n\n } else {\n\n this._hide();\n }\n\n return this;\n },\n\n resize: function() {\n\n var paddingdir = \"padding-\" + (UI.langdirection == 'left' ? \"left\":\"right\"),\n margindir = \"margin-\" + (UI.langdirection == 'left' ? \"left\":\"right\"),\n bodywidth = body.width();\n\n this.scrollbarwidth = window.innerWidth - bodywidth;\n\n $html.css(margindir, this.scrollbarwidth * -1);\n\n this.element.css(paddingdir, \"\");\n\n if (this.dialog.offset().left > this.scrollbarwidth) {\n this.element.css(paddingdir, this.scrollbarwidth - (this.element[0].scrollHeight==window.innerHeight ? 0:this.scrollbarwidth ));\n }\n\n this.updateScrollable();\n\n },\n\n updateScrollable: function() {\n\n // has scrollable?\n\n var scrollable = this.dialog.find('.uk-overflow-container:visible:first');\n\n if (scrollable) {\n\n scrollable.css(\"height\", 0);\n\n var offset = Math.abs(parseInt(this.dialog.css(\"margin-top\"), 10)),\n dh = this.dialog.outerHeight(),\n wh = window.innerHeight,\n h = wh - 2*(offset < 20 ? 20:offset) - dh;\n\n scrollable.css(\"height\", h < this.options.minScrollHeight ? \"\":h);\n }\n },\n\n _hide: function() {\n\n this.element.hide().removeClass(\"uk-open\");\n\n $html.removeClass(\"uk-modal-page\").css(\"margin-\" + (UI.langdirection == 'left' ? \"left\":\"right\"), \"\");\n\n if(active===this) active = false;\n\n this.trigger(\"uk.modal.hide\");\n },\n\n isActive: function() {\n return (active == this);\n }\n\n });\n\n UI.component('modalTrigger', {\n\n init: function() {\n\n var $this = this;\n\n this.options = $.extend({\n \"target\": $this.element.is(\"a\") ? $this.element.attr(\"href\") : false\n }, this.options);\n\n this.modal = UI.modal(this.options.target, this.options);\n\n this.on(\"click\", function(e) {\n e.preventDefault();\n $this.show();\n });\n\n //methods\n this.proxy(this.modal, \"show hide isActive\");\n }\n });\n\n UI.modal.dialog = function(content, options) {\n\n var modal = UI.modal($(UI.modal.dialog.template).appendTo(\"body\"), options);\n\n modal.on(\"uk.modal.hide\", function(){\n if (modal.persist) {\n modal.persist.appendTo(modal.persist.data(\"modalPersistParent\"));\n modal.persist = false;\n }\n modal.element.remove();\n });\n\n setContent(content, modal);\n\n return modal;\n };\n\n UI.modal.dialog.template = '
      ';\n\n UI.modal.alert = function(content, options) {\n\n UI.modal.dialog(([\n '
      '+String(content)+'
      ',\n '
      '\n ]).join(\"\"), $.extend({bgclose:false, keyboard:false}, options)).show();\n };\n\n UI.modal.confirm = function(content, onconfirm, options) {\n\n onconfirm = $.isFunction(onconfirm) ? onconfirm : function(){};\n\n var modal = UI.modal.dialog(([\n '
      '+String(content)+'
      ',\n '
      '\n ]).join(\"\"), $.extend({bgclose:false, keyboard:false}, options));\n\n modal.element.find(\".js-modal-confirm\").on(\"click\", function(){\n onconfirm();\n modal.hide();\n });\n\n modal.show();\n };\n\n // init code\n UI.$doc.on(\"click.modal.uikit\", \"[data-uk-modal]\", function(e) {\n\n var ele = $(this);\n\n if(ele.is(\"a\")) {\n e.preventDefault();\n }\n\n if (!ele.data(\"modalTrigger\")) {\n var modal = UI.modalTrigger(ele, UI.Utils.options(ele.attr(\"data-uk-modal\")));\n modal.show();\n }\n\n });\n\n // close modal on esc button\n UI.$doc.on('keydown.modal.uikit', function (e) {\n\n if (active && e.keyCode === 27 && active.options.keyboard) { // ESC\n e.preventDefault();\n active.hide();\n }\n });\n\n UI.$win.on(\"resize orientationchange\", UI.Utils.debounce(function(){\n if(active) active.resize();\n }, 150));\n\n\n // helper functions\n function setContent(content, modal){\n\n if(!modal) return;\n\n if (typeof content === 'object') {\n\n // convert DOM object to a jQuery object\n content = content instanceof jQuery ? content : $(content);\n\n if(content.parent().length) {\n modal.persist = content;\n modal.persist.data(\"modalPersistParent\", content.parent());\n }\n }else if (typeof content === 'string' || typeof content === 'number') {\n // just insert the data as innerHTML\n content = $('
      ').html(content);\n }else {\n // unsupported data type!\n content = $('
      ').html('$.UIkitt.modal Error: Unsupported data type: ' + typeof content);\n }\n\n content.appendTo(modal.element.find('.uk-modal-dialog'));\n\n return modal;\n }\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n var scrollpos = {x: window.scrollX, y: window.scrollY},\n $win = UI.$win,\n $doc = UI.$doc,\n $html = $('html'),\n Offcanvas = {\n\n show: function(element) {\n\n element = $(element);\n\n if (!element.length) return;\n\n var $body = $('body'),\n winwidth = $win.width(),\n bar = element.find(\".uk-offcanvas-bar:first\"),\n rtl = ($.UIkit.langdirection == \"right\"),\n flip = bar.hasClass(\"uk-offcanvas-bar-flip\") ? -1:1,\n dir = flip * (rtl ? -1 : 1);\n\n scrollpos = {x: window.pageXOffset, y: window.pageYOffset};\n\n element.addClass(\"uk-active\");\n\n $body.css({\"width\": window.innerWidth, \"height\": $win.height()}).addClass(\"uk-offcanvas-page\");\n $body.css((rtl ? \"margin-right\" : \"margin-left\"), (rtl ? -1 : 1) * (bar.outerWidth() * dir)).width(); // .width() - force redraw\n\n $html.css('margin-top', scrollpos.y * -1);\n\n bar.addClass(\"uk-offcanvas-bar-show\");\n\n element.off(\".ukoffcanvas\").on(\"click.ukoffcanvas swipeRight.ukoffcanvas swipeLeft.ukoffcanvas\", function(e) {\n\n var target = $(e.target);\n\n if (!e.type.match(/swipe/)) {\n\n if (!target.hasClass(\"uk-offcanvas-close\")) {\n if (target.hasClass(\"uk-offcanvas-bar\")) return;\n if (target.parents(\".uk-offcanvas-bar:first\").length) return;\n }\n }\n\n e.stopImmediatePropagation();\n Offcanvas.hide();\n });\n\n $doc.on('keydown.ukoffcanvas', function(e) {\n if (e.keyCode === 27) { // ESC\n Offcanvas.hide();\n }\n });\n\n $doc.trigger('uk.offcanvas.show', [element, bar]);\n },\n\n hide: function(force) {\n\n var $body = $('body'),\n panel = $(\".uk-offcanvas.uk-active\"),\n rtl = ($.UIkit.langdirection == \"right\"),\n bar = panel.find(\".uk-offcanvas-bar:first\"),\n finalize = function() {\n $body.removeClass(\"uk-offcanvas-page\").css({\"width\": \"\", \"height\": \"\", \"margin-left\": \"\", \"margin-right\": \"\"});\n panel.removeClass(\"uk-active\");\n bar.removeClass(\"uk-offcanvas-bar-show\");\n $html.css('margin-top', '');\n window.scrollTo(scrollpos.x, scrollpos.y);\n $doc.trigger('uk.offcanvas.hide', [panel, bar]);\n };\n\n if (!panel.length) return;\n\n if ($.UIkit.support.transition && !force) {\n\n $body.one($.UIkit.support.transition.end, function() {\n finalize();\n }).css((rtl ? \"margin-right\" : \"margin-left\"), \"\");\n\n setTimeout(function(){\n bar.removeClass(\"uk-offcanvas-bar-show\");\n }, 0);\n\n } else {\n finalize();\n }\n\n panel.off(\".ukoffcanvas\");\n $doc.off(\".ukoffcanvas\");\n }\n };\n\n UI.component('offcanvasTrigger', {\n\n init: function() {\n\n var $this = this;\n\n this.options = $.extend({\n \"target\": $this.element.is(\"a\") ? $this.element.attr(\"href\") : false\n }, this.options);\n\n this.on(\"click\", function(e) {\n e.preventDefault();\n Offcanvas.show($this.options.target);\n });\n }\n });\n\n UI.offcanvas = Offcanvas;\n\n // init code\n $doc.on(\"click.offcanvas.uikit\", \"[data-uk-offcanvas]\", function(e) {\n\n e.preventDefault();\n\n var ele = $(this);\n\n if (!ele.data(\"offcanvasTrigger\")) {\n var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr(\"data-uk-offcanvas\")));\n ele.trigger(\"click\");\n }\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n UI.component('nav', {\n\n defaults: {\n \"toggle\": \">li.uk-parent > a[href='#']\",\n \"lists\": \">li.uk-parent > ul\",\n \"multiple\": false\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.toggle, function(e) {\n e.preventDefault();\n var ele = $(this);\n $this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent(\"li\"));\n });\n\n this.find(this.options.lists).each(function() {\n var $ele = $(this),\n parent = $ele.parent(),\n active = parent.hasClass(\"uk-active\");\n\n $ele.wrap('
      ');\n parent.data(\"list-container\", $ele.parent());\n\n if (active) $this.open(parent, true);\n });\n\n },\n\n open: function(li, noanimation) {\n\n var element = this.element, $li = $(li);\n\n if (!this.options.multiple) {\n\n element.children(\".uk-open\").not(li).each(function() {\n if ($(this).data(\"list-container\")) {\n $(this).data(\"list-container\").stop().animate({height: 0}, function() {\n $(this).parent().removeClass(\"uk-open\");\n });\n }\n });\n }\n\n $li.toggleClass(\"uk-open\");\n\n if ($li.data(\"list-container\")) {\n if (noanimation) {\n $li.data('list-container').stop().height($li.hasClass(\"uk-open\") ? \"auto\" : 0);\n } else {\n $li.data('list-container').stop().animate({\n height: ($li.hasClass(\"uk-open\") ? getHeight($li.data('list-container').find('ul:first')) : 0)\n });\n }\n }\n }\n });\n\n\n // helper\n\n function getHeight(ele) {\n var $ele = $(ele), height = \"auto\";\n\n if ($ele.is(\":visible\")) {\n height = $ele.outerHeight();\n } else {\n var tmp = {\n position: $ele.css(\"position\"),\n visibility: $ele.css(\"visibility\"),\n display: $ele.css(\"display\")\n };\n\n height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight();\n\n $ele.css(tmp); // reset element\n }\n\n return height;\n }\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-nav]\", context).each(function() {\n var nav = $(this);\n\n if (!nav.data(\"nav\")) {\n var obj = UI.nav(nav, UI.Utils.options(nav.attr(\"data-uk-nav\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI, $win) {\n\n \"use strict\";\n\n var $tooltip, // tooltip container\n tooltipdelay, checkdelay;\n\n UI.component('tooltip', {\n\n defaults: {\n \"offset\": 5,\n \"pos\": \"top\",\n \"animation\": false,\n \"delay\": 0, // in miliseconds\n \"cls\": \"\",\n \"src\": function() { return this.attr(\"title\"); }\n },\n\n tip: \"\",\n\n init: function() {\n\n var $this = this;\n\n if (!$tooltip) {\n $tooltip = $('
      ').appendTo(\"body\");\n }\n\n this.on({\n \"focus\" : function(e) { $this.show(); },\n \"blur\" : function(e) { $this.hide(); },\n \"mouseenter\": function(e) { $this.show(); },\n \"mouseleave\": function(e) { $this.hide(); }\n });\n\n this.tip = typeof(this.options.src) === \"function\" ? this.options.src.call(this.element) : this.options.src;\n\n // disable title attribute\n this.element.attr(\"data-cached-title\", this.element.attr(\"title\")).attr(\"title\", \"\");\n },\n\n show: function() {\n\n if (tooltipdelay) clearTimeout(tooltipdelay);\n if (checkdelay) clearTimeout(checkdelay);\n if (!this.tip.length) return;\n\n $tooltip.stop().css({\"top\": -2000, \"visibility\": \"hidden\"}).show();\n $tooltip.html('
      ' + this.tip + '
      ');\n\n var $this = this,\n pos = $.extend({}, this.element.offset(), {width: this.element[0].offsetWidth, height: this.element[0].offsetHeight}),\n width = $tooltip[0].offsetWidth,\n height = $tooltip[0].offsetHeight,\n offset = typeof(this.options.offset) === \"function\" ? this.options.offset.call(this.element) : this.options.offset,\n position = typeof(this.options.pos) === \"function\" ? this.options.pos.call(this.element) : this.options.pos,\n tmppos = position.split(\"-\"),\n tcss = {\n \"display\" : \"none\",\n \"visibility\" : \"visible\",\n \"top\" : (pos.top + pos.height + height),\n \"left\" : pos.left\n };\n\n\n // prevent strange position\n // when tooltip is in offcanvas etc.\n if ($('html').css('position')=='fixed' || $('body').css('position')=='fixed'){\n var bodyoffset = $('body').offset(),\n htmloffset = $('html').offset(),\n docoffset = {'top': (htmloffset.top + bodyoffset.top), 'left': (htmloffset.left + bodyoffset.left)};\n\n pos.left -= docoffset.left;\n pos.top -= docoffset.top;\n }\n\n\n if ((tmppos[0] == \"left\" || tmppos[0] == \"right\") && $.UIkit.langdirection == 'right') {\n tmppos[0] = tmppos[0] == \"left\" ? \"right\" : \"left\";\n }\n\n var variants = {\n \"bottom\" : {top: pos.top + pos.height + offset, left: pos.left + pos.width / 2 - width / 2},\n \"top\" : {top: pos.top - height - offset, left: pos.left + pos.width / 2 - width / 2},\n \"left\" : {top: pos.top + pos.height / 2 - height / 2, left: pos.left - width - offset},\n \"right\" : {top: pos.top + pos.height / 2 - height / 2, left: pos.left + pos.width + offset}\n };\n\n $.extend(tcss, variants[tmppos[0]]);\n\n if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width);\n\n var boundary = this.checkBoundary(tcss.left, tcss.top, width, height);\n\n if(boundary) {\n\n switch(boundary) {\n case \"x\":\n\n if (tmppos.length == 2) {\n position = tmppos[0]+\"-\"+(tcss.left < 0 ? \"left\": \"right\");\n } else {\n position = tcss.left < 0 ? \"right\": \"left\";\n }\n\n break;\n\n case \"y\":\n if (tmppos.length == 2) {\n position = (tcss.top < 0 ? \"bottom\": \"top\")+\"-\"+tmppos[1];\n } else {\n position = (tcss.top < 0 ? \"bottom\": \"top\");\n }\n\n break;\n\n case \"xy\":\n if (tmppos.length == 2) {\n position = (tcss.top < 0 ? \"bottom\": \"top\")+\"-\"+(tcss.left < 0 ? \"left\": \"right\");\n } else {\n position = tcss.left < 0 ? \"right\": \"left\";\n }\n\n break;\n\n }\n\n tmppos = position.split(\"-\");\n\n $.extend(tcss, variants[tmppos[0]]);\n\n if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width);\n }\n\n\n tcss.left -= $(\"body\").position().left;\n\n tooltipdelay = setTimeout(function(){\n\n $tooltip.css(tcss).attr(\"class\", [\"uk-tooltip\", \"uk-tooltip-\"+position, $this.options.cls].join(' '));\n\n if ($this.options.animation) {\n $tooltip.css({opacity: 0, display: 'block'}).animate({opacity: 1}, parseInt($this.options.animation, 10) || 400);\n } else {\n $tooltip.show();\n }\n\n tooltipdelay = false;\n\n // close tooltip if element was removed or hidden\n checkdelay = setInterval(function(){\n if(!$this.element.is(':visible')) $this.hide();\n }, 150);\n\n }, parseInt(this.options.delay, 10) || 0);\n },\n\n hide: function() {\n if(this.element.is(\"input\") && this.element[0]===document.activeElement) return;\n\n if(tooltipdelay) clearTimeout(tooltipdelay);\n if (checkdelay) clearTimeout(checkdelay);\n\n $tooltip.stop();\n\n if (this.options.animation) {\n $tooltip.fadeOut(parseInt(this.options.animation, 10) || 400);\n } else {\n $tooltip.hide();\n }\n },\n\n content: function() {\n return this.tip;\n },\n\n checkBoundary: function(left, top, width, height) {\n\n var axis = \"\";\n\n if(left < 0 || ((left-$win.scrollLeft())+width) > window.innerWidth) {\n axis += \"x\";\n }\n\n if(top < 0 || ((top-$win.scrollTop())+height) > window.innerHeight) {\n axis += \"y\";\n }\n\n return axis;\n }\n });\n\n\n // init code\n UI.$doc.on(\"mouseenter.tooltip.uikit focus.tooltip.uikit\", \"[data-uk-tooltip]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"tooltip\")) {\n var obj = UI.tooltip(ele, UI.Utils.options(ele.attr(\"data-uk-tooltip\")));\n ele.trigger(\"mouseenter\");\n }\n });\n\n})(jQuery, jQuery.UIkit, jQuery(window));","(function($, UI) {\n\n \"use strict\";\n\n UI.component('switcher', {\n\n defaults: {\n connect : false,\n toggle : \">*\",\n active : 0\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.toggle, function(e) {\n e.preventDefault();\n $this.show(this);\n });\n\n if (this.options.connect) {\n\n this.connect = $(this.options.connect).find(\".uk-active\").removeClass(\".uk-active\").end();\n\n // delegate switch commands within container content\n if (this.connect.length) {\n\n this.connect.on(\"click\", '[data-uk-switcher-item]', function(e) {\n\n e.preventDefault();\n\n var item = $(this).data('ukSwitcherItem');\n\n if ($this.index == item) return;\n\n switch(item) {\n case 'next':\n case 'previous':\n $this.show($this.index + (item=='next' ? 1:-1));\n break;\n default:\n $this.show(item);\n }\n });\n }\n\n var toggles = this.find(this.options.toggle),\n active = toggles.filter(\".uk-active\");\n\n if (active.length) {\n this.show(active);\n } else {\n active = toggles.eq(this.options.active);\n this.show(active.length ? active : toggles.eq(0));\n }\n }\n\n },\n\n show: function(tab) {\n\n tab = isNaN(tab) ? $(tab) : this.find(this.options.toggle).eq(tab);\n\n var $this = this, active = tab;\n\n if (active.hasClass(\"uk-disabled\")) return;\n\n this.find(this.options.toggle).filter(\".uk-active\").removeClass(\"uk-active\");\n active.addClass(\"uk-active\");\n\n if (this.options.connect && this.connect.length) {\n\n this.index = this.find(this.options.toggle).index(active);\n\n if (this.index == -1 ) {\n this.index = 0;\n }\n\n this.connect.each(function() {\n $(this).children().removeClass(\"uk-active\").eq($this.index).addClass(\"uk-active\");\n UI.Utils.checkDisplay(this);\n });\n }\n\n this.trigger(\"uk.switcher.show\", [active]);\n }\n });\n\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-switcher]\", context).each(function() {\n var switcher = $(this);\n\n if (!switcher.data(\"switcher\")) {\n var obj = UI.switcher(switcher, UI.Utils.options(switcher.attr(\"data-uk-switcher\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n\n UI.component('tab', {\n\n defaults: {\n 'target' : '>li:not(.uk-tab-responsive, .uk-disabled)',\n 'connect' : false,\n 'active' : 0\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", this.options.target, function(e) {\n e.preventDefault();\n $this.find($this.options.target).not(this).removeClass(\"uk-active\").blur();\n $this.trigger(\"uk.tab.change\", [$(this).addClass(\"uk-active\")]);\n });\n\n if (this.options.connect) {\n this.connect = $(this.options.connect);\n }\n\n // init responsive tab\n this.responsivetab = $('
    • ').append('
        ');\n\n this.responsivetab.dropdown = this.responsivetab.find('.uk-dropdown');\n this.responsivetab.lst = this.responsivetab.dropdown.find('ul');\n this.responsivetab.caption = this.responsivetab.find('a:first');\n\n if (this.element.hasClass(\"uk-tab-bottom\")) this.responsivetab.dropdown.addClass(\"uk-dropdown-up\");\n\n // handle click\n this.responsivetab.lst.on('click', 'a', function(e) {\n\n e.preventDefault();\n e.stopPropagation();\n\n var link = $(this);\n\n $this.element.children(':not(.uk-tab-responsive)').eq(link.data('index')).trigger('click');\n });\n\n this.on('uk.switcher.show uk.tab.change', function(e, tab) {\n $this.responsivetab.caption.html(tab.text());\n });\n\n this.element.append(this.responsivetab);\n\n // init UIkit components\n if (this.options.connect) {\n UI.switcher(this.element, {\"toggle\": \">li:not(.uk-tab-responsive)\", \"connect\": this.options.connect, \"active\": this.options.active});\n }\n\n UI.dropdown(this.responsivetab, {\"mode\": \"click\"});\n\n // init\n $this.trigger(\"uk.tab.change\", [this.element.find(this.options.target).filter('.uk-active')]);\n\n this.check();\n\n UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){\n $this.check();\n }, 100));\n },\n\n check: function() {\n\n var children = this.element.children(':not(.uk-tab-responsive)').removeClass('uk-hidden');\n\n if (children.length < 2) return;\n\n var top = (children.eq(0).offset().top + Math.ceil(children.eq(0).height()/2)),\n doresponsive = false,\n item, link;\n\n this.responsivetab.lst.empty();\n\n children.each(function(){\n\n if ($(this).offset().top > top) {\n doresponsive = true;\n }\n });\n\n if (doresponsive) {\n\n for (var i = 0; i < children.length; i++) {\n\n item = children.eq(i);\n link = item.find('a');\n\n if (item.css('float') != 'none' && !item.attr('uk-dropdown')) {\n\n item.addClass('uk-hidden');\n\n if (!item.hasClass('uk-disabled')) {\n this.responsivetab.lst.append('
      • '+link.html()+'
      • ');\n }\n }\n }\n }\n\n this.responsivetab[this.responsivetab.lst.children().length ? 'removeClass':'addClass']('uk-hidden');\n }\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-tab]\", context).each(function() {\n\n var tab = $(this);\n\n if (!tab.data(\"tab\")) {\n var obj = UI.tab(tab, UI.Utils.options(tab.attr(\"data-uk-tab\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n var $win = UI.$win,\n $doc = UI.$doc,\n scrollspies = [],\n checkScrollSpy = function() {\n for(var i=0; i < scrollspies.length; i++) {\n UI.support.requestAnimationFrame.apply(window, [scrollspies[i].check]);\n }\n };\n\n UI.component('scrollspy', {\n\n defaults: {\n \"cls\" : \"uk-scrollspy-inview\",\n \"initcls\" : \"uk-scrollspy-init-inview\",\n \"topoffset\" : 0,\n \"leftoffset\" : 0,\n \"repeat\" : false,\n \"delay\" : 0\n },\n\n init: function() {\n\n var $this = this, idle, inviewstate, initinview,\n fn = function(){\n\n var inview = UI.Utils.isInView($this.element, $this.options);\n\n if(inview && !inviewstate) {\n\n if(idle) clearTimeout(idle);\n\n if(!initinview) {\n $this.element.addClass($this.options.initcls);\n $this.offset = $this.element.offset();\n initinview = true;\n\n $this.trigger(\"uk.scrollspy.init\");\n }\n\n idle = setTimeout(function(){\n\n if(inview) {\n $this.element.addClass(\"uk-scrollspy-inview\").addClass($this.options.cls).width();\n }\n }, $this.options.delay);\n\n inviewstate = true;\n $this.trigger(\"uk.scrollspy.inview\");\n }\n\n if (!inview && inviewstate && $this.options.repeat) {\n $this.element.removeClass(\"uk-scrollspy-inview\").removeClass($this.options.cls);\n inviewstate = false;\n\n $this.trigger(\"uk.scrollspy.outview\");\n }\n };\n\n fn();\n\n this.check = fn;\n scrollspies.push(this);\n }\n });\n\n\n var scrollspynavs = [],\n checkScrollSpyNavs = function() {\n for(var i=0; i < scrollspynavs.length; i++) {\n UI.support.requestAnimationFrame.apply(window, [scrollspynavs[i].check]);\n }\n };\n\n UI.component('scrollspynav', {\n\n defaults: {\n \"cls\" : 'uk-active',\n \"closest\" : false,\n \"topoffset\" : 0,\n \"leftoffset\" : 0,\n \"smoothscroll\" : false\n },\n\n init: function() {\n\n var ids = [],\n links = this.find(\"a[href^='#']\").each(function(){ ids.push($(this).attr(\"href\")); }),\n targets = $(ids.join(\",\"));\n\n var $this = this, inviews, fn = function(){\n\n inviews = [];\n\n for(var i=0 ; i < targets.length ; i++) {\n if(UI.Utils.isInView(targets.eq(i), $this.options)) {\n inviews.push(targets.eq(i));\n }\n }\n\n if(inviews.length) {\n\n var scrollTop = $win.scrollTop(),\n target = (function(){\n for(var i=0; i< inviews.length;i++){\n if(inviews[i].offset().top >= scrollTop){\n return inviews[i];\n }\n }\n })();\n\n if(!target) return;\n\n if($this.options.closest) {\n links.closest($this.options.closest).removeClass($this.options.cls).end().filter(\"a[href='#\"+target.attr(\"id\")+\"']\").closest($this.options.closest).addClass($this.options.cls);\n } else {\n links.removeClass($this.options.cls).filter(\"a[href='#\"+target.attr(\"id\")+\"']\").addClass($this.options.cls);\n }\n }\n };\n\n if(this.options.smoothscroll && UI[\"smoothScroll\"]) {\n links.each(function(){\n UI.smoothScroll(this, $this.options.smoothscroll);\n });\n }\n\n fn();\n\n this.element.data(\"scrollspynav\", this);\n\n this.check = fn;\n scrollspynavs.push(this);\n\n }\n });\n\n\n var fnCheck = function(){\n checkScrollSpy();\n checkScrollSpyNavs();\n };\n\n // listen to scroll and resize\n $doc.on(\"uk-scroll\", fnCheck);\n $win.on(\"resize orientationchange\", UI.Utils.debounce(fnCheck, 50));\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-scrollspy]\", context).each(function() {\n\n var element = $(this);\n\n if (!element.data(\"scrollspy\")) {\n var obj = UI.scrollspy(element, UI.Utils.options(element.attr(\"data-uk-scrollspy\")));\n }\n });\n\n $(\"[data-uk-scrollspy-nav]\", context).each(function() {\n\n var element = $(this);\n\n if (!element.data(\"scrollspynav\")) {\n var obj = UI.scrollspynav(element, UI.Utils.options(element.attr(\"data-uk-scrollspy-nav\")));\n }\n });\n });\n\n})(jQuery, jQuery.UIkit);","(function($, UI) {\n\n \"use strict\";\n\n UI.component('smoothScroll', {\n\n defaults: {\n duration: 1000,\n transition: 'easeOutExpo',\n offset: 0,\n complete: function(){}\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", function(e) {\n\n // get / set parameters\n var ele = ($(this.hash).length ? $(this.hash) : $(\"body\")),\n target = ele.offset().top - $this.options.offset,\n docheight = UI.$doc.height(),\n winheight = UI.$win.height(),\n eleheight = ele.outerHeight();\n\n if ((target + winheight) > docheight) {\n target = docheight - winheight;\n }\n\n // animate to target, fire callback when done\n $(\"html,body\").stop().animate({scrollTop: target}, $this.options.duration, $this.options.transition).promise().done($this.options.complete);\n\n // cancel default click action\n return false;\n });\n\n }\n });\n\n if (!$.easing['easeOutExpo']) {\n $.easing['easeOutExpo'] = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; };\n }\n\n // init code\n UI.$doc.on(\"click.smooth-scroll.uikit\", \"[data-uk-smooth-scroll]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"smoothScroll\")) {\n var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr(\"data-uk-smooth-scroll\")));\n ele.trigger(\"click\");\n }\n\n return false;\n });\n\n})(jQuery, jQuery.UIkit);","\n(function(global, $, UI){\n\n var togglers = [];\n\n UI.component('toggle', {\n\n defaults: {\n target: false,\n cls: 'uk-hidden'\n },\n\n init: function() {\n\n var $this = this;\n\n this.getTogglers();\n\n this.on(\"click\", function(e) {\n if ($this.element.is('a[href=\"#\"]')) e.preventDefault();\n $this.toggle();\n });\n\n togglers.push(this);\n },\n\n toggle: function() {\n\n if(!this.totoggle.length) return;\n\n this.totoggle.toggleClass(this.options.cls);\n\n if (this.options.cls == 'uk-hidden') {\n UI.Utils.checkDisplay(this.totoggle);\n }\n },\n\n getTogglers: function() {\n this.totoggle = this.options.target ? $(this.options.target):[];\n }\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-toggle]\", context).each(function() {\n var ele = $(this);\n\n if (!ele.data(\"toggle\")) {\n var obj = UI.toggle(ele, UI.Utils.options(ele.attr(\"data-uk-toggle\")));\n }\n });\n\n setTimeout(function(){\n\n togglers.forEach(function(toggler){\n toggler.getTogglers();\n });\n\n }, 0);\n });\n\n})(this, jQuery, jQuery.UIkit);","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-autocomplete\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n UI.component('autocomplete', {\n\n defaults: {\n minLength: 3,\n param: 'search',\n method: 'post',\n delay: 300,\n loadingClass: 'uk-loading',\n flipDropdown: false,\n skipClass: 'uk-skip',\n hoverClass: 'uk-active',\n source: null,\n renderer: null,\n\n // template\n\n template: ''\n },\n\n visible : false,\n value : null,\n selected : null,\n\n init: function() {\n\n var $this = this,\n select = false,\n trigger = UI.Utils.debounce(function(e) {\n if(select) {\n return (select = false);\n }\n $this.handle();\n }, this.options.delay);\n\n\n this.dropdown = this.find('.uk-dropdown');\n this.template = this.find('script[type=\"text/autocomplete\"]').html();\n this.template = UI.Utils.template(this.template || this.options.template);\n this.input = this.find(\"input:first\").attr(\"autocomplete\", \"off\");\n\n if (!this.dropdown.length) {\n this.dropdown = $('
        ').appendTo(this.element);\n }\n\n if (this.options.flipDropdown) {\n this.dropdown.addClass('uk-dropdown-flip');\n }\n\n this.input.on({\n \"keydown\": function(e) {\n\n if (e && e.which && !e.shiftKey) {\n\n switch (e.which) {\n case 13: // enter\n select = true;\n\n if ($this.selected) {\n e.preventDefault();\n $this.select();\n }\n break;\n case 38: // up\n e.preventDefault();\n $this.pick('prev', true);\n break;\n case 40: // down\n e.preventDefault();\n $this.pick('next', true);\n break;\n case 27:\n case 9: // esc, tab\n $this.hide();\n break;\n default:\n break;\n }\n }\n\n },\n \"keyup\": trigger,\n \"blur\": function(e) {\n setTimeout(function() { $this.hide(); }, 200);\n }\n });\n\n this.dropdown.on(\"click\", \".uk-autocomplete-results > *\", function(){\n $this.select();\n });\n\n this.dropdown.on(\"mouseover\", \".uk-autocomplete-results > *\", function(){\n $this.pick($(this));\n });\n\n this.triggercomplete = trigger;\n },\n\n handle: function() {\n\n var $this = this, old = this.value;\n\n this.value = this.input.val();\n\n if (this.value.length < this.options.minLength) return this.hide();\n\n if (this.value != old) {\n $this.request();\n }\n\n return this;\n },\n\n pick: function(item, scrollinview) {\n\n var $this = this,\n items = this.dropdown.find('.uk-autocomplete-results').children(':not(.'+this.options.skipClass+')'),\n selected = false;\n\n if (typeof item !== \"string\" && !item.hasClass(this.options.skipClass)) {\n selected = item;\n } else if (item == 'next' || item == 'prev') {\n\n if (this.selected) {\n var index = items.index(this.selected);\n\n if (item == 'next') {\n selected = items.eq(index + 1 < items.length ? index + 1 : 0);\n } else {\n selected = items.eq(index - 1 < 0 ? items.length - 1 : index - 1);\n }\n\n } else {\n selected = items[(item == 'next') ? 'first' : 'last']();\n }\n }\n\n if (selected && selected.length) {\n this.selected = selected;\n items.removeClass(this.options.hoverClass);\n this.selected.addClass(this.options.hoverClass);\n\n // jump to selected if not in view\n if (scrollinview) {\n\n var top = selected.position().top,\n scrollTop = $this.dropdown.scrollTop(),\n dpheight = $this.dropdown.height();\n\n if (top > dpheight || top < 0) {\n $this.dropdown.scrollTop(scrollTop + top);\n }\n }\n }\n },\n\n select: function() {\n\n if(!this.selected) return;\n\n var data = this.selected.data();\n\n this.trigger(\"autocomplete-select\", [data, this]);\n\n if (data.value) {\n this.input.val(data.value);\n }\n\n this.hide();\n },\n\n show: function() {\n if (this.visible) return;\n this.visible = true;\n this.element.addClass(\"uk-open\");\n return this;\n },\n\n hide: function() {\n if (!this.visible) return;\n this.visible = false;\n this.element.removeClass(\"uk-open\");\n return this;\n },\n\n request: function() {\n\n var $this = this,\n release = function(data) {\n\n if(data) {\n $this.render(data);\n }\n\n $this.element.removeClass($this.options.loadingClass);\n };\n\n this.element.addClass(this.options.loadingClass);\n\n if (this.options.source) {\n\n var source = this.options.source;\n\n switch(typeof(this.options.source)) {\n case 'function':\n\n this.options.source.apply(this, [release]);\n\n break;\n\n case 'object':\n\n if(source.length) {\n\n var items = [];\n\n source.forEach(function(item){\n if(item.value && item.value.toLowerCase().indexOf($this.value.toLowerCase())!=-1) {\n items.push(item);\n }\n });\n\n release(items);\n }\n\n break;\n\n case 'string':\n\n var params ={};\n\n params[this.options.param] = this.value;\n\n $.ajax({\n url: this.options.source,\n data: params,\n type: this.options.method,\n dataType: 'json'\n }).done(function(json) {\n release(json || []);\n });\n\n break;\n\n default:\n release(null);\n }\n\n } else {\n this.element.removeClass($this.options.loadingClass);\n }\n },\n\n render: function(data) {\n\n var $this = this;\n\n this.dropdown.empty();\n\n this.selected = false;\n\n if (this.options.renderer) {\n\n this.options.renderer.apply(this, [data]);\n\n } else if(data && data.length) {\n\n this.dropdown.append(this.template({\"items\":data}));\n this.show();\n\n this.trigger('autocomplete-show');\n }\n\n return this;\n }\n });\n\n // init code\n UI.$doc.on(\"focus.autocomplete.uikit\", \"[data-uk-autocomplete]\", function(e) {\n\n var ele = $(this);\n if (!ele.data(\"autocomplete\")) {\n var obj = UI.autocomplete(ele, UI.Utils.options(ele.attr(\"data-uk-autocomplete\")));\n }\n });\n\n return UI.autocomplete;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-cover\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n \"use strict\";\n\n UI.component('cover', {\n\n defaults: {\n automute : true\n },\n\n init: function() {\n\n this.parent = this.element.parent();\n this.dimension = {w: this.element.width(), h: this.element.height()};\n this.ratio = this.dimension.w / this.dimension.h;\n\n UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){\n this.check();\n }.bind(this), 100));\n\n this.check();\n\n this.element.data(\"cover\", this);\n\n\n if (this.element.is('iframe') && this.options.automute) {\n\n var src = this.element.attr('src');\n\n this.element.attr('src', '').on('load', function(){\n\n this.contentWindow.postMessage('{ \"event\": \"command\", \"func\": \"mute\", \"method\":\"setVolume\", \"value\":0}', '*');\n\n }).attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1'].join(''));\n }\n },\n\n check: function() {\n\n var w = this.parent.width(), h = this.parent.height(), width, height;\n\n // if element height < parent height (gap underneath)\n if ((w / this.ratio) < h) {\n\n width = Math.ceil(h * this.ratio);\n height = h;\n\n // element width < parent width (gap to right)\n } else {\n\n width = w;\n height = Math.ceil(w / this.ratio);\n }\n\n this.element.css({\n 'width' : width,\n 'height' : height\n });\n }\n });\n\n // auto init\n UI.ready(function(context) {\n\n $(\"[data-uk-cover]\", context).each(function(){\n\n var ele = $(this);\n\n if(!ele.data(\"cover\")) {\n var plugin = UI.cover(ele, UI.Utils.options(ele.attr(\"data-uk-cover\")));\n }\n });\n });\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-datepicker\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n // Datepicker\n\n var active = false, dropdown, moment;\n\n UI.component('datepicker', {\n\n defaults: {\n weekstart: 1,\n i18n: {\n months : ['January','February','March','April','May','June','July','August','September','October','November','December'],\n weekdays : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']\n },\n format: \"DD.MM.YYYY\",\n offsettop: 5,\n maxDate: false,\n minDate: false,\n template: function(data, opts) {\n\n var content = '', maxDate, minDate;\n\n if (opts.maxDate!==false){\n maxDate = isNaN(opts.maxDate) ? moment(opts.maxDate, opts.format) : moment().add('days', opts.maxDate);\n }\n\n if (opts.minDate!==false){\n minDate = isNaN(opts.minDate) ? moment(opts.minDate, opts.format) : moment().add('days',opts.minDate-1);\n }\n\n content += '
        ';\n content += '';\n content += '';\n\n if (UI.formSelect) {\n\n var i, currentyear = (new Date()).getFullYear(), options = [], months, years, minYear, maxYear;\n\n for (i=0;i'+opts.i18n.months[i]+'');\n } else {\n options.push('');\n }\n }\n\n months = ''+ opts.i18n.months[data.month] + '';\n\n // --\n\n options = [];\n\n minYear = minDate ? minDate.year() : currentyear - 50;\n maxYear = maxDate ? maxDate.year() : currentyear + 20;\n\n for (i=minYear;i<=maxYear;i++) {\n if (i == data.year) {\n options.push('');\n } else {\n options.push('');\n }\n }\n\n years = ''+ data.year + '';\n\n content += '
        '+ months + ' ' + years +'
        ';\n\n } else {\n content += '
        '+ opts.i18n.months[data.month] +' '+ data.year+'
        ';\n }\n\n content += '
        ';\n\n content += '';\n content += '';\n for(var i = 0; i < data.weekdays.length; i++) {\n if (data.weekdays[i]) {\n content += '';\n }\n }\n content += '';\n\n content += '';\n for(var i = 0; i < data.days.length; i++) {\n if (data.days[i] && data.days[i].length){\n content += '';\n for(var d = 0; d < data.days[i].length; d++) {\n if (data.days[i][d]) {\n var day = data.days[i][d],\n cls = [];\n\n if(!day.inmonth) cls.push(\"uk-datepicker-table-muted\");\n if(day.selected) cls.push(\"uk-active\");\n\n if (maxDate && day.day > maxDate) cls.push('uk-datepicker-date-disabled uk-datepicker-table-muted');\n if (minDate && minDate > day.day) cls.push('uk-datepicker-date-disabled uk-datepicker-table-muted');\n\n content += '';\n }\n }\n content += '';\n }\n }\n content += '';\n\n content += '
        '+data.weekdays[i]+'
        '+day.day.format(\"D\")+'
        ';\n\n return content;\n }\n },\n\n init: function() {\n\n var $this = this;\n\n this.current = this.element.val() ? moment(this.element.val(), this.options.format) : moment();\n\n this.on(\"click\", function(){\n if(active!==$this) $this.pick(this.value);\n }).on(\"change\", function(){\n\n if($this.element.val() && !moment($this.element.val(), $this.options.format).isValid()) {\n $this.element.val(moment().format($this.options.format));\n }\n\n });\n\n // init dropdown\n if (!dropdown) {\n\n dropdown = $('
        ');\n\n dropdown.on(\"click\", \".uk-datepicker-next, .uk-datepicker-previous, [data-date]\", function(e){\n e.stopPropagation();\n e.preventDefault();\n\n var ele = $(this);\n\n if (ele.hasClass('uk-datepicker-date-disabled')) return false;\n\n if(ele.is('[data-date]')) {\n active.element.val(moment(ele.data(\"date\")).format(active.options.format)).trigger(\"change\");\n dropdown.hide();\n active = false;\n } else {\n active.add(\"months\", 1 * (ele.hasClass(\"uk-datepicker-next\") ? 1:-1));\n }\n });\n\n dropdown.on('change', '.update-picker-month, .update-picker-year', function(){\n\n var select = $(this);\n active[select.is('.update-picker-year') ? 'setYear':'setMonth'](Number(select.val()));\n });\n\n dropdown.appendTo(\"body\");\n }\n },\n\n pick: function(initdate) {\n\n var offset = this.element.offset(),\n css = {\"top\": offset.top + this.element.outerHeight() + this.options.offsettop, \"left\": offset.left, \"right\":\"\"};\n\n this.current = initdate ? moment(initdate, this.options.format):moment();\n this.initdate = this.current.format(\"YYYY-MM-DD\");\n\n this.update();\n\n if ($.UIkit.langdirection == 'right') {\n css.right = window.innerWidth - (css.left + this.element.outerWidth());\n css.left = \"\";\n }\n\n dropdown.css(css).show();\n\n active = this;\n },\n\n add: function(unit, value) {\n this.current.add(unit, value);\n this.update();\n },\n\n setMonth: function(month) {\n this.current.month(month);\n this.update();\n },\n\n setYear: function(year) {\n this.current.year(year);\n this.update();\n },\n\n update: function() {\n\n var data = this.getRows(this.current.year(), this.current.month()),\n tpl = this.options.template(data, this.options);\n\n dropdown.html(tpl);\n },\n\n getRows: function(year, month) {\n\n var opts = this.options,\n now = moment().format('YYYY-MM-DD'),\n days = [31, (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month],\n before = new Date(year, month, 1).getDay(),\n data = {\"month\":month, \"year\":year,\"weekdays\":[],\"days\":[]},\n row = [];\n\n data.weekdays = (function(){\n\n for (var i=0, arr=[]; i < 7; i++) {\n\n var day = i + (opts.weekstart || 0);\n\n while (day >= 7) {\n day -= 7;\n }\n\n arr.push(opts.i18n.weekdays[day]);\n }\n\n return arr;\n })();\n\n if (opts.weekstart && opts.weekstart > 0) {\n before -= opts.weekstart;\n if (before < 0) {\n before += 7;\n }\n }\n\n var cells = days + before, after = cells;\n\n while(after > 7) { after -= 7; }\n\n cells += 7 - after;\n\n var day, isDisabled, isSelected, isToday, isInMonth;\n\n for (var i = 0, r = 0; i < cells; i++) {\n\n day = new Date(year, month, 1 + (i - before));\n isDisabled = (opts.mindate && day < opts.mindate) || (opts.maxdate && day > opts.maxdate);\n isInMonth = !(i < before || i >= (days + before));\n\n day = moment(day);\n\n isSelected = this.initdate == day.format(\"YYYY-MM-DD\");\n isToday = now == day.format(\"YYYY-MM-DD\");\n\n row.push({\"selected\": isSelected, \"today\": isToday, \"disabled\": isDisabled, \"day\":day, \"inmonth\":isInMonth});\n\n if (++r === 7) {\n data.days.push(row);\n row = [];\n r = 0;\n }\n }\n\n return data;\n },\n\n hide: function() {\n\n if (active && active === this) {\n dropdown.hide();\n active = false;\n }\n }\n });\n\n UI.$win.on(\"resize orientationchange\", function() {\n\n if (active) {\n active.hide();\n }\n });\n\n\n // init code\n UI.$doc.on(\"focus.datepicker.uikit\", \"[data-uk-datepicker]\", function(e) {\n\n var ele = $(this);\n if (!ele.data(\"datepicker\")) {\n e.preventDefault();\n var obj = UI.datepicker(ele, UI.Utils.options(ele.attr(\"data-uk-datepicker\")));\n ele.trigger(\"focus\");\n }\n });\n\n UI.$doc.on(\"click.datepicker.uikit\", function(e) {\n\n var target = $(e.target);\n\n if (active && target[0] != dropdown[0] && !target.data(\"datepicker\") && !target.parents(\".uk-datepicker:first\").length) {\n active.hide();\n }\n });\n\n //! moment.js\n //! version : 2.5.1\n //! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n //! license : MIT\n //! momentjs.com\n\n moment = (function(B){function G(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function Z(a,b){return function(c){return l(a.call(this,c),b)}}function ta(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function $(){}function H(a){aa(a);v(this,a)}function I(a){a=ba(a);var b=a.year||0,c=a.month||0,d=a.week||0,f=a.day||0;this._milliseconds=+(a.millisecond||0)+1E3*(a.second||0)+6E4*(a.minute||\n 0)+36E5*(a.hour||0);this._days=+f+7*d;this._months=+c+12*b;this._data={};this._bubble()}function v(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);b.hasOwnProperty(\"toString\")&&(a.toString=b.toString);b.hasOwnProperty(\"valueOf\")&&(a.valueOf=b.valueOf);return a}function w(a){return 0>a?Math.ceil(a):Math.floor(a)}function l(a,b,c){for(var d=\"\"+Math.abs(a);d.lengtha._a[x]||11a._a[q]||a._a[q]>L(a._a[r],a._a[x])?q:0>a._a[p]||23a._a[y]||59a._a[D]||59a._a[E]||999q)&&(b=q),a._pf.overflow=b)}function ea(a){null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&0>a._pf.overflow&&!a._pf.empty&&!a._pf.invalidMonth&&\n !a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length));return a._isValid}function N(a){return a?a.toLowerCase().replace(\"_\",\"-\"):a}function O(a,b){return b._isUTC?e(a).zone(b._offset||0):e(a).local()}function s(a){var b=0,c,d,f,g,m=function(a){if(!z[a]&&xa)try{require(\"./lang/\"+a)}catch(b){}return z[a]};if(!a)return e.fn._lang;if(!K(a)){if(d=m(a))return d;a=[a]}for(;b=c&&ca(g,f,!0)>=c-1)break;c--}b++}return e.fn._lang}function ya(a){return a.match(/\\[[\\s\\S]/)?a.replace(/^\\[|\\]$/g,\"\"):a.replace(/\\\\/g,\"\")}function za(a){var b=a.match(fa),c,d;c=0;for(d=b.length;cb.length?68(M(b)?366:365)&&(a._pf._overflowDayOfYear=!0),b=T(b,0,a._dayOfYear),a._a[x]=b.getUTCMonth(),a._a[q]=b.getUTCDate());for(b=0;3>b&&null==a._a[b];++b)a._a[b]=c[b]=d[b];for(;7>b;b++)a._a[b]=c[b]=null==a._a[b]?2===b?1:0:a._a[b];c[p]+=h((a._tzm||0)/60);c[y]+=h((a._tzm||0)%60);a._d=(a._useUTC?T:Qa).apply(null,c)}}\n function Pa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function U(a){a._a=[];a._pf.empty=!0;var b=s(a._l),c=\"\"+a._i,d,f,g,e,k=c.length,l=0;f=ga(a._f,b).match(fa)||[];for(b=0;ba._a[p]&&(a._a[p]+=12);!1===a._isPm&&12===a._a[p]&&(a._a[p]=0);S(a);aa(a)}function Na(a){return a.replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(a,c,d,f,e){return c||d||f||e})}function Qa(a,b,c,d,f,e,h){b=new Date(a,b,c,d,f,e,h);1970>a&&b.setFullYear(a);return b}function T(a){var b=new Date(Date.UTC.apply(null,arguments));1970>a&&b.setUTCFullYear(a);return b}function ma(a,b){if(\"string\"===typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),\"number\"!==\n typeof a)return null}else a=parseInt(a,10);return a}function Ra(a,b,c,d,f){return f.relativeTime(b||1,!!c,a,d)}function C(a,b,c){b=c-b;c-=a.day();c>b&&(c-=7);cd?7:0)-(ea&&(a=-a,b=\"-\");return b+l(h(a/60),2)+\":\"+l(h(a)%60,2)},ZZ:function(){var a=-this.zone(),b=\"+\";0>a&&(a=-a,b=\"-\");\n return b+l(h(a/60),2)+l(h(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},sa=[\"months\",\"monthsShort\",\"weekdays\",\"weekdaysShort\",\"weekdaysMin\"];qa.length;)k=qa.pop(),u[k+\"o\"]=ta(u[k],k);for(;ra.length;)k=ra.pop(),u[k+k]=Z(u[k],2);u.DDDD=Z(u.DDD,3);v($.prototype,{set:function(a){var b,c;for(c in a)b=a[c],\"function\"===typeof b?this[c]=b:this[\"_\"+c]=b},_months:\"January February March April May June July August September October November December\".split(\" \"),\n months:function(a){return this._months[a.month()]},_monthsShort:\"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c;this._monthsParse||(this._monthsParse=[]);for(b=0;12>b;b++)if(this._monthsParse[b]||(c=e.utc([2E3,b]),c=\"^\"+this.months(c,\"\")+\"|^\"+this.monthsShort(c,\"\"),this._monthsParse[b]=RegExp(c.replace(\".\",\"\"),\"i\")),this._monthsParse[b].test(a))return b},_weekdays:\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:\"Sun Mon Tue Wed Thu Fri Sat\".split(\" \"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:\"Su Mo Tu We Th Fr Sa\".split(\" \"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c;this._weekdaysParse||(this._weekdaysParse=[]);for(b=0;7>b;b++)if(this._weekdaysParse[b]||(c=e([2E3,1]).day(b),c=\"^\"+this.weekdays(c,\"\")+\"|^\"+this.weekdaysShort(c,\"\")+\"|^\"+this.weekdaysMin(c,\n \"\"),this._weekdaysParse[b]=RegExp(c.replace(\".\",\"\"),\"i\")),this._weekdaysParse[b].test(a))return b},_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(a){var b=this._longDateFormat[a];!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b);return b},isPM:function(a){return\"p\"===(a+\"\").toLowerCase().charAt(0)},\n _meridiemParse:/[ap]\\.?m?\\.?/i,meridiem:function(a,b,c){return 11=a.year()?P(a,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):P(a,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")},toArray:function(){return[this.year(),this.month(),this.date(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()]},isValid:function(){return ea(this)},isDSTShifted:function(){return this._a?this.isValid()&&0a?\"sameElse\":-1>a?\"lastWeek\":0>a?\"lastDay\":1>a?\"sameDay\":2>a?\"nextDay\":7>a?\"nextWeek\":\"sameElse\";return this.format(this.lang().calendar(a,this))},isLeapYear:function(){return M(this.year())},isDST:function(){return this.zone()+e(a).startOf(b)},isBefore:function(a,b){b=\"undefined\"!==typeof b?b:\"millisecond\";return+this.clone().startOf(b)<+e(a).startOf(b)},isSame:function(a,b){b=b||\"ms\";return+this.clone().startOf(b)===+O(a,this).startOf(b)},min:function(a){a=e.apply(null,\n arguments);return athis?this:a},zone:function(a,b){b=null==b?!0:!1;var c=this._offset||0;if(null!=a)\"string\"===typeof a&&(a=ka(a)),16>Math.abs(a)&&(a*=60),this._offset=a,this._isUTC=!0,c!==a&&b&&J(this,e.duration(c-a,\"m\"),1,!0);else return this._isUTC?c:this._d.getTimezoneOffset();return this},zoneAbbr:function(){return this._isUTC?\"UTC\":\"\"},zoneName:function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},parseZone:function(){this._tzm?\n this.zone(this._tzm):\"string\"===typeof this._i&&this.zone(this._i);return this},hasAlignedHourOffset:function(a){a=a?e(a).zone():0;return 0===(this.zone()-a)%60},daysInMonth:function(){return L(this.year(),this.month())},dayOfYear:function(a){var b=A((e(this).startOf(\"day\")-e(this).startOf(\"year\"))/864E5)+1;return null==a?b:this.add(\"d\",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=C(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?\n b:this.add(\"y\",a-b)},isoWeekYear:function(a){var b=C(this,1,4).year;return null==a?b:this.add(\"y\",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add(\"d\",7*(a-b))},isoWeek:function(a){var b=C(this,1,4).week;return null==a?b:this.add(\"d\",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add(\"d\",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return da(this.year(),\n 1,4)},weeksInYear:function(){var a=this._lang._week;return da(this.year(),a.dow,a.doy)},get:function(a){a=n(a);return this[a]()},set:function(a,b){a=n(a);if(\"function\"===typeof this[a])this[a](b);return this},lang:function(a){if(a===B)return this._lang;this._lang=s(a);return this}});for(k=0;kf&&[\"s\",f]||1===e&&[\"m\"]||45>e&&[\"mm\",e]||1===h&&[\"h\"]||22>h&&[\"hh\",h]||1===k&&[\"d\"]||25>=k&&[\"dd\",k]||45>=k&&[\"M\"]||345>k&&[\"MM\",A(k/30)]||1===l&&[\"y\"]||[\"yy\",l];f[2]=c;f[3]=0\n this.asSeconds()?\"-\":\"\")+\"P\"+(a?a+\"Y\":\"\")+(b?b+\"M\":\"\")+(c?c+\"D\":\"\")+(d||e||g?\"T\":\"\")+(d?d+\"H\":\"\")+(e?e+\"M\":\"\")+(g?g+\"S\":\"\"):\"P0D\"}});for(k in Y)Y.hasOwnProperty(k)&&(pa(k,Y[k]),Va(k.toLowerCase()));pa(\"Weeks\",6048E5);e.duration.fn.asMonths=function(){return(+this-31536E6*this.years())/2592E6+12*this.years()};e.lang(\"en\",{ordinal:function(a){var b=a%10,b=1===h(a%100/10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+b}});return e}).call(this);\n\n UI.datepicker.moment = moment;\n\n return UI.datepicker;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-form-password\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n UI.component('formPassword', {\n\n defaults: {\n \"lblShow\": \"Show\",\n \"lblHide\": \"Hide\"\n },\n\n init: function() {\n\n var $this = this;\n\n this.on(\"click\", function(e) {\n\n e.preventDefault();\n\n if($this.input.length) {\n var type = $this.input.attr(\"type\");\n $this.input.attr(\"type\", type==\"text\" ? \"password\":\"text\");\n $this.element.text($this.options[type==\"text\" ? \"lblShow\":\"lblHide\"]);\n }\n });\n\n this.input = this.element.next(\"input\").length ? this.element.next(\"input\") : this.element.prev(\"input\");\n this.element.text(this.options[this.input.is(\"[type='password']\") ? \"lblShow\":\"lblHide\"]);\n\n this.element.data(\"formPassword\", this);\n }\n });\n\n // init code\n UI.$doc.on(\"click.formpassword.uikit\", \"[data-uk-form-password]\", function(e) {\n\n var ele = $(this);\n if (!ele.data(\"formPassword\")) {\n\n e.preventDefault();\n\n var obj = UI.formPassword(ele, UI.Utils.options(ele.attr(\"data-uk-form-password\")));\n ele.trigger(\"click\");\n }\n });\n\n return UI.formPassword;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-form-select\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n UI.component('formSelect', {\n defaults: {\n 'target': '>span:first'\n },\n\n init: function() {\n var $this = this;\n\n this.target = this.find(this.options.target);\n this.select = this.find('select');\n\n // init + on change event\n this.select.on(\"change\", (function(){\n\n var select = $this.select[0], fn = function(){\n\n try {\n $this.target.text(select.options[select.selectedIndex].text);\n } catch(e) {}\n\n return fn;\n };\n\n return fn();\n })());\n\n this.element.data(\"formSelect\", this);\n }\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-form-select]\", context).each(function(){\n var ele = $(this);\n\n if (!ele.data(\"formSelect\")) {\n var obj = UI.formSelect(ele, UI.Utils.options(ele.attr(\"data-uk-form-select\")));\n }\n });\n });\n\n return UI.formSelect;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-htmleditor\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI) {\n\n var editors = [];\n\n UI.component('htmleditor', {\n\n defaults: {\n iframe : false,\n mode : 'split',\n markdown : false,\n autocomplete : true,\n height : 500,\n maxsplitsize : 1000,\n markedOptions: { gfm: true, tables: true, breaks: true, pedantic: true, sanitize: false, smartLists: true, smartypants: false, langPrefix: 'lang-'},\n codemirror : { mode: 'htmlmixed', lineWrapping: true, dragDrop: false, autoCloseTags: true, matchTags: true, autoCloseBrackets: true, matchBrackets: true, indentUnit: 4, indentWithTabs: false, tabSize: 4, hintOptions: {completionSingle:false} },\n toolbar : [ 'bold', 'italic', 'strike', 'link', 'image', 'blockquote', 'listUl', 'listOl' ],\n lblPreview : 'Preview',\n lblCodeview : 'HTML',\n lblMarkedview: 'Markdown'\n },\n\n init: function() {\n\n var $this = this, tpl = UI.components.htmleditor.template;\n\n this.CodeMirror = this.options.CodeMirror || CodeMirror;\n this.buttons = {};\n\n tpl = tpl.replace(/\\{:lblPreview\\}/g, this.options.lblPreview);\n tpl = tpl.replace(/\\{:lblCodeview\\}/g, this.options.lblCodeview);\n\n this.htmleditor = $(tpl);\n this.content = this.htmleditor.find('.uk-htmleditor-content');\n this.toolbar = this.htmleditor.find('.uk-htmleditor-toolbar');\n this.preview = this.htmleditor.find('.uk-htmleditor-preview').children().eq(0);\n this.code = this.htmleditor.find('.uk-htmleditor-code');\n\n this.element.before(this.htmleditor).appendTo(this.code);\n this.editor = this.CodeMirror.fromTextArea(this.element[0], this.options.codemirror);\n this.editor.htmleditor = this;\n this.editor.on('change', UI.Utils.debounce(function() { $this.render(); }, 150));\n this.editor.on('change', function() { $this.editor.save(); });\n this.code.find('.CodeMirror').css('height', this.options.height);\n\n // iframe mode?\n if (this.options.iframe) {\n\n this.iframe = $('');\n this.preview.append(this.iframe);\n\n // must open and close document object to start using it!\n this.iframe[0].contentWindow.document.open();\n this.iframe[0].contentWindow.document.close();\n\n this.preview.container = $(this.iframe[0].contentWindow.document).find('body');\n\n // append custom stylesheet\n if (typeof(this.options.iframe) === 'string') {\n this.preview.container.parent().append('');\n }\n\n } else {\n this.preview.container = this.preview;\n }\n\n UI.$win.on('resize', UI.Utils.debounce(function() { $this.fit(); }, 200));\n\n var previewContainer = this.iframe ? this.preview.container:$this.preview.parent(),\n codeContent = this.code.find('.CodeMirror-sizer'),\n codeScroll = this.code.find('.CodeMirror-scroll').on('scroll', UI.Utils.debounce(function() {\n\n if ($this.htmleditor.attr('data-mode') == 'tab') return;\n\n // calc position\n var codeHeight = codeContent.height() - codeScroll.height(),\n previewHeight = previewContainer[0].scrollHeight - ($this.iframe ? $this.iframe.height() : previewContainer.height()),\n ratio = previewHeight / codeHeight,\n previewPostition = codeScroll.scrollTop() * ratio;\n\n // apply new scroll\n previewContainer.scrollTop(previewPostition);\n\n }, 10));\n\n this.htmleditor.on('click', '.uk-htmleditor-button-code, .uk-htmleditor-button-preview', function(e) {\n\n e.preventDefault();\n\n if ($this.htmleditor.attr('data-mode') == 'tab') {\n\n $this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active').filter(this).addClass('uk-active');\n\n $this.activetab = $(this).hasClass('uk-htmleditor-button-code') ? 'code' : 'preview';\n $this.htmleditor.attr('data-active-tab', $this.activetab);\n $this.editor.refresh();\n }\n });\n\n // toolbar actions\n this.htmleditor.on('click', 'a[data-htmleditor-button]', function() {\n\n if (!$this.code.is(':visible')) return;\n\n $this.trigger('action.' + $(this).data('htmleditor-button'), [$this.editor]);\n });\n\n this.preview.parent().css('height', this.code.height());\n\n // autocomplete\n if (this.options.autocomplete && this.CodeMirror.showHint && this.CodeMirror.hint && this.CodeMirror.hint.html) {\n\n this.editor.on('inputRead', UI.Utils.debounce(function() {\n var doc = $this.editor.getDoc(), POS = doc.getCursor(), mode = $this.CodeMirror.innerMode($this.editor.getMode(), $this.editor.getTokenAt(POS).state).mode.name;\n\n if (mode == 'xml') { //html depends on xml\n\n var cur = $this.editor.getCursor(), token = $this.editor.getTokenAt(cur);\n\n if (token.string.charAt(0) == '<' || token.type == 'attribute') {\n $this.CodeMirror.showHint($this.editor, $this.CodeMirror.hint.html, { completeSingle: false });\n }\n }\n }, 100));\n }\n\n this.debouncedRedraw = UI.Utils.debounce(function () { $this.redraw(); }, 5);\n\n this.on('init', function() {\n $this.redraw();\n });\n\n this.element.attr('data-uk-check-display', 1).on('uk-check-display', function(e) {\n if(this.htmleditor.is(\":visible\")) this.fit();\n }.bind(this));\n\n editors.push(this);\n },\n\n addButton: function(name, button) {\n this.buttons[name] = button;\n },\n\n addButtons: function(buttons) {\n $.extend(this.buttons, buttons);\n },\n\n replaceInPreview: function(regexp, callback) {\n\n var editor = this.editor, results = [], value = editor.getValue(), offset = -1;\n\n this.currentvalue = this.currentvalue.replace(regexp, function() {\n\n offset = value.indexOf(arguments[0], ++offset);\n\n var match = {\n matches: arguments,\n from : translateOffset(offset),\n to : translateOffset(offset + arguments[0].length),\n replace: function(value) {\n editor.replaceRange(value, match.from, match.to);\n },\n inRange: function(cursor) {\n\n if (cursor.line === match.from.line && cursor.line === match.to.line) {\n return cursor.ch >= match.from.ch && cursor.ch < match.to.ch;\n }\n\n return (cursor.line === match.from.line && cursor.ch >= match.from.ch)\n || (cursor.line > match.from.line && cursor.line < match.to.line)\n || (cursor.line === match.to.line && cursor.ch < match.to.ch);\n }\n };\n\n var result = callback(match);\n\n if (result == false) {\n return arguments[0];\n }\n\n results.push(match);\n return result;\n });\n\n function translateOffset(offset) {\n var result = editor.getValue().substring(0, offset).split('\\n');\n return { line: result.length - 1, ch: result[result.length - 1].length }\n }\n\n return results;\n },\n\n _buildtoolbar: function() {\n\n if (!(this.options.toolbar && this.options.toolbar.length)) return;\n\n var $this = this, bar = [];\n\n this.toolbar.empty();\n\n this.options.toolbar.forEach(function(button) {\n if (!$this.buttons[button]) return;\n\n var title = $this.buttons[button].title ? $this.buttons[button].title : button;\n\n bar.push('
      • '+$this.buttons[button].label+'
      • ');\n });\n\n this.toolbar.html(bar.join('\\n'));\n },\n\n fit: function() {\n\n var mode = this.options.mode;\n\n if (mode == 'split' && this.htmleditor.width() < this.options.maxsplitsize) {\n mode = 'tab';\n }\n\n if (mode == 'tab') {\n if (!this.activetab) {\n this.activetab = 'code';\n this.htmleditor.attr('data-active-tab', this.activetab);\n }\n\n this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active')\n .filter(this.activetab == 'code' ? '.uk-htmleditor-button-code' : '.uk-htmleditor-button-preview')\n .addClass('uk-active');\n }\n\n this.editor.refresh();\n this.preview.parent().css('height', this.code.height());\n\n this.htmleditor.attr('data-mode', mode);\n },\n\n redraw: function() {\n this._buildtoolbar();\n this.render();\n this.fit();\n },\n\n getMode: function() {\n return this.editor.getOption('mode');\n },\n\n getCursorMode: function() {\n var param = { mode: 'html'};\n this.trigger('cursorMode', [param]);\n return param.mode;\n },\n\n render: function() {\n\n this.currentvalue = this.editor.getValue();\n\n // empty code\n if (!this.currentvalue) {\n\n this.element.val('');\n this.preview.container.html('');\n\n return;\n }\n\n this.trigger('render', [this]);\n this.trigger('renderLate', [this]);\n\n this.preview.container.html(this.currentvalue);\n },\n\n addShortcut: function(name, callback) {\n var map = {};\n if (!$.isArray(name)) {\n name = [name];\n }\n\n name.forEach(function(key) {\n map[key] = callback;\n });\n\n this.editor.addKeyMap(map);\n\n return map;\n },\n\n addShortcutAction: function(action, shortcuts) {\n var editor = this;\n this.addShortcut(shortcuts, function() {\n editor.element.trigger('action.' + action, [editor.editor]);\n });\n },\n\n replaceSelection: function(replace) {\n\n var text = this.editor.getSelection();\n\n if (!text.length) {\n\n var cur = this.editor.getCursor(),\n curLine = this.editor.getLine(cur.line),\n start = cur.ch,\n end = start;\n\n while (end < curLine.length && /[\\w$]+/.test(curLine.charAt(end))) ++end;\n while (start && /[\\w$]+/.test(curLine.charAt(start - 1))) --start;\n\n var curWord = start != end && curLine.slice(start, end);\n\n if (curWord) {\n this.editor.setSelection({ line: cur.line, ch: start}, { line: cur.line, ch: end });\n text = curWord;\n }\n }\n\n var html = replace.replace('$1', text);\n\n this.editor.replaceSelection(html, 'end');\n this.editor.focus();\n },\n\n replaceLine: function(replace) {\n var pos = this.editor.getDoc().getCursor(),\n text = this.editor.getLine(pos.line),\n html = replace.replace('$1', text);\n\n this.editor.replaceRange(html , { line: pos.line, ch: 0 }, { line: pos.line, ch: text.length });\n this.editor.setCursor({ line: pos.line, ch: html.length });\n this.editor.focus();\n },\n\n save: function() {\n this.editor.save();\n }\n });\n\n\n UI.components.htmleditor.template = [\n '
        ',\n '
        ',\n '
          ',\n '
          ',\n '',\n '
          ',\n '
          ',\n '
          ',\n '
          ',\n '
          ',\n '
          ',\n '
          '\n ].join('');\n\n\n UI.plugin('htmleditor', 'base', {\n\n init: function(editor) {\n\n editor.addButtons({\n\n fullscreen: {\n title : 'Fullscreen',\n label : ''\n },\n bold : {\n title : 'Bold',\n label : ''\n },\n italic : {\n title : 'Italic',\n label : ''\n },\n strike : {\n title : 'Strikethrough',\n label : ''\n },\n blockquote : {\n title : 'Blockquote',\n label : ''\n },\n link : {\n title : 'Link',\n label : ''\n },\n image : {\n title : 'Image',\n label : ''\n },\n listUl : {\n title : 'Unordered List',\n label : ''\n },\n listOl : {\n title : 'Ordered List',\n label : ''\n }\n\n });\n\n addAction('bold', '$1');\n addAction('italic', '$1');\n addAction('strike', '$1');\n addAction('blockquote', '

          $1

          ', 'replaceLine');\n addAction('link', '$1');\n addAction('image', '\"$1\"');\n\n var listfn = function() {\n if (editor.getCursorMode() == 'html') {\n\n var cm = editor.editor,\n pos = cm.getDoc().getCursor(true),\n posend = cm.getDoc().getCursor(false);\n\n for (var i=pos.line; i<(posend.line+1);i++) {\n cm.replaceRange('
        • '+cm.getLine(i)+'
        • ', { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });\n }\n\n cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });\n cm.focus();\n }\n }\n\n editor.on('action.listUl', function() {\n listfn();\n });\n\n editor.on('action.listOl', function() {\n listfn();\n });\n\n editor.htmleditor.on('click', 'a[data-htmleditor-button=\"fullscreen\"]', function() {\n editor.htmleditor.toggleClass('uk-htmleditor-fullscreen');\n\n var wrap = editor.editor.getWrapperElement();\n\n if (editor.htmleditor.hasClass('uk-htmleditor-fullscreen')) {\n\n editor.editor.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, width: wrap.style.width, height: wrap.style.height};\n wrap.style.width = '';\n wrap.style.height = editor.content.height()+'px';\n document.documentElement.style.overflow = 'hidden';\n\n } else {\n\n document.documentElement.style.overflow = '';\n var info = editor.editor.state.fullScreenRestore;\n wrap.style.width = info.width; wrap.style.height = info.height;\n window.scrollTo(info.scrollLeft, info.scrollTop);\n }\n\n setTimeout(function() {\n editor.fit();\n UI.$win.trigger('resize');\n }, 50);\n });\n\n editor.addShortcut(['Ctrl-S', 'Cmd-S'], function() { editor.element.trigger('htmleditor-save', [editor]); });\n editor.addShortcutAction('bold', ['Ctrl-B', 'Cmd-B']);\n\n function addAction(name, replace, mode) {\n editor.on('action.'+name, function() {\n if (editor.getCursorMode() == 'html') {\n editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace);\n }\n });\n }\n }\n });\n\n UI.plugin('htmleditor', 'markdown', {\n\n init: function(editor) {\n\n var parser = editor.options.marked || marked;\n\n if (!parser) return;\n\n parser.setOptions(editor.options.markedOptions);\n\n if (editor.options.markdown) {\n enableMarkdown()\n }\n\n addAction('bold', '**$1**');\n addAction('italic', '*$1*');\n addAction('strike', '~~$1~~');\n addAction('blockquote', '> $1', 'replaceLine');\n addAction('link', '[$1](http://)');\n addAction('image', '![$1](http://)');\n\n editor.on('action.listUl', function() {\n\n if (editor.getCursorMode() == 'markdown') {\n\n var cm = editor.editor,\n pos = cm.getDoc().getCursor(true),\n posend = cm.getDoc().getCursor(false);\n\n for (var i=pos.line; i<(posend.line+1);i++) {\n cm.replaceRange('* '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });\n }\n\n cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });\n cm.focus();\n }\n });\n\n editor.on('action.listOl', function() {\n\n if (editor.getCursorMode() == 'markdown') {\n\n var cm = editor.editor,\n pos = cm.getDoc().getCursor(true),\n posend = cm.getDoc().getCursor(false),\n prefix = 1;\n\n if (pos.line > 0) {\n var prevline = cm.getLine(pos.line-1), matches;\n\n if(matches = prevline.match(/^(\\d+)\\./)) {\n prefix = Number(matches[1])+1;\n }\n }\n\n for (var i=pos.line; i<(posend.line+1);i++) {\n cm.replaceRange(prefix+'. '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });\n prefix++;\n }\n\n cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });\n cm.focus();\n }\n });\n\n editor.on('renderLate', function() {\n if (editor.editor.options.mode == 'gfm') {\n editor.currentvalue = parser(editor.currentvalue);\n }\n });\n\n editor.on('cursorMode', function(e, param) {\n if (editor.editor.options.mode == 'gfm') {\n var pos = editor.editor.getDoc().getCursor();\n if (!editor.editor.getTokenAt(pos).state.base.htmlState) {\n param.mode = 'markdown';\n }\n }\n });\n\n $.extend(editor, {\n\n enableMarkdown: function() {\n enableMarkdown()\n this.render();\n },\n disableMarkdown: function() {\n this.editor.setOption('mode', 'htmlmixed');\n this.htmleditor.find('.uk-htmleditor-button-code a').html(this.options.lblCodeview);\n this.render();\n }\n\n });\n\n // switch markdown mode on event\n editor.on({\n enableMarkdown : function() { editor.enableMarkdown(); },\n disableMarkdown : function() { editor.disableMarkdown(); }\n });\n\n function enableMarkdown() {\n editor.editor.setOption('mode', 'gfm');\n editor.htmleditor.find('.uk-htmleditor-button-code a').html(editor.options.lblMarkedview);\n }\n\n function addAction(name, replace, mode) {\n editor.on('action.'+name, function() {\n if (editor.getCursorMode() == 'markdown') {\n editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace);\n }\n });\n }\n }\n });\n\n // init code\n $(function() {\n $('textarea[data-uk-htmleditor]').each(function() {\n var editor = $(this), obj;\n\n if (!editor.data('htmleditor')) {\n obj = UI.htmleditor(editor, UI.Utils.options(editor.attr('data-uk-htmleditor')));\n }\n });\n });\n\n return UI.htmleditor;\n});","/*\n * Based on Nestable jQuery Plugin - Copyright (c) 2012 David Bushell - http://dbushell.com/\n */\n (function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-nestable\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n })(function($, UI) {\n\n var hasTouch = 'ontouchstart' in window,\n html = $(\"html\"),\n touchedlists = [],\n $win = UI.$win;\n\n /**\n * Detect CSS pointer-events property\n * events are normally disabled on the dragging element to avoid conflicts\n * https://github.com/ausi/Feature-detection-technique-for-pointer-events/blob/master/modernizr-pointerevents.js\n */\n var hasPointerEvents = (function() {\n\n var el = document.createElement('div'), docEl = document.documentElement;\n\n if (!('pointerEvents' in el.style)) {\n return false;\n }\n\n el.style.pointerEvents = 'auto';\n el.style.pointerEvents = 'x';\n\n docEl.appendChild(el);\n\n var supports = window.getComputedStyle && window.getComputedStyle(el, '').pointerEvents === 'auto';\n\n docEl.removeChild(el);\n\n return !!supports;\n })();\n\n var eStart = hasTouch ? 'touchstart' : 'mousedown',\n eMove = hasTouch ? 'touchmove' : 'mousemove',\n eEnd = hasTouch ? 'touchend' : 'mouseup',\n eCancel = hasTouch ? 'touchcancel' : 'mouseup';\n\n\n UI.component('nestable', {\n\n defaults: {\n prefix : 'uk',\n listNodeName : 'ul',\n itemNodeName : 'li',\n listBaseClass : '{prefix}-nestable',\n listClass : '{prefix}-nestable-list',\n listitemClass : '{prefix}-nestable-list-item',\n itemClass : '{prefix}-nestable-item',\n dragClass : '{prefix}-nestable-list-dragged',\n movingClass : '{prefix}-nestable-moving',\n handleClass : '{prefix}-nestable-handle',\n collapsedClass : '{prefix}-collapsed',\n placeClass : '{prefix}-nestable-placeholder',\n noDragClass : '{prefix}-nestable-nodrag',\n emptyClass : '{prefix}-nestable-empty',\n group : 0,\n maxDepth : 10,\n threshold : 20\n },\n\n init: function()\n {\n var $this = this;\n\n Object.keys(this.options).forEach(function(key){\n\n if(String($this.options[key]).indexOf('{prefix}')!=-1) {\n $this.options[key] = $this.options[key].replace('{prefix}', $this.options.prefix);\n }\n });\n\n this.tplempty = '
          ';\n\n this.find(\">\"+this.options.itemNodeName).addClass(this.options.listitemClass)\n .end()\n .find(\"ul:not(.ignore-list)\").addClass(this.options.listClass)\n .find(\">li\").addClass(this.options.listitemClass);\n\n if (!this.element.children(this.options.itemNodeName).length) {\n this.element.append(this.tplempty);\n }\n\n this.element.data(\"nestable-id\", \"ID\"+(new Date().getTime())+\"RAND\"+(Math.ceil(Math.random() *100000)));\n this.reset();\n this.element.data('nestable-group', this.options.group);\n this.placeEl = $('
          ');\n\n this.find(this.options.itemNodeName).each(function() {\n $this.setParent($(this));\n });\n\n this.on('click', '[data-nestable-action]', function(e) {\n\n if ($this.dragEl || (!hasTouch && e.button !== 0)) {\n return;\n }\n\n e.preventDefault();\n\n var target = $(e.currentTarget),\n action = target.data('nestableAction'),\n item = target.closest($this.options.itemNodeName);\n if (action === 'collapse') {\n $this.collapseItem(item);\n }\n if (action === 'expand') {\n $this.expandItem(item);\n }\n if (action === 'toggle') {\n $this.toggleItem(item);\n }\n });\n\n var onStartEvent = function(e) {\n\n var handle = $(e.target);\n\n if (!handle.hasClass($this.options.handleClass)) {\n if (handle.closest('.' + $this.options.noDragClass).length) {\n return;\n }\n handle = handle.closest('.' + $this.options.handleClass);\n }\n if (!handle.length || $this.dragEl || (!hasTouch && e.button !== 0) || (hasTouch && e.touches.length !== 1)) {\n return;\n }\n e.preventDefault();\n $this.dragStart(hasTouch ? e.touches[0] : e);\n $this.trigger('nestable-start', [$this]);\n };\n\n var onMoveEvent = function(e) {\n if ($this.dragEl) {\n e.preventDefault();\n $this.dragMove(hasTouch ? e.touches[0] : e);\n $this.trigger('nestable-move', [$this]);\n }\n };\n\n var onEndEvent = function(e) {\n if ($this.dragEl) {\n e.preventDefault();\n $this.dragStop(hasTouch ? e.touches[0] : e);\n $this.trigger('nestable-stop', [$this]);\n }\n };\n\n if (hasTouch) {\n this.element[0].addEventListener(eStart, onStartEvent, false);\n window.addEventListener(eMove, onMoveEvent, false);\n window.addEventListener(eEnd, onEndEvent, false);\n window.addEventListener(eCancel, onEndEvent, false);\n } else {\n this.on(eStart, onStartEvent);\n $win.on(eMove, onMoveEvent);\n $win.on(eEnd, onEndEvent);\n }\n\n },\n\n serialize: function() {\n\n var data,\n depth = 0,\n list = this;\n step = function(level, depth) {\n\n var array = [ ], items = level.children(list.options.itemNodeName);\n\n items.each(function() {\n\n var li = $(this),\n item = $.extend({}, li.data()),\n sub = li.children(list.options.listNodeName);\n\n if (sub.length) {\n item.children = step(sub, depth + 1);\n }\n array.push(item);\n });\n return array;\n };\n\n data = step(list.element, depth);\n\n return data;\n },\n\n list: function(options) {\n\n var data = [],\n list = this,\n depth = 0,\n options = $.extend({}, list.options, options),\n step = function(level, depth, parent) {\n\n var items = level.children(options.itemNodeName);\n\n items.each(function(index) {\n var li = $(this),\n item = $.extend({parent_id: (parent ? parent : null), depth: depth, order: index}, li.data()),\n sub = li.children(options.listNodeName);\n\n data.push(item);\n\n if (sub.length) {\n step(sub, depth + 1, li.data(options.idProperty || 'id'));\n }\n });\n };\n\n step(list.element, depth);\n\n return data;\n },\n\n reset: function() {\n\n this.mouse = {\n offsetX : 0,\n offsetY : 0,\n startX : 0,\n startY : 0,\n lastX : 0,\n lastY : 0,\n nowX : 0,\n nowY : 0,\n distX : 0,\n distY : 0,\n dirAx : 0,\n dirX : 0,\n dirY : 0,\n lastDirX : 0,\n lastDirY : 0,\n distAxX : 0,\n distAxY : 0\n };\n this.moving = false;\n this.dragEl = null;\n this.dragRootEl = null;\n this.dragDepth = 0;\n this.hasNewRoot = false;\n this.pointEl = null;\n\n for (var i=0; i this.dragDepth) {\n this.dragDepth = depth;\n }\n }\n\n html.addClass(this.options.movingClass);\n },\n\n dragStop: function(e) {\n // fix for zepto.js\n //this.placeEl.replaceWith(this.dragEl.children(this.options.itemNodeName + ':first').detach());\n var el = this.dragEl.children(this.options.itemNodeName).first();\n el[0].parentNode.removeChild(el[0]);\n this.placeEl.replaceWith(el);\n\n this.dragEl.remove();\n\n if (this.tmpDragOnSiblings[0]!=el[0].previousSibling || this.tmpDragOnSiblings[0]!=el[0].previousSibling) {\n\n this.element.trigger('nestable-change',[el, this.hasNewRoot ? \"added\":\"moved\"]);\n\n if (this.hasNewRoot) {\n this.dragRootEl.trigger('nestable-change', [el, \"removed\"]);\n }\n }\n\n this.reset();\n\n html.removeClass(this.options.movingClass);\n },\n\n dragMove: function(e) {\n var list, parent, prev, next, depth,\n opt = this.options,\n mouse = this.mouse;\n\n this.dragEl.css({\n left : e.pageX - mouse.offsetX,\n top : e.pageY - mouse.offsetY\n });\n\n // mouse position last events\n mouse.lastX = mouse.nowX;\n mouse.lastY = mouse.nowY;\n // mouse position this events\n mouse.nowX = e.pageX;\n mouse.nowY = e.pageY;\n // distance mouse moved between events\n mouse.distX = mouse.nowX - mouse.lastX;\n mouse.distY = mouse.nowY - mouse.lastY;\n // direction mouse was moving\n mouse.lastDirX = mouse.dirX;\n mouse.lastDirY = mouse.dirY;\n // direction mouse is now moving (on both axis)\n mouse.dirX = mouse.distX === 0 ? 0 : mouse.distX > 0 ? 1 : -1;\n mouse.dirY = mouse.distY === 0 ? 0 : mouse.distY > 0 ? 1 : -1;\n // axis mouse is now moving on\n var newAx = Math.abs(mouse.distX) > Math.abs(mouse.distY) ? 1 : 0;\n\n // do nothing on first move\n if (!mouse.moving) {\n mouse.dirAx = newAx;\n mouse.moving = true;\n return;\n }\n\n // calc distance moved on this axis (and direction)\n if (mouse.dirAx !== newAx) {\n mouse.distAxX = 0;\n mouse.distAxY = 0;\n } else {\n mouse.distAxX += Math.abs(mouse.distX);\n if (mouse.dirX !== 0 && mouse.dirX !== mouse.lastDirX) {\n mouse.distAxX = 0;\n }\n mouse.distAxY += Math.abs(mouse.distY);\n if (mouse.dirY !== 0 && mouse.dirY !== mouse.lastDirY) {\n mouse.distAxY = 0;\n }\n }\n mouse.dirAx = newAx;\n\n /**\n * move horizontal\n */\n if (mouse.dirAx && mouse.distAxX >= opt.threshold) {\n // reset move distance on x-axis for new phase\n mouse.distAxX = 0;\n prev = this.placeEl.prev(opt.itemNodeName);\n // increase horizontal level if previous sibling exists and is not collapsed\n if (mouse.distX > 0 && prev.length && !prev.hasClass(opt.collapsedClass)) {\n // cannot increase level when item above is collapsed\n list = prev.find(opt.listNodeName).last();\n // check if depth limit has reached\n depth = this.placeEl.parents(opt.listNodeName).length;\n if (depth + this.dragDepth <= opt.maxDepth) {\n // create new sub-level if one doesn't exist\n if (!list.length) {\n list = $('<' + opt.listNodeName + '/>').addClass(opt.listClass);\n list.append(this.placeEl);\n prev.append(list);\n this.setParent(prev);\n } else {\n // else append to next level up\n list = prev.children(opt.listNodeName).last();\n list.append(this.placeEl);\n }\n }\n }\n // decrease horizontal level\n if (mouse.distX < 0) {\n // we can't decrease a level if an item preceeds the current one\n next = this.placeEl.next(opt.itemNodeName);\n if (!next.length) {\n parent = this.placeEl.parent();\n this.placeEl.closest(opt.itemNodeName).after(this.placeEl);\n if (!parent.children().length) {\n this.unsetParent(parent.parent());\n }\n }\n }\n }\n\n var isEmpty = false;\n\n // find list item under cursor\n if (!hasPointerEvents) {\n this.dragEl[0].style.visibility = 'hidden';\n }\n this.pointEl = $(document.elementFromPoint(e.pageX - document.body.scrollLeft, e.pageY - (window.pageYOffset || document.documentElement.scrollTop)));\n if (!hasPointerEvents) {\n this.dragEl[0].style.visibility = 'visible';\n }\n\n if (this.pointEl.hasClass(opt.handleClass)) {\n this.pointEl = this.pointEl.closest(opt.itemNodeName);\n } else {\n\n var nestableitem = this.pointEl.closest('.'+opt.itemClass);\n\n if(nestableitem.length) {\n this.pointEl = nestableitem.closest(opt.itemNodeName);\n }\n }\n\n if (this.pointEl.hasClass(opt.emptyClass)) {\n isEmpty = true;\n } else if (this.pointEl.data('nestable') && !this.pointEl.children().length) {\n isEmpty = true;\n this.pointEl = $(this.tplempty).appendTo(this.pointEl);\n } else if (!this.pointEl.length || !this.pointEl.hasClass(opt.listitemClass)) {\n return;\n }\n\n // find parent list of item under cursor\n var pointElRoot = this.element,\n tmpRoot = this.pointEl.closest('.'+this.options.listBaseClass),\n isNewRoot = pointElRoot[0] !== this.pointEl.closest('.'+this.options.listBaseClass)[0],\n $newRoot = tmpRoot;\n\n /**\n * move vertical\n */\n if (!mouse.dirAx || isNewRoot || isEmpty) {\n // check if groups match if dragging over new root\n if (isNewRoot && opt.group !== $newRoot.data('nestable-group')) {\n return;\n } else {\n touchedlists.push(pointElRoot);\n }\n\n // check depth limit\n depth = this.dragDepth - 1 + this.pointEl.parents(opt.listNodeName).length;\n\n if (depth > opt.maxDepth) {\n return;\n }\n\n var before = e.pageY < (this.pointEl.offset().top + this.pointEl.height() / 2);\n\n parent = this.placeEl.parent();\n\n // if empty create new list to replace empty placeholder\n if (isEmpty) {\n this.pointEl.replaceWith(this.placeEl);\n } else if (before) {\n this.pointEl.before(this.placeEl);\n } else {\n this.pointEl.after(this.placeEl);\n }\n\n if (!parent.children().length) {\n if(!parent.data(\"nestable\")) this.unsetParent(parent.parent());\n }\n\n if (!this.dragRootEl.find(opt.itemNodeName).length && !this.dragRootEl.children().length) {\n this.dragRootEl.append(this.tplempty);\n }\n\n // parent root list has changed\n if (isNewRoot) {\n this.dragRootEl = tmpRoot;\n this.hasNewRoot = this.element[0] !== this.dragRootEl[0];\n }\n }\n }\n\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-nestable]\", context).each(function(){\n\n var ele = $(this);\n\n if(!ele.data(\"nestable\")) {\n var plugin = UI.nestable(ele, UI.Utils.options(ele.attr(\"data-uk-nestable\")));\n }\n });\n });\n\n return UI.nestable;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-notify\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n var containers = {},\n messages = {},\n\n notify = function(options){\n\n if ($.type(options) == 'string') {\n options = { message: options };\n }\n\n if (arguments[1]) {\n options = $.extend(options, $.type(arguments[1]) == 'string' ? {status:arguments[1]} : arguments[1]);\n }\n\n return (new Message(options)).show();\n },\n closeAll = function(group, instantly){\n if(group) {\n for(var id in messages) { if(group===messages[id].group) messages[id].close(instantly); }\n } else {\n for(var id in messages) { messages[id].close(instantly); }\n }\n };\n\n var Message = function(options){\n\n var $this = this;\n\n this.options = $.extend({}, Message.defaults, options);\n\n this.uuid = \"ID\"+(new Date().getTime())+\"RAND\"+(Math.ceil(Math.random() * 100000));\n this.element = $([\n\n '
          ',\n '',\n '
          '+this.options.message+'
          ',\n '
          '\n\n ].join('')).data(\"notifyMessage\", this);\n\n // status\n if (this.options.status) {\n this.element.addClass('uk-notify-message-'+this.options.status);\n this.currentstatus = this.options.status;\n }\n\n this.group = this.options.group;\n\n messages[this.uuid] = this;\n\n if(!containers[this.options.pos]) {\n containers[this.options.pos] = $('
          ').appendTo('body').on(\"click\", \".uk-notify-message\", function(){\n $(this).data(\"notifyMessage\").close();\n });\n }\n };\n\n\n $.extend(Message.prototype, {\n\n uuid: false,\n element: false,\n timout: false,\n currentstatus: \"\",\n group: false,\n\n show: function() {\n\n if (this.element.is(\":visible\")) return;\n\n var $this = this;\n\n containers[this.options.pos].show().prepend(this.element);\n\n var marginbottom = parseInt(this.element.css(\"margin-bottom\"), 10);\n\n this.element.css({\"opacity\":0, \"margin-top\": -1*this.element.outerHeight(), \"margin-bottom\":0}).animate({\"opacity\":1, \"margin-top\": 0, \"margin-bottom\":marginbottom}, function(){\n\n if ($this.options.timeout) {\n\n var closefn = function(){ $this.close(); };\n\n $this.timeout = setTimeout(closefn, $this.options.timeout);\n\n $this.element.hover(\n function() { clearTimeout($this.timeout); },\n function() { $this.timeout = setTimeout(closefn, $this.options.timeout); }\n );\n }\n\n });\n\n return this;\n },\n\n close: function(instantly) {\n\n var $this = this,\n finalize = function(){\n $this.element.remove();\n\n if(!containers[$this.options.pos].children().length) {\n containers[$this.options.pos].hide();\n }\n\n $this.options.onClose.apply($this, []);\n\n delete messages[$this.uuid];\n };\n\n if(this.timeout) clearTimeout(this.timeout);\n\n if(instantly) {\n finalize();\n } else {\n this.element.animate({\"opacity\":0, \"margin-top\": -1* this.element.outerHeight(), \"margin-bottom\":0}, function(){\n finalize();\n });\n }\n },\n\n content: function(html){\n\n var container = this.element.find(\">div\");\n\n if(!html) {\n return container.html();\n }\n\n container.html(html);\n\n return this;\n },\n\n status: function(status) {\n\n if(!status) {\n return this.currentstatus;\n }\n\n this.element.removeClass('uk-notify-message-'+this.currentstatus).addClass('uk-notify-message-'+status);\n\n this.currentstatus = status;\n\n return this;\n }\n });\n\n Message.defaults = {\n message: \"\",\n status: \"\",\n timeout: 5000,\n group: null,\n pos: 'top-center',\n onClose: function() {}\n };\n\n UI.notify = notify;\n UI.notify.message = Message;\n UI.notify.closeAll = closeAll;\n\n return notify;\n});","/*\n * Based on simplePagination - Copyright (c) 2012 Flavius Matis - http://flaviusmatis.github.com/simplePagination.js/ (MIT)\n */\n(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-pagination\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n \"use strict\";\n\n UI.component('pagination', {\n\n defaults: {\n items : 1,\n itemsOnPage : 1,\n pages : 0,\n displayedPages : 3,\n edges : 3,\n currentPage : 1,\n lblPrev : false,\n lblNext : false,\n onSelectPage : function() {}\n },\n\n init: function() {\n\n var $this = this;\n\n 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;\n this.currentPage = this.options.currentPage - 1;\n this.halfDisplayed = this.options.displayedPages / 2;\n\n this.on(\"click\", \"a[data-page]\", function(e){\n e.preventDefault();\n $this.selectPage($(this).data(\"page\"));\n });\n\n this._render();\n },\n\n _getInterval: function() {\n\n return {\n start: Math.ceil(this.currentPage > this.halfDisplayed ? Math.max(Math.min(this.currentPage - this.halfDisplayed, (this.pages - this.options.displayedPages)), 0) : 0),\n end : Math.ceil(this.currentPage > this.halfDisplayed ? Math.min(this.currentPage + this.halfDisplayed, this.pages) : Math.min(this.options.displayedPages, this.pages))\n };\n },\n\n render: function(pages) {\n this.pages = pages ? pages : this.pages;\n this._render();\n },\n\n selectPage: function(pageIndex, pages) {\n this.currentPage = pageIndex;\n this.render(pages);\n\n this.options.onSelectPage.apply(this, [pageIndex]);\n this.trigger('uk-select-page', [pageIndex, this]);\n },\n\n _render: function() {\n\n var o = this.options, interval = this._getInterval(), i;\n\n this.element.empty();\n\n // Generate Prev link\n if (o.lblPrev) this._append(o.currentPage - 1, {text: o.lblPrev});\n\n // Generate start edges\n if (interval.start > 0 && o.edges > 0) {\n\n var end = Math.min(o.edges, interval.start);\n\n for (i = 0; i < end; i++) this._append(i);\n\n if (o.edges < interval.start && (interval.start - o.edges != 1)) {\n this.element.append('
        • ...
        • ');\n } else if (interval.start - o.edges == 1) {\n this._append(o.edges);\n }\n }\n\n // Generate interval links\n for (i = interval.start; i < interval.end; i++) this._append(i);\n\n // Generate end edges\n if (interval.end < this.pages && o.edges > 0) {\n\n if (this.pages - o.edges > interval.end && (this.pages - o.edges - interval.end != 1)) {\n this.element.append('
        • ...
        • ');\n } else if (this.pages - o.edges - interval.end == 1) {\n this._append(interval.end++);\n }\n\n var begin = Math.max(this.pages - o.edges, interval.end);\n\n for (i = begin; i < this.pages; i++) this._append(i);\n }\n\n // Generate Next link (unless option is set for at front)\n if (o.lblNext) this._append(o.currentPage + 1, {text: o.lblNext});\n },\n\n _append: function(pageIndex, opts) {\n\n var $this = this, item, link, options;\n\n pageIndex = pageIndex < 0 ? 0 : (pageIndex < this.pages ? pageIndex : this.pages - 1);\n options = $.extend({ text: pageIndex + 1 }, opts);\n\n item = (pageIndex == this.currentPage) ? '
        • ' + (options.text) + '
        • '\n : '
        • '+options.text+'
        • ';\n\n this.element.append(item);\n }\n });\n\n // init code\n UI.ready(function(context) {\n\n $(\"[data-uk-pagination]\", context).each(function(){\n var ele = $(this);\n\n if (!ele.data(\"pagination\")) {\n var obj = UI.pagination(ele, UI.Utils.options(ele.attr(\"data-uk-pagination\")));\n }\n });\n });\n\n return UI.pagination;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-search\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n \"use strict\";\n\n UI.component('search', {\n defaults: {\n msgResultsHeader : 'Search Results',\n msgMoreResults : 'More Results',\n msgNoResults : 'No results found',\n template : '',\n\n renderer: function(data) {\n\n var $this = this, opts = this.options;\n\n this.dropdown.append(this.template({\"items\":data.results || [], \"msgResultsHeader\":opts.msgResultsHeader, \"msgMoreResults\": opts.msgMoreResults, \"msgNoResults\": opts.msgNoResults}));\n this.show();\n }\n },\n\n init: function() {\n var $this = this;\n\n this.autocomplete = UI.autocomplete(this.element, this.options);\n\n this.autocomplete.dropdown.addClass('uk-dropdown-search');\n\n this.autocomplete.input.on(\"keyup\", function(){\n $this.element[$this.autocomplete.input.val() ? \"addClass\":\"removeClass\"](\"uk-active\");\n }).closest(\"form\").on(\"reset\", function(){\n $this.value=\"\";\n $this.element.removeClass(\"uk-active\");\n });\n\n this.on('autocomplete-select', function(e, data) {\n if (data.url) {\n location.href = data.url;\n } else if(data.moreresults) {\n this.autocomplete.input.closest('form').submit();\n }\n });\n\n this.element.data(\"search\", this);\n }\n });\n\n // init code\n UI.$doc.on(\"focus.search.uikit\", \"[data-uk-search]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"search\")) {\n var obj = UI.search(ele, UI.Utils.options(ele.attr(\"data-uk-search\")));\n }\n });\n});","/*\n * Based on nativesortable - Copyright (c) Brian Grinstead - https://github.com/bgrins/nativesortable\n */\n(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-sortable\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n \"use strict\";\n\n var supportsTouch = ('ontouchstart' in window) || (window.DocumentTouch && document instanceof DocumentTouch),\n supportsDragAndDrop = !supportsTouch && (function() {\n var div = document.createElement('div');\n return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);\n })(),\n\n draggingPlaceholder, moving, dragging, clickedlink, delayIdle;\n\n // disable native dragndrop support for now\n supportsDragAndDrop = false;\n\n UI.component('sortable', {\n\n defaults: {\n\n warp : false,\n animation : 150,\n threshold : 10,\n\n childClass : 'uk-sortable-item',\n placeholderClass : 'uk-sortable-placeholder',\n overClass : 'uk-sortable-over',\n draggingClass : 'uk-sortable-dragged',\n dragMovingClass : 'uk-sortable-moving',\n dragCustomClass : '',\n handleClass : false,\n\n stop : function() {},\n start : function() {},\n change : function() {}\n },\n\n init: function() {\n\n var $this = this,\n element = this.element[0],\n currentlyDraggingElement = null,\n currentlyDraggingTarget = null,\n children;\n\n if (supportsDragAndDrop) {\n this.element.children().attr(\"draggable\", \"true\");\n\n } else {\n\n // prevent leaving page after link clicking\n // prevent leaving page after link clicking\n this.element.on('mousedown touchstart', 'a[href]', function(e) {\n // don't break browser shortcuts for click+open in new tab\n if(!e.ctrlKey && !e.metaKey && !e.shiftKey) {\n clickedlink = $(this);\n }\n }).on('click', 'a[href]', function(e) {\n if(!e.ctrlKey && !e.metaKey && !e.shiftKey) {\n clickedlink = $(this);\n e.stopImmediatePropagation();\n return false;\n }\n });\n }\n\n var handleDragStart = delegate(function(e) {\n\n moving = false;\n dragging = false;\n\n var target = $(e.target), children = $this.element.children();\n\n if (!supportsTouch && e.button==2) {\n return;\n }\n\n if ($this.options.handleClass) {\n\n var handle = target.hasClass($this.options.handleClass) ? target : target.closest('.'+$this.options.handleClass, element);\n\n if (!handle.length) {\n //e.preventDefault();\n return;\n }\n }\n\n if (e.dataTransfer) {\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.dropEffect = 'move';\n e.dataTransfer.setData('Text', \"*\"); // Need to set to something or else drag doesn't start\n }\n\n currentlyDraggingElement = this;\n\n // init drag placeholder\n if (draggingPlaceholder) draggingPlaceholder.remove();\n\n var $current = $(currentlyDraggingElement), offset = $current.offset();\n\n delayIdle = {\n\n pos : { x:e.pageX, y:e.pageY },\n threshold : $this.options.threshold,\n 'apply' : function() {\n\n draggingPlaceholder = $('
          ').css({\n display : 'none',\n top : offset.top,\n left : offset.left,\n width : $current.width(),\n height : $current.height(),\n padding : $current.css('padding')\n }).data('mouse-offset', {\n 'left': offset.left - parseInt(e.pageX, 10),\n 'top' : offset.top - parseInt(e.pageY, 10)\n }).append($current.html()).appendTo('body');\n\n draggingPlaceholder.$current = $current;\n draggingPlaceholder.$sortable = $this;\n\n addFakeDragHandlers();\n\n $this.options.start(this, currentlyDraggingElement);\n $this.trigger('sortable-start', [$this, currentlyDraggingElement]);\n\n delayIdle = false;\n }\n }\n\n if (!supportsDragAndDrop) {\n e.preventDefault();\n }\n });\n\n var handleDragOver = delegate(function(e) {\n\n if (!currentlyDraggingElement) {\n return true;\n }\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n return false;\n });\n\n var handleDragEnter = delegate($.UIkit.Utils.debounce(function(e) {\n\n if (!currentlyDraggingElement || currentlyDraggingElement === this) {\n return true;\n }\n\n // Prevent dragenter on a child from allowing a dragleave on the container\n var previousCounter = $this.dragenterData(this);\n\n $this.dragenterData(this, previousCounter + 1);\n\n if (previousCounter === 0) {\n\n $(this).addClass($this.options.overClass);\n\n if (!$this.options.warp) {\n $this.moveElementNextTo(currentlyDraggingElement, this);\n }\n }\n\n return false;\n }), 40);\n\n var handleDragLeave = delegate(function(e) {\n\n // Prevent dragenter on a child from allowing a dragleave on the container\n var previousCounter = $this.dragenterData(this);\n $this.dragenterData(this, previousCounter - 1);\n\n // This is a fix for child elements firing dragenter before the parent fires dragleave\n if (!$this.dragenterData(this)) {\n $(this).removeClass($this.options.overClass);\n $this.dragenterData(this, false);\n }\n });\n\n var handleDrop = delegate(function(e) {\n\n\n if (e.type === 'drop') {\n\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n }\n\n if (!dragging) {\n return;\n }\n\n if ($this.options.warp) {\n var thisSibling = currentlyDraggingElement.nextSibling;\n this.parentNode.insertBefore(currentlyDraggingElement, this);\n this.parentNode.insertBefore(this, thisSibling);\n }\n\n $this.options.change(this, currentlyDraggingElement);\n $this.trigger('sortable-change', [$this, currentlyDraggingElement]);\n });\n\n var handleDragEnd = function(e) {\n\n currentlyDraggingElement = null;\n currentlyDraggingTarget = null;\n\n $this.element.children().each(function() {\n if (this.nodeType === 1) {\n $(this).removeClass($this.options.overClass).removeClass($this.options.placeholderClass).removeClass($this.options.childClass);\n $this.dragenterData(this, false);\n }\n });\n\n $('html').removeClass($this.options.dragMovingClass);\n\n removeFakeDragHandlers();\n\n $this.options.stop(this);\n $this.trigger('sortable-stop', [$this]);\n\n draggingPlaceholder.remove();\n draggingPlaceholder = null;\n };\n\n var handleTouchMove = delegate(function(e) {\n\n if (!currentlyDraggingElement ||\n currentlyDraggingElement === this ||\n currentlyDraggingTarget === this) {\n return true;\n }\n\n children.removeClass($this.options.overClass);\n currentlyDraggingTarget = this;\n\n if (!$this.options.warp) {\n $this.moveElementNextTo(currentlyDraggingElement, this);\n } else {\n $(this).addClass($this.options.overClass);\n }\n\n return prevent(e);\n });\n\n function delegate(fn) {\n return function(e) {\n\n var touch = (supportsTouch && e.touches && e.touches[0]) || { },\n target = touch.target || e.target;\n\n // Fix event.target for a touch event\n if (supportsTouch && document.elementFromPoint) {\n target = document.elementFromPoint(e.pageX - document.body.scrollLeft, e.pageY - document.body.scrollTop);\n }\n\n if ($(target).hasClass($this.options.childClass)) {\n fn.apply(target, [e]);\n } else if (target !== element) {\n\n // If a child is initiating the event or ending it, then use the container as context for the callback.\n var context = moveUpToChildNode(element, target);\n\n if (context) {\n fn.apply(context, [e]);\n }\n }\n };\n }\n\n // Opera and mobile devices do not support drag and drop. http://caniuse.com/dragndrop\n // Bind/unbind standard mouse/touch events as a polyfill.\n function addFakeDragHandlers() {\n if (!supportsDragAndDrop) {\n if (supportsTouch) {\n element.addEventListener(\"touchmove\", handleTouchMove, false);\n } else {\n element.addEventListener('mouseover', handleDragEnter, false);\n element.addEventListener('mouseout', handleDragLeave, false);\n }\n\n element.addEventListener(supportsTouch ? 'touchend' : 'mouseup', handleDrop, false);\n document.addEventListener(supportsTouch ? 'touchend' : 'mouseup', handleDragEnd, false);\n document.addEventListener(\"selectstart\", prevent, false);\n\n }\n }\n\n function removeFakeDragHandlers() {\n if (!supportsDragAndDrop) {\n if (supportsTouch) {\n element.removeEventListener(\"touchmove\", handleTouchMove, false);\n } else {\n element.removeEventListener('mouseover', handleDragEnter, false);\n element.removeEventListener('mouseout', handleDragLeave, false);\n }\n\n element.removeEventListener(supportsTouch ? 'touchend' : 'mouseup', handleDrop, false);\n document.removeEventListener(supportsTouch ? 'touchend' : 'mouseup', handleDragEnd, false);\n document.removeEventListener(\"selectstart\", prevent, false);\n }\n }\n\n if (supportsDragAndDrop) {\n element.addEventListener('dragstart', handleDragStart, false);\n element.addEventListener('dragenter', handleDragEnter, false);\n element.addEventListener('dragleave', handleDragLeave, false);\n element.addEventListener('drop', handleDrop, false);\n element.addEventListener('dragover', handleDragOver, false);\n element.addEventListener('dragend', handleDragEnd, false);\n } else {\n\n element.addEventListener(supportsTouch ? 'touchstart':'mousedown', handleDragStart, false);\n }\n },\n\n dragenterData: function(element, val) {\n\n element = $(element);\n\n if (arguments.length == 1) {\n return parseInt(element.attr('data-child-dragenter'), 10) || 0;\n } else if (!val) {\n element.removeAttr('data-child-dragenter');\n } else {\n element.attr('data-child-dragenter', Math.max(0, val));\n }\n },\n\n moveElementNextTo: function(element, elementToMoveNextTo) {\n\n dragging = true;\n\n var $this = this,\n list = $(element).parent().css('min-height', ''),\n next = isBelow(element, elementToMoveNextTo) ? elementToMoveNextTo : elementToMoveNextTo.nextSibling,\n children = list.children(),\n count = children.length;\n\n if($this.options.warp || !$this.options.animation) {\n elementToMoveNextTo.parentNode.insertBefore(element, next);\n UI.Utils.checkDisplay($this.element);\n return;\n }\n\n list.css('min-height', list.height());\n\n children.stop().each(function(){\n var ele = $(this),\n offset = ele.position();\n\n offset.width = ele.width();\n\n ele.data('offset-before', offset);\n });\n\n elementToMoveNextTo.parentNode.insertBefore(element, next);\n\n children = list.children().each(function() {\n var ele = $(this);\n ele.data('offset-after', ele.position());\n }).each(function() {\n var ele = $(this),\n before = ele.data('offset-before');\n ele.css({'position':'absolute', 'top':before.top, 'left':before.left, 'min-width':before.width });\n });\n\n children.each(function(){\n\n var ele = $(this),\n before = ele.data('offset-before'),\n offset = ele.data('offset-after');\n\n ele.css('pointer-events', 'none').width();\n\n setTimeout(function(){\n ele.animate({'top':offset.top, 'left':offset.left}, $this.options.animation, function() {\n ele.css({'position':'','top':'', 'left':'', 'min-width': '', 'pointer-events':''}).removeClass($this.options.overClass).attr('data-child-dragenter', '');\n count--\n if (!count) {\n list.css('min-height', '');\n UI.Utils.checkDisplay(ele);\n }\n });\n }, 0);\n });\n\n\n }\n });\n\n // helpers\n\n function isBelow(el1, el2) {\n\n var parent = el1.parentNode;\n\n if (el2.parentNode != parent) {\n return false;\n }\n\n var cur = el1.previousSibling;\n\n while (cur && cur.nodeType !== 9) {\n if (cur === el2) {\n return true;\n }\n cur = cur.previousSibling;\n }\n\n return false;\n }\n\n function moveUpToChildNode(parent, child) {\n var cur = child;\n if (cur == parent) { return null; }\n\n while (cur) {\n if (cur.parentNode === parent) {\n return cur;\n }\n\n cur = cur.parentNode;\n if ( !cur || !cur.ownerDocument || cur.nodeType === 11 ) {\n break;\n }\n }\n return null;\n }\n\n function prevent(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n e.returnValue = false;\n }\n\n // auto init\n UI.ready(function(context) {\n\n $(\"[data-uk-sortable]\", context).each(function(){\n\n var ele = $(this);\n\n if(!ele.data(\"sortable\")) {\n var plugin = UI.sortable(ele, UI.Utils.options(ele.attr(\"data-uk-sortable\")));\n }\n });\n });\n\n UI.$doc.on('mousemove touchmove', function(e) {\n\n if (delayIdle) {\n if (Math.abs(e.pageX - delayIdle.pos.x) > delayIdle.threshold || Math.abs(e.pageY - delayIdle.pos.y) > delayIdle.threshold) {\n delayIdle.apply();\n }\n }\n\n if (draggingPlaceholder) {\n\n if (!moving) {\n moving = true;\n draggingPlaceholder.show();\n\n draggingPlaceholder.$current.addClass(draggingPlaceholder.$sortable.options.placeholderClass);\n draggingPlaceholder.$sortable.element.children().addClass(draggingPlaceholder.$sortable.options.childClass);\n\n $('html').addClass(draggingPlaceholder.$sortable.options.dragMovingClass);\n }\n\n var offset = draggingPlaceholder.data('mouse-offset'),\n left = parseInt(e.originalEvent.pageX, 10) + offset.left,\n top = parseInt(e.originalEvent.pageY, 10) + offset.top;\n\n draggingPlaceholder.css({'left': left, 'top': top });\n }\n });\n\n UI.$doc.on('mouseup touchend', function() {\n\n if(!moving && clickedlink) {\n location.href = clickedlink.attr('href');\n }\n\n delayIdle = clickedlink = false;\n });\n\n return UI.sortable;\n});\n","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-sticky\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n var $win = UI.$win,\n $doc = UI.$doc,\n sticked = [];\n\n UI.component('sticky', {\n\n defaults: {\n top : 0,\n bottom : 0,\n animation : '',\n clsinit : 'uk-sticky-init',\n clsactive : 'uk-active',\n getWidthFrom : '',\n media : false,\n target : false\n },\n\n init: function() {\n\n var wrapper = $('
          ').css({\n 'height' : this.element.css('position') != 'absolute' ? this.element.outerHeight() : '',\n 'float' : this.element.css(\"float\") != \"none\" ? this.element.css(\"float\") : '',\n 'margin' : this.element.css(\"margin\")\n });\n\n wrapper = this.element.css('margin', 0).wrap(wrapper).parent();\n\n this.sticky = {\n options : this.options,\n element : this.element,\n currentTop : null,\n wrapper : wrapper,\n init : false,\n getWidthFrom : this.options.getWidthFrom || wrapper,\n reset : function(force) {\n\n var finalize = function() {\n this.element.css({\"position\":\"\", \"top\":\"\", \"width\":\"\", \"left\":\"\", \"margin\":\"0\"});\n this.element.removeClass([this.options.animation, 'uk-animation-reverse', this.options.clsactive].join(' '));\n\n this.currentTop = null;\n this.animate = false;\n }.bind(this);\n\n\n if (!force && this.options.animation && UI.support.animation) {\n\n this.animate = true;\n\n this.element.removeClass(this.options.animation).one(UI.support.animation.end, function(){\n finalize();\n }).width(); // force redraw\n\n this.element.addClass(this.options.animation+' '+'uk-animation-reverse');\n } else {\n finalize();\n }\n },\n check: function() {\n\n if (this.options.media) {\n\n switch(typeof(this.options.media)) {\n case 'number':\n if (window.innerWidth < this.options.media) {\n return false;\n }\n break;\n case 'string':\n if (window.matchMedia && !window.matchMedia(this.options.media).matches) {\n return false;\n }\n break;\n }\n }\n\n var scrollTop = $win.scrollTop(),\n documentHeight = $doc.height(),\n dwh = documentHeight - $win.height(),\n extra = (scrollTop > dwh) ? dwh - scrollTop : 0,\n elementTop = this.wrapper.offset().top,\n etse = elementTop - this.options.top - extra;\n\n return (scrollTop >= etse);\n }\n };\n\n sticked.push(this.sticky);\n },\n\n update: function() {\n scroller();\n }\n });\n\n function scroller() {\n\n if (!sticked.length) return;\n\n var scrollTop = $win.scrollTop(),\n documentHeight = $doc.height(),\n dwh = documentHeight - $win.height(),\n extra = (scrollTop > dwh) ? dwh - scrollTop : 0,\n cls, newTop;\n\n if(scrollTop < 0) return;\n\n\n for (var i = 0; i < sticked.length; i++) {\n\n if (!sticked[i].element.is(\":visible\") || sticked[i].animate) {\n continue;\n }\n\n var sticky = sticked[i];\n\n if (!sticky.check()) {\n\n if (sticky.currentTop !== null) {\n sticky.reset();\n }\n\n } else {\n\n if (sticky.options.top < 0) {\n newTop = 0;\n } else {\n newTop = documentHeight - sticky.element.outerHeight() - sticky.options.top - sticky.options.bottom - scrollTop - extra;\n newTop = newTop < 0 ? newTop + sticky.options.top : sticky.options.top;\n }\n\n if (sticky.currentTop != newTop) {\n\n sticky.element.css({\n \"position\" : \"fixed\",\n \"top\" : newTop,\n \"width\" : (typeof sticky.getWidthFrom !== 'undefined') ? $(sticky.getWidthFrom).width() : sticky.element.width(),\n \"left\" : sticky.wrapper.offset().left\n });\n\n if (!sticky.init) {\n\n sticky.element.addClass(sticky.options.clsinit);\n\n if (location.hash && scrollTop > 0 && sticky.options.target) {\n\n var $target = $(location.hash);\n\n if ($target.length) {\n\n setTimeout((function($target, sticky){\n\n return function() {\n\n sticky.element.width(); // force redraw\n\n var offset = $target.offset(),\n maxoffset = offset.top + $target.outerHeight(),\n stickyOffset = sticky.element.offset(),\n stickyHeight = sticky.element.outerHeight(),\n stickyMaxOffset = stickyOffset.top + stickyHeight;\n\n if (stickyOffset.top < maxoffset && offset.top < stickyMaxOffset) {\n scrollTop = offset.top - stickyHeight - sticky.options.target;\n window.scrollTo(0, scrollTop);\n }\n };\n\n })($target, sticky), 0);\n }\n }\n }\n\n sticky.element.addClass(sticky.options.clsactive);\n sticky.element.css('margin', '');\n\n if (sticky.options.animation && sticky.init) {\n sticky.element.addClass(sticky.options.animation);\n }\n\n sticky.currentTop = newTop;\n }\n }\n\n sticky.init = true;\n }\n\n }\n\n // should be more efficient than using $win.scroll(scroller):\n $doc.on('uk-scroll', scroller);\n $win.on('resize orientationchange', UI.Utils.debounce(function() {\n\n if (!sticked.length) return;\n\n for (var i = 0; i < sticked.length; i++) {\n sticked[i].reset(true);\n }\n\n scroller();\n }, 100));\n\n // init code\n UI.ready(function(context) {\n\n setTimeout(function(){\n\n $(\"[data-uk-sticky]\", context).each(function(){\n\n var $ele = $(this);\n\n if(!$ele.data(\"sticky\")) {\n UI.sticky($ele, UI.Utils.options($ele.attr('data-uk-sticky')));\n }\n });\n\n scroller();\n }, 0);\n });\n\n return $.fn.uksticky;\n});","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-search\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n \"use strict\";\n\n var times = {'12h':[], '24h':[]};\n\n for(var i = 0, h=''; i<24; i++) {\n\n h = ''+i;\n\n if(i<10) h = '0'+h;\n\n times['24h'].push({value: (h+':00')});\n times['24h'].push({value: (h+':30')});\n\n if (i<13) {\n times['12h'].push({value: (h+':00 AM')});\n times['12h'].push({value: (h+':30 AM')});\n }\n\n if (i > 12) {\n\n h = h-12;\n\n if (h < 10) h = '0'+String(h);\n\n times['12h'].push({value: (h+':00 PM')});\n times['12h'].push({value: (h+':30 PM')});\n }\n }\n\n\n UI.component('timepicker', {\n\n defaults: {\n format : '24h',\n delay : 0\n },\n\n init: function() {\n\n var $this = this;\n\n this.options.minLength = 0;\n this.options.template = '';\n\n this.options.source = function(release) {\n release(times[$this.options.format] || times['12h']);\n };\n\n this.element.wrap('
          ');\n\n this.autocomplete = UI.autocomplete(this.element.parent(), this.options);\n this.autocomplete.dropdown.addClass('uk-dropdown-small uk-dropdown-scrollable');\n\n this.autocomplete.on('autocomplete-show', function() {\n\n var selected = $this.autocomplete.dropdown.find('[data-value=\"'+$this.autocomplete.input.val()+'\"]');\n\n setTimeout(function(){\n $this.autocomplete.pick(selected, true);\n }, 10);\n });\n\n this.autocomplete.input.on('focus', function(){\n\n $this.autocomplete.value = Math.random();\n $this.autocomplete.triggercomplete();\n\n }).on('blur', function() {\n $this.checkTime();\n });\n\n this.element.data(\"timepicker\", this);\n },\n\n checkTime: function() {\n\n var arr, timeArray, meridian = 'AM', hour, minute, time = this.autocomplete.input.val();\n\n if (this.options.format == '12h') {\n arr = time.split(' ');\n timeArray = arr[0].split(':');\n meridian = arr[1];\n } else {\n timeArray = time.split(':');\n }\n\n hour = parseInt(timeArray[0], 10);\n minute = parseInt(timeArray[1], 10);\n\n if (isNaN(hour)) hour = 0;\n if (isNaN(minute)) minute = 0;\n\n if (this.options.format == '12h') {\n if (hour > 12) {\n hour = 12;\n } else if (hour < 0) {\n hour = 12;\n }\n\n if (meridian === 'am' || meridian === 'a') {\n meridian = 'AM';\n } else if (meridian === 'pm' || meridian === 'p') {\n meridian = 'PM';\n }\n\n if (meridian !== 'AM' && meridian !== 'PM') {\n meridian = 'AM';\n }\n\n } else {\n\n if (hour >= 24) {\n hour = 23;\n } else if (hour < 0) {\n hour = 0;\n }\n }\n\n if (minute < 0) {\n minute = 0;\n } else if (minute >= 60) {\n minute = 0;\n }\n\n this.autocomplete.input.val(this.formatTime(hour, minute, meridian));\n },\n\n formatTime: function(hour, minute, meridian) {\n hour = hour < 10 ? '0' + hour : hour;\n minute = minute < 10 ? '0' + minute : minute;\n return hour + ':' + minute + (this.options.format == '12h' ? ' ' + meridian : '');\n }\n });\n\n // init code\n UI.$doc.on(\"focus.timepicker.uikit\", \"[data-uk-timepicker]\", function(e) {\n var ele = $(this);\n\n if (!ele.data(\"timepicker\")) {\n var obj = UI.timepicker(ele, UI.Utils.options(ele.attr(\"data-uk-timepicker\")));\n\n setTimeout(function(){\n obj.autocomplete.input.focus();\n }, 20);\n }\n });\n});\n","(function(addon) {\n\n var component;\n\n if (jQuery && jQuery.UIkit) {\n component = addon(jQuery, jQuery.UIkit);\n }\n\n if (typeof define == \"function\" && define.amd) {\n define(\"uikit-upload\", [\"uikit\"], function(){\n return component || addon(jQuery, jQuery.UIkit);\n });\n }\n\n})(function($, UI){\n\n UI.component('uploadSelect', {\n\n\n init: function() {\n\n var $this = this;\n\n this.on(\"change\", function() {\n xhrupload($this.element[0].files, $this.options);\n var twin = $this.element.clone(true).data('uploadSelect', $this);\n $this.element.replaceWith(twin);\n $this.element = twin;\n });\n }\n });\n\n UI.component('uploadDrop', {\n\n defaults: {\n 'dragoverClass': 'uk-dragover'\n },\n\n init: function() {\n\n var $this = this, hasdragCls = false;\n\n this.on(\"drop\", function(e){\n\n if (e.dataTransfer && e.dataTransfer.files) {\n\n e.stopPropagation();\n e.preventDefault();\n\n $this.element.removeClass($this.options.dragoverClass);\n $this.element.trigger('uk.dropped', [e.dataTransfer.files]);\n\n xhrupload(e.dataTransfer.files, $this.options);\n }\n\n }).on(\"dragenter\", function(e){\n e.stopPropagation();\n e.preventDefault();\n }).on(\"dragover\", function(e){\n e.stopPropagation();\n e.preventDefault();\n\n if (!hasdragCls) {\n $this.element.addClass($this.options.dragoverClass);\n hasdragCls = true;\n }\n }).on(\"dragleave\", function(e){\n e.stopPropagation();\n e.preventDefault();\n $this.element.removeClass($this.options.dragoverClass);\n hasdragCls = false;\n });\n }\n });\n\n\n UI.support.ajaxupload = (function() {\n\n function supportFileAPI() {\n var fi = document.createElement('INPUT'); fi.type = 'file'; return 'files' in fi;\n }\n\n function supportAjaxUploadProgressEvents() {\n var xhr = new XMLHttpRequest(); return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));\n }\n\n function supportFormData() {\n return !! window.FormData;\n }\n\n return supportFileAPI() && supportAjaxUploadProgressEvents() && supportFormData();\n })();\n\n if (UI.support.ajaxupload){\n $.event.props.push(\"dataTransfer\");\n }\n\n function xhrupload(files, settings) {\n\n if (!UI.support.ajaxupload){\n return this;\n }\n\n settings = $.extend({}, xhrupload.defaults, settings);\n\n if (!files.length){\n return;\n }\n\n if (settings.allow !== '*.*') {\n\n for(var i=0,file;file=files[i];i++) {\n\n if(!matchName(settings.allow, file.name)) {\n\n if(typeof(settings.notallowed) == 'string') {\n alert(settings.notallowed);\n } else {\n settings.notallowed(file, settings);\n }\n return;\n }\n }\n }\n\n var complete = settings.complete;\n\n if (settings.single){\n\n var count = files.length,\n uploaded = 0,\n allow = true;\n\n settings.beforeAll(files);\n\n settings.complete = function(response, xhr){\n\n uploaded = uploaded + 1;\n\n complete(response, xhr);\n\n if (settings.filelimit && uploaded >= settings.filelimit){\n allow = false;\n }\n\n if (allow && uploaded').attr($.extend(args(this), { 'type': 'text' }));\n\t\t\t\t\t}\n\t\t\t\t\t$replacement\n\t\t\t\t\t\t.removeAttr('name')\n\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t'placeholder-password': $input,\n\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.bind('focus.placeholder', clearPlaceholder);\n\t\t\t\t\t$input\n\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t'placeholder-textinput': $replacement,\n\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.before($replacement);\n\t\t\t\t}\n\t\t\t\t$input = $input.removeAttr('id').hide().prev().attr('id', id).show();\n\t\t\t\t// Note: `$input[0] != input` now!\n\t\t\t}\n\t\t\t$input.addClass('placeholder');\n\t\t\t$input[0].value = $input.attr('placeholder');\n\t\t} else {\n\t\t\t$input.removeClass('placeholder');\n\t\t}\n\t}\n\n\tfunction safeActiveElement() {\n\t\t// Avoid IE9 `document.activeElement` of death\n\t\t// https://github.com/mathiasbynens/jquery-placeholder/pull/99\n\t\ttry {\n\t\t\treturn document.activeElement;\n\t\t} catch (exception) {}\n\t}\n\n}(this, document, jQuery));\n","/*!\n* Parsleyjs\n* Guillaume Potier - \n* Version 2.0.5 - built Thu Aug 28 2014 11:27:36\n* MIT Licensed\n*\n*/\n!(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module depending on jQuery.\n define(['jquery'], factory);\n } else {\n // No AMD. Register plugin with global jQuery object.\n factory(jQuery);\n }\n}(function ($) {\n // small hack for requirejs if jquery is loaded through map and not path\n // see http://requirejs.org/docs/jquery.html\n if ('undefined' === typeof $ && 'undefined' !== typeof window.jQuery)\n $ = window.jQuery;\n var ParsleyUtils = {\n // Parsley DOM-API\n // returns object from dom attributes and values\n // if attr is given, returns bool if attr present in DOM or not\n attr: function ($element, namespace, checkAttr) {\n var\n attribute,\n obj = {},\n msie = this.msieversion(),\n regex = new RegExp('^' + namespace, 'i');\n if ('undefined' === typeof $element || 'undefined' === typeof $element[0])\n return {};\n for (var i in $element[0].attributes) {\n attribute = $element[0].attributes[i];\n if ('undefined' !== typeof attribute && null !== attribute && (!msie || msie >= 8 || attribute.specified) && regex.test(attribute.name)) {\n if ('undefined' !== typeof checkAttr && new RegExp(checkAttr + '$', 'i').test(attribute.name))\n return true;\n obj[this.camelize(attribute.name.replace(namespace, ''))] = this.deserializeValue(attribute.value);\n }\n }\n return 'undefined' === typeof checkAttr ? obj : false;\n },\n setAttr: function ($element, namespace, attr, value) {\n $element[0].setAttribute(this.dasherize(namespace + attr), String(value));\n },\n // Recursive object / array getter\n get: function (obj, path) {\n var\n i = 0,\n paths = (path || '').split('.');\n while (this.isObject(obj) || this.isArray(obj)) {\n obj = obj[paths[i++]];\n if (i === paths.length)\n return obj;\n }\n return undefined;\n },\n hash: function (length) {\n return String(Math.random()).substring(2, length ? length + 2 : 9);\n },\n /** Third party functions **/\n // Underscore isArray\n isArray: function (mixed) {\n return Object.prototype.toString.call(mixed) === '[object Array]';\n },\n // Underscore isObject\n isObject: function (mixed) {\n return mixed === Object(mixed);\n },\n // Zepto deserialize function\n deserializeValue: function (value) {\n var num;\n try {\n return value ?\n value == \"true\" ||\n (value == \"false\" ? false :\n value == \"null\" ? null :\n !isNaN(num = Number(value)) ? num :\n /^[\\[\\{]/.test(value) ? $.parseJSON(value) :\n value)\n : value;\n } catch (e) { return value; }\n },\n // Zepto camelize function\n camelize: function (str) {\n return str.replace(/-+(.)?/g, function(match, chr) {\n return chr ? chr.toUpperCase() : '';\n });\n },\n // Zepto dasherize function\n dasherize: function (str) {\n return str.replace(/::/g, '/')\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')\n .replace(/([a-z\\d])([A-Z])/g, '$1_$2')\n .replace(/_/g, '-')\n .toLowerCase();\n },\n // http://support.microsoft.com/kb/167820\n // http://stackoverflow.com/questions/19999388/jquery-check-if-user-is-using-ie\n msieversion: function () {\n var\n ua = window.navigator.userAgent,\n msie = ua.indexOf('MSIE ');\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./))\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n return 0;\n }\n };\n// All these options could be overriden and specified directly in DOM using\n// `data-parsley-` default DOM-API\n// eg: `inputs` can be set in DOM using `data-parsley-inputs=\"input, textarea\"`\n// eg: `data-parsley-stop-on-first-failing-constraint=\"false\"`\n var ParsleyDefaults = {\n // ### General\n // Default data-namespace for DOM API\n namespace: 'data-parsley-',\n // Supported inputs by default\n inputs: 'input, textarea, select',\n // Excluded inputs by default\n excluded: 'input[type=button], input[type=submit], input[type=reset], input[type=hidden]',\n // Stop validating field on highest priority failing constraint\n priorityEnabled: true,\n // ### UI\n // Enable\\Disable error messages\n uiEnabled: true,\n // Key events threshold before validation\n validationThreshold: 3,\n // Focused field on form validation error. 'fist'|'last'|'none'\n focus: 'first',\n // `$.Event()` that will trigger validation. eg: `keyup`, `change`..\n trigger: false,\n // Class that would be added on every failing validation Parsley field\n errorClass: 'parsley-error',\n // Same for success validation\n successClass: 'parsley-success',\n // Return the `$element` that will receive these above success or error classes\n // Could also be (and given directly from DOM) a valid selector like `'#div'`\n classHandler: function (ParsleyField) {},\n // Return the `$element` where errors will be appended\n // Could also be (and given directly from DOM) a valid selector like `'#div'`\n errorsContainer: function (ParsleyField) {},\n // ul elem that would receive errors' list\n errorsWrapper: '
            ',\n // li elem that would receive error message\n errorTemplate: '
          • '\n };\n\n var ParsleyAbstract = function() {};\n ParsleyAbstract.prototype = {\n asyncSupport: false,\n actualizeOptions: function () {\n this.options = this.OptionsFactory.get(this);\n return this;\n },\n // ParsleyValidator validate proxy function . Could be replaced by third party scripts\n validateThroughValidator: function (value, constraints, priority) {\n return window.ParsleyValidator.validate.apply(window.ParsleyValidator, [value, constraints, priority]);\n },\n // Subscribe an event and a handler for a specific field or a specific form\n // If on a ParsleyForm instance, it will be attached to form instance and also\n // To every field instance for this form\n subscribe: function (name, fn) {\n $.listenTo(this, name.toLowerCase(), fn);\n return this;\n },\n // Same as subscribe above. Unsubscribe an event for field, or form + its fields\n unsubscribe: function (name) {\n $.unsubscribeTo(this, name.toLowerCase());\n return this;\n },\n // Reset UI\n reset: function () {\n // Field case: just emit a reset event for UI\n if ('ParsleyForm' !== this.__class__)\n return $.emit('parsley:field:reset', this);\n // Form case: emit a reset event for each field\n for (var i = 0; i < this.fields.length; i++)\n $.emit('parsley:field:reset', this.fields[i]);\n $.emit('parsley:form:reset', this);\n },\n // Destroy Parsley instance (+ UI)\n destroy: function () {\n // Field case: emit destroy event to clean UI and then destroy stored instance\n if ('ParsleyForm' !== this.__class__) {\n this.$element.removeData('Parsley');\n this.$element.removeData('ParsleyFieldMultiple');\n $.emit('parsley:field:destroy', this);\n return;\n }\n // Form case: destroy all its fields and then destroy stored instance\n for (var i = 0; i < this.fields.length; i++)\n this.fields[i].destroy();\n this.$element.removeData('Parsley');\n $.emit('parsley:form:destroy', this);\n }\n };\n/*!\n* validator.js\n* Guillaume Potier - \n* Version 1.0.0 - built Sun Aug 03 2014 17:42:31\n* MIT Licensed\n*\n*/\nvar Validator = ( function ( ) {\n var exports = {};\n /**\n * Validator\n */\n var Validator = function ( options ) {\n this.__class__ = 'Validator';\n this.__version__ = '1.0.0';\n this.options = options || {};\n this.bindingKey = this.options.bindingKey || '_validatorjsConstraint';\n };\n Validator.prototype = {\n constructor: Validator,\n /*\n * Validate string: validate( string, Assert, string ) || validate( string, [ Assert, Assert ], [ string, string ] )\n * Validate object: validate( object, Constraint, string ) || validate( object, Constraint, [ string, string ] )\n * Validate binded object: validate( object, string ) || validate( object, [ string, string ] )\n */\n validate: function ( objectOrString, AssertsOrConstraintOrGroup, group ) {\n if ( 'string' !== typeof objectOrString && 'object' !== typeof objectOrString )\n throw new Error( 'You must validate an object or a string' );\n // string / array validation\n if ( 'string' === typeof objectOrString || _isArray(objectOrString) )\n return this._validateString( objectOrString, AssertsOrConstraintOrGroup, group );\n // binded object validation\n if ( this.isBinded( objectOrString ) )\n return this._validateBindedObject( objectOrString, AssertsOrConstraintOrGroup );\n // regular object validation\n return this._validateObject( objectOrString, AssertsOrConstraintOrGroup, group );\n },\n bind: function ( object, constraint ) {\n if ( 'object' !== typeof object )\n throw new Error( 'Must bind a Constraint to an object' );\n object[ this.bindingKey ] = new Constraint( constraint );\n return this;\n },\n unbind: function ( object ) {\n if ( 'undefined' === typeof object._validatorjsConstraint )\n return this;\n delete object[ this.bindingKey ];\n return this;\n },\n isBinded: function ( object ) {\n return 'undefined' !== typeof object[ this.bindingKey ];\n },\n getBinded: function ( object ) {\n return this.isBinded( object ) ? object[ this.bindingKey ] : null;\n },\n _validateString: function ( string, assert, group ) {\n var result, failures = [];\n if ( !_isArray( assert ) )\n assert = [ assert ];\n for ( var i = 0; i < assert.length; i++ ) {\n if ( ! ( assert[ i ] instanceof Assert) )\n throw new Error( 'You must give an Assert or an Asserts array to validate a string' );\n result = assert[ i ].check( string, group );\n if ( result instanceof Violation )\n failures.push( result );\n }\n return failures.length ? failures : true;\n },\n _validateObject: function ( object, constraint, group ) {\n if ( 'object' !== typeof constraint )\n throw new Error( 'You must give a constraint to validate an object' );\n if ( constraint instanceof Constraint )\n return constraint.check( object, group );\n return new Constraint( constraint ).check( object, group );\n },\n _validateBindedObject: function ( object, group ) {\n return object[ this.bindingKey ].check( object, group );\n }\n };\n Validator.errorCode = {\n must_be_a_string: 'must_be_a_string',\n must_be_an_array: 'must_be_an_array',\n must_be_a_number: 'must_be_a_number',\n must_be_a_string_or_array: 'must_be_a_string_or_array'\n };\n /**\n * Constraint\n */\n var Constraint = function ( data, options ) {\n this.__class__ = 'Constraint';\n this.options = options || {};\n this.nodes = {};\n if ( data ) {\n try {\n this._bootstrap( data );\n } catch ( err ) {\n throw new Error( 'Should give a valid mapping object to Constraint', err, data );\n }\n }\n };\n Constraint.prototype = {\n constructor: Constraint,\n check: function ( object, group ) {\n var result, failures = {};\n // check all constraint nodes.\n for ( var property in this.nodes ) {\n var isRequired = false;\n var constraint = this.get(property);\n var constraints = _isArray( constraint ) ? constraint : [constraint];\n for (var i = constraints.length - 1; i >= 0; i--) {\n if ( 'Required' === constraints[i].__class__ ) {\n isRequired = constraints[i].requiresValidation( group );\n continue;\n }\n }\n if ( ! this.has( property, object ) && ! this.options.strict && ! isRequired ) {\n continue;\n }\n try {\n if (! this.has( property, this.options.strict || isRequired ? object : undefined ) ) {\n // we trigger here a HaveProperty Assert violation to have uniform Violation object in the end\n new Assert().HaveProperty( property ).validate( object );\n }\n result = this._check( property, object[ property ], group );\n // check returned an array of Violations or an object mapping Violations\n if ( ( _isArray( result ) && result.length > 0 ) || ( !_isArray( result ) && !_isEmptyObject( result ) ) ) {\n failures[ property ] = result;\n }\n } catch ( violation ) {\n failures[ property ] = violation;\n }\n }\n return _isEmptyObject(failures) ? true : failures;\n },\n add: function ( node, object ) {\n if ( object instanceof Assert || ( _isArray( object ) && object[ 0 ] instanceof Assert ) ) {\n this.nodes[ node ] = object;\n return this;\n }\n if ( 'object' === typeof object && !_isArray( object ) ) {\n this.nodes[ node ] = object instanceof Constraint ? object : new Constraint( object );\n return this;\n }\n throw new Error( 'Should give an Assert, an Asserts array, a Constraint', object );\n },\n has: function ( node, nodes ) {\n nodes = 'undefined' !== typeof nodes ? nodes : this.nodes;\n return 'undefined' !== typeof nodes[ node ];\n },\n get: function ( node, placeholder ) {\n return this.has( node ) ? this.nodes[ node ] : placeholder || null;\n },\n remove: function ( node ) {\n var _nodes = [];\n for ( var i in this.nodes )\n if ( i !== node )\n _nodes[ i ] = this.nodes[ i ];\n this.nodes = _nodes;\n return this;\n },\n _bootstrap: function ( data ) {\n if ( data instanceof Constraint )\n return this.nodes = data.nodes;\n for ( var node in data )\n this.add( node, data[ node ] );\n },\n _check: function ( node, value, group ) {\n // Assert\n if ( this.nodes[ node ] instanceof Assert )\n return this._checkAsserts( value, [ this.nodes[ node ] ], group );\n // Asserts\n if ( _isArray( this.nodes[ node ] ) )\n return this._checkAsserts( value, this.nodes[ node ], group );\n // Constraint -> check api\n if ( this.nodes[ node ] instanceof Constraint )\n return this.nodes[ node ].check( value, group );\n throw new Error( 'Invalid node', this.nodes[ node ] );\n },\n _checkAsserts: function ( value, asserts, group ) {\n var result, failures = [];\n for ( var i = 0; i < asserts.length; i++ ) {\n result = asserts[ i ].check( value, group );\n if ( 'undefined' !== typeof result && true !== result )\n failures.push( result );\n // Some asserts (Collection for example) could return an object\n // if ( result && ! ( result instanceof Violation ) )\n // return result;\n //\n // // Vast assert majority return Violation\n // if ( result instanceof Violation )\n // failures.push( result );\n }\n return failures;\n }\n };\n /**\n * Violation\n */\n var Violation = function ( assert, value, violation ) {\n this.__class__ = 'Violation';\n if ( ! ( assert instanceof Assert ) )\n throw new Error( 'Should give an assertion implementing the Assert interface' );\n this.assert = assert;\n this.value = value;\n if ( 'undefined' !== typeof violation )\n this.violation = violation;\n };\n Violation.prototype = {\n show: function () {\n var show = {\n assert: this.assert.__class__,\n value: this.value\n };\n if ( this.violation )\n show.violation = this.violation;\n return show;\n },\n __toString: function () {\n if ( 'undefined' !== typeof this.violation )\n this.violation = '\", ' + this.getViolation().constraint + ' expected was ' + this.getViolation().expected;\n return this.assert.__class__ + ' assert failed for \"' + this.value + this.violation || '';\n },\n getViolation: function () {\n var constraint, expected;\n for ( constraint in this.violation )\n expected = this.violation[ constraint ];\n return { constraint: constraint, expected: expected };\n }\n };\n /**\n * Assert\n */\n var Assert = function ( group ) {\n this.__class__ = 'Assert';\n this.__parentClass__ = this.__class__;\n this.groups = [];\n if ( 'undefined' !== typeof group )\n this.addGroup( group );\n };\n Assert.prototype = {\n construct: Assert,\n requiresValidation: function ( group ) {\n if ( group && !this.hasGroup( group ) )\n return false;\n if ( !group && this.hasGroups() )\n return false;\n return true;\n },\n check: function ( value, group ) {\n if ( !this.requiresValidation( group ) )\n return;\n try {\n return this.validate( value, group );\n } catch ( violation ) {\n return violation;\n }\n },\n hasGroup: function ( group ) {\n if ( _isArray( group ) )\n return this.hasOneOf( group );\n // All Asserts respond to \"Any\" group\n if ( 'Any' === group )\n return true;\n // Asserts with no group also respond to \"Default\" group. Else return false\n if ( !this.hasGroups() )\n return 'Default' === group;\n return -1 !== this.groups.indexOf( group );\n },\n hasOneOf: function ( groups ) {\n for ( var i = 0; i < groups.length; i++ )\n if ( this.hasGroup( groups[ i ] ) )\n return true;\n return false;\n },\n hasGroups: function () {\n return this.groups.length > 0;\n },\n addGroup: function ( group ) {\n if ( _isArray( group ) )\n return this.addGroups( group );\n if ( !this.hasGroup( group ) )\n this.groups.push( group );\n return this;\n },\n removeGroup: function ( group ) {\n var _groups = [];\n for ( var i = 0; i < this.groups.length; i++ )\n if ( group !== this.groups[ i ] )\n _groups.push( this.groups[ i ] );\n this.groups = _groups;\n return this;\n },\n addGroups: function ( groups ) {\n for ( var i = 0; i < groups.length; i++ )\n this.addGroup( groups[ i ] );\n return this;\n },\n /**\n * Asserts definitions\n */\n HaveProperty: function ( node ) {\n this.__class__ = 'HaveProperty';\n this.node = node;\n this.validate = function ( object ) {\n if ( 'undefined' === typeof object[ this.node ] )\n throw new Violation( this, object, { value: this.node } );\n return true;\n };\n return this;\n },\n Blank: function () {\n this.__class__ = 'Blank';\n this.validate = function ( value ) {\n if ( 'string' !== typeof value )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );\n if ( '' !== value.replace( /^\\s+/g, '' ).replace( /\\s+$/g, '' ) )\n throw new Violation( this, value );\n return true;\n };\n return this;\n },\n Callback: function ( fn ) {\n this.__class__ = 'Callback';\n this.arguments = Array.prototype.slice.call( arguments );\n if ( 1 === this.arguments.length )\n this.arguments = [];\n else\n this.arguments.splice( 0, 1 );\n if ( 'function' !== typeof fn )\n throw new Error( 'Callback must be instanciated with a function' );\n this.fn = fn;\n this.validate = function ( value ) {\n var result = this.fn.apply( this, [ value ].concat( this.arguments ) );\n if ( true !== result )\n throw new Violation( this, value, { result: result } );\n return true;\n };\n return this;\n },\n Choice: function ( list ) {\n this.__class__ = 'Choice';\n if ( !_isArray( list ) && 'function' !== typeof list )\n throw new Error( 'Choice must be instanciated with an array or a function' );\n this.list = list;\n this.validate = function ( value ) {\n var list = 'function' === typeof this.list ? this.list() : this.list;\n for ( var i = 0; i < list.length; i++ )\n if ( value === list[ i ] )\n return true;\n throw new Violation( this, value, { choices: list } );\n };\n return this;\n },\n Collection: function ( assertOrConstraint ) {\n this.__class__ = 'Collection';\n this.constraint = 'undefined' !== typeof assertOrConstraint ? (assertOrConstraint instanceof Assert ? assertOrConstraint : new Constraint( assertOrConstraint )) : false;\n this.validate = function ( collection, group ) {\n var result, validator = new Validator(), count = 0, failures = {}, groups = this.groups.length ? this.groups : group;\n if ( !_isArray( collection ) )\n throw new Violation( this, array, { value: Validator.errorCode.must_be_an_array } );\n for ( var i = 0; i < collection.length; i++ ) {\n result = this.constraint ?\n validator.validate( collection[ i ], this.constraint, groups ) :\n validator.validate( collection[ i ], groups );\n if ( !_isEmptyObject( result ) )\n failures[ count ] = result;\n count++;\n }\n return !_isEmptyObject( failures ) ? failures : true;\n };\n return this;\n },\n Count: function ( count ) {\n this.__class__ = 'Count';\n this.count = count;\n this.validate = function ( array ) {\n if ( !_isArray( array ) )\n throw new Violation( this, array, { value: Validator.errorCode.must_be_an_array } );\n var count = 'function' === typeof this.count ? this.count( array ) : this.count;\n if ( isNaN( Number( count ) ) )\n throw new Error( 'Count must be a valid interger', count );\n if ( count !== array.length )\n throw new Violation( this, array, { count: count } );\n return true;\n };\n return this;\n },\n Email: function () {\n this.__class__ = 'Email';\n this.validate = function ( value ) {\n var regExp = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n if ( 'string' !== typeof value )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );\n if ( !regExp.test( value ) )\n throw new Violation( this, value );\n return true;\n };\n return this;\n },\n EqualTo: function ( reference ) {\n this.__class__ = 'EqualTo';\n if ( 'undefined' === typeof reference )\n throw new Error( 'EqualTo must be instanciated with a value or a function' );\n this.reference = reference;\n this.validate = function ( value ) {\n var reference = 'function' === typeof this.reference ? this.reference( value ) : this.reference;\n if ( reference !== value )\n throw new Violation( this, value, { value: reference } );\n return true;\n };\n return this;\n },\n GreaterThan: function ( threshold ) {\n this.__class__ = 'GreaterThan';\n if ( 'undefined' === typeof threshold )\n throw new Error( 'Should give a threshold value' );\n this.threshold = threshold;\n this.validate = function ( value ) {\n if ( '' === value || isNaN( Number( value ) ) )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );\n if ( this.threshold >= value )\n throw new Violation( this, value, { threshold: this.threshold } );\n return true;\n };\n return this;\n },\n GreaterThanOrEqual: function ( threshold ) {\n this.__class__ = 'GreaterThanOrEqual';\n if ( 'undefined' === typeof threshold )\n throw new Error( 'Should give a threshold value' );\n this.threshold = threshold;\n this.validate = function ( value ) {\n if ( '' === value || isNaN( Number( value ) ) )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );\n if ( this.threshold > value )\n throw new Violation( this, value, { threshold: this.threshold } );\n return true;\n };\n return this;\n },\n InstanceOf: function ( classRef ) {\n this.__class__ = 'InstanceOf';\n if ( 'undefined' === typeof classRef )\n throw new Error( 'InstanceOf must be instanciated with a value' );\n this.classRef = classRef;\n this.validate = function ( value ) {\n if ( true !== (value instanceof this.classRef) )\n throw new Violation( this, value, { classRef: this.classRef } );\n return true;\n };\n return this;\n },\n Length: function ( boundaries ) {\n this.__class__ = 'Length';\n if ( !boundaries.min && !boundaries.max )\n throw new Error( 'Lenth assert must be instanciated with a { min: x, max: y } object' );\n this.min = boundaries.min;\n this.max = boundaries.max;\n this.validate = function ( value ) {\n if ( 'string' !== typeof value && !_isArray( value ) )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string_or_array } );\n if ( 'undefined' !== typeof this.min && this.min === this.max && value.length !== this.min )\n throw new Violation( this, value, { min: this.min, max: this.max } );\n if ( 'undefined' !== typeof this.max && value.length > this.max )\n throw new Violation( this, value, { max: this.max } );\n if ( 'undefined' !== typeof this.min && value.length < this.min )\n throw new Violation( this, value, { min: this.min } );\n return true;\n };\n return this;\n },\n LessThan: function ( threshold ) {\n this.__class__ = 'LessThan';\n if ( 'undefined' === typeof threshold )\n throw new Error( 'Should give a threshold value' );\n this.threshold = threshold;\n this.validate = function ( value ) {\n if ( '' === value || isNaN( Number( value ) ) )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );\n if ( this.threshold <= value )\n throw new Violation( this, value, { threshold: this.threshold } );\n return true;\n };\n return this;\n },\n LessThanOrEqual: function ( threshold ) {\n this.__class__ = 'LessThanOrEqual';\n if ( 'undefined' === typeof threshold )\n throw new Error( 'Should give a threshold value' );\n this.threshold = threshold;\n this.validate = function ( value ) {\n if ( '' === value || isNaN( Number( value ) ) )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );\n if ( this.threshold < value )\n throw new Violation( this, value, { threshold: this.threshold } );\n return true;\n };\n return this;\n },\n NotNull: function () {\n this.__class__ = 'NotNull';\n this.validate = function ( value ) {\n if ( null === value || 'undefined' === typeof value )\n throw new Violation( this, value );\n return true;\n };\n return this;\n },\n NotBlank: function () {\n this.__class__ = 'NotBlank';\n this.validate = function ( value ) {\n if ( 'string' !== typeof value )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );\n if ( '' === value.replace( /^\\s+/g, '' ).replace( /\\s+$/g, '' ) )\n throw new Violation( this, value );\n return true;\n };\n return this;\n },\n Null: function () {\n this.__class__ = 'Null';\n this.validate = function ( value ) {\n if ( null !== value )\n throw new Violation( this, value );\n return true;\n };\n return this;\n },\n Range: function ( min, max ) {\n this.__class__ = 'Range';\n if ( 'undefined' === typeof min || 'undefined' === typeof max )\n throw new Error( 'Range assert expects min and max values' );\n this.min = min;\n this.max = max;\n this.validate = function ( value ) {\n try {\n // validate strings and objects with their Length\n if ( ( 'string' === typeof value && isNaN( Number( value ) ) ) || _isArray( value ) )\n new Assert().Length( { min: this.min, max: this.max } ).validate( value );\n // validate numbers with their value\n else\n new Assert().GreaterThanOrEqual( this.min ).validate( value ) && new Assert().LessThanOrEqual( this.max ).validate( value );\n return true;\n } catch ( violation ) {\n throw new Violation( this, value, violation.violation );\n }\n return true;\n };\n return this;\n },\n Regexp: function ( regexp, flag ) {\n this.__class__ = 'Regexp';\n if ( 'undefined' === typeof regexp )\n throw new Error( 'You must give a regexp' );\n this.regexp = regexp;\n this.flag = flag || '';\n this.validate = function ( value ) {\n if ( 'string' !== typeof value )\n throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );\n if ( !new RegExp( this.regexp, this.flag ).test( value ) )\n throw new Violation( this, value, { regexp: this.regexp, flag: this.flag } );\n return true;\n };\n return this;\n },\n Required: function () {\n this.__class__ = 'Required';\n this.validate = function ( value ) {\n if ( 'undefined' === typeof value )\n throw new Violation( this, value );\n try {\n if ( 'string' === typeof value )\n new Assert().NotNull().validate( value ) && new Assert().NotBlank().validate( value );\n else if ( true === _isArray( value ) )\n new Assert().Length( { min: 1 } ).validate( value );\n } catch ( violation ) {\n throw new Violation( this, value );\n }\n return true;\n };\n return this;\n },\n // Unique() or Unique ( { key: foo } )\n Unique: function ( object ) {\n this.__class__ = 'Unique';\n if ( 'object' === typeof object )\n this.key = object.key;\n this.validate = function ( array ) {\n var value, store = [];\n if ( !_isArray( array ) )\n throw new Violation( this, array, { value: Validator.errorCode.must_be_an_array } );\n for ( var i = 0; i < array.length; i++ ) {\n value = 'object' === typeof array[ i ] ? array[ i ][ this.key ] : array[ i ];\n if ( 'undefined' === typeof value )\n continue;\n if ( -1 !== store.indexOf( value ) )\n throw new Violation( this, array, { value: value } );\n store.push( value );\n }\n return true;\n };\n return this;\n }\n };\n // expose to the world these awesome classes\n exports.Assert = Assert;\n exports.Validator = Validator;\n exports.Violation = Violation;\n exports.Constraint = Constraint;\n /**\n * Some useful object prototypes / functions here\n */\n // IE8<= compatibility\n // https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf\n if (!Array.prototype.indexOf)\n Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {\n \n if (this === null) {\n throw new TypeError();\n }\n var t = Object(this);\n var len = t.length >>> 0;\n if (len === 0) {\n return -1;\n }\n var n = 0;\n if (arguments.length > 1) {\n n = Number(arguments[1]);\n if (n != n) { // shortcut for verifying if it's NaN\n n = 0;\n } else if (n !== 0 && n != Infinity && n != -Infinity) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n }\n if (n >= len) {\n return -1;\n }\n var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);\n for (; k < len; k++) {\n if (k in t && t[k] === searchElement) {\n return k;\n }\n }\n return -1;\n };\n // Test if object is empty, useful for Constraint violations check\n var _isEmptyObject = function ( obj ) {\n for ( var property in obj )\n return false;\n return true;\n };\n var _isArray = function ( obj ) {\n return Object.prototype.toString.call( obj ) === '[object Array]';\n };\n // AMD export\n if ( typeof define === 'function' && define.amd ) {\n define( 'vendors/validator.js/dist/validator',[],function() {\n return exports;\n } );\n // commonjs export\n } else if ( typeof module !== 'undefined' && module.exports ) {\n module.exports = exports;\n // browser\n } else {\n window[ 'undefined' !== typeof validatorjs_ns ? validatorjs_ns : 'Validator' ] = exports;\n }\n\n return exports; \n} )( );\n\n // This is needed for Browserify usage that requires Validator.js through module.exports\n Validator = 'undefined' !== typeof Validator ? Validator : ('undefined' !== typeof module ? module.exports : null);\n var ParsleyValidator = function (validators, catalog) {\n this.__class__ = 'ParsleyValidator';\n this.Validator = Validator;\n // Default Parsley locale is en\n this.locale = 'en';\n this.init(validators || {}, catalog || {});\n };\n ParsleyValidator.prototype = {\n init: function (validators, catalog) {\n this.catalog = catalog;\n for (var name in validators)\n this.addValidator(name, validators[name].fn, validators[name].priority, validators[name].requirementsTransformer);\n $.emit('parsley:validator:init');\n },\n // Set new messages locale if we have dictionary loaded in ParsleyConfig.i18n\n setLocale: function (locale) {\n if ('undefined' === typeof this.catalog[locale])\n throw new Error(locale + ' is not available in the catalog');\n this.locale = locale;\n return this;\n },\n // Add a new messages catalog for a given locale. Set locale for this catalog if set === `true`\n addCatalog: function (locale, messages, set) {\n if ('object' === typeof messages)\n this.catalog[locale] = messages;\n if (true === set)\n return this.setLocale(locale);\n return this;\n },\n // Add a specific message for a given constraint in a given locale\n addMessage: function (locale, name, message) {\n if ('undefined' === typeof this.catalog[locale])\n this.catalog[locale] = {};\n this.catalog[locale][name.toLowerCase()] = message;\n return this;\n },\n validate: function (value, constraints, priority) {\n return new this.Validator.Validator().validate.apply(new Validator.Validator(), arguments);\n },\n // Add a new validator\n addValidator: function (name, fn, priority, requirementsTransformer) {\n this.validators[name.toLowerCase()] = function (requirements) {\n return $.extend(new Validator.Assert().Callback(fn, requirements), {\n priority: priority,\n requirementsTransformer: requirementsTransformer\n });\n };\n return this;\n },\n updateValidator: function (name, fn, priority, requirementsTransformer) {\n return this.addValidator(name, fn, priority, requirementsTransformer);\n },\n removeValidator: function (name) {\n delete this.validators[name];\n return this;\n },\n getErrorMessage: function (constraint) {\n var message;\n // Type constraints are a bit different, we have to match their requirements too to find right error message\n if ('type' === constraint.name)\n message = this.catalog[this.locale][constraint.name][constraint.requirements];\n else\n message = this.formatMessage(this.catalog[this.locale][constraint.name], constraint.requirements);\n return '' !== message ? message : this.catalog[this.locale].defaultMessage;\n },\n // Kind of light `sprintf()` implementation\n formatMessage: function (string, parameters) {\n if ('object' === typeof parameters) {\n for (var i in parameters)\n string = this.formatMessage(string, parameters[i]);\n return string;\n }\n return 'string' === typeof string ? string.replace(new RegExp('%s', 'i'), parameters) : '';\n },\n // Here is the Parsley default validators list.\n // This is basically Validatorjs validators, with different API for some of them\n // and a Parsley priority set\n validators: {\n notblank: function () {\n return $.extend(new Validator.Assert().NotBlank(), { priority: 2 });\n },\n required: function () {\n return $.extend(new Validator.Assert().Required(), { priority: 512 });\n },\n type: function (type) {\n var assert;\n switch (type) {\n case 'email':\n assert = new Validator.Assert().Email();\n break;\n // range type just ensure we have a number here\n case 'range':\n case 'number':\n assert = new Validator.Assert().Regexp('^-?(?:\\\\d+|\\\\d{1,3}(?:,\\\\d{3})+)?(?:\\\\.\\\\d+)?$');\n break;\n case 'integer':\n assert = new Validator.Assert().Regexp('^-?\\\\d+$');\n break;\n case 'digits':\n assert = new Validator.Assert().Regexp('^\\\\d+$');\n break;\n case 'alphanum':\n assert = new Validator.Assert().Regexp('^\\\\w+$', 'i');\n break;\n case 'url':\n assert = new Validator.Assert().Regexp('(https?:\\\\/\\\\/)?(www\\\\.)?[-a-zA-Z0-9@:%._\\\\+~#=]{2,256}\\\\.[a-z]{2,4}\\\\b([-a-zA-Z0-9@:%_\\\\+.~#?&//=]*)', 'i');\n break;\n default:\n throw new Error('validator type `' + type + '` is not supported');\n }\n return $.extend(assert, { priority: 256 });\n },\n pattern: function (regexp) {\n var flags = '';\n // Test if RegExp is literal, if not, nothing to be done, otherwise, we need to isolate flags and pattern\n if (!!(/^\\/.*\\/(?:[gimy]*)$/.test(regexp))) {\n // Replace the regexp literal string with the first match group: ([gimy]*)\n // If no flag is present, this will be a blank string\n flags = regexp.replace(/.*\\/([gimy]*)$/, '$1');\n // Again, replace the regexp literal string with the first match group:\n // everything excluding the opening and closing slashes and the flags\n regexp = regexp.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');\n }\n return $.extend(new Validator.Assert().Regexp(regexp, flags), { priority: 64 });\n },\n minlength: function (value) {\n return $.extend(new Validator.Assert().Length({ min: value }), {\n priority: 30,\n requirementsTransformer: function () {\n return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;\n }\n });\n },\n maxlength: function (value) {\n return $.extend(new Validator.Assert().Length({ max: value }), {\n priority: 30,\n requirementsTransformer: function () {\n return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;\n }\n });\n },\n length: function (array) {\n return $.extend(new Validator.Assert().Length({ min: array[0], max: array[1] }), { priority: 32 });\n },\n mincheck: function (length) {\n return this.minlength(length);\n },\n maxcheck: function (length) {\n return this.maxlength(length);\n },\n check: function (array) {\n return this.length(array);\n },\n min: function (value) {\n return $.extend(new Validator.Assert().GreaterThanOrEqual(value), {\n priority: 30,\n requirementsTransformer: function () {\n return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;\n }\n });\n },\n max: function (value) {\n return $.extend(new Validator.Assert().LessThanOrEqual(value), {\n priority: 30,\n requirementsTransformer: function () {\n return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;\n }\n });\n },\n range: function (array) {\n return $.extend(new Validator.Assert().Range(array[0], array[1]), {\n priority: 32,\n requirementsTransformer: function () {\n for (var i = 0; i < array.length; i++)\n array[i] = 'string' === typeof array[i] && !isNaN(array[i]) ? parseInt(array[i], 10) : array[i];\n return array;\n }\n });\n },\n equalto: function (value) {\n return $.extend(new Validator.Assert().EqualTo(value), {\n priority: 256,\n requirementsTransformer: function () {\n return $(value).length ? $(value).val() : value;\n }\n });\n }\n }\n };\n\n var ParsleyUI = function (options) {\n this.__class__ = 'ParsleyUI';\n };\n ParsleyUI.prototype = {\n listen: function () {\n $.listen('parsley:form:init', this, this.setupForm);\n $.listen('parsley:field:init', this, this.setupField);\n $.listen('parsley:field:validated', this, this.reflow);\n $.listen('parsley:form:validated', this, this.focus);\n $.listen('parsley:field:reset', this, this.reset);\n $.listen('parsley:form:destroy', this, this.destroy);\n $.listen('parsley:field:destroy', this, this.destroy);\n return this;\n },\n reflow: function (fieldInstance) {\n // If this field has not an active UI (case for multiples) don't bother doing something\n if ('undefined' === typeof fieldInstance._ui || false === fieldInstance._ui.active)\n return;\n // Diff between two validation results\n var diff = this._diff(fieldInstance.validationResult, fieldInstance._ui.lastValidationResult);\n // Then store current validation result for next reflow\n fieldInstance._ui.lastValidationResult = fieldInstance.validationResult;\n // Field have been validated at least once if here. Useful for binded key events..\n fieldInstance._ui.validatedOnce = true;\n // Handle valid / invalid / none field class\n this.manageStatusClass(fieldInstance);\n // Add, remove, updated errors messages\n this.manageErrorsMessages(fieldInstance, diff);\n // Triggers impl\n this.actualizeTriggers(fieldInstance);\n // If field is not valid for the first time, bind keyup trigger to ease UX and quickly inform user\n if ((diff.kept.length || diff.added.length) && 'undefined' === typeof fieldInstance._ui.failedOnce)\n this.manageFailingFieldTrigger(fieldInstance);\n },\n // Returns an array of field's error message(s)\n getErrorsMessages: function (fieldInstance) {\n // No error message, field is valid\n if (true === fieldInstance.validationResult)\n return [];\n var messages = [];\n for (var i = 0; i < fieldInstance.validationResult.length; i++)\n messages.push(this._getErrorMessage(fieldInstance, fieldInstance.validationResult[i].assert));\n return messages;\n },\n manageStatusClass: function (fieldInstance) {\n if (true === fieldInstance.validationResult)\n this._successClass(fieldInstance);\n else if (fieldInstance.validationResult.length > 0)\n this._errorClass(fieldInstance);\n else\n this._resetClass(fieldInstance);\n },\n manageErrorsMessages: function (fieldInstance, diff) {\n if ('undefined' !== typeof fieldInstance.options.errorsMessagesDisabled)\n return;\n // Case where we have errorMessage option that configure an unique field error message, regardless failing validators\n if ('undefined' !== typeof fieldInstance.options.errorMessage) {\n if ((diff.added.length || diff.kept.length)) {\n if (0 === fieldInstance._ui.$errorsWrapper.find('.parsley-custom-error-message').length)\n fieldInstance._ui.$errorsWrapper\n .append($(fieldInstance.options.errorTemplate)\n .addClass('parsley-custom-error-message'));\n return fieldInstance._ui.$errorsWrapper\n .addClass('filled')\n .find('.parsley-custom-error-message')\n .html(fieldInstance.options.errorMessage);\n }\n return fieldInstance._ui.$errorsWrapper\n .removeClass('filled')\n .find('.parsley-custom-error-message')\n .remove();\n }\n // Show, hide, update failing constraints messages\n for (var i = 0; i < diff.removed.length; i++)\n this.removeError(fieldInstance, diff.removed[i].assert.name, true);\n for (i = 0; i < diff.added.length; i++)\n this.addError(fieldInstance, diff.added[i].assert.name, undefined, diff.added[i].assert, true);\n for (i = 0; i < diff.kept.length; i++)\n this.updateError(fieldInstance, diff.kept[i].assert.name, undefined, diff.kept[i].assert, true);\n },\n // TODO: strange API here, intuitive for manual usage with addError(pslyInstance, 'foo', 'bar')\n // but a little bit complex for above internal usage, with forced undefined parametter..\n addError: function (fieldInstance, name, message, assert, doNotUpdateClass) {\n fieldInstance._ui.$errorsWrapper\n .addClass('filled')\n .append($(fieldInstance.options.errorTemplate)\n .addClass('parsley-' + name)\n .html(message || this._getErrorMessage(fieldInstance, assert)));\n if (true !== doNotUpdateClass)\n this._errorClass(fieldInstance);\n },\n // Same as above\n updateError: function (fieldInstance, name, message, assert, doNotUpdateClass) {\n fieldInstance._ui.$errorsWrapper\n .addClass('filled')\n .find('.parsley-' + name)\n .html(message || this._getErrorMessage(fieldInstance, assert));\n if (true !== doNotUpdateClass)\n this._errorClass(fieldInstance);\n },\n // Same as above twice\n removeError: function (fieldInstance, name, doNotUpdateClass) {\n fieldInstance._ui.$errorsWrapper\n .removeClass('filled')\n .find('.parsley-' + name)\n .remove();\n // edge case possible here: remove a standard Parsley error that is still failing in fieldInstance.validationResult\n // but highly improbable cuz' manually removing a well Parsley handled error makes no sense.\n if (true !== doNotUpdateClass)\n this.manageStatusClass(fieldInstance);\n },\n focus: function (formInstance) {\n if (true === formInstance.validationResult || 'none' === formInstance.options.focus)\n return formInstance._focusedField = null;\n formInstance._focusedField = null;\n for (var i = 0; i < formInstance.fields.length; i++)\n if (true !== formInstance.fields[i].validationResult && formInstance.fields[i].validationResult.length > 0 && 'undefined' === typeof formInstance.fields[i].options.noFocus) {\n if ('first' === formInstance.options.focus) {\n formInstance._focusedField = formInstance.fields[i].$element;\n return formInstance._focusedField.focus();\n }\n formInstance._focusedField = formInstance.fields[i].$element;\n }\n if (null === formInstance._focusedField)\n return null;\n return formInstance._focusedField.focus();\n },\n _getErrorMessage: function (fieldInstance, constraint) {\n var customConstraintErrorMessage = constraint.name + 'Message';\n if ('undefined' !== typeof fieldInstance.options[customConstraintErrorMessage])\n return window.ParsleyValidator.formatMessage(fieldInstance.options[customConstraintErrorMessage], constraint.requirements);\n return window.ParsleyValidator.getErrorMessage(constraint);\n },\n _diff: function (newResult, oldResult, deep) {\n var\n added = [],\n kept = [];\n for (var i = 0; i < newResult.length; i++) {\n var found = false;\n for (var j = 0; j < oldResult.length; j++)\n if (newResult[i].assert.name === oldResult[j].assert.name) {\n found = true;\n break;\n }\n if (found)\n kept.push(newResult[i]);\n else\n added.push(newResult[i]);\n }\n return {\n kept: kept,\n added: added,\n removed: !deep ? this._diff(oldResult, newResult, true).added : []\n };\n },\n setupForm: function (formInstance) {\n formInstance.$element.on('submit.Parsley', false, $.proxy(formInstance.onSubmitValidate, formInstance));\n // UI could be disabled\n if (false === formInstance.options.uiEnabled)\n return;\n formInstance.$element.attr('novalidate', '');\n },\n setupField: function (fieldInstance) {\n var _ui = { active: false };\n // UI could be disabled\n if (false === fieldInstance.options.uiEnabled)\n return;\n _ui.active = true;\n // Give field its Parsley id in DOM\n fieldInstance.$element.attr(fieldInstance.options.namespace + 'id', fieldInstance.__id__);\n /** Generate important UI elements and store them in fieldInstance **/\n // $errorClassHandler is the $element that woul have parsley-error and parsley-success classes\n _ui.$errorClassHandler = this._manageClassHandler(fieldInstance);\n // $errorsWrapper is a div that would contain the various field errors, it will be appended into $errorsContainer\n _ui.errorsWrapperId = 'parsley-id-' + ('undefined' !== typeof fieldInstance.options.multiple ? 'multiple-' + fieldInstance.options.multiple : fieldInstance.__id__);\n _ui.$errorsWrapper = $(fieldInstance.options.errorsWrapper).attr('id', _ui.errorsWrapperId);\n // ValidationResult UI storage to detect what have changed bwt two validations, and update DOM accordingly\n _ui.lastValidationResult = [];\n _ui.validatedOnce = false;\n _ui.validationInformationVisible = false;\n // Store it in fieldInstance for later\n fieldInstance._ui = _ui;\n // Stops excluded inputs from getting errorContainer added\n if( !fieldInstance.$element.is(fieldInstance.options.excluded) ) {\n /** Mess with DOM now **/\n this._insertErrorWrapper(fieldInstance);\n }\n // Bind triggers first time\n this.actualizeTriggers(fieldInstance);\n },\n // Determine which element will have `parsley-error` and `parsley-success` classes\n _manageClassHandler: function (fieldInstance) {\n // An element selector could be passed through DOM with `data-parsley-class-handler=#foo`\n if ('string' === typeof fieldInstance.options.classHandler && $(fieldInstance.options.classHandler).length)\n return $(fieldInstance.options.classHandler);\n // Class handled could also be determined by function given in Parsley options\n var $handler = fieldInstance.options.classHandler(fieldInstance);\n // If this function returned a valid existing DOM element, go for it\n if ('undefined' !== typeof $handler && $handler.length)\n return $handler;\n // Otherwise, if simple element (input, texatrea, select..) it will perfectly host the classes\n if ('undefined' === typeof fieldInstance.options.multiple || fieldInstance.$element.is('select'))\n return fieldInstance.$element;\n // But if multiple element (radio, checkbox), that would be their parent\n return fieldInstance.$element.parent();\n },\n _insertErrorWrapper: function (fieldInstance) {\n var $errorsContainer;\n if ('string' === typeof fieldInstance.options.errorsContainer) {\n if ($(fieldInstance.options.errorsContainer).length)\n return $(fieldInstance.options.errorsContainer).append(fieldInstance._ui.$errorsWrapper);\n else if (window.console && window.console.warn)\n window.console.warn('The errors container `' + fieldInstance.options.errorsContainer + '` does not exist in DOM');\n }\n else if ('function' === typeof fieldInstance.options.errorsContainer)\n $errorsContainer = fieldInstance.options.errorsContainer(fieldInstance);\n if ('undefined' !== typeof $errorsContainer && $errorsContainer.length)\n return $errorsContainer.append(fieldInstance._ui.$errorsWrapper);\n return 'undefined' === typeof fieldInstance.options.multiple ? fieldInstance.$element.after(fieldInstance._ui.$errorsWrapper) : fieldInstance.$element.parent().after(fieldInstance._ui.$errorsWrapper);\n },\n actualizeTriggers: function (fieldInstance) {\n var that = this;\n // Remove Parsley events already binded on this field\n if (fieldInstance.options.multiple)\n $('[' + fieldInstance.options.namespace + 'multiple=\"' + fieldInstance.options.multiple + '\"]').each(function () {\n $(this).off('.Parsley');\n });\n else\n fieldInstance.$element.off('.Parsley');\n // If no trigger is set, all good\n if (false === fieldInstance.options.trigger)\n return;\n var triggers = fieldInstance.options.trigger.replace(/^\\s+/g , '').replace(/\\s+$/g , '');\n if ('' === triggers)\n return;\n // Bind fieldInstance.eventValidate if exists (for parsley.ajax for example), ParsleyUI.eventValidate otherwise\n if (fieldInstance.options.multiple)\n $('[' + fieldInstance.options.namespace + 'multiple=\"' + fieldInstance.options.multiple + '\"]').each(function () {\n $(this).on(\n triggers.split(' ').join('.Parsley ') + '.Parsley',\n false,\n $.proxy('function' === typeof fieldInstance.eventValidate ? fieldInstance.eventValidate : that.eventValidate, fieldInstance));\n });\n else\n fieldInstance.$element\n .on(\n triggers.split(' ').join('.Parsley ') + '.Parsley',\n false,\n $.proxy('function' === typeof fieldInstance.eventValidate ? fieldInstance.eventValidate : this.eventValidate, fieldInstance));\n },\n // Called through $.proxy with fieldInstance. `this` context is ParsleyField\n eventValidate: function(event) {\n // For keyup, keypress, keydown.. events that could be a little bit obstrusive\n // do not validate if val length < min threshold on first validation. Once field have been validated once and info\n // about success or failure have been displayed, always validate with this trigger to reflect every yalidation change.\n if (new RegExp('key').test(event.type))\n if (!this._ui.validationInformationVisible && this.getValue().length <= this.options.validationThreshold)\n return;\n this._ui.validatedOnce = true;\n this.validate();\n },\n manageFailingFieldTrigger: function (fieldInstance) {\n fieldInstance._ui.failedOnce = true;\n // Radio and checkboxes fields must bind every field multiple\n if (fieldInstance.options.multiple)\n $('[' + fieldInstance.options.namespace + 'multiple=\"' + fieldInstance.options.multiple + '\"]').each(function () {\n if (!new RegExp('change', 'i').test($(this).parsley().options.trigger || ''))\n return $(this).on('change.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));\n });\n // Select case\n if (fieldInstance.$element.is('select'))\n if (!new RegExp('change', 'i').test(fieldInstance.options.trigger || ''))\n return fieldInstance.$element.on('change.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));\n // All other inputs fields\n if (!new RegExp('keyup', 'i').test(fieldInstance.options.trigger || ''))\n return fieldInstance.$element.on('keyup.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));\n },\n reset: function (parsleyInstance) {\n // Reset all event listeners\n parsleyInstance.$element.off('.Parsley');\n parsleyInstance.$element.off('.ParsleyFailedOnce');\n // Nothing to do if UI never initialized for this field\n if ('undefined' === typeof parsleyInstance._ui)\n return;\n if ('ParsleyForm' === parsleyInstance.__class__)\n return;\n // Reset all errors' li\n parsleyInstance._ui.$errorsWrapper.children().each(function () {\n $(this).remove();\n });\n // Reset validation class\n this._resetClass(parsleyInstance);\n // Reset validation flags and last validation result\n parsleyInstance._ui.validatedOnce = false;\n parsleyInstance._ui.lastValidationResult = [];\n parsleyInstance._ui.validationInformationVisible = false;\n },\n destroy: function (parsleyInstance) {\n this.reset(parsleyInstance);\n if ('ParsleyForm' === parsleyInstance.__class__)\n return;\n if ('undefined' !== typeof parsleyInstance._ui)\n parsleyInstance._ui.$errorsWrapper.remove();\n delete parsleyInstance._ui;\n },\n _successClass: function (fieldInstance) {\n fieldInstance._ui.validationInformationVisible = true;\n fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.errorClass).addClass(fieldInstance.options.successClass);\n },\n _errorClass: function (fieldInstance) {\n fieldInstance._ui.validationInformationVisible = true;\n fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).addClass(fieldInstance.options.errorClass);\n },\n _resetClass: function (fieldInstance) {\n fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).removeClass(fieldInstance.options.errorClass);\n }\n };\n\n var ParsleyOptionsFactory = function (defaultOptions, globalOptions, userOptions, namespace) {\n this.__class__ = 'OptionsFactory';\n this.__id__ = ParsleyUtils.hash(4);\n this.formOptions = null;\n this.fieldOptions = null;\n this.staticOptions = $.extend(true, {}, defaultOptions, globalOptions, userOptions, { namespace: namespace });\n };\n ParsleyOptionsFactory.prototype = {\n get: function (parsleyInstance) {\n if ('undefined' === typeof parsleyInstance.__class__)\n throw new Error('Parsley Instance expected');\n switch (parsleyInstance.__class__) {\n case 'Parsley':\n return this.staticOptions;\n case 'ParsleyForm':\n return this.getFormOptions(parsleyInstance);\n case 'ParsleyField':\n case 'ParsleyFieldMultiple':\n return this.getFieldOptions(parsleyInstance);\n default:\n throw new Error('Instance ' + parsleyInstance.__class__ + ' is not supported');\n }\n },\n getFormOptions: function (formInstance) {\n this.formOptions = ParsleyUtils.attr(formInstance.$element, this.staticOptions.namespace);\n // not deep extend, since formOptions is a 1 level deep object\n return $.extend({}, this.staticOptions, this.formOptions);\n },\n getFieldOptions: function (fieldInstance) {\n this.fieldOptions = ParsleyUtils.attr(fieldInstance.$element, this.staticOptions.namespace);\n if (null === this.formOptions && 'undefined' !== typeof fieldInstance.parent)\n this.formOptions = this.getFormOptions(fieldInstance.parent);\n // not deep extend, since formOptions and fieldOptions is a 1 level deep object\n return $.extend({}, this.staticOptions, this.formOptions, this.fieldOptions);\n }\n };\n\n var ParsleyForm = function (element, OptionsFactory) {\n this.__class__ = 'ParsleyForm';\n this.__id__ = ParsleyUtils.hash(4);\n if ('OptionsFactory' !== ParsleyUtils.get(OptionsFactory, '__class__'))\n throw new Error('You must give an OptionsFactory instance');\n this.OptionsFactory = OptionsFactory;\n this.$element = $(element);\n this.validationResult = null;\n this.options = this.OptionsFactory.get(this);\n };\n ParsleyForm.prototype = {\n onSubmitValidate: function (event) {\n this.validate(undefined, undefined, event);\n // prevent form submission if validation fails\n if (false === this.validationResult && event instanceof $.Event) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n return this;\n },\n // @returns boolean\n validate: function (group, force, event) {\n this.submitEvent = event;\n this.validationResult = true;\n var fieldValidationResult = [];\n // Refresh form DOM options and form's fields that could have changed\n this._refreshFields();\n $.emit('parsley:form:validate', this);\n // loop through fields to validate them one by one\n for (var i = 0; i < this.fields.length; i++) {\n // do not validate a field if not the same as given validation group\n if (group && !this._isFieldInGroup(this.fields[i], group))\n continue;\n fieldValidationResult = this.fields[i].validate(force);\n if (true !== fieldValidationResult && fieldValidationResult.length > 0 && this.validationResult)\n this.validationResult = false;\n }\n $.emit('parsley:form:validated', this);\n return this.validationResult;\n },\n // Iterate over refreshed fields, and stop on first failure\n isValid: function (group, force) {\n this._refreshFields();\n for (var i = 0; i < this.fields.length; i++) {\n // do not validate a field if not the same as given validation group\n if (group && !this._isFieldInGroup(this.fields[i], group))\n continue;\n if (false === this.fields[i].isValid(force))\n return false;\n }\n return true;\n },\n _isFieldInGroup: function (field, group) {\n if(ParsleyUtils.isArray(field.options.group))\n return -1 !== $.inArray(field.options.group, group);\n return field.options.group === group;\n },\n _refreshFields: function () {\n return this.actualizeOptions()._bindFields();\n },\n _bindFields: function () {\n var self = this;\n this.fields = [];\n this.fieldsMappedById = {};\n this.$element.find(this.options.inputs).each(function () {\n var fieldInstance = new window.Parsley(this, {}, self);\n // Only add valid and not excluded `ParsleyField` and `ParsleyFieldMultiple` children\n if (('ParsleyField' === fieldInstance.__class__ || 'ParsleyFieldMultiple' === fieldInstance.__class__) && !fieldInstance.$element.is(fieldInstance.options.excluded))\n if ('undefined' === typeof self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__]) {\n self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__] = fieldInstance;\n self.fields.push(fieldInstance);\n }\n });\n return this;\n }\n };\n\n var ConstraintFactory = function (parsleyField, name, requirements, priority, isDomConstraint) {\n if (!new RegExp('ParsleyField').test(ParsleyUtils.get(parsleyField, '__class__')))\n throw new Error('ParsleyField or ParsleyFieldMultiple instance expected');\n if ('function' !== typeof window.ParsleyValidator.validators[name] &&\n 'Assert' !== window.ParsleyValidator.validators[name](requirements).__parentClass__)\n throw new Error('Valid validator expected');\n var getPriority = function (parsleyField, name) {\n if ('undefined' !== typeof parsleyField.options[name + 'Priority'])\n return parsleyField.options[name + 'Priority'];\n return ParsleyUtils.get(window.ParsleyValidator.validators[name](requirements), 'priority') || 2;\n };\n priority = priority || getPriority(parsleyField, name);\n // If validator have a requirementsTransformer, execute it\n if ('function' === typeof window.ParsleyValidator.validators[name](requirements).requirementsTransformer)\n requirements = window.ParsleyValidator.validators[name](requirements).requirementsTransformer();\n return $.extend(window.ParsleyValidator.validators[name](requirements), {\n name: name,\n requirements: requirements,\n priority: priority,\n groups: [priority],\n isDomConstraint: isDomConstraint || ParsleyUtils.attr(parsleyField.$element, parsleyField.options.namespace, name)\n });\n };\n\n var ParsleyField = function (field, OptionsFactory, parsleyFormInstance) {\n this.__class__ = 'ParsleyField';\n this.__id__ = ParsleyUtils.hash(4);\n this.$element = $(field);\n // If we have a parent `ParsleyForm` instance given, use its `OptionsFactory`, and save parent\n if ('undefined' !== typeof parsleyFormInstance) {\n this.parent = parsleyFormInstance;\n this.OptionsFactory = this.parent.OptionsFactory;\n this.options = this.OptionsFactory.get(this);\n // Else, take the `Parsley` one\n } else {\n this.OptionsFactory = OptionsFactory;\n this.options = this.OptionsFactory.get(this);\n }\n // Initialize some properties\n this.constraints = [];\n this.constraintsByName = {};\n this.validationResult = [];\n // Bind constraints\n this._bindConstraints();\n };\n ParsleyField.prototype = {\n // # Public API\n // Validate field and $.emit some events for mainly `ParsleyUI`\n // @returns validationResult:\n // - `true` if all constraint passes\n // - `[]` if not required field and empty (not validated)\n // - `[Violation, [Violation..]]` if there were validation errors\n validate: function (force) {\n this.value = this.getValue();\n // Field Validate event. `this.value` could be altered for custom needs\n $.emit('parsley:field:validate', this);\n $.emit('parsley:field:' + (this.isValid(force, this.value) ? 'success' : 'error'), this);\n // Field validated event. `this.validationResult` could be altered for custom needs too\n $.emit('parsley:field:validated', this);\n return this.validationResult;\n },\n // Just validate field. Do not trigger any event\n // Same @return as `validate()`\n isValid: function (force, value) {\n // Recompute options and rebind constraints to have latest changes\n this.refreshConstraints();\n // Sort priorities to validate more important first\n var priorities = this._getConstraintsSortedPriorities();\n // Value could be passed as argument, needed to add more power to 'parsley:field:validate'\n value = value || this.getValue();\n // If a field is empty and not required, leave it alone, it's just fine\n // Except if `data-parsley-validate-if-empty` explicitely added, useful for some custom validators\n if (0 === value.length && !this._isRequired() && 'undefined' === typeof this.options.validateIfEmpty && true !== force)\n return this.validationResult = [];\n // If we want to validate field against all constraints, just call Validator and let it do the job\n if (false === this.options.priorityEnabled)\n return true === (this.validationResult = this.validateThroughValidator(value, this.constraints, 'Any'));\n // Else, iterate over priorities one by one, and validate related asserts one by one\n for (var i = 0; i < priorities.length; i++)\n if (true !== (this.validationResult = this.validateThroughValidator(value, this.constraints, priorities[i])))\n return false;\n return true;\n },\n // @returns Parsley field computed value that could be overrided or configured in DOM\n getValue: function () {\n var value;\n // Value could be overriden in DOM\n if ('undefined' !== typeof this.options.value)\n value = this.options.value;\n else\n value = this.$element.val();\n // Handle wrong DOM or configurations\n if ('undefined' === typeof value || null === value)\n return '';\n // Use `data-parsley-trim-value=\"true\"` to auto trim inputs entry\n if (true === this.options.trimValue)\n return value.replace(/^\\s+|\\s+$/g, '');\n return value;\n },\n // Actualize options that could have change since previous validation\n // Re-bind accordingly constraints (could be some new, removed or updated)\n refreshConstraints: function () {\n return this.actualizeOptions()._bindConstraints();\n },\n /**\n * Add a new constraint to a field\n *\n * @method addConstraint\n * @param {String} name\n * @param {Mixed} requirements optional\n * @param {Number} priority optional\n * @param {Boolean} isDomConstraint optional\n */\n addConstraint: function (name, requirements, priority, isDomConstraint) {\n name = name.toLowerCase();\n if ('function' === typeof window.ParsleyValidator.validators[name]) {\n var constraint = new ConstraintFactory(this, name, requirements, priority, isDomConstraint);\n // if constraint already exist, delete it and push new version\n if ('undefined' !== this.constraintsByName[constraint.name])\n this.removeConstraint(constraint.name);\n this.constraints.push(constraint);\n this.constraintsByName[constraint.name] = constraint;\n }\n return this;\n },\n // Remove a constraint\n removeConstraint: function (name) {\n for (var i = 0; i < this.constraints.length; i++)\n if (name === this.constraints[i].name) {\n this.constraints.splice(i, 1);\n break;\n }\n return this;\n },\n // Update a constraint (Remove + re-add)\n updateConstraint: function (name, parameters, priority) {\n return this.removeConstraint(name)\n .addConstraint(name, parameters, priority);\n },\n // # Internals\n // Internal only.\n // Bind constraints from config + options + DOM\n _bindConstraints: function () {\n var constraints = [];\n // clean all existing DOM constraints to only keep javascript user constraints\n for (var i = 0; i < this.constraints.length; i++)\n if (false === this.constraints[i].isDomConstraint)\n constraints.push(this.constraints[i]);\n this.constraints = constraints;\n // then re-add Parsley DOM-API constraints\n for (var name in this.options)\n this.addConstraint(name, this.options[name]);\n // finally, bind special HTML5 constraints\n return this._bindHtml5Constraints();\n },\n // Internal only.\n // Bind specific HTML5 constraints to be HTML5 compliant\n _bindHtml5Constraints: function () {\n // html5 required\n if (this.$element.hasClass('required') || this.$element.attr('required'))\n this.addConstraint('required', true, undefined, true);\n // html5 pattern\n if ('string' === typeof this.$element.attr('pattern'))\n this.addConstraint('pattern', this.$element.attr('pattern'), undefined, true);\n // range\n if ('undefined' !== typeof this.$element.attr('min') && 'undefined' !== typeof this.$element.attr('max'))\n this.addConstraint('range', [this.$element.attr('min'), this.$element.attr('max')], undefined, true);\n // HTML5 min\n else if ('undefined' !== typeof this.$element.attr('min'))\n this.addConstraint('min', this.$element.attr('min'), undefined, true);\n // HTML5 max\n else if ('undefined' !== typeof this.$element.attr('max'))\n this.addConstraint('max', this.$element.attr('max'), undefined, true);\n // html5 types\n var type = this.$element.attr('type');\n if ('undefined' === typeof type)\n return this;\n // Small special case here for HTML5 number, that is in fact an integer validator\n if ('number' === type)\n return this.addConstraint('type', 'integer', undefined, true);\n // Regular other HTML5 supported types\n else if (new RegExp(type, 'i').test('email url range'))\n return this.addConstraint('type', type, undefined, true);\n return this;\n },\n // Internal only.\n // Field is required if have required constraint without `false` value\n _isRequired: function () {\n if ('undefined' === typeof this.constraintsByName.required)\n return false;\n return false !== this.constraintsByName.required.requirements;\n },\n // Internal only.\n // Sort constraints by priority DESC\n _getConstraintsSortedPriorities: function () {\n var priorities = [];\n // Create array unique of priorities\n for (var i = 0; i < this.constraints.length; i++)\n if (-1 === priorities.indexOf(this.constraints[i].priority))\n priorities.push(this.constraints[i].priority);\n // Sort them by priority DESC\n priorities.sort(function (a, b) { return b - a; });\n return priorities;\n }\n };\n\n var ParsleyMultiple = function () {\n this.__class__ = 'ParsleyFieldMultiple';\n };\n ParsleyMultiple.prototype = {\n // Add new `$element` sibling for multiple field\n addElement: function ($element) {\n this.$elements.push($element);\n return this;\n },\n // See `ParsleyField.refreshConstraints()`\n refreshConstraints: function () {\n var fieldConstraints;\n this.constraints = [];\n // Select multiple special treatment\n if (this.$element.is('select')) {\n this.actualizeOptions()._bindConstraints();\n return this;\n }\n // Gather all constraints for each input in the multiple group\n for (var i = 0; i < this.$elements.length; i++) {\n // Check if element have not been dynamically removed since last binding\n if (!$('html').has(this.$elements[i]).length) {\n this.$elements.splice(i, 1);\n continue;\n }\n fieldConstraints = this.$elements[i].data('ParsleyFieldMultiple').refreshConstraints().constraints;\n for (var j = 0; j < fieldConstraints.length; j++)\n this.addConstraint(fieldConstraints[j].name, fieldConstraints[j].requirements, fieldConstraints[j].priority, fieldConstraints[j].isDomConstraint);\n }\n return this;\n },\n // See `ParsleyField.getValue()`\n getValue: function () {\n // Value could be overriden in DOM\n if ('undefined' !== typeof this.options.value)\n return this.options.value;\n // Radio input case\n if (this.$element.is('input[type=radio]'))\n return $('[' + this.options.namespace + 'multiple=\"' + this.options.multiple + '\"]:checked').val() || '';\n // checkbox input case\n if (this.$element.is('input[type=checkbox]')) {\n var values = [];\n $('[' + this.options.namespace + 'multiple=\"' + this.options.multiple + '\"]:checked').each(function () {\n values.push($(this).val());\n });\n return values.length ? values : [];\n }\n // Select multiple case\n if (this.$element.is('select') && null === this.$element.val())\n return [];\n // Default case that should never happen\n return this.$element.val();\n },\n _init: function (multiple) {\n this.$elements = [this.$element];\n this.options.multiple = multiple;\n return this;\n }\n };\n\n var\n o = $({}),\n subscribed = {};\n // $.listen(name, callback);\n // $.listen(name, context, callback);\n $.listen = function (name) {\n if ('undefined' === typeof subscribed[name])\n subscribed[name] = [];\n if ('function' === typeof arguments[1])\n return subscribed[name].push({ fn: arguments[1] });\n if ('object' === typeof arguments[1] && 'function' === typeof arguments[2])\n return subscribed[name].push({ fn: arguments[2], ctxt: arguments[1] });\n throw new Error('Wrong parameters');\n };\n $.listenTo = function (instance, name, fn) {\n if ('undefined' === typeof subscribed[name])\n subscribed[name] = [];\n if (!(instance instanceof ParsleyField) && !(instance instanceof ParsleyForm))\n throw new Error('Must give Parsley instance');\n if ('string' !== typeof name || 'function' !== typeof fn)\n throw new Error('Wrong parameters');\n subscribed[name].push({ instance: instance, fn: fn });\n };\n $.unsubscribe = function (name, fn) {\n if ('undefined' === typeof subscribed[name])\n return;\n if ('string' !== typeof name || 'function' !== typeof fn)\n throw new Error('Wrong arguments');\n for (var i = 0; i < subscribed[name].length; i++)\n if (subscribed[name][i].fn === fn)\n return subscribed[name].splice(i, 1);\n };\n $.unsubscribeTo = function (instance, name) {\n if ('undefined' === typeof subscribed[name])\n return;\n if (!(instance instanceof ParsleyField) && !(instance instanceof ParsleyForm))\n throw new Error('Must give Parsley instance');\n for (var i = 0; i < subscribed[name].length; i++)\n if ('undefined' !== typeof subscribed[name][i].instance && subscribed[name][i].instance.__id__ === instance.__id__)\n return subscribed[name].splice(i, 1);\n };\n $.unsubscribeAll = function (name) {\n if ('undefined' === typeof subscribed[name])\n return;\n delete subscribed[name];\n };\n // $.emit(name [, arguments...]);\n // $.emit(name, instance [, arguments..]);\n $.emit = function (name, instance) {\n if ('undefined' === typeof subscribed[name])\n return;\n // loop through registered callbacks for this event\n for (var i = 0; i < subscribed[name].length; i++) {\n // if instance is not registered, simple emit\n if ('undefined' === typeof subscribed[name][i].instance) {\n subscribed[name][i].fn.apply('undefined' !== typeof subscribed[name][i].ctxt ? subscribed[name][i].ctxt : o, Array.prototype.slice.call(arguments, 1));\n continue;\n }\n // if instance registered but no instance given for the emit, continue\n if (!(instance instanceof ParsleyField) && !(instance instanceof ParsleyForm))\n continue;\n // if instance is registered and same id, emit\n if (subscribed[name][i].instance.__id__ === instance.__id__) {\n subscribed[name][i].fn.apply(o, Array.prototype.slice.call(arguments, 1));\n continue;\n }\n // if registered instance is a Form and fired one is a Field, loop over all its fields and emit if field found\n if (subscribed[name][i].instance instanceof ParsleyForm && instance instanceof ParsleyField)\n for (var j = 0; j < subscribed[name][i].instance.fields.length; j++)\n if (subscribed[name][i].instance.fields[j].__id__ === instance.__id__) {\n subscribed[name][i].fn.apply(o, Array.prototype.slice.call(arguments, 1));\n continue;\n }\n }\n };\n $.subscribed = function () { return subscribed; };\n\n// ParsleyConfig definition if not already set\nwindow.ParsleyConfig = window.ParsleyConfig || {};\nwindow.ParsleyConfig.i18n = window.ParsleyConfig.i18n || {};\n// Define then the messages\nwindow.ParsleyConfig.i18n.en = $.extend(window.ParsleyConfig.i18n.en || {}, {\n defaultMessage: \"This value seems to be invalid.\",\n type: {\n email: \"This value should be a valid email.\",\n url: \"This value should be a valid url.\",\n number: \"This value should be a valid number.\",\n integer: \"This value should be a valid integer.\",\n digits: \"This value should be digits.\",\n alphanum: \"This value should be alphanumeric.\"\n },\n notblank: \"This value should not be blank.\",\n required: \"This value is required.\",\n pattern: \"This value seems to be invalid.\",\n min: \"This value should be greater than or equal to %s.\",\n max: \"This value should be lower than or equal to %s.\",\n range: \"This value should be between %s and %s.\",\n minlength: \"This value is too short. It should have %s characters or more.\",\n maxlength: \"This value is too long. It should have %s characters or fewer.\",\n length: \"This value length is invalid. It should be between %s and %s characters long.\",\n mincheck: \"You must select at least %s choices.\",\n maxcheck: \"You must select %s choices or fewer.\",\n check: \"You must select between %s and %s choices.\",\n equalto: \"This value should be the same.\"\n});\n// If file is loaded after Parsley main file, auto-load locale\nif ('undefined' !== typeof window.ParsleyValidator)\n window.ParsleyValidator.addCatalog('en', window.ParsleyConfig.i18n.en, true);\n\n// Parsley.js 2.0.5\n// http://parsleyjs.org\n// (c) 20012-2014 Guillaume Potier, Wisembly\n// Parsley may be freely distributed under the MIT license.\n\n // ### Parsley factory\n var Parsley = function (element, options, parsleyFormInstance) {\n this.__class__ = 'Parsley';\n this.__version__ = '2.0.5';\n this.__id__ = ParsleyUtils.hash(4);\n // Parsley must be instanciated with a DOM element or jQuery $element\n if ('undefined' === typeof element)\n throw new Error('You must give an element');\n if ('undefined' !== typeof parsleyFormInstance && 'ParsleyForm' !== parsleyFormInstance.__class__)\n throw new Error('Parent instance must be a ParsleyForm instance');\n return this.init($(element), options, parsleyFormInstance);\n };\n Parsley.prototype = {\n init: function ($element, options, parsleyFormInstance) {\n if (!$element.length)\n throw new Error('You must bind Parsley on an existing element.');\n this.$element = $element;\n // If element have already been binded, returns its saved Parsley instance\n if (this.$element.data('Parsley')) {\n var savedparsleyFormInstance = this.$element.data('Parsley');\n // If saved instance have been binded without a ParsleyForm parent and there is one given in this call, add it\n if ('undefined' !== typeof parsleyFormInstance)\n savedparsleyFormInstance.parent = parsleyFormInstance;\n return savedparsleyFormInstance;\n }\n // Handle 'static' options\n this.OptionsFactory = new ParsleyOptionsFactory(ParsleyDefaults, ParsleyUtils.get(window, 'ParsleyConfig') || {}, options, this.getNamespace(options));\n this.options = this.OptionsFactory.get(this);\n // A ParsleyForm instance is obviously a `
            ` elem but also every node that is not an input and have `data-parsley-validate` attribute\n if (this.$element.is('form') || (ParsleyUtils.attr(this.$element, this.options.namespace, 'validate') && !this.$element.is(this.options.inputs)))\n return this.bind('parsleyForm');\n // Every other supported element and not excluded element is binded as a `ParsleyField` or `ParsleyFieldMultiple`\n else if (this.$element.is(this.options.inputs) && !this.$element.is(this.options.excluded))\n return this.isMultiple() ? this.handleMultiple(parsleyFormInstance) : this.bind('parsleyField', parsleyFormInstance);\n return this;\n },\n isMultiple: function () {\n return (this.$element.is('input[type=radio], input[type=checkbox]') && 'undefined' === typeof this.options.multiple) || (this.$element.is('select') && 'undefined' !== typeof this.$element.attr('multiple'));\n },\n // Multiples fields are a real nightmare :(\n // Maybe some refacto would be appreciated here..\n handleMultiple: function (parsleyFormInstance) {\n var\n that = this,\n name,\n multiple,\n parsleyMultipleInstance;\n // Get parsleyFormInstance options if exist, mixed with element attributes\n this.options = $.extend(this.options, parsleyFormInstance ? parsleyFormInstance.OptionsFactory.get(parsleyFormInstance) : {}, ParsleyUtils.attr(this.$element, this.options.namespace));\n // Handle multiple name\n if (this.options.multiple)\n multiple = this.options.multiple;\n else if ('undefined' !== typeof this.$element.attr('name') && this.$element.attr('name').length)\n multiple = name = this.$element.attr('name');\n else if ('undefined' !== typeof this.$element.attr('id') && this.$element.attr('id').length)\n multiple = this.$element.attr('id');\n // Special select multiple input\n if (this.$element.is('select') && 'undefined' !== typeof this.$element.attr('multiple')) {\n return this.bind('parsleyFieldMultiple', parsleyFormInstance, multiple || this.__id__);\n // Else for radio / checkboxes, we need a `name` or `data-parsley-multiple` to properly bind it\n } else if ('undefined' === typeof multiple) {\n if (window.console && window.console.warn)\n window.console.warn('To be binded by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.', this.$element);\n return this;\n }\n // Remove special chars\n multiple = multiple.replace(/(:|\\.|\\[|\\]|\\$)/g, '');\n // Add proper `data-parsley-multiple` to siblings if we have a valid multiple name\n if ('undefined' !== typeof name) {\n $('input[name=\"' + name + '\"]').each(function () {\n if ($(this).is('input[type=radio], input[type=checkbox]'))\n $(this).attr(that.options.namespace + 'multiple', multiple);\n });\n }\n // Check here if we don't already have a related multiple instance saved\n if ($('[' + this.options.namespace + 'multiple=' + multiple +']').length) {\n for (var i = 0; i < $('[' + this.options.namespace + 'multiple=' + multiple +']').length; i++) {\n if ('undefined' !== typeof $($('[' + this.options.namespace + 'multiple=' + multiple +']').get(i)).data('Parsley')) {\n parsleyMultipleInstance = $($('[' + this.options.namespace + 'multiple=' + multiple +']').get(i)).data('Parsley');\n if (!this.$element.data('ParsleyFieldMultiple')) {\n parsleyMultipleInstance.addElement(this.$element);\n this.$element.attr(this.options.namespace + 'id', parsleyMultipleInstance.__id__);\n }\n break;\n }\n }\n }\n // Create a secret ParsleyField instance for every multiple field. It would be stored in `data('ParsleyFieldMultiple')`\n // And would be useful later to access classic `ParsleyField` stuff while being in a `ParsleyFieldMultiple` instance\n this.bind('parsleyField', parsleyFormInstance, multiple, true);\n return parsleyMultipleInstance || this.bind('parsleyFieldMultiple', parsleyFormInstance, multiple);\n },\n // Retrieve namespace used for DOM-API\n getNamespace: function (options) {\n // `data-parsley-namespace=`\n if ('undefined' !== typeof this.$element.data('parsleyNamespace'))\n return this.$element.data('parsleyNamespace');\n if ('undefined' !== typeof ParsleyUtils.get(options, 'namespace'))\n return options.namespace;\n if ('undefined' !== typeof ParsleyUtils.get(window, 'ParsleyConfig.namespace'))\n return window.ParsleyConfig.namespace;\n return ParsleyDefaults.namespace;\n },\n // Return proper `ParsleyForm`, `ParsleyField` or `ParsleyFieldMultiple`\n bind: function (type, parentParsleyFormInstance, multiple, doNotStore) {\n var parsleyInstance;\n switch (type) {\n case 'parsleyForm':\n parsleyInstance = $.extend(\n new ParsleyForm(this.$element, this.OptionsFactory),\n new ParsleyAbstract(),\n window.ParsleyExtend\n )._bindFields();\n break;\n case 'parsleyField':\n parsleyInstance = $.extend(\n new ParsleyField(this.$element, this.OptionsFactory, parentParsleyFormInstance),\n new ParsleyAbstract(),\n window.ParsleyExtend\n );\n break;\n case 'parsleyFieldMultiple':\n parsleyInstance = $.extend(\n new ParsleyField(this.$element, this.OptionsFactory, parentParsleyFormInstance),\n new ParsleyAbstract(),\n new ParsleyMultiple(),\n window.ParsleyExtend\n )._init(multiple);\n break;\n default:\n throw new Error(type + 'is not a supported Parsley type');\n }\n if ('undefined' !== typeof multiple)\n ParsleyUtils.setAttr(this.$element, this.options.namespace, 'multiple', multiple);\n if ('undefined' !== typeof doNotStore) {\n this.$element.data('ParsleyFieldMultiple', parsleyInstance);\n return parsleyInstance;\n }\n // Store instance if `ParsleyForm`, `ParsleyField` or `ParsleyFieldMultiple`\n if (new RegExp('ParsleyF', 'i').test(parsleyInstance.__class__)) {\n // Store for later access the freshly binded instance in DOM element itself using jQuery `data()`\n this.$element.data('Parsley', parsleyInstance);\n // Tell the world we got a new ParsleyForm or ParsleyField instance!\n $.emit('parsley:' + ('parsleyForm' === type ? 'form' : 'field') + ':init', parsleyInstance);\n }\n return parsleyInstance;\n }\n };\n // ### jQuery API\n // `$('.elem').parsley(options)` or `$('.elem').psly(options)`\n $.fn.parsley = $.fn.psly = function (options) {\n if (this.length > 1) {\n var instances = [];\n this.each(function () {\n instances.push($(this).parsley(options));\n });\n return instances;\n }\n // Return undefined if applied to non existing DOM element\n if (!$(this).length) {\n if (window.console && window.console.warn)\n window.console.warn('You must bind Parsley on an existing element.');\n return;\n }\n return new Parsley(this, options);\n };\n // ### ParsleyUI\n // UI is a class apart that only listen to some events and them modify DOM accordingly\n // Could be overriden by defining a `window.ParsleyConfig.ParsleyUI` appropriate class (with `listen()` method basically)\n window.ParsleyUI = 'function' === typeof ParsleyUtils.get(window, 'ParsleyConfig.ParsleyUI') ?\n new window.ParsleyConfig.ParsleyUI().listen() : new ParsleyUI().listen();\n // ### ParsleyField and ParsleyForm extension\n // Ensure that defined if not already the case\n if ('undefined' === typeof window.ParsleyExtend)\n window.ParsleyExtend = {};\n // ### ParsleyConfig\n // Ensure that defined if not already the case\n if ('undefined' === typeof window.ParsleyConfig)\n window.ParsleyConfig = {};\n // ### Globals\n window.Parsley = window.psly = Parsley;\n window.ParsleyUtils = ParsleyUtils;\n window.ParsleyValidator = new ParsleyValidator(window.ParsleyConfig.validators, window.ParsleyConfig.i18n);\n // ### PARSLEY auto-binding\n // Prevent it by setting `ParsleyConfig.autoBind` to `false`\n if (false !== ParsleyUtils.get(window, 'ParsleyConfig.autoBind'))\n $(document).ready(function () {\n // Works only on `data-parsley-validate`.\n if ($('[data-parsley-validate]').length)\n $('[data-parsley-validate]').parsley();\n });\n}));\n","(function( $ ) {\n\t\"use strict\";\n\n\t/**\n\t * Placeholder\n\t */\n\t$('[placeholder]').placeholder();\n\n}(jQuery));"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/bower.json b/bower.json index 6ecd2dd..82bd4bc 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { - "name": "basey", - "version": "5.4.0", + "name": "basey-theme", + "version": "5.5.0", "private": "true", "dependencies": { "uikit": "2.10.*", diff --git a/gulpfile.js b/gulpfile.js index 93864ae..d66aee6 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,39 +1,50 @@ // Load plugins var gulp = require("gulp"), - Combine = require("stream-combiner"), - jshint = require("gulp-jshint"), + imagemin = require("gulp-imagemin"), csso = require("gulp-csso"), less = require("gulp-less"), autoprefixer = require("gulp-autoprefixer"), uglify = require("gulp-uglify"), notify = require("gulp-notify"), - newer = require("gulp-newer"), - size = require("gulp-size"), + jshint = require("gulp-jshint"), + changed = require("gulp-changed"), concat = require("gulp-concat"), - rename = require("gulp-rename"), filesize = require("gulp-size"), - livereload = require("gulp-livereload"), duration = require("gulp-duration"), pixrem = require("gulp-pixrem"), - sourcemaps = require('gulp-sourcemaps'); - -var paths = { - "scripts": { - "src": "assets/js/src/**/*.js", - "build": "assets/js/build/", - "vendor": "!assets/js/src/vendor/**/*.js" - }, - "styles": { - "src": "assets/css/src/**/*.less", - "build": "assets/css/build/" - }, - "media": { - "src": "assets/media/" - }, - "fonts": { - "build": "assets/fonts/" - } -}; + sourcemaps = require("gulp-sourcemaps"), + browserSync = require("browser-sync"), + plumber = require("gulp-plumber"), + merge = require("merge-stream"), + filter = require("gulp-filter"); + +var reload = browserSync.reload, + paths = { + "scripts": { + "src": "assets/js/src/**/*.js", + "build": "assets/js/build/", + "vendor": "!assets/js/src/vendor/**/*.js" + }, + "styles": { + "src": "assets/css/src/**/*.less", + "build": "assets/css/build/" + }, + "media": { + "src": "assets/media/src/*", + "build": "assets/media/build/" + }, + "fonts": { + "build": "assets/fonts/" + } + }; + +// BrowserSync +gulp.task("reload", function() { + browserSync({ + proxy: "wordpress.dev", + xip: true + }); +}); // JS Hint gulp.task("jshint", function() { @@ -57,7 +68,8 @@ gulp.task("jshint", function() { // Copy gulp.task("copy", function() { // UIkit fonts - gulp.src("bower_components/uikit/dist/fonts/*") + return gulp.src("bower_components/uikit/dist/fonts/*") + .pipe(changed(paths.fonts.build)) .pipe(gulp.dest(paths.fonts.build)); }); @@ -65,12 +77,13 @@ gulp.task("copy", function() { gulp.task("scripts", function() { // IE - gulp.src([ + var ie = gulp.src([ "bower_components/selectivizr/selectivizr.js", "bower_components/respond/dest/respond.min.js", "assets/js/src/vendor/ecmascript-polyfill.js", "assets/js/src/vendor/forEach-polyfill.js", ]) + .pipe(changed(paths.scripts.build)) .pipe(concat("ie.min.js")) .pipe(uglify()) .pipe(filesize({ @@ -80,7 +93,7 @@ gulp.task("scripts", function() { .pipe(notify({ message: "IE scripts task complete" })); // Main - gulp.src([ + var main = gulp.src([ // UI Kit "bower_components/uikit/src/js/core.js", "bower_components/uikit/src/js/component.js", @@ -124,58 +137,68 @@ gulp.task("scripts", function() { // Project "assets/js/src/_init.js" ]) + .pipe(changed(paths.scripts.build)) .pipe(sourcemaps.init()) .pipe(concat("scripts.min.js")) .pipe(uglify()) - .pipe(sourcemaps.write("../maps")) + .pipe(sourcemaps.write("../sourcemaps")) + .pipe(filter('**/*.js')) // Filter only JS files for filesize/dest .pipe(filesize({ title: "Main Scripts:" })) .pipe(gulp.dest(paths.scripts.build)) .pipe(duration("building main JS files")) .pipe(notify({ message: "Main scripts task complete" })); + + return merge(ie, main); }); // Styles gulp.task("styles", function() { - var combined = Combine( - gulp.src("assets/css/src/app.less"), - less(), - autoprefixer("last 2 version", "ie 9"), - csso(), - pixrem("14px", { + return gulp.src("assets/css/src/app.less") + .pipe(changed(paths.styles.build)) + .pipe(plumber()) + .pipe(less()) + .pipe(autoprefixer({ + browsers: ["last 2 versions", "ie 9"] + })) + .pipe(csso()) + .pipe(pixrem("14px", { replace: true - }), - filesize({ - title: "Styles:" - }), - gulp.dest(paths.styles.build), - duration("building styles"), - notify({ message: "Styles task complete" }) - ); - - combined.on("error", function(err) { - console.warn(err.message); - }); - - return combined; + })) + .pipe(plumber.stop()) + .pipe(filesize({ + title: "Styles:" + })) + .pipe(gulp.dest(paths.styles.build)) + .pipe(duration("building styles")) + .pipe(notify({ message: "Styles task complete" })) + .pipe(reload({ + stream:true + })); +}); + +// Media +gulp.task("media", function() { + + return gulp.src(paths.media.src) + .pipe(changed(paths.media.build)) + .pipe(imagemin()) + .pipe(filesize({ + title: "Media File:" + })) + .pipe(gulp.dest(paths.media.build)) + .pipe(duration("compressing media")) + .pipe(notify({ message: "Media task complete" })); }); // Default task -gulp.task("default", ["copy", "styles", "jshint", "scripts"]); +gulp.task("default", ["copy", "styles", "jshint", "scripts", "media", "watch"]); // Watch -gulp.task("watch", function() { - +gulp.task("watch", ["reload"], function () { + gulp.watch(paths.scripts.src, ["jshint", "scripts", browserSync.reload]); gulp.watch(paths.styles.src, ["styles"]); - gulp.watch(paths.scripts.src, ["jshint", "scripts"]); - - // Create LiveReload server - var server = livereload(); - - // Watch files in patterns below, reload on change - gulp.watch([paths.styles.build, paths.scripts.build, "*.php"]).on("change", function(file) { - server.changed(file.path); - }); - + gulp.watch(paths.media.src, ["media"]); + gulp.watch("*.php", ["", browserSync.reload]); }); \ No newline at end of file diff --git a/package.json b/package.json index cfb47aa..7f49273 100755 --- a/package.json +++ b/package.json @@ -1,21 +1,24 @@ { "devDependencies": { + "browser-sync": "^1.5.2", "gulp": "^3.8.8", "gulp-autoprefixer": "1.0.1", + "gulp-changed": "^1.0.0", "gulp-concat": "^2.4.1", "gulp-csso": "^0.2.9", "gulp-duration": "0.0.0", + "gulp-filter": "^1.0.2", + "gulp-imagemin": "^1.0.1", "gulp-jshint": "^1.8.5", "gulp-less": "^1.3.6", - "gulp-livereload": "^2.1.1", - "gulp-newer": "^0.3.0", "gulp-notify": "^1.8.0", "gulp-pixrem": "^0.1.1", + "gulp-plumber": "^0.6.6", "gulp-rename": "^1.2.0", "gulp-size": "^1.1.0", "gulp-sourcemaps": "^1.2.2", "gulp-uglify": "^1.0.1", "jshint-stylish": "^1.0.0", - "stream-combiner": "^0.2.1" + "merge-stream": "^0.1.6" } } diff --git a/readme.md b/readme.md index 833065c..da4fbfb 100755 --- a/readme.md +++ b/readme.md @@ -10,14 +10,14 @@ Extremely flexible, easy to customize and adheres to WordPress coding standards * [NodeJS](http://nodejs.org) * [Bower](http://bower.io) * [Gulp](http://gulpjs.com) -* In your terminal, navigate to your site's directory and run the following: +* In your terminal, navigate to your theme's directory and run the following: * `bower install` * Installs necessary frontend assets * `npm install` * Installs Gulp and Gulp plugins for compiling assets * `gulp` - * Builds initial styles - * `gulp watch` - * Watches the theme folder for changes + * Builds initial project and watches for changes + +This project uses [BrowserSync](http://www.browsersync.io/) to automatically watch, compile, reload, etc. Change the proxy variable in the gulpfile to match your environment before starting. Enjoy! \ No newline at end of file diff --git a/style.css b/style.css index 5b4b1a4..aa55b2c 100755 --- a/style.css +++ b/style.css @@ -2,7 +2,7 @@ Theme Name: Basey Theme URI: http://zslabs.com Description: Base theme for development -Version: 5.4.1 +Version: 5.5.0 Author: Zach Schnackel Author URI: http://zslabs.com */ \ No newline at end of file